强化学习Chapter3——贝尔曼方程
上一节介绍了衡量回报 R 的相关函数,包括状态价值函数与动作价值函数,并且介绍了二者之间的等式关系
Vπ(s)=Ea∼π[Qπ(s,a)]=∑aπ(a|s)Qπ(s,a)Qπ(s,a)=r(s,a)+γ∑s′P(s′|s,a)Vπ(s′)
本节将通过这两个式子,导出贝尔曼方程
一、贝尔曼方程(Bellman equation)
根据 V 和 Q 的相互表示关系,可以预想到的是,从这两个式子可以导出类似动态规划的递归方程。下面将展示这个过程。
1、状态价值函数的贝尔曼方程
Vπ(s)=∑aπ(a|s)Qπ(s,a)=∑aπ(a|s)[r(s,a)+γ∑s′P(s′|s,a)Vπ(s′)]=∑aπ(a|s)r(s,a)+γ∑aπ(a|s)∑s′P(s′|s,a)Vπ(s′)=Ea∼π[r(s,a)]+γEa∼π[Es′∼P[Vπ(s′)]]=Ea∼π,s′∼P[r(s,a)+γVπ(s′)]
为了突出时间线的递推性,也可以写成:
Vπ(st)=Ea∼π,st+1∼P[r(st,a)+γVπ(st+1)]
其中 P 给定 st 和 a 的条件下,st+1 的分布。策略分布 π 与并不显式与 t 有关,毕竟大伙都只有一个脑子。
2、动作价值函数的贝尔曼方程
Qπ(s,a)=r(s,a)+γ∑s′P(s′|s,a)Vπ(s′)=r(s,a)+γ∑s′P(s′|s,a)∑aπ(a′|s)Qπ(s,a′)=r(s,a)+γ∑s′P(s′|s,a)Ea′∼π[Q(s,a′)]=r(s,a)+γEs′∼P,a′∼πE[Q(s′,a′)]=Ea′∼π,s′∼P[r(s,a)+γQ(s′,a′)]
同理,也可以写成时间线的递推形式,此处不再赘述。可见,二者的形式其实十分相近。
二、贝尔曼最优方程(Bellman optimal equation)
即采用最优策略得到的 V 和 Q 的最值 V∗ 和 Q∗,下面直接写出
V∗(s)=maxaEs′∼P[r(s,a)+γV∗(s′)]Q∗(s,a)=Es′∼P[r(s,a)+γmaxa′Q∗(s′,a′)]
可以看到的是,这里“最优”的约束全在动作上,而动作是由策略决定,因此贝尔曼最优方程,其实是最优策略对应的贝尔曼方程。
三、向量形式
为了导出贝尔曼方程(BE)与贝尔曼最优方程(BOE),首先对 BE 公式进行重写:
Vπ(s)=rπ(s)+γ∑s′Pπ(s′|s)Vπ(s′)
这里将策略 π 作为参数,简化贝尔曼方程。若将各值写成向量形式:
Vπ=[Vπ(s1),...,Vπ(sn)]T∈Rnrπ=[rπ(s1),...,rπ(sn)]T∈RnPπ∈Rn×n where [Pπ]ij=pπ(sj|si)
就能得出向量形式的贝尔曼方程:
Vπ=rπ+γPπVπ

向量形式极大简化了贝尔曼公式,如此简洁精炼,大大简化了相关公式的证明。同时这也给解贝尔曼方程提供了思路。
Vπ=(I−γPπ)−1rπ
通过矩阵运算,能够在给定 Pπ,rπ 的条件下(所有状态切换信息透明),求出给定策略的状态价值函数 Vπ. 上式可直接导出下面的几个性质:
- 由于 Pπ 半正定,有 (I−γPπ)−1=I+γPπ+γ2P2π+...≥I≥0,所以 if r≥0,then (I−γPπ)−1r≥r≥0.
- if r1≥r2,then (I−γPπ)−1r1≥(I−γPπ)−1r2,即 v1≥v2.
由于基于矩阵求逆的算法求解贝尔曼方程,对信息需求苛刻,在某些复杂情况下可用性十分有限,因此更多寻找最优策略的算法被逐渐提出。
Reference: