知识蒸馏
-
前言:2006 年,Caruana [9] 等人首次提出利用知识转移 (Knowledge Transfer,KT)来压缩模型,对强分类器的压 缩模型进行训练,标记了伪数据,并再现了较大的原始 网络输出。2014 年,Jimmy [10] 等首次提出知识蒸馏 (KnowledgeDistillation,KD)的概念,用于将大而深的网 络压缩为较小的网络,其中压缩模型模仿复杂模型所 学习的函数。基于 KD的主要思想是通过改进的 Softmax函数来软化大型教师模型的输出,将大型教师 模型的“知识”转移到小型的学生模型中。而2015年Hinton [11] 提出以教师网络和学生网络共同的输出作为 目标函数,将教师网络中有用的信息迁移至学生网络上进行训练。2017年,Zagoruyko [12] 等人将注意力机制 引入知识蒸馏,使用教师网络训练的注意力特征图引 导学生网络训练。因此,本文以道路可行驶区域作为研究对象,将知 识蒸馏这一模型压缩方法应用于道路可行驶区域分割,以期使用较小的神经网络模型得到较高的分割精度。
-
概念:知识蒸馏是一种利用神经网络中的迁移训练方式 将大型网络的“知识”转移到小型网络中的模型压缩方法。知识蒸馏算法中引入教师网络和学生网络两种神 经网络,其中教师网络的参数量巨大、精确度高、特征提取能力强,但参数量巨大导致难以在单片机等移动终端 上进行部署,学生网络参数量较小,但单独训练时精确 度不高,很难满足实际道路环境要求。知识蒸馏训练方 式则是使用教师网络指导学生网络的训练,将教师网络 的“知识”通过蒸馏算法传递至学生网络中。知识蒸馏 算法引入了一种软标签的形式实现教师与学生网络的知识迁移,与传统的硬标签在标注数据时只有“0”和“1” 相比,软标签用0和1之间的数据来标注图片,这样在标注出图片所属类别的同时,将类与类之间的距离很好地 表示出来。
知识蒸馏模型压缩算法的原理如图1所示。学生网络知识蒸馏训练过程中,首先训练一个参数量较多且
精度较高的神经网络,使用该网络得到训练集的软标签,然后将软标签和真实硬标签一起作为蒸馏训练的拟
合对象,使用参数 α 来调节损失函数的比重。训练之后,使用小模型进行部署预测。