当前位置:首页 期刊杂志

基于ShuffleNet的神经网络结构搜索

时间:2024-05-04

胡金水 刘辰宇 吴航

摘要:神经网络结构的设计在深度学习任务中至关重要,自动神经网络结构设计算法的思想是在特定实际任务下,减少人工参与,直接搜索出最优模型结构。本文提出一个基于ShuffleNet的神经网络结构搜索算法,该算法将计算量限制嵌入进演化搜索过程,自适应地调整网络结构中的通道划分比例和通道混淆策略。在实际任务应用所需的计算量限制下,可搜索出最优模型结构,并具备高效前向推理效率。

关键词:前向推理;结构搜索

引言

深度学习近年成为人了智能领域广泛研究的一个热门技术。深度学习可以理解成一个数据驱动的端到端的特征表示學习框架,这个框架中重要的构成是神经网络结构。目前研究者提出了残差网络等一系列重要的网络结构,提高了图像识别、自然语言处理领域等众多任务的效果,但是面向移动端的实际应用,在保证识别率下降可控的前提下,如何提升神经网络的前向推理效率仍然是不可回避的难题。最近一些前向推理轻量级的神经网络结构相继提出,一定程度上缓解了推理效率低的问题。通过端到端的方式来可以进行特征表示学习,是否可以设计一个算法,针对特定任务,通过端到端的方式直接给出模型的结构呢?

本文先简单介绍神经网络结构搜索的最新进展,接着提出一个轻量级的自动神经网络结构设计算法,能根据实际任务的硬件算力,自适应地调整网络结构中通道划分比例和通道混淆策略。

一、神经网络结构搜索概述

神经网络结构搜索通过构建一个RNN作为神经网络结构采杆器,利用强化学习算法将采杆所得的神经网络的性能表现作为反馈去优化该采杆器,使采样器采杆所得的网络性能达到最优。但由于搜索空间庞大,每次采杆的子网络都需要从头进行训练,需用450块GPU训练长达数月,难以实用。为减少搜索耗时,有论文中改为搜索子结构,而完整网络结构则由这两种网络子结构雄叠而成。由于这种模块结构搜索空间相对较小,搜索耗时降低了7倍。更有研究组通过构建超网络并引入权車共享的思想,在搜索效果略有下降的情况下仅用单块GPU在一天内即可实现。

此后,出于效率和资源消耗的考虑,基超网络的搜索方案逐渐成为主流。由于强化学习算法搜索过程收敛较慢,性能不稳定,业界又提出了One-shot NAS算法和DARTS算法。One-shot NAS算法将训练与搜索分开进行,通过在超网络里随机采杆子网络进行超网络训练,并对训好的超网络通过EA算法进行子网络搜索,从而获得最优网络结构。而DARTS方案最早由CMU团队提出,通过松弛超网络的所有子网络,利用超参进行加权组合,通过梯度下降算法对该超参进行优化。最后,根据优化结果即可获得最优子网络。相比于另两种方案,这种基于梯度优化的方案效率极高,极大地减小了搜索耗时。

另一方面,采用网络模块结构搜索空间,这杆搜索出来的网络结构效果较好,但由于网络模块内部较为碎片化,难以实现并行计算,实际部署难度大,效率低。如果采用的是全局结构搜索空间,搜索网络空间包含深度宽度等模型结构的大部分超参,这样保证了获得的网络模块结构相对规整,使得网络结构部署相对简单。

二、基于ShuffleNet的神经网络结构搜索

(一)ShumeNet简介

与残差网络等不同,ShuffleNet系列的模型通过引入有规则的通道打乱来增强轻量级Depthwise(DW)卷积后特征通道上的信息混叠,同时ShuKleNetV2又额外通过通道均分和拼接的操作移除了网络中的碎片元组操作,使模型的效率和效果得到了进一步提升。一个基本的ShuKleNetV2块结构如下图1(a)所示。

通过分析,我们发现ShuKleNetV2的通道切分与拼接实际上是在不断地进行特征的整合与复用,且随着通道上的不断拆分与组合,通道上特征的实际深度是现出一种固定分布的特性。进一步,当我们不是考虑通道均分,而是考虑通用性更强的比例切分时,特征通道的实际深度仍然具有固定分布的特性。

考虑每次切分出比例为p的通道数,当图1(a)中的ConvOP为DW卷积时,网络第K层实际深度为j的通道数目占比为:

实际深度为i的通道数目占比为:

(二)搜索算法描述

根据式(3-1)、式(3-2)可知,在每层网络切分比例固定的时候,最终特征的复用和组合是满是与通道切分比例相关的固定分布的。如果我们对每层通道切分的比例进行针对性建模优化,就可以对不同任务、不同数据、不同计算量需求去灵活自动搜索出该场景可用的最优模型,同时满是所得模型的高效推理特性。

本文使用遗传算法对自动通道切分结构进行了演化搜索,且将计算量限制嵌入进演化过程,保证了计算资源限制下的最优搜索。一个搜索空间和搜索结果的例子如图1(b)、图2所示,红色代表着当前层所使用的通道,蓝色代表复用的通道,通过特征的不断组合,算法可搜索㈩最优模型结构,同时具备高效前向推理效率。

三、结论

本文提出了一个基于轻量级的神经网络结构搜索算法。该算法基于遗传算法对通道划分比例和通道混淆策略进行了演化搜索,将计算量限制嵌入进演化过程,解决了受限计算资源下的神经网络大规模灵活应用问题。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!