强化学习 | 02 Actor-Critic

Computer

TL; DR

PPO不止在目标函数上优化了策略梯度方法,还引入了新的算法框架 Actor-Critic 架构,用神经网络建模价值函数

Actor-Critic 架构

Actor-Critic (AC) 架构是一种强化学习 (RL) 算法的通用框架,混合了策略梯度和 Q-learning (价值函数估计) 的思想。Actor-Critic 在原始策略梯度架构的基础上,用神经网络建模价值函数(即「价值网络」)

策略网络(Actor,执行者)负责学习和输出策略 π(as)\displaystyle{ \pi \left( a \mid s \right) },即在给定状态 s\displaystyle{ s } 下采取动作 a\displaystyle{ a } 的概率分布。训练时,通过 Actor-Critic 架构中 Critic 提供的优势函数或价值估计来更新策略,目标是提高能获得更高奖励的动作的概率。

LCLIP(θ)=E^τ[min(rt(θ)A^t,clip{rt(θ)}A^t)]\displaystyle{ L ^{ \text{CLIP} } \left( \theta \right) = \hat{ \mathbb{ E } } _{ \tau } \left[ \min \left( r _{ t } \left( \theta \right) \hat{ A } _{ t } , \text{clip} \left\lbrace r _{ t } \left( \theta \right) \right\rbrace \hat{ A } _{ t } \right) \right] }

价值网络(Critic,评论家)负责估计价值函数,目标是准确地预测给定状态的价值 V(s)\displaystyle{ V \left( s \right) },用于评估当前 Actor 所采取策略的好坏。这通常是一个回归问题。训练时,通过时间差分 (Temporal Difference, TD) 学习方法,最小化其价值估计与实际观察到的回报之间的误差。

L(ϕ)=E^t[(Vϕ(st)R^t)2]L(\phi) = \hat{\mathbb{E}}_t \left[ (V_\phi(s_t) - \hat{R}_t)^2 \right]

这里,R^t\hat{R}_t 是用于训练 Critic 的目标回报 (Target Return)。这可以是实际的累积奖励、TD 目标、或 广义优势估计 (GAE) 等。

因此,PPO算法中的总损失函数即为

Minimize[LCLIP(θ)Policy Term+c1LVF(ϕ)Value Term+c2S(πθ)Entropy Term]\text{Minimize} \left[ \overbrace{-L^{CLIP}(\theta)}^{\text{Policy Term}} + \overbrace{c_1 L^{VF}(\phi)}^{\text{Value Term}} + \overbrace{-c_2 S(\pi_\theta)}^{\text{Entropy Term}} \right]

LentropyL_{entropy}(对应 S(πθ)S(\pi_\theta))是可选的正则化项,用于增加策略的探索性。它通过在策略损失中添加一个项来最大化策略 π\pi 的熵。

Note

工作流程简述: Rollout Reward Advantage

  1. Actor 在当前状态 s\displaystyle{ s } 下根据策略 π\pi 选择一个动作 a\displaystyle{ a }
  2. 执行动作 a\displaystyle{ a },环境返回奖励 r\displaystyle{ r } 并转换到下一个状态 s\displaystyle{ s ^{\prime} }
  3. Critic 使用观察到的奖励 r\displaystyle{ r } 和下一个状态 s\displaystyle{ s ^{\prime} } 的估计价值 V(s)\displaystyle{ V \left( s ^{\prime} \right) } 来计算TD 目标和 TD 误差(或优势函数 A(s,a)\displaystyle{ A \left( s , a \right) })。
  4. Critic 使用 TD 误差来更新自己的价值网络参数。
  5. Actor 使用 Critic 提供的优势函数 A(s,a)\displaystyle{ A \left( s , a \right) } 作为其策略梯度更新的方向和大小的指导(替代了纯 PG 中需要等到完整 Episode 结束后才能计算的蒙特卡洛回报)。
链接已复制到剪贴板