论文地址,点这里
源码地址,点这里
参考:
soft Q-learning-v1
soft Q-learning-v2
soft Q-learning-v3
本人阅读目的:
这篇文章是Soft Actor-Critic的基础,建议在阅读SAC之前,先读懂这篇文章。(2017年发表于顶会ICML)
文章核心:证明Energy-based policy是Maximum-entropy强化目标函数的最优解。
这篇文章在我们通常的强化目标的基础上,增了一项Entropy项,优化期望累计奖励的同时优化熵项。
以下是我第一次看到这个算法简介的时候心中的疑惑:
Q 1 Q1 Q1:为什么要增加Entropy项呢?
见 Abstract第4点。
Q 2 Q2 Q2:什么是能量模型(Energy-based model)?
参考:
能量模型:EBM
Q 3 Q3 Q3:什么是麦克斯韦-玻尔兹曼分布?
参考:
PDF推导过程
百度百科
Reinforcement Learning with Deep Energy-Based Policies
Abstract
- 作者提出了本文的核心算法——Soft Q-Learning算法。这是一种在最大化期望累计奖励的基础上,最大化熵项的算法,也就是说该算法的优化目标是累计奖励和熵(Entropy)的和(针对每一个step)。
- 我们旨在通过这个算法去学习一种可以在连续状态和动作空间下的目标策略函数——基于能量模型的策略,这个策略满足玻尔兹曼分布,我们在这个分布下对连续动作进行采样,然后输出这个动作。
- 但是这个分布下很难采样,因此作者通过变分梯度下降SVGD去训练一个和本文这个分布相同的神经网络,这样采样就变成了神经网络的输出,这样就容易多了。
- SQL的好处在于①探索性强:可以在多模态任务重找到最佳的方案,multimode就是Agents要去规划多个目标,比如既要走得快,又要找到宝藏。②更加鲁棒:目标中加入熵项会让Agent学习到所有动作,当环境中加入干扰噪声,那么之前规划好的动作可能就不能用了,那么此时就可以用其余动作。③组合性更强:通过最大熵,policy不仅仅学到一种解决任务的方法,而是所有all。因此这样的policy就更有利于去学习新的任务。比如我们一开始是学走,然后之后要学朝某一个特定方向走,意味着当前task训练的结果可以和其他task连接组合起来。
1.Introduce
作者指出先前一些算法的随机策略进行探索主要有2种形式:
- 启发式:比如DDPG的Actor输出,然后加上一个一维高斯噪声(OU噪声)。
- 高熵的探索策略:熵越大,体系不确定性越大,典型的比如uniform策略,每一种动作的概率都是相同的。
本文的强化学习算法最后优化出的策略也是随机策略,但是不同于上述2种,这种策略的得出需要修改经典的RL目标函数——最大化期望累计奖励。该随机策略如下图所示:

如上图所示:不同于确定性策略,那种输出是使得 Q Q Q值最大对应的策略,输出的每个策略都是唯一确定的(即贪婪且确定)。SQL则不同,他的输出是一个玻尔兹曼分布,包括了每个动作的可能性,当然不同动作采样概率有高有低,概率大容易被采到并输出,概率小的较难被输出。
Note:
这里的随机策略和我们之前接触的随机策略,比如softmax策略、一维高斯策略、多维高斯策略不一样,这三种虽然都是随机策略,但是通过训练,在某个状态输出的动作都是一个确定性动作,或者是在确定性动作基础上有个小的噪声加成变动。而SQL的这种随机策略通过训练最后输出的是一个分布!
这样做的好处就是:
- 某个任务输出的这种策略可以作为下个任务的初始化策略。比如Agent第一个任务是学会向前走,然后就可以用学会的这种策略作为下个任务:跑和跳的初始策略分布,通过进一步微调来达到学会跑跳任务的目标。
- 这种较好的探索机制可以在多模式任务(比如既要Agents走得好,又要节约能源)中寻找出
- 抗干扰性更强,最典型的例子就是迷宫了,如下图示:

