当前位置: 首页 > 专利查询>重庆大学专利>正文

一种卷积神经网络动态推理加速方法及装置制造方法及图纸

技术编号:32731695 阅读:20 留言:0更新日期:2022-03-20 08:37
本发明专利技术公开了一种卷积神经网络动态推理加速方法及装置,其中,该方法包括:基于关键参数,将滤波器的卷积核作用于输入特征图对应输入通道的滑动窗口,并生成滑动窗口的部分和,基于部分和,通过特定公式表示激活特征图的激活值;其中,卷积层的输出特征图称为激活特征图;根据滤波器中相应内核的最大待计算部分和,通过预设输入特征图中的每个单元格对应于内核的非零值数量,估算激活值对应的最大待计算部分和;基于激活值对应的最大待计算部分和,对滤波器的内核进行排序,以生成输出特征图。本发明专利技术实现了在卷积过程计算的过程中同时完成最大/最小池化层的操作,以减少不必要的卷积计算,同时提高网络推理的效率。同时提高网络推理的效率。同时提高网络推理的效率。

【技术实现步骤摘要】
一种卷积神经网络动态推理加速方法及装置


[0001]本专利技术涉及面向卷积神经网络推理的动态加速算法
,特别涉及一种卷积神经网络动态推理加速方法及装置。

技术介绍

[0002]深度学习方法尤其是卷积神经网络已被证明在图像分类、人脸识别和目标检测等多种计算机视觉任务中是有效的。由卷积神经网络生成的可信结果依赖于许多参数和复杂的计算,这限制了它们在计算能力和存储空间有限的设备中的使用。因此,针对卷积神经网络计算进行有效加速以及对模型进行压缩的研究不断涌现。有研究表明,深度神经网络模型中存在大量冗余参数,通过去除冗余参数可以实现计算加速和模型压缩。基于此前提,过去的工作提出了许多通过去除神经网络网络中的冗余参数来实现加速和压缩的有效方法。这些工作通过识别并永久删除神经网络中不重要的连接来实现模型的压缩和计算的加速,从而减少训练和推理阶段的计算次数。
[0003]然而,上面提到的方法都是以静态方式来执行神经网络的推理阶段。一旦训练阶段完成,它们的计算图和网络参数是固定的,这会限制它们的效率、表示能力等。与静态神经网络相反,动态神经网络可以在推理阶段调整其结构和参数以适应输入,从而可以享受静态模型中没有的有益特性。结合动态执行的优点,应用动态神经网络方法对神经网络进行加速是深度学习领域的一个新兴课题。与静态神经网络相比,它们的计算图和网络参数在推理过程中可以改变,在效率和消耗之间做出更好的折衷。然而,为了在推理过程中实现动态参数和计算图的效果,现有的动态网络工作大多需要对原始网络结构进行重大修改或在训练阶段引入其他需要训练的结构,这就增加了复杂性。
[0004]通道门控网络工作在每一层卷积层使用部分权重,并仅在选定区域激活剩余的权重,相当于有两条计算执行路径,一条是基础路径必须进行计算,而另外一条则是选择性地进行计算。动态神经架构搜索使用神经架构搜索在多个不同宽度的结构中寻找最优架构,这可以使任何实例在推理阶段早期得到可靠的预测结果。与依赖前一层激活值的方法不同,运行时神经剪枝根据输入图像和特征图自适应地进行剪枝,将逐层剪枝建模为马尔可夫决策过程,并使用强化学习进行训练。而在动态通道剪裁中不仅引入了一个新的残差块,以细粒度的方式对通道进行门控操作,而且还引入了一种工具

批量整形,来强制性地使门控函数在特征图上更加具备执行条件。
[0005]与之前研究的跳过层或滤波器(filter)的工作不同,有些工作同时结合了跳过层和滤波器的工作,这种方法可以减少更多的计算量。这些工作基于计算图可以更灵活地适应,并且只有在确定要执行特定层时才会选择性地激活通道这样一个事实。但是这种做法会给训练和推理阶段带来更多挑战,并为网络添加更多额外结构。研究将模块放入另一个与骨干网络结构相同的网络中,这意味着附加网络获得与骨干网络相同的输入实例并生成所有通道选择决策,并返回骨干网络进行推理。这种方法需要额外的训练网络并重新设计训练阶段。另一种基于特征激活的方法虽然不需要额外的辅助结构和计算开销,但是在训
练阶段需要引入正则化项来增加中间特征的稀疏性,这会给训练阶段带来额外的复杂度。
[0006]上述工作在取得良好效果的同时,也引入了其他需要解决的问题。

技术实现思路

