Actor-Critic方法

Actor-Critic方法是一种结合了基于价值学习和基于策略学习的强化学习算法。它同时维护策略函数(Actor)和价值函数(Critic),利用两者的优势实现更加稳定和高效的学习。

基本框架

Actor-Critic方法包含两个核心组件:

Actor(演员)

Actor 是策略函数 ,负责根据当前状态选择动作。它通过策略梯度方法更新参数,目标是最大化期望累积回报。

Critic(评论家)

Critic 是价值函数 ,负责评估 Actor 所选动作的质量。Critic 通过时间差分(TD)学习来估计状态或动作的价值,并为 Actor 提供反馈信号。

更新过程

在每一步交互中,Agent 执行以下更新:

  1. Actor 根据当前状态 选择动作
  2. 环境返回奖励 和下一状态
  3. Critic 计算 TD 误差(优势函数):

其中 是折扣因子, 反映了当前动作相对于平均水平的优劣。

  1. Critic 更新其价值函数参数以缩小 TD 误差:
  1. Actor 利用 Critic 提供的 TD 误差更新策略参数:

优势与挑战

优势

  • 相比纯策略梯度方法,Critic 提供的价值估计降低了策略梯度的方差,使训练更加稳定
  • 相比纯价值学习方法,Actor 直接优化策略,适用于连续动作空间
  • 可以处理随机策略和确定性策略

挑战

  • Actor 和 Critic 的联合训练可能不稳定,需要精心协调学习率
  • 价值函数估计可能存在偏差,影响策略更新的方向
  • 在实际应用中常使用优势函数(Advantage Function) 进一步降低方差

代表性算法

基于 Actor-Critic 框架的代表算法包括 A2C(Advantage Actor-Critic)、A3C(Asynchronous Advantage Actor-Critic)、以及近年广泛使用的 PPO(Proximal Policy Optimization)和 SAC(Soft Actor-Critic)等。

链接到