一句话定义:Actor-Critic 是强化学习(Reinforcement Learning, RL)中的一类算法框架,它同时训练两个部分——Actor(演员)负责决定做什么动作,Critic(评论家)负责评估这个动作到底好不好,Critic 的打分反过来指导 Actor 改进。
为什么需要两个角色
先看最朴素的策略梯度(Policy Gradient)怎么学:让智能体完整跑一遍任务,把这一路拿到的奖励加起来(叫回报,Return),然后说"奖励高的动作以后多做,奖励低的少做"。
打个比方,这就像一个学徒做菜,做完一整桌菜才等客人给一个总分。问题是这一桌菜的成败被平均成了一个数字:客人当天心情好,学徒以为自己刀工了得;客人心情差,学徒又以为全做错了。整条轨迹里所有随机因素全被算进同一个信号里,方差极大,学起来又慢又抖。
Actor-Critic 的做法是在旁边站一位师傅。学徒每下一勺,师傅就根据当前局面给个即时反馈:"这一步比一般水平强一点。"学徒不用等到最后才知道好坏。关键是师傅自己也在学——看得越多,评得越准。
数学上,这个反馈叫优势(Advantage):A = Q(s, a) − V(s),意思是"这个动作比当前局面的平均表现好多少"。常见写法是用单步时序差分误差(TD Error)来估计:δ = r + γV(s′) − V(s)。它把"整局运气"换成了"一步的真实奖励 + Critic 对未来的猜测",方差小得多。
代价是引入了偏差:Critic 猜错,Actor 就被带偏。所以这里存在一个偏差—方差权衡,像 GAE 这类技术就是用来调这个旋钮的。
和相邻概念的区别
| 方法 | 学什么 | 优点 | 缺点 |
|---|---|---|---|
| 纯策略梯度 | 只学策略 | 无偏,理论干净 | 方差大,样本效率低 |
| 纯价值方法(如 Q-learning) | 只学价值,策略是隐含的取最大值 | 样本利用率高 | 难以直接输出连续动作 |
| Actor-Critic | 策略 + 价值一起学 | 方差小、能输出连续动作、收敛更稳 | 有偏差,两个网络要一起调 |
对从业者的意义
如果你用过 PPO、A2C/A3C、SAC、TD3,那你其实一直在用 Actor-Critic——它们都属于这个家族,区别主要在怎么限制策略更新幅度、怎么估计优势。调参时的重点通常不是 Actor,而是 Critic:它的学习率、更新频率、奖励尺度,往往决定了训练是稳稳上升还是来回震荡。
对普通人的意义
这套思路其实很通用:不要等最终结果出来才复盘。做项目时一边推进一边建立自己的评价标准,"这一步比我的平均水平好还是差",比等到季度末看一个总分要有效得多。差别就在于,你是不是给自己配了一个持续更新的 Critic。
(具体实现细节和超参数默认值,以各算法原始论文与框架官方文档为准。)
