贝尔曼方程与两类值函数
为了评估一个策略 π 的期望回报,我们定义两个值函数:状态值函数和状态 - 动作值函数。
状态值函数
折扣率的引入
有终止状态的情况:
总回报的引入方式如下:
G(τ)=t=0∑T−1rt+1=t=0∑T−1r(st,at,st+1)
假设环境中有一个或多个终止状态,当到达终止状态时,一个智能体和环境的交互就结束了。这一轮的交互过程称为一个回合(episode)或试验(trial)DER}试验(trial)**。
没有终止状态的情况:
如果环境中没有终止状态 (比如终身学习的机器人),即 T=∞,称为持续性强化学习任务,其总回报也可能是无穷大。
为了解决这个问题,我们可以引入一个折扣率来降低远期回报的比重。或定义为
G(τ)=t=0∑T−1γtrt+1
其中,γ 代表折扣率,其取值范围在零到一之间。
状态值函数的计算
状态值函数表示在某一状态 s 下,执行一个策略到最终状态所能够得到的折扣回报,数学公式使用 Vπ(s) 来进行表示。
一个策略 π 的总期望回报,可以通过以下公式进行计算:
Eτ∼p(τ)[G(τ)]=Es∼p(s0)[Eτ∼p(τ)t=0∑T−1γtrt+1∣τs0=s]]=Es∼p(s0)[Vπ(s)],
其中,状态值函数 Vπ(s) 可以通过如下来计算:
Vπ(s)=Eτ∼p(τ)[t=0∑T−1γtrt+1∣τs0=s]
这个公式的意思是:从状态 s 出发所能得到的总回报等于以状态 s 为初始状态的所有可能路径的回报的期望。根据马尔科夫性,Vπ(s) 可展开得到:
Vπ(s)=Ea∼π(a∣s)Es′∼p(s′∣s,a)[r(s,a,s′)+γVπ(s′)]
该公式称为贝尔曼方程。表示当前状态的值函数可以通过下个状态的值函数来迭代计算。这个公式的意思是,从状态 s 出发,期望回报等于以状态 s 可能采取的所有动作 a,以及所有可能转移到的下一个状态 s′ 的这些状态的值函数的期望。
https://k48xz7gzkw.feishu.cn/wiki/KXSrwsHCwi6KRlk6wiycHkldnng#share-VT7AdJ0YkoLH2lxupExcAzndnhf

状态动作值函数
初始状态为 s 并进行动作 a,然后执行策略 π 得到的值函数,称为状态动作值函数,也称为 Q 函数。
Qπ(s,a)=Es′∼p(s′∣s,a)[r(s,a,s′)+γVπ(s′)]
该公式表示在状态 s 下,执行动作 a 得到的期望回报 Qπ(s,a) 为对于执行动作 a 后的下一可能状态 s′ 的值函数 Vπ(s′) 的折扣期望加上该次获得的奖励 r(s,a,s′)。
又由于状态值函数 Vπ(s)是 Q 函数 Qπ(s,a) 关于动作 a 的期望:
Vπ(s)=Ea∼π(a∣s)[Qπ(s,a)]
结合上述公式,可以将 Q 函数写为:
Qπ(s,a)=Es′∼p(s′∣s,a)[r(s,a,s′)+γEa′∼π(a′∣s′)[Qπ(s′,a′)]]
这是关于 Q 函数的贝尔曼方程(可以看下图,和值函数的正好相反)。
https://k48xz7gzkw.feishu.cn/wiki/KXSrwsHCwi6KRlk6wiycHkldnng#share-Zc76db1XwodYXExrRrpcHxeQnK4
