一种用于边缘设备的神经网络动态早退加速推理方法

未命名 09-22 阅读:66 评论:0


1.本发明涉及一种神经网络推理加速方法,尤其涉及一种用于边缘设备的神经网络动态早退加速推理方法,属于边缘计算领域。


背景技术:

2.随着大数据、高性能计算等理论技术的蓬勃发展,深度神经网络模型(deep neural network,dnn)在计算机视觉及自然语言处理等领域的任务上取得了超过人类的表现。vision transformer(vit)模型作为计算机视觉领域的基础模型,有着优异的性能,将其部署在智能手机、手表等边缘设备上实现智能化应用具有重要的意义。但是,vit模型结构复杂,计算量大,需要极高的存储需求和计算复杂度。而边缘设备计算资源远少于台式计算机,且受有限电池容量的约束,vit模型无法直接部署到边缘设备上实现智能化应用。例如:vit-l模型作为经典的vit模型,进行一次推理需要190.7g的浮点运算次数。而边缘设备树莓派-4b的计算能力只有13.5g浮点运算次数/秒。
3.为解决上述问题,有研究人员提出在原始dnn模型的中间层插入内部分类器(也称为退出头)。在推理过程中,一旦退出头的预测结果满足退出标准,就提前结束推理,不再执行后续神经网络层的计算,可以有效降低推理时延,这种方法被称为动态早退。该方法能够动态执行部分神经网络模型,节省计算资源,具有高效性和灵活性等优点,同时可以根据输入数据的复杂性动态选择模型输出位置,以适应不同场景。然而,目前动态早退方法在退出头结构设计和训练策略方面的研究尚不充分。主要存在两个问题:1.大多数方法的退出头设计简单粗糙,没有实现推理精度和推理时延的平衡。2.目前方法的训练策略没有针对退出头特性进行设计,无法发挥退出头的最大潜能,限制了模型精度的提升。


技术实现要素:

