在图像分类领域,深度学习模型的规模不断增大,模型分类准确率也相应提升.在研究如何提升模型准确率的同时,深度学习模型的安全性[1]和可解释问题[2]成为目前关注的热点问题.由于模型参数结构过于复杂,因此研究人员无法从整体上理解深度学习模型的复杂决策逻辑[3].在自动驾驶等领域,智能模型可解释性差的问题日益凸显[4].通过压缩模型参数结构和降低模型复杂度可以增强模型可解释性,提高人机交互的可信性.目前主流的可解释方法分为事前可解释和事后可解释方法[5].事后可解释方法是指利用现有可解释方法构建解释模块,在模型训练结束后解释学习模型的工作机制、决策行为和决策依据,如模型蒸馏[6]、激活最大化[7]、敏感性分析、特征反演、反向传播和类激活映射等方法.模型蒸馏方法完成了从大模型到小模型的知识迁移过程[8],是针对原有大模型的一种全局近似方法.蒸馏模型的分类结果反映原有大模型的整体分类逻辑,可解释性得到了提升.最初的模型蒸馏方法注重知识提取过程,学生模型被设计成压缩教师模型的深层神经网络集合.在教师-学生的蒸馏模型基础上,文献[9]通过设计助教网络来弥补教师网络与学生网络复杂度的巨大差异,实现了软目标与硬目标之间的良好适应.同样,文献[10]也致力于最小化教师模型和学生模型之间的复杂度差异,设计的损失函数在训练中使两者复杂度最小化,以此来控制知识迁移的泛化能力.文献[11]设计了特定的教师网络,搜索最佳学生网络算法,在不同教师模型中进行试验并对比,分类效果较原有模型提升3.8%.文献[12]借助动态搜索知识转移机制的思想并将其融入知识提炼的过程中,使用强化学习方法自动移除冗余层.以上基于教师-学生模型的改进方法关注如何设计教师和学生模型的适应结构,但目前无法解决超参数温度的控制效率较低问题.本研究在原有教师-学生模型网络的基础上,使用参数少的小教师模型来替代原有的复杂度较高的教师模型,通过自适应温度控制蒸馏过程,不仅节约了训练时间,还解决了学生模型泛化性能不足的问题.1 自适应温度的小教师蒸馏方法在图像分类模型中,卷积神经网络的全连接层将软目标的概率分布通过softmax函数进行归一化处理,与硬标签(即真实标签)概率分布相适应.软目标预测分类概率中包含暗知识,在softmax原有函数基础上,模型蒸馏方法引入超参数温度T来控制学生模型与教师模型分布的相似程度,能将教师模型的分布暗知识有效地迁移到学生模型中.但T是预先设好的固定值,会对模型训练收敛速度产生影响.T设置的不合理会导致模型训练不收敛等问题的出现,须要重复进行多次调试,增加了训练时间及内存开销.本研究设计了一种自适应温度t的方法使模型收敛更加迅速.1.1 自适应温度的公式推导在模型蒸馏方法中,学生模型不仅要继承教师模型提供的软目标(蒸馏损失),还要学习真实标签提供的硬目标(学生模型损失),两者对提高学生模型的性能都十分重要.在softmax原有函数基础上,模型蒸馏方法通过引入超参数温度T来控制学生模型与教师模型分布的相似程度.较高的T会使分类的各个类别上的概率分布差异减小,这样不仅会使教师模型的暗知识无效,还会使学生模型学习到错误的分布.模型蒸馏的总损失函数为L(x,W)=αLD(p(zt,T),p(zs,T))+(1-α)LS(y,p(zs,T)), (1)式中:x为转移数据集的训练输入;W为学生模型的参数;α为调节系数,该值通常为0.5;LD为教师模型与学生模型之间的软对数交叉熵,表示教师模型与学生模型的分布近似程度;p为输入属于第i类的概率;zt和zs分别为教师和学生模型的全连接层输出,教师模型全连接层的输出通过交叉熵梯度与学生模型的全连接层的输出相匹配;LS为学生模型与真实数据集标签的软对数交叉熵;y为真实标签.由于式(1)中T是定值,因此在每次训练的过程中只要选择合适的T,学生模型就可以成为教师模型合理的近似结果.如果T可以随时根据需要进行变动,在训练中自适应控制教师-学生模型,那么不仅能节约时间和减小内存开销,学生模型的性能也会提高.基于上述思路,分别求解软目标及硬目标的损失函数对自适应温度t的偏导,可以得到    ∂LD(p(zt,t),p(zs,t))∂t=-∑izsizsj(1+zsi-zsjt)pi(zsi,t));∂LCE(y,p(zs,t))∂t=-∑izsizsjpi(zsi,t),式中:zsi和zsj分别为学生模型的全连接层中第i,j类别的输出结果;pi为全连接层中第i类的概率;LCE为交叉熵损失;y为真实标签,其中只有一个为1的元素表示转移训练样本的真实标签,其他元素为0.当t趋于无穷或者0时,教师模型分布项值为0.说明t的变化只与学生模型的概率分布相关,且当学生模型的概率分布与真实标签分布接近时,t的值会趋近1,说明教师模型标签分类的概率分布只会影响到学生模型最终的准确率,t影响学生模型向教师模型(软目标)及真实分类标签(硬目标)的收敛速度,因此采用自适应温度可以提升学生模型的学习速度,节省训练时间.在此基础上,若采用结构层数较小、复杂度低的教师模型,则可以在训练教师模型的步骤中进一步节约时间和内存开销.对比软目标和硬目标的损失函数,发现两者中超参数温度的梯度变化较为相似.在硬目标中,损失函数超参数温度为1,在软目标中,损失函数超参数温度随着学生模型准确率的提高逐渐减小且最终趋于1.为了进一步地优化模型蒸馏方法的损失函数,可以先进行软目标的训练,在t不断趋于1的过程中抛弃教师模型,转而只训练硬目标.改进后的损失函数为:L(x,W,t)=LD(p(zt,t),p(zs,t))   (1t≤K);L(x,W)=LS(y,p(zs,t))    (t=1),式中K为温度阈值常数.1.2 小教师网络辅助蒸馏模型从式(1)中可以发现,蒸馏损失函数中调节系数α通常取值为0.5,这样要求学生模型要同时兼顾软目标和硬目标.实际训练中前几批次训练仍以软目标损失函数为主要目标,硬目标损失函数贡献较小,但随着训练次数的不断增加,学生模型的性能逐渐变强,这时硬目标损失函数占主导地位来参与每批次学生模型的训练,而此时学生模型的分布与教师模型已经较为接近,说明学生模型已经充分地学习到教师模型当中的暗知识.软目标损失函数的作用越来越小,甚至还会继承教师模型中的具有偏见的概率分布.上述说明了模型蒸馏方法的超参数温度对教师模型没有影响,只影响学生模型的收敛速度,因此为了节约训练时间,在训练初期采用结构相对简单的卷积神经网络替代大型卷积神经网络作为教师模型(即待解释模型),而小教师模型尽量要与学生模型(即解释模型)相近,其核心思想为小教师辅助训练的网络结构.在蒸馏过程中t会逐渐趋近1.改进的小教师蒸馏方法分为3个步骤.步骤1为解释模型向小教师模型学习.为了更好地训练,t被设置为向下取整的函数.当t=1时,蒸馏进入下一步骤,这时解释模型与待解释模型的概率分布差异相比教师-学生模型会减小,随后解释模型学习待解释模型的分布.在步骤2中依旧采用自适应温度控制的方式进行蒸馏,此时t被重置为20,并重复步骤1.这个过程中自适应温度同样会逐渐趋近1,解释模型会学到待解释模型的概率分布及暗知识.当t=1时,进入步骤3,即解释模型学习到待解释模型的软标签(soft targets),这时解释模型开始独自训练,抛弃软标签,以硬标签(hard targets)概率为损失函数进行训练,完整过程的蒸馏损失函数为当1t≤K时,Ls1(x,W,t))=LD(p(zst,t),p(zs,t)),Ls2(x,W,t))=LD(p(zet,t),p(zs,t));当t=1时,L(x,W)=Ls(y,p(zs,t)),式中:Ls1为步骤1的蒸馏损失,即解释模型与小教师模型的蒸馏过程;Ls2为步骤2的蒸馏损失,即解释模型与待解释模型的蒸馏过程;zst为小教师模型的全连接层输出;zet为待解释模型的全连接层输出;K为温度阈值常数,实验中设定为20.2 实验结果与分析实验分为三个部分:首先,进行教师模型的训练,分别使用T=5,20及自适应温度t对教师模型进行蒸馏;然后,用时间、准确率等指标对比分析不同小教师辅助蒸馏模型的效果,同时对比本文方法和其他改进的教师-学生模型蒸馏方法的效果;最后,通过类激活映射(grad-CAM)方法对比采用本文方法与其他蒸馏方法的学生模型继承教师模型的准确性和可解释性.2.1 实验环境实验所用的硬件配置为CORE i7-9700的CPU,3.00 GHz,显存为6 GiB大小的RTX2060显卡和16 GiB内存.操作系统为WIN10家庭版,软件为python3.7,Anaconda 3.0版本,pytorch1.7.0-gpu.2.2 教师模型的训练由于当预训练模型针对不同数据集进行训练时准确率等性能会参差不齐,如对于ImageNet数据集,使用简单的卷积神经网络进行1 000次迭代训练后,TOP-1准确率仅为40.27%,因此针对cifar-10,cifar-100,ImageNet和HRSC2016四种不同数据集进行充分训练,模型采用CNN,VGG-16,VGG-19,Resnet-34和Resnet-50进行后续实验,表1为五种训练模型性能,表中为训练集的TOP-5准确率及训练轮次.10.13245/j.hust.220219.T001表1五种训练模型的性能模型cifar-10cifar-100ImageNetHRSC2016准确率/%训练轮次准确率/%训练轮次准确率/%训练轮次准确率/%训练轮次CNN88.5225078.4740052.2680089.00350VGG-1696.5630095.4120075.431 00090.28200VGG-1998.0230098.6615077.211 00091.87200Resnet-3499.9915098.9915080.441 00096.03200Resnet-5099.9915098.3215081.981 00098.20200由表1可以看出:五种模型的性能在四种数据集上的表现各异,但由于数据集的质量良莠不齐,因此在HRSC2016中的表现欠佳.训练较为随机,训练过程须要多次重复.训练结束后,训练结果为后续实验提供基础.2.3 自适应超参数温度的对比实验实验使用Resnet-50作为教师模型,Resnet-34作为学生模型进行训练.图1为T=5,20及采用自适应温度时的Resnet-34蒸馏曲线,图中:n为迭代次数;η为准确率.选取的数据集为cifar-100,训练轮次为50次.10.13245/j.hust.220219.F001图1Resnet-34蒸馏曲线从图1(c)中可以看出:采用自适应温度的训练过程在训练轮次为50次时,Resnet-34模型的TOP-1准确率达到了95.3%,采用T=5,20的参数设置在训练轮次为40次时,Resnet-34模型的TOP-1的准确率分别为88.9%和92.1%,采用自适应温度的TOP-1准确率与T=5,20相比提高了5%和3%,且训练时间也会相较缩短24.7%和36.5%.训练模型训练时间见表2,表中训练时间为训练轮次为50次时所用时间.10.13245/j.hust.220219.T002表2训练模型的训练时间教师模型学生模型温度TOP-1准确率/%TOP-5准确率/%时间/sResnet-50Resnet-34588.995.24 166Resnet-50Resnet-342092.198.53 425Resnet-50Resnet-34自适应95.399.12 644由表2可知:当T=20时模型训练速度相比T=5时快,而相比T=5,20,采用自适应温度时,模型不仅迅速收敛,其TOP-1和TOP-5的性能指标也有提升.自适应温度解决了模型由于超参数温度T的固定,在不同的训练阶段均不能达到最优的问题.2.4 自适应温度的小教师模型实验实验加入小教师网络辅助训练结构,采用CNN,VGG-16,VGG-19,Resnet-34和Resnet-50进行对比实验.表3为五种训练模型的TOP-5准确率和训练时间,其中待解释模型分别设置为VGG-19,Resnet-34和Resnet-50;小教师模型分别设置为CNN,VGG-16和VGG-19;解释模型分别设置为VGG-16,VGG-19和Resnet-34.批处理大小(batchsize)设置为128.训练时间以模型训练迭代次数150次进行计算.10.13245/j.hust.220219.T003表3五种训练模型的TOP-5准确率和训练时间数据集待解释模型小教师模型解释模型温度TOP-5准确率/%时间/scifar-10Resnet-34VGG-19VGG-16598.726 934cifar-10Resnet-34VGG-19VGG-162099.996 702cifar-10Resnet-34VGG-19VGG-16自适应99.996 411cifar-10Resnet-34VGG-16VGG-19598.016 800cifar-10Resnet-34VGG-16VGG-192099.996 588cifar-10Resnet-34VGG-16VGG-19自适应99.996 027cifar-100Resnet-50VGG-19Resnet-34574.2413 620cifar-100Resnet-50VGG-19Resnet-342075.4511 064cifar-100Resnet-50VGG-19Resnet-34自适应83.068 203cifar-100Resnet-50VGG-19VGG-16572.2012 344cifar-100Resnet-50VGG-19VGG-162074.5810 275cifar-100Resnet-50VGG-19VGG-16自适应85.087 942ImageNetResnet-50VGG-19VGG-16564.5470 275ImageNetResnet-50VGG-19VGG-162063.2458 495ImageNetResnet-50VGG-19VGG-16自适应72.0850 276ImageNetResnet-50VGG-19Resnet-34567.2668 980ImageNetResnet-50VGG-19Resnet-342069.6554 064ImageNetResnet-50VGG-19Resnet-34自适应76.0751 277ImageNetResnet-50VGG-16VGG-19562.6068 640ImageNetResnet-50VGG-16VGG-192065.7357 400ImageNetResnet-50VGG-16VGG-19自适应73.4449 020HRSC2016VGG-19CNNVGG-16581.106 452HRSC2016VGG-19CNNVGG-162082.505 604HRSC2016VGG-19CNNVGG-16自适应87.184 921从表3可以看出:小规模待解释模型相比规模大的模型训练时间平均节约了30.6%,模型处理时间的减少主要来自于模型训练运行计算量的降低.例如:当Resnet-34模型作为解释模型,VGG-16作为教师模型时,相比VGG-19在cifar-100数据集上的准确率仅下降了1.84%,但处理时间节约了11.1%.由于采用自适应温度,VGG-16模型的参数计算量从单张图像60 MiB降低至44 MiB.以VGG-19为学生模型为例,传统方法采用Resnet-50作为教师模型,超参数温度设置为5.本文方法使用VGG-16作为小教师模型,采用自适应温度,相较于传统方法在TOP-1准确率中提升了3.37%,处理时间节约了33%.实验总体来看,平均TOP-1准确率相比原有方法提高了2.45%,时间节约了26.33%.若教师模型和学生模型网络结构相同,则较于不同类别的教师-学生模型,学生模型的迁移性能更好.将其他五种基于教师-学生模型的改进方法与本文方法进行性能上的比较.统一选取T=20,解释模型为VGG-19,待解释模型为Resnet-50,小教师模型为VGG-16,数据集为cifar-100,训练批次为150次.在相同硬件实验环境下进行比较,不同方法的训练模型训练时间对比见4.表4中文献[9]的助教模型依旧采用VGG-16分类模型.从结果上看:相比于助教模型注重缩小教师-学生模型之间的结构差异,本文方法更加注重教师-学生模型的训练过程差异,在与其他改进的教师-学生模型方法的对比中,不仅在处理时间上有优势,其分类性能也有相应的提升.10.13245/j.hust.220219.T004表4不同方法的训练模型训练时间对比方法TOP-1准确率/%TOP-5准确率/%时间/s文献[9]68.8880.2716 344文献[10]67.1488.2018 040文献[11]63.1581.9322 275文献[12]63.6782.7414 879文献[13]60.4583.5811 775本文65.1586.957 9212.5 类激活映射方法可视化训练结果实验主要对比自适应温度的小教师模型的蒸馏方法及教师-学生模型方法,采取这两种蒸馏方法的学生模型能否准确继承教师模型的暗知识.类激活映射方法能可视化卷积层,直观地展现出分类的结果及特征图像区域.实验选用HRSC2016数据集,使用Resnet-50和VGG-19作为教师模型,Resnet-34作为学生模型,对比在T=5,20及自适应温度下的可视化结果,采取不同参数的模型热力图激活区域对比如图2所示.10.13245/j.hust.220219.F002图2采取不同参数的模型热力图激活区域对比从图2中可以看出:本文方法关于船的热力图展示集中于船身,在图像分类所在区域定位更加准确,具有可解释性及可信性.而当T=5时,基于教师-学生的模型蒸馏方法的分类区域大多集中在海上而不是船身,可信性不足,可解释性较差.采用自适应温度的模型在训练过程中能快速收敛.实验说明基于自适应温度的小教师蒸馏方法是一种快速、可解释性强的方法.3 结语本研究首先说明传统教师-学生模型中超参数温度只与学生模型概率分布相关,在此基础上提出一种基于自适应温度的小教师网络的模型蒸馏方法.从实验结果来看,不仅节约了在原有复杂的教师模型上的训练时间,还简化了训练过程,最终处理时间相较原有方法节省了26.33%,平均TOP-1准确率相比原有方法提高了2.45%.本文方法在ImageNet大数据集的表现性能相较于小数据集如cifar-10等提高更加明显.此外,多教师模型可以解决单一教师模型的偏见迁移等情况,下一步将参考多教师模型来进行多教师-学生模型的自适应温度蒸馏方法.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读