对付深度学习模型的优化问题来说,随机梯度低落(SGD)是一种被广为利用方法。然而,实际上 SGD 并非我们唯一的选择。当我们利用一个「黑盒算法」时,纵然不知道目标函数 f(x):Rn→R 的精确解析形式(因此不能打算梯度或 Hessian 矩阵)你也可以对 f(x) 进行评估。经典的黑盒优化方法包括「仿照退火算法」、「爬山法」以及「纯挚形法」。蜕变策略(ES)是一类出身于蜕变算法(EA)黑盒优化算法。在本文中,我们将深入剖析一些经典的蜕变策略方法,并先容蜕变策略在深度强化学习中的一些运用。
目录
一、蜕变策略是什么?
二、 大略的高斯蜕变策略

三、协方差矩阵自适应蜕变策略(CMA-ES)
1、均值更新
2、步长掌握
3、协方差自适应
四、自然蜕变策略(NES)
1、自然梯度
2、利用费舍尔(Fisher)信息矩阵进行估计
3、NES 算法
五、运用:深度强化学习中的蜕变策略
1、OpenAI 用于强化学习的蜕变策略
2、蜕变策略的探索办法
3、 CEM-RL:结合蜕变策略和梯度低落方法的强化学习策略搜索
六、扩展:深度学习中的蜕变策略
1、超参数调优:PBT
2、网络拓扑优化:WANN
七、参考文献
一、蜕变策略是什么?蜕变策略(ES)从属于蜕变算法的大家族。ES 的优化目标是实数向量 x∈Rn。
蜕变算法(EA)指的是受自然选择启示而产生的一类基于种群的优化算法。自然选择学说认为,如果某些个体具有利于他们生存的特性,那么他们就可能会繁衍几代,并且将这种优秀的特性传给下一代。蜕变是在选择的过程中逐渐发生的,全体种群会逐渐更好地适应环境。
图 1:自然选择事情事理示意图(图片来源:可汗学院「达尔文、进化与自然选择」:https://www.khanacademy.org/science/biology/her/evolution-and-natural-selection/a/darwin-evolution-natural-selection)。
(左)一群老鼠移动到了一个岩石颜色非常暗的地区。由于自然遗传的变异,有些老鼠毛色是玄色,有的则是棕褐色。(中)相较于玄色的老鼠来说,棕褐色的老师更随意马虎被肉食性鸟类创造。因此,褐色老鼠比玄色老鼠更频繁地被鸟类捕食。只有存活下来的老鼠到了生养年事后会留下后代。(右)由于玄色老鼠比褐色老鼠留下后代的机会更大,不才一代老鼠中玄色的占比上一代更高。
我们可以通过以下办法将蜕变算法概括为一种通用的优化方案:
假设我们想要优化一个函数 f(x),而且无法直接打算梯度。但是,我们在给定任意 x 的情形下仍旧可以评估 f(x),而且得到确定性的结果。我们认为随机变量 x 的概率分布 pθ(x) 是函数 f(x) 优化问题的一个较优的解,θ 是分布 pθ(x) 的参数。目标是找到 θ 的最优设置。
在给定固定分布形式(例如,高斯分布)的情形下,参数 θ 包含了最优解的知识,在一代与一代间进行迭代更新。
假设初始值为 θ,我们可以通过循环进行下面的三个步骤持续更新 θ:
1. 天生一个样本的种群 D={(xi,f(xi)},个中 xi∼pθ(x)。
2. 估计 D 中样本的「适应度」。
3. 根据适应度或排序,选择最优的个体子集,并利用它们来更新 θ。
在遗传算法(GA,另一种盛行的蜕变算办法类)中,x 是二进制编码的序列,个中 x∈{0,1}n。但是在蜕变策略中,x 仅仅是一个实数向量,x∈Rn。
二、大略的高斯蜕变策略
高斯蜕变策略是最根本、最经典的蜕变策略(干系阅读可参考:http://blog.otoro.net/2017/10/29/visual-evolution-strategies/)。它将 pθ(x) 建模为一个 n 维各向同性的高斯分布,个中 θ 仅仅刻画均值 μ 和标准差 σ。
给定 x∈Rn,大略的高斯蜕变策略的过程如下:
1. 初始化 θ=θ(0)以及蜕变代数计数器 t=0。
2. 通过从高斯分布中采样天生大小为 Λ 的后代种群:
个中,
3. 选择出使得 f(xi) 最优的 λ 个样本组成的子集,该子集被称为「精英集」。为了不失落一样平常性,我们可以考虑 D(t+1)中适应度排名靠前的 k 个样本,将它们放入「精英集」。我们可以将其标注为:
4. 接着,我们利用「精英集」为下一代种群估计新的均值和标准差:
5. 重复步骤 2—步骤 4,直到结果知足哀求。
三、协方差矩阵自适应蜕变策略(CMA-ES)
标准差 σ 决定了探索的程度:当 σ 越大时,我们就可以在更大的搜索空间中对后代种群进行采样。在大略高斯蜕变策略中,σ(t+1)与 σ(t)密切干系,因此算法不能在须要时(即置信度改变时)迅速调度探索空间。
「协方差矩阵自适应蜕变策略」(CMA-ES)通过利用协方差矩阵 C 跟踪分布上得到的样本两两之间的依赖关系,办理了这一问题。新的分布参数变为了:
个中,σ 掌握分布的整体尺度,我们常日称之为「步长」。
在我们深入研究 CMA-ES 中的参数更新方法前,不妨先回顾一下多元高斯分布中协方差矩阵的事情事理。作为一个对称阵,协方差矩阵 C 有下列良好的性子(详见「Symmetric Matrices and Eigendecomposition」:http://s3.amazonaws.com/mitsloan-php/wp-faculty/sites/30/2016/12/15032137/Symmetric-Matrices-and-Eigendecomposition.pdf;以及证明:http://control.ucsd.edu/mauricio/courses/mae280a/lecture11.pdf):
C 始终是对角阵
C 始终是半正定矩阵
所有的特色值都是非负实数
所有特色值都是正交的
C 的特色向量可以组成 Rn 的一个标准正交基
令矩阵 C 有一个特色向量 B=[b1,...,bn] 组成的标准正交基,相应的特色值分别为 λ12,…,λn2。令 D=diag(λ1,…,λn)。
C 的平方根为:
干系的符号和意义如下:
xi(t)∈Rn:第 t 代的第 i 个样本
yi(t)∈Rn:xi(t)=μ(t−1)+σ(t−1)yi(t)
μ(t):第 t 代的均值
σ(t):步长
C(t):协方差矩阵
B(t):将 C 的特色向量作为行向量的矩阵
D(t):对角线上的元素为 C 的特色值的对角矩阵
pσ(t):第 t 代中用于 σ 的蜕变路径
pc(t):第t 代中用于 C 的蜕变路径
αμ:用于更新 μ 的学习率
ασ:pσ的学习率
dσ:σ 更新的衰减系数
Αcp:pc的学习率
αcλ:矩阵 C 的秩 min(λ, n) 更新的学习率
αc1:矩阵 C 的秩 1 更新的学习率
1、更新均值
CMA-ES 利用 αμ≤1 的学习率掌握均值 μ 更新的速率。常日情形下,该学习率被设置为 1,从而使上述等式与大略高斯蜕变策略中的均值更新方法相同:
2、掌握步长
采样过程可以与均值和标准差的更新解耦:
参数 σ 掌握着分布的整体尺度。它是从协方差矩阵等分离出来的,以是我们可以比改变完全的协方差更快地改变步长。步长较大会导致参数更新较快。为了评估当前的步长是否得当,CMA-ES 通过将连续的移动步长序列相加
,构建了一个蜕变路径(evolution path)pσ。通过比较该路径与随机选择(意味着每一步之间是不干系的)状态下期望会天生的路径长度,我们可以相应地调度 σ(详见图 2)。
图 2:将每一步蜕变以不同的办法关联起来的三种情形,以及它们对步长更新的影响。(左)每个步骤之间相互抵消,因此蜕变路径很短。(中)空想情形:每个步骤之间并不干系。(右)每个步骤指向同一个方向,因此蜕变路径较长。(图片来源:CMA-ES 教程论文中图 5 的附加注释,https://arxiv.org/abs/1604.00772)
每次蜕变路径都会以同代中的均匀移动步长 yi 进行更新。
通过与 C-1/2 相乘,我们将蜕变路径转化为与其方向相独立的形式。
的事情事理如下:
1. B(t)包含 C 的特色向量的行向量。它将原始空间投影到了正交的主轴上。
2.
将各主轴的长度放缩到相等的状态。
3. B(t)⊤将空间转换回原始坐标系。
为了给最近几代的种群授予更高的权重,我们利用了「Polyak均匀 」算法(均匀优化算法在参数空间访问轨迹中的几个点),以学习率 ασ更新蜕变路径。同时,我们平衡了权重,从而使pσ在更新前和更新后都为服从 N(0,I) 的共轭分布(更新前后的先验分布和后验分布类型相同)。
随机选择得到的Pσ 的期望长度为 E‖N(0,I)‖,该值是服从 N(0,I) 的随机变量的 L2 范数的数学期望。按照图 2 中的思路,我们将根据 ‖pσ(t+1)‖/E‖N(0,I)‖ 的比值调度步长:
个中,dσ≈1 是一个衰减参数,用于放缩 lnσ被改变的速率。
3、自适应协方差矩阵
我们可以利用精英样本的 yi从头开始估计协方差矩阵(yi∼N(0,C))
只有当我们选择出的种群足够大,上述估计才可靠。然而,在每一代中,我们确实希望利用较小的样本种群进行快速的迭代。这便是 CMA-ES 发明了一种更加可靠,但同时也更加繁芜的办法去更新 C 的缘故原由。它包含两种独立的蜕变路径:
秩 min(λ, n) 更新:利用 {Cλ} 中的历史,在每一代中都是从头开始估计的。
秩 1 更新:根据历史估计移动步长 yi以及符号信息
第一条路径根据 {Cλ} 的全部历史考虑 C 的估计。例如,如果我们拥有很多代种群的履历,
便是一种很好的估计办法。类似于 pσ,我们也可以利用「polyak」均匀,并且通过学习率引入历史信息:
常日我们选择的学习率为:
第二条路径试图办理 yiyi⊤=(−yi)(−yi)⊤丢失符号信息的问题。与我们调度步长 σ 的方法相类似,我们利用了一个蜕变路径 pc来记录符号信息,pc仍旧是种群更新前后都服从于 N(0,C) 的共轭分布。
我们可以认为 pc是另一种打算 avgi(yi) 的(请把稳它们都服从于 N(0,C)),此时我们利用了完全的历史信息,并且能够保留符号信息。请把稳,在上一节中,我们已经知道了
,pc的打算方法如下:
接下来,我们可以根据通过 pc 更新协方差矩阵:
当 k 较小时,秩 1 更新方法相较于秩 min(λ, n) 更新有很大的性能提升。这是由于我们在这里利用了移动步长的符号信息和连续步骤之间的干系性,而且这些信息可以随着种群的更新被一代一代通报下去。
末了,我们将两种方法结合起来:
在上面所有的例子中,我们认为每个精良的样本对付权重的贡献是相等的,都为 1/λ。该过程可以很随意马虎地被扩展至根据详细表现为抽样得到的样本授予不同权重 w1,…,wλ的情形。详情请参阅教程:「The CMA Evolution Strategy: A Tutorial」(https://arxiv.org/abs/1604.00772)
图 3:CMA-ES 在二维优化问题上的事情事理示意图(颜色越亮的部分性能越好)。黑点是当前代中的样本。样本在初始阶段较分散,但当模型在后期较有信心找到较好的解时,样本在全局最优上变得非常集中。样本在初始阶段较分散,但当模型在后期以更高的置信度找到较好的解时,样本汇合中于全局最优点。
四、自然蜕变策略
自然蜕变策略(Wierstra 等人于 2008 年揭橥的 NES,论文地址:https://arxiv.org/abs/1106.4487)在参数的搜索分布上进行优化,并将分布朝着自然梯度所指向的高适应度方向移动。
1、自然梯度
给定一个参数为 θ 的目标函数 J(θ),我们的目标是找到最优的 θ,从而最大化目标函数的值。朴素梯度会以当前的 θ 为出发点,在很小的一段欧氏间隔内找到最「陡峭」的方向,同时我们会对参数空间施加一些间隔的限定。换而言之,我们在 θ 的绝对值发生眇小变革的情形下打算出朴素梯度。优化步骤如下:
不同的是,自然梯度用到了参数为 θ, pθ(x)(在 NES 的原始论文中被称为「搜索分布」,论文链接:https://arxiv.org/abs/1106.4487)的概率分布空间。它在分布空间中的一小步内探求最「陡峭」(变革最快)的方向,个中间隔由 KL 散度来度量。在这种限定条件下,我们担保了每一步更新都是沿着分布的流形以恒定的速率移动,不会由于其曲率而减速。
2、利用 Fisher 信息矩阵进行估计
但是,如何精确地皮算出 KL[pθ‖pθ+Δθ] 呢?通过推导 logpθ+d在 θ 处的泰勒展式,我们可以得到:
个中,
请把稳,pθ(x) 是概率分布。终极,我们得到了:
个中,Fθ 被称为 Fisher 信息矩阵。由于E[∇θlogpθ]=0,以是 Fθ 也是 ∇θlogpθ的协方差矩阵:
针对以下的优化问题:
我们可以通过拉格朗日乘子法找到上述问题的解:
个中 dN∗仅仅提取了忽略标量 β−1的情形下,在 θ 上最优移动步长的方向。
图 4:右侧的自然梯度样本(玄色实箭头)是左侧的朴素梯度样本(玄色实箭头)乘以其协方差的逆的结果。这样一来,可以用较小的权重惩罚具有高不愿定性的梯度方向(由与其它样本的高协方差表示)。因此,合成的自然梯度(赤色虚箭头)比原始的自然梯度(绿色虚箭头)更加可信(图片来源:NES 原始论文中图 2 的附加解释,https://arxiv.org/abs/1106.4487)
3、NES 算法
我们将与一个样本相关联的适应度标记为 f(x),关于 x 的搜索分布的参数为 θ。我们希望 NES 能够优化参数 θ,从而得到最大的期望适应度:
在这里,我们利用与蒙特卡洛策略梯度强化中相同的似然打算技巧:
除了自然梯度,NES 还采取了一些主要的启示式方法让算法的性能更加鲁棒。
NES 运用了基于排序的适应度塑造(Rank-Based Fitness Shaping)算法,即利用适应度值单调递增的排序结果,而不是直策应用 f(x)。它也可以是对「效用函数」进行排序的函数,我们将其视为 NES 的一个自由参数。
NES 采取了适应性采样(Adaptation Sampling)在运行时调度超参数。当进行 θ→θ′ 的变换时,我们利用曼-惠特尼 U 考验( [Mann-Whitney U-test)比拟从分布 pθ上采样得到的样本以及从分布 pθ′ 上采样得到的样本。如果涌现正或负符号,则目标超参数将减少或增加一个乘法常数。请把稳,样本 xi′∼pθ′(x) 的得分利用了主要性采样权重 wi′=pθ(x)/pθ′(x)。
五、运用:深度强化学习中的蜕变策略
1、OpenAI 用于强化学习的蜕变策略
将蜕变算法运用于强化学习的想法可以追溯到良久以前的论文「Evolutionary Algorithms for Reinforcement Learning」(论文地址:https://arxiv.org/abs/1106.0221),但是由于打算上的限定,这种考试测验仅仅止步于「表格式」强化学习(例如,Q-learning)。
受到 NES 的启示,OpenAI 的研究职员(详见 Salimans 等人于 2017 年揭橥的论文「Evolution Strategies as a Scalable Alternative to Reinforcement Learning」,论文链接:https://arxiv.org/abs/1703.03864)提出利用 NES 作为一种非梯度黑盒优化器,从而探求能够最大化返回函数 F(θ) 的最优策略参数 θ。
这里的关键是,为模型参数 θ 加入高斯噪声 ε,并利用似然技巧将其写作高斯概率密度函数的梯度。终极,只剩下噪声项作为衡量性能的加权标量。
假设当前的参数值为 θ^(差异于随机变量 θ)。我们将 θ 的搜索分布设计为一个各向同性的多元高斯分布,其均值为 θ^,协方差矩阵为 σ2I
θ 更新的梯度为:
个中,高斯分布为
。
是我们用到的似然打算技巧。
在每一代中,我们可以采样得到许多 εi,i=1,…,n,然后并行地估计其适应度。一种优雅的设计办法是,无需共享大型模型参数。只须要在各个事情线程之间通报随机种子,就足以本家儿线程节点进行参数更新。随后,这种方法又被拓展成了以自适应的方试学习丢失函数。详情请查阅博文「Evolved Policy Gradient」:
https://lilianweng.github.io/lil-log/2019/06/23/meta-reinforcement-learning.html#meta-learning-the-loss-function
图 5:利用蜕变策略演习一个强化策略的算法(图片来源:论文「ES-for-RL」,https://arxiv.org/abs/1703.03864)
为了使算法的性能更加鲁棒,OpenAI ES 采取了虚拟批量归一化(Virtual BN,用于打算固定统计量的 mini-batch 上的批量归一化方法),镜面采样(Mirror Sampling,采样一对 (−ϵ,ϵ) 用于估计),以及适应度塑造(Fitness Shaping)技巧。
2、利用蜕变策略进行探索
在强化学习领域,「探索与利用」是一个很主要的课题。上述蜕变策略中的优化方向仅仅是从累积返回函数 F(θ) 中提取到的。在不进行显式探索的情形下,智能体可能会陷入局部最优点。
新颖性搜索(Novelty-Search)蜕变策略(NS-ES,详见 Conti 等人于 2018 年揭橥的论文「Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-Seeking Agents」,论文地址:https://arxiv.org/abs/1712.06560)通过朝着最大化「新颖性得分」的方向更新参数来促进探索。
「新颖性得分」取决于一个针对付特定领域的行为特色函数 b(πθ)。对 b(πθ) 的选择取决于特定的任务,并且彷佛具有一定的随机性。例如,在论文里提到的人形机器人移动任务中,b(πθ) 是智能体终极的位置 (x,y)。
1. 将每个策略的 b(πθ) 加入一个存档凑集 A。
2. 通过 b(πθ) 和 A 中所有其它实体之间的 K 最近邻得分衡量策略 πθ的新颖性。(文档凑集的用例与「情节影象」很相似)
在这里,蜕变策略优化步骤依赖于新颖性得分而不是适应度:
NS-ES 掩护了一个由 M 个独立演习的智能体组成的凑集(「元-种群」),M={θ1,…,θM}。然后选择个中的一个智能体,将其按照与新颖性得分成正比的程度蜕变。终极,我们选择出最佳策略。这个过程相称于集成,在 SVPG 中也可以看到相同的思想。
个中,N 是高斯扰动噪声向量的数量,α 是学习率。
NS-ES 完备舍弃了褒奖函数,仅仅针对新颖性进行优化,从而避免陷入极具迷惑性的局部最优点。为了将适应度重新考虑到公式中,研究职员又提出了两种变体。
NSR-ES:
NSRAdapt-ES (NSRA-ES):自适应的权重参数初始值为 w=1.0。如果算法的性能经由了很多代之后没有变革,我们就开始降落 w。然后,当性能开始提升时,我们停滞降落 w,反而增大 w。这样一来,当性能停滞提升时,模型更倾向于提升适应度,而不是新颖性。
图 6:(左图)环境为人形机器人移动问题,该机器人被困在一个三面环抱的强中,这是一个具有迷惑性的陷阱,创造了一个局部最优点。(右图)实验比拟了 ES 基线和另一种促进探索的变体。(图片来源,论文「NS-ES」,https://arxiv.org/abs/1712.06560)
3、CEM-RL
图 7:CEM-RL 和 ERL 算法(https://papers.nips.cc/paper/7395-evolution-guided-policy-gradient-in-reinforcement-learning.pdf)的架构示意图(图片来源:论文「CEM-RL」,https://arxiv.org/abs/1810.01222)
CEM-RL 方法(详见 Pourchot 和 Sigaud 等人于 2019 年揭橥的论文「CEM-RL: Combining evolutionary and gradient-based methods for policy search」,论文地址:https://arxiv.org/abs/1810.01222)结合了交叉熵方法(CEM)和 DDPG 或 TD3。
在这里,CEM 的事情事理与上面先容的大略高斯蜕变策略基本相同,因此可以利用 CMA-ES 更换相同的函数。CEM-RL 是基于蜕变强化学习(ERL,详见 Khadka 和 Tumer 等人于 2018 年揭橥的论文「Evolution-Guided Policy Gradient in Reinforcement Learning」,论文地址:https://papers.nips.cc/paper/7395-evolution-guided-policy-gradient-in-reinforcement-learning.pdf)的框架构建的,它利用标准的蜕变算法选择并蜕变「Actor」的种群。随后,在这个过程中天生的首次展示履历也会被加入到履历回放池中,用于演习强化学习的「Actor」网络和「Critic」网络。
事情流程:
1. πμ 为 CEM 种群的「Actor」均匀值,利用随机的「Actor」网络对其进行初始化。
2. 「Critic」网络 Q 也将被初始化,通过 DDPG/TD3 算法对其进行更新。
3. 重复以下步骤直到知足哀求:
在分布 N(πμ,Σ) 上采样得到一个「Actor」的种群。
评估一半「Actor」的种群。将适应度得分用作累积褒奖 R,并将其加入到履历回放池中。
将另一半「Actor」种群与「Critic」一同更新。
利用性能最佳的精良样本打算出新的 πmu和 Σ。也可以利用 CMA-ES 进行参数更新。
六、拓展:深度学习中的蜕变算法
(本章并没有直接谈论蜕变策略,但仍旧是非常有趣的干系阅读材料。)
蜕变算法已经被运用于各种各样的深度学习问题中。「POET」(详见 Wang 等人于 2019 年揭橥的论文「Paired Open-Ended Trailblazer (POET): Endlessly Generating Increasingly Complex and Diverse Learning Environments and Their Solutions」,论文地址:https://arxiv.org/abs/1901.01753)便是一种基于蜕变算法的框架,它试图在办理问题的同时天生各种各样不同的任务。关于 POET 的详细先容请参阅下面这篇关于元强化学习的博文:https://lilianweng.github.io/lil-log/2019/06/23/meta-reinforcement-learning.html#task-generation-by-domain-randomization。
另一个例子则是蜕变强化学习(ERL),详见图 7(b)。
下面,我将更详细地先容两个运用实例:基于种群的演习(PBT),以及权重未知的神经网络(WANN)
1、超参数调优:PBT
图 8:比拟不同的超参数调优办法的范例(图片来源:论文「Population Based Training of Neural Networks」,https://arxiv.org/abs/1711.09846)
基于种群的演习(PBT,详见 Jaderberg 等人于 2017 年揭橥的论文「Population Based Training of Neural Networks」,论文地址:https://arxiv.org/abs/1711.09846)将蜕变算法运用到了超参数调优问题中。它同时演习了一个模型的种群以及相应的超参数,从而得到最优的性能。
PBT 过程起初拥有一组随机的候选解,它们包含一对模型权重的初始值和超参数 {(θi,hi)∣i=1,…,N}。我们会并行演习每个样本,然后周期性地异步评估其自身的性能。当一个成员准备好后(即该成员进行了足够的梯度更新步骤,或当性能已经足够好),就有机会通过与全体种群进行比拟进行更新:
「exploit」:当模型性能欠佳时,可以用性能更好的模型的权重来替代当前模型的权重。
「explore」:如果模型权重被重写,「explore」步骤会利用随机噪声扰动超参数。
在这个过程中,只有性能良好的模型和超参数对会存活下来,并连续蜕变,从而更好地利用打算资源。
图 9:基于种群的演习算法示意图。(图片来源,论文「Population Based Training of Neural Networks」,https://arxiv.org/abs/1711.09846)
2、网络拓扑优化:WANN
权重未知的神经网络(WANN,详见 Gaier 和 Ha 等人于 2019 年揭橥的论文「Weight Agnostic Neural Networks」,论文地址:https://arxiv.org/abs/1906.04358)在不演习网络权重的情形下,通过搜索最小的网络拓扑来得到最优性能。
由于不须要考虑网络权值的最佳配置,WANN 更加强调网络架构本身,这使得它的重点与神经网络架构搜索(NAS)不同。WANN 在蜕变网络拓扑的时候深深地受到了一种经典的遗传算法「NEAT」(增广拓扑的神经蜕变,详见 Stanley 和 Miikkulainen 等人于 2002 年揭橥的论文「Efficient Reinforcement Learning through Evolving Neural Network Topologies」,论文地址:http://nn.cs.utexas.edu/downloads/papers/stanley.gecco02_1.pdf)的启示。
WANN 的事情流程看上去与标准的遗传算法基本同等:
1. 初始化:创建一个最小网络的种群。
2. 评估:利用共享的权重值进行测试。
3. 排序和选择:根据性能和繁芜度排序。
4. 变异:通过改变最佳的网路来创建新的种群。
图 10::WANN 中用于搜索新网络拓扑的变异操作。(从左到右分别为)最小网络,嵌入节点,增加连接,改变激活值,节点的激活。
在「评估」阶段,我们将所有网络权重设置成相同的值。这样一来,WANN 实际上是在探求可以用最小描述长度来描述的网络。在「选择」阶段,我们同时考虑网络连接和模型性能。
图 11:将 WANN 创造的网络拓扑在不同强化学习任务上的性能与常用的基线 FF 网络进行了比较。「对共享权重调优」只须要调度一个权重值。
如图 11 所示,WANN 的结果是同时利用随机权重和共享权重(单一权重)评估得到的。有趣的是,纵然在对所有权重实行权重共享并对付这单个参数进行调优的时候,WANN 也可以创造实现非常出色的性能的拓扑。
参考文献
[1] Nikolaus Hansen. “The CMA Evolution Strategy: A Tutorial” arXiv preprint arXiv:1604.00772 (2016).
[2] Marc Toussaint. Slides: “Introduction to Optimization”
[3] David Ha. “A Visual Guide to Evolution Strategies” blog.otoro.net. Oct 2017.
[4] Daan Wierstra, et al. “Natural evolution strategies.” IEEE World Congress on Computational Intelligence, 2008.
[5] Agustinus Kristiadi. “Natural Gradient Descent” Mar 2018.
[6] Razvan Pascanu & Yoshua Bengio. “Revisiting Natural Gradient for Deep Networks.” arXiv preprint arXiv:1301.3584 (2013).
[7] Tim Salimans, et al. “Evolution strategies as a scalable alternative to reinforcement learning.” arXiv preprint arXiv:1703.03864 (2017).
[8] Edoardo Conti, et al. “Improving exploration in evolution strategies for deep reinforcement learning via a population of novelty-seeking agents.” NIPS. 2018.
[9] Aloïs Pourchot & Olivier Sigaud. “CEM-RL: Combining evolutionary and gradient-based methods for policy search.” ICLR 2019.
[10] Shauharda Khadka & Kagan Tumer. “Evolution-guided policy gradient in reinforcement learning.” NIPS 2018.
[11] Max Jaderberg, et al. “Population based training of neural networks.” arXiv preprint arXiv:1711.09846 (2017).
[12] Adam Gaier & David Ha. “Weight Agnostic Neural Networks.” arXiv preprint arXiv:1906.04358 (2019).
viahttps://lilianweng.github.io/lil-log/2019/09/05/evolution-strategies.html雷锋网 AI 科技评论编译 雷锋网