传统 RL 方法直接以最大化累计折扣回报作为优化目标,理想情况下最后会收敛到一个确定性策略,因为无论什么环境总会有一个最优解,传统 RL 就是想直接向它靠近。虽然传统 RL 方法中也含有随机性成分,但是引入随机性的主要目的是增加探索,扩大最后收敛到的稳定策略被选取的空间,比如
作者认为有些情况下训练随机性策略更有优势,比如
针对 “多模态目标multimodal objective” 的任务获得最优随机策略
。所谓多模态目标就是 agent 想达到的目标有多个,比如打台球打进哪个袋口都可以,传统 RL 可能最后收敛到只会瞄准一个袋口。下图是本文作者的实验,面对四个等价目标,随机性策略下 agent 以接近相等的概率去向各个目标
提高策略面对未知动态的鲁棒性
。比如下面这个走迷宫任务
有两条路线能到达目标,传统 RL 最后只会收敛到上侧较短的路线,地图下侧由于后期访问少,相应位置的价值网络和策略网络(如果有的话)可能都还是欠拟合状态;随机策略则会同时优化两条路径,有时走上面有时走下面,虽然这时宏观上看 agent 的收益有所损失,但环境变化(上方道路被堵住)时可以迅速地 fine-turn 到下面的路线上
通过预训练迅速习得类似技能
:这个其实和上面第 2 点一个意思,我们可以先在左图预训练随机策略,然后直接拿到某条路被挡住的任务环境中继续训练,策略会迅速 fine-turn 到可行的更好路线上
在最优控制
和概率推理
二者结合的场景中,随机性策略表现更好,本文之前已经有了从分别从两个角度出发的研究
过去从最优控制(RL别名)角度出发的研究表明,一个好的随机策略要同时最大化累计折扣回报和策略的熵。直观上看,这时我们不去找那个单一的回报最高的策略,而是要找出一系列回报比较高的策略,并最大化它们的混乱程度,通过这种方式,agent 最后可以学会 “解决问题” 的所有方式,尽管某些方式的成本比较高,但是 agent 也知道可以这么做,会以较小概率按次优方案行动
任务的多模态性质体现在价值函数中,最终学到的 Q ∗ ( s t , a t ∣ s t ) Q^*(s_t,a_t|s_t) Q∗(st,at∣st) 会是一个多峰函数。传统 RL 策略建模为如下 max \max max 操作
π ( a t ∣ s t ) = arg max a Q ∗ ( s t , a t ) \pi(a_t|s_t) = \argmax_a Q^*(s_t,a_t) π(at∣st)=aargmaxQ∗(st,at) 为了增强探索,有时对策略输出加一个高斯噪声 ϵ \epsilon ϵ,这样得到的近似确定性策略如下面左图所示
显然,一个理想的,适用于多模态任务的策略应该像右图那样,能够体现 Q ∗ ( s t , a t ∣ s t ) Q^*(s_t,a_t|s_t) Q∗(st,at∣st) 的多峰性质
作者这里选择了能表示多模态目标的最一般的分布类,把策略建模成一个能量模型(Energy-Based Models, EMB)
能量模型将样本 X X X 和标签 Y Y Y 的匹配度建模为能量 E ( X , Y ) \mathcal{E}(X,Y) E(X,Y),能量越小代表样本和标记越匹配,模型对样本 X X X 的预测标记 Y Y Y 是一个分布的形式
P ( Y ∣ X ) = e − β E ( Y , X ) ∫ y ∈ Y e − β E ( Y , X ) \mathrm{P}(\mathrm{Y}|\mathrm{X})=\frac{\mathrm{e}^{-\beta \mathcal{E}(\mathrm{Y}, \mathrm{X})}}{\int_{y\in Y} \mathrm{e}^{-\beta \mathcal{E}(\mathrm{Y}, \mathrm{X})}} P(Y∣X)=∫y∈Ye−βE(Y,X)e−βE(Y,X) 其中逆温度系数 β \beta β 是个常数不重要,分母的配分系数。能量模型是从玻尔兹曼分布推导出的,详细说明请参考:能量模型(Energy-Based Models, EMB)
对应到强化学习的场景下, s t s_t st 看做样本, a t a_t at 看做标记,策略为
π ( a t ∣ s t ) ∝ exp ( − E ( s t , a t ) ) \pi(a_t|s_t) \propto \exp(-\mathcal{E}(s_t,a_t)) π(at∣st)∝exp(−E(st,at)) 只需把 ( s t , a t ) (s_t,a_t) (st,at) pari 的能量 E ( s t , a t ) \mathcal{E}(s_t,a_t) E(st,at) 设计为基于负的 Q ∗ Q^* Q∗ 价值放缩后给出即可,这时价值越大的二元组对应的能量越低,匹配度越高,可以得到上面右侧图那种适合于多模态任务的随机性策略
soft Bellman equation
要证明这个等式,可以从分解 − D K L ( π ( ⋅ ∣ s ) ∥ π ~ ( ⋅ ∣ s ) ) -\mathrm{D}_{\mathrm{KL}}(\pi(\cdot \mid \mathbf{s}) \| \tilde{\pi}(\cdot \mid \mathbf{s})) −DKL(π(⋅∣s)∥π~(⋅∣s)) 入手
− D K L ( π ( ⋅ ∣ s ) ∥ π ~ ( ⋅ ∣ s ) ) = ∫ a π ( a ∣ s ) log π ~ ( a ∣ s ) π ( a ∣ s ) d a = ∫ a π ( a ∣ s ) log π ~ ( a ∣ s ) d a − ∫ a π ( a ∣ s ) log π ( a ∣ s ) d a = ∫ a π ( a ∣ s ) log π ~ ( a ∣ s ) d a + H ( π ( a ∣ s ) ) = ∫ a π ( a ∣ s ) log exp ( 1 α Q s o f t π ( s , a ) ) ∫ a exp ( 1 α Q s o f t π ( s , a ) ) d a d a + H ( π ( a ∣ s ) ) = ∫ a π ( a ∣ s ) 1 α Q s o f t π ( s , a ) d a − ∫ a π ( log ∫ a exp ( 1 α Q s o f t π ( s , a ) ) d a ) d a + H ( π ( a ∣ s ) ) = E a ∼ π [ 1 α Q s o f t π ( s , a ) ] − log ∫ a exp ( 1 α Q s o f t π ( s , a ) ) d a + H ( π ( a ∣ s ) ) \begin{aligned} -\mathrm{D}_{\mathrm{KL}}(\pi(\cdot \mid \mathbf{s}) \| \tilde{\pi}(\cdot \mid \mathbf{s})) &= \int_a \pi(a|s)\log\frac{\tilde{\pi}(a|s)}{\pi(a|s)}da \\ &= \int_a \pi(a|s)\log\tilde{\pi}(a|s)da- \int_a \pi(a|s)\log\pi(a|s)da \\ &= \int_a \pi(a|s)\log\tilde{\pi}(a|s)da + \mathcal{H}(\pi(a|\mathbf{s})) \\ &= \int_a \pi(a|s) \log \frac{\exp(\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(\mathbf{s},a))}{\int_a\exp(\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(\mathbf{s},a))da}da + \mathcal{H}(\pi(a|\mathbf{s})) \\ &= \int_a \pi(a|s)\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(\mathbf{s},a)da - \int_a \pi\big(\log \int_a\exp(\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(\mathbf{s},a))da\big)da + \mathcal{H}(\pi(a|\mathbf{s})) \\ &= \mathbb{E}_{\mathbf{a} \sim \pi}\left[\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(\mathbf{s}, \mathbf{a})\right] - \log \int_a\exp(\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(\mathbf{s},a))da + \mathcal{H}(\pi(a|\mathbf{s})) \end{aligned} −DKL(π(⋅∣s)∥π~(⋅∣s))=∫aπ(a∣s)logπ(a∣s)π~(a∣s)da=∫aπ(a∣s)logπ~(a∣s)da−∫aπ(a∣s)logπ(a∣s)da=∫aπ(a∣s)logπ~(a∣s)da+H(π(a∣s))=∫aπ(a∣s)log∫aexp(α1Qsoftπ(s,a))daexp(α1Qsoftπ(s,a))da+H(π(a∣s))=∫aπ(a∣s)α1Qsoftπ(s,a)da−∫aπ(log∫aexp(α1Qsoftπ(s,a))da)da+H(π(a∣s))=Ea∼π[α1Qsoftπ(s,a)]−log∫aexp(α1Qsoftπ(s,a))da+H(π(a∣s))
其实和证明原始 Bellman operator 和 Bellman optimal operator 的收敛性一样,只需证明这种更新方式对应的算子是一个压缩映射即可,关于两个原始 Bellman 算子的证明可以参考:强化学习拾遗 —— 表格型方法和函数近似方法中 Bellman 迭代的收敛性分析
分析一下这个迭代过程,第一行从 V soft ∗ ( s t ) V^*_{\text{soft}}(s_t) Vsoft∗(st) 表示出 Q soft ∗ ( s t ) Q^*_{\text{soft}}(s_t) Qsoft∗(st) 就是直接用的 2.3 节最初提到的恒等关系
Q s o f t π ( s , a ) = r ( s , a ) + γ E s ′ ∼ p s [ V s o f t π ( s ′ ) ] Q_{\mathrm{soft}}^{\pi}(s,a) = r(s,a) + \gamma \mathbb{E}_{s'\sim p_{\mathrm{s}}}\left[V_{\mathrm{soft}}^\pi\left(s'\right)\right] Qsoftπ(s,a)=r(s,a)+γEs′∼ps[Vsoftπ(s′)] 而第二行是这个迭代的重点,有 2.3.1 节分析中第 2 点可知,在当前价值估计为 Q s o f t π ( s , a ) Q_{\mathrm{soft}}^{\pi}(\mathbf{s}, \mathbf{a}) Qsoftπ(s,a) 但是按基于 softmax 得到的提升后的新策略 π ~ \tilde{\pi} π~ 行动时,有
V soft π ~ ( s ) = α log ∫ A exp ( 1 α Q s o f t π ( s , a ′ ) ) d a ′ V_{\text{soft}}^{\tilde{\pi}}(s) = \alpha\log \int_{\mathcal{A}} \exp \left(\frac{1}{\alpha}Q_{\mathrm{soft}}^{\pi}(s,a')\right) da' Vsoftπ~(s)=αlog∫Aexp(α1Qsoftπ(s,a′))da′ 因此这一行是从价值函数上体现了 softmax 策略提升操作,只有优化后的策略 π ~ \tilde{\pi} π~ 才能使等号成立,将 = = = 变化为 ← \leftarrow ← 即代表估计优化后策略的价值,因此定理 3 这个迭代过程就是最大熵 RL 语境下类似 Bellman optimal equation 的恒等迭代关系,不妨称其为soft Bellman optimal equation
。另外可以看一下原始 Bellman optimal equation
v ( s ) = max a ∈ A q ( s , a ) q ( s , a ) = r ( s , a ) + γ ∑ s ′ p ( s ′ ∣ s , a ) v ( s ′ ) = ∑ s ′ , r p ( s ′ , r , ∣ s , a ) [ r + γ v ( s ′ ) ] \begin{array}{l} \mathrm{v}(\mathrm{~s})=\max _{\mathrm{a} \in \mathcal{A}} \mathrm{q}(\mathrm{~s}, \mathrm{a}) \\ \mathrm{q}(\mathrm{~s}, \mathrm{a})=\mathrm{r}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime}} \mathrm{p}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}\left(\mathrm{~s}^{\prime}\right)=\sum_{\mathrm{s}^{\prime}, \mathrm{r}} \mathrm{p}\left(\mathrm{s}^{\prime}, \mathrm{r}, \mid \mathrm{s}, \mathrm{a}\right)\left[\mathrm{r}+\gamma \mathrm{v}\left(\mathrm{~s}^{\prime}\right)\right] \end{array} v( s)=maxa∈Aq( s,a)q( s,a)=r(s,a)+γ∑s′p(s′∣s,a)v( s′)=∑s′,rp(s′,r,∣s,a)[r+γv( s′)] 和这里很类似,第二行从 v 到 q 是恒等关系,第一行 max \max max 操作体现 arg max \argmax argmax 的策略提升操作
Note: 我个人认为文章附录里对这部分证明的符号不严谨,我是重新写的没完全按原文
基于马尔可夫链蒙特卡洛法 Markov chain Monte Carlo, MCMC 进行采样
。这种方法无法进行在线推理,不适用训练一个随机采样网络,可以直接从目标分布中生成样本
。这个其实很像 GAN 这类生成方法的 generator,具体而言就是要训练一个 ϕ \phi ϕ 参数化的网络 f ϕ f^\phi fϕ,它把来自给定分布(如高斯)的随机噪音 ξ \xi ξ 映射为一个采样自目标分布的样本,这样就能如下采样动作了Note:关于 SVGD 的详细说明可以参考 [论文解读 02]Stein变分梯度下降详细解读
随机性策略算法
,不是确定性策略,他的随机性并不像 DDPG 或者 TD3 那样的启发式,而是通过能量模型使得各个动作最终都有一定概率会被选择,可以体现出 Q value 的多峰性质采样网络
对难以采样的能量模型分布进行动作采样IS技术
将积分转为期望,从而可以将 V 加入到随机优化中