知识蒸馏系列(二):知识蒸馏的迁移学习应用
请期待《知识蒸馏系列》最新一章的到来!在(上一篇文章)中, 我们系统性地介绍了三类知识蒸馏的基础类型算法. 今天, 我们将一起深入探讨知识蒸馏在迁移学习中的应用.
1. 前言
1.1 迁移学习定义及分类
迁移学习任务主要致力于从源Domain(source Domain)中经过训练得到的预训练模型在目标Domain(target Domain)上的应用。从而使得该模型在源Domain中习得的知识得以迁移到目标Domain中,并进而提高该领域任务的表现等效果。
针对解决源Domain与目标Domain间数据分布差异的问题,
根据迁移学习的实现对象与目标区别 [3],
可以将迁移学习方法分为以下几类:
第一类是监督与无监督的学习方法,
第二类是基于表示的学习方法,
第三类是基于策略的方法,
第四类是基于端到端的方法。

源自参考文献 [3]
- 基于实例采样的迁移技术旨在通过从原始数据集中重新采样或赋予不同权重来使样本分布趋近于目标领域数据集的空间分布。
- 基于特征表示的技术旨在开发新的特征提取方法以实现跨领域的性能提升。
- 针对模型参数设计的方法旨在通过直接调整源模型参数来适应目标领域需求。
- 利用领域内的关系结构设计的方法旨在建立在分析现有领域间关系的基础上提出的一种高效的知识转移框架,在现有研究中较为少见且具有创新性。
1.2 蒸馏知识的迁移学习
在蒸馏过程中的知识迁移中**(K-shot learning framework)**中,在源领域上经过训练的模型(source-domain model)被普遍采用作为教师模型,在目标领域上进行训练并构建的学生网络(student network)则被用作学生模型。
因为知识蒸馏通常发生在模型层面,在这一背景下
基于分类预测的软标签logits(响应式)的知识蒸馏
,
基于中间层级的特征表示(特征式)的知识蒸馏
,
基于不同层次之间的关联性分析(关系式)的知识蒸馏
1.3 蒸馏知识迁移的优点及应用领域
与传统的基于实例导向的知识蒸馏(instance-based knowledge distillation)以及基于关系导向的知识提取(relation-based knowledge extraction)相比,“蒸馏”知识迁移技术所具有的主要优势在于;其在保持模型性能的同时显著提升了知识传递效率;在复杂场景下展现出更高的知识稳定性和更好的泛化能力;并且能够有效平衡知识丰富度与学习效率之间的关系
- 不依赖于源数据域与目标数据域间存在的分布差异特征或内部关联特性;也不需要寻找相似分布的数据采样方法来提升各领域间的泛化能力。
- 通过端到端的知识蒸馏机制有助于约束模型对关键要素及输出结果的建模能力。
- 通过去除源领域与目标领域的分布限制以及下游任务中的相关约束条件;从而实现了跨越不同领域及 downstream 任务的知识迁移。
因此,知识蒸馏在迁移学习中的应用集中于以下方面:
跨数据集的知识迁移(数据域):例如,在图像分类任务中CIFAR10至ImageNet1k的迁移以及高分辨率源域至低分辨率目标域上的模型迁移。
跨下游任务的知识迁移(任务域):例如,在时空预测任务下的人体动作预测子任务KTH数据集至降水预测子任务HKO-7数据集的迁移。
对于中间层特征具有高精度要求或对中间特征层关系存在要求的下游任务迁移:例如追求像素级精度的图像分割、视频注意力预测以及降水预测等任务,在高分辨率源域至低分辨率目标域上的模型迁移。
本文旨在探讨知识蒸馏技术在迁移学习领域中的主要应用方法。具体而言,在这一研究框架下,我们将分别考察**基于特征的迁移(feature-based transfer)和基于参数的迁移(parameter-based transfer)**这两种主要的应用方法。通过分析不同应用场景下的算法性能表现及其适用性特点,在此基础上系统介绍其在迁移学习中的应用现状及发展趋势。
2. 蒸馏特征的迁移学习**(feature-based transfer)**
基于特征的知识转移机制(feature-based transfer)是一种方法,在此过程中,源域教师网络与目标域学生网络之间通过提取输出logits或中间层特征来建立迁移关系。这种基于特征的知识转移机制能够有效地实现不同领域之间的经验共享。
在处理下游任务中具有相同数据域迁移需求的场景下,在蒸馏知识选取上通常会包含软标签 logits 以利用非目标类的信息(response-based);而在跨任务域的迁移过程中,则常见地采用中间层特征作为蒸馏知识表征(feature-based)。此外,在具体算法实现过程中会涉及多个工作实例的介绍以及其在实际应用中的具体情况说明。
2.1. CRKD(TIP 2021)
除了在前文中介绍的知识蒸馏方法外,在压缩模型结构或通道的同时也可以通过减少图片分辨率来显著地降低模型的计算和存储开销。
为了解决图片分辨率下降导致的性能损失,并解决高、低分辨率数据域间的分布不匹配问题,《CRKD》通过知识蒸馏技术实现了高、低分辨率数据域间的迁移。具体而言,在这一方法中,教师网络会在高分辨率数据域中所学到的知识被成功地迁移到低分辨率数据域中的学生网络上。最终实现了模型压缩与计算资源优化的目的,并显著降低了模型的计算与存储开销。

