告别调参炼丹,谷歌“权重无关”神经网络开源
训练中 “权重” 有多重要不言而喻。但谷歌前段时间发表的研究表明,即使抛弃神经网络权重训练,使用随机共享权重,也可以执行各种任务。
他们提出一种新的神经网络结构的搜索方法——权重无关神经网络(Weight Agnostic Neural Networks,WANN),其关键思想是通过不再强调权重来搜索网络结构。
今天,该研究的两位作者、谷歌大脑学生研究员 Adam Gaier和研究科学家David Ha在Google AI博客上撰文,介绍了该研究的核心思想和重要细节,并宣布WANN的代码已经在GitHub上开源,以便让广泛的研究社区重现WANN实验。
开源地址:
https://github.com/google/brain-tokyo-workshop/tree/master/WANNRelease
告别调参炼丹,使用随机共享权重足矣!
当训练神经网络完成一项给定任务时,无论是图像分类还是强化学习,通常都需要调优与网络中每个连接相关的一组权重。另一种已经取得实质性进展的成功的神经网络创建方法是神经架构搜索,它利用人工设计的组件(如卷积网络组件或transformer blocks)来构建神经网络架构。
研究表明,利用这些组件构建的神经网络结构,如深度卷积网络,对图像处理任务具有很强的归纳偏差,甚至可以在权重随机初始化的情况下执行。虽然神经架构搜索提供了一些新的方法,可以为当前的任务域安排具有已知归纳偏差的手工工程组件,但在自动发现具有此类归纳偏差的新神经网络架构(用于不同的任务域)方面几乎没有进展。
我们可以用一个先天和后天的例子作为类比。正如生物学中某些从出生起就具有反捕食行为的物种一样,他们无需学习就能执行复杂的运动和感官任务,或许我们可以构建一个不需要训练就能很好地完成任务的神经网络。当然,这些自然物种(作为类比,人工神经网络)通过训练可以得到进一步的改善,但它们即使不学习也能执行任务的能力表明,它们包含使它们非常适合于这些任务的偏差。
在“权重无关神经网络”(WANN)论文中,我们提出了搜索具有这类偏差的网络的第一步:即使使用随机共享的权重,也可以执行各种任务的神经网络架构。
我们在这项工作中的动机是,在不学习任何权重参数的情况下,仅神经网络架构能在多大程度上编码给定任务的解决方案。通过探索这样的神经网络架构,我们提出了一种无需学习权重参数就能在其环境中运行良好的智能体。
此外,为了促进该领域的进步,我们还开放了源代码,以便更广泛的研究社区重现我们的WANN实验。
左图:一个手工设计的、完全连接的深度神经网络,有2760个权重连接。利用一种学习,我们可以求解2760个权重参数的集合,使该网络能够执行一个双足步行任务(BipedalWalker-v2)。
右图:一个权重无关的神经网络架构,只有44个连接,但同样能够执行双足步行任务。与完全连接网络不同的是, WANN仍然可以执行任务,而不需要训练每个连接的权重参数。实际上,为了简化训练,WANN被设计成在每个权重连接的值相同或共享时执行,甚至就算共享权重参数是随机采样的,也会起作用。
搜索权重无关神经网络
我们从一组最小的神经网络架构候选对象开始,每个候选对象只有很少的连接,并使用一个完善的拓扑搜索算法(NEAT),通过逐个地添加单个连接和单个节点来演化架构。
WANN背后的关键思想是通过不再强调权重来搜索架构。与传统的神经架构搜索方法不同,新架构的所有权重参数都需要使用学习算法进行训练,我们采用了一种更简单、更有效的方法。
在搜索过程中,首先在每次迭代中为所有候选架构分配一个共享权重值,然后进行优化,以便在更宽的共享权重值范围内执行良好。
用于搜索网络拓扑空间的运算符
左:一个最小的网络拓扑结构,输入和输出仅部分连接。
中间:网络的改变有三种方式:
(1)插入节点:通过分割现有连接插入新节点。
(2)添加连接:通过连接两个先前未连接的节点来添加一个新连接。
(3)更改激活:重新分配隐藏节点的激活函数。
右:可能的激活函数(线性,阶跃,正弦, 余弦,高斯,tanh, sigmoid,inverse,值,ReLU)
除了探索一系列与权重无关的神经网络之外,重要的是还要寻找只需要复杂到它们所需的程度的网络架构。我们利用多目标优化技术( multi-objective optimization),同时对网络的性能和复杂度进行优化。
权重无关神经网络搜索的概述,及其相应的网络拓扑空间搜索算子。
训练WANN架构
与传统网络不同的是,我们可以通过简单地找到较佳的单个共享权重参数来训练WANN,从而较大限度地提高其性能。在下面的例子中,可以看到我们的架构(在某种程度上)使用恒定的权重来完成一个 swing-up cartpole 任务:
WANN在不同的权重参数下执行 swing-up cartpole 任务,也使用微调的权重参数。
正如我们在上面的图中看到的,虽然WANN可以使用一系列共享权重参数来执行其任务,但是其性能仍然无法与学习每个连接的权重的网络相比较。
如果我们想进一步提高它的性能,我们可以使用WANN架构和较佳共享权重作为起点,使用学习算法微调每个连接的权重,就像通常训练神经网络的方法一样。以网络架构的权重无关特性为出发点,通过学习微调网络的性能,可能有助于为理解动物如何学习提供有洞察力的类比。
通过在性能和网络简单性方面的多目标优化,我们的方法找到了一个简单的WANN,用于赛车任务,它不需要显式地训练网络的权重。
使用随机权重的网络架构不仅易于训练,还具有其他优势。例如,通过使用相同WANN架构的副本,但是为WANN的每个副本都分配不同的权重值,我们可以为同一任务创建多个不同模型的集合。这种集合通常比单个模型能获得更好的性能。下面是一个MNIST分类器处理随机权重的例子,可以说明这一点:
MNIST分类器进化为处理随机权重。
具有随机初始化的传统网络在 MNIST 上的精度约为 10%,但这种随机权重的特殊网络架构在 MNIST 上的精度 (> 80%) 明显优于随机初始化网络。当使用一组WANNs,为每个WANN分配一个不同的共享权重时,精度提高到 > 90%。
即使不使用集成方法,也可以将网络中的权重值压缩到一个网络,从而使网络能够快速调整。快速调整权重的能力可能在持续的终身学习(lifelong learning)中很有用,在这种学习中,agent在整个生命周期中获得、适应和转移技能。这使得WANN特别适合利用 Baldwin效应, Baldwin效应是一种进化压力,即奖励那些倾向于学习有用行为的个体,而不会陷入“learning to learn”这个昂贵的计算陷阱。
结论
我们希望这项工作可以作为一个垫脚石,帮助发现新的基础神经网络组件,如卷积网络,其发现和应用已经在领域取得了令人难以置信的进展。自卷积神经网络被发现以来,研究界可用的计算资源显著增加。如果我们将这些资源投入到自动发现神经网络架构中,并希望实现网络架构的突破性改进,那么我们相信,使用新的构建块来搜索也是值得的。
论文地址:
https://weightagnostic.github.io/
开源传送门:
https://github.com/google/brain-tokyo-workshop/tree/master/WANNRelease
时间:2019-08-31 17:33 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
相关推荐:
网友评论:
最新文章
热门文章