上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5 贝尔曼方程
在求解值函数的时候,通常要使用动态规划(Dynamic Programming)的方法来求解。这就需要把函数写成贝尔曼方程(Bellman Equation)的形式。贝尔曼方程是由理查·贝尔曼(Richard Bellman)发现的,在解决强化学习或者马尔可夫决策过程的问题时基本都要用到。通过贝尔曼方程,我们可以把一个长的序列决策最佳化问题变成一个更简单的子问题,这些子问题可以用贝尔曼方程继续进行简化。
根据Q值和V值的定义,可以得到
也就是说,状态s的V值,等于它在该状态下做所有可能动作的Q值的概率加权和。这个很好理解,对于状态s来说,它的所有回报都是基于下一步的可能动作带来的收益而得到的。同样,对于在状态s做出动作a的Q值来说,也是相当于它在该状态下做出动作获得的即时收益和下一所有可能状态的加权和。把这两个式子组合一下,就得到了V值和Q值的贝尔曼方程形式:
考虑到强化学习的目标是寻找一个最优的策略,能够使得总的收益最大,即值函数最大。因此我们假定最优的策略是π*,那么可以得到贝尔曼最优方程:
可以看到贝尔曼最优方程和贝尔曼方程的区别就是是否和当前策略有关。基于贝尔曼方程的一个强化学习方法是Sarsa,因此它是同策略(On-Policy)的强化学习方法;与之对应的是Q-Learning,基于贝尔曼最优方程,是异策略(Off-Policy)的强化学习方法。