一种基于熵注意的神经网络模型压缩与加速方法技术

技术编号:21800188 阅读:33 留言:0更新日期:2019-08-07 10:46
本发明专利技术属于神经网络技术领域,涉及一种基于熵注意的神经网络模型压缩与加速方法。本发明专利技术通过构建一个参数量大,计算量大且性能优越的教师网络模型来对一个参数量少、计算量少且性能欠佳的学生网络的强监督学习,通过该学习过程,最终得到了一个参数量少、计算量少且性能优越的小模型,该小模型能够满足现实场景的实时性以及精度要求。

A Compression and Acceleration Method of Neural Network Model Based on Entropy Attention

【技术实现步骤摘要】
一种基于熵注意的神经网络模型压缩与加速方法
本专利技术属于神经网络
,涉及一种基于熵注意的神经网络模型压缩与加速方法。
技术介绍
近几年来,卷积神经网络的发展非常的迅速,随着理论的不断完善以及现代大规模计算平台的支持,卷积神经网络取得了很大的进步。在不同的领域上都有应用,且在不同的应用上都表现出了非常好的性能。卷积神经网络是计算密集型的网络模型,优势的性能依赖于包含具有数百万乃至数千万的卷积神经网络模型,模型的训练涉及大量的矩阵运算,因此对于计算平台的要求较高,由于GPU的大规模并行计算的优势,很适合矩阵的运算,因此GPU的高性能计算对于卷积神经网络的成功发展起到了关键的作用。例如,在2012年的ImageNet挑战赛中,AlexNet网络取得了最好的结果,AlexNet包含5层卷积层以及三个全连接层,整体包含六千万的参数量,在ImageNet数据集上且采用英伟达K40机器需要花三天模型训练时间。又比如在2014年的ImageNet挑战赛中,VGGNet系列模型取得了当年非常好的成绩,其中如VGG16模型,其中包含13层卷积,3个全连接层,包含上亿的参数,参数量的巨大,虽然性能提升了,需要花费大量的训练时间,同样推断时间也会花费很长的时间。模型的参数量的增加虽然能够增加性能,但是不适合在低功耗、低存储、低带宽的嵌入式设备应用,如果一个模型参数量太大,无疑也会限制其在工程上的应用。
技术实现思路
本专利技术的目的是针对上述问题,为了克服由于卷积神经网络模型参数量以及计算量庞大,在现实场景的实时性应用中很难部署的问题。本专利技术提供了一种基于熵注意的神经网络模型压缩与加速方法,本专利技术由以下步骤构成:S1、获取训练样本:采集原始的光学图像数据,并进行数据归一化以及数据增强处理,获得训练样本;S2、构建卷积神经网络模型S21、构建一个由卷积滤波器与池化滤波器级联而成的卷积神经网络,卷积滤波器主要的是对输入数据进行特征提取,卷积滤波器的数量表示提取的特征的丰富程度,池化滤波器的作用是用来对输入进行降维,从而降低模型的参数与计算代价。构建的该模型为一个深的且宽的大模型,在本方法中称为教师网络模型,为T模型,教师网络模型参数量高、计算量高。但是性能优越。S22、构建一个相比步骤S21中建立的教师网络要浅且窄的卷积神经网络模型,该模型在本方法中称为学生网络,为S模型,学生网络的参数量少,计算代价小,但是性能相比较大模型要差很多。S3、卷积神经网络模型训练。S31、参数初始化,包括学习率α,训练迭代次数为n,Mini-batch大小A,教师网络宽度W和深度H、学生网络宽度w和深度h,训练集和验证集占比r,采用随机梯度优化算法SGD作为优化函数。S32、每次从训练样本中随机抽取包含A个样本的mini-batch作为训练数据,初始训练一个设定宽度W和深度H的教师网络,训练直到设定的迭代次数n,使教师网络在当前数据集上达到较好的性能,然后进入S33。S33、每次从训练样本中随机抽取包含A个样本的mini-batch作为训练数据,通过构建教师网络和学生网络之间的共同的目标函数,训练得到学生网络,具体构建方式如下:S331、将教师网络和指定宽度w和深度h的学生网络结合。输入数据将同时通过教师网络和学生网络。初始训练性能较好的教师网络的Softmax输出同学生网络的输出构建交叉熵作为软目标,而学生网络的输出同当前数据类别标签构建交叉熵作为硬目标,带温度的Softmax的公式定义如下所示:其中qi为带温度T的Softmax概率,Z是某个类别的logit输出,下标j是指所有类别,i是指其中一个类别,T为温度值,总的损失函数是软硬目标之间的加权和,设为LKD,公式如下所示:LKD=a*S+b*H(2)该损失函数可以单独作为监督信息,其中系数a和b分别为软目标与硬目标的加权系数,通过加权系数的设置,能够平衡两个交叉熵损失之间的重要性。最终训练得到的学生网络与教师网络的性能非常相近,但是从复杂度以及计算量来看,学生网络相比教师网络要小很多。KD教师学生网络模型见附图1。S332、构建教师网络中间层与对应学生网络的中间层的熵注意知识迁移损失,该损失构建分为低中高三个位置,教师网络在三个位置对学生网络进行监督学习,该损失函数在本方法中称为EAKT损失,附图2为EAKT教师学生网络模型。为了构建注意力机制,考虑到卷积层的每个激活通道的信息量的差异,附图3为不同ResNet网络的不同层的信息熵注意力响应图。引入信息熵,具体的信息熵的公式如下所示:其中E为某个激活通道的信息熵值,每个激活通道将得到一个参数向量,将每个通道对应的参数向量中不同的值分到K个组中,每个组的概率为pi。在卷积神经网络中,某一层的激活张量设为S∈RM×C×H×W其中M为BatchSize的大小,包含C个通道,且通道维度为H×W。定义熵注意策略的映射函数为F1和F2,该映射函数将4D张量S映射成一个同样为4D张量的O。映射的过程分为两个步骤,一是根据信息熵的大小来获取重要的激活通道,设映射函数为F1,二是对重要的激活通道做函数映射得到熵注意力图,设映射函数为F2。那么映射方式如式(3)和(4)所示,附图4为熵注意迁移原理图示。其中CT为教师网络的激活通道维度,CS为学生网络的对应的及激活通道维度。定义映射函数F1,由前面提到的信息熵公式,为了计算每个通道的信息熵,因为输入激活张量是一个4D张量,首先在H×W维度求均值,那么可得到M1∈RM×C,然后按照BatchSize的维度将其分为N个部分,然后计算C个激活通道中每个激活通道的概率,该概率中即是对应的每个通道的信息熵值。那么即为丢弃信息熵值比较小的激活通道后的维度,得到同学生网络对应位置激活通道维度相同的教师网络的激活张量。为了定义空间注意力映射函数F2,在本节中做出的隐含假设是隐藏神经元激活的绝对值(在给定输入上评估网络时产生)可以用作关于重要性的指示。因此,通过考虑张量S的元素的绝对值,可以通过在通道维度上计算这些值的统计来构建空间注意力图。更具体地说,在这项工作中,考虑以下基于激活的空间注意力方法,如下公式所示:·绝对值的和:·绝对值的平方的和:其中Oi=O(:,i,:,:)。在本文中采用作为空间注意力映射函数,如公式(3)所示,通过F2的映射,最终四维的激活张量变换成RN×H×W三维的张量。同F1结合,整体构成一个整的映射函数F来获取信息量大的激活通道注意。假设迁移损失被放置在相同空间分辨率的学生网络和教师网络熵注意力图之间。设T,S和WT,WS相应地表示学生,教师及其对应的权重,让L(WS,y)表示学生网络的输出概率与真实标签之间构成的标准的交叉熵损失。设B表示熵注意力图的所有教师和学生激活层对的索引。我们提出的基于熵注意的知识精炼方法(EntropyAttentionKnowledgeTransfer,简称EAKT),那么可以定义总的损失函数LEAKT如下:其中为某一教师和学生中间层的激活输出对。可以看出,在熵注意力迁移损失项,使用l2归一化处理,采用E/||E||2替换掉仅仅为E的情况,注意力图的归一化处理对于学生网络的训练成功至关重要。如果考虑提出的损失函数LEAKT和基本的KD损失LKD的结合,构建一个由两本文档来自技高网...

