强化学习小白入门笔记3:深入理解时序差分学习的原理和应用Temporal Difference Learning

强化学习小白入门笔记3:深入理解时序差分学习的原理和应用Temporal Difference Learning

admin
8月27日发布
温馨提示:
本文最后更新于2025年08月27日,已超过57天没有更新,若内容或图片失效,请留言反馈。

时序差分学习(Temporal Difference Learning,简称TD学习)是强化学习中最重要的概念之一,也是现代强化学习算法的核心基础。如果说强化学习是一栋大厦,那么TD学习就是这栋大厦的地基。本文主要是面向初学者,深入理解这个看似复杂但实际上非常直观的学习方法。

学习的本质是什么?

在开始之前,让我们思考一个问题:人类是如何学习的?

想象你第一次学开车。你不会等到考完驾照才开始总结经验,而是在每次练车过程中不断调整:

  • 刚开始转弯时总是转得太急,几次练习后学会了提前减速
  • 停车时总是停不准,通过观察后视镜的反馈不断改进
  • 每次小的改进都基于当时的反馈,而不是等到所有练习结束

这就是TD学习的核心思想:用当前的经验来改进我们的预测,而不是等到所有事情结束

TD学习的核心思想

时序差分这个名字听起来很学术,但概念其实很简单:

  • 时序:涉及时间序列,我们在不同时刻有不同的预测
  • 差分:比较不同时刻预测之间的差异

TD学习的核心就是:用"更准确的后续预测"来改进"当前的预测"。简单来说就是“有事及时处理”。

生活化的类比:天气预报学习

假设你想学会预测天气,但你不是气象专家,只能通过观察来学习。

传统方法(等到月底再学习)

  • 月初预测:这个月平均气温25度
  • 等到月底:实际平均气温27度
  • 月底学习:调整下个月的预测策略

TD方法(每天都学习)

  • 1号预测:这个月平均25度,明天26度
  • 2号实际:昨天确实26度,今天预测这个月平均25.1度,明天27度
  • 发现:昨天预测月平均25度,但今天的新信息(实际26度+预测明天27度)暗示月平均可能更高
  • 立即调整:把对这个月平均气温的预测从25度调到25.1度

关键洞察:我们不需要等到月底,每天的新信息都能帮助我们改进长期预测!

天气预报

TD学习的数学原理

TD学习的核心公式看起来是这样的:

V(s) ← V(s) + α × [r + γ × V(s') - V(s)]

各部分含义

  • V(s):我们对状态s的价值估计
  • α:学习率(0-1之间,比如0.1)
  • r:在状态s执行动作后获得的即时奖励
  • γ:折扣因子(0-1之间,比如0.9)
  • V(s'):我们对下一状态s'的价值估计

核心思想:新估计 = 旧估计 + 学习率 × (更好的估计 - 旧估计)

公式中的 [r + γ × V(s') - V(s)] 被称为TD误差(TD Error),这是TD学习的核心:

  • r + γ × V(s')

    :基于当前经验的"更好估计"

    • r:我们实际获得的奖励
    • γ × V(s'):未来价值的折扣估计
  • V(s):我们之前的估计
  • TD误差:两者的差值,告诉我们估计的准确程度

TD误差的含义

  • 如果TD误差 > 0:我们低估了当前状态的价值,应该调高
  • 如果TD误差 < 0:我们高估了当前状态的价值,应该调低
  • 如果TD误差 = 0:我们的估计刚好准确

机器人学习走迷宫

问题设置

想象一个简单的3×3迷宫:

[S][ ][G]
[ ][#][ ]
[ ][ ][ ]

S:起始位置

G:目标位置(奖励+10)

\#:障碍物

空格:可以通行(每步奖励-1)

学习目标:学会评估每个位置的价值(从该位置到达目标的期望累计奖励)

初始状态

刚开始时,机器人对所有位置的价值估计都是0:

价值估计表:
V(S) = 0, V(G) = 10, V(其他位置) = 0
学习率 α = 0.1
折扣因子 γ = 0.9

第一次探索过程

步骤1:从S向右移动

  • 当前状态:S,价值估计V(S) = 0
  • 执行动作:向右
  • 获得奖励:r = -1(移动成本)
  • 到达新状态:中间位置,价值估计V(中间) = 0

TD更新

TD误差 = r + γ × V(中间) - V(S)
        = -1 + 0.9 × 0 - 0
        = -1

更新V(S) = V(S) + α × TD误差
         = 0 + 0.1 × (-1)
         = -0.1

步骤2:从中间向右移动到目标

  • 当前状态:中间,价值估计V(中间) = 0
  • 执行动作:向右
  • 获得奖励:r = 10(到达目标)
  • 到达新状态:目标G,价值估计V(G) = 10

TD更新

TD误差 = r + γ × V(G) - V(中间)
        = 10 + 0.9 × 10 - 0
        = 19

更新V(中间) = V(中间) + α × TD误差
            = 0 + 0.1 × 19
            = 1.9

第二次探索过程

现在价值估计表变成了:

V(S) = -0.1, V(中间) = 1.9, V(G) = 10

再次从S向右移动

TD误差 = r + γ × V(中间) - V(S)
        = -1 + 0.9 × 1.9 - (-0.1)
        = -1 + 1.71 + 0.1
        = 0.81

更新V(S) = -0.1 + 0.1 × 0.81 = -0.019

学习过程的直观理解

通过这个例子,我们可以看到:

  1. 即时学习:每走一步都更新价值估计,不用等到到达终点
  2. 信息传播:目标的高价值(+10)逐渐"传播"到前面的状态
  3. 渐进改进:每次更新都让估计更准确一点点
  4. 最终收敛:经过足够多的探索,所有状态的价值估计会趋于真实值

TD学习的优势与局限

主要优势

  1. 模型无关:不需要知道环境的转移概率和奖励函数
  2. 在线学习:可以在与环境交互过程中实时学习
  3. 内存高效:不需要存储完整的轨迹历史
  4. 快速响应:能够快速适应环境的变化
  5. 理论保证:在一定条件下保证收敛到最优解

主要局限

  1. 探索问题:如何平衡探索未知状态和利用已知信息
  2. 函数近似:在大状态空间中需要函数近似,可能不稳定
  3. 参数调整:学习率、折扣因子等参数需要仔细调整
  4. 收敛速度:虽然每步都学习,但总体收敛可能较慢
© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
上传图片
OωO
取消