微软亚研提出TinyMIM,用知识蒸馏改进小型ViT|实验|vit|预训练|科学家|财务报表|财务会计|tinymim
用微信扫码二维码
分享至好友和朋友圈
掩码建模(MIM,MAE)被证明是非常有效的自监督训练方法。然而,如图1所示,MIM对于更大的模型效果相对更好。当模型很小的时候(比如vit-T5M参数,这样的模型对于现实世界非常重要),MIM甚至可能一定程度上降低模型的效果。比如用MAE训练的ViT-L比普通监督训练的模型在ImageNet上的分类效果提升3.3%,但是用MAE训练的ViT-T比普通监督训练的模型在ImageNet上的分类效果降低了0.6%。
在这篇工作中我们提出了TinyMIM,其在保持ViT结构不变并且不修改结构引入其他归纳偏置(inductivebias)的基础上、用蒸馏的方法迁移大模型上的知识到小模型。
我们系统性的研究了蒸馏目标、数据增强、正则化、辅助损失函数等对于蒸馏的影响。在严格的只用ImageNet-1K作为训练数据的情况下(包括Teachermodel也只用ImageNet-1K训练)和ViT-B作为模型,我们的方法实现了当前最好的性能。如图所示:
把我们的方法(TinyMIM)和基于掩码重建的方法MAE,以及监督式学习的方法从头开始训练的DeiT作比较。MAE在模型比较大的时候有显著的性能提升,但是在模型比较小的时候提升幅度有限甚至会伤害模型的最终效果。我们的方法TinyMIM在不同模型的大小上都有大幅提升。
1.蒸馏的目标(Distillationtargets):1)蒸馏token之间的关系比单独蒸馏classtoken或者特征图(featuremap)更有效;2)用中间层作为蒸馏的目标更有效。
2.数据增强和模型正则化(Dataandnetworkregularization):1)用带掩码的图片效果更差;2)学生模型需要一点droppath,但是teacher模型不需要。
3.辅助损失函数(auxiliarylosses):MIM作为辅助损失函数没有意义。
4.宏观蒸馏策略(macrodistillationstrategy):我们发现序列化的蒸馏(ViT-B->ViT-S->ViT-T)效果最好。
我们系统性的调研了蒸馏的目标,输入的图片,蒸馏目标模块。
2.1影响蒸馏效果的因素
a.中间block特征和输出特征
当i=L时,指的是Transformer输出层的特征。当i b.注意力(Attention)特征和前馈层(FFN)层特征 Transformer每一个block有Attention层和FFN层,蒸馏不同的层会带来不同的影响。 在Attention层内会有Q,K,V特征,这些特征用于计算注意力机制,我们也调研了直接蒸馏这些特征。 Q,K,V用于计算注意力图,这些特征之间的关系也可以作为知识蒸馏的目标。 传统的知识蒸馏是直接输入完整的图片。我们的方法为了探索蒸馏掩码建模模型,所以我们也探索了带掩码的图片是否适合作为知识蒸馏时候的输入。 2.2知识蒸馏方法对比 最简单的方法就是类似DeiT直接蒸馏MAE预训练模型的classtoken: 2)特征蒸馏:我们直接参考了featuredistillation[1]作为对比 我们的方法在ImageNet-1K上预训练,而且教师模型也是在ImageNet-1K预训练。然后我们将我们预训练的模型在下游任务(分类、语义分割)上进行了微调。模型表现如图: 我们的方法显著超过之前基于MAE的方法,尤其是小模型。具体来讲,对于超小的模型ViT-T,我们的方法实现了75.8%的分类准确性,相比MAE基线模型实现了4.2的提升。对于小模型ViT-S,我们实现了83.0%的分类准确性,比之前最好的方法提升了1.4。对于Base尺寸的模型,我们的方法分别超过MAE基线模型和以前最好的模型CAE4.1和2.0。 同时我们也测试了模型的鲁棒性,如图所示: TinyMIM-B对比MAE-B,在ImageNet-A和ImageNet-R分别提升了6.4和4.6。 同时蒸馏QK,VV关系而且在计算关系的时候有Softmax实现了最好的效果。 TinyMIM这种蒸馏关系的方法实现了比MAE基线模型,classtoken蒸馏,特征图蒸馏都更好的效果,在各种尺寸的模型上都是如此。 我们发现蒸馏第十八层实现了最好的效果。
谷普下载提醒您:让你提前汇款,或价格明显低于市价,均有骗子嫌疑,请不要轻易相信。
相关资料:txt下载、doc下载、文章搜索、网址搜索、百度搜索、好搜搜索、搜狗搜索、必应搜索
本文链接:http://www.gpxz.com/article/ebbcc7ea04cd2b5a314d.html