【技术保护点】
1.一种基于熵注意的神经网络模型压缩与加速方法,其特征在于,包括以下步骤:S1、获取训练样本:采集原始的光学图像数据,并进行数据归一化以及数据增强处理,获得训练样本;S2、构建卷积神经网络模型S21、构建一个由卷积滤波器与池化滤波器级联而成的卷积神经网络,卷积滤波器用于对输入数据进行特征提取,卷积滤波器的数量表示提取的特征的丰富程度,池化滤波器用于对输入进行降维,从而降低模型的参数与计算代价;将该步骤构建的模型定义为教师网络;S22、构建一个相比步骤S21中建立的教师网络要浅且窄的卷积神经网络模型,定义为学生网络;S3、卷积神经网络模型训练S31、参数初始化,包括学习率α,训练迭代次数为n,Mini‑batch大小A,教师网络宽度W和深度H、学生网络宽度w和深度h,训练集和验证集占比r,采用随机梯度优化算法SGD作为优化函数;S32、每次从训练样本中随机抽取包含A个样本的mini‑batch作为训练数据,初始训练教师网络,训练直到设定的迭代次数n,得到初始训练好的教师网络,然后进入S33;S33、每次从训练样本中随机抽取包含A个样本的mini‑batch作为训练数据,通过构建教师网络和学生网络之间的共同的目标函数,训练得到学生网络,具体构建方式如下:S331、将教师网络和指定宽度w和深度h的学生网络结合,即输入数据将同时通过教师网络和学生网络;初始训练好的教师网络的Softmax输出同学生网络的输出构建交叉熵作为软目标S,而学生网络的输出同当前数据类别标签构建交叉熵作为硬目标H,带温度的Softmax的公式定义如下所示:...

