HyperAI超神经
Back to Headlines

DeiT:用更少的数据训练更高效的视觉Transformer

4 days ago

vision transformer(ViT)在图像识别方面表现出色,但需要数亿标注图像才能实现最佳性能,这在大多数情况下是难以实现的。为了解决这一问题,Hugo Touvron等人提出了一种新的方法,即数据高效图像Transformer(Data-Efficient Image Transformers,简称DeiT)。这篇论文是在初始ViT发布两个月后发布的,它通过知识蒸馏(distillation)技术,成功地减少了训练所需的图像数量,同时保持了模型的高准确性。 知识蒸馏 是一种转移现有模型(教师模型)的知识到新模型(学生模型)的技术。在DeiT中,作者并没有从零开始训练transformer模型,而是利用已有的卷积神经网络(CNN)模型RegNet作为教师模型来指导DeiT的学习过程。这样做不仅可以提高效率,还能减少所需的训练数据量。具体来说,原始ViT需要3亿张图片来进行训练,而DeiT只需要1百万张图片(ImageNet-1K数据集),数据需求减少了300倍。 DeiT继承了ViT的架构,但引入了一个重要的变化——在原有的类别令牌(class token)基础上添加了一个蒸馏令牌(distillation token)。这两种令牌会在序列的开头被添加到补丁序列中,以便在网络中传递更多信息。 Patcher类:将输入图像分割成多个非重叠的补丁,每个补丁大小为16×16,经过卷积层(convolution layer)和展平层(flatten layer)处理后,形成一个大小为576的序列。 Encoder类:包括多头注意力机制(multihead attention)、前馈网络(feed-forward network)和两个归一化层(layer normalization)。这些组件在ViT中也有类似的结构,用于处理补丁序列。 论文中的实验展示了DeiT在ImageNet-1K数据集上的性能。与ViT相比,即使在数据有限的情况下,DeiT仍然表现出了更高的准确率。特别是当应用了他们提出的新型蒸馏机制并进行图像放大(384×384)后,模型的准确率进一步提高,达到了DeiT-B⚗↑384的水平。这些实验结果证明了DeiT在数据效率方面的优越性。 在训练阶段,DeiT的分类输出与真实的标签进行比较,使用交叉熵损失函数评估性能。蒸馏输出则与教师模型的输出进行比较,使用Kullback-Leibler(KL)损失或硬标签损失。在推理阶段,不再使用教师模型,而是将分类和蒸馏输出的logits进行平均处理,得到最终预测结果。

Related Links

Towards Data Science