核心要点

  • Actor:参数化策略,负责输出/采样动作(策略梯度更新)

  • Critic:学习价值函数(V 或 Q),评估当前状态/动作好坏

  • 用 Critic 估计的优势(Advantage)替代纯回报,显著降低梯度方差

  • 相比 REINFORCE 用蒙特卡洛回报,Critic 提供低方差基线、可在线更新

标准回答

两个组件

  • Actor(演员):参数化策略 π(a|s),决定在状态下采取/采样哪个动作,按策略梯度更新
  • Critic(评论家):学习价值函数 V(s) 或 Q(s,a),评估状态或动作的好坏

为什么要结合

纯策略梯度(REINFORCE)用整条轨迹的蒙特卡洛回报作为权重,方差很大、训练不稳。Actor-Critic 用 Critic 学到的价值作为基线,构造优势函数 A(s,a) = Q(s,a) − V(s)(或用 TD 误差近似),以「相对平均水平好多少」来更新策略,从而大幅降低方差。

更新流程

Critic 用 TD 误差 δ = r + γV(s') − V(s) 自举更新价值;Actor 用 δ(优势的估计)作为权重做策略梯度上升。二者交替学习。A2C/A3C、PPO 都属于这一框架,PPO 进一步约束更新幅度。

常见误区

⚠️ 常见踩坑

说 Critic「直接选动作」是错的——选动作的是 Actor,Critic 只评估;优势函数减基线是为降方差且不引入偏差,不要说成「为了加速收敛」这一笼统说法。

追问

追问 1优势函数为什么能降低方差而不引入偏差?

策略梯度里减去一个只依赖状态、不依赖动作的基线 b(s)(如 V(s)),其期望梯度贡献为零,因此不改变梯度的无偏性;同时它把回报中与动作无关的大幅波动抵消掉,只保留「该动作相对均值好多少」,从而显著降低方差。

追问 2Actor-Critic 与 REINFORCE 的关键区别是什么?

REINFORCE 是纯蒙特卡洛策略梯度,需等整条回合结束用真实回报更新,方差高且只能回合更新。Actor-Critic 引入 Critic 用自举(TD)估计价值,可单步/在线更新、方差更低,但因自举引入一定偏差,是偏差-方差的折中。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。