内容简介:加入极市专业CV交流群,与同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注
加入极市专业CV交流群,与 1 0000+来自港科大、北大、清华、中科院、CMU、腾讯、百度 等名校名企视觉开发者互动交流!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 , 回复 加群, 立刻申请入群~
导语:恺明大神出品,必属精品。Facebook的研究员从一个新奇的角度对神经网络的表示与设计进行探索,提出了一种新颖的相关图表示方式。它有助于对现有网络架构进行更深层次的分析与性能评价。这种相关图的表示方式、实验发现等确实挺有意思,也与现有网络结构设计有一定相通之处,故推荐各位同学。
Abstract
神经网络通用被表示成图的形式(即神经元之间通过边进行链接),尽管这种表示方式得到了广泛应用,但关于神经网络结构与性能之间的关系却鲜少有所了解。
作者系统的研究了神经网络的图结构是如何影响其性能的,为达成该目的,作者开发了一种新颖的称之为 relational graph (相关图)的图表示方式,神经网络的层沿图像结构进行多次信息交互。基于这种图表示方式,作者发现了这样几点有意思发现:
-
相关图的靶点(sweet spot)可以促使神经网络的性能极大提升;
-
神经网络的性能与聚类系数、平均路径长度成平滑函数关系;
-
该发现具有跨数据集、跨任务一致性;
-
优秀的神经网络结构与真实生物神经网络具有惊人的相似性。
-
该文为神经网络架构设计与理解提供了一种新方向。
Introduction
神经网络可以通过计算图方式进行表示,神经元可以表示为节点,不同层神经网络之间的连接可以通过有向边表示。这种图表示方式说明了神经网络如何进行信息传递。
已有研究表明:神经网络的性能严重依赖于网络架构。但是网络架构与性能之间的关联性却鲜少有所研究,而这对于NAS尤为重要。从这个角度出发,有这样几个开放性的问题: (1) 网络架构与其性能之间是否存在系统性的联系?(2) 具有优秀性能的神经网络具有什么样的结构形式?(3)这种结构形式跨数据集、跨任务的泛化性能如何?(4)是否存在一种有效的方式可以确认给定网络具有优秀性能?
构建这样一种关联性同时具有科学与使用价值,因其有助于设计更高效、更高精度额网络架构,同时有助于新硬件架构的设计,理解神经网络的图结构有助于促进深度学习的前进。
然而,由于如何将神经网络映射为图形式并不清晰明了,进而构建这样一种关联性是非常困难的。计算图方式一种自然的选择,但其存在这样两个局限性:(1)泛化性能缺失;(2)生物神经元与神经网络的联系缺失(生物神经网络不能通过简单的有向无环图表示)。
为系统的研究神经网络的图结构与性能之间的关联性,作者设计了一种称之为相关图的神经网络图表示方式。关键聚焦于 信息交互 ,而非交单的有向数据流。下图a给出了示意图,神经元之间进行多次信息交互,进而可以确保新的表示方式具有更丰富多样性的网络表示。
作者同时还设计了一种称之为"WS-flex"的图生成器,它有助于神经网络设计空间的系统探索。基于神经科学的发现,作者通过聚类系数与平均路径长度描述神经网络,这种网络架构具有灵活性与通用性,可以将其转换为多层感知器与卷积神经网络(见上图c和d)。
基于图像分类数据集CIFAR10与ImageNet,作者针对网络结构与性能之间的关联性进行了系统研究并得到了这样几点发现:
-
相关图的靶点(sweet spot)可以促使神经网络的性能极大提升;
-
神经网络的性能与聚类系数、平均路径长度成平滑函数关系;
-
该发现具有跨数据集、跨任务一致性;
-
相关图的靶点可以进行高效辨别,仅需要少量的相关图与少量训练;
-
优秀的神经网络结构与真实生物神经网络具有惊人的相似性。
Relational Graph
为更好的探索神经网络的图结构,我们首先介绍一下相关图的概念,并说明相关图的可以灵活的表示不同的神经网络架构。
Message Exchange over Graph
首先从图的结果对神经网络进行回顾,定义图,其中表示图的节点,表示节点之间的边,同时每个节点具有一个节点特征。当神经元之间存在信息交互时,我们称上述图定义为相关图。信息交互通过信息函数(输入为节点特征,输出为信息)与汇聚函数(输入为信息集合,输出为节点特征)进行定义。在每一轮信息交互过程中,每个节点向其近邻节点发送信息,并对收到的信息进行汇聚。每个信息通过信息函数进行变换并在每个节点通过汇聚函数进行集成。假设进行了R轮信息交互,那么第r次的信息交互可以描述为:
其中表示近邻节点集合,注:每个节点都与自身存在连接边。上式提供了一种广义的信息交互。下表给出了不同结构的相关图的表示配置。
下图示出了具有4层64维的多层感知器的相关图表示示意图。
Fixed-width MLPs as Relational Graph
多层感知器由多个多层神经元构成,每个神经元进行输入的加权求和,同时后接激活层。假设MLP的第r层以作为输入,作为输出,那么神经元的计算可以描述为:
我们来考虑一种极端情况(输入与输出具有相同的维度),此时的多层感知器可以描述为完整相关图( complete relational graph ),它的每个节点与其他所有节点相关联。定长全连接MLP具有忒书的信息交互定义,。定长MLP是更广义模型下的一种特例,此时信息函数、汇聚函数以及相关图结构具有可变性。基于上述信息交互定义,此时有:
General Neural Networks as Relational Graph
前述公式描述奠定了定长MLP表示为相关图的基础,在这部分内容中,我们将进一步讨论如何将其扩展为更广义的神经网络。
-
Variable-width MLP. 变长MLP是一种更通用的形式,无论在MLP中还是在CNN中,特征维度通常是变长的。作者提出通过Concat方式将特征扩展为特征向量,同时将信息函数扩展为矩阵形式,此时的变换过程描述为:
同时允许(1) 不同层的相同阶段具有不同的维度;(2) 同一层内,不同节点具有不同的维度。这种更广义的定义可以得到更灵活的图表示。
-
CNN as relational graph. 我们进一步将相关图应用到CNN,它的输入为张量,信息函数同样进行类似扩展,此时的变换过程可以描述为:
前述Table1给出了更详细的节点特征、信息函数以及汇聚函数在不同网络中的表现形式。
Exploring Relational Graph
在该部分内容中,我们将描述如何设计与探索相关图空间以更好的研究神经网络结构与其性能之间的关联性。需要从三个维度进行考虑:
-
Graph Measures;
-
Graph Generators;
-
Control Computational Budget
Selection of Graph Measure
给定复杂的图结构, GraphMeasures 将用于对图属性进行描述。该文主要聚焦于一个全局图度量(average path length)与一个局部图度量(clustering coefficient)。注:这两个度量方式已被广泛应用与神经科学领域。更详细定义如下:
-
Average path length measure the average shortest path distance between any pairs of nodes;
-
clustering coefficient measure the proportion of edges between the nodes within a given node's neighborhood, divided by the number of edges that could possibly exist between them, averaged over all the nodes.
Design of Graph Generators
给定所选择的图度量方式后,我们期望生成大量的满足图度量空间的相关图,此时需要一个图生成器。然而,传统的图生成器仅仅能生成有限类别的图,而基于学习的方法则主要用于模仿样板图。
上图左说明了现有图生成技术的局限性:仅能生成特定类型的图。为此作者提出了一种新的图生成器WS-flex,它可以生成更广义的图结果(考考上图右)。关于WS-flex图像生成器的描述见下图,为避免误导各位同学,直接将原文搬移过来:
WS-flex可以生成更多样性的相关图,也就是说它几乎可以覆盖所有经典图生成方法所生成的图,见上示意图。它通过松弛节点的约束性得生成WS模型。特别的,WS-flex可以通过节点参数n、平均自由度k以及重置概率p进行描述。而图中的边数量可以通过决定。WS-flex首先常见了一个包含节点连接的图,然后随机挑选e与n节点并进行连接,最后所有边以概率p重置。作者采用WS-flex生成器在相应空间进行均匀平滑采样,最终得到了3942个图,见Figure1c。
Controlling Computational Budget
为更好的对不同图表示的神经网络进行比较,我们需要确保所有的网络具有相同的复杂度,从而确保了其性能差异仅源自结构的差异。作者提出采用FLOPS作为度量准则,首先计算baseline网络的FLOPS,然后将其作为参考调节不同的网络以匹配该复杂度(容差0.5%)。
Experimental Setup
在CIFAR10实验过程中,作者采用具有5层512隐层神经元的MLP作为baseline,输入为3072维,每个MLP层具有ReLU激活与BatchNorm。Batch=128,合计训练200epoch,初始学习率为0.1,学习率衰减机制为cosine。采用不同种子点训练5次取平均。
在ImageNet实验过程中,采用了三种类型的ResNet(ResNet34,ResNet34-sep,ResNet50)、EfficientNet-B0以及简单的类似VGG的8层CNN。所有模型分别训练100epoch,学习率方面同前,ResNet的Batch=256,EfficientNet-B0的batch=512。采用了不同种子点训练三次取平均。
下图给出了不同实验结果的系统性效果图,acf则给出了图度量的热图与性能的示意图。
总而言之,上图f示出了现有图结构优于完整图baseline,而最佳相关图在CIFAR10上以1.4%指标优于完整图baseline,在ImageNet上0.5%~1.2%的指标优于完整图baseline。
与此同时,我们可以看到:具有优异性能的相关图倾向于聚焦于靶点附近(见上图f)。可以通过这样几个步骤寻找该靶点:
-
将上图a中的3942图下采样为52个粗粒度的区域,每个区域记录了对应区域图的性能;
-
记录具有最佳平均性能的粗粒度区域;
-
与此同时记录下与最佳平均性能相关的其他区域;
-
覆盖上述区域的最小面积框即为靶点。CIFAR10数据集上的对于5层MLP而言,它的靶点区域为。
如上图bd所示,模型性能与图度量准则之间存在二阶多项式关系,呈现平滑U型相关性。
接下来,我们再来分析一下相关图跨跨数据集方面的一致性。从上图f可以看到:靶点位置具有跨网络结构一致性。
全文到此结束,更多实验结果建议去查看原文。作者在文中进行了大量的消融实验、关联性讨论、实现探讨以及神经网络与GNN的关联性。为避免误导各位同学,这里就不对实验部分进行过多介绍,前面主要针对核心实验结果进行了说明。更多的实验分析建议各位同学去查看原文,以更好的理解作者想要表达的意思,上文仅为笔者的一点点记录,难免有理解错误之处,还望担待。
Conclusion
该文提出了一种新的视角: 采用相关图表达分析理解神经网络 。该文为为传统计算架构到图架构研究提供了一种信息过渡。与此同时,其他科学领域的的优秀图结构与方法可以为深度神经网络的理解与设计提供帮助,该文所提方法有助于深度学习网络架构的理解与设计,为未来高效而轻量的网络设计提供了一种引导。
◎ 作者档案
Happy,一个爱“胡思乱想”的AI行者
个人公众号:AIWalker
欢迎大家联系极市小编(微信ID:fengcall19)加入极市原创作者行列
推荐阅读
添加极市小助手微信 (ID : cv-mart) ,备注: 研究方向-姓名-学校/公司-城市 (如:目标检测-小极-北大-深圳),即可申请加入 极市技术交流群 ,更有 每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、 干货资讯汇总、行业技术交流 , 一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台,获取 最新CV干货
觉得有用麻烦给个在看啦~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 神经网络 – 序列预测LSTM神经网络落后
- 神经网络历史以及浅析神经网络与感知机
- 【神经网络】11行Python代码实现的神经网络
- 常见的五种神经网络(三):循环神经网络(上篇)
- 常见的五种神经网络(三):循环神经网络(中篇)
- 常见的五种神经网络(四):深度信念网络(上篇)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Programming in Java
Robert Sedgewick、Kevin Wayne / Addison-Wesley / 2007-7-27 / USD 89.00
By emphasizing the application of computer programming not only in success stories in the software industry but also in familiar scenarios in physical and biological science, engineering, and appli......一起来看看 《Introduction to Programming in Java》 这本书的介绍吧!