【强化学习概念-时间差分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;θ):策略函数,表示在状态 sss 下选择动作 aaa 的概率。
  • A(s,a)A(s, a)A(s,a):优势函数,表示在状态 sss 下采取动作 aaa 的价值相对于平均策略的优势。
  • ∇θ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)

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

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

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

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

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

3. 具体过程

在 Actor 网络中:

  1. 生成动作

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

    • 环境反馈即时奖励 rrr 和下一状态 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. 直观理解

假设当前状态 sss

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

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


5. 总结

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值