CRKD 的高低分辨率对抗蒸馏实现,源自参考文献 [8]
如图,在传统 KD 的基础上,CRKD 的主要区别在于其蒸馏机制对高低分辨率感知能力的重视。该方法通过 Relation-Aware 等级知识传播机制实现了特征提取过程与目标分类器之间的紧密关联。

相较于基于传统 KD 的迁移算法直接优化教师与学生之间的特征关联,在CRKD中为了增强模型对不同分辨率信息的感知能力(relation-aware)并防止过拟合,则采用了对抗分类损失函数训练分类器来施加对高低分辨率输入对 (�ℎ,��) 的分类约束,并通过采用GAN训练方法实现教师模型传递知识给学生模型时保持特征在处理不同分辨率信息时的有效性



在知识蒸馏优化目标中,在教师与学生分类预测软标签logits(基于响应的)方面分别采用高分辨率和低分辨率蒸馏损失L1,2的同时,在CRKD中还引入了高分辨率教师特征(HR_T)与低分辨率学生特征(LR_S)之间的特征约束损失L3,并通过最大化低分辨率学生特征(LR_S)与高分辨率教师特征(HR_T)间总体分布差异的方法实现了对两者的适应性优化
CRKD 在对行人重识别、图像分类以及人脸检测等子任务进行迁移实验时均表现出了优于传统 KD 方法如 FitNet 和 ABLoss 的性能。
如表所示,在经过迁移学习的CIFAR-100数据集上的低分辨率图像分类任务中,CRKD模型表现出色地超越了基准模型(teacher model)。该结果验证了其不仅成功继承了教师网络的知识架构,并且在利用低位分辨率数据时能够捕获多层次的空间特征。

2.2. AFD(AAAI 2021)
在传统的特征蒸馏过程中,在教师网络与学生网络在通道数量及结构上存在显著差异的情况下,则通常需根据经验或分析策略手动筛选关键中间层特征并输出logits以建立映射关系。这些被选中的 teacher 层次特性和 student 层次特性会被配对作为蒸馏目标展开学习,并经过前文介绍的 connector 进行不同尺寸特征层间对齐。然而,在实际应用中仅凭人工选定的关系可能无法充分反映各关键点间的相关性,并且在跨任务学习场景下由于下游任务需求的变化可能导致基于人工选定的关系的有效性有所下降。

如图,可以看出手动选择的关系同注意力学习到的相关性存在差异,来源 [5]
注
相比前文介绍的突出教师与学生之间内部关联的Relational Knowledge Distillation(简称RKD),AFD则更加注重教师与学生之间的关系选择
对于教师模型与学生模型之间的复杂特征对齐关系是否存在一种算法库能够方便地调整蒸馏过程中的师生特征选择关联并允许通过配置文件轻松设定对齐策略呢?
当然!MMRazor 库集成了蒸馏算法中的多种核心组件:蒸馏架构(distiller)、特征对齐机制(connector)、信息传递模块(recorder)以及蒸馏损失函数(loss)。这些功能均经过了分离与配置解析处理,在不影响原有参数的前提下允许用户灵活设置教师到学生迁移过程中的特征选择与配准方案,并支持直接复用预训练模型而不需额外修改适配参数。

如图所示,在教师模型与学生模型之间分析中间层的特征差异时,默认采用自监督学习方法(AFD)对教师端与学生端之间的相关性注意力进行提取,并以加权后的教师特性和相关性注意力结果作为蒸馏目标的基础进行优化计算。


