2.4.3. 时序差分学习方法#
基于贝尔曼方程的时序差分学习(Temporal-Difference Learning, TD Learning)是经典的预测学习算法之一;许多经典的无模型(Model-free)强化学习算法,如Q-learning算法、SARSA算法等都是基于时序差分学习方法。强化学习算法的学习过程中,一般要经历智能体从初始状态到终止状态的多轮学习,以期学习到全局最优策略。
在每一轮的学习过程中,对于无模型的强化学习,目前多采用时序差分学习方法进行迭代,即在每一个(或几个)状态转移完成后,都更新一遍值函数的估计值(因为未最终收敛,所以统称为估计值)。在具体计算中,给定策略后,时序差分学习方法会针对出现的当前状态St更新值函数V,包括状态值函数和动作值函数。
在t时刻,智能体状态为St,然后智能体根据策略做一个动作后可进入下一个状态St+1,并得到一个环境反馈奖励Rt+1。在学习过程中,对任意一个状态St+1,都有一个其对应的V(St+1)。对于智能体的St状态,可使用Rt+1和V(St+1)对St状态的值函数(本轮学习)进行更新:
\[V(S_t)\leftarrow V(S_t)+ \alpha[R_{t+1} + \gamma V(S_{t+1})-V(S_t)] \tag {2-70}\]
上式是强化学习领域对时序差分学习的更新方法进行的一种规定。 \(R_{t+1}+γV(S_{t+1})-V(S_t)\) 是当前轮值函数估计值与上一轮的差值,再将此差值乘以一个小于1的学习率α并加到上一轮的\(V(S_t)\)上,得到一个和,然后将这个和赋值给当前轮的\(V(S_t)\),这就是值函数每一个状态都进行更新的过程。
可见,时序差分学习方法的手段是,在某一轮学习中,当前状态St的值函数估计值\(V(S_t)\)更新,是利用其下一状态St+1的环境反馈奖励\(R_{t+1}\)和值函数估计值\(V(S_{t+1})\)。