论文地址,点这里
源码地址,点这里
参考:
soft Q-learning-v1
soft Q-learning-v2
soft Q-learning-v3

本人阅读目的:
这篇文章是Soft Actor-Critic的基础,建议在阅读SAC之前,先读懂这篇文章。(2017年发表于顶会ICML)
文章核心:证明Energy-based policyMaximum-entropy强化目标函数的最优解。

这篇文章在我们通常的强化目标的基础上,增了一项Entropy项,优化期望累计奖励的同时优化熵项。

以下是我第一次看到这个算法简介的时候心中的疑惑:
Q1Q1Q1:为什么要增加Entropy项呢?
见 Abstract第4点。

Q2Q2Q2:什么是能量模型(Energy-based model)?
参考:
能量模型:EBM

Q3Q3Q3:什么是麦克斯韦-玻尔兹曼分布
参考:
PDF推导过程
百度百科

Reinforcement Learning with Deep Energy-Based Policies

  • Abstract
  • 1.Introduce
  • 2.Preliminaries
    • 2.1.Maximum Entropy Reinforcement Learning
    • 2.2.Soft Value Functions and Energy-based Models
  • 3.Training Expressive Energy-Based Models via Soft Q-Learning
    • 3.1.Soft Q-Iteration
    • 3.2.Soft Q-Learning
    • 3.3.Approximate Sampling and Stein Variational Gradient Descent (SVGD)
    • 3.4.Algorithm Summary
  • 4.Related Work
  • 5.Experiments
  • 6.Discussion and Future Work

Abstract

  1. 作者提出了本文的核心算法——Soft Q-Learning算法。这是一种在最大化期望累计奖励的基础上,最大化熵项的算法,也就是说该算法的优化目标是累计奖励和熵(Entropy)的和(针对每一个step)。
  2. 我们旨在通过这个算法去学习一种可以在连续状态和动作空间下的目标策略函数——基于能量模型的策略,这个策略满足玻尔兹曼分布,我们在这个分布下对连续动作进行采样,然后输出这个动作。
  3. 但是这个分布下很难采样,因此作者通过变分梯度下降SVGD去训练一个和本文这个分布相同的神经网络,这样采样就变成了神经网络的输出,这样就容易多了。
  4. SQL的好处在于①探索性强:可以在多模态任务重找到最佳的方案,multimode就是Agents要去规划多个目标,比如既要走得快,又要找到宝藏。②更加鲁棒:目标中加入熵项会让Agent学习到所有动作,当环境中加入干扰噪声,那么之前规划好的动作可能就不能用了,那么此时就可以用其余动作。③组合性更强:通过最大熵,policy不仅仅学到一种解决任务的方法,而是所有all。因此这样的policy就更有利于去学习新的任务。比如我们一开始是学走,然后之后要学朝某一个特定方向走,意味着当前task训练的结果可以和其他task连接组合起来。

1.Introduce

作者指出先前一些算法的随机策略进行探索主要有2种形式:

  1. 启发式:比如DDPG的Actor输出,然后加上一个一维高斯噪声(OU噪声)。
  2. 高熵的探索策略:熵越大,体系不确定性越大,典型的比如uniform策略,每一种动作的概率都是相同的。

本文的强化学习算法最后优化出的策略也是随机策略,但是不同于上述2种,这种策略的得出需要修改经典的RL目标函数——最大化期望累计奖励。该随机策略如下图所示:

如上图所示:不同于确定性策略,那种输出是使得QQQ值最大对应的策略,输出的每个策略都是唯一确定的(即贪婪且确定)。SQL则不同,他的输出是一个玻尔兹曼分布,包括了每个动作的可能性,当然不同动作采样概率有高有低,概率大容易被采到并输出,概率小的较难被输出。
Note:
这里的随机策略和我们之前接触的随机策略,比如softmax策略、一维高斯策略、多维高斯策略不一样,这三种虽然都是随机策略,但是通过训练,在某个状态输出的动作都是一个确定性动作,或者是在确定性动作基础上有个小的噪声加成变动。而SQL的这种随机策略通过训练最后输出的是一个分布!

这样做的好处就是:

  1. 某个任务输出的这种策略可以作为下个任务的初始化策略。比如Agent第一个任务是学会向前走,然后就可以用学会的这种策略作为下个任务:跑和跳的初始策略分布,通过进一步微调来达到学会跑跳任务的目标。
  2. 这种较好的探索机制可以在多模式任务(比如既要Agents走得好,又要节约能源)中寻找出
  3. 抗干扰性更强,最典型的例子就是迷宫了,如下图示:
    本来已经找到最佳路径了,但是突然出现干扰,如果是Q-learning这种输出靠着最大QQQ对应的动作,那就完蛋了,Agent就会一直在干扰出徘徊。但是SQL就不一样了,它的策略是个概率分布,对于所有动作都会有被选择到的,只不过概率有高有低罢了。那么当遇到干扰,Agent就有机会找到下面这条路径,这就是SQL的一大优势。

Note:

  1. 对以上3个好处的详细解释参考:伯克利提出强化学习新方法,可让智能体同时学习多个解决方案

先前也有很多算法已经尝试过训练出这种随机策略(通过最大化熵目标),但要么就是无法应用于连续状态动作空间、高维空间,要么就是用一个简单的参数表示策略网络,比如高斯策略。因此本文将提出一种可以训练处应用于连续状态动作高维空间的随机策略。

