99网
您的当前位置:首页SARSA、Q-learning

SARSA、Q-learning

来源:99网

TD and Monte-Carlo

值网络的学习可以使用Monte-Carlo方法,需要进行完整个game,然后计算某个state对应的累计奖励,然后最小化该累计奖励和值网络输出值,从而学习值网络模型。

值网络的学习也可以使用Temporal-difference(TD)方法。

MC和TD都存在着一定的问题:对于MC,

SARSA

SARSA是on policy的算法,对于当前策略执行的每个(状态-动作-奖励-状态-动作)元组

SARSA更新状态-动作值函数为:

                         

其中的两个action都是基于当前同一个策略进行的。

Q-learning

Q-learning介绍

Q-learning是off policy的value-based的方法,学习的不是policy,而是critic,critic并不直接决定action,而是评估一个actor有多么的好。通过把state输入到值网络中,从而得到累计奖励。

一个新的值网络,state-action value function,通过输入state和action来计算累计激励。给出一个新的actor ,当满足下列条件时,大于等于,

                                               

这里并未引入新的参数,只是选取使得Q值最大的action,这个网络也存在一定的缺陷,只能应用在离散action的环境中。

证明过程如下:

常见几个tricks

target network

实际训练时,Q网络学习其实是不稳定的,通常固定住target network,隔一定步数更新到最新的Q网络参数。

exploration

每次选择最好action不是一个好的数据收集策略,因此需要一定的概率选择其他策略。

经验重现

将其他episode的样本加入的buffer中,训练时从buffer中采样batch进行训练。

Q-learning流程

因篇幅问题不能全部显示,请点此查看更多更全内容