CVPR 2020 | 如何同时保证NAS的效率和有效性?暗物智能等提出基于知识蒸馏的分块监督神经网络搜索算法

近日,计算机视觉顶会 CVPR 2020 接收论文结果公布,从 6656 篇有效投稿中录取了 1470 篇论文,录取率约为 22%。本文介绍了暗物智能研究院和蒙纳士大学等被 CVPR 2020 接收的一篇论文《Blockwisely Supervised Neural Architecture Search with Knowledge Distillation》。


以机器自动设计网络结构为目标的神经网络搜索(NAS,Neural Architecture Search)有望为机器学习带来一场新的革命。但是,现有的 NAS 解决方案的有效性和效率还不明确,最近的一些工作表明,许多现有的 NAS 解决方案甚至不优于随机网络搜索。NAS 方法的无效性可能归因于不准确的网络结构评估。具体来说,为了加快 NAS 的速度,最近的工作提出了利用共享网络参数在一个大的搜索空间中同时对不同的候选网络结构进行不充分训练,但这导致了不正确的网络结构评级,进一步加剧了 NAS 方法的无效性。

来自暗物智能研究院和蒙纳士大学、中山大学的研究者们联合提出了一种新的神经网络搜索方法,解决了上文提到的目前 NAS 方法面临的两个最大问题:效率和有效性问题。区别于现有(RL,Darts,One-shot)的神经网络搜索算法,作者基于知识蒸馏的思想,引入教师模型来引导网络结构搜索的方向。利用来自教师模型不同深度的监督信息,将原本端到端的网络搜索空间在深度上分块,实现对网络搜索空间独立分块权重共享训练,大大降低了权重共享带来的干扰。在不牺牲权重共享的高效率的同时,也保证了对候选子模型的评估准确性,同时通过算法实现对搜索空间中所有候选结构的遍历。相关研究以「Blockwisely Supervised Neural Architecture Search with Knowledge Distillation」为题被计算机视觉顶会 CVPR 2020 接收。

  • 论文链接:https://arxiv.org/abs/1911.13053

  • 代码链接:https://github.com/changlin31/DNA

背景

神经网络搜索简介

解决神经网络搜索问题通常包括两个迭代步骤,即搜索和评估。搜索步骤是选择值得评估的适当网络结构,而评估步骤是对搜索步骤选择的网络结构的最终性能进行估计和评级。评估步骤在神经网络搜索解决方案中最为重要,因为缓慢的评估会导致神经网络搜索的计算成本过高,搜索效率低下,而不准确的评估会导致神经网络搜索的无效性。

权重共享神经网络搜索的无效性

对候选网络结构最精确的数学评估是从无到有地训练它到收敛并测试它的性能,然而,由于巨大的成本,这是不切实际的。例如,在 ImageNet 上训练单个 ResNet50 大小的网络可能需要超过 10 GPU 天。为了加快评估速度,最近的工作(DARTS,ProxylessNAS,One-shot,SinglePO,FBNet)提出不要将每个候选网络从零开始全面训练到收敛,而是使用权重共享的方式来同时训练不同的候选网络的网络参数

然而,共享的最优网络参数不一定表示子网(即候选结构)的最优网络参数,甚至相关性很低,因为子网没有得到公平和充分的训练,且共享同一网络参数的子网太多,导致子网无法完全训练收敛。这样的训练导致无法准确评估候选模型,不准确的评估导致了现有 NAS 的无效性。

方法

分块搜索空间

FairNAS 和 PC-NAS 提出,当搜索空间很小,并且所有候选模型都经过充分和公平的训练时,评估可能是准确的。为了提高评价的准确性,作者在深度上将超网划分为更小的子空间块,并使其相互独立的训练,以此来缩小每个块的搜索空间,减少共享权重的子网数量。

引入中间层监督使分块独立训练

为使分块搜索空间能独立的进行训练,作者引入现有训练完成的模型的中间层特征图来监督网络结构搜索搜索。设 Y_i 为监督模型(即教师模型)的第 i 个块的输出特性图, 为超网的第 i 个块的输出特性图。采用 L2 范数作为损失函数,以 K 表示 Y 中神经元的数目,方程中的损失函数可以写为, 值得注意的是,对于每个块,作者使用教师模型的第(i-1)个块的输出 Y_(i-1) 作为超网的第 i 个块的输入。如此可以有效的将超网的各模块独立开,且能以并行的方式加快超网训练速度。


深度和宽度可变的搜索空间

搜索空间虽独立切分进行训练,但不同分块之间在搜索阶段仍可以随意组合,这样就可以保证搜索空间大小总体不变,而训练时的子模型空间大大减小。在特定的约束条件下(计算量或参数量),为了更好地模仿教师,需要根据相应教师模块的学习难度自适应地分配每个模块的模型复杂度。这使得超网在深度和宽度(层数和通道数)上的可变性尤为重要。先前工作采用的方法,例如引入不必要的 Identity 操作,分步进行宽度和操作的搜索等,有诸多问题。

得益于独立分块的搜索空间,本文作者提出在每个阶段独立地训练具有不同通道数或层数的多个小块,以确保通道数和层数的可变性。

高效的遍历验证和搜索

