SAC : 具有随机Actor的离策略最大熵深度强化学习
温馨提示:
本篇文章已同步至"AI专题精讲" SAC : 具有随机Actor的离策略最大熵深度强化学习
摘要
无模型的深度强化学习(RL)算法已在一系列具有挑战性的决策与控制任务中取得了成果。然而,这些方法通常面临两个主要挑战:极高的样本复杂度和收敛性能的不稳定性,这就需要对超参数进行精细调整。这两个问题严重限制了此类方法在复杂现实世界场景中的适用性。
在本文中,我们提出了Soft Actor-Critic(SAC),这是一种基于最大熵强化学习框架的离策略 actor-critic 深度RL算法。在该框架中,actor 的目标是在最大化期望奖励的同时最大化策略熵,也就是说,在尽可能成功地完成任务的同时,尽可能以随机的方式执行动作。
先前基于该框架的深度RL方法多以 Q-learning 方式实现。而我们的方法通过将离策略更新与稳定的随机 actor-critic 构型结合,在多个连续控制基准任务上达到了当前最优性能,超过了以往的离策略与在策略方法。此外,我们还展示了,相较于其他离策略算法,我们的方法非常稳定,在不同的随机种子下表现也高度一致。
1 引言
无模型的深度强化学习(RL)算法已经在多个具有挑战性的领域中得到了应用,从游戏(Mnih 等,2013;Silver 等,2016)到机器人控制(Schulman 等,2015)。将RL与高容量的函数逼近器(如神经网络)结合,有望自动化各种决策与控制任务,但在现实世界中的广泛应用却受到两个关键问题的阻碍:
首先,无模型深度RL方法在样本使用效率方面代价高昂。即便是相对简单的任务,也可能需要数百万步的数据采集,而面对高维观测下的复杂行为,则可能需要更多数据。
其次,这些方法对超参数(如学习率、探索常数等)极为敏感:不同的问题设置往往需要精细调整,才能获得良好的结果。这两个问题严重限制了模型在现实任务中的应用能力。
深度RL方法样本效率低的一个原因是在策略学习:如 TRPO(Schulman 等,2015)、PPO(Schulman 等,2017b)和 A3C(Mnih 等,2016)等广泛使用的深度RL算法,在每一步梯度更新中都需要采集新的样本。随着任务复杂性的提升,学习一个有效策略所需的梯度步数和每步样本数量都会迅速增长,这种策略会变得极其昂贵。
而离策略算法的目标是复用过去经验。尽管在传统策略梯度方法中实现较为困难,但在Q-learning方法中相对简单(Mnih 等,2015)。不幸的是,将离策略学习与神经网络的高维非线性函数逼近结合,会带来严重的稳定性和收敛性挑战(Bhatnagar 等,2009)。这种挑战在连续状态和动作空间中尤为突出,此时通常需要单独的actor网络来完成Q-learning中的最大化操作。在这种设定下,常用算法如深度确定性策略梯度(DDPG)(Lillicrap 等,2015)虽然具备一定的样本效率,但极其难以调优,且对超参数极度敏感(Duan 等,2016;Henderson 等,2017)。
我们探索如何为连续状态与动作空间设计一种高效且稳定的无模型深度RL算法。为此,我们借鉴最大熵框架,该框架在标准最大化奖励的目标上引入了熵最大化项(Ziebart 等,2008;Toussaint,2009;Rawlik 等,2012;Fox 等,2016;Haarnoja 等,2017)。虽然最大熵RL修改了传统RL目标,但可以通过一个温度参数将其恢复(Haarnoja 等,2017)。更重要的是,最大熵形式在探索性和鲁棒性方面带来了显著改善:正如 Ziebart(2010)所指出,最大熵策略在模型误差和估计误差面前表现更为稳健;Haarnoja 等(2017)则展示了它如何通过学习多样化行为来提升探索效率。
此前工作提出了一些基于最大熵的深度RL算法,如带有熵正则项的在策略方法(O’Donoghue 等,2016),以及基于 soft Q-learning 的离策略方法及其变体(Schulman 等,2017a;Nachum 等,2017a;Haarnoja 等,2017)。然而,在策略变体存在前述的样本复杂度问题,而离策略变体则在连续动作空间中需要复杂的近似推断过程。
本文中,我们展示了可以设计出一种离策略的最大熵 actor-critic 算法,我们称之为 Soft Actor-Critic(SAC),它同时具备高样本效率与稳定性。该算法能够很好地扩展到如 Humanoid(Duan 等,2016)这类动作维度高达21的复杂高维任务,而传统离策略方法如 DDPG 在这类任务中往往难以获得良好表现(Gu 等,2016)。SAC 还避免了基于 soft Q-learning 的先前离策略最大熵方法中常见的复杂性和潜在不稳定问题(Haarnoja 等,2017)。
我们为最大熵框架中的策略迭代提供了收敛性证明,并基于该过程的一个可实际实现的近似方案,提出了Soft Actor-Critic算法。我们的实验证明 SAC 在多个任务中都能在性能与样本效率方面显著优于以往的在策略与离策略方法。我们还将其与一项同时期的研究成果——Twin Delayed Deep Deterministic Policy Gradient(TD3)算法(Fujimoto 等,2018)进行比较,后者是一种显著改进 DDPG 的确定性策略梯度方法。
2. 相关工作
我们的 Soft Actor-Critic 算法融合了三个关键要素:采用独立的策略网络与价值函数网络的 actor-critic 架构、允许重用以往收集数据以提高效率的离策略形式、以及通过最大化熵来增强稳定性与探索能力。
本节我们回顾先前在这些方向上提出的相关工作。
Actor-critic 算法通常是从策略迭代(policy iteration)出发推导得到的,该过程在于交替进行策略评估(计算一个策略的价值函数)与策略改进(使用价值函数推导更优策略)(Barto 等,1983;Sutton & Barto,1998)。在大规模强化学习问题中,这两个过程通常无法精确地运行到收敛,因此策略与价值函数需联合优化。在这种情形下,策略被称为 actor,而价值函数被称为 critic。
许多 actor-critic 算法都基于标准的、在策略的策略梯度形式来更新 actor(Peters & Schaal,2008),其中也有一些考虑了策略的熵,但它们通常并不是最大化熵,而是将其作为一个正则项(Schulman 等,2015,2017b;Mnih 等,2016;Gruslys 等,2017)。在策略训练通常更稳定,但样本复杂度较差。
也有一些研究尝试通过引入离策略样本和更高级的方差缩减技术,在保持鲁棒性的同时提升样本效率(O’Donoghue 等,2016;Gu 等,2016)。然而,完全离策略的算法在效率方面仍然表现更佳。
其中一个较为流行的离策略 actor-critic 方法是 DDPG(Lillicrap 等,2015),它是确定性策略梯度(deterministic policy gradient)(Silver 等,2014)算法的深度版本,使用一个 Q 函数估计器进行离策略学习,以及一个最大化该 Q 函数的确定性 actor。因此,该方法既可以被看作是一种确定性 actor-critic 算法,也可以被视为一种近似的 Q-learning 算法。
不幸的是,确定性 actor 网络与 Q 函数之间的耦合关系通常导致 DDPG 极难稳定,并且对超参数极为敏感(Duan 等,2016;Henderson 等,2017)。因此,将 DDPG 扩展至复杂高维任务是非常困难的,在此类设定下,在策略的策略梯度方法通常仍表现最佳(Gu 等,2016)。
我们的方法则结合了离策略的 actor-critic 训练与随机策略(stochastic actor),并进一步通过熵最大化目标来最大化策略的熵。我们发现,这实际上产生了一种更加稳定且可扩展的算法,在实践中,其效率与最终性能都优于 DDPG。
一种类似的方法可以从随机值梯度(Stochastic Value Gradient, SVG(0))(Heess 等,2015)中推导为零步特例(zero-step special case)。然而,SVG(0) 与我们的算法不同,它优化的是标准的最大期望回报目标,且不使用独立的价值网络,而我们发现独立的价值网络能使训练更为稳定。
最大熵强化学习的目标是学习在最大化期望回报的同时,最大化策略的期望熵。这一框架已经在许多领域中被采用,从逆强化学习(Ziebart 等,2008)到最优控制(Todorov,2008;Toussaint,2009;Rawlik 等,2012)。在引导式策略搜索(guided policy search)中(Levine & Koltun,2013;Levine 等,2016),最大熵分布被用来引导策略学习向高奖励区域靠拢。
近年来,一些研究指出了 Q-learning 与策略梯度方法在最大熵学习框架中的联系(O’Donoghue 等,2016;Haarnoja 等,2017;Nachum 等,2017a;Schulman 等,2017a)。尽管大多数此前的无模型方法假设动作空间是离散的,Nachum 等(2017b)使用高斯分布对最大熵分布进行近似,Haarnoja 等(2017)则训练一个采样网络从最优策略中采样。
虽然 Haarnoja 等(2017)提出的 soft Q-learning 算法使用了价值函数和 actor 网络,但它并不是一个真正意义上的 actor-critic 算法:Q 函数在估计最优 Q 函数,而 actor 并不直接影响 Q 函数,只是通过数据分布间接作用。因此,Haarnoja 等(2017)将 actor 网络视为近似采样器,而非 actor-critic 架构中的 actor。关键在于,该方法的收敛性取决于该采样器对真实后验的逼近程度。
相比之下,我们的方法从给定的策略类别中收敛于最优策略,而不依赖于策略参数化的具体形式。此外,之前的最大熵方法通常无法在从头训练的情况下超越如 DDPG 这类最先进的离策略算法,尽管它们可能在探索能力和微调便利性方面具有优势。
而在我们的实验中,我们展示了 Soft Actor-Critic 算法确实在性能上显著超越了此前最先进的离策略深度强化学习方法。
3. 预备知识
我们首先介绍符号记法,并简要总结标准强化学习与最大熵强化学习的框架。
3.1 记号
我们关注的是连续动作空间中的策略学习问题。我们考虑一个无限时间范围的马尔可夫决策过程(Markov Decision Process, MDP),其由四元组 (S,A,p,r)(\mathcal{S}, \mathcal{A}, p, r)(S,A,p,r) 定义,其中状态空间 S\mathcal{S}S 和动作空间 A\mathcal{A}A 是连续的,未知的状态转移概率 p:S×S×A→[0,∞)p : \mathcal{S} \times \mathcal{S} \times \mathcal{A} \rightarrow \lbrack 0 , \, \infty )p:S×S×A→[0,∞) 表示在给定当前状态 st∈Ss_t \in \mathcal{S}st∈S 与动作 at∈Aa_t \in \mathcal{A}at∈A 的条件下,下一状态 st+1∈Ss_{t+1} \in \mathcal{S}st+1∈S 的概率密度。
环境在每次转移时提供一个有界的奖励 r:S×A→[rmin,rmax]r : \mathcal{S} \times \mathcal{A} \rightarrow [r_{\text{min}}, r_{\text{max}}]r:S×A→[rmin,rmax]。
我们使用 ρπ(st)\rho_{\pi}(s_t)ρπ(st) 与 ρπ(st,at)\rho_{\pi}(s_t, a_t)ρπ(st,at) 分别表示由策略 π(at∣st)\pi(a_t \mid s_t)π(at∣st) 所诱导的轨迹分布中的状态边缘分布与状态-动作联合分布。
3.2 最大熵强化学习
标准强化学习的目标是最大化期望累积奖励:
∑tE(st,at)∼ρπ[r(st,at)]\sum_t \mathbb{E}_{(s_t, a_t) \sim \rho_{\pi}} \left[ r(s_t, a_t) \right] t∑E(st,at)∼ρπ[r(st,at)]
我们考虑一个更一般化的最大熵目标函数(例如,Ziebart (2010)),该目标通过在状态分布 ρπ(st)\rho_{\pi}(s_t)ρπ(st) 上引入策略熵的期望,从而鼓励学习随机策略:
J(π)=∑t=0TE(st,at)∼ρπ[r(st,at)+αH(π(⋅∣st))](1)J ( \pi ) = \sum _ { t = 0 } ^ { T } \mathbb { E } _ { ( \mathbf { s } _ { t } , \mathbf { a } _ { t } ) \sim \rho _ { \pi } } \left[ r ( \mathbf { s } _ { t } , \mathbf { a } _ { t } ) + \alpha \mathcal { H } ( \pi ( \cdot | \mathbf { s } _ { t } ) ) \right]\quad(1) J(π)=t=0∑TE(st,at)∼ρπ[r(st,at)+αH(π(⋅∣st))](1)
温度参数 α\alphaα 决定了熵项相对于奖励的重要性,从而控制了最优策略的随机性。最大熵目标函数不同于传统强化学习中使用的标准最大期望奖励目标,不过当 α→0\alpha \rightarrow 0α→0 时,可以恢复为传统目标函数。在本文的其余部分,我们将省略对温度参数的显式书写,因为它始终可以通过将奖励按 α−1\alpha^{-1}α−1 缩放来吸收进奖励项中。
该目标函数在概念上和实践中都具有诸多优势。首先,策略会被激励去更广泛地探索,同时放弃明显没有希望的方向。其次,策略能够捕捉多种近似最优的行为模式。在某些情形下,如果多个动作看起来同样具有吸引力,策略将会对这些动作分配相等的概率质量。最后,已有研究表明,该目标函数在探索性上表现更好(Haarnoja et al., 2017;Schulman et al., 2017a),而我们的实验也观察到,与优化传统RL目标函数的先进方法相比,它显著提升了学习速度。
我们可以通过引入折扣因子 γ\gammaγ 将该目标扩展至无限时域问题,以确保期望奖励与熵之和是有限的。对于无限时域折扣场景下的最大熵目标函数,其形式更为复杂(Thomas, 2014),相关推导将在附录A中详细介绍。
已有方法尝试通过直接求解最优Q函数来间接获得最优策略(Ziebart et al., 2008;Fox et al., 2016;Haarnoja et al., 2017)。而我们将讨论如何通过**策略迭代(policy iteration)**的形式来设计一个soft actor-critic算法,其中我们评估当前策略的Q函数,并通过离策略梯度更新(off-policy gradient update)来更新策略。虽然这类算法在传统强化学习中已有提出,但据我们所知,我们的方法是第一个在最大熵强化学习框架下实现的离策略actor-critic算法。
4. 从Soft策略迭代到Soft Actor-Critic
我们的离策略soft actor-critic算法可以从最大熵版本的策略迭代方法出发进行推导。我们将首先给出该推导过程,验证相应的算法能够从其概率密度类(density class)中收敛到最优策略,并随后基于这一理论提出一个可实际应用的深度强化学习算法。
4.1 Soft策略迭代的推导
我们将从推导soft策略迭代开始,它是一种用于学习最优最大熵策略的一般算法,在最大熵框架下交替进行策略评估与策略改进。为了便于理论分析与收敛性保证,我们的推导基于表格型设置,而我们将在下一节将此方法扩展至一般的连续空间情形。我们将证明,soft策略迭代可以在一组策略内收敛到最优策略,这组策略可能对应于一组参数化的概率密度分布。
在soft策略迭代的策略评估步骤中,我们希望根据式(1)中的最大熵目标函数来计算策略π的价值。对于一个固定策略,soft Q值可以通过迭代计算得到,起始于任意函数 Q:S×A→RQ : S \times A \rightarrow \mathbb{R}Q:S×A→R,反复应用一个被称为 TπT^\piTπ 的修改版Bellman备份算子:
TπQ(st,at)≜r(st,at)+γEst+1∼p[V(st+1)](2)T^\pi Q(s_t, a_t) \triangleq r(s_t, a_t) + \gamma \mathbb{E}_{s_{t+1} \sim p} \left[ V(s_{t+1}) \right] \quad(2) TπQ(st,at)≜r(st,at)+γEst+1∼p[V(st+1)](2)
其中,
V(st)=Eat∼π[Q(st,at)−logπ(at∣st)](3)V(s_t) = \mathbb{E}_{a_t \sim \pi} \left[ Q(s_t, a_t) - \log \pi(a_t | s_t) \right] \quad(3) V(st)=Eat∼π[Q(st,at)−logπ(at∣st)](3)
是soft状态值函数。我们可以通过反复应用 TπT^\piTπ 来获得任意策略π的soft值函数,形式化如下。
引理1(Soft策略评估)
考虑式(2)中定义的soft Bellman备份算子 TπT^\piTπ,以及映射 Q0:S×A→RQ^0 : S \times A \rightarrow \mathbb{R}Q0:S×A→R,其中 ∣A∣<∞|A| < \infty∣A∣<∞,定义 Qk+1=TπQkQ^{k+1} = T^\pi Q^kQk+1=TπQk。则序列 QkQ^kQk 将在 k→∞k \rightarrow \inftyk→∞ 时收敛于策略π的soft Q值。
证明:见附录B.1。
在策略改进步骤中,我们将策略更新为当前Q函数指数形式的分布。这种特定的更新选择可以保证策略在soft值方面有所提升。由于实际应用中我们偏好可处理的策略,因此我们会将策略限制在某一类策略集合Π中,例如参数化的分布族如高斯分布。为了考虑策略π属于Π的约束,我们将改进后的策略投影回目标策略集合Π中。尽管原则上可以选择任意的投影方式,但实践中使用基于Kullback-Leibler散度的信息投影(information projection)会更为方便。换句话说,在策略改进步骤中,对于每个状态,我们按如下方式更新策略:
πnew=argminπ′∈ΠDKL(π′(⋅∣st)∥exp(Qπold(st,⋅))Zπold(st))(4)\pi_{\text{new}} = \arg\min_{\pi' \in \Pi} D_{\text{KL}} \left( \pi'( \cdot | s_t) \, \Big\| \, \frac{\exp(Q^{\pi_{\text{old}}}(s_t, \cdot))}{Z^{\pi_{\text{old}}}(s_t)} \right) \quad(4) πnew=argπ′∈ΠminDKL(π′(⋅∣st)Zπold(st)exp(Qπold(st,⋅)))(4)
其中分区函数 Zπold(st)Z^{\pi_{\text{old}}}(s_t)Zπold(st) 用于将分布正规化。虽然一般来说这是不可解析的,但它不会对新策略的梯度造成影响,因此可以忽略(我们将在下一节说明)。对于此投影,我们可以证明:新投影后的策略在soft目标函数下的值高于旧策略。我们将这一结果形式化如下:
引理2(Soft策略改进)
令 πold∈Π\pi_{\text{old}} \in \Piπold∈Π,且令 πnew\pi_{\text{new}}πnew 为式(4)中定义的最小化问题的解,则对于所有 (st,at)∈S×A(s_t, a_t) \in S \times A(st,at)∈S×A,有:
Qπnew(st,at)≥Qπold(st,at)Q^{\pi_{\text{new}}}(s_t, a_t) \geq Q^{\pi_{\text{old}}}(s_t, a_t) Qπnew(st,at)≥Qπold(st,at)
证明:见附录B.2。
完整的soft策略迭代算法交替执行soft策略评估与soft策略改进步骤,并且可以被证明收敛于策略集合Π中的最优最大熵策略(定理1)。虽然该算法能够理论上找到最优解,但我们只能在表格型问题中精确地执行该算法。因此,在连续域中我们必须对该算法进行近似,在该情形下我们需要使用函数逼近器表示Q值,并且反复执行两个步骤直到收敛的计算开销太大。该近似过程引出了一个新的可实用算法,称为soft actor-critic。
定理1(Soft策略迭代)
从任意 π∈Π\pi \in \Piπ∈Π 出发,反复应用soft策略评估与soft策略改进将收敛于某一策略 π∗\pi^*π∗,使得对于所有 π∈Π\pi \in \Piπ∈Π 和 (st,at)∈S×A(s_t, a_t) \in S \times A(st,at)∈S×A 有:
Qπ∗(st,at)≥Qπ(st,at)Q^{\pi^*}(s_t, a_t) \geq Q^{\pi}(s_t, a_t) Qπ∗(st,at)≥Qπ(st,at)
前提是 ∣A∣<∞|A| < \infty∣A∣<∞。
温馨提示:
阅读全文请访问"AI深语解构" SAC : 具有随机Actor的离策略最大熵深度强化学习