4.针对目前的动态早退方法,没有平衡推理精度和推理时延以及训练策略限制模型精度提升的问题,本发明的主要目的是提出一种用于边缘设备的神经网络动态早退加速推理方法,通过构建基于异构退出头的动态早退模型,并结合两阶段训练策略,在保证微小精度损失的情况下,提高推理速度。
5.本发明的主要目的是通过以下技术方案实现的:
6.本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法,首先,构建两种异构退出头结构,即基于卷积的局部感知头和基于自注意力机制的全局聚合头;然后,在vit骨干网络上建立基于异构退出头的动态早退模型;之后,使用两阶段训练策略训练该动态早退模型;最后,将训练好的模型部署到边缘设备上进行动态推理,实现边缘设备上的推理加速,降低边缘设备的推理时延。在保证微小精度损失的情况下,提高推理速度。
7.本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法,具体包括以下步骤:
8.步骤一、构建基于卷积的局部感知头和基于自注意力机制的全局聚合头两种异构
退出头;
9.基于卷积的局部感知头采用1
×
1卷积来扩展输入特征的维度,扩展后的特征被传递给位置权重深度卷积,其卷积核大小为k
×
k。位置权重深度卷积pdconv为:
[0010][0011]
其中,pdconv(
·
)表示位置权重深度卷积的输出;x表示输入特征;dwconvk×k表示卷积核大小为k
×
k的深度卷积;f(
·
)为递减的线性映射函数,用来确定pdconv的卷积核尺寸,减小引入退出头而带来的额外计算开销,即k=f(m),m≤m/2,其中m表示退出头的数量。当k=0时,扩展后的特征将绕过pdconv并直接进入后续部分;否则,第m个退出位置的扩展特征被传递给k
×
k的深度卷积。经过pdconv后,使用1
×
1卷积将扩展后的特征重新映射至原始维度,并将其传递到平均池化层。局部感知头lph的输出为:
[0012][0013][0014]
其中,lph(
·
)表示局部感知头的输出;为给定输入特征,其中n表示分块数,d表示隐藏层的维度;x
cls
表示分类令牌;conv1×1(
·
)表示1
×
1卷积,pool(
·
)表示平均池化。在每个卷积后,都使用高斯误差线性单元和批归一化处理。最后,将局部感知头的输出传递到线性分类器中得到分类结果。
[0015]
基于自注意力机制的全局聚合头,由自注意力模块组成。全局聚合头采用位置权重特征汇聚模块即pfc,来进一步提取关键特征。在pfc模块中,输入特征被重塑为并用尺寸为s
×
s的窗口进行下采样。下采样后的特征被恢复为原始维度格式n'
×
d,其中为避免引入额外的可学习参数,采用步长为s的平均池化,实现窗口尺寸为s
×
s的下采样。pfc的窗口大小取决于退出位置m,较深层位置的退出点采用较大的窗口尺寸,从而显著降低额外运算量。采用递增的线性映射函数g(
·
)来确定pfc的窗口大小,即s=g(m),m/2《m≤m。位置权重特征汇聚模块pfc表示为:
[0016]
pfc(x
feature
,m)=pool
g(m)
(x
feature
),
[0017]
其中,pfc(
·
)表示位置权重特征汇聚模块的输出,x
feature
为给定输入特征,pool
g(m)
表示步长为g(m)的平均池化。全局聚合头gah的输出为:
[0018][0019]
其中,gah(
·
)表示全局聚合头的输出,mhsa(
·
)表示多头自注意力,pool(
·
)表示平均池化,softmax(
·
)表示归一化指数函数;d是向量维度。在mhsa(x)中,输入x通过可学习的变换矩阵wq、wk和wv被线性变换为自注意力机制中的查询向量、键向量和值向量。
[0020]
步骤二、在骨干网络上建立基于异构退出头的动态早退模型;
[0021]
以vit模型作为骨干网络,在vit的编码层之间插入m个退出头形成动态早退网络,其中m/2个基于卷积的局部感知头,放置在位于网络浅层的退出点;m/2个基于自注意力机制的全局聚合头,放置在位于网络深层的退出点。退出头的位置根据近似等距计算分布确
定,即相邻退出点之间的神经网络运算量基本一致。编码层的输出输入到对应的退出头和分类器中,得到的分类结果经过规定的运算得到预测置信度。如果置信度小于或等于提前设定好的阈值,则继续执行后续神经网络层的计算;如果置信度大于阈值,则提前结束推理,不再执行后续神经网络层的计算,从而加速推理。
[0022]
包含m个退出头和1个最终分类器的动态早退网络,其推理阶段的最终预测值为:
[0023][0024]
其中,表示第i个退出头预测输入类别为c的概率,τi表示第i个退出头的退出阈值,当满足上式或推理执行到最终分类器时,得到最终预测值
[0025]
步骤三、使用两阶段训练策略,训练基于异构退出头的动态早退模型;
[0026]
第一阶段,利用交替加权训练方法,迅速提高模型性能。
[0027]
主干网络有l层,其中有m个退出头和1个最终分类器,由浅至深,第i个分类器的退出点为mi,其中m≤l,i≤m+1,最终分类器的退出点m
m+1
=l。交替加权方法在奇数和偶数次的训练迭代次数之间交替使用两个目标函数:
[0028][0029]
其中,θ表示骨干网络的模型参数,wi表示第i个退出头的模型参数。在图像分类任务中,损失函数选用交叉熵函数。
[0030]
第二阶段,自蒸馏训练方法,冻结主干网络和最终分类器的参数,只更新退出头的参数,在保证模型精度不下降的同时,进一步提升模型效率。整体损失函数包括异构蒸馏损失、同构蒸馏损失以及预测损失函数。
[0031]
异构蒸馏损失函数用于促进异构退出头之间的学习,为了降低多个损失之间的冲突,同时随着网络加深模型性能通常更好,因此仅使用最后一层的特征作为局部感知头和全局聚合头的第一个和最后一个退出头的参考特征。由于退出头的输出和最终层的输出的维度不同,采用对齐模块来匹配维度。该模块包括深度卷积、gelu和bn激活函数。最后一层的特征映射的维度首先被重构为重构的特征映射通过对应模块降低维度,然后恢复到原始的尺寸n'
×
d。异构蒸馏损失函数表示为:
[0032][0033]
其中,其中,是kullback-leibler散度函数,align(
·
)表示对齐模块。
[0034]
同构蒸馏损失函数用于进一步提高具有相似结构退出头之间的性能。在每种类型的退出头中,将最后的退出头作为教师模型,帮助前面的同构退出头学习,即在所有的局部感知头中,最后一个局部感知头的特征被用作前面局部感知头的参考特征。给定从第一个到第m个退出头的特征映射局部感知头之间的同构蒸馏损失函数表示为:
[0035][0036]
其中,是均方误差函数。由于全局聚合头的特征映射具有不同的形状,对特征映射进行点积操作以匹配维度。给定第m个退出点的全局聚合头特征映射通过计算将其形状转换为d
×
d。全局聚合头之间的同构蒸馏的损失函数表示为:
[0037][0038]
同构蒸馏的总损失函数表示为:
[0039][0040]
预测蒸馏损失函数能够进一步确保模型性能不降低。将最终分类器作为最后一个局部感知头和全局聚合头所在的m/2和m退出点的参考标签。一个输入样本的标签样本为y,m/2和m退出点的预测概率值分别为和预测蒸馏的损失函数表示为:
[0041][0042]
其中,是普通知识蒸馏的损失函数,表示最终分类器的预测概率值:
[0043][0044]
其中,是交叉熵函数,和分别表示知识蒸馏中学生分类器和教师分类器的预测概率值;t是一个温度值,用于控制归一化前的输出的平滑度;γ是一个超参数,用于调节两项损失函数。
[0045]
第二阶段自蒸馏训练的总损失函数为:
[0046][0047]
其中,α和β是超参数,用于调节不同的损失函数。
[0048]
步骤四、将训练的模型部署到边缘设备上进行动态推理,提高推理速度。
[0049]
将训练好的模型部署到边缘设备,在边缘设备上执行图像分类任务。采用置信度作为退出指标,置信度表示所有分类类别中的概率最大值。第m个退出点的预测置信度cm定义为:
[0050][0051]
其中,pm是第m个退出点的预测分布,c是分类标签集合。在第m个退出头输出分类结果后,计算得到置信度。如果置信度大于提前设置好的阈值τ,则提前终止推理,输出第m个退出头的分类结果;否则,继续进行后续神经网络层的推理。在推理过程中,模型能够根据样本得到不同的退出指标,从而动态调整退出路径。能够根据模型计算开销、边缘设备硬件性能和应用需求调整阈值τ的大小,实现精度和效率之间的权衡。降低阈值会提高推理速度,但相应地会牺牲一定的模型精度。如果一直不满足退出条件,模型会输出最后分类器的结果。
[0052]
有益效果
[0053]
1、本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法,使用异构
退出头结构,与传统退出头结构相比,能够提高模型的特征提取能力,实现更高的模型精度、更快的推理速度和更低的模型运算复杂度。
[0054]
2、本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法,使用两阶段训练策略训练基于异构退出头的动态早退模型,与传统训练策略相比,能够更充分地发挥退出头的潜能,进一步提高模型精度,降低模型运算复杂度。
[0055]
3、本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法,使用动态推理方法,能够动态执行部分网络,节省计算资源。同时能够根据输入数据的复杂性动态选择模型输出路径,以适应不同场景,实现精度-效率之间的权衡。
附图说明
[0056]
图1为本实施例中异构退出头的框架示意图;
[0057]
图2为本实施例中基于异构退出头结构的动态早退框架示意图;
[0058]
图3为本实例公开的一种用于边缘设备的神经网络动态早退加速推理方法的性能-效率权衡结果图;
[0059]
图4为本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法的流程图。
具体实施方式
[0060]
下面将结合附图和实施例对本发明加以详细说明,同时论述本发明的技术方案解决的技术问题及有益效果。需要指出的是,所描述的实施例旨在便于对本发明的理解,对本发明不起任何限定作用。
[0061]
实施例1
[0062]
本实施例公开一种用于边缘设备的神经网络动态早退加速推理方法,在vit模型上的应用,具体步骤如下:
[0063]
步骤一、构建基于卷积的局部感知头和基于自注意力机制的全局聚合头两种异构退出头;
[0064]
本实施例采用的异构退出头结构,如图1所示,采用k=3和k=0两种卷积核尺寸的局部感知头,采用s=2和s=3两种窗口尺寸的全局聚合头。由于采用卷积模块,局部感知头能够提升局部信息的获取能力和主干网络的特征提取能力;对于卷积核尺寸为k=0的局部感知头,其跳过pdconv,从而显著降低了局部感知头带来的额外运算量。由于采用自注意力模块,全局聚合头能够实现关键语义信息的有效捕捉;对于窗口尺寸为2
×
2或3
×
3的全局聚合头,输入特征在pfc模块中,输入特征被重塑为768
×
14
×
14大小,下采样后的特征为或然后被恢复为49
×
768或25
×
768大小,通过下采样处理显著降低了全局聚合头带来的额外运算量。
[0065]
步骤二、在vit骨干网络上建立基于异构退出头的动态早退模型;
[0066]
如图2所示,使用vit-b模型作为骨干网络,输入图像首先被分割为若干个相同大小的图像块;然后,每个图像块和一个可学习的分类令牌经过分块嵌入模块后得到分块嵌入向量;之后,分块嵌入向量依次经过12个transformer编码层,能够学习到图像中丰富的
语义特征。在vit-b的编码层之间插入8个退出头形成动态早退网络。退出点位置为{4,5,6,7,8,9,10,11},各退出头的放置位置如下所示:
[0067]
退出头结构放置位置卷积核尺寸k=3的局部感知头{4,5}卷积核尺寸k=0的局部感知头{6,7}窗口尺寸r=2的全局聚合头{8,9}窗口尺寸r=3的全局聚合头{10,11}
[0068]
退出头阈值均设置为0.8,即τi=0.8(i=1,2,...8),因此推理阶段的最终预测值为:
[0069][0070]
其中表示第i个退出头预测输入类别为c的概率,当满足上式或推理执行到最终分类器时,得到最终预测值
[0071]
步骤三、使用两阶段训练策略训练基于异构退出头的动态早退模型;
[0072]
构建基于异构退出头的动态早退模型后,采用两阶段训练策略来训练整个模型,充分发挥退出头的潜能。在cifar-100数据集上训练模型,训练模型时在数据集上的迭代次数设定为100,批量大小为64,初始学习率为5e-5,每轮迭代后线性下降学习率直至最后为0。训练分为两阶段:
[0073]
第一阶段为交替加权训练,此阶段训练时在数据集上的迭代次数设定为50。主干网络有12层,其中有8个退出头和1个最终分类器,交替加权方法在奇数和偶数次的训练迭代次数之间交替使用两个目标函数:
[0074][0075]
其中退出点m={4,5,6,7,8,9,10,11,12},由浅至深,第i个分类器的退出点为mi。例如,第1个分类器的退出点为m1=4,第9个分类器的退出点为m9=12。
[0076]
第二阶段为自蒸馏训练,此阶段训练时在数据集上的迭代次数同样设定为50。自蒸馏时预测蒸馏中的普通知识蒸馏的损失函数为:
[0077][0078]
自蒸馏时总损失函数为:
[0079][0080]
步骤四、将训练的模型部署到边缘设备上进行动态推理
[0081]
训练好模型后,将模型部署到在nvidia jetson nano边缘设备上,利用cifar-100的测试数据集进行模型动态推理测试。假设f0表示图像预处理后的输出,即经过分块、嵌入等操作后得到的分块嵌入向量,fi表示第i个编码层的输出,zi表示分类概率分布,动态推理算法如下:
[0082][0083]
使用top-1分类准确率和加速比作为性能和效率指标。对于一个l层的vit,通过比较前向传播中实际执行的层数和完整层数来计算加速比,加速比的定义为:
[0084][0085]
其中,mi是在vit的第i层退出的样本数。此外,还采用在整个测试数据集上执行的平均乘加累计操作数作为评估指标之一。
[0086]
此外,采用了传统退出头结构和vit退出头结构这两种退出头结构作为比较。传统退出头结构较为简单,即一个池化层后接一个全连接层,vit退出头结构直接将vit的编码层作为退出头。传统退出头的放置位置和异构退出头相同,而vit退出头结构由于退出头的运算量本身比较大,放置过多会导致额外计算量和参数量的巨大提升,因此只在{6}这一个退出点放置。训练策略采用常规训练方法而非两阶段训练策略,其他训练超参数设置和异构退出头的保持一致。最终测量结果如下:
[0087]
方法精度乘加累计操作数加速比原始模型90.8%16.93g1.00
×
传统退出头结构86.5%10.16g1.64
×
vit退出头结构87.5%11.65g1.65
×
异构退出头结构88.5%9.76g1.87
×
[0088]
相比传统退出头结构以及常规的训练方法,本实施例公开的方法能够达到更高的精度、更高的加速比以及更低的乘加累计操作数,相比原始模型,本实施例公开的方法在精度损失只有2.3%的情况下,实现了1.87倍的加速比,降低了40%以上的乘加累计操作数,有效提高了模型性能和计算效率,降低了模型复杂度。
[0089]
此外,通过调整退出阈值τ,能够得到不同的精度和加速比,从而实现性能-效率之间的权衡。如图3所示,本发明公开的方法相比传统方法,在相同精度下可以得到更高的加速比,在相同加速比下可以得到更高的精度。
[0090]
因此,本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法使用了异构推出头结构提高模型的特征提取能力,并使用两阶段训练策略充分发挥退出头的潜能,有效提高模型精度的同时,降低模型运算复杂度并且加快推理速度,为基于复杂模型的智能应用在边缘设备的部署提供了支撑。
[0091]
以上所述的具体描述,对发明的目的、技术方案和有益效果进行进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种用于边缘设备的神经网络动态早退加速推理方法,其特征在于:包括如下步骤,步骤一、构建基于卷积的局部感知头和基于自注意力机制的全局聚合头两种异构退出头;步骤二、在骨干网络上建立基于异构退出头的动态早退模型;步骤三、使用两阶段训练策略,训练基于异构退出头的动态早退模型;步骤四、将训练的模型部署到边缘设备上进行动态推理,提高推理速度。2.如权利要求1所述的一种用于边缘设备的神经网络动态早退加速推理方法,其特征在于:步骤一的实现方法为,基于卷积的局部感知头采用1
×
1卷积来扩展输入特征的维度,扩展后的特征被传递给位置权重深度卷积,其卷积核大小为k
×
k;位置权重深度卷积pdconv为:其中,pdconv(
·
)表示位置权重深度卷积的输出;x表示输入特征;dwconv
k
×
k
表示卷积核大小为k
×
k的深度卷积;f(
·
)为递减的线性映射函数,用来确定pdconv的卷积核尺寸,减小引入退出头而带来的额外计算开销,即k=f(m),m≤m/2,其中m表示退出头的数量;当k=0时,扩展后的特征将绕过pdconv并直接进入后续部分;否则,第m个退出位置的扩展特征被传递给k
×
k的深度卷积;经过pdconv后,使用1
×
1卷积将扩展后的特征重新映射至原始维度,并将其传递到平均池化层;局部感知头lph的输出为:维度,并将其传递到平均池化层;局部感知头lph的输出为:其中,lph(
·
)表示局部感知头的输出;为给定输入特征,其中n表示分块数,d表示隐藏层的维度;x
cls
表示分类令牌;conv1×1(
·
)表示1
×
1卷积,pool(
·
)表示平均池化;在每个卷积后,都使用高斯误差线性单元和批归一化处理;最后,将局部感知头的输出传递到线性分类器中得到分类结果;基于自注意力机制的全局聚合头,由自注意力模块组成;全局聚合头采用位置权重特征汇聚模块即pfc,来进一步提取关键特征;在pfc模块中,输入特征被重塑为并用尺寸为s
×
s的窗口进行下采样;下采样后的特征被恢复为原始维度格式n'
×
d,其中为避免引入额外的可学习参数,采用步长为s的平均池化,实现窗口尺寸为s
×
s的下采样;pfc的窗口大小取决于退出位置m,较深层位置的退出点采用较大的窗口尺寸,从而显著降低额外运算量;采用递增的线性映射函数g(
·
)来确定pfc的窗口大小,即s=g(m),m/2<m≤m;位置权重特征汇聚模块pfc表示为:pfc(x
feature
,m)=pool
g(m)
(x
feature
),其中,pfc(
·
)表示位置权重特征汇聚模块的输出,x
feature
为给定输入特征,pool
g(m)
表示步长为g(m)的平均池化;全局聚合头gah的输出为:gah(x
feature
,m)=pool(mhsa(pfc(x
feature
,m)))+x
cls