教师属性ℎ₁和学生活动属性ℎ₂在空间维度上进行平均池化操作后依次经过仿射变换和平滑激活函数生成相应的相似度表示s₁,s₂;这些表示被用作相关性注意力机制中的一部分来针对特定教师属性的学生活动注意权重w₁,w₂进行调整


在进行学生模型的优化过程中,默认情况下已经考虑了分类损失这一指标,在这一基础上还需要补充注意力蒸馏损失项 ���� 。对于关注于注意力参数的优化部分,请特别注意采用 ���� 这一具体操作。
AFD分别在知识蒸馏的模型压缩与迁移学习两个研究方向上展开了深入探索。其中,在迁移学习领域中,默认采用图像分类基准数据集ImageNet作为源任务,并针对多个目标任务如CUB200鸟类分类、MIT67室内场景识别、Stanford40人体动作识别以及Stanford Dogs犬类识别等进行迁移应用。

AFD 的ImageNet 图像分类迁移实验结果
3. 蒸馏参数的迁移学习(parameter-based transfer)
3.1. TMU(ICML 2020)
在从源域到目标域的知识迁移过程中, 针对数据分布与下游任务之间的差异性, 知识蒸馏的主要蒸馏目标及转移对象通常来自教师与学生模型中的特征或输出, 这一过程通过间接的方式实现了模型参数从源域到目标域转换的过程, 相对于直接进行显式的参数迁移而言, 相关的工作量相对较少
然而,在用于提取序列特征并存储模型记忆的教师型网络中(如 LSTM、GRU 等关键的隐藏层状态变量C),将参数进行显式迁移相较于从中间特征迁移而言具有以下优势:
不同于特征迁移,在参数迁移中将被迁移的部分从模型流程中与其它部分分离,并使在目标域上的 finetuning 过程无需依赖全部教师模型。
通过直接完成迁移过程,并根据先验知识灵活调节参与迁移的教师模块数量(即根据先验知识决定有多少个教师模块参与),从而实现了不同结构的教师模块之间蒸馏关系的自动建立与共享。
避免存储整个教师模块以减少存储消耗。
基于上述优势,在针对训练时间长且存储计算开销较大的像素级视频预测任务以及不同数据集呈现分布差异显著的降水预测子任务特性背景下,
TMU提出了一种无监督视频预测方法。
该方法通过从多个源域预训练生成的记忆库对目标域模型实施记忆蒸馏,
将记忆参数进行蒸馏处理以实现多教师模型的知识整合。

TMU 基于 memory bank 的参数蒸馏方式,图片来源 [7]
如图所示,在多个不同的任务领域中提取了各自的数据集进行预训练后分离出的模型记忆参数 �� $ 抽取并被存储在 teacher's memory bank 中。这一设计使得学生模型在特定领域上的知识迁移仅依赖于 teacher's memory 中对应领域的记忆库而不必依赖 teacher 模型的整体结构或参数信息。



在学生模型的计算过程中,在当前时刻t中使用TMU技术提取出记忆参数m_ts(即m_{t}{s}),其中存在一种仿射变换A_t将当前时刻t的记忆参数m_ts(即m_{t}{s})到模仿教师模型中的记忆m_tu(即m_{t}{u})之间建立起来的转换关系,并通过施加蒸馏约束的方式利用教师模型的记忆信息进行进一步优化和限制。

基于时刻 t 的通道注意力机制 atm ,对学生成员记忆 C_t 进行有选择性的遗忘操作,并利用 O_t 权重进行集成运算;图片来自参考文献 [7]。
如表所示,在视频预测、人体运动及降水预测等多领域多任务上进行了跨数据域和跨任务域的实验研究。值得注意的是,在降水预测领域中采用2-DIGITS MNIST & KTH 作为教师模型进行参数蒸馏的表现优于使用GUANGZHOU2014/GUANGZHOU2016这一单一本地数据集。这表明TMU具备一定的跨任务迁移能力;同时通过引入新的数据源并未降低整体预测效果的能力,则验证了TMU在参数蒸馏迁移过程中获得了额外的学习潜力。

3.2. SKD(TIP 2019)

在航拍视频图像显著性分析中,受限于机载硬件的分辨率限制(最高可达1280×720)以及计算能力与存储资源的制约(最大可降至32×32),研究团队不得不采取分辨率降维措施。该系统采用时间特征与空间特征解耦技术,在低频域构建基于相邻帧对 (��,��+1) 和单帧图像 �� 的低分辨率时间学生模型与高分辨率空间学生模型,并通过引入经过降维处理后的高分辨率时空教师特征图与显著性密度图(基于响应机制)实现了特征迁移机制的研究

