查看原文
其他

何恺明等人新作:效果超ResNet,利用NAS方法设计随机连接网络 | 技术头条

AI科技大本营 AI科技大本营 2019-04-16
点击上方↑↑↑蓝字关注我们~

2019 Python开发者日」,购票请扫码咨询 ↑↑↑


译者 | 刘畅

编辑 | 一一

出品 | AI科技大本营(ID:rgznai100)


受人工设计的启发,用于图像识别的神经网络从简单的链状模型发展为具有多个分支的网络。ResNets 和 DenseNets 的成功很大程度上源于其创新性的连接设计模式。如今,Facebook AI 实验室的何恺明等研究者利用神经架构搜索(NAS)方法来探索如何同时优化网络架构和操作方法,不过网络架构的解空间是有限的,而且依然是由人工设计来驱动的。


在本文中,作者采用随机连接网络发现了更为多样的连接模式。他们首先定义了一个包含整个网络生成过程的随机网络生成器,这样的做法能提供 NAS 和随机连接网络的统一视图。然后,作者采用了三个经典的随机图模型来生成网络的随机连接图。


实验结果令人惊讶:采用随机生成器得到的几个网络能够在 ImageNet 这样的基准数据集上取得有竞争力的结果。这些结果表明,探索具有更少约束的搜索空间方法,专注于设计更好的网络生成器可以带来新的突破。


引言


我们今天所说的深度学习是从认知科学中的连接主义方法发展而来的,这一范式证实了网络的连接方式对构建智能机器是至关重要的。与此相呼应的是,计算机视觉的最新进展已经由链式结构转向为更复杂的连接模型,如因为网络结构而十分有效的模型 ResNet,DensNet 等。跟随这一趋势,神经架构搜索(NAS)方法成为了一个有前景的研究方向,它主要研究如何同时搜索网络连接模式和操作方法。该方法依赖于网络生成器。


NAS 的网络生成器定义了一系列可能的网络连接模式,它根据可学习的概率分布对网络进行采样。但是,NAS 网络生成器通常是人工设计的,而且它的解空间会被约束在很小的一个子集上。由此,作者给出了写这篇文章的动机:是否能够减少这种约束来设计新的网络生成器?


作者从随机网络生成器中采样得到的随机连接网络这个角度来探索这个问题,其实也就是用人工设计的随机过程来定义生成器。作者采用了图论里面三个经典的随机图模型 ER, BA, WS。为了定义完整的网络,他们将一个随机图转换成一个有向无环图(DAG),并且在节点和它们的功能之间做了一个简单的映射。



基于 ER/BA/WS 三种模型生产的随机图的可视化


实验结果令人吃惊,采用 WS(Watts-Strogatz)模型的是最好的网络生成器,其结果能够优于或媲美于人工设计的网络结构和各种神经架构搜索方法得到的网络模型。作者还观察到,采用同一个网络生成器产生的不同随机网络,精度方差很低,而不同生成器之间存在着明显的精度差距。这些观察表明,网络生成器的设计十分重要。


注意,这些随机连接网络也并非没有先验信息(prior free)。许多强先验信息已经被隐式的包含在生成器的设计里面,比如连接规则的制定等。本文的研究表明了从设计单个网络过渡到设计网络生成器的可能性。相较于采用固定生成器来进行搜索,作者建议设计能够生成新的待搜索模型的网络生成器。


方法


首先介绍随机连接网络的基础,网络生成器。


Network generators 网络生成器


网络生成器是参数空间 theta 到神经网络结构 N 的一个映射 g。这个 g 决定了计算图的连接方式。例如在 ResNets 中,g 就是一堆计算 x+F(x)的结构,theta 就是残差块的数量,网络深度/宽度/滤波器大小等等参数。


Stochastic network generators 随机网络生成器


上述的网络生成器 g,给定相同的 theta,会返回同一结构。因此作者扩展 g,可以接受额外的参数 s(伪随机数的种子)。这样的 g(theta,s),对于相同的 theta,当 s=1,2,3…时,可以得到不同的网络,作者把这样的形式称为随机网络生成器。


接着是对 NAS 方法的回顾(详情参见论文),作者发现 NAS 里面有很多人工设计和加入先验信息的地方。因此光研究同一个生成器下的不同优化器是远不够的,有必要研究与 NAS 生成器不同的新的网络生成器。


Randomly Wired Neural Network 随机连接神经网络


这样一种可以根据不同先验生成具有随机图网络的网络生成器,主要包含以下内容:


  1. 可以生成通用的图。这样可以随意的使用已有的图论模型(ER/BA/WS),并且一旦图定了,就可以映射到一个神经网络。


  2. 边操作。假设图是定向的,作者定义边是数据流,定向边即表示数据(张量)从一个节点流向另一个节点。


  3. 节点操作。有向图的节点有输入边和输出边,如下图 1 所示。输入边进行权重相加,权重是训练得到,且为正。内部经过 ReLU-Conv-BN 这样的结构处理,其中 3x3 的卷积采用的是可分离的卷积,然后输出边就是处理后的数据。

          

    图 1


  4. 输入和输出节点。对于一个给定的通用图,作者还创建了额外的节点来连接最初的输入节点和最终的输出节点,这两个节点是所有节点的平均值,并且不使用卷积操作,它们就是神经网络的输入和输出。


  5. 阶段(Stage)。对于图像分类任务,输入和输出是不同的图像大小,因此作者指定了一个简单的策略,一个随机图表示一个阶段。然后到中间的转换时,设定步长=2,通道数增加两倍。如图 2 所示。


图2


实验


作者做了大量的实验来证明该方法的有效性,其中给出了结构细节、随机种子、实现细节等。


图 3 是在 ImageNet 上,基于三种计算量下的实验结果。可以发现基于 WS 的网络生成器产生的模型都能取得优于或媲美现有人工设计网络的结果。


图 3


结论


作者从图论角度出发,研究了基于三种经典随机图模型的随机连接神经网络,设计出一种新的网络生成器,实验结果发现它能够设计媲美于人工设计的网络。


论文链接:

https://arxiv.org/abs/1904.01569


(本文为 AI大本营编译文章,转载请微信联系 1092722531


精彩推荐



「2019 Python开发者日」演讲议题全揭晓!这一次我们依然“只讲技术,拒绝空谈”10余位一线Python技术专家共同打造一场硬核技术大会。更有深度培训实操环节,为开发者们带来更多深度实战机会。更多详细信息请咨询13581782348(微信同号)。



推荐阅读:

❤点击“阅读原文”,查看历史精彩文章。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存