强化学习笔记:Q-learning :temporal difference 方法

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习笔记:Q-learning :temporal difference 方法相关的知识,希望对你有一定的参考价值。

强化学习笔记:马尔可夫过程 &马尔可夫奖励过程_UQI-LIUWJ的博客-CSDN博客      

  和MC方法(强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客)类似,时分TD方法也是 model-free 的,不需要 MDP 的转移矩阵和奖励函数。

        TD 可以从不完整的 episode 中学习,同时也结合了Policy evaluation 中bootstrapping 的思想。

1 TD(0)算法

        最简单的算法是 TD(0),每往前走一步,就做一步 bootstrapping,用得到的估计回报(estimated return)来更新上一时刻的值。

        估计回报被称为 TD target,TD target 是带衰减的未来收益的总和。

        TD error(误差) 

        可以类比于 Incremental Monte-Carlo 的方法,写出如下的更新方法:

        

1.1 TD(0)和MC的比较 

         在 MC 里面Gi,t​ 是实际得到的值(可以看成 target),因为它已经把一条轨迹跑完了,可以算每个状态实际的 return。

        TD(0) 没有等轨迹结束,往前走了一步,就可以更新价值函数。

例如,你想获得开车去公司的时间,每天上班开车的经历就是一次采样。假设今天在路口 A 遇到了堵车,

  • TD 会在路口 A 就开始更新预计到达路口 B、路口 C ⋯⋯,以及到达公司的时间;
  • 而 MC 并不会立即更新时间,而是在到达公司后,再修改到达每个路口和公司的时间。

TD 能够在知道结果之前就开始学习,相比 MC,其更快速、灵活。

1.2 TD(0)相比于MC的优势

TD 可以在线学习(online learning),每走一步就可以更新,效率高MC 必须等游戏结束才可以学习
TD 可以从不完整序列上进行学习MC 只能从完整的序列上进行学习
TD 可以在连续的环境下(没有终止)进行学习MC 只能在有终止的情况下学习
TD 利用了马尔可夫性质,在马尔可夫环境下有更高的学习效率

MC 没有假设环境具有马尔可夫性质,利用采样的价值来估计某一个状态的价值,在不是马尔可夫的环境下更加有效。

2 N-step TD

  • 我们可以把 TD 进行进一步的推广。之前是只往前走一步,即 one-step TD,TD(0)。

  • 我们可以调整步数,变成 n-step TD。比如 TD(2),即往前走两步,然后利用两步得到的 return,使用 bootstrapping 来更新状态的价值。

  • 这样就可以通过 step 来调整这个算法需要多少的实际奖励和 bootstrapping。

3 DP (Policy evaluation) ,MC 和TD的异同

MC DPTD
Bootstrapping:更新时使用了估计

MC 没用 bootstrapping,因为它是根据实际的 return 来更新。

DP 用了 bootstrapping。

TD 用了 bootstrapping。

Sampling:更新时通过采样得到一个期望

MC 是纯 sampling 的方法。

DP 没有用 sampling,它是直接用 Bellman expectation equation 来更新状态价值的。

TD 用了 sampling。
是否有偏估计无偏估计有偏估计

 

  • 如果 TD 需要更广度的 update,就变成了 DP(因为 DP 是把所有状态都考虑进去来进行更新)。
  • 如果 TD 需要更深度的 update,就变成了 MC。
  • 右下角是穷举的方法(exhaustive search),穷举的方法既需要很深度的信息,又需要很广度的信息。

以上是关于强化学习笔记:Q-learning :temporal difference 方法的主要内容,如果未能解决你的问题,请参考以下文章

强化学习笔记:Q-Learning

强化学习笔记:Q-learning

强化学习笔记:Sarsa 与 Sarsa(lambda)

强化学习笔记:Sarsa 与 Sarsa(lambda)

强化学习 Q-learning 实例详解

强化学习 Q-learning 实例详解