强化学习入门学习第二课 —— 基础方法 :时序差分学习

目录

为什么需要TD学习?

TD学习的核心思想

1. 价值函数的定义

2. TD(0) 更新公式

3. TD误差的直观理解

TD学习流程图

经典TD算法:SARSA与Q-Learning

1. SARSA(State-Action-Reward-State-Action)

2. Q-Learning

3. SARSA vs Q-Learning 对比

TD与MC方法的偏差-方差权衡

拓展:TD(λ) 与资格迹

1. n步TD方法

2. TD(λ) 算法

3. 资格迹(Eligibility Traces)

💡 实践小贴士

总结

嗨,欢迎来到强化学习的世界!🎉

在强化学习中,时序差分学习(Temporal Difference Learning,简称TD) 是一种非常核心且优雅的学习方法。它巧妙地结合了蒙特卡洛方法(Monte Carlo)动态规划(Dynamic Programming) 的优点,是现代强化学习算法的基石。

今天我们就来深入了解TD学习的原理、公式推导以及经典算法!💪


为什么需要TD学习?

在介绍TD之前,我们先回顾一下其他两种方法的特点:

方法优点缺点
动态规划(DP)利用贝尔曼方程进行自举(Bootstrap)需要完整的环境模型
蒙特卡洛(MC)不需要环境模型,从经验中学习必须等到回合结束才能更新

TD学习的出现就是为了取两者之长:

  • 像MC一样,不需要环境模型

  • 像DP一样,可以在线更新(不用等回合结束)


TD学习的核心思想

1. 价值函数的定义

首先,回顾状态价值函数的定义:

其中:

  • \pi 是策略

  • \gamma \in [0,1] 是折扣因子

  • R_{t+k+1} 是在时刻 t+k+1 获得的奖励

2. TD(0) 更新公式

TD学习的核心更新公式如下:

让我们拆解这个公式:

符号含义
\alpha学习率(步长),控制更新幅度
R_{t+1}执行动作后获得的即时奖励
\gamma V(S_{t+1})下一状态的折扣价值估计
R_{t+1} + \gamma V(S_{t+1})TD目标(TD Target)
R_{t+1} + \gamma V(S_{t+1}) - V(S_t)TD误差(TD Error),记作 \delta_t

3. TD误差的直观理解

TD误差可以理解为"惊喜程度":

  • \delta_t > 0:实际情况比预期好 😊

  • \delta_t < 0:实际情况比预期差 😢

  • \delta_t = 0:与预期一致 😐


TD学习流程图


经典TD算法:SARSA与Q-Learning

1. SARSA(State-Action-Reward-State-Action)

SARSA是一种同策略(On-policy) TD控制算法,直接学习动作价值函数 Q(s,a)

更新公式:

算法伪代码:

初始化 Q(s, a) 为任意值
对于每个回合:
    初始化状态 S
    根据Q选择动作 A(如ε-greedy)
    
    重复(对于回合中的每一步):
        执行动作 A,观测 R, S'
        根据Q选择动作 A'(如ε-greedy)
        Q(S, A) ← Q(S, A) + α[R + γQ(S', A') - Q(S, A)]
        S ← S'
        A ← A'
    直到 S 是终止状态

2. Q-Learning

Q-Learning是一种异策略(Off-policy) TD控制算法。

更新公式:

关键区别: Q-Learning使用 \max_a Q(S_{t+1}, a) 而不是实际采取的动作的Q值。

算法伪代码:

初始化 Q(s, a) 为任意值
对于每个回合:
    初始化状态 S
    
    重复(对于回合中的每一步):
        根据Q选择动作 A(如ε-greedy)
        执行动作 A,观测 R, S'
        Q(S, A) ← Q(S, A) + α[R + γ max_a Q(S', a) - Q(S, A)]
        S ← S'
    直到 S 是终止状态

3. SARSA vs Q-Learning 对比

【请在此处插入对比示意图】

📝 图示说明:请绘制一个"悬崖行走"(Cliff Walking)环境示意图,包含:

  1. 网格世界:4行×12列的网格

  2. 起点S:左下角,用绿色标注

  3. 终点G:右下角,用蓝色标注

  4. 悬崖区域:底部一行中间的10个格子,用红色/阴影标注,表示危险区域

  5. 两条路径

    • 路径1(安全路径):用虚线箭头标注,沿着网格上方绕行,标注"SARSA倾向选择"

    • 路径2(最优路径):用实线箭头标注,紧贴悬崖边缘走,标注"Q-Learning倾向选择"

  6. 图例:说明两种算法的不同行为特点


TD与MC方法的偏差-方差权衡

【请在此处插入偏差-方差权衡示意图】


拓展:TD(λ) 与资格迹

1. n步TD方法

TD(0)只看一步,而我们可以扩展到n步:

更新公式变为:

n值方法类型
n = 1TD(0)
n = ∞蒙特卡洛
1 < n < ∞n步TD

2. TD(λ) 算法

TD(λ)巧妙地结合了所有n步回报的加权平均:

其中 \lambda \in [0,1] 是衰减参数:

  • \lambda = 0 等价于 TD(0)

  • \lambda = 1 等价于 MC

3. 资格迹(Eligibility Traces)

资格迹是一种高效实现TD(λ)的技术:

更新规则:


实践小贴士

  1. 学习率选择\alpha 通常取0.01~0.1,太大会震荡,太小收敛慢

  2. 探索策略:常用ε-greedy,ε一般从1.0逐渐衰减到0.01

  3. 初始化:乐观初始化可以促进探索

  4. 回放缓冲区:结合经验回放可以提高样本效率


总结

特性动态规划蒙特卡洛TD学习
需要环境模型✅ 是❌ 否❌ 否
需要完整回合❌ 否✅ 是❌ 否
自举✅ 是❌ 否✅ 是
在线学习✅ 是❌ 否✅ 是

TD学习是强化学习中的核心方法,理解它对于学习更高级的算法(如DQN、Actor-Critic等)至关重要!

希望这篇文章对你有帮助!如果有任何问题,欢迎在评论区讨论 💬

觉得不错的话,别忘了点赞收藏哦! ⭐👍

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值