Actor-Critic
- 又称: actor-critic methods, actor-critic algorithm
- 类别: Learning & autonomy › RL & simulation
- 标签: reinforcement-learning, policy-gradient, value-function, deep-learning, robot-learning
一类强化学习方法,同时训练两个部分:演员,即选择动作的策略;评论家,即用来评估并改进这些动作的学习得到的价值函数。
定义
演员-评论家(actor-critic)方法是一类把策略学习与价值学习结合起来的强化学习算法。演员(actor)就是策略,即把当前状态或观测映射为一个动作或动作分布的函数。评论家(critic)是对状态或动作有多好的学习估计:状态价值函数 V(s)、动作价值函数 Q(s, a),或衡量某个动作比策略平均水平好多少的优势函数。评论家从经验中训练,通常使用时序差分学习;演员则沿着评论家所指示的能提高期望回报的方向更新。
这一思路可以追溯到 Barto、Sutton 和 Anderson 1983 年关于学习平衡杆子的工作,Konda 和 Tsitsiklis 在 2000 年前后对演员-评论家算法及其收敛性给出了形式化分析。其动机是降低方差。REINFORCE 等纯策略梯度方法用完整的观测回报为每个动作加权,噪声非常大;用评论家的估计替代该回报,或减去一个学习得到的基线以形成优势,可以得到方差低得多的更新,代价是评论家的误差带来一定偏差。广义优势估计等技术让使用者可以调节这种偏差-方差权衡。
机器人中使用的深度强化学习大多是演员-评论家方法。A2C 和近端策略优化(PPO)等同策略变体训练一个随机演员并配以学习得到的价值基线,被广泛用于在大规模并行仿真中学习移动能力。DDPG、TD3 和 soft actor-critic(SAC)等异策略变体从回放缓冲区中学习 Q 函数,并沿评论家的梯度更新演员,这样能更高效地利用数据,适合在真实硬件上训练。由于评论家只在训练期间需要,它可以使用部署后的演员永远看不到的信息,这就是非对称 actor-critic 训练的基础。
为何重要
演员-评论家结构正是让深度强化学习足够稳定、能够用于机器人控制的原因。了解各部分的作用,可以解释大多数实际调参决策,从价值损失权重和优势归一化,到为什么可以给评论家提供特权仿真器状态;它也是 PPO、SAC 及其变体背后的共同词汇。
主要应用
- 用 PPO 在仿真中训练的足式移动策略
- 用 SAC 或 TD3 在真实机械臂上进行样本高效的学习
- 使用特权信息评论家的手内灵巧操作
- 无人机和四旋翼控制策略
- 从奖励信号中学习的相机与视角控制
- 对通过模仿学习预训练的策略进行微调
实际应用
一个团队在一个并行运行数千个环境的 GPU 仿真器中,用 PPO 训练四足机器人行走策略。演员是一个小型多层感知机,输入本体感觉观测,输出关节位置目标上的高斯分布的均值。评论家是一个独立的网络,它接收相同的观测,外加真实基座速度、地形高度和摩擦等特权项,并预测期望的折扣回报。每次 rollout 之后,广义优势估计把评论家的预测与观测到的奖励结合起来,演员用截断的 PPO 目标更新,评论家则向计算出的回报回归。工程师关注评论家的解释方差:如果它一直很低,优势大多是噪声,演员就会停止进步。只有演员被导出到机器人的机载计算机上。
常见误解
- 评论家是部署的控制器的一部分 — 只有演员在机器人上运行;评论家的存在是为了训练演员
- 评论家的价值是任务成功程度的准确度量 — 它们是学习得到的近似,可能有偏差,而 Q 函数高估是一种已知的失败,TD3 和 SAC 用双评论家来应对
- PPO 不是演员-评论家方法 — 标准的 PPO 实现会训练一个价值函数作为优势的基线,这使它们属于演员-评论家方法
- 演员-评论家指的是一种算法 — 它是一个家族,包括同策略和异策略、随机和确定性的方法
谁需要了解
- 在实体机器人上工作的强化学习从业者
- 使用学习型控制器的移动与操作工程师
- 设计训练流水线的机器人学习研究人员
- 从经典控制转向学习型控制的学生
相关技术
- A2C 与 A3C
- DDPG
- TD3
- 广义优势估计(Generalized Advantage Estimation)
- Stable-Baselines3
- Isaac Lab
相关术语
- Reinforcement Learning
- Proximal Policy Optimization
- Soft Actor-Critic
- Asymmetric Actor-Critic
- Markov Decision Process (MDP)
相关项目
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- MuJoCo: DeepMind physics engine for robotics and ML research
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
视频
- Actor Critic Algorithms: Siraj Raval
- Everything You Need To Master Actor Critic Methods | Tensorflow 2 Tutorial: Machine Learning with Phil