【论文笔记】DeiT论文阅读笔记

paper:Training data-efficient image transformers & distillation through attention

github:https://github.com/facebookresearch/deit

ViT训练有以下几点困难:

(1)需要大量GPU资源;

(2)需要大量数据,预训练数据集JFT-300M未公开;

(3)超参数设置不好不容易train出效果;

(4)只用ImageNet训练准确率不高(ViT-B top1 acc 77.91%)。

针对ViT难训练的问题,DeiT提出参数设置、数据增强、知识蒸馏来更有效地训练ViT。DeiT提出的训练方法成为后续ViT模型的训练标注。

声明:本文部分图片来自朱欤老师的【从零开始学transformer】课程。 

一、知识蒸馏

1、soft distillation

下图为soft distillation的原理图(为什么叫soft? 因为教师模型输出的是概率值):

【论文笔记】DeiT论文阅读笔记_第1张图片

损失函数如下(y表示ground truth,\psi (Z_s)表示学生模型的预测结果,\psi (Z_t/\tau )表示教师模型的预测结果,\psi (Z_s/\tau )是distillation输出的概率),学生和教师模型的预测损失函数为KLDivLoss。

 2、Hard-label distillation

下图为hard distillation的原理图(为什么叫hard? 因为教师模型输出的是预测结果,argmax的输出):

【论文笔记】DeiT论文阅读笔记_第2张图片

 损失函数如下,y表示ground truth,\psi (Z_s)表示学生模型的预测结果,y_{t}表示教师模型的预测结果(argmax的输出),学生和教师模型的预测损失函数为CELoss。

二、网络结构

DeiT网络结构与ViT高度类似,在ViT的基础上添加了distillation token,用于与教师网络计算损失。

【论文笔记】DeiT论文阅读笔记_第3张图片

 DeiT训练过程中使用RegNetY-16GF作为教师模型(ImageNet top1 acc 82.9%),通过soft distillation和hard distillation实验,对transformer模型hard distillation性能较好。

【论文笔记】DeiT论文阅读笔记_第4张图片

 三、训练细节

训练设置如下表所示,这些设置在后续出现的ViT模型中广泛使用。

【论文笔记】DeiT论文阅读笔记_第5张图片

你可能感兴趣的:(深度学习,ViT,图像处理,计算机视觉,深度学习,ViT,Transformer)