这种随机策略是怎么来的呢?作者借鉴了基于能量的模型,也就是说将我们的策略刻画成能量模型(EBM)的样子,其中能量模型中的能量函数EEE相当于我们的soft-Q函数,这个软Q是最大化目标函数(含熵项)得来的。这个策略分布在高维下进行采样是很麻烦的一件事,因此作者提出训练一个近似EBM策略分布的神经网络,将采样近似等效成网络的输出,这样就不怕维度问题了!和之前的算法一样,这个采样网络可被更新,即EBM得到更新,另一方面用于动作选择。因为在基于AC算法中,这个采样网络就相当于Actor网络(policy-based算法中我们常用网络来表示策略π\piπ)。
因此作者指出了一个AC与Q-learning算法的关联:将熵作为正则化项的AC算法可以看成是一种近似的Q-learning算法,其中Actor网络相当于采样器。

2.Preliminaries

2.1.Maximum Entropy Reinforcement Learning

从这里开始慢慢引入正题了
我们之前的RL优化目标:
πstd∗=arg max⁡π∑tE(st,at)∼ρπ[r(st,at)](1)\pi_{std}^* = \argmax_\pi \mathop{\sum}\limits_t \mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[r(s_t,a_t)] \tag{1} πstd∗​=πargmax​t∑​E(st​,at​)∼ρπ​[r(st​,at​)](1)Note:

  1. ρ\rhoρ是遵循目标策略π\piπ下所产生的轨迹分布,是已经访问过的状态,即同轨策略分布。
  2. 个人认为RL的目标(objective)应该是最大化期望累计奖励(先期望再累加),也就是最大化QQQ值:πstd∗=arg max⁡πE(st,at)∼ρπ[∑tr(st,at)]\pi_{std}^* = \argmax_\pi \mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[\mathop{\sum}\limits_t r(s_t,a_t)]πstd∗​=πargmax​E(st​,at​)∼ρπ​[t∑​r(st​,at​)]

含熵优化目标:
πMaxEnt∗=arg max⁡π∑tE(st,at)∼ρπ[r(st,at)+αH(π(⋅∣st))](2)\pi_{MaxEnt}^* = \argmax_\pi \mathop{\sum}\limits_t \mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[r(s_t,a_t) + \alpha \mathcal{H}(\pi(\cdot|s_t))] \tag{2} πMaxEnt∗​=πargmax​t∑​E(st​,at​)∼ρπ​[r(st​,at​)+αH(π(⋅∣st​))](2)Note:

  1. 超参数α\alphaα用来决定单步奖励rrr相对熵项的重要性。当α→0\alpha\to0α→0,就变成了标准的RL目标。
  2. 同理,个人认为最大化含熵目标也应该是先期望后累加:πMaxEnt∗=arg max⁡πE(st,at)∼ρπ[∑tr(st,at)+αH(π(⋅∣st))]\pi_{MaxEnt}^* = \argmax_\pi \mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[\mathop{\sum}\limits_t r(s_t,a_t)+\alpha\mathcal{H}(\pi(\cdot|s_t))]πMaxEnt∗​=πargmax​E(st​,at​)∼ρπ​[t∑​r(st​,at​)+αH(π(⋅∣st​))]
  3. 这么做的意义在于,增加信息熵项,那么优化的时候,就会使得输出的每一个动作的概率尽量分散,因为在一个集合中,体系越混乱,种类越趋于平均,熵值越大。比如Uniform策略就是一个高熵值策略。
  4. 上述公式(1)(2)是没有设置折扣因子的,可通过增加折扣因子γ\gammaγ来完善上述公式(2),详见附录A,并且之后的讨论都是有折扣因子的。但个人认为附录A中的一些表达式似乎是有些问题,以下是我的见解,可以和附录A中的对比:
    对于含折扣因子的最优策略:πMaxEnt∗=arg max⁡π∑tE(st,at)∼ρπ[∑l=t∞γl−tE(sl,al)[r(sl,al)+αH(π(⋅∣sl))∣st,at]]同理:πMaxEnt∗=arg max⁡πE(st,at)∼ρπ[∑l=t∞γl−t(r(sl,al)+αH(π(⋅∣sl)))∣(st,at)]\pi^*_{MaxEnt}=\argmax_\pi\sum_t\mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[\sum^\infty_{l=t}\gamma^{l-t}\mathbb{E}_{(s_l,a_l)}[r(s_l,a_l)+\alpha\mathcal{H}(\pi(\cdot|s_l))|s_t,a_t]]\\同理:\pi^*_{MaxEnt}=\argmax_\pi\mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[\sum^\infty_{l=t}\gamma^{l-t}(r(s_l,a_l)+\alpha\mathcal{H}(\pi(\cdot|s_l)))|(s_t,a_t)]πMaxEnt∗​=πargmax​t∑​E(st​,at​)∼ρπ​[l=t∑∞​γl−tE(sl​,al​)​[r(sl​,al​)+αH(π(⋅∣sl​))∣st​,at​]]同理:πMaxEnt∗​=πargmax​E(st​,at​)∼ρπ​[l=t∑∞​γl−t(r(sl​,al​)+αH(π(⋅∣sl​)))∣(st​,at​)]然后是软QQQ,这个倒是没啥问题,和经典的贝尔曼等式差不多:Qsoftπ(s,a)=r0+Eτ∼π,s0=s,ao=a[∑t=1∞γt(rt+H(π(⋅∣st)))]τ=(s0,a0,s1,a1⋯)Q^\pi_{soft}(s,a)=r_0+\mathbb{E}_{\tau\sim\pi,s_0=s,a_o=a}[\sum^\infty_{t=1}\gamma^t(r_t+\mathcal{H}(\pi(\cdot|s_t)))]\\\tau=(s_0,a_0,s_1,a_1\cdots)Qsoftπ​(s,a)=r0​+Eτ∼π,s0​=s,ao​=a​[t=1∑∞​γt(rt​+H(π(⋅∣st​)))]τ=(s0​,a0​,s1​,a1​⋯)然后是性能度量(和原论文有出入):J(π)=∑tE(at,at)∼ρπ[r(st,at)+αH(π(⋅∣st))]同理:J(π)=E(st,at)∼ρπ[∑tr(st,at)+αH(π(⋅∣st))]\mathbf{J}(\pi)=\sum_t\mathbb{E}_{(a_t,a_t)\sim\rho^\pi}[r(s_t,a_t)+\alpha\mathcal{H}(\pi(\cdot|s_t))]\\同理:\mathbf{J}(\pi)=\mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[\mathop{\sum}\limits_t r(s_t,a_t)+\alpha\mathcal{H}(\pi(\cdot|s_t))]J(π)=t∑​E(at​,at​)∼ρπ​[r(st​,at​)+αH(π(⋅∣st​))]同理:J(π)=E(st​,at​)∼ρπ​[t∑​r(st​,at​)+αH(π(⋅∣st​))]

