当前位置: 江南文明网 > 科技 > 智能 >

微软亚研提出TinyMIM

条评论

微软亚研提出TinyMIM

微软亚洲研究院

 

本文提出了 TinyMIM,它是第一个成功地使小模型受益于 MIM 预训练的模型。

 

一、研究动机

掩码建模(MIM, MAE)被证明是非常有效的自监督训练方法。然而,如图 1 所示,MIM 对于更大的模型效果相对更好。当模型很小的时候(比如 ViT-T 5M 参数,这样的模型对于现实世界非常重要),MIM 甚至可能一定程度上降低模型的效果。比如用 MAE 训练的 ViT-L 比普通监督训练的模型在 ImageNet 上的分类效果提升 3.3%,但是用 MAE 训练的 ViT-T 比普通监督训练的模型在 ImageNet 上的分类效果降低了 0.6%。

在这篇工作中我们提出了 TinyMIM,其在保持 ViT 结构不变并且不修改结构引入其他归纳偏置(inductive bias)的基础上、用蒸馏的方法迁移大模型上的知识到小模型。


 

 

  • 论文地址:https://arxiv.org/pdf/2301.01296.pdf
  • 代码地址:https://github.com/OliverRensu/TinyMIM

 

我们系统性的研究了蒸馏目标、数据增强、正则化、辅助损失函数等对于蒸馏的影响。在严格的只用 ImageNet-1K 作为训练数据的情况下(包括 Teacher model 也只用 ImageNet-1K 训练)和 ViT-B 作为模型,我们的方法实现了当前最好的性能。如图所示:


 

把我们的方法(TinyMIM)和基于掩码重建的方法 MAE,以及监督式学习的方法从头开始训练的 DeiT 作比较。MAE 在模型比较大的时候有显著的性能提升,但是在模型比较小的时候提升幅度有限甚至会伤害模型的最终效果。我们的方法 TinyMIM 在不同模型的大小上都有大幅提升。

我们的贡献如下:

1. 蒸馏的目标(Distillation targets):1)蒸馏 token 之间的关系比单独蒸馏 class token 或者特征图(feature map)更有效;2)用中间层作为蒸馏的目标更有效。

2. 数据增强和模型正则化(Data and network regularization):1)用带掩码的图片效果更差;2)学生模型需要一点 drop path,但是 teacher 模型不需要。

3. 辅助损失函数(auxiliary losses):MIM 作为辅助损失函数没有意义。

4. 宏观蒸馏策略(Macro distillation strategy):我们发现序列化的蒸馏(ViT-B -> ViT-S -> ViT-T)效果最好。

二、方法


 

我们系统性的调研了蒸馏的目标,输入的图片,蒸馏目标模块。

2.1 影响蒸馏效果的因素

1)特征:

a. 中间 block 特征和输出特征


 

当 i=L 时,指的是 Transformer 输出层的特征。当 i< L 时,指的是 Transformer 中间层的特征。

b. 注意力(Attention)特征和前馈层(FFN)层特征


 

Transformer 每一个 block 有 Attention 层和 FFN 层,蒸馏不同的层会带来不同的影响。