深度强化学习4——时序差分学习(TD)的Q learning和Sarsa learning

前面我们讲到了蒙特卡洛方法在未知环境下求解马尔科夫决策过程(MDP),然而蒙特卡洛方法也有自身的限制,蒙特卡洛方法就是反复多次试验,求取每一个实验中每一个状态s的值函数,也就是说,只要这个MDP是有终点的,我们就可以计算出每一个状态下的Return,也就是说蒙特卡罗法通过采样若干经历完整的状态序列(episode)来估计状态的真实价值,所谓的经历完整,就是这个序列必须是达到终点的。比如下棋问题分出输赢,驾车问题成功到达终点或者失败。有了很多组这样经历完整的状态序列,我们就可以来近似的估计状态价值,进而求解预测和控制问题了。

回顾一下first-visit MC方法:

其中,N(s)表示状态s出现的次数,每次状态s出现,N(s)加1。要等到所有的episodes都经历完了,再去计算v(s),实际上可以使用累进更新平均值

深度强化学习4——时序差分学习(TD)的Q learning和Sarsa learning_第1张图片

对于每一个episode:

episode里的每次出现状态St,就有一个收获Gt,对于所有episode每次出现一个St,可以使用如下公式计算V(s):

Temporal-Difference Learning(时序差分学习)

根据上述公式,在蒙特卡罗方法中,需要走完整个样本才能得到Gt,从而更新一次。在TD learning中,算法在估计某一个状态的价值时,用的是离开该状态时的即时奖励Rt+1与下一个状态St+1的预估状态价值乘以折扣因子γ组成:

其中,bootstrapping指的就是TD目标值代替的过程 ,参考Bellman方程。

sarsa算法

我们利用TD prediction组成新的强化学习算法,用到决策/控制问题中。在这里,强化学习算法可以分为在线策略(on-policy)离线策略(off-policy)两类。首先要介绍的sarsa算法属于on-policy算法。

与前面方法稍微有些区别的是,sarsa算法估计的是动作值函数(Q函数)而非状态值函数。也就是说,我们估计的是策略π下,任意状态s上所有可执行的动作a的动作值函数,Q函数同样可以利用TD Prediction算法估计。如下就是一个状态-动作对序列的片段及相应的回报值

sarsa的动作值函数更新公式如下:

可见公式基本一致,由于动作函数每次更新都与有关,因此叫sarsa算法,算法完整流程如下:

深度强化学习4——时序差分学习(TD)的Q learning和Sarsa learning_第2张图片

对于每个非终止状态St,到达下一个状态St+1后,都可以用上述公式更新,算法最终得到所有状态-动作对的Q函数,并根据Q函数输出最优策略。

Q-learning算法

在sarsa算法中,选择动作时遵循的策略和更新动作值函数时遵循的策略是相同的,在Q-learning中,动作值函数更新则不同于选取动作时遵循的策略,Q-learning的动作值函数更新公式如下:

可以看到,Q-learning与sarsa算法最大的不同在于更新Q值的时候,使用最大的,也就是采用最大的动作,并且与当前执行的策略,即选取动作时采用的策略无关,详情可以参考强化学习Sarsa,Q-learning的收敛性最优性区别,Q-learning的完整流程图如下:

深度强化学习4——时序差分学习(TD)的Q learning和Sarsa learning_第3张图片

总结

本篇介绍了TD方法思想和一些算法。TD方法结合了蒙特卡罗方法和动态规划的优点,能够应用于无模型、持续进行的任务,并拥有优秀的性能,因而得到了很好的发展,其中Q-learning更是成为了强化学习中应用最广泛的方法。然而传统的强化学习局限于动作空间和样本空间都很小,且一般是离散的情境下。然而比较复杂的、更加接近实际情况的任务则往往有着很大的状态空间和连续的动作空间。当输入数据为图像,声音时,往往具有很高维度,传统的强化学习很难处理,深度强化学习就是把深度学习对于的高维输入与强化学习结合起来。DeepMind公司也就是用DQN从玩各种电子游戏开始,直到训练出阿尔法狗打败了人类围棋选手。下一篇我们将介绍深度学习和Qlearning结合的方法DQN。

个人相关深度强化学习github地址:https://github.com/demomagic

PS: 如果觉得本篇本章对您有所帮助,欢迎关注、评论、赞!如果要转发请注明作者和出处

参考文献:

    [1]强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning):https://www.cnblogs.com/steven-yang/p/6516818.html

 

 

 

 

 

 

你可能感兴趣的:(深度强化学习,强化学习,人工智能,深度学习,强化学习)