面向边缘计算的重参数神经网络架构搜索方法转让专利
申请号 : CN202110991876.7
文献号 : CN113435590B
文献日 : 2021-12-21
发明人 : 张铭扬 , 高丰 , 汤志航 , 杨涛 , 郑欢欢 , 王晓江 , 郁善金
申请人 : 之江实验室
摘要 :
权利要求 :
1.面向边缘计算的重参数神经网络架构搜索方法,其特征在于包括如下步骤:S1,设计各个支路的算子以及搜索空间,为原始卷积设置支路,构成多分支块,用于提取不同视野下的图片特征;
S2,构建包含所有支路的超级网络,通过不断堆叠多分支块,构建支路的网络结构;
S3,通过离散神经网络架构搜索方法,在给定显存限制下,训练超级网络,包括如下步骤:
S31,给定显存最大限制C,初始化每条支路的结构参数α和权重参数θ;
S32,计算每条支路的重要性: (1)
其中,Zi,j表示第i个多分支块中第j条支路的重要性,exp( )表示指数e,αi,j表示第i个多分支块中第j条支路的结构参数,ζi,j表示第i个多分支块中第j条支路的采样噪声,λi,j表示第i个多分支块中第j条支路的温度系数;
S33,计算每条支路是否激活: (2)
其中Ri,j=αi,j+ζi,j,Rank(Ri,j)表示第i个多分支块中第j条支路在所有支路中的重要性排名,s表示排名阈值,通过调整s的大小来满足所述显存最大限制C,低于该排名阈值的支路不激活;
S34,获取训练数据,多分支块中的每条支路获取不同的图像特征,激活公式(2)中值为
1的支路,进行前向推理,之后计算预测的图像分类标签与真实的图像分类标签的损失函数L;
S35,通过反向传播,分别计算权重参数θ和激活参数Z在损失函数L上的梯度,所述激活参数Z是由Zi,j组成的向量,同时计算结构参数ɑ在logp(Z)上的梯度,p(ɑ)是结构参数ɑ经过如下公式概率化后的结果
(3)
S36,根据对L的梯度,更新权重参数θ,同时根据如下公式更新结构参数ɑ: (4)
其中EZp(Zi,j)表示在Z采样于p(Zi,j)概率分布下的期望,▽αi,j是第i个多分支块中第j~
条支路的结构参数α在logp(Z)上的梯度;
S37,回到S32,直至超级网络中的权重参数和结构参数训练到收敛;
S4,将训练后多余的支路从超级网络中去除,得到最佳子网络,根据公式(2)去除经过步骤3训练的超级网络中未激活的支路;
S5,将多支路的最佳子网络融合成单支路的最佳子网络;
S6,使用单支路的最佳子网络获取图像特征,进行实时推理,将融合后的单支路网络进行图像分类。
2.根据权利要求1所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S5,通过重参数方法将多支路的最佳子网络融合成单支路的最佳子网络,包括如下步骤:
S51,将保留下来的每条支路中的卷积层和BN层权重参数进行重参数融合;
S52,将各支路重参数融合为与原始卷积相同尺度的卷积,再分别与原始卷积融合成一j
个卷积F ;
j
S53,将同一个多分支块中的多分支卷积F 融合成一个卷积。
3.根据权利要求2所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S51中重参数融合公式如下 (5)
其中,γ表示BN层的缩放参数、μ表示BN层特征的均值、σ表示BN层特征的标准差、β表示BN层的平移参数,F’m,:,:,:和Fm,:,:,:分别表示融合后和融合前卷积层第m个输出通道的权重参数,b’m表示融合后卷积层第m个输出通道的偏置参数,下标中的:表示融合后或融合前卷积层的维度的所有元素。
4.根据权利要求2所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S52中,先将各支路分别转换成与原始卷积相同的尺度,再将各支路转换后的卷积分别与原始卷积,根据如下的重参数公式,融合成一个卷积: (6)
1 2
其中TRANS表示对张量的转置操作,F 表示转换后的第j条支路的卷积,F 表示原始卷j j
积,D为输入通道数,K1、K2为卷积核尺寸,F 表示第j条支路对应的融合后的卷积,bm表示融1
合后卷积层第m个输出通道的偏置,bd表示转换后的第j条支路的卷积第d个输入通道的偏
2 2
置,bd表示原始卷积第d个输入通道的偏置,Fm,d,u,v表示原始卷积第m个输入通道、第d个输出通道下,卷积核第u行第v列的权重。
5.根据权利要求2所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S52中的支路卷积通过补零操作,将尺度转换成于原始卷积相同。
6.根据权利要求2所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S53中多个卷积融合成一个卷积的重参数公式如下 (7)
‘
其中N为支路数量,b 为融合后的偏置。
7.根据权利要求1所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S31中的初始化后,先进行对支路的随机采样,并只更新权重参数θ,再进行支路的重要性采样,并更新结构参数ɑ和权重参数θ,最后进行支路的重要性采样,并固定结构参数ɑ,只更新权重参数θ。
8.根据权利要求1所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S32中的采样噪声,是服从均值为0、方差为1的Logistics分布,log(‑log(u1))‑log(‑log(u2)),其中u1和u2都是ui~U(0,1),表示ui服从0到1的均匀分布。
9.根据权利要求1所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S1中的原始卷积为原始K×K卷积,其支路有6条分别为:1×1卷积、1×K卷积、K×1卷积、1×1‑K×K卷积、1×1‑AVG卷积以及捷径short cut。
10.根据权利要求1所述的面向边缘计算的重参数神经网络架构搜索方法,其特征在于所述S1中,每条支路的算子后,添加批量归一化BN操作,将每条支路的输出结果,按元素相加,并进行非线性操作,结合起来作为当前多分支块的输出。
说明书 :
面向边缘计算的重参数神经网络架构搜索方法
技术领域
背景技术
种大小的神经网络模型,避免人工进行复杂的参数调整。其中,最具潜力的应用之一在设计
轻量化的神经网络模型,提高神经网络在移动设备上的应用能力。
构,通过1×1的点卷积和3×3的深度分离卷积交替运算大大降低了网络的参数量,从而提
升了推理速度(Howard, A.G., Zhu, M., Chen, B., Kalenichenko, D., Wang, W.,
Weyand, T., Andreetto, M., Adam, H.: Mobilenets: Efficient convolutional
neural networks for mobile vision applications. In ArXiv abs/1704.04861,
2017.)。但是由于该模型是单支路结构,很难得到较高的准确性。同时,在人工设计轻量化
模型时,许多工作往往把网络的参数量或浮点数运算量作为衡量模型快慢的指标。然而类
似跳跃连接等无参数且低浮点数运算的操作仍会导致推理速度变慢。
络推理时网络为单支路结构(Xiaohan Ding and Xiangyu Zhang and Ningning Ma and
Jungong Han and Guiguang Ding and Jian Sun.: RepVGG: Making VGG‑style
ConvNets Great Again. In CVPR, 2021)。此外,大多数的深度学习推理框架都对3×3卷
积有优化,因此全部都由3×3组成的单支路结构可以获得非常快的推理速度。
网络模型需要的显存空间大大增加。因此,如何高效的通过重参数技术提升模型性能成为
时下需要解决的问题。
发明内容
明采用如下的技术方案:
不同视野下的图片特征;
λi,j表示第i个多分支块中第j条支路的温度系数,在此处其初始值为1;
的支路不激活;
的损失函数L(交叉熵);
(ɑ)是结构参数ɑ经过如下公式概率化后的结果
中第j条支路的结构参数α在logp(Z)上的梯度;
不需要重新训练或者微调;
数量和推理时间。
融合成一个卷积F ;
权重参数,b’m和bm分别表示融合后和融合前卷积层第m个输出通道的偏置参数,下标中的:
表示该维度的所有元素。
卷积:
原始K×K卷积,D为输入通道数,K1、K2为卷积核尺寸,F 表示第j条支路对应的融合后的K×K
j 1
卷积,b m表示融合后卷积层第m个输出通道的偏置,bd表示转换后的第j条支路的K×K卷积
2 2
第d个输入通道的偏置,bd表示原始K×K卷积第d个输入通道的偏置,F m,d,u,v表示原始K×K
卷积第m个输入通道、第d个输出通道下,卷积核第u行第v列的权重。
并固定结构参数ɑ,只更新权重参数θ。
的且之后都不加非线性操作,而是采用一个带缩放和平移的BN层,使得每个算子的结果有
一定的非线性变换,为了进一步增强网络的非线性能力,当前块的输出会经过一个ReLU层
进行非线性变换,即每条支路的算子后,添加批量归一化BN(Batch Normalization)操作,
将每条支路的输出结果,按元素相加,并进行非线性操作(ReLU),结合起来作为当前多分支
块的输出。
成后,可以将多分支结构网络无任何损失的转化为单分支网络,减少了网络推理时的参数
量和推理时间。
附图说明
具体实施方式
以及short cut组成。通过堆叠多支路块构建一个超级网络,该超级网络包含了所有子网络
结构。之后训练超级网络,并且在训练过程中渐近式的为每个块搜索出最佳的支路结构,不
同块的支路结构可以不同。在训练的开始,每次迭代过程中每条支路都有一定概率被采样。
采样到的支路会更新其权重参数和结构参数(采样概率)。随着训练的深入,无用的支路被
采样到的次数会慢慢变少直至完全不采样。在训练结束后,不再被采样的支路会被去除,而
剩下的支路则根据重参数技术融合为一条支路,提升网络的推理速度。
cut)可以被看作是一种权重参数永远是1的1×1卷积,此处卷积核尺寸K=3,被设计的6条支
路算子分别为:1×1卷积、1×3卷积、3×1卷积、1×1‑3×3卷积、1×1‑AVG卷积以及short
cut,所有支路的最终结果通过元素相加结合起来作为当前块的输出;
不加非线性操作,而是采用一个带缩放和平移的BN层使得每个算子的结果有一定的非线性
变换,为了进一步增强网络的非线性能力,当前块的输出会经过一个ReLU层进行非线性变
换。
分别为48、48、48、96、96、96、96、192、192、192、192、192、192、192、192、192、192、192、192、
192、192、1280,第1、2、4、8、22个多分支块中每个算子的步长为2,用于对图像进行下采样,
网络输出的特征图最后会经过一个全局平均池化层,再由一个输入是1280维,输出是1000
维的全连接层输出每个分类的值。
过CosineAnnealingLR进行学习率衰减,结构参数优化器为Adam,初始学习率为0.0001,
betas为(0.5, 0.999),不进行权重衰减,训练的batch size为256,超级网络总共训练
120epochs,前15epochs进行随机采样并只更新权重参数,中间50epochs进行结构参数和权
重参数的更新,最后55epochs固定结构只更新权重参数,在本次实施过程中支路总数量C设
置为75,即给定显存最大限制C为75;
根据公式(4)计算结构参数α的梯度;
72.96% top‑1正确率,每一批图片需要的推理时间为0.68秒。
相比,本专利方法训练的模型拥有与其一样的推理速度和模型大小,但是正确率却远远高
于单支路训练模型,此外,与多支路推理模型相比,本专利方法由于能将多支路融合为单支
路,因此能在不损失任何性能的情况下,大大降低模型参数量和计算量。
多支路训练多支路推理 72.96 0.68 23 14
多支路训练单支路推理(本专利方法) 72.96 0.26 6 2
所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修
改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。