Faen Zhang、Mi Zhang等作者

ICCV Workshop最佳论文提名:通过层级掩码实现高效神经网络架构搜索

本文介绍了由创新奇智公司联合密歇根州立大学合作开发的高效神经网络架构搜索算法 HM-NAS。该论文近日发表于 2019 国际计算机视觉大会(ICCV)Neural Architects Workshop,并获得最佳论文提名。通过使用多层级网络架构编码以及多层级掩码的方法,HM-NAS 解决了现今神经网络架构搜索算法中基于人工启发式生成候选网络结构的限制。实验结果表明: HM-NAS 在 CIFAR-10 和 ImageNet 数据集中都在保证准确率的同时提升了搜索效率并减少了模型参数

论文地址:http://openaccess.thecvf.com/content_ICCVW_2019/papers/NeurArch/Yan_HM-NAS_Efficient_Neural_Architecture_Search_via_Hierarchical_Masking_ICCVW_2019_paper.pdf

本文主要有以下三点贡献:

  1. 作者提供 HM-NAS 方法,一个高效神经网络架构搜索方法,这个方法破除了现在存在的基于权值共享的搜索方法的限制。

  2. 作者提出了一个多层级的编码结构,这个结构能够使候选网络结构能够对任意数量的边和操作赋予不同的权重。同时提供一个分层屏蔽方案,这个方案不仅能通过学习的方式来学习到最优的边数量和操作的权重关系,而且帮助矫正搜索网络在训练中由于优化函数引起的偏差。

  3. 大量实验证明,与最先进的权值共享的 NAS 方法相比,HM-NAS 方法能够更好地搜索出模型的网络结构和更具有竞争力的准确率

摘要

最近,神经网络架构搜索(NAS)在神经网络结构设计自动化方面的成效引起人们极大的关注。由于其搜索成本低的优点,基于权值共享的 NAS 方法备受青睐。然而,这些方法仍然采用人工启发式来生成候选网络结构,使网络搜索结果达到局部最优。在这篇论文里面,作者提出了一个有效的 NAS 方法: HM-NAS。HM-NAS 提出两个创新点来解决这个限制。第一点:HM-NAS 结合了多级结构编码方案,可以搜索更灵活的网络结构。第二点:抛弃了人工启发式搜索方法,结合一个可以自动学习并能决定最优的结构的层级编码方案, 同时用来矫正训练过程中的由优化函数导致的偏差。和目前先进的权重共享的方法相比,HM-NAS 能够获得更好的神经结构搜索表现和在准确率表现具有竞争性。没有人工启发式方法的禁锢,HM-NAS 的搜索方法能够发现更加灵活和有意义的结构。

介绍

神经网络架构搜索方法 (NAS),由于它具备自动设计神经网络的功能和它在许多重要的任务上优秀的表现,例如:图像分类,图像检测,图像的语义分割等,引起了极大的关注。

在早期的 NAS 方法中,候选结构是在搜索空间中采样得到的,每一个候选结构的权值是独立学习得到的,如果这个候选架构效果不好的话,会被舍弃。尽管这个方法取得了很大的成功,但是由于每一个候选结构都需要一个完全训练的过程,这些都是非常耗费计算资源的方法,需要耗费成百甚至上千个 GPU 训练一天来寻找高质量的结构。

为了克服这个瓶颈,基于权值共享的 NAS 方法应运而生。基于权值共享的 NAS 方法不再单独地训练每个候选结构。网络结构的搜索空间被编码在一个包含超级参数的大网络里面,这个大网络被称为父类网络,这个父类网络包含所有可能的连接和操作(例如:卷积,池化,恒等)。这个父类网络只被训练一次。所有候选的网络结构直接继承这个父类网络的权值,通过这样的操作,训练 NAS 的计算消耗资源被明显地减少了。

不幸的是,尽管父类网络包含了所有可能的候选网络,现在基于权值共享的 NAS 方法往往采用的是人工启发式方法。DARTS 就是一个很好的例子。

在 DARTS 的方法里,这个父类网络组织为堆叠的单元,每个单元包含多个与边连接的节点。但是,当从父类网络中提取候选结构时,每个候选都被 hard coded 过,使得每个节点具有两个相同权重的输入边,并将每个边与某一个操作相关联。因此,候选结构的空间被约束成所有可能空间的一部分,造成这个结构搜索方法只能产生局部最优解。

为了解决基于权值共享的 NAS 方法的限制,本文作者提出了一个名为 HM-NAS 的高效网络结构搜索方法。

例如图 1 的指出的那样,为了解绑这个限制,HM-NAS 结合一个层级的结构来使候选结构从父类网络中抽取时,可以拥有任意数量的边和操作进行连接。而且,它允许每一个操作和边拥有不同的权值来反应它们的相对关系。根据这个多层的编码网络,HM-NAS 将神经结构搜索问题转化为模型修剪问题。它抛弃了人工启发式方法,采用分层屏蔽方案来自动学习边和操作的最佳数量及其相应的权重,并掩盖不重要的网络权重。而且,在这些基础之上增加了可以学习的层次掩码,多层次编码还提供了一种机制来帮助纠正父类网络的体系结构参数和网络权重训练产生的偏差。因为这些好处,HM-NAS 能够直接利用搜索出来的子网络继续训练而不是从零开始重新训练, 来减少搜索和验证过程的网络结构差异并加速网络的训练过程。

图 1 :结构对比图。(a)表示的是现在通用的权重共享的 NAS 搜索方法,例如 DARTS,(b) 表示的是 HM-NAS 方法。

