最优价值函数和贝尔曼方程

价值函数(Value Function),表明在遵循策略 π 的前提下当前状态的价值。公式为:
马尔可夫回报过程的方法求解回报
在强化学习中,我们想要找到一个最优的策略(Optimal Policy)π*,使得在任意初始状态 s 下,能够最大化价值,即最优价值函数(Optimal Value Function):

在强化学习问题中,很多时候,我们想要知道的是在每个状态上做哪个动作最好,然而最优价值函数只能告诉我们当前状态的价值是多少,智能体只能尝试每个动作,走到下一个状态,看哪个动作导致的下一个状态的价值是最好的,就用哪一个动作。

为此出现了常用动作价值函数(又称 Q 值函数)。Q 值函数比价值函数多了一个动作输入,它要估计的是在状态 s 下执行了动作 a 以后,再跟着这个策略 π 一直走下去,它的累积奖励是多少。有了 Q 值函数,看到状态 s 后,把每个动作 a 代进去,看执行哪个动作 a 得到的 Q 值最大,就用哪个动作 a。所以可处理成对的状态-动作的价值 Q(st, at)。Q(st, at) 表示当处于状态 st 时执行动作 at 的价值。

式 1
因此,最优动作价值函数为

式 2
所以,状态的价值就等于在这个状态上可以采取的最优动作的价值,即

式 3

得到 Q*(s, a) 值后,就可以定义策略 π 为执行动作 a*,它在所有的 Q*(s, a) 中具有最大值,即 π*(st):选择 at*,其中 Q*(s, a*) =maxaQ*(s, a),所以,只要获得所有的 Q*(s, a) 值,在每个局部步骤中使用贪心搜素,就可以得到一个最优的步骤序列,该序列最大化累积奖励。

形如 V(s)=E[rt+1+V(st+1)|st=s] 的方程称为贝尔曼方程。Vπ(st) 和 Qπ(St,at)满足贝尔曼方程,式 2 和式 3 称为贝尔曼最优方程(Bellman Optimality Equation)。有了贝尔曼方程和贝尔曼最优方程,我们就可以使用动态规划的方法来求解 MDP。