本来已经找到最佳路径了,但是突然出现干扰,如果是Q-learning这种输出靠着最大 Q Q Q对应的动作,那就完蛋了,Agent就会一直在干扰出徘徊。但是SQL就不一样了,它的策略是个概率分布,对于所有动作都会有被选择到的,只不过概率有高有低罢了。那么当遇到干扰,Agent就有机会找到下面这条路径,这就是SQL的一大优势。
Note:
- 对以上3个好处的详细解释参考:伯克利提出强化学习新方法,可让智能体同时学习多个解决方案
先前也有很多算法已经尝试过训练出这种随机策略(通过最大化熵目标),但要么就是无法应用于连续状态动作空间、高维空间,要么就是用一个简单的参数表示策略网络,比如高斯策略。因此本文将提出一种可以训练处应用于连续状态动作高维空间的随机策略。
这种随机策略是怎么来的呢?作者借鉴了基于能量的模型,也就是说将我们的策略刻画成能量模型(EBM)的样子,其中能量模型中的能量函数 E E E相当于我们的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优化目标:
π s t d ∗ = arg max π ∑ t E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) ] (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∗=πargmaxt∑E(st,at)∼ρπ[r(st,at)](1)Note:
- ρ \rho ρ是遵循目标策略 π \pi π下所产生的轨迹分布,是已经访问过的状态,即同轨策略分布。
- 个人认为RL的目标(objective)应该是最大化期望累计奖励(先期望再累加),也就是最大化 Q Q Q值: π s t d ∗ = arg max π E ( s t , a t ) ∼ ρ π [ ∑ t r ( s t , a t ) ] \pi_{std}^* = \argmax_\pi \mathbb{E}_{(s_t,a_t)\sim\rho^\pi}[\mathop{\sum}\limits_t r(s_t,a_t)] πstd∗=πargmaxE(st,at)∼ρπ[t∑r(st,at)]
含熵优化目标:
π M a x E n t ∗ = arg max π ∑ t E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] (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∗=πargmaxt∑E(st,at)∼ρπ[r(st,at)+αH(π(⋅∣st))](2)Note:
- 超参数 α \alpha α用来决定单步奖励 r r r相对熵项的重要性。当 α → 0 \alpha\to0 α→0,就变成了标准的RL目标。
- 同理,个人认为最大化含熵目标也应该是先期望后累加: π M a x E n t ∗ = arg max π E ( s t , a t ) ∼ ρ π [ ∑ t r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] \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∗=πargmaxE(st,at)∼ρπ[t∑r(st,at)+αH(π(⋅∣st))]
- 这么做的意义在于,增加信息熵项,那么优化的时候,就会使得输出的每一个动作的概率尽量分散,因为在一个集合中,体系越混乱,种类越趋于平均,熵值越大。比如Uniform策略就是一个高熵值策略。
- 上述公式(1)(2)是没有设置折扣因子的,可通过增加折扣因子 γ \gamma γ来完善上述公式(2),详见附录A,并且之后的讨论都是有折扣因子的。但个人认为附录A中的一些表达式似乎是有些问题,以下是我的见解,可以和附录A中的对比:
对于含折扣因子的最优策略: π M a x E n t ∗ = arg max π ∑ t E ( s t , a t ) ∼ ρ π [ ∑ l = t ∞ γ l − t E ( s l , a l ) [ r ( s l , a l ) + α H ( π ( ⋅ ∣ s l ) ) ∣ s t , a t ] ] 同 理 : π M a x E n t ∗ = arg max π E ( s t , a t ) ∼ ρ π [ ∑ l = t ∞ γ l − t ( r ( s l , a l ) + α H ( π ( ⋅ ∣ s l ) ) ) ∣ ( s t , a t ) ] \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∗=πargmaxt∑E(st,at)∼ρπ[l=t∑∞γl−tE(sl,al)[r(sl,al)+αH(π(⋅∣sl))∣st,at]]同理:πMaxEnt∗=πargmaxE(st,at)∼ρπ[l=t∑∞γl−t(r(sl,al)+αH(π(⋅∣sl)))∣(st,at)]然后是软 Q Q Q,这个倒是没啥问题,和经典的贝尔曼等式差不多: Q s o f t π ( s , a ) = r 0 + E τ ∼ π , s 0 = s , a o = a [ ∑ t = 1 ∞ γ t ( r t + H ( π ( ⋅ ∣ s t ) ) ) ] τ = ( s 0 , a 0 , s 1 , a 1 ⋯ ) 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

本文介绍了SoftQ-learning算法,它是强化学习中的一种,通过在最大化期望累积奖励的基础上增加熵项,以训练出适用于连续动作空间的随机策略。策略基于能量模型,利用SoftQ-Iteration和SVGD优化,与经典Q-learning和AC算法有显著区别。关键概念包括能量模型、麦克斯韦-玻尔兹曼分布及策略提升定理。
最低0.47元/天 解锁文章
691





