Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
论文笔记:https://zhuanlan.zhihu.com/p/85003758,https://zhuanlan.zhihu.com/p/131625682
ICML 2018
Abstract
无模型的深度RL算法已在一系列具有挑战性的决策和控制任务中得到证明。但是,这些方法通常面临两个主要挑战:极高的样本复杂度和脆弱的收敛性,这需要进行精细的超参数调整。这两个挑战都严重限制了此类方法在复杂的实际领域中的适用性。在本文中,我们提出了SAC,一种基于最大熵RL框架的异策actor-critic深度RL算法。在这个框架中,actor的目标是最大化期望奖励,同时也最大化熵。也就是说,要在完成任务的同时尽可能随机地采取动作。先前基于该框架的深度RL方法已被公式化为Q学习方法。通过将异策更新与稳定且随机的actor-critic公式相结合,我们的方法可在一系列连续控制基准任务上实现最先进的性能,优于以前的同策和异策方法。此外,我们证明,与其他异策算法相比,我们的方法非常稳定,在不同的随机种子上实现了非常相似的性能。
1. Introduction
从游戏(Mnih et al., 2013; Silver et al., 2016)到机器人控制(Schulman et al., 2015),无模型深度RL算法已应用于一系列具有挑战性的领域。RL和高容量函数近似(例如神经网络)的组合有望实现广泛的决策和控制任务自动化,但是在现实世界中广泛采用这些方法受到两个主要挑战的阻碍。首先,就样本复杂度而言,无模型的深度RL方法非常昂贵。甚至相对简单的任务也可能需要数百万步的数据收集,而具有高维观测的复杂行为可能还需要更多。其次,这些方法相对于它们的超参数通常很脆弱:学习率,探索常数和其他设置必须针对不同的问题设置进行仔细设置才能获得良好的结果。这两个挑战都严重限制了无模型深度RL在实际任务中的适用性。
同策学习是造成深度RL方法样本效率低的一个原因:一些最常用的深度RL算法,例如TRPO(Schulman et al., 2015),PPO(Schulman et al., 2017b)或A3C(Mnih et al., 2016),要求每个梯度步骤都要收集新样本。随着学习任务的复杂性,学习有效策略所需的梯度步骤和每个步骤中样本的数量迅速增加,这很快变得非常昂贵。异策算法旨在重用过去的经验。对于常规的策略梯度公式而言,这是不直接可行的,但对于基于Q学习的方法而言则相对简单(Mnih et al., 2015)。不幸的是,将异策学习与高维非线性函数近似与神经网络相结合,对稳定性和收敛性提出了重大挑战(Bhatnagar et al., 2009)。在连续状态和动作空间中,这一挑战进一步加剧,其中通常使用单独的actor网络来执行Q学习中的最大化。在这种情况下,常用的算法是深度确定性策略梯度(DDPG)(Lillicrap et al., 2015),它提供了高效采样的学习方法,但由于其极度的脆弱性和超参数敏感性而难以使用(Duan et al., 2016; Henderson et al., 2017)。
我们探索如何为连续状态和动作空间设计高效且稳定的无模型深度RL算法。为此,我们借鉴了最大熵框架,该框架通过熵最大化项扩展了标准最大奖励RL目标(Ziebart et al., 2008; Toussaint, 2009; Rawlik et al., 2012; Fox et al., 2016; Haarnoja et al., 2017)。尽管可以使用温度参数恢复原始目标,但最大熵RL会改变RL目标(Haarnoja et al., 2017)。更重要的是,最大熵公式在探索和鲁棒性方面提供了实质性的改进:正如Ziebart (2010)所讨论的那样,面对模型和估计误差,最大熵策略是鲁棒的,并且(Haarnoja et al., 2017)证明了这一点,他们通过获取多种行为来改进探索。先前的工作提出了一种无模型深度RL算法,该算法可以执行具有熵最大化的同策学习(O'Donoghue et al., 2016),以及基于soft Q学习及其变体的异策方法(Schulman eet al., 2017a; Nachum et al., 2017a; Haarnoja et al., 2017)。但是,出于上述原因,同策变体遭受了较差的样本复杂性,而异策变体在连续动作空间中需要复杂的近似推断过程。
在本文中,我们证明了我们可以设计一种异策最大熵actor-critic算法,我们将其称为soft actor-critic (SAC),该算法可提供高效的样本学习和稳定性。该算法很容易扩展到非常复杂的高维度任务,例如Humanoid基准(Duan et al., 2016),具有21个动作维度,而DDPG等异策方法通常很难获得良好的结果(Gu et al., 2016)。SAC还避免了先前基于soft Q学习的异策最大熵算法中与近似推断相关的复杂性和潜在不稳定性(Haarnoja et al., 2017)。我们为最大熵框架中的策略迭代提供了收敛证明,然后介绍了一种基于近似于此过程的新算法,该算法可以用深度神经网络实际实现,我们将其称为SAC。我们提供的经验结果表明,与异策和同策的现有方法相比,对SAC在性能和样本效率上均取得了显著改进。我们还比较了双延迟深度确定性(TD3)策略梯度算法(Fujimoto et al., 2018),该算法是一项并行工作,提出了对DDPG进行实质性改进的确定性算法。
2. Related Work
我们的SAC算法融合了三个关键要素:具有独立策略和价值函数网络的actor-critic结构,能够重用以前收集的数据以提高效率的异策公式,以及可以实现稳定性和探索性的熵最大化。我们将在本节中回顾利用这些思想的先前工作。actor-critic算法通常从策略迭代开始得出,策略迭代在策略评估(计算策略的价值函数)和策略改进(使用价值函数获得更好的策略)之间交替进行(Barto et al., 1983; Sutton&Barto, 1998)。在大规模RL问题中,通常这些步骤中的任何一个是无法收敛的,而是要将价值函数和策略共同优化。在这种情况下,将策略称为actor,将价值函数称为critic。许多actor-critic算法都建立在标准同策策略梯度公式基础上,以更新actor(Peters&Schaal, 2008),其中许多工作还考虑了策略的熵,但是他们没有使用它来最大化熵,而是使用它作为正则化器(Schulman et al., 2017b; 2015; Mnih et al., 2016; Gruslys et al., 2017)。异策训练倾向于提高稳定性,但会导致样本复杂性较差。
人们一直在努力通过结合异策样本和使用高阶方差减少技术来在保持鲁棒性的同时提高样本效率(O'Donoghue et al., 2016; Gu et al., 2016)。但是,完全异策的算法仍然可以获得更好的效率。DDPG(Lillicrap et al., 2015)是确定性策略梯度算法(Silver et al., 2014)的深度变体,它是一种特别流行的异策actor-critic方法,使用Q函数估计来启用异策学习,以及能够使得Q函数最大化的确定性actor。该方法既可以看作是确定性actor-critic算法,又可以看作是近似Q学习算法。不幸的是,确定性actor网络与Q函数之间的相互作用通常使DDPG极难稳定且对超参数设置敏感(Duan et al., 2016; Henderson et al., 2017)。作为结果,很难将DDPG扩展到复杂高维任务,并且在这种情况下同策策略梯度方法仍然倾向于产生最好的结果(Gu et al., 2016)。相反,我们的方法将异策actor-critic训练与随机actor结合起来,并进一步旨在通过最大化熵的目标来最大化该actor的熵。我们发现,这实际上导致了相当稳定且可扩展的算法,实际上,该算法超过了DDPG的效率和最终性能。随机价值梯度的零步特例(SVG(0))可以导出类似的方法(Heess et al., 2015)。但是,SVG(0)与我们的方法不同之处在于,它优化了标准最大期望回报目标,并且没有利用单独的价值网络,我们发现这会使训练更加稳定。
最大熵RL可优化策略,以最大化策略的期望回报和期望熵。从逆向RL(Ziebart et al., 2008)到最优控制(Todorov, 2008; Toussaint, 2009; Rawlik et al., 2012),该框架已在许多情况下使用。在指导性策略搜索中(Levine&Koltun, 2013; Levine et al., 2016),最大熵分布用于指导策略学习向高奖励区域发展。最近,有几篇论文指出了在最大熵学习框架下Q学习和策略梯度方法之间的联系(O'Donoghue et al., 2016; Haarnoja et al., 2017; Nachum et al., 2017a; Schulman et al., 2017a)。虽然大多数先前无模型工作都假设了离散动作空间,但Nachum et al. (2017b)用高斯分布和Haarnoja et al. (2017)的方法估计最大熵分布,其中采样网络经过训练后可以从最优策略中抽取样本。尽管Haarnoja et al. (2017)提出的soft Q学习算法有一个价值函数和actor网络,它不是一个真正的actor-critic算法:Q函数估计最优Q函数,actor除了通过数据分布外不会直接影响Q函数。因此,Haarnoja et al. (2017)激励actor网络是一个近似采样器,而不是actor-critic算法中的actor。至关重要的是,该方法的收敛性取决于该采样器逼近真实后验的程度。相反,我们证明了,无论策略参数化如何,我们的方法都可以收敛到给定策略类的最优策略。此外,从头开始学习时,这些现有的最大熵方法通常不会超出最新的异策算法(例如DDPG)的性能,尽管它们可能还有其他好处,例如改进的探索性和微调的易行性。在我们的实验中,我们证明了我们的SAC算法实际上确实大大超过了现有的最新异策深度RL方法的性能。
3. Preliminaries
我们首先介绍符号并总结标准和最大熵RL框架。
3.1. Notation
我们致力于在连续动作空间中学习策略。我们考虑由元组(S, A, p, r)定义的无限视野马尔可夫决策过程(MDP),其中状态空间S和动作空间A是连续的,未知状态转移概率p:S x S x A → [0, ∞)表示在给定当前状态st ∈ S和动作at ∈ A时下一个状态st+1 ∈ S的概率密度。环境发出有界的回报r:S x A → [rmin, rmax]。我们将使用ρπ(st)和ρπ(st, at)来表示由策略π(at|st)引起的轨迹分布的状态和状态-动作边际。
3.2. Maximum Entropy Reinforcement Learning
标准RL使期望奖励总和最大化。我们将考虑一个更通用的最大熵目标(例如,Ziebart (2010)),该目标通过在ρπ(st)上策略的期望熵增大目标来支持随机策略:
温度参数α确定了熵项对奖励的相对重要性,从而控制了最优策略的随机性。最大熵目标不同于常规RL中使用的标准最大期望奖励目标,尽管常规目标可以在极限中恢复,即α → 0。在本文的其余部分,我们将省略显式编写温度,因为通过将奖励乘以α-1可以将其始终包含在奖励中。
该目标具有许多概念和实践优势。首先,鼓励该策略进行更广泛的探索,同时放弃显然毫无希望的途径。其次,该策略可以捕获接近最优行为的多种模式。在多个动作看起来同样具有吸引力的问题环境中,策略将向这些动作施加相等的概率密度。最后,先前的工作已经观察到了利用该目标的改进探索(Haarnoja et al., 2017; Schulman et al., 2017a),在我们的实验中,我们观察到与最新的优化传统RL目标函数的方法相比,它大大提高了学习速度。我们可以通过引入折扣因子γ来确保期望奖励和熵的总和是有限的,从而将目标扩展到无限视野问题。写下无限视野折扣案例的最大熵目标更为复杂(Thomas, 2014),这被推迟至附录A。
先前的方法已被提出来直接求解最优Q函数,从中可以恢复最优策略(Ziebart et al., 2008; Fox et al., 2016; Haarnoja et al., 2017)。我们将讨论如何通过策略迭代公式设计SAC算法(而不是评估当前策略的Q函数)并通过异策梯度更新来更新策略。尽管以前已经针对传统RL提出了这样的算法,但是据我们所知,我们的方法是最大熵RL框架中第一个异策actor-critic方法。
4. From Soft Policy Iteration to Soft Actor-Critic
可以从策略迭代方法的最大熵变体开始,得出我们的异策SAC算法。我们将首先介绍该推导,验证相应算法从其密度类别收敛到最优策略,然后根据此理论提出一种实用的深度RL算法。
4.1. Derivation of Soft Policy Iteration
我们将从推导soft策略迭代开始,这是一种用于学习最优最大熵策略的通用算法,该算法在最大熵框架中的策略评估和策略改进之间交替。我们的推导基于表格设置,以进行理论分析和收敛保证,并且在下一部分中,我们将该方法扩展到常规连续设置中。我们将显示soft策略迭代收敛到一组策略中的最优策略,该策略可能对应于例如一组参数化的密度。
在soft策略迭代的策略评估步骤中,我们希望根据等式1中的最大熵目标来计算策略π的价值。对于固定策略,可以从任何函数Q:S x A → R开始迭代计算soft Q值,并重复应用由给出的修改后的Bellman备份运算符Tπ:
其中, 是soft状态价值函数。我们可以通过重复应用下面形式化的Tπ来获得任何策略π的soft价值函数。
证明:见附录B.1。
在策略改进步骤中,我们将策略更新为新Q函数的指数。可以保证这种特定的更新选择可以在其soft价值方面带来改进的策略。由于在实践中我们喜欢易于处理的策略,因此我们将策略额外限制为某些策略集∏,例如可以对应于参数化分布族(例如高斯)。考虑到约束π ∈ Π,我们将改进的策略投影到所需的策略集中。虽然原则上我们可以选择任何投影,但是使用根据Kullback-Leibler散度定义的信息投影将变得很方便。换句话说,在策略改进步骤中,我们针对每个状态根据下式更新策略:
划分函数Zπold(st)对分布进行归一化,尽管它通常是很难处理的,但是它对新策略的梯度没有贡献,因此可以忽略,如下一节所述。对于此预测,我们可以证明,相对于等式1中的目标,新的投影策略具有比旧策略更高的价值。我们在引理2中将该结果形式化。
证明:见附录B.2。
完整的soft策略迭代算法在soft策略评估和soft策略改进步骤之间交替,并且可以证明收敛到∏中的最优最大熵策略(定理1)。尽管该算法将证明可以找到最优解决方案,但我们只能在表格形式下以其精确形式执行它。因此,接下来我们将对连续域的算法进行近似,其中我们需要依赖函数近似来表示Q值,然后运行这两个步骤直到收敛(这在计算上过于昂贵)。这种近似产生了一种新的实用算法,称为SAC。
证明:见附录B.3。
4.2. Soft Actor-Critic
如上所述,大的连续域要求我们得出对soft策略迭代的实际近似。为此,我们将对Q函数和策略使用函数近似,并且在进行随机梯度下降优化两个网络之间交替进行,而不是进行评估和改进收敛性。我们将考虑参数化状态价值函数VΨ(st),soft Q函数Qθ(st, at)和可处理策略πΦ(at|st)。这些网络的参数是Ψ,θ和Φ。例如,可以将价值函数建模为表示性神经网络,将策略建模为具有神经网络给定均值和协方差的高斯模型。接下来,我们将推导出这些参数向量的更新规则。
状态价值函数近似soft价值。原则上不需要为状态价值包括一个单独的函数近似,因为它与Q函数和根据等式3的策略有关。可以从当前策略的单个动作样本中估计该量,而无需引入偏差,但实际上,为soft价值包括一个单独的函数近似可以稳定训练,并且便于与其他网络同时训练。对soft价值函数进行了训练,以最小化平方残差:
其中D是先前采样的状态和动作或回放缓存的分布。可以使用无偏估计量来估计等式5的梯度:
其中动作根据当前策略(而不是回放缓存)采样。可以训练soft Q函数参数以最小化soft Bellman残差:
其中,这再次可以使用随机梯度进行优化:
该更新利用了目标价值网络,其中可以是价值网络权重的指数移动平均,这已证明可以稳定训练(Mnih et al., 2015)。另外,我们可以定期更新目标权重以匹配当前价值函数权重(请参见附录E)。最后,可以通过直接最小化等式4中的期望KL散度来学习策略参数:
有几种选择可以减小J。策略梯度方法的一种典型解决方案是使用似然率梯度估计(Williams, 1992),它不需要通过策略和目标密度网络对梯度进行反向传播。但是,在我们的情况下,目标密度是Q函数,可以通过可微神经网络来表示,因此使用重参数化技巧比较方便,从而导致方差估计较低。为此,我们使用神经网络转换对策略进行重参数化:
其中εt是输入噪声矢量,是从某个固定分布(例如球面高斯)采样的。现在我们可以将等式10中的目标重写为:
其中πΦ是根据fΦ隐式定义的,并且我们注意到划分函数独立于Φ,因此可以省略。我们可以用下式对等式12进行近似:
其中at在fΦ(εt; st)处估计。该无偏梯度估计将DDPG样式策略梯度(Lillicrap et al., 2015)扩展到任何可处理的随机策略。
我们的算法还利用两个Q函数来减轻策略改进步骤中的正偏差,这已知会降低基于价值的方法的性能(Hasselt, 2010; Fujimoto et al., 2018)。特别是,我们使用θi参数化两个Q函数,并对其进行独立训练以优化JQ(θi)。然后,我们根据Fujimoto et al. (2018)的建议,将Q函数的最小值用于等式6中的价值梯度和等式13中的策略梯度。尽管我们的算法仅使用一个Q函数就可以学习具有挑战性的任务,包括21维Humanoid,但我们发现两个Q函数可以显著加快训练速度,尤其是在较艰巨的任务上。完整的算法在算法1中进行了描述。该方法在以下两种方法之间交替进行:使用当前策略从环境中收集经验,并使用从回放缓存中采样的批次中的随机梯度更新函数近似。实际上,我们执行一个环境步骤,然后执行一个或几个梯度步骤(有关所有超参数,请参见附录D)。使用回放缓存中的异策数据是可行的,因为价值估计和策略都可以完全针对异策数据进行训练。 该算法与策略的参数化无关,只要可以针对任何任意状态-动作元组对其进行评估即可。
5. Experiments
我们的实验评估的目的是了解我们的方法的样本复杂性和稳定性如何与先前的异策和同策深度RL算法进行比较。我们将我们的方法与现有技术相比较,以解决OpenAI gym基准测试套件(Brockman et al., 2016)中一系列具有挑战性的连续控制任务以及Humanoid任务的rllab实现(Duan et al., 2016)。尽管可以通过各种各样的算法来解决更简单的任务,但是使用异策算法很难解决更复杂的基准,例如21维Humanoid (rllab) (Duan et al., 2016)。算法的稳定性在性能中也起着很大的作用:更轻松的任务使调整超参数以获得更好的结果变得更加实用,而对于最严格的基准上更敏感的算法而言,有效的超参数那本已狭窄的范围变得过小,从而导致性能不佳(Gu et al., 2016)。
我们将我们的方法与深度确定性策略梯度(DDPG)进行了比较(Lillicrap et al., 2015),该算法被认为是更有效的异策深度RL方法之一(Duan et al., 2016)。近端策略优化(PPO) (Schulman et al., 2017b),一种稳定有效的同策策略梯度算法;和soft Q学习(SQL) (Haarnoja et al., 2017),这是一种用于学习最大熵策略的最新异策算法。我们的SQL实现还包括两个Q函数,我们发现它们可以在大多数环境中提高其性能。我们还使用作者提供的实现与双延迟深度确定性策略梯度算法(TD3) (Fujimoto et al., 2018)进行了比较。这是对DDPG的扩展,是在我们的方法中同时提出的,它首先将双重Q学习技巧与其他改进一起应用于连续控制。我们在附录E中包含了信任域路径一致性学习(Trust-PCL) (Nachum et al., 2017b)和SAC的其他两个变体。我们取消了探索噪声,以评估DDPG和PPO。对于没有显式注入探索噪声的最大熵算法,我们要么利用探索噪声(SQL)进行评估,要么使用动作均值(SAC)。我们的SAC实现1和视频2的源代码可在线获得。
1 github.com/haarnoja/sac
2 sites.google.com/view/soft-actor-critic
5.1. Comparative Evaluation
图1显示了DDPG,PPO和TD3训练期间评估部署的总平均回报。我们用不同的随机种子训练每种算法的五个不同实例,每个实例每1000个环境步骤执行一次评估部署。实线对应于五次试验的均值和阴影区域,分别对应最小和最大回报。
结果表明,总体而言,SAC在较简单的任务上的性能与基准方法相当,在学习速度和最终性能方面,在较大难度的任务上均优于基准方法。例如,DDPG无法在Ant-v1,Humanoid-v1和Humanoid (rllab)上取得任何进展,这一结果得到了先前工作的证实(Gu et al., 2016; Duan et al., 2016)。SAC的学习速度也比PPO快得多,这是因为PPO需要在更高维度和更复杂的任务上稳定学习,因此需要大批量。另一个最大熵RL算法SQL也可以学习所有任务,但是它比SAC慢,并且渐进性能更差。在我们的实验中SAC获得的定量结果也与先前工作中其他方法报告的结果相比非常有利(Duan et al., 2016; Gu et al., 2016; Henderson et al., 2017),表明SAC在这些基准任务上的效率和最终性能都超出了现有技术水平。附录D中列出了此实验中用于SAC的所有超参数。
5.2. Ablation Study
上一节中的结果表明,基于最大熵原理的算法在具有挑战性的任务(例如humanoid任务)上可以胜过传统RL方法。在本节中,我们将进一步研究SAC的哪些特定组件对于提高性能至关重要。我们还研究了SAC对某些最重要的超参数(奖励缩放和目标价值更新平滑常数)的敏感程度。
Stochastic vs. deterministic policy. SAC通过最大熵目标来学习随机策略。熵同时出现在策略和价值函数中。在策略中,它可以防止策略方差过早收敛(等式10)。在价值函数中,它通过增加导致高熵行为的状态空间区域的价值来鼓励探索(等式5)。为了比较策略的随机性和熵最大化对性能的影响,我们比较了SAC的确定性变体——没有使熵最大化且与DDPG非常相似,除了具有两个Q函数之外,还使用硬目标更新(没有独立的目标actor),并且使用固定而非学到的探索噪声。图2比较了使用两个随机变量初始化的两个变体的五个独立运行。SAC表现更加一致,而确定性变体在种子之间表现出很高的变异性,表明稳定性较差。从图中可以明显看出,学习具有熵最大化的随机策略可以极大地稳定训练。这对于较艰巨的任务尤其重要,因为在这些任务中调整超参数具有挑战性。在此比较中,我们通过定期覆盖目标网络参数以匹配当前价值网络,通过硬更新来更新目标价值网络权重(请参阅附录E,以比较所有基准任务的平均性能)。
Policy evaluation. 由于SAC趋向于随机策略,因此最终确定最终策略以获得最优性能通常是有益的。为了进行评估,我们通过选择策略分布的均值来近似最大后验动作。图3(a)将训练回报与通过该策略获得的评估回报进行了比较,表明确定性评估可以产生更好的性能。应当注意,所有训练曲线都描述了奖励的总和,这与通过SAC和其他最大熵RL算法(包括SQL和Trust-PCL)优化的目标不同,这些算法也使策略的熵最大化。
Reward scale. SAC对奖励信号的缩放特别敏感,因为它充当基于能量的最优策略的温度的角色,从而控制其随机性。较大的奖励幅度对应于较低的条目。图3(b)显示了当奖励规模变化时学习性能的变化方式:对于较小的奖励幅度,该策略变得几乎统一,因此无法利用奖励信号,从而导致性能大幅下降。对于较大的奖励幅度,该模型首先会很快学习,但是随后该策略变得几乎是确定性的,由于缺乏足够的探索,导致较差的局部极小值。通过正确的奖励缩放,该模型可以平衡探索和开发,从而导致更快的学习和更好的渐近性能。在实践中,我们发现奖励幅度是唯一需要调整的超参数,它的自然解释是最大熵框架中温度的倒数为如何调整此参数提供了很好的直觉。
Target network update. 通常使用单独的目标价值网络来缓慢跟踪实际价值函数以提高稳定性。我们使用具有平滑常数τ的指数移动平均来更新目标价值网络权重,如先前工作中所常见(Lillicrap et al., 2015; Mnih et al., 2015)。τ值为1对应于硬更新,其中权重在每次迭代时直接复制,而τ值为0表示完全不更新目标。在图3(c)中,我们比较了τ变化时SAC的性能。大的τ会导致不稳定,而小的τ会导致训练变慢。但是,我们发现τ的适当值范围相对较大,并且在所有任务中使用相同的值(0.005)。在图4(附录E)中,我们还与SAC的另一个变体进行了比较,在SAC中,不使用指数移动平均,而是每隔1000个梯度步骤将当前网络权重直接复制到目标网络中。我们发现此变体得益于在环境步骤之间采取多个梯度步骤,这不仅可以提高性能,而且还增加了计算成本。
6. Conclusion
我们提出了一种soft actor-critic (SAC),一种异策最大熵深度RL算法,该算法可提供有效的样本学习,同时保留熵最大化和稳定性的好处。我们的理论结果得出了soft策略迭代,我们证明了它收敛到最优策略。根据此结果,我们可以制定一个SAC算法,并凭经验证明它优于最新的无模型深度RL方法,包括异策DDPG算法和同策PPO算法。实际上,这种方法的采样效率实际上大大超过了DDPG。我们的结果表明,随机熵最大化RL算法可以为改进鲁棒性和稳定性提供有前途的途径,并可以进一步探索最大熵方法,包括结合二阶信息的方法(例如,信任域(Schulman et al., 2015))或更具表现力的策略类别是未来工作的激动人心的途径。
A. Maximum Entropy Objective
折扣最大熵目标的确切定义由于以下事实而变得复杂:在将折扣因子用于策略梯度方法时,我们通常不对状态分布进行折扣,而仅对奖励进行折扣。从这个意义上讲,折扣策略梯度通常不会优化真正的折扣目标。取而代之的是,他们优化了平均奖励,而折扣则减少了方差,如Thomas (2014)所述。但是,我们可以将在折扣因子下优化的目标定义为:
此目标对应于最大化源自每个状态动作元组(st, at)的未来状态的折扣期望奖励和熵,该元组在当前策略下由其概率ρπ加权。
B. Proofs
B.1. Lemma 1
B.2. Lemma 2
B.3. Theorem 1
C. Enforcing Action Bounds
我们使用无界高斯作为动作分布。但是,实际上,这些动作需要限制在有限的时间间隔内。为此,我们对高斯样本应用了可逆压扁函数(tanh),并采用变量更改公式来计算有界动作的可能性。换句话说,令u ∈ RD为随机变量,而μ(u|s)为具有无限支持的相应密度。然后a = tanh(u),其中tanh逐元素应用,是一个随机变量,其支持度为(-1, 1),其密度为:
由于Jacobian da/du = diag(1 - tanh2(u))是对角的,因此对数似然具有简单形式:
其中ui是u的第 i 个元素。
D. Hyperparameters
表1列出了图1和图4的比较评估中使用的常见SAC参数。表2列出了针对每种环境调整的奖励规模参数。
E. Additional Baseline Results
图4将SAC与Trust-PCL进行了比较(图4)。Trust-PC如果运行更长的时间,最终可以解决更简单的任务(Nachum et al., 2017b),但它无法在给定的环境步骤数内解决大多数任务。该图还包括SAC的两个变体:一个变体,该变体定期直接复制目标价值网络权重,而不使用指数移动平均;而确定性消融在价值更新(等式6)和策略更新(等式13)中采用确定性策略,因此与DDPG非常相似,不同之处在于它具有两个Q函数,使用硬目标更新,没有单独的目标actor,使用固定而不是学到的探索噪声,这两种方法都可以学习所有任务,并且它们的执行速度与SAC相当(除Humanoid (rllab)任务外,SAC是最快的)。