Advantage Actor-Critic/zh

    From Marovi AI
    This page is a translated version of the page Advantage Actor-Critic and the translation is 100% complete.
    Other languages:
    Article
    Topic area Reinforcement Learning
    Prerequisites Policy Gradient, Actor-Critic Methods, Markov Decision Process


    概述

    优势 Actor-Critic (A2C) 是一种用于 Reinforcement LearningPolicy Gradient 算法,它将参数化的策略(actor)与学习得到的值函数(critic)相结合,并使用优势函数作为策略更新的信号。通过用优势替代原始的回报,A2C 在保持梯度估计无偏的同时降低了其方差,这使得训练比朴素的 REINFORCE 稳定得多。A2C 是 Mnih 等人于 2016 年提出的异步算法 A3C 的同步形式,已成为离散动作基准(如 Atari)和连续控制任务的标准基线。[1]

    核心思想很简单:与其用噪声较大的蒙特卡罗回报来缩放每个策略梯度,不如用某个动作相对于该状态下可用动作的平均水平好多少来缩放。critic 提供这个"平均值",而观察到的回报与 critic 预测之间的差就是优势。本文介绍其形式化、使 A2C 区别于 A3C 的同步训练流程、常见变体,以及与 Proximal Policy OptimizationTrust Region Policy Optimization 等相邻算法的关系。

    直觉

    Policy Gradient 更新中,梯度方向由某个标量分数加权,该分数表明"该动作是好的"或"该动作是坏的"。最简单的选择是轨迹的回报,但回报具有很高的方差:在一个回合开始时采取的某个动作可能会被赋予数百步之后发生的事件的功劳,而其中大多数与该动作无关。所得估计器的方差可能远超其均值,这会让学习速度变得极慢。

    A2C 通过引入一个学习得到的基线来解决这个问题。从回报中减去任何依赖状态的基线都不会引入偏差,因为基线相对于策略参数的期望梯度为零。选择 Value Function 作为基线会将该分数转化为优势,它直观地衡量了动作相对于策略平均行为的偏离程度。优于基线的动作会被强化;低于基线的动作会被抑制。critic 通过对自举目标进行 时序差分回归并行训练,因此基线会随着策略的改进而同步更新。

    形式化

    $ \pi_\theta(a \mid s) $ 为由 $ \theta $ 参数化的策略,记 $ V_\phi(s) $ 为由 $ \phi $ 参数化的 critic。当前策略下的状态值函数为

    $ {\displaystyle V^{\pi}(s) = \mathbb{E}_{\pi}\!\left[\sum_{k=0}^{\infty} \gamma^{k} r_{t+k} \,\middle|\, s_t = s\right],} $

    在状态 $ s $ 下采取动作 $ a $优势

    $ {\displaystyle A^{\pi}(s, a) = Q^{\pi}(s, a) - V^{\pi}(s).} $

    以优势作为分数的策略梯度为

    $ {\displaystyle \nabla_\theta J(\theta) = \mathbb{E}_{\pi}\!\left[\nabla_\theta \log \pi_\theta(a \mid s)\, A^{\pi}(s, a)\right].} $

    在实践中,优势是从 rollout 中估计的。最简单的单步估计器为

    $ {\displaystyle \hat{A}_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t),} $

    这正是 TD 误差。在 $ n $ 个奖励项之后进行自举$ n $ 步估计器也被广泛使用,

    $ {\displaystyle \hat{A}_t = \sum_{k=0}^{n-1} \gamma^{k} r_{t+k} + \gamma^{n} V_\phi(s_{t+n}) - V_\phi(s_t),} $

    现代实现常将其替换为 Generalized Advantage Estimation (GAE),即对 $ n $ 步误差做带折扣的指数加权平均,它提供了一个调节偏差与方差权衡的旋钮。[2]

    critic 通过最小化相对于自举目标的平方 TD 误差进行训练,

    $ {\displaystyle \mathcal{L}_V(\phi) = \mathbb{E}\!\left[\bigl(V_\phi(s_t) - \hat{R}_t\bigr)^2\right], \quad \hat{R}_t = \sum_{k=0}^{n-1} \gamma^{k} r_{t+k} + \gamma^{n} V_\phi(s_{t+n}).} $

    通常会在策略上加入一个小的奖励项,以避免过早坍缩为确定性动作,从而得到组合损失

    $ {\displaystyle \mathcal{L}(\theta, \phi) = -\mathbb{E}\!\left[\log \pi_\theta(a_t \mid s_t)\, \hat{A}_t\right] + c_v \mathcal{L}_V(\phi) - c_e \mathbb{E}\!\left[\mathcal{H}\bigl(\pi_\theta(\cdot \mid s_t)\bigr)\right],} $

    其中 $ c_v $$ c_e $标量系数,$ \mathcal{H} $ 是策略的熵。

    训练

    A2C同策略且同步的。一个由并行环境组成的向量同步推进 $ n $ 个转移,产生大小为 $ n \times N $ 的批次,其中 $ N $ 为 worker 数。利用 critic 的自举值在该批次上计算优势,并通过一次梯度步骤同时更新两个网络。然后丢弃所收集的转移并开始新的 rollout,因为梯度估计仅对当前策略有效。

    正是这种同步设计将 A2C 与其前身 A3C 区分开来。在 A3C 中,每个 worker 维护一份参数的本地副本,独立计算梯度,并异步地将其应用到共享的参数服务器,这意味着 worker 操作的是略微过时的参数。OpenAI baselines 团队观察到,在足够快的 GPU 实现下,将所有 worker 的转移合并为一个批次并执行一次同步更新,在样本效率上至少不逊于 A3C,同时显著更易于实现与调试。[3] 当观测是高维的(例如 Atari 智能体的卷积主干)时,actor 和 critic 通常共享较低层,并在接近输出处分裂为独立的头。

    实践中最关键的超参数包括并行环境数量、rollout 长度 $ n $折扣因子 $ \gamma $系数 $ c_e $ 以及学习率。有效批次大小将它们耦合在一起:在固定总环境步数下,将 worker 数加倍会使梯度更新频率减半,通常需要相应地重新调节学习率。

    变体

    若干变体在基本配方之上进行了扩展。A3C 是原始的异步形式,在没有 GPU 的情况下使用大量 CPU worker,在通用硬件上历来较有吸引力。ACKTR 用 Kronecker 因子化的自然梯度步骤替代 SGD 优化器,利用 Fisher Information Matrix 的结构以适度的额外开销获得更快的收敛。[4] Proximal Policy Optimization (PPO) 在 A2C 之上引入截断的代理目标,并在每个 rollout 上进行多个的小批量更新,从而允许更大的有效步长而不会使策略坍缩,在很大程度上取代了 A2C 作为默认的策略梯度基线。Soft Actor-Critic 系列将该框架推广到带最大目标的异策略训练,在配合经验回放的连续控制中更受青睐。

    比较

    DQN 等基于值的方法相比,A2C 可直接处理连续动作空间,不需要显式的对动作取最大化的操作——后者在连续空间中难以处理。与朴素的 REINFORCE 相比,A2C 通过学习得到的基线大幅降低了方差,代价是从自举的 critic 引入偏差,但实践中该偏差较小且可控。与 PPO 相比,A2C 更简单,每个 rollout 仅使用一次,因此样本效率较低但更易于分析;在训练时间充裕且样本效率重要时,PPO 通常是更好的默认选择。与 Soft Actor-CriticDDPG异策略actor-critic方法相比,A2C 无法复用旧转移,因此在困难的连续控制基准上样本效率明显较差,但稳定性和分布式训练的便利性往往更好。

    局限性

    A2C 继承了同策略方法的核心弱点:每个转移在被丢弃前仅用于一次梯度更新,因此样本效率较异策略方法低。同步设计还意味着 worker 池中最慢的环境会拖慢其他所有环境,当回合长度或耗时差异较大时这会成为问题。该算法对系数和值损失系数较为敏感:熵太小会导致策略过早收敛到确定但次优的策略,熵太大则会阻碍对 critic 学到的结构的利用。最后,由于两个网络在共享底层的同时基于相同的轨迹训练,值损失可能在训练早期占主导地位,使策略缺乏有用的梯度信号——这也是大多数现代实现倾向于使用具有独立网络的 PPO 的原因之一。

    参考文献

    1. Template:Cite arxiv
    2. Template:Cite arxiv
    3. Template:Cite arxiv
    4. Wu, Y., Mansimov, E., Liao, S., Grosse, R., Ba, J. "Scalable Trust-Region Method for Deep Reinforcement Learning Using Kronecker-Factored Approximation," 2017.