一文梳理视觉 Transformer 架构进展:与 CNN 相比,



Transformer 近年来已成为视觉领域的新晋霸主,这个来自 NLP 领域的模型架构在 CV 领域有哪些具体应用?。

Transformer 作为一种基于注意力的编码器 - 解码器架构,不仅彻底改变了自然语言处理(NLP)领域,还在计算机视觉(CV)领域做出了一些开创性的工作。与卷积神经网络(CNN)相比,视觉 Transformer(ViT)依靠出色的建模能力,在 ImageNet、COCO 和 ADE20k 等多个基准上取得了非常优异的性能。

近日,一位名为 Nikolas Adaloglou 的博主撰写了一篇博客长文,综述了 ViT 领域的进展以及 ViT 与其他学科的交叉应用。

一文梳理视觉 Transformer 架构进展:与 CNN 相比,

本文作者 Nikolas Adaloglou。

Nikolas Adaloglou 是一名机器学习工程师,他对和 AI 相关的 3D 医学成像、图像和视频分析、基于图的深度学习模型以及生成式深度学习感兴趣,致力于借助机器学习推动医学工程的发展。

以下是博客原文:

ViT 的灵感来源于自然语言处理中的自注意力机制,其中将词嵌入替换成了 patch 嵌入。

一文梳理视觉 Transformer 架构进展:与 CNN 相比,

以合理的规模训练 ViT

知识蒸馏

在 Kaggle 等深度学习竞赛中,集成(ensemble)是非常流行的一种方法。集成大体上是指平均多个已训练模型的输出以进行预测。这种简单的方法非常适合提高测试时的性能,然而它在推理过程中会慢 N 倍(其中 N 表示模型数量)。当在嵌入式设备中部署此类神经网络时,这就成了一个棘手的问题。解决这个问题常用的一种方法是知识蒸馏。

在知识蒸馏中,小模型(学生模型)通常是由一个大模型(教师模型)监督,算法的关键是如何将教师模型的知识迁移给学生模型。

尽管没有足够的基础理论支持,但知识蒸馏已被证明是一种非常有效的技巧。关于为什么集成的输出分布能提供与集成相当的测试性能,还有待发现。而使用集成的输出(略有偏差的平滑标签)相对于真实标签存在性能增益,这更加神秘。

DeiT 模型通过注意力训练数据高效的图像 Transformer 和蒸馏,这表明在没有外部数据的情况下,仅在 ImageNet 上训练 ViT 是可以的。该研究使用来自 Resnet 的已训练好的 CNN 模型作为单一教师模型。直观地讲,强大的数据假设(归纳偏置)让 CNN 比 ViT 更适合做教师网络。

自蒸馏

令人惊讶的是,有研究发现类似方法也可以通过对同一架构的单个模型(教师网络)进行知识蒸馏来实现。这个过程被称为自蒸馏,来自于 Zhang et al.2019 年的论文《Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self Distillation》。自蒸馏就是一种 N=1 的知识蒸馏,自蒸馏(使用具有相同架构的单个训练模型)也可以提高测试准确率。

ViT 的 Hard-label 蒸馏:DeiT 训练策略

在这种方法中,一个额外的可学习全局 token(即蒸馏 token),与 ViT 的 patch 嵌入相连。最关键的是,蒸馏 token 来自训练有素的教师 CNN 主干网络。通过将 CNN 特征融合到 Transformer 的自注意力层中,研究者们在 Imagenet 的 1M 数据上训练 DeiT。

DeiT 模型概览。

DeiT 使用如下损失函数进行训练:

其中 CE 是交叉熵损失函数,σ 是 softmax 函数。Z_cls 和 Z_distill 分别是来自类 token 和蒸馏 token 的学生模型的输出,ytrue 和 yteacher 分别是 ground truth 和教师模型的输出。

这种蒸馏技术使模型用更少的数据获得超强的数据增强,这可能会导致 ground truth 标签不精确。在这种情况下,教师网络似乎会产生更合适的标签。由此产生的模型系列,即数据高效图像 Transformer(DeiTs),在准确率 / 步长时间上与 EfficientNet 相当,但在准确率 / 参数效率上仍然落后。

除了蒸馏,还有一些研究大量使用图像增强来弥补缺乏可用的额外数据。此外,DeiT 依赖于随机深度等数据正则化技术。最终,强大的增强和正则化限制了 ViT 在小数据机制中的过拟合趋势。

Pyramid 视觉 Transformer

一文梳理视觉 Transformer 架构进展:与 CNN 相比,

Pyramid 视觉 Transformer(PVT)的总体架构。

为了克服注意力机制的二次复杂度,Pyramid 视觉 Transformer(PVT)采用一种称为空间减少注意力 ( SRA ) 的自注意力变体。其特征是键和值的空间减少,类似于 NLP 领域的 Linformer 注意力。

通过应用 SRA,整个模型的特征空间维度缓慢减少,并通过在所有 transformer block 中应用位置嵌入来增强顺序的概念。PVT 已被用作目标检测和语义分割的主干网络,以处理高分辨率图像。

后来,该研究团队推出改进版 PVT-v2,主要改进如下:

重叠 patch 嵌入;

卷积前馈网络;

线性复杂度自注意力层。




上一篇:2022中国生物医学工程大会暨创新医疗峰会(BME
下一篇:神奇的肉毒素到底能做些什么?