强化学习

贝尔曼方程(Bellman equation)

/ BEL-mun ee-KWAY-zhun /

贝尔曼方程属于那种罕见的想法:既深刻,又在你看懂的一刹那变得显而易见。它说:我此刻所站之处的价值,等于我迈出下一步所得的奖励,加上那一步把我送到之处的价值。换句话说,一份庞大的未来奖励,总能切成「我现在拿到的」加「往后还剩的」。一个情形那漫长的长期价值,是用它一步之后的自身来定义的。

正是这种自我指涉的形态,让强化学习成为可计算的。智能体无须把每一种可能的未来想象到时间的尽头,只需把每个状态与它紧邻的邻居关联起来。知识便由此向外荡漾开去:靠近目标处的价值最先变得准确,接着差一步的格子接收到它,再接着是差两步的,如此层层推开,直到良好的估计倒灌回整个问题的每一处。

这个方程以理查德·贝尔曼命名——他在 1950 年代发展出了动态规划——它是几乎每一种强化学习方法内部那台沉默的引擎。Q学习、SARSA、价值迭代,归根结底都不过是用不同的方式去微调估计值,直到它们满足贝尔曼方程为止。老实说有个告诫:精确求解它需要知道环境的规则,而智能体通常并不知道——所以实践中它们是从采样到的经验中去近似它,而这个近似可能漂移,尤其是当神经网络也搅进来之后。

在一条通往+10 目标、且每步无代价的路径上,目标的邻格价值为 10。它的邻格于是必须满足:价值=0(这一步的奖励)+10(邻格的价值)=10。再往回一格:0+10=10。这个「10」就这样一次一次贝尔曼更新地向后传播。

此处价值=当下奖励+我下一步落脚处的价值。估计值自目标处向后倒灌。

贝尔曼方程定义了「一个正确的价值函数长什么样」;它本身并不直接把数字告诉你。算法是靠反复套用这个方程、直到估计值不再变动,才逼出那些数字的——这个过程在使用精确表格时保证收敛,可一旦改用神经网络去近似价值,就只剩「但愿能收敛」了。

又称
Bellman recursion贝尔曼方程貝爾曼方程动态规划方程