这种红字部分
是我做的补充解释,非原文内容。在生物学中,早熟物种(precocial species)是指那些从出生那一刻起就已经拥有某些能力的物种。有证据表明,新生的蜥蜴和小蛇就已经具备了逃离掠食者的行为。在孵化后不久,小鸭子就能自主游泳并进食了,火鸡也能目视分辨捕食者。相反,当我们训练一个人工智能执行某项任务时,我们通常选择一个我们认为适合为此任务编码策略的网络结构,并用学习算法找到该策略的权重参数。在这项工作中,我们受到自然中进化的早熟行为启发,开发了具有特定结构的神经网络,即使它们的权重参数是随机采样的,这些结构也天然地具有执行给定任务的能力。通过使用这样的神经网络结构,我们的人工智能体已经可以在他们的环境中很好地工作,而不需要学习权值参数。
图1:权重无关神经网络的示例:两足步行者(左),赛车(右)。我们寻找网络结构时不再 重视权重参数。我们不再使用传统的训练过程,而是在每一轮rollout时为网络分配一个单一的共享权重。网络结构在很大的权重范围内为预期性能进行了优化,可以在不需要权重训练的情况下执行许多任务。
数十年的神经网络研究已经为各种任务领域提供了具有强烈归纳偏差的构建模块。比如卷积网络特别适用于图像处理。最近的工作表明,即使是随机初始化的CNNs也可以有效地用于图像处理任务,如超分辨率、图像修复、风格迁移等等。Schmidhuber等人已经证明,具有学习线性输出层的随机初始化LSTM可以预测传统reservoir-based RNNs所无法预测的时间序列。近期自我注意力(self-attention)和胶囊(capsule)网络的发展扩展了用于构建模块的工具包,我们可以用这些工具包创建对各种任务具有很强的归纳偏差的架构。被随机初始化的CNNs和LSTMs的内在能力所吸引,我们的目标是寻找权重无关的神经网络结构,这种结构具有很强的归纳偏差,以至于可以用随机权重执行各种任务。
关于归纳偏差说明(本段非原文内容):
下面给出一些可以体现归纳偏差的示例,这篇论文的WANNs就属于第三种。通过搜索算法找到的网络结构,具有足够强的归纳偏差,这种结构天然地具有得到正确结果的趋势,所以连接的权重相对而言不再重要了(举个例子,就好像有一个斜坡,放在坡面上的球天然地具有滚下来的趋势,斜坡的角度并不重要)。根据后文的说明,WANNs的网络结构中,所有连接的权重是一致的,也就是所谓的共享权重
图2:使用随机权重的MNIST分类网络架构,这些网络不仅易于训练,而且还提供了其他优势。例如,我们可以给同一个网络一个(未经训练的)权值集合来提高性能,而不需要显式地训练任何权值参数。传统的随机初始化网络在MNIST上的精度约为10%,而这种特定的网络结构在随机权值的MNIST上的精度(> 80%)远远优于随机初始化网络。在不进行任何权重训练的情况下,当我们使用未经训练的权重集合时,准确率可提高到> 90%。
为了寻找这种具有强归纳偏差的神经网络结构,我们提出通过弱化权值的重要性来寻找结构的方法。这是通过
来实现的。我们没有优化固定结构网络的权值,而是优化那些在大范围的权值范围内运行良好的网络结构。我们已经证明:我们的方法可以产生 使用一个随机权值并能够按预期执行各种连续控制任务的网络。作为概念证明,我们还将搜索方法应用于监督学习领域,发现它可以找到合适的网络结构,即使没有经过显式的权重训练,在MNIST上也可以获得比随机测试更高的准确率(∼92%)。我们希望我们对这种权重无关神经网络的演示将鼓励进一步的研究,探索新的神经网络构建模块,这些模块不仅具有有用的归纳偏差,而且训练它们时不一定限于基于梯度的方法。
Architecture Search (网络架构搜索)
(本质就是把遗传算法用于神经网络的自动构建,因此过程中需要反复进行“修改-训练-评估”的迭代过程,其中训练部分使得算法复杂度上升很多)
。为了获得SOTA结果,最新的方法将搜索空间缩小到由具有强领域先验性的基本构建基块(例如CNN,递归单元格和自我注意机制)组成的体系结构。如果使用这种先验,则随机搜索方法已经可以实现SOTA结果。概括一下说:WANNs使用类似NEAT的遗传算法来搜索网络拓补结构,并且由于WANNs不需要进行权值训练,所以搜索效率更高
Bayesian Neural Networks(贝叶斯深度学习)
Algorithmic Information Theory(算法信息论)
概括一下说:WANNs致力于搜索实现要求的前提下结构最简单的网络
Network Pruning (网络剪枝)
概括一下说:网络剪枝是一种简化网络和搜索网络的方法,但是WANNs并没有用这种方法,它是通过从零开始不断添加节点和连接的方法进行搜索的
Neuroscience(神经科学)
创建编码解决方案的网络体系结构是一个与神经体系结构搜索(NAS)所解决的问题完全不同的问题。NAS技术的目标是生成一种结构,这种结构一旦经过训练,就会超过人类设计的结构。从来没有人声称这个解决方案(的性能)是网络结构固有的。虽然NAS创建的网络是非常可训练的”——但是没有人认为这些网络不训练权重就能完成任务。权重是解决方案,而所发现的架构仅仅是一个更好的承载权重的基底。
要想生成仅靠网络结构自身编码解决方案的网络,就必须使权重的重要性最小化。因此与其用最优权值来判断网络的性能,不如用随机分布的权值来衡量网络的性能。用权值抽样代替权值训练可以确保性能仅是网络拓扑结构的产物。不幸的是,由于高维性,除了最简单的网络外,可靠的权空间采样是不可行的。
虽然维数问题阻碍了我们对高维权值空间的有效采样,但是通过强制所有网络连接共享权值,权值的数量减少到一个。系统地对单个权重值进行抽样是直接而有效的,这使我们能够在少量试验中近似网络性能。这种近似方法可以用来驱动对更好网络结构的搜索。
搜索权重无关的神经网络(WANNs)的过程可以概括如下:
图3:权重无关神经网络搜索概述:
权重无关神经网络搜索,(相比于传统网络训练)不再需要权重训练,而是在每次部署时采样一个共享的权重。通过多轮部署评估网络,在每次部署时,都重新分配共享权重,并记录试验期间的累计奖励。然后根据性能和复杂性对网络种群进行排序。接下来概率性地选择排名最高的网络,并随机变化,形成一个新的种群,最后重复这个过程。
拓补结构搜索 搜索神经网络拓扑结构时采用的操作受到了完善的神经演化算法NEAT的启发。NEAT算法中网络的拓扑结构和权值同时进行优化,而我们忽略权值,只对拓补结构应用搜索操作。
初始种群由稀疏连接的网络组成,这些网络没有隐层节点,只有输入层和输出层之间可能有一小部分连接。通过使用以下三种操作之一修改现有网络来创建新网络:插入节点、添加连接或更改激活函数。为了插入一个节点,我们将一个原有的连接分成两个,这两个连接都通过这个新的隐层节点,这个新节点的激活函数是随机分配的。增加连接时,我们基于网络的前馈特性,在先前未连接的节点之间添加新的连接。当修改隐节点的激活函数时,随机分配激活函数。激活函数包括普通函数(如线性函数、s形函数、ReLU函数)和更特殊的函数(高斯函数、正弦函数、阶跃函数),它们编码了输入和输出之间的各种关系。
图4:搜索网络拓扑空间的操作
左:一个最小的网络拓扑,输入和输出只部分连接。
中间:网络的改变有三种方式。插入节点:通过分割原有连接插入新节点;添加连接:通过连接两个以前未连接的节点来添加新连接。更改激活函数:重新分配隐藏节点的激活函数。
右:在[2,2]范围内可能的激活函数(线性、阶跃、正弦、余弦、高斯、tanh、sigmoid、绝对值、反变换(即负线性)、ReLU)。
性能和复杂度 使用几个共享的权重值来评估网络的拓扑结构。在每次部署时,都会为所有连接分配一个新的权重值,并在任务上测试网络。在这些实验中,我们使用一系列固定的权重值([−2,−1,−0.5,+0.5,+1,+2])来减少评估之间的差异。我们使用这些不同的权重值部署网络,对每次部署中网络获得的积累奖励(cumulative reward)计算均值,从而计算出网络拓扑结构的平均性能。
4
受算法信息论的启发,我们并不关注所有权重无关神经网络,而是仅关注那些可以用最小描述长度来描述的网络。给定两个性能相似的不同网络,我们倾向于更简单的网络。通过将搜索定义为一个多目标优化问题,我们在对网络进行排名时同时考虑了网络的大小及性能。
我们应用来自[16]的连接成本技术(connection cost technique)来生成更简单、模块化和可演化的网络。网络拓扑结构根据三个标准进行评估:所有权值部署的平均性能、单个最佳权值的最佳性能和网络中的连接数。我们并没有尝试为每个新任务使用手工制作的奖励函数来平衡这些标准,而是基于优势关系[20](dominance relations)对解决方案进行排序。
以这种方式对网络进行排名要求复杂性的任何增加都伴随着性能的提高。在鼓励最小化和模块化网络的同时,这种约束可能会导致更大的结构变化——可能需要多次添加才能提升性能——这很难实现。为了放宽这一限制,我们只按概率性复杂度排序:在80%的情况下,网络是根据平均性能和连接数排序的,在其他20%的情况下,则是根据平均性能和最大性能排序的。(就是说:如果过于强调连接数少,可能导致多轮迭代后性能提升一直不多
)
连续控制:我们通过三个连续的控制任务来评估权重无关神经网络(WANNs)。
第一个是倒立摆(swingup),这是一个经典的控制问题,在这个控制问题中,给定了一个车杆系统,一根杆必须从静止状态摆动到垂直位置,然后保持平衡,而不让推车超出轨道的范围。这相比简单的车杆(CartPole)控制任务[11]更有挑战性,因为倒立摆任务要求摆杆保持垂直。与更简单的任务不同,它不能用线性控制器来解决[93,113]。每一个时间步长的奖励基于车到赛道边缘的距离和杆的角度给出。我们的环境与[28,129]中描述的环境非常相似。
第二个任务是引导一个两腿机器人通过随机生成的地形。根据运动的距离计算奖励,同时还有和电机的扭矩相关的扣分项,用以鼓励更有效率的运动。每条腿都由髋关节和膝关节组成,根据24种输入进行控制,其中包括激光雷达传感器,它可以探测地形和本体感受信息,比如机器人的关节速度。与低维的CartPoleSwingUp相比,BipedalWalker-v2有大量可能的连接,这要求WANNs对输入到输出的连接更有选择性。
第三种,CarRacing-v0[11],是一种像素环境中自顶向下视角的汽车比赛。神经网络的任务是控制一辆由三个连续指令(油门、转向、刹车)控制的汽车,在限定的时间内通过尽可能多的随机生成的轨道。按照[39]中描述的方法,我们将控制任务的像素解释工作委托给一个预先训练的变分自编码器54,96,该编码器将像素表示压缩到16个潜在维度。这些维度作为网络的输入。这项任务通过检查网络使用习得特征的表现,测试WANNs学习抽象关联的能力,而不是像之前的任务那样对要求WANNs对具有显式几何关系的输入进行编码。将文献[38,39]中发现的手工设计的网络与每个任务中发现的最佳权重无关网络进行比较。我们比较了以下4种情况下100次试验的平均表现。
表1:连续控制任务中随机采样和训练的权值的性能
我们比较了最好的权重无关网络和在以前的工作中常用的标准前馈网络策略的平均性能(超过100次试验)(例如,我们对两足动物使用[111]的SOTA基线,对赛车使用[108]的SOTA基线)。通过使用从均匀分布中采样的共享权重来衡量网络拓扑结构的性能,可以观察到网络拓扑结构的归纳偏差。通过调整此共享的权重参数,我们可以测量其最大性能。为了便于与基准架构进行比较,我们还进行了补充实验,允许网络在每个连接使用独立权重并进行调优训练。
结果总结在表1中。与用作基线的常规固定拓扑网络相反,常规的固定拓扑网络仅在广泛调整后才会产生有用的行为,而WANN甚至在随机共享权重下也能执行。虽然WANNs的体系结构编码导致了对解决方案强烈的归纳偏差,但WANNs并不是完全独立于权重值之外的——当单独的权重值被随机分配时,WANNs确实会失败。 WANN通过对输入和输出之间的关系进行编码来起作用,因此,尽管权重大小并不重要,但它们的一致性(尤其是符号的一致性)是至关重要的。单一共享权重的另一个好处是,无需使用基于梯度的方法,就可以轻松地调优这个单一参数。
即使不是最优的共享权重值也能产生令人满意的结果:摆杆几次摆动后平衡,步态虽然效率低但有效,开快车时抄近路。网络的基本行为完全编码在其体系结构中,WANNs不仅可以在没有训练的情况下进行工作,而且可以在训练权重后达到和传统方法类似的SOTA表现。
随着时间的推移,权重无关网络拓补结构的发展
第8代:早期的网络,几乎所有的权重都表现不佳。
第32代:建立了小车位置与杆速之间的关系。这些关系之间的相互作用同时产生了趋向稳定中心和位置摆杆垂直的行为。
第128代:增加了复杂性来细化摆杆垂直平衡时的行为。
第1024代:让演化运行更多代,以进一步细化架构。
由于发现的网络足够小,可以进行解释,我们可以通过查看网络图(见上图)来深入了解它们是如何工作的。分析解决CartPole SwingUp任务的WANN网络发展过程,我们可以看到关系是如何在网络结构中进行编码的。在最早的几代中,网络的空间基本上是随机探索的。到第32代,初步的结构出现了,导致了小车趋向中心的表现:三个反向器(图中3个inv的节点)应用到x的位置,防止滑车离开轨道。轨道的中心是0,左边是负的,右边是正的。通过在小车处于负位置时施加正的力,反之施加正的力,一个指向轨道中心的强吸引子被编码。
位置调节与dθ上的高斯激活函数之间的相互作用是由32代网络起,产生的向上起摆行为的原因。试验开始时,摆杆是固定的:dθ的高斯激活函数为1,并且施加了力。当极点移向边缘时,连接到x输入的节点(将推车保持在中心)开始发送反作用力信号。推车向边缘的前进速度变慢,加速度的变化导致摆杆摆动,dθ增大,因此减小了将推车推向边缘的信号。这种减速会导致摆杆进一步加速,从而使反馈环路运动,从而导致dθ信号的快速消散。最终使手推车向中心快速回弹,杆向上摆动。摆杆落下并稳定时,将重复相同的摆动行为,并且只要摆杆直立,控制器就会得到奖励。
随着搜索过程的继续,其中一些控制器在垂直位置上停留的时间比其他控制器长,到第128代时,停留的时间足够长,以至于可以保持摆杆的平衡。虽然这种更复杂的平衡机制在权重无关情况下比起摆和定心行为更不可靠,但可靠的起摆和定心行为可以确保系统恢复并再次尝试,直到找到一个平衡状态。值得注意的是,当这些网络编码关系并依赖于相互对立的系统之间的相互作用时,尽管共享权值取值范围很大,它们的行为也趋于一致。
用于双足步行者和赛车游戏的WANN控制器同样具有显著的简单性和模块化。在这个早期双足控制器中,仅使用25种可能的输入中的17种就能进行行走,忽略了许多激光雷达传感器和膝部速度。最好的WANN体系结构(如下图所示)不仅在不训练单个权重的情况下解决了这个任务,而且只使用了210个连接,比通常使用的拓扑少一个数量级(SOTA基线中使用了2804个连接[111])。
在赛车任务中编码稳定驾驶行为的网络结构也以其简单性而引人注目。只需要一个稀疏连接的两层网络(下图)和一个单一的权值,即可编码虽不完美但有效的驾驶行为
虽然SOTA模型[108]在预先训练的变分自编码器(VAE)(用来处理像素画面,输出一个16维向量)以外,还给出了一个隐藏状态的预训练RNN世界模型,但我们的控制器只对VAE输出的潜在空间进行操作。尽管如此,我们的搜索过程仍能够找到一个前馈控制器(如下图所示),并获得了类似的分数。未来的工作将探索消除搜索中的前馈约束的方法,以允许WANNs中新生的神经元与先前生成的神经元建立循环连接。
分类任务 WANN在强化学习任务上取得了不错的表现,这引导我们考虑WANN方法的应用范围。编码输入之间关系的WANNs非常适合于RL(强化学习)任务:低维输入与内部状态和环境相互作用相结合,可以帮助我们发现反应性的和自适应的控制器。然而,分类任务是一个不那么模糊和宽容的问题。与RL不同,网络架构设计长期以来一直是分类任务关注的焦点。作为概念验证,我们研究了WANNs在MNIST[113]数据集上的表现,MNIST数据集是一个图像分类任务,几十年来一直是人类主导的架构设计的重点[114,115,17]。
MNIST上的分类精度
用多个权值作为一个集合实例化的WANNs的性能远远好于随机采样权值的WANNs,达到了有数千权值的线性分类器的水平。
即使在这种高维的分类任务中,WANNs的表现也非常出色。尽管WANNs被限制在一个单一的权值上,他仍能对MNIST数字进行分类,就像一个通过梯度下降法训练了数千个权值的单层神经网络一样。WANNs创建的架构仍然保持灵活性,允许在其基础上进行权重训练,以进一步提高准确性。
共享权重取值和数字分类精度的关系
不存在在所有数字上的准确性都更好的共享权值。WANNs可以被实例化为几个不同的网络,这为使用权重集合创建网络带来了有趣的可能性。
要找到训练集上表现最好的值,可以简单地对权重范围进行扫描,但是WANNs的结构提供了另一种有趣的可能性。在每个权值下,WANN的预测结果是不同的。在MNIST上,这可以从每个数字的不同精度上看出。网络的每个权值都可以被看作是一个独立的分类器,这带来了使用一个具有多个权值的WANN作为自包含集合(self-contained ensemble)的可能性。
MNIST分类器
并不是所有的神经元和连接都被用来预测每一个数字。从特定数字的输出连接开始,我们可以找出用于分类该数字的那部分网络。我们还可以看到网络输入的哪些部分用于分类
在最简单的集成方法中,通过实例化一个WANN和一系列权值来创建一个网络集合。每个网络都有一张选票,合集根据得票最多的类别对样本进行分类。这种方法得到的预测结果比随机选择的权重值准确得多,只比可能的最佳权重差一点点。这种朴素集成的结果是成功的,这对于在进行预测或搜索体系结构时使用更复杂的集成技术进行试验是鼓舞人心的。