【技术特征摘要】
1.一种基于熵注意的神经网络模型压缩与加速方法,其特征在于,包括以下步骤:S1、获取训练样本:采集原始的光学图像数据,并进行数据归一化以及数据增强处理,获得训练样本;S2、构建卷积神经网络模型S21、构建一个由卷积滤波器与池化滤波器级联而成的卷积神经网络,卷积滤波器用于对输入数据进行特征提取,卷积滤波器的数量表示提取的特征的丰富程度,池化滤波器用于对输入进行降维,从而降低模型的参数与计算代价;将该步骤构建的模型定义为教师网络;S22、构建一个相比步骤S21中建立的教师网络要浅且窄的卷积神经网络模型,定义为学生网络;S3、卷积神经网络模型训练S31、参数初始化,包括学习率α,训练迭代次数为n,Mini-batch大小A,教师网络宽度W和深度H、学生网络宽度w和深度h,训练集和验证集占比r,采用随机梯度优化算法SGD作为优化函数;S32、每次从训练样本中随机抽取包含A个样本的mini-batch作为训练数据,初始训练教师网络,训练直到设定的迭代次数n,得到初始训练好的教师网络,然后进入S33;S33、每次从训练样本中随机抽取包含A个样本的mini-batch作为训练数据,通过构建教师网络和学生网络之间的共同的目标函数,训练得到学生网络,具体构建方式如下:S331、将教师网络和指定宽度w和深度h的学生网络结合,即输入数据将同时通过教师网络和学生网络;初始训练好的教师网络的Softmax输出同学生网络的输出构建交叉熵作为软目标S,而学生网络的输出同当前数据类别标签构建交叉熵作为硬目标H,带温度的Softmax的公式定义如下所示:其中qi为带温度的Softmax概率,Z是某个类别的logit输出,下标j是指所有类别,i是指其中一个类别,T为温度值,总的损失函数是软硬目标之间的加权和,设为LKD,公式如下所示:LKD=a*S+b*H该损失函数用于单独作为监督信息,其中系数a和b分别为软目标与硬目标的加权系数,通过加权系数的设置,能够平衡两个交叉熵损失之间的重要性;S332、构建教师网络中间层与对应学生网络的中间层的熵注意知识迁移损失,该损失构建分为低中高三个位置,教师网络在三个位置对学生网络进行监督学习,将损失函数在定义为EAKT损失;为了构建注意力机制,考虑到卷积层的每个激活通道的信息量的差异,引入信息熵,具体的信息熵的公式如下所示:其中E为某个激活通道的信息熵值,每个激活通道将得到一个参数向量,将每个通道对应的参数向量中不同的值分到K个组中,每...

【专利技术属性】
技术研发人员:闵锐蒋霆
申请(专利权)人:电科瑞达成都科技有限公司
类型:发明
国别省市:四川,51

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

1