【强化学习概念-时间差分TD】

【强化学习概念-时间差分TD】

Actor-Critic 算法中,时间差分(TD)误差对 Actor 的作用是引导策略改进。具体地说,TD 误差充当 策略梯度更新的权重,决定了策略改进的方向和幅度。


1. 策略梯度更新公式

在 Actor-Critic 中,Actor 网络优化的目标是最大化累计回报 J ( θ ) J(\theta) J(θ),其梯度为:
∇ θ J ( θ ) = E [ ∇ θ log ⁡ π ( a ∣ s ; θ ) ⋅ A ( s , a ) ] \nabla_\theta J(\theta) = \mathbb{E}[\nabla_\theta \log \pi(a|s; \theta) \cdot A(s, a)] θJ(θ)=E[θlogπ(as;θ)A(s,a)]
其中:

  • π ( a ∣ s ; θ ) \pi(a|s; \theta) π(as;θ):策略函数,表示在状态 s s s 下选择动作 a a a 的概率。
  • A ( s , a ) A(s, a) A(s,a):优势函数,表示在状态 s s s 下采取动作 a a a 的价值相对于平均策略的优势。
  • ∇ θ log ⁡ π ( a ∣ s ; θ ) \nabla_\theta \log \pi(a|s; \theta) θlogπ(as;θ):策略的梯度,表示策略改变对动作选择的敏感程度。

关键:在实际实现中,TD 误差 δ = r + γ V ( s ′ ) − V ( s ) \delta = r + \gamma V(s') - V(s) δ=r+γV(s)V(s) 被用作优势函数的近似值:
A ( s , a ) ≈ δ A(s, a) \approx \delta A(s,a)δ

因此,策略梯度的更新公式可以写为:
∇ θ J ( θ ) ≈ ∇ θ log ⁡ π ( a ∣ s ; θ ) ⋅ δ \nabla_\theta J(\theta) \approx \nabla_\theta \log \pi(a|s; \theta) \cdot \delta θJ(θ)θlogπ(as;θ)δ


2. TD 误差在 Actor 中的作用

TD 误差 δ \delta δ 的正负和大小直接决定了 Actor 的策略更新方向和强度:

  • 正的 TD 误差 ( δ > 0 \delta > 0 δ>0)

    • 表示当前选择的动作 a a a 比预期更好。
    • 策略更新会增加在状态 s s s 下选择动作 a a a 的概率。
  • 负的 TD 误差 ( δ < 0 \delta < 0 δ<0)

    • 表示当前选择的动作 a a a 比预期更差。
    • 策略更新会减少在状态 s s s 下选择动作 a a a 的概率。
  • TD 误差的绝对值大小 ( ∣ δ ∣ |\delta| δ)

    • 决定了策略更新的幅度。
    • 如果误差较大,说明当前策略的偏差较大,需要更大幅度的更新。

因此,TD 误差提供了一个动态反馈机制,用于告诉 Actor:

  1. 当前的策略选择是否合理。
  2. 策略需要多大程度的调整。

3. 具体过程

在 Actor 网络中:

  1. 生成动作

    • 给定状态 s s s,Actor 使用策略 π ( a ∣ s ; θ ) \pi(a|s; \theta) π(as;θ) 生成动作 a a a
  2. 与环境交互

    • 环境反馈即时奖励 r r r 和下一状态 s ′ s' s
  3. 计算 TD 误差

    • 使用 Critic 网络估计当前状态和下一状态的价值 V ( s ) V(s) V(s) V ( s ′ ) V(s') V(s),计算 TD 误差:
      δ = r + γ V ( s ′ ) − V ( s ) \delta = r + \gamma V(s') - V(s) δ=r+γV(s)V(s)
  4. 更新策略

    • 结合 TD 误差更新 Actor 的策略参数 θ \theta θ
      θ ← θ + α ⋅ δ ⋅ ∇ θ log ⁡ π ( a ∣ s ; θ ) \theta \leftarrow \theta + \alpha \cdot \delta \cdot \nabla_\theta \log \pi(a|s; \theta) θθ+αδθlogπ(as;θ)
    • 这里 α \alpha α 是学习率。

4. 直观理解

假设当前状态 s s s

  • Actor 网络根据当前策略生成了一个动作 a a a,但这个动作可能并不最优。
  • TD 误差告诉 Actor,这个动作 a a a 的好坏(通过即时奖励 r r r 和未来价值估计 V ( s ′ ) V(s') V(s))。
  • 如果动作 a a a 带来了高于预期的回报(正的 TD 误差),Actor 将倾向于更加频繁地选择 a a a
  • 如果动作 a a a 带来了低于预期的回报(负的 TD 误差),Actor 将减少选择 a a a 的概率。

通过这种机制,Actor 的策略逐步优化,以在不同状态下选择更优的动作。


5. 总结

TD 误差在 Actor 中的作用可以概括为:

  1. 衡量动作好坏:通过 δ > 0 \delta > 0 δ>0 δ < 0 \delta < 0 δ<0 告诉 Actor 动作 a a a 是高于还是低于预期。
  2. 动态调整策略:通过 ∣ δ ∣ |\delta| δ 的大小控制策略更新的强度。
  3. 引导策略优化:帮助 Actor 学习一个更优的策略,使得累计回报最大化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值