我们在知名的数据集 CIFAR-10 和 ImageNet 上来评价我们的 HM-NAS 方法。HM-NAS 方法在 CIFAR-10 数据集上面,能够使用少于 1.6 倍到 1.8 倍的参数量和少于总体 2.7 倍的训练量获得同样精度的模型。类似的结果同样在 ImageNet 数据集上表现一样。表格 1 展示了 HM-NAS 算法和其他 NAS 算法关于重要尺寸的对比。

表格 1:HM-NAS 算法和其他 NAS 算法重要尺寸对比

HM-NAS 算法

1. 关于多层架构编码的搜索空间和父类网络的设计

父类网络是由许多从上到下堆叠起来的单元组成,每个单元都使用一个有向无环图 (DAG),在这个 DAG 中的 x 节点是一个潜在的代表 (比如代表网络的特征图等)。每个单元拥有两个输入节点,一个或者多个中间节点,一个输出节点。这个单元的两个输入节点是上两个单元的输出节点,这个单元的输出节点是下个单元的输入节点。

为了尽可能地包含所有可能的结构在搜索空间中,作者在 DAG 中使用了可以学习的候选操作的变量组合,这个变量组合能够表明候选操作的重要性。

上述的公式定义了一个边上的多个节点操作的重要性。但是如果想要整个有向无环图 DAG 中不同边的权重,在 HM-NAS 的父类网络中,作者采用了分离的可以学习的变量来分别代表 DAG 中每个边的权重。这样就能够打破原来 NAS 算法的限制,在更广泛的空间中搜索架构。

2. 通过层次掩码来搜索最优的架构

通过上述的算法设计,作者将网络架构搜索问题转化为模型剪枝问题,图 2 详细地说明了层次掩码对一个单元的操作。

图 2:层次掩码对单个单元的操作。

整个 HM-NAS 算法的伪代码如下:

实验和结果

作者在 CIFAR-10 和 ImageNet 数据集上对 HM-NAS 算法和先进的 NAS 算法做对比实验,验证 HM-NAS 算法的具备竞争力的表现。

在 CIFAR-10 数据集上面的表现如图 3:

图 3:HM-NAS 算法在 CIFAR-10 上的表现

从图 3 中可以看出来 HM-NAS 在所有的 NAS 算法中,在类似测试精度的情况下,参数只使用 1.8M 参数,比其他的 NAS 算法少 1.4-3.2 倍的参数

图 4 表示的是训练 HM-NAS 算法和其他 NAS 算法的训练难易程度的对比

图 4:训练难易对比图

从图中可以看出来 HM-NAS 算法找到最优的架构,从搜索过程到验证过程一共使用 0.85 到 1.8 个 GPU 一天的训练量,同时算法的收敛速度最快。

在 ImageNet 数据集上的表现如图 5:

图 5:HM-NAS 算法在 ImageNet 数据集上的表现

从图 5 可以看出来在同等的算法准确率下,HM-NAS 算法生成的模型参数更少。

搜索架构分析

分析 HM-NAS 算法包括以下三个优点:

  1. 不同的边可以学习不同的权重

  2. 可学习边权重的鲁棒性

  3. 更加灵活的架构

图 6 表现出根据 HM-NAS 算法生成的模型,(a) 表现出不同的边可以学习到不同的权重,(b)(c)可以看出来模型可以有更加灵活的架构。

图 6

图 7

图 7 中表示不同的边有不同权重,不会随着不同的初始值的改变而改变,从侧面表现出可学习边权重的鲁棒性。

总结

本文作者提出一种高效的 NAS 算法名字为 HM-NAS。HM-NAS 算法融合了一个多层级的架构保证候选架构拥有任意数量的边和操作,同时这些边和操作拥有对应的权重。同时提出了一个可以学习得到的层级掩码不仅能够选出最优的边数量,同样能够矫正训练过程中的由优化函数引起的偏差。在 CIFAR-10 和 ImageNet 数据集中都在保证准确率的同时提升了搜索效率。

理论神经架构搜索神经网络架构NAS密歇根州立大学创新奇智ICCV 2019
1
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

有向无环图技术

在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。 因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。

伪代码技术

伪代码,又称为虚拟代码,是高层次描述算法的一种方法。它不是一种现实存在的编程语言;它可能综合使用多种编程语言的语法、保留字,甚至会用到自然语言。 它以编程语言的书写形式指明算法的职能。相比于程序语言它更类似自然语言。它是半形式化、不标准的语言。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

启发式搜索技术

计算机科学的两大基础目标,就是发现可证明其运行效率良好且可得最佳解或次佳解的算法。而启发式算法则试图一次提供一个或全部目标。例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解;它通常可在合理时间解出答案,但也没办法知道它是否每次都可以这样的速度求解。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

创新奇智机构

创新奇智(AInnovation)成立于2018年3月,以“人工智能赋能商业未来”为使命,致力于用最前沿的人工智能技术为企业提供 AI 相关产品及商业解决方案,通过 AI 赋能助力企业客户及合作伙伴提升商业效率和价值,实现数字化转型。创新奇智聚焦制造、零售、金融三大行业,采用“技术产品”+“行业场景”双轮驱动模式。目前,创新奇智已获得逾5亿元天使轮、A、A+轮融资,在北京、上海、广州、重庆等全国10个城市落地,并成立两家JV子公司-赛迪奇智和睿云奇智,增强行业影响力。

http://www.ainnovation.com
神经结构搜索技术

神经结构搜索(NAS)表示自动设计人工神经网络(ANN)的过程。

结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

推荐文章
暂无评论
暂无评论~