何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络

标题&作者团队

导语:恺明大神出品,必属精品。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

首先从图的结果对神经网络进行回顾,定义图$G=(\mathcal{V}, \mathcal{E})$,其中$\mathcal{V}={v_1,\cdots,v_n}$表示图的节点,$\mathcal{E} \subseteq {(v_i,v_j) |v_i, v_j \in \mathcal{V}}$表示节点之间的边,同时每个节点具有一个节点特征$x_v$。当神经元之间存在信息交互时,我们称上述图定义为相关图。信息交互通过信息函数(输入为节点特征,输出为信息)与汇聚函数(输入为信息集合,输出为节点特征)进行定义。在每一轮信息交互过程中,每个节点向其近邻节点发送信息,并对收到的信息进行汇聚。每个信息通过信息函数$f(\cdot)$进行变换并在每个节点通过汇聚函数$AGG(\cdot)$进行集成。假设进行了R轮信息交互,那么第r次的信息交互可以描述为:

其中$N(v)$表示近邻节点集合,注:每个节点都与自身存在连接边。上式提供了一种广义的信息交互。下表给出了不同结构的相关图的表示配置。

下图示出了具有4层64维的多层感知器的相关图表示示意图。

Fixed-width MLPs as Relational Graph

多层感知器由多个多层神经元构成,每个神经元进行输入的加权求和,同时后接激活层。假设MLP的第r层以$x^{(r)}$作为输入,$x^{(r+1)}$作为输出,那么神经元的计算可以描述为:

image-20200714132343604

我们来考虑一种极端情况(输入与输出具有相同的维度),此时的多层感知器可以描述为完整相关图(complete relational graph),它的每个节点$x_i$与其他所有节点${x_1, \cdots, x_n}$相关联。定长全连接MLP具有忒书的信息交互定义,$f_i(xj) = w{ij}x_i, AGG({x_i})=\sigma(\sum{x_i})$。定长MLP是更广义模型下的一种特例,此时信息函数、汇聚函数以及相关图结构具有可变性。基于上述信息交互定义,此时有:

image-20200714133029979

General Neural Networks as Relational Graph

前述公式描述奠定了定长MLP表示为相关图的基础,在这部分内容中,我们将进一步讨论如何将其扩展为更广义的神经网络。

  • Variable-width MLP. 变长MLP是一种更通用的形式,无论在MLP中还是在CNN中,特征维度通常是变长的。作者提出通过Concat方式将特征扩展为特征向量,同时将信息函数扩展为矩阵形式,此时的变换过程描述为:

image-20200714133533349

同时允许(1) 不同层的相同阶段具有不同的维度;(2) 同一层内,不同节点具有不同的维度。这种更广义的定义可以得到更灵活的图表示。

  • CNN as relational graph. 我们进一步将相关图应用到CNN,它的输入为张量$X^{(r)}$,信息函数同样进行类似扩展,此时的变换过程可以描述为:

image-20200714133853184

前述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进行描述。而图中的边数量可以通过$e=\left \lfloor n*k/2\right \rfloor$决定。WS-flex首先常见了一个包含$\left \lfloor e/n\right \rfloor$节点连接的图,然后随机挑选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而言,它的靶点区域为$C \in [0.10, 0.550], L\in[1.82, 2.75]$。

如上图bd所示,模型性能与图度量准则之间存在二阶多项式关系,呈现平滑U型相关性。

接下来,我们再来分析一下相关图跨跨数据集方面的一致性。从上图f可以看到:靶点位置具有跨网络结构一致性。

全文到底结束,更多实验结果建议去查看原文。作者在文中进行了大量的消融实验、关联性讨论、实现探讨以及神经网络与GNN的关联性。为避免误导各位同学,这里就不对实验部分进行过多介绍,前面主要针对核心实验结果进行了说明。更多的实验分析建议各位同学去查看原文,以更好的理解作者想要表达的意思,上文仅为笔者的一点点记录,难免有理解错误之处,还望担待。

Conclusion

该文提出了一种新的视角:采用相关图表达分析理解神经网络。该文为为传统计算架构到图架构研究提供了一种信息过渡。与此同时,其他科学领域的的优秀图结构与方法可以为深度神经网络的理解与设计提供帮助,该文所提方法有助于深度学习网络架构的理解与设计,为未来高效而轻量的网络设计提供了一种引导。由于这篇论文研究理论比较深刻,如果解读中有不到位的地方,欢迎大家勘误指正。

微信公众号: 极市平台(ID: extrememart )
每天推送最新CV干货