[0007]本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。
[0008]为此,本专利技术提出一种卷积神经网络动态推理加速方法,针对上述现有技术在推理加速时引入的重新训练的开销,本专利技术的目的是在不引入额外的计算开销以及保证推理精度的条件下实现神经网络的动态推理加速。本方法通过研究卷积层的输出与相邻的最大/最小池化层的输入,将卷积层的计算与相邻的最大/最小池化层的池化操作融合,实现了在卷积过程计算的过程中同时完成最大/最小池化层的操作,以减少不必要的卷积计算,同时提高网络推理的效率。
[0009]本专利技术的另一个目的在于提出一种卷积神经网络动态推理加速装置。
[0010]为达到上述目的,本专利技术一方面提出了一种卷积神经网络动态推理加速方法,包括:基于关键参数,将滤波器的卷积核作用于输入特征图对应输入通道的滑动窗口,并生成滑动窗口的部分和,基于部分和,通过特定公式表示激活特征图的激活值;其中,卷积层的输出特征图称为激活特征图;根据滤波器中相应内核的最大待计算部分和,通过预设输入特征图中的每个单元格对应于内核的非零值数量,估算激活值对应的最大待计算部分和;基于激活值对应的最大待计算部分和,对滤波器的内核进行排序,以生成输出特征图。
[0011]本专利技术实施例的卷积神经网络动态推理加速方法,基于关键参数,将滤波器的卷积核作用于输入特征图对应输入通道的滑动窗口,并生成滑动窗口的部分和,基于部分和,通过特定公式表示激活特征图的激活值;其中,卷积层的输出特征图称为激活特征图;根据滤波器中相应内核的最大待计算部分和,通过预设输入特征图中的每个单元格对应于内核的非零值数量,估算激活值对应的最大待计算部分和;基于激活值对应的最大待计算部分和,对滤波器的内核进行排序,以生成输出特征图。本专利技术通过研究卷积层的输出与相邻的最大/最小池化层的输入,将卷积层的计算与相邻的最大/最小池化层的池化操作融合,实现了在卷积过程计算的过程中同时完成最大/最小池化层的操作,以减少不必要的卷积计算,同时提高网络推理的效率。
[0012]另外,根据本专利技术上述实施例的卷积神经网络动态推理加速方法还可以具有以下附加的技术特征:
[0013]进一步地,在本专利技术的一个实施例中,所述方法还包括:预定义所述关键参数,包括:输入通道的数量C
I
,输出通道的数量C
O
,输入特征映射图的宽W
I
,输入特征映射图的高H
I
,权重中滤波器的宽W
K
,权重中滤波器的高H
K

[0014]进一步地,在本专利技术的一个实施例中,所述通过特定公式表示激活特征图的激活值,包括:
[0015]通过分离前c个输入通道的累积部分和,以表示激活值:
[0016][0017]其中,A
K
为激活特征图中的第k个激活值,AccuPsum
kc
为前c个计算输入通道的累积部分和,LeftPsum
kc
为大于c个输入通道的剩余累积部分和,ReLU为修正线性单元。
[0018]进一步地,在本专利技术的一个实施例中,所述内核的最大待计算部分和为对应从第c+1个输入通道到第C
I

1输入通道;所述非零值数量为2
N

1;所述激活值A
K
对应的待计算最大部分和由滤波器的内核的l1范数l1

norm确定如下:
[0019][0020]其中,α表示比例因子,L
c
表示滤波器中从第c个到第C
I

1个输入通道的内核的l1范数总和。
[0021]进一步地,在本专利技术的一个实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷积神经网络动态推理加速方法,其特征在于,包括以下步骤:基于关键参数,将滤波器的卷积核作用于输入特征图对应输入通道的滑动窗口,并生成滑动窗口的部分和,基于所述部分和,通过特定公式表示激活特征图的激活值;其中,卷积层的输出特征图称为所述激活特征图;根据滤波器中相应内核的最大待计算部分和,通过预设输入特征图中的每个单元格对应于所述内核的非零值数量,估算激活值对应的最大待计算部分和;基于所述激活值对应的最大待计算部分和,对滤波器的内核进行排序,以生成输出特征图。2.根据权利要求1所述的卷积神经网络动态推理加速方法,其特征在于,所述方法还包括:预定义所述关键参数,包括:输入通道的数量C
I
,输出通道的数量C
O
,输入特征映射图的宽W
I
,输入特征映射图的高H
I
,权重中滤波器的宽W
K
,权重中滤波器的高H
K
。3.根据权利要求2所述的卷积神经网络动态推理加速方法,其特征在于,所述通过特定公式表示激活特征图的激活值,包括:通过分离前c个输入通道的累积部分和,以表示激活值:其中,A
K
为激活特征图中的第k个激活值,为前c个计算输入通道的累积部分和,为大于c个输入通道的剩余累积部分和,ReLU为修正线性单元。4.根据权利要求3所述的卷积神经网络动态推理加速方法,其特征在于,所述内核的最大待计算部分和为对应从第c+1个输入通道到第C
I

1输入通道;所述非零值数量为2
N

1;所述激活值A
K
对应的待计算最大部分和由滤波器的内核的范数确定如下:其中,α表示比例因子,L
c
表示滤波器中从第c个到第C
I

1个输入通道的内核的范数总和。5.根据权利要求4所述的卷积神经网络动态推理加速方法,其特征在于,所述...

【专利技术属性】
技术研发人员:刘大江张宇
申请(专利权)人:重庆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1