Temporal Difference

Temporal Difference

  • 增量式MC
  • 时间差分TD
  • 核心差别:
    • MC是根据[s1→终止状态]完整片段的最终回报更新s1的值函数
    • TD是根据[s1→s2]这一步片段的即时回报值R和s2的估计值函数更新s1的值函数

与DP的对比

  • DP是全宽备份
  • TD是样本备份

TD与MC的对比

  • TD 算法在知道结果之前学习
    • TD算法在每一步之后都能在线学习
    • MC算法必须等待最终回报值得到之后才能学习
  • TD算法即便没有最终结果也能学习
    • TD算法能够从不完整序列中学习
    • MC算法仅仅能够从完整序列中学习
    • TD算法适用于连续性任务和片段性任务
    • MC算法仅仅适用于片段性任务
  • TD算法有多个驱动力
    • MC算法只有奖励值作为更新的驱动力
    • TD算法有奖励值和状态转移作为更新的驱动力
  • MC有高方差,零偏差
    • 收敛性较好 (即使采用函数逼近)
    • 对初始值不太敏感
    • 随着样本数量的增加,方差逐渐减少, 趋近于 0
  • TD 有低方差,和一些偏差
    • 通常比 MC 效率更高
    • 表格法下TD(0)收敛到(函数逼近时不一定)
    • 对初始值更敏感
    • 随着样本数量的增加,偏差逐渐减少,趋近于 0
    • 样本数量有限时,TD的结果与真实结果的偏差比较稳定。MC可能出现巨大偏差。
  • TD要求环境符合马尔科夫性,MC不要求

自举和采样

  • 自举: 使用随机变量的估计去更新
    • MC 没有自举
    • DP 和 TD 都有自举
  • 采样: 通过样本估计期望
    • MC 和 TD 采样
    • DP 不采样

TD的优化方法

  • 整体思路是 策略评价+策略提升
  • 策略评价

    • 在策略评价SARSA

      • 公式

      • 算法流程

        • 1:初始化
        • 2:repeat(对于每个片段)
        • 3: 初始化状态
        • 4: 根据选择一个在处的动作(使用-贪婪策略)
        • 5: repeat(对于片段中每一步)
        • 6: 执行动作,观测
        • 7: 根据选择一个在处的动作(使用-贪婪策略)
        • 8:
        • 9:
        • 10: until 是终止状态
        • 11:until收敛
      • 收敛性

        • 在满足以下条件时,Sarsa 算法收敛到最优的状态动作值函数
          • 策略序列满足GLIE
          • 步长序列是一个Robbins-Monro序列
        • GLIE 保证了
          • 充分的探索
          • 策略最终收敛到贪婪的策略
        • Robbins-Monro保证了
          • 步长足够大,足以克服任意初始值
          • 步长足够小,最终收敛 (常量步长不满足)
    • 期望SARSA

      • 减少了由于的选择带来的方差
      • 在相同更新步数时,期望 Sarsa 比 Sarsa 的通用性更好
      • 可以在在策略和离策略中切换
        • 在策略:TD目标值中的中的策略和采样的策略是同一个策略
        • 离策略:TD目标值中的中的策略和采样的策略是不同的策略
      • 一种特殊情况,TD目标值中的策略选择贪婪策略, 采样的策略选用ε-贪婪策略——Q学习
    • 离策略评价Q学习

      • 公式

      • 算法流程

        • 1:初始化
        • 2:repeat(对于每个片段)
        • 3: 初始化状态
        • 4: repeat(对于片段中每一步)
        • 5: 根据选择一个在处的动作(使用-贪婪策略)
        • 6: 执行动作,观测
        • 7:
        • 8:
        • 9: until 是终止状态
        • 10:until收敛
  • 策略提升

    • -贪婪策略提升

Search

    欢迎添加我的微信

    闷骚的程序员

    Table of Contents