其中,gah(
·
)表示全局聚合头的输出,mhsa(
·
)表示多头自注意力,pool(
·
)表示平均池化,softmax(
·
)表示归一化指数函数;d是向量维度;在mhsa(x)中,输入x通过可学习的变换矩阵w
q
、w
k
和wv被线性变换为自注意力机制中的查询向量、键向量和值向量。3.如权利要求2所述的一种用于边缘设备的神经网络动态早退加速推理方法,其特征在于:步骤二的实现方法为,以vit模型作为骨干网络,在vit的编码层之间插入m个退出头形成动态早退网络,其中m/2个基于卷积的局部感知头,放置在位于网络浅层的退出点;m/2个基于自注意力机制的全局聚合头,放置在位于网络深层的退出点;退出头的位置根据近似等距计算分布确定,即相邻退出点之间的神经网络运算量基本一致;编码层的输出输入到对应的退出头和分类器中,得到的分类结果经过规定的运算得到预测置信度;如果置信度小于或等于提前设定好的阈值,则继续执行后续神经网络层的计算;如果置信度大于阈值,则提前结束推理,不再执行后续神经网络层的计算,从而加速推理。包含m个退出头和1个最终分类器的动态早退网络,其推理阶段的最终预测值为:其中,表示第i个退出头预测输入类别为c的概率,τ
i
表示第i个退出头的退出阈值,当满足上式或推理执行到最终分类器时,得到最终预测值4.如权利要求3所述的一种用于边缘设备的神经网络动态早退加速推理方法,其特征在于:步骤三的实现方法为,第一阶段,利用交替加权训练方法,迅速提高模型性能;主干网络有l层,其中有m个退出头和1个最终分类器,由浅至深,第i个分类器的退出点为m
i
,其中m≤l,i≤m+1,最终分类器的退出点m
m+1
=l;交替加权方法在奇数和偶数次的训练迭代次数之间交替使用两个目标函数:练迭代次数之间交替使用两个目标函数:其中,θ表示骨干网络的模型参数,w
i
表示第i个退出头的模型参数;在图像分类任务中,损失函数选用交叉熵函数;第二阶段,自蒸馏训练方法,冻结主干网络和最终分类器的参数,只更新退出头的参数,在保证模型精度不下降的同时,进一步提升模型效率;整体损失函数包括异构蒸馏损失、同构蒸馏损失以及预测损失函数;异构蒸馏损失函数用于促进异构退出头之间的学习,为了降低多个损失之间的冲突,同时随着网络加深模型性能通常更好,因此仅使用最后一层的特征作为局部感知头和全局聚合头的第一个和最后一个退出头的参考特征;由于退出头的输出和最终层的输出的维度不同,采用对齐模块来匹配维度;该模块包括深度卷积、gelu和bn激活函数;最后一层的特征映射的维度首先被重构为重构的特征映射通过对应模块降低维
度,然后恢复到原始的尺寸n'
×
d;异构蒸馏损失函数表示为:其中,其中,是kullback-leibler散度函数,align(
·
)表示对齐模块;同构蒸馏损失函数用于进一步提高具有相似结构退出头之间的性能;在每种类型的退出头中,将最后的退出头作为教师模型,帮助前面的同构退出头学习,即在所有的局部感知头中,最后一个局部感知头的特征被用作前面局部感知头的参考特征;给定从第一个到第m个退出头的特征映射局部感知头之间的同构蒸馏损失函数表示为:其中,是均方误差函数;由于全局聚合头的特征映射具有不同的形状,对特征映射进行点积操作以匹配维度;给定第m个退出点的全局聚合头特征映射通过计算将其形状转换为d
×
d;全局聚合头之间的同构蒸馏的损失函数表示为:同构蒸馏的总损失函数表示为:预测蒸馏损失函数能够进一步确保模型性能不降低;将最终分类器作为最后一个局部感知头和全局聚合头所在的m/2和m退出点的参考标签;一个输入样本的标签样本为y,m/2和m退出点的预测概率值分别为和预测蒸馏的损失函数表示为:其中,是普通知识蒸馏的损失函数,表示最终分类器的预测概率值:其中,是交叉熵函数,和分别表示知识蒸馏中学生分类器和教师分类器的预测概率值;t是一个温度值,用于控制归一化前的输出的平滑度;γ是一个超参数,用于调节两项损失函数;第二阶段自蒸馏训练的总损失函数为:其中,α和β是超参数,用于调节不同的损失函数。5.如权利要求4所述的一种用于边缘设备的神经网络动态早退加速推理方法,其特征在于:步骤四的实现方法为,将训练好的模型部署到边缘设备,在边缘设备上执行图像分类任务;采用置信度作为退出指标,置信度表示所有分类类别中的概率最大值;第m个退出点的预测置信度c
m
定义为:
其中,p
m
是第m个退出点的预测分布,c是分类标签集合;在第m个退出头输出分类结果后,计算得到置信度;如果置信度大于提前设置好的阈值τ,则提前终止推理,输出第m个退出头的分类结果;否则,继续进行后续神经网络层的推理;在推理过程中,模型能够根据样本得到不同的退出指标,从而动态调整退出路径;能够根据模型计算开销、边缘设备硬件性能和应用需求调整阈值τ的大小,实现精度和效率之间的权衡;降低阈值会提高推理速度,但相应地会牺牲一定的模型精度;如果一直不满足退出条件,模型会输出最后分类器的结果。

技术总结
本发明公开的一种用于边缘设备的神经网络动态早退加速推理方法,属于边缘计算领域。使用异构退出头结构,提高模型的特征提取能力,实现更高的模型精度、更快的推理速度和更低的模型运算复杂度;使用两阶段训练策略训练基于异构退出头的动态早退模型,更充分地发挥退出头的潜能,进一步提高模型精度,降低模型运算复杂度;使用动态推理方法,动态执行部分网络,节省计算资源;同时根据输入数据的复杂性动态选择模型输出路径,以适应不同场景,实现精度-效率之间的权衡。本发明适用于边缘计算领域,提高模型精度,加快推理速度并且降低模型运算复杂度,为基于复杂模型的智能应用在边缘设备的部署提供支撑。边缘设备的部署提供支撑。边缘设备的部署提供支撑。


技术研发人员:郝家炜 徐冠宇 郝志伟 安旭溟 胡晗
受保护的技术使用者:北京理工大学
技术研发日:2023.07.03
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