2.2.Soft Value Functions and Energy-based Models

最大化含熵目标函数给我们训练出随机策略提供了框架,接下来需要设计出一个策略模型来表示这个随机策略。作者选用了能量模型而非高斯模型,因为能量模型更加适用于复杂、多模式的任务。
基于能量模型的策略定义为:
π(at∣st)∝exp⁡(−E(st,at))(3)\pi(a_t|s_t) \propto \exp(-\mathcal{E}(s_t,a_t))\tag{3} π(at​∣st​)∝exp(−E(st​,at​))(3)
Note:

  1. 其中E\mathcal{E}E是能量模型的能量函数。作者将其设置为软Q函数,即E=−1αQsoft(st,at)\mathcal{E}= -\frac{1}{\alpha}Q_{soft}(s_t,a_t)E=−α1​Qsoft​(st​,at​)。因此,软QQQ函数在SQL中也叫负能量函数。
  2. EBM模型有个特点,就是exe^xex单调函数,也就是说,π\piπ的概率密度函数的大体趋势完全是跟着E\mathcal{E}E来的,即:
  3. 这里∝\propto∝的处理往往是除以一个归一化常量∫exp⁡(E(st,a))da\int \exp(\mathcal{E}(s_t,a))\mathrm{d}a∫exp(E(st​,a))da。

