《强化学习数学原理》学习笔记1——贝尔曼期望公式推导
首先看一下贝尔曼期望方程:
vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s],s∈Sv_\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma v_\pi(S_{t+1}) \mid S_t = s \right], \quad s \in \mathcal{S}vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s],s∈S
要推导贝尔曼期望方程,首先要明确以下核心概念:
- 状态价值函数 vπ(s)v_\pi(s)vπ(s) :在策略 π\piπ 下,从状态 sss 出发可以获得的累计折扣奖励的期望,即:
vπ(s)=Eπ[Gt∣St=s](1)v_\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] \tag{1}vπ(s)=Eπ[Gt∣St=s](1)
其中,Gt=Rt+1+γRt+2+γ2Rt+3+…G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \ldotsGt=Rt+1+γRt+2+γ2Rt+3+…,是指“从时刻 ttt 开始,累积的折扣奖励”,γ∈[0,1)\gamma \in [0,1)γ∈[0,1)是折扣因子,用来调整模型对于近期和远期奖励的重视程度,避免回报发散到无穷大; - 策略π(a∣s)\pi(a \mid s)π(a∣s):在状态 sss 下选择动作 aaa 的概率;
- 状态转移概率p(s′∣s,a)p(s' \mid s,a)p(s′∣s,a):在状态 sss 执行动作 aaa 后,转移到状态 s′s's′ 的概率;
- 即时奖励(immediate reward)Rt+1R_{t+1}Rt+1:在状态 sss 执行动作 aaa 后,立即获得的奖励值。
从累积奖励 GtG_tGt 的公式中可以看出,GtG_tGt 可拆分为即时奖励 Rt+1R_{t+1}Rt+1 和后续累积奖励的折扣 γGt+1\gamma G_{t+1}γGt+1,即:
Gt=Rt+1+γGt+1(2)G_t = R_{t+1} + \gamma G_{t+1} \tag{2}Gt=Rt+1+γGt+1(2)
由式(1),对两边取 “在 St=sS_t = sSt=s 条件下的期望”,可得状态价值函数vπ(s)v_\pi(s)vπ(s):
vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s](3)v_\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] = \mathbb{E}_\pi \left[ R_{t+1} + \gamma G_{t+1} \mid S_t = s \right] \tag{3}vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s](3)
根据期望的线性性质 E[X+Y]=E[X]+E[Y]\mathbb{E}[X + Y] = \mathbb{E}[X] + \mathbb{E}[Y]E[X+Y]=E[X]+E[Y],式(3)可拆为:
vπ(s)=Eπ[Rt+1∣St=s]+γEπ[Gt+1∣St=s](4) v_\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} \mid S_t = s \right] + \gamma \mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] \tag{4}vπ(s)=Eπ[Rt+1∣St=s]+γEπ[Gt+1∣St=s](4)
此时我们分析一下 Eπ[Gt+1∣St=s]\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right]Eπ[Gt+1∣St=s]:
- Gt+1G_{t+1}Gt+1:从时刻 t+1t + 1t+1 开始,往后所有时刻的“累积折扣奖励”总和;
- Eπ[⋅∣St=s]\mathbb{E}_\pi \left[ \cdot \mid S_t = s \right]Eπ[⋅∣St=s]:在策略 π\piπ 下,已知时刻 ttt 处于状态 sss 时,对某个量取期望;
同时引入一个变量:
- vπ(s′)v_\pi(s')vπ(s′):表示在时刻 t+1t+1t+1 ,策略 π\piπ 下,从状态 s′s's′ 出发,能拿到的累积折扣奖励的期望。
由式(1)很容易可以推导出:
vπ(s′)=Eπ[Gt+1∣St+1=s′](5)v_\pi(s') = \mathbb{E}_\pi \left[ G_{t+1} \mid S_{t+1} = s' \right] \tag{5}vπ(s′)=Eπ[Gt+1∣St+1=s′](5)
对 Eπ[Gt+1∣St=s]\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right]Eπ[Gt+1∣St=s] 做全概率展开,我们需要考虑:从时刻 ttt 处于状态 sss 出发,时刻 t+1t + 1t+1 会转移到哪个状态 St+1S_{t+1}St+1(因为状态转移是随机的,依赖策略 π\piπ 和转移概率 ppp)。
根据期望的全概率公式(对所有可能的后续状态 s′s's′ 求和),有:
Eπ[Gt+1∣St=s]=∑s′Eπ[Gt+1∣St=s,St+1=s′]⋅Pπ(St+1=s′∣St=s)(5)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] = \sum_{s'} \mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right] \cdot P_\pi \left( S_{t+1} = s' \mid S_t = s \right) \tag{5}Eπ[Gt+1∣St=s]=s′∑Eπ[Gt+1∣St=s,St+1=s′]⋅Pπ(St+1=s′∣St=s)(5)
其中:
- ∑s′…\sum_{s'} \dots∑s′… :对 “时刻 t+1t + 1t+1 所有可能的状态 s′s's′” 求和。
- Eπ[Gt+1∣St=s,St+1=s′]\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right]Eπ[Gt+1∣St=s,St+1=s′]:已知时刻 ttt 在 状态 sss 且时刻 t+1t + 1t+1 在状态 s′s's′ 时,Gt+1G_{t+1}Gt+1 的期望。
- Pπ(St+1=s′∣St=s)P_\pi \left( S_{t+1} = s' \mid S_t = s \right)Pπ(St+1=s′∣St=s):已知时刻 ttt 在状态 sss 时,时刻 t+1t + 1t+1 转移到状态 s′s's′ 的概率。
根据马尔可夫性质,当已知 St+1=s′S_{t+1} = s'St+1=s′ 时,Gt+1G_{t+1}Gt+1 的期望与St=sS_t = sSt=s无关(因为 Gt+1G_{t+1}Gt+1 是从 t+1t + 1t+1 开始的累积奖励,仅依赖 t+1t + 1t+1 及之后的状态)。因此:
Eπ[Gt+1∣St=s,St+1=s′]=Eπ[Gt+1∣St+1=s′](6)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right] = \mathbb{E}_\pi \left[ G_{t+1} \mid S_{t+1} = s' \right] \tag{6}Eπ[Gt+1∣St=s,St+1=s′]=Eπ[Gt+1∣St+1=s′](6)
而根据式(5),Eπ[Gt+1∣St+1=s′]=vπ(s′)\mathbb{E}_\pi \left[ G_{t+1} \mid S_{t+1} = s' \right] = v_\pi(s')Eπ[Gt+1∣St+1=s′]=vπ(s′)。因此:
Eπ[Gt+1∣St=s,St+1=s′]=vπ(s′)(7)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right] = v_\pi(s') \tag{7}Eπ[Gt+1∣St=s,St+1=s′]=vπ(s′)(7)
将式(7)代入式(5):
Eπ[Gt+1∣St=s]=∑s′vπ(s′)⋅Pπ(St+1=s′∣St=s)(8)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] = \sum_{s'} v_\pi(s') \cdot P_\pi \left( S_{t+1} = s' \mid S_t = s \right) \tag{8}Eπ[Gt+1∣St=s]=s′∑vπ(s′)⋅Pπ(St+1=s′∣St=s)(8)
注意到式(8)右边的求和式,正是对 vπ(St+1)v_\pi(S_{t+1})vπ(St+1) 在 St=sS_t = sSt=s 条件下的期望(因为 St+1S_{t+1}St+1 是随机变量,取值为 s′s's′,概率为 Pπ(St+1=s′∣St=s)P_\pi \left( S_{t+1} = s' \mid S_t = s \right)Pπ(St+1=s′∣St=s))。用期望符号表示即为:
∑s′vπ(s′)⋅Pπ(St+1=s′∣St=s)=Eπ[vπ(St+1)∣St=s](9)\sum_{s'} v_\pi(s') \cdot P_\pi \left( S_{t+1} = s' \mid S_t = s \right) = \mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right] \tag{9}s′∑vπ(s′)⋅Pπ(St+1=s′∣St=s)=Eπ[vπ(St+1)∣St=s](9)
结合式(8)和式(9)得:
Eπ[Gt+1∣St=s]=Eπ[vπ(St+1)∣St=s](10)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] = \mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right] \tag{10}Eπ[Gt+1∣St=s]=Eπ[vπ(St+1)∣St=s](10)
式(10)的核心思想可以理解为:状态价值函数本身就是 “从该状态出发的总奖励期望”,所以 “对未来总奖励的期望”,可以转化为 “对未来状态的价值的期望”。
要计算 Eπ[vπ(St+1)∣St=s]\mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right]Eπ[vπ(St+1)∣St=s],需考虑策略 π\piπ 选择动作和状态转移概率 ppp 的联合作用:
- 首先,策略 π\piπ 决定在状态 sss 下选择动作 aaa 的概率为 π(a∣s)\pi(a \mid s)π(a∣s);
- 之后,状态转移概率 p(s′∣s,a)p(s' \mid s, a)p(s′∣s,a) 决定执行动作 aaa 后,从 sss 转移到 s′s's′ 的概率;
- 最后,对所有可能的动作 aaa 和转移后的状态 s′s's′ 求和,得到期望。
因此:
Eπ[vπ(St+1)∣St=s]=∑aπ(a∣s)∑s′p(s′∣s,a)vπ(s′)(11)\mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right] = \sum_{a} \pi(a \mid s) \sum_{s'} p(s' \mid s, a) v_\pi(s') \tag{11}Eπ[vπ(St+1)∣St=s]=a∑π(a∣s)s′∑p(s′∣s,a)vπ(s′)(11)
将式(11)带入式(4)可得:
Eπ[Gt∣St=s]⏟vπ(s)=Eπ[Rt+1∣St=s]+γ∑aπ(a∣s)∑s′p(s′∣s,a)vπ(s′)⏟Eπ[vπ(St+1)∣St=s](12)\underbrace{\mathbb{E}_\pi \left[ G_t \mid S_t = s \right]}_{v_\pi(s)} = \mathbb{E}_\pi \left[ R_{t+1} \mid S_t = s \right] + \gamma \underbrace{\sum_{a} \pi(a \mid s) \sum_{s'} p(s' \mid s, a) v_\pi(s')}_{\mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right]} \tag{12}vπ(s)Eπ[Gt∣St=s]=Eπ[Rt+1∣St=s]+γEπ[vπ(St+1)∣St=s]a∑π(a∣s)s′∑p(s′∣s,a)vπ(s′)(12)
再利用期望的简洁表示 E[X∣Y=y]\mathbb{E}[X \mid Y = y]E[X∣Y=y],可将上式简化为:
vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s],s∈S(13)v_\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma v_\pi(S_{t+1}) \mid S_t = s \right], \quad s \in \mathcal{S} \tag{13}vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s],s∈S(13)
这就是贝尔曼期望方程,它的含义是:“状态 sss 的价值,等于即时奖励 + 后续状态价值的折扣期望”。