典型的 NAS 搜索空间包含大约10^17 个子模型,这使得在训练完成后很难对所有子模型进行验证(evaluation)。在以往的 NAS 方法中,随机抽样、进化算法、强化学习贪心算法等方法被用来从训练的超网中抽取部分子模型进行验证。考虑到的分块蒸馏,作者提出了一种新的方法来根据所有子模型的分块性能来估计它们的总体性能,并使用搜索算法巧妙地遍历所有子模型来选择满足约束条件(计算量或参数量)的性能最好的子模型。作者使用分块蒸馏任务的验证损失来衡量子模型的分块性能,并将各分块的子模型按性能排序。之后,采用优化的深度优先遍历,搜索出符合约束的最佳模型。主要算法流程如图 1 所示,详细算法请参见论文。

图 1. 超网的蒸馏训练流程

实验

模型性能

作者使用 EfficientNet-B7 作为教师模型,在 224×224 输入尺寸下,在 ImageNet 数据集上做超网训练和结构搜索。8 GPU 条件下,在庞大的 ImageNet 数据集上训练超网仅需 1 天,每个模块都增加为三种可选深度或宽度时,训练过程变为 3 天。验证和搜索过程共需 3 至 4 小时。

对于搜索出的结构,作者将其进行权重初始化,并在没有教师模型监督的情况下,在 ImageNet 数据集进行重新训练。结果见表 1 与图 2。

表1: ImageNet 结果对比。

图2: ImageNet 精度-参数量对比图。

本文的 DNA 模型明显的超过了其他最新的 NAS 模型的表现。在 350M 的 FLOPs 限制条件下搜索,本文的 DNA-a 达到了 77.1% 的 Top-1 精度,精度稍低的 SCARLET-a 的参数量超出了其 2.5M(60%)。为了与 EfficientNet-B0 进行公平的比较,作者分别以 399M 计算量和 5.3M 参数量搜索得到了 DNA-b 和 DNA-c,两者的表现都远远超过 B0(1.1% 和 1.5%)。此外,DNA-d 在 6.4M 参数量和 611M 计算量下达到了 78.4% 的 Top-1 精度。当使用与 EfficientNet-B1 相同的输入尺寸(240×240)进行测试时,DNA-d 达到 78.8% 的 Top-1 精度,与 EfficientNet-B1 同样精确,但比 B1 小 1.4M。(模型结构的详细信息,请参见论文附录)

为测试模型的泛化性能,作者在 Cifar-10 和 Cifar-100 数据集上验证了模型迁移学习的能力,同样超出了现有 NAS 模型。结果见表 2。

表2: 迁移学习结果对比。

模型排序

为了证明分块蒸馏神经网络搜索算法确实提高了模型评估的准确性,作者与 SPOS(Single Path One-shot)搜索方法在模型结构的排序上做了对比。如图 3,结果表明,本文方法(蓝色)在模型排序相关性上远超 SPOS 方法(橙色)。

图3: DNA-SPOS模型排序对比图。

训练过程可视化

为了证明超网蒸馏训练的有效性和稳定性,作者做了训练过程中损失函数、搜索出的最佳模型性能以及超网与教师网络的特征图对比。如图 4,图 5 所示,最佳模型的性能随训练损失的降低而稳定上升,相似的特征图证明蒸馏训练使超网有效地拟合了教师模型。
图4: 训练过程损失-最佳模型精度图。

图5: 训练过程教师网络-超网特征图对比。

教师模型对比与分析

通过对比使用不同教师模型搜索得到的网络结构,作者发现 DNA 方法得到的网络结构精度不受限于教师模型的精度,可以在相同模型大小超过教师模型的精度。如表 3 所示,DNA-B0 精度超过 EfficientNet-B0 1.5%,DNA-B7 经过模型大小的扩展,精度超过 EfficientNet-B7 2.1%(此处 EfficientNet-B7 采用与蒸馏时相同的 224×224 输入尺度)。

表3: 教师模型对比。

在算法落地方面,据了解,本方法已应用于暗物智能科技自研 AutoML 平台,支持在目标任务场景自动构建高精度模型。此外该 AutoML 平台实现了 AI 模型从开发到部署的全自动化流程,配合模型的自动化超参调优,为企业开发、运用 AI 能力全面降低门槛。
理论神经网络分块知识蒸馏计算机视觉中山大学暗物智能NASCVPR 2020
2
相关数据
范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

权重技术

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

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

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

收敛技术

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

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

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

神经网络技术

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

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

贪心算法技术

贪心法,又称贪心算法、贪婪算法、或称贪婪法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。比如在旅行推销员问题中,如果旅行员每次都选择最近的城市,那这就是一种贪心算法。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

结构搜索技术

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

迁移学习技术

迁移学习 是属于机器学习的一种研究领域。它专注于存储已有问题的解决模型,并将其利用在其他不同但相关问题上。比如说,用来辨识汽车的知识(或者是模型)也可以被用来提升识别卡车的能力。计算机领域的迁移学习和心理学常常提到的学习迁移在概念上有一定关系,但是两个领域在学术上的关系非常有限。

分块技术

将标注好词性的句子按句法结构把某些词聚合在一起形成比如主语、谓语、宾语等等。

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