TD 和 蒙特卡洛方法都使用经验来解决预测问题,给定服从规则 π 的一些经历,两种方法均可更新经历中的每一个非终止的状态 St 的 vπ。粗略的说, Monte Carlo 方法要等到 return 知道之后才将其设为是 V(St) 的目标值,一个适合非固定环境的简单的 every-visit Monte Carlo 方法为: V(St)⇐V(St)+α[Gt−V(St)]
其中 Gt 代表得是时间 t 之后的真实 return,alpha 是固定的 step-size 参数,可以将这种方法称为是 constant−αMC,Monte Carlo 方法必须等到 episode 结束之后才能决定 V(St) 的增量,与 Monte Carlo 方法不同的是 TD 方法只需等到下一个 time step 即可,即在时刻 t+1,TD 方法立刻形成一个 target 并使用观测到的 reward Rt+1 和估计的 V(St+1) 进行更新,最简单的 TD 方法称为是 TD(0),其更新方法为: V(St)⇐V(St)+α[Rt+1+γV(St+1)−V(St)]
比较上面的式子可以看出,TD 方法与Monte Carlo 方法一样,都是基于已有的估计进行更新,因此 TD 方法也是一种 bootstrapping 方法,只不过Monte Carlo 更新的目标值为 Gt,而 TD 更新的目标值为 Rt+1+γV(St+1),他们俩的关系其实可以从下面的式子来更好的理解: vπ(s)≐Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s]=Eπ[Rt+1+γk=0∑∞γkRt+k+2∣St=s]=Eπ[Rt+1+γvπ(St+1)∣St=s]
TD(0) 的 backup diagram 如下图所示,它对最上面的节点的 value 评估值的更新基于的是从它到下一个 state 的一次样本转换,TD 和 Monte Carlo 更新可以称为是 sample back-ups,因为他们都涉及到采样的连续的状态或状态对,sample back-ups 与 DP 方法的 full backups 的不同在于,它利用的不是所有可能的转换的完全分布,而是一个单一的样本转换。
Monte Carlo error 可以写作是一系列 TE errors 的和: Gt−V(St)=Rt+1+γGt+1−V(St)+γV(St+1)−γV(St+1)=δt+γ(Gt+1−V(St+1))=δt+γδt+1+γ2(Gt+2−V(St+2))=δt+γδt+1+γ2δt+2+⋯+γT−t+1δT−t+1+γT−t(GT−V(ST))=δt+γδt+1+γ2δt+2+⋯+γT−t+1δT−t+1+γT−t(0−0)=k=0∑T−t+1γkδt+k
2、TD Prediction方法的优点
相比于 DP 方法,TD 方法不需要环境的模型,相比于 Monte Carlo 方法,TD 方法可以采用在线的、完全增量式的实现方式,在 Monte Carlo 方法中,必须要等到 episode 结束有了 return 之后才能更新,在有些应用中 episodes 的时间很长,甚至有些应用环境是连续型任务,根本没有 episodes。而 TD 方法不需等到最终的真实的 return,并且 TD 方法可以保证收敛到 vπ。
3、TD(0) 方法的最优性
假如经历或者经验的数量是有限的,如 10 个 episodes 或者 100 个 time steps,在这种情况下,增量式学习方法的通常做法是不断重复地利用这些经历直到收敛到确定的结果,即给定一个近似的 value 函数 V,在每个时间 t,只要访问的不是终止状态,就可以计算其增量,并在结束时更新一次函数 V,之后再重复处理,直到最后的 value 函数收敛,这种方法常常称为是 batch updating,因为更新是在训练数据的整个 batch 处理之后发生的,并且每遍历一次 batch 只更新一次。
batch TD(0) 与 batch MC 的区别在于,batch MC 是得到在训练集上使得 mean-squared error 最小的估计值,而 batch TD(0) 获得的总是 Markov 过程的最大似然估计模型,我们知道一个 data 的最大似然估计是指在该估计值时生成当前 data 的概率最大,因此对于我们待估计的 Markov 过程,在当前已有的 episodes 下,其最大似然估计模型为:从状态 i 到状态 j 的转换概率的估计值就是所有观测到的从状态 i 转换到状态 j 占所有从状态 i 进行转换的经历的比例,从状态 i 到状态 j 的 reward 的评估值就是观测到的所有从状态 i 转换到状态 j 的rewards 的平均值。因此,只要模型正确则计算的 value function 一定是正确的,通常将这种估计称作是“确定性等价估计”(certainty-equivalence estimate),因为它相当于假定了基本过程的估计是确定而不是近似的。通常 batch TD(0) 会收敛到 certainty-equivalence estimate,因此在批模式下 TD(0) 的收敛速度比 Monte Carlo 方法快。虽然在某种意义上说 certainty-equivalence estimate 是一个优化的解,但常常无法直接计算求解,在状态空间很大的情况下,TD 方法是唯一可以近似求得近似的 certainty-equivalence estimate 的可行方法。
4、Sarsa: On-Policy TD Control
同样有了 TD prediction 方法,下一步就是如何利用 prediction 方法来解决 control problem,在这里的 control problem 中,同样要考虑 exploration 和 exploitation 的权衡问题,与 MC 方法一样,TD control method 也包含 on-policy 和 off-policy,这一小节介绍的是 on-policy TD control method。
对于 on-policy 方法,第一步是要对当前的行为规则 π 估计所有状态 s 和行为 a 的 qπ(s,a),估计的方法与上面介绍的学习 vπ 的方法一样,每一个 episode 是由一系列 states 和 state-action 对组成的转换序列: