RL学习笔记-西湖大学赵世钰版(更新中) 封面
返回上一级

RL学习笔记-西湖大学赵世钰版(更新中)

2026.06.30
172
📂 Research
# RL

视频链接:【强化学习的数学原理】课程:从零开始到透彻理解

贝尔曼方程

考虑这样的一个轨迹:

St→AtRt+1,St+1→At+1Rt+2,St+2→At+2Rt+3,…S_t \xrightarrow{A_t} R_{t+1},S_{t+1} \xrightarrow{A_{t+1}} R_{t+2},S_{t+2} \xrightarrow{A_{t+2}} R_{t+3},\dots

对应的return GtG_t 如下所示:

Gt=Rt+1+γRt+2+γ2Rt+2+…,=Rt+1+γ(Rt+2+γRt+3+… ),=Rt+1+γGt+1\begin{aligned} G_t &= R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+2} + \dots, \\ &= R_{t+1} + \gamma(R_{t+2} + \gamma R_{t+3} +\dots), \\ &= R_{t+1} + \gamma G_{t+1} \end{aligned}

定义状态价值state value:

vπ(s)=E[Gt∣St=s]=E[Rt+1+γGt+1∣St=s]=E[Rt+1∣St=s]+γE[Gt+1∣St=s]\begin{aligned} v_\pi(s) &= \mathbb{E}[G_t|S_t = s] \\ &= \mathbb{E}[R_{t+1} + \gamma{G_{t+1}}|S_t = s] \\ &= \mathbb{E}[R_{t+1}|S_t = s] + \gamma \mathbb{E}[G_{t+1}|S_t = s] \end{aligned}

分别计算两部分的内容:

E[Rt+1∣St=s]=∑aπ(a∣s)E[Rt+1∣St=s,At=a]=∑aπ(a∣s)∑rp(r∣s,a)r\begin{aligned} \mathbb{E}[R_{t+1}|S_t=s] &= \sum_a \pi(a|s)\mathbb{E}[R_{t+1}|S_t=s, A_t = a] \\ &= \sum_a \pi(a|s) \sum_r p(r|s, a)r \end{aligned} E[Gt+1∣St=s]=∑s′E[Gt+1∣St=s,St+1=s′]p(s′∣s)=∑s′E[Gt+1∣St+1=s′]p(s′∣s)=∑s′vπ(s′)p(s′∣s)=∑s′vπ(s′)∑ap(s′∣s,a)π(a∣s)\begin{aligned} \mathbb{E}[G_{t+1}|S_t=s] &= \sum_{s'}\mathbb{E}[G_{t+1}|S_t=s, S_{t+1} = s']p(s'|s) \\ &= \sum_{s'}\mathbb{E}[G_{t+1}|S_{t+1} = s']p(s'|s) \\ &= \sum_{s'}v_\pi(s')p(s'|s) \\ &= \sum_{s'}v_\pi(s')\sum_a p(s'|s, a)\pi(a|s) \end{aligned}

其中,第一步到第二步忽略 St=sS_t=s的原因:一旦你已经知道下一时刻状态是St+1=s′S_{t+1}=s'那么从t+1之后的未来回报Gt+1G_{t+1}只依赖于当前状态s′s',不在依赖于ss了。

那么现在state value公式如下所示:

vπ(s)=E[Rt+1∣St=s]+γE[Gt+1∣St=s],=∑aπ(a∣s)∑rp(r∣s,a)r⏟mean of immediate rewards+γ∑aπ(a∣s)∑s′p(s′∣s,a)vπ(s′)⏟mean of future rewards,=∑aπ(a∣s)[∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)vπ(s′)],∀s∈S.\begin{aligned} v_\pi(s) &= \mathbb{E}[R_{t+1}|S_t = s] + \gamma\mathbb{E}[G_{t+1}|S_t = s], \\ &= \underbrace{\sum_a \pi(a|s) \sum_r p(r|s, a)r}_{\text{mean of immediate rewards}} + \gamma \underbrace{\sum_a \pi(a|s) \sum_{s'} p(s'|s, a)v_\pi(s')}_{\text{mean of future rewards}}, \\ &= \sum_a \pi(a|s) \left[ \sum_r p(r|s, a)r + \gamma \sum_{s'} p(s'|s, a)v_\pi(s') \right], \quad \forall s \in \mathcal{S}. \end{aligned}

这就是给定策略 π\pi下,状态价值函数的贝尔曼期望方程,他表达的是:

当前的状态价值=一步即使奖励的期望+γ下一状态价值的期望当前的状态价值 = 一步即使奖励的期望 + \gamma下一状态价值的期望

定义动作价值action value:

qπ(s,a)=E[Gt∣St=s,At=a]E[Gt∣St=s]⏟vπ(s)=∑aE[Gt∣St=t,At=a]⏟qπ(s,a)π(a∣s)\displaystyle q_\pi(s, a) = \mathbb{E}[G_t|S_t = s, A_t = a] \\ \underbrace{\mathbb{E}[G_t|S_t = s]}_{v_\pi(s)}= \sum_a \underbrace{\mathbb{E}[G_t | S_t = t,A_t = a]}_{q_\pi(s,a)} \pi(a|s)

因此, vπ(s)=∑aπ(a∣s)qπ(s,a)v_\pi(s) = \sum\limits_a \pi(a|s) q_\pi(s,a)

贝尔曼最优公式