接下来给出了2个Theorem:(证明见原论文附录)
Theorem 1:
定义软QQQ和软VVV函数为:
Qsoft∗(st,at)=rt+E(st+1...)∼ρπ[∑∞l=1γl(rt+l+αH(πMaxEnt∗(⋅∣st+l)))](4)Q_{soft}^*(s_t, a_t) = r_t + \mathbb{E}_{(s_{t+1...})\sim\rho^\pi}[\mathop{\sum^\infty}\limits_{l=1}\gamma^l(r_{t+l}+\alpha\mathcal{H}(\pi^*_{MaxEnt}(\cdot|s_{t+l})))]\tag{4} Qsoft∗​(st​,at​)=rt​+E(st+1...​)∼ρπ​[l=1∑∞​​γl(rt+l​+αH(πMaxEnt∗​(⋅∣st+l​)))](4)Vsoft∗(st)=αlog⁡∫Aexp⁡(1αQsoft∗(st,a′))da′(5)V^*_{soft}(s_t)= \alpha\log\int_{\mathcal{A}}\exp(\frac{1}{\alpha}Q^*_{soft}(s_t, a'))\mathrm{d}a' \tag{5} Vsoft∗​(st​)=αlog∫A​exp(α1​Qsoft∗​(st​,a′))da′(5)那么最大化含熵目标的最优策略:
πMaxEnt∗(at∣st)=exp⁡(1α(Qsoft∗(st,at)−Vsoft∗(st)))(6)\pi^*_{MaxEnt}(a_t|s_t)=\exp(\frac{1}{\alpha}(Q^*_{soft}(s_t,a_t)-V^*_{soft}(s_t))) \tag{6} πMaxEnt∗​(at​∣st​)=exp(α1​(Qsoft∗​(st​,at​)−Vsoft∗​(st​)))(6)定理一证明如下:
Theorem 4(策略提升定理):
给定一个策略π\piπ,定义新策略π~\tilde{\pi}π~:
π~(⋅∣s)∝exp⁡(Qsoftπ(s,⋅)),\tilde{\pi}(\cdot|s)\propto\exp(Q^\pi_{soft}(s,\cdot)), π~(⋅∣s)∝exp(Qsoftπ​(s,⋅)),那么当QQQ和∫exp⁡(Q(s,a))da\int\exp(Q(s,a))\mathrm{d}a∫exp(Q(s,a))da都有界时,则对于∀s,a\forall s,a∀s,a有Qsoftπ~(s,a)≥Qsoftπ(s,a)Q_{soft}^{\tilde{\pi}}(s,a)\ge Q^\pi_{soft}(s,a)Qsoftπ~​(s,a)≥Qsoftπ​(s,a)。
Note:

  1. 要证明Theorem 1,需要先证明Theorem 4,在证明定理四之前,需要对式(4)做一个转换:用公式表达如下:
  2. 需要注意的是H\mathcal{H}H其实是从下个状态st+1s_{t+1}st+1​开始的。
  3. 上面是省略了温度系数α\alphaα,如果不省略的话,如下图所示:

定理四证明如下:(参考Sutton强化学习第四章策略提升)
Note:

  1. Vsoft(s)V_{soft}(s)Vsoft​(s)不含动作aaa,所以遇到对动作aaa的积分可以直接提出去。
  2. τ\tauτ做下标的这种写法并不是严格意义上期望下标的写法,在RL中他只是为了表达后面随机变量所需变量是哪些,是基于马尔科夫链的轨迹表示。他们并不是真正意义上的求和,而是拼在一起,因为求和对象的每一部分都是来自于不同的随机变量。或者也可以写成E<st,at,rt+1,st+1>∼ρπ~\mathbb{E}_{<s_t,a_t,r_{t+1},s_{t+1}>\sim\rho^{\tilde{\pi}}}E<st​,at​,rt+1​,st+1​>∼ρπ~​。

紧接着定理一的证明也就出来了:
下面省略温度系数α\alphaα:

Note:

  1. 结合公式(2),这个定理1揭示了:基于能量模型的最优策略是最大化含熵目标的最优解。
  2. 基于能量模型的策略π(⋅∣s)∝exp⁡(Qsoftπ(s,⋅))\pi(\cdot|s)\propto\exp(Q^\pi_{soft}(s,\cdot))π(⋅∣s)∝exp(Qsoftπ​(s,⋅))和之前的greedy、ϵ\epsilonϵ-greedy策略一样的,都是可以促进策略提升的好策略。
  3. 证明过程中,为了简便,省略了α\alphaα。
  4. 新策略π~\tilde{\pi}π~对值函数的提升与之前的greedy、ϵ−greedygreedy、\epsilon-greedygreedy、ϵ−greedy策略效果一模一样,证明过程也类似,可参考《Sutton强化学习》第四章。
  5. 定理一实质上是SQL的核心之一,它揭示了从Soft Value Function定义(公式(5))出发,去连接Energy-based(公式(6)),如下图所示:

Theorem 2:
作者提出了一个软贝尔曼等式,并且揭示了软QQQ满足软贝尔曼等式:(证明见附录):
Qsoft∗(st,at)=rt+γEst+1∼ρπ[Vsoft∗(st+1)](7)Q^*_{soft}(s_t,a_t) = r_t + \gamma\mathbb{E}_{s_{t+1}\sim \rho^\pi}[V^*_{soft}(s_{t+1})]\tag{7} Qsoft∗​(st​,at​)=rt​+γEst+1​∼ρπ​[Vsoft∗​(st+1​)](7)
Note:

  1. 软贝尔曼等式其实和经典贝尔曼等式形式一模一样,说直白点,只是值函数们加了个“soft”下标,就像最优值函数只是比普通值函数多了个“*”。
  2. 公式(7)是Soft Q-learning的核心之一,它揭示了从值函数定义(公式(4)(5))出发,连接了Maximum Entropy Objective(公式(7))和Energy-based(公式(6)),如下图所示:

证明如下:(忽略α\alphaα)

3.Training Expressive Energy-Based Models via Soft Q-Learning

  1. 接下来作者将会导出一种Q-Learning风格的算法:Soft Q-Learning(以下简称SQL)。
  2. SQL基于Soft-Q函数。
  3. 算法的采样来自于一个近似于能量模型的神经网络,这样就可以应付高维度的状态动作任务。

3.1.Soft Q-Iteration

这一小节作者给出Soft-Q和Soft-V的收敛定理

Soft Q-iteration
Theorem 3:(证明见附录A.2)
当满足:

  1. Qsoft,VsoftQ_{soft},V_{soft}Qsoft​,Vsoft​有界。
  2. ∫Aexp⁡(1αQsoft(⋅,a′))da′<∞\int_{\mathcal{A}}\exp(\frac{1}{\alpha}Q_{soft}(\cdot,a'))\mathrm{d}a' < \infty∫A​exp(α1​Qsoft​(⋅,a′))da′<∞。
  3. Qsoft∗<∞Q^*_{soft}<\inftyQsoft∗​<∞

则对∀st,at,Qsoft(st,at)=rt+γEst+1∼ρπ[Vsoft(st+1)](8)对\forall s_t,a_t,Q_{soft}(s_t,a_t) = r_t + \gamma\mathbb{E}_{s_{t+1}\sim \rho^\pi}[V_{soft}(s_{t+1})]\tag{8}对∀st​,at​,Qsoft​(st​,at​)=rt​+γEst+1​∼ρπ​[Vsoft​(st+1​)](8)
对∀st,Vsoft(st)=αlog⁡∫Aexp⁡(1αQsoft(st,a′))da′(9)对\forall s_t,V_{soft}(s_t)= \alpha\log\int_{\mathcal{A}}\exp(\frac{1}{\alpha}Q_{soft}(s_t, a'))\mathrm{d}a' \tag{9} 对∀st​,Vsoft​(st​)=αlog∫A​exp(α1​Qsoft​(st​,a′))da′(9)通过不断迭代更新,最后都将收敛,并且分别至Qsoft∗Q^*_{soft}Qsoft∗​,Vsoft∗V^*_{soft}Vsoft∗​。

证明如下:
定义Soft值函数迭代算子为T\mathcal{T}T,以及TQ(s,a)=r(s,a)+γEs′∼ps[log⁡∫exp⁡Q(s′,a′)da′]\mathcal{T}Q(s,a)=r(s,a)+\gamma\mathbb{E}_{s'\sim p_s}[\log\int\exp Q(s',a')\mathrm{d}a']TQ(s,a)=r(s,a)+γEs′∼ps​​[log∫expQ(s′,a′)da′]
划红线的意思就是:迭代之后Q1、Q2Q_1、Q_2Q1​、Q2​之间的差距在缩小,而又因为策略提升定理告诉我们,对∀s,a,Q(s,a)\forall s,a,Q(s,a)∀s,a,Q(s,a)会不断增加,也就是说随着迭代T\mathcal{T}T次数增多,(假设Q2Q_2Q2​是最优值函数)Q1Q^1Q1会达到Q2Q^2Q2,也就是说Q1→Q∗Q_1\to Q^*Q1​→Q∗,证毕。

Note:

  1. 公式(8)、(9)就是软贝尔曼等式的回溯操作。
  2. 最优策略就是公式(8)、(9)不断进行迭代直至收敛所得到的。
  3. 记Soft贝尔曼迭代算子为T\mathcal{T}T。
  4. 这种Soft Q-Iteration实际上无法用于连续且高维的状态动作空间或者连续空间,注意看期望的下标,他需要采集到所有的状态,对于公式(9)也需要状态空间的所有动作。我们实际采样的样本也是有限的。
  5. 输出的最优策略,即基于能量模型的策略π\piπ很难被采样。

3.2.Soft Q-Learning

这一节就是用来提出解决3.1节收敛定理无法用于实际的一种Q-Learning方法——Soft Q-Learning,也就是说要向Q-Learning之于经典贝尔曼一样,在有限的样本集中训练Agent,使得∣TQ−Q∣|\mathcal{T}Q-Q|∣TQ−Q∣在所有动作、状态上通过随机梯度下降达到最小化。
首先对于连续高维特征的动作状态空间,最好的办法就是值函数近似,可以用神经网络θ\thetaθ实现:
Qsoft(st,at)→Qsoftθ(st,at)Q_{soft}(s_t,a_t)\to Q^\theta_{soft}(s_t,a_t) Qsoft​(st​,at​)→Qsoftθ​(st​,at​)那么对于有限样本集的问题,参考Q-Learning与贝尔曼等式的关系,可以通过采样求平均,转为增量式实现,然后通过对MSE-Loss进行随机梯度下降进行优化即可:
JQ(θ)=Est∼qst,at∼qat[12(Q^softθˉ(st,at)−Qsoftθ(st,at))2](11)\mathbf{J}_Q(\theta) = \mathbb{E}_{s_t\sim q_{s_t}, a_t\sim q_{a_t}}[\frac{1}{2}(\hat{Q}_{soft}^{\bar{\theta}}(s_t,a_t)-Q^\theta_{soft}(s_t,a_t))^2]\tag{11} JQ​(θ)=Est​∼qst​​,at​∼qat​​​[21​(Q^​softθˉ​(st​,at​)−Qsoftθ​(st​,at​))2](11)Note:

  1. qst,qatq_{s_t},q_{a_t}qst​​,qat​​是建立在S,A\mathcal{S}, \mathcal{A}S,A上任意的分布。但是一般都会选择当前策略——π(at∣st)∝exp⁡(1αQsoftθ(st,at))\pi(a_t|s_t)\propto\exp(\frac{1}{\alpha}Q^\theta_{soft}(s_t,a_t))π(at​∣st​)∝exp(α1​Qsoftθ​(st​,at​))。
  2. 目标软QQQ:Q^softθˉ(st,at)=rt+γEst+1∼ρπ[Vsoftθˉ(st+1)]\hat{Q}_{soft}^{\bar{\theta}}(s_t,a_t) = r_t + \gamma \mathbb{E}_{s_{t+1}\sim\rho^\pi}[V_{soft}^{\bar{\theta}}(s_{t+1})]Q^​softθˉ​(st​,at​)=rt​+γEst+1​∼ρπ​[Vsoftθˉ​(st+1​)]。
  3. 比较麻烦的就是这个VVV,为了适应随机优化,需要通过IS技术将积分转为期望,然后通过采样取平均即可,具体做法是:Vsoft(st)=αlog⁡∫Aexp⁡(1αQsoft(st,a′))da′=αlog⁡∫Aqa′(a′)qa′(a′)exp⁡(1αQsoft(st,a′))da′=αlog⁡Eqa′[exp⁡(1αQsoftθ(st,a′))qa′(a′)](10)V_{soft}(s_t)= \alpha\log\int_{\mathcal{A}}\exp(\frac{1}{\alpha}Q_{soft}(s_t, a'))\mathrm{d}a'\\ = \alpha\log\int_{\mathcal{A}}\frac{q_{a'}(a')}{q_{a'}(a')}\exp(\frac{1}{\alpha}Q_{soft}(s_t, a'))\mathrm{d}a'\\ =\alpha\log \mathbb{E}_{q_{a'}}[\frac{\exp(\frac{1}{\alpha}Q_{soft}^\theta(s_t,a'))}{q_{a'}(a')}]\tag{10}Vsoft​(st​)=αlog∫A​exp(α1​Qsoft​(st​,a′))da′=αlog∫A​qa′​(a′)qa′​(a′)​exp(α1​Qsoft​(st​,a′))da′=αlogEqa′​​[qa′​(a′)exp(α1​Qsoftθ​(st​,a′))​](10)其中qa′q_{a'}qa′​可以是任意的分布,常规是选用均一策略,作者推荐最好使用当前策略π(at∣st)∝exp⁡(1αQsoftθ(st,at))\pi(a_t|s_t)\propto\exp(\frac{1}{\alpha}Q^\theta_{soft}(s_t,a_t))π(at​∣st​)∝exp(α1​Qsoftθ​(st​,at​))。

采样网络:
但是从当前策略采样并不容易,因此作者设计了一个近似这个分布的神经网络,神经网络的输出就是采样值。

3.3.Approximate Sampling and Stein Variational Gradient Descent (SVGD)

这一节就是讲如何设计这个采样网络的,这个网络相当于一个策略分布。
一般策略分布有2种方法,一种是MCMC,但这种方法计算难度大。另一种就是本文的Amortized SVGD(关于SVGD即Stein变分梯度下降可参考我的另一篇:Stein变分梯度下降),这是一种类似于SGD的优化方法。
这个采样网络基于能量模型,并使用Amortized SVGD训练,它有三个好处:

  1. 优化出来的采样网络有比较快的采集速度。
  2. SVGD是一种VI方法,对EBM的后验概率分布有准确的估计。
  3. 当我们把EBM这个策略变成网络的时候,Soft-QL算法就类似于AC算法了,而AC算法我们都知道,实现起来简单高效,也就是说,通过amortized-SVGD优化出的采集网络会使得我们整体算法可行性提升。

创建采样网络:
定义采样网络:at=fϕ(ξ;st)a_t=f^\phi(\xi;s_t)at​=fϕ(ξ;st​),这是一个输入为状态,输出为动作的神经网络,用于产生SVGD所需的粒子,ξ\xiξ为服从标准正态分布的噪声。Energy-based Policy是目标分布,用参数θ\thetaθ表示,我们的估计分布用πϕ(at∣st)\pi^\phi(a_t|s_t)πϕ(at​∣st​)表示。
Note:

  1. 粒子理解成样本即可。
  2. 这里采样网络fff使用了reparameterization trick(重采样)。因为如果不用该技术的话,粒子是由πϕ(⋅∣st)\pi^\phi(\cdot|s_t)πϕ(⋅∣st​)产生的,那么目标函数JJJ对粒子at(i)a_t^{(i)}at(i)​的求导Δa\Delta aΔa是没有包含ϕ\phiϕ的梯度的,因为aaa从πϕ\pi^\phiπϕ中采样的话,这部分Δϕ=None\Delta\phi=NoneΔϕ=None。引入重采样技术,即引入一个积分转换at=fϕ(ξ;st)a_t=f^\phi(\xi;s_t)at​=fϕ(ξ;st​),那么采样就变成了ξ\xiξ的采样ξ∼N(0,1)\xi\sim\mathcal{N}(0,1)ξ∼N(0,1),这样是可以保留ϕ\phiϕ的梯度的,为后续ϕ\phiϕ的更新做准备。也就是说Δat∣a=fϕ(⋅∣st)\Delta a_t|_{a=f^\phi(\cdot|s_t)}Δat​∣a=fϕ(⋅∣st​)​是包含ϕ\phiϕ的梯度的。
  3. 但个人认为引入重采样确实是必要的步骤,但是会引起一个问题,就是原来的at∼π(⋅∣st)a_t\sim\pi(\cdot|s_t)at​∼π(⋅∣st​)可以是任意分布,重采样要求π\piπ得是高斯分布N(μ,σ)\mathcal{N}(\mu,\sigma)N(μ,σ),均值标准差来自于fff网络。也就是说最后输出的分布是一个逼近EBM的高斯分布。

我们的目的就是训练出参数ϕ\phiϕ,使得估计分布和目标分布一致,我们通常用KL散度来衡量2个分布之间的差异,因此最小化KL散度就是我们优化出最佳采样网络的目标函数:
Jπ(ϕ;st)=DKL(πϕ(⋅∣st)∣∣exp⁡(1α(Qsoftθ(st,⋅)−Vsoftθ))(12)\mathbf{J}\pi(\phi;s_t)=D_{KL}(\pi^\phi(\cdot|s_t)||\exp(\frac{1}{\alpha}(Q^\theta_{soft}(s_t,\cdot)-V^\theta_{soft}))\tag{12} Jπ(ϕ;st​)=DKL​(πϕ(⋅∣st​)∣∣exp(α1​(Qsoftθ​(st​,⋅)−Vsoftθ​))(12)Note:

  1. SVGD使得这一步不需要调用库里的函数进行一板一眼的计算,是不出现在算法里的,直接计算式(13)就好了。

接下来就是SVGD的核心:
(建议不了解SVGD的先去看下论文,然后再来看这部分内容,关于SVGD我也是看了好久才入门。)
当粒子们at(i)=fϕ(ξ(i);st)a_t^{(i)}=f^\phi(\xi^{(i)};s_t)at(i)​=fϕ(ξ(i);st​)沿着正确的方向更新ϕ\phiϕ,KL散度就能以最快的速度下降,那什么才是正确的方向呢?Δfϕ(⋅;st)\Delta f^\phi(\cdot;s_t)Δfϕ(⋅;st​)就是KL散度的梯度下降方向,也就是KL散度下降最陡的方向:
Δfϕ(⋅;st)=Eat∼πϕ[κ(at,fϕ(⋅;st))∇a′Qsoftθ(st,a′)∣a′=at+α∇a′κ(a′,fϕ(⋅;st))∣a′=at](13)\Delta f^\phi(\cdot;s_t) = \mathbb{E}_{a_t\sim\pi^\phi}[\kappa(a_t,f^\phi(\cdot;s_t))\nabla_{a'}Q^\theta_{soft}(s_t, a')|_{a'=a_t}\\+\alpha\nabla_{a'}\kappa(a',f^\phi(\cdot;s_t))|_{a'=a_t}]\tag{13} Δfϕ(⋅;st​)=Eat​∼πϕ​[κ(at​,fϕ(⋅;st​))∇a′​Qsoftθ​(st​,a′)∣a′=at​​+α∇a′​κ(a′,fϕ(⋅;st​))∣a′=at​​](13)Note:

  1. SVGD是在RKHS下的优化算法,最突出的特征就是核函数k(⋅,⋅)k(\cdot,\cdot)k(⋅,⋅),一般都采用RBF,即高斯核。
  2. 公式(13)和SVGD论文的有所出入,主要在于log⁡p(x)↔Qθ\log p(x)\leftrightarrow Q^\thetalogp(x)↔Qθ以及多了个α\alphaα。
  3. 本来按SVGD来说,式(13)第一项应该是Stein得分函数,但为啥是Qsoftθ(⋅)Q^\theta_{soft}(\cdot)Qsoftθ​(⋅)了呢?其实是一样的,做个化简:(Vsoft(s)V_{soft}(s)Vsoft​(s)不含动作aaa,所以遇到对动作aaa的微分可以直接约掉。)sp(a′)=∇a′log⁡(exp⁡(1α(Qsoftθ(st,a′)−Vsoftθ(st))))=∇a′1α(Qsoftθ(st,a′)−Vsoftθ(st)=1α∇a′Qsoftθ(st,a′)s_p(a')=\nabla_{a'}\log(\exp(\frac{1}{\alpha}(Q^\theta_{soft}(s_t,a')-V^\theta_{soft}(s_t))))\\=\nabla_{a'}\frac{1}{\alpha}(Q^\theta_{soft}(s_t,a')-V^\theta_{soft}(s_t)\\=\frac{1}{\alpha}\nabla_{a'}Q^\theta_{soft}(s_t,a')sp​(a′)=∇a′​log(exp(α1​(Qsoftθ​(st​,a′)−Vsoftθ​(st​))))=∇a′​α1​(Qsoftθ​(st​,a′)−Vsoftθ​(st​)=α1​∇a′​Qsoftθ​(st​,a′)然后我们把1α\frac{1}{\alpha}α1​提出去,因此核函数的导数项前面自然就多了个α\alphaα。至于这个1α\frac{1}{\alpha}α1​可以无视他,因为最后他会被包含进学习率η\etaη中。所以我们只需要提供值函数网络的输出结果即可,这是很方便给出的。而且对a′a'a′的求导无论是PyTorch还是TF都是很方便的。
  4. 至于这个amortized不知道指的是什么???

但我们最终要的是ϕ\phiϕ的梯度,然后去做随机梯度下降去更新ϕ\phiϕ,也就是说我们用SVGD来优化出梯度下降的方向,然后通过一定的转换,转换到ϕ\phiϕ上,再用另一种我们常见的优化方式,比如SGD来更新ϕ\phiϕ。那么这个转换是什么呢:∂Jπ∂fϕ(ξ;st)∝Δfϕ\frac{\partial J_\pi}{\partial f^\phi(\xi;s_t)}\propto\Delta f^\phi∂fϕ(ξ;st​)∂Jπ​​∝Δfϕ,然后我们只需利用链式法则,即可把SVGD的梯度转换到ϕ\phiϕ的梯度上:
∂Jπ(ϕ;st)∂ϕ∝Eξ[Δfϕ(ξ;st)∂fϕ(ξ;st)∂ϕ](14)\frac{\partial \mathbf{J}_\pi(\phi;s_t)}{\partial\phi} \propto\mathbb{E}_\xi[\Delta f^\phi(\xi;s_t)\frac{\partial f^\phi(\xi;s_t)}{\partial \phi}]\tag{14} ∂ϕ∂Jπ​(ϕ;st​)​∝Eξ​[Δfϕ(ξ;st​)∂ϕ∂fϕ(ξ;st​)​](14)Note:

  1. E\mathbb{E}E代表着mini-batch。
  2. SGD或者Adam更新ϕ\phiϕ:ϕ←ϕ−η⋅∂J∂ϕ\phi\gets\phi-\eta\cdot\frac{\partial J}{\partial \phi}ϕ←ϕ−η⋅∂ϕ∂J​。
  3. 注意到fϕf^\phifϕ是一个输入为状态,输出为动作的网络,也就相当于是AC系列算法中的策略网络。

3.4.Algorithm Summary

伪代码如下:

Note:

  1. 2大网络:采集网络&值函数网络。和AC算法的策略网络和Critic网络形式上很像。
  2. 2大优化算法:SVGD&Adam。对于采集网络:SVGD优化KL散度然后Adam更新参数ϕ\phiϕ;对于值函数网络:Adam优化MSE以及更新参数θ\thetaθ。
  3. 使用了Target技术做软更新参数ϕ、θ\phi、\thetaϕ、θ,以及经验池技术D\mathcal{D}D。
  4. 总的来说,Algorithm 1是一种最大化含熵目标随机性策略方法,策略以EBM为模型。

4.Related Work

  1. 虽然SQL基于Q-learning算法,但是他的结构和AC算法很像,比如DDPG。
  2. 后面还揭示了MAP、SQL、DDPG三者的关系。
  3. 揭示了SQL和策略梯度的关系,在附录B中有详细说明。

5.Experiments

6.Discussion and Future Work

最后总结下SQL的特点:

  1. SQL是一种随机性策略算法,不是确定性策略,他的随机性并不像DDPG或者TD3那样的启发式,而是各个动作最终都有一定概率会被选择,只不过有高有低,而不是像Smoothie那样,前期随机性但后期确定性策略。
  2. 使用了采样网络来对难以采样的分布进行动作收集。
  3. 使用IS技术将积分转为期望,从而可以将VVV加入到随机优化中。
  4. SQL使用了2种优化算法,一种是确定性方向的SVGD,另一种是我们常用的随机性优化方法Adam。
  5. 将采样网络看成是Actor网络的话,SQL的结构和DDPG这种AC算法没什么差异。
  6. 改变了经典的期望累计奖励目标函数,增加了熵项,因此还需要改变贝尔曼等式,重新设计策略评估与策略提升过程。
  7. Theorem 1证明了波尔茨曼策略是最大化含熵目标的最优解。
  8. SQL的“S”来自于其EBM模型的分布很像softmax函数,所以截取了“soft”。
  9. 最大化含熵目标的优点:抗干扰强、适用于多模式任务、某个任务输出的这种策略可以作为下个任务的初始化策略、探索性强、鲁棒性强等。缺陷在于SVGD计算复杂度高,因此也可以放弃SVGD,用随机优化来替代,比如SAC算法中就这样做了。

论文笔记之Soft Q-learning相关推荐

  1. 论文笔记 | 谷歌 Soft Prompt Learning ,Prefix-Tuning的 -> soft promt -> p tuning v2

    论文笔记 | 谷歌 Soft Prompt Learning ptuning -> Prefix-Tuning -> soft promt -> p tuning v2 " ...

  2. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  3. 论文笔记:CLIP:Learning Transferable Visual Models From Natural Language Supervision详解

    paper:https://arxiv.org/abs/2103.00020 代码:GitHub - openai/CLIP: Contrastive Language-Image Pretraini ...

  4. 论文笔记:Attention U-Net: Learning Where to Look for the Pancreas

    Abstract 我们提出了一种用于医学成像的新型注意门(AG)模型,该模型自动学习聚焦于不同形状和大小的目标结构.用AG训练的模型隐 含地学习抑制输入图像中的不相关区域,同时突出显示对特定任务有用的 ...

  5. 2021-06-03 【论文笔记】Cross-domain Correspondence Learning for Exemplar-based Image Translation

    论文题目:Cross-domain Correspondence Learning for Exemplar-based Image Translation 论文主页:https://panzhang ...

  6. 【论文笔记】SpotTune: Transfer Learning through Adaptive Fine-tuning

    [CVPR2019]SpotTune: Transfer Learning through Adaptive Fine-tuning 论文链接:SpotTune: Transfer Learning ...

  7. 【论文笔记】Multi-task deep learning based CT imaging analysis for COVID-19 pneumonia: Classification and

    声明 不定期更新自己精度论文,通俗易懂,初级小白也可以理解 涉及范围:深度学习方向,包括 CV.NLP.Data Fusion.Digital Twin 论文标题:Multi-task deep le ...

  8. 强化学习论文笔记:Soft Actor Critic算法

    Soft Actor Critic是伯克利大学团队在2018年的ICML(International Conference on Machine Learning)上发表的off-policy mod ...

  9. 论文笔记:Deep Residual Learning

    之前提到,深度神经网络在训练中容易遇到梯度消失/爆炸的问题,这个问题产生的根源详见之前的读书笔记.在 Batch Normalization 中,我们将输入数据由激活函数的收敛区调整到梯度较大的区域, ...

最新文章

  1. ubuntu android2.3 emulator,Android Studio 2.3 Ubuntu 16.10 emulator do not start
  2. 因果推断 - 反事实
  3. 切割固定长度字符串的方法_木质踢脚线安装的施工方法
  4. 基于winpcap的NDIS在IE浏览器,360安全浏览器hackwww.360.cn
  5. ARM(IMX6U)裸机主频和时钟
  6. thinkphp框架起步认识
  7. axios代理跨域 cli4_vuecli 3.0之跨域请求代理配置及axios路径配置 莫小龙
  8. creator 静态属性_CocosCreator cc.class声明类
  9. MySQL数据库阶段学习目录
  10. oracle执行大sql,mybatis连接oracle执行sql语句出现ORA
  11. linux吃鸡游戏下载,网络大逃杀2077
  12. SPSS 偏相关分析【SPSS 024期】
  13. C语言学习之用函数求立方体的体积
  14. QT绘制实时动态曲线——qcustomplot使用(一)
  15. html5玻璃下雨,下雨天外后视镜总是沾满水珠 6个妙招帮你解决这个难题
  16. xp mysql 5.6安装版下载地址_xp系统安装版下载,xp系统安装版下载地址
  17. xubuntu language support
  18. 无WiFi 条件下如何使用Xshell 串口访问树莓派终端
  19. 读懂trace file (tkprof格式化) 6
  20. 安装OTRS工单管理系统

热门文章

  1. OpenCV实例140+ (1 图像处理基础知识)
  2. 解决建立时间与保持时间不满足的问题
  3. 小学数学动画 android,小学数学课堂app下载-小学数学课堂 安卓版v2.2.0-PC6安卓网...
  4. 抛弃传统IPO,直接上市,你准备好了吗?
  5. 软件性能测试论文草稿
  6. springboot静态资源的配置
  7. 阿里巴巴达摩院发布2019十大科技趋势
  8. 忆旧路:雄关漫道真如铁,而今迈步从头越
  9. 旁流综合水处理器的安装与连接技巧
  10. 今晚7:30 | CVPR专场五来了!