基于时空特征的联合提取框架中, SKD算法通过蒸馏算法获得的空间Student网络��和时间Student网络��, 利用参数迁移机制生成综合性的时空Student网络���. 如图所示, ���模块直接从��和���两个子网络中迁移相关子网作为整体架构的关键组成部分。
SKD 基于 AVS1K 数据集开展视频显著性分析的跨尺度特征学习实验研究,在该研究中对原始航拍图像进行了降维处理以适应不同分辨率的需求。具体而言,在原始图像的最大分辨率为 1280×720 的基础上,经过降维处理后得到两个不同尺度的特征图分别对应着 64×64 和 32×32 的分辨率输出
根据下述表格可以看出,在保证一定准确度预测能力的同时

4. 总结
本文简要探讨了知识蒸馏技术在迁移学习领域的应用。具体而言,该研究主要涉及特征迁移与参数迁移两种方式,试图为企业界的研究者提供一定的参考与启发
对于涉及多个领域的迁移学习问题中的多种 downstream tasks and datasets(多个领域的迁移学习问题中的多种下游任务与数据集),是否有一个统一平台能够方便地整合并利用各个下游领域特定的数据集(各个下游领域特定的数据集),从而无需复杂的 data processing 和 interface alignment efforts(繁琐的数据处理与接口对齐努力)。
该平台MMRazor(MMRazor)确实是一个突破!它成功实现了海量知识蒸馏算法的应用,并完美集成在OpenMMLab框架内多个主流CV下游任务(包括图像分类、目标检测、图像分割以及人体姿态估计等)。我们热忱欢迎各位专家使用并提出宝贵意见!
指出在使用过程中可能遇到的问题,并涵盖 bug、框架设计优化建议、希望后续新增某些功能以及相关算法等建议与反馈;
用于在 MMRazor 中实现某个算法或某类算法 pipeline;优秀的实现将带来实践机会;
助力推广 MMRazor 并提升用户基数;
参考文献
[1] Yim J, Joo D, Bae J, et al. A gift from knowledge distillation: Fast optimization, network minimization and transfer learning[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4133-4141.
[2] Gou J, Yu B, Maybank S J, et al. Knowledge distillation: A survey[J]. International Journal of Computer Vision, 2021, 129(6): 1789-1819.
[3] Zhuang F, Qi Z, Duan K, et al. A comprehensive survey on transfer learning[J]. Proceedings of the IEEE, 2020, 109(1): 43-76.
[4] Li J, Fu K, Zhao S, et al. Spatiotemporal knowledge distillation for efficient estimation of aerial video saliency[J]. IEEE Transactions on Image Processing, 2019, 29: 1902-1914.
[5] Ji M, Heo B, Park S. Show, attend and distill: Knowledge distillation via attention-based feature matching[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(9): 7945-7952.
[6] Dadashzadeh A, Whone A, Mirmehdi M. Auxiliary Learning for Self-Supervised Video Representation via Similarity-based Knowledge Distillation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 4231-4240.
[7] Yao Z, Wang Y, Long M, et al. Unsupervised transfer learning for spatiotemporal predictive networks[C]//International Conference on Machine Learning. PMLR, 2020: 10778-10788.
[8] Feng Z, Lai J, Xie X. Resolution-aware knowledge distillation for efficient inference[J]. IEEE Transactions on Image Processing, 2021, 30: 6985-6996.
[9] Zhu Y, Wang Y. Student customized knowledge distillation: Bridging the gap between student and teacher[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 5057-5066.
[10] Park W, Kim D, Lu Y, et al. Relational knowledge distillation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 3967-3976.
[11] Yang L, Xu K. Cross modality knowledge distillation for multi-modal aerial view object classification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 382-387.
[12] Li X, Xiong H, Chen Z, et al. Knowledge Distillation with Attention for Deep Transfer Learning of Convolutional Networks[J]. ACM Transactions on Knowledge Discovery from Data (TKDD), 2021, 16(3): 1-20.
[13] Chen P, Huang D, He D, et al. Rspnet: Relative speed perception for unsupervised video representation learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(2): 1045-1053.
OpenMMLab:知识蒸馏系列(一):三类基础蒸馏算法96 赞同 · 5 评论文章正在上传…重新上传失效
本知识蒸馏系列文章第二部分深入探讨了知识蒸馏技术在迁移学习领域的具体应用场景
