一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?(2)

简介: 一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?

Scaling 视觉 Transformer

深度学习和规模是相关的。事实上,规模是很多 SOTA 实现的关键因素。在这项研究中,来自 Google Brain Research 的作者训练了一个稍微修改过的 ViT 模型,它有 20 亿个参数,并在 ImageNet 上达到了 90.45 % 的 top-1 准确率。这种过度参数化的一般化模型在少样本学习上进行了测试,每类只有 10 个示例情况下。在 ImageNet 上达到了 84.86% 的 top-1 准确率。

小样本学习是指在样本数量极其有限的情况下对模型进行微调。小样本学习的目标通过将获得的预训练知识稍微适应特定任务来激励泛化。如果成功地预训练了大型模型,那么在对下游任务非常有限的理解(仅由几个示例提供)的情况下表现良好是有意义的。


以下是本文的一些核心贡献和主要结果:

  • 模型大小可能会限制表征质量,前提是有足够的数据来提供它;
  • 大型模型受益于额外的监督数据,甚至超过 1B 图像。



上图描绘了从 300M 图像数据集 (JFT-300M) 切换到 30 亿图像 (JFT-3B) 而不进行任何进一步缩放的效果。中型 (B/32) 和大型 (L/16) 模型都受益于添加数据,大致是一个常数因子。结果是在整个训练过程中通过小样本(线性)评估获得的。

  • 大模型的样本效率更高,以更少的可见图像达到相同的错误率水平。
  • 为了节省内存,他们删除了类 token (cls)。相反,他们评估了全局平均池化和多头注意力池化,以聚合所有 patch token 的表征。
  • 他们对头部和称为「主干」的其余层使用了不同的权重衰减。作者在下图中很好地证明了这一点。框值是小样本精度,而横轴和纵轴分别表示主干和头部的权重衰减。令人惊讶的是,头部的更强衰减会产生最好的结果。作者推测,头部的强烈权重衰减会导致表示具有更大的类之间的余量。



这或许是可以更广泛地应用于预训练 ViT 的最有趣的发现。

他们在训练开始时使用了热身阶段,在训练结束时使用了冷却阶段,其中学习率线性退火为零。此外,他们使用了 Adafactor 优化器,与传统的 Adam 相比,内存开销为 50%。

在同一个波长,你可以找到另一个大规模的研究:《如何训练你的 ViT?视觉 Transformer 中的数据、增强和正则化》(How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers)

替代自注意力:独立 token + 通道混合方式

众所周知,自注意力可以作为一种具有快速权重的信息路由机制。到目前为止,有 3 篇论文讲述了同样的故事:用 2 个信息混合层替换自注意力;一种用于混合 token(投影 patch 向量),一种用于混合通道 / 特征信息。

MLP-Mixer

MLP-Mixer 包含两个 MLP 层:第一个独立应用于图像 patch(即「混合」每个位置的特征),另一个跨 patch(即「混合」空间信息)。

MLP-Mixer 架构。

XCiT:互协方差图像 Transformer

另一个是最近的架构 XCiT,旨在修改 ViT 的核心构建 block:应用于 token 维度的自注意力。

XCiT 架构。

XCA:对于信息混合,作者提出了一种交叉协方差注意力 (XCA) 函数,该函数根据 token 的特征维度而不是根据其本身进行操作。重要的是,此方法仅适用于 queries、keys、values 集的 L2 归一化。L2 范数用 K 和 Q 字母上方的 hat 表示。乘法的结果在 softmax 之前也归一化为 [-1,1] 。

局部 Patch 交互:为了实现 patch 之间的显式通信,研究者添加了两个 depth-wise 3×3 卷积层,中间有批归一化和 GELU 非线性。Depth-wise 卷积独立应用于每个通道(这里的 patch)。


ConvMixer(加链接:patch 成为了 ALL You Need?挑战 ViT、MLP-Mixer 的简单模型来了)

自注意力和 MLP 理论上是更通用的建模机制,因为它们允许更大的感受野和内容感知行为。尽管如此,卷积的归纳偏差在计算机视觉任务中具有不可否认的成果。

受此启发,研究者提出了另一种基于卷积网络的变体,称为 ConvMixer。主要思想是它直接对作为输入的 patch 进行操作,分离空间和通道维度的混合,并在整个网络中保持相同的大小和分辨率。


更具体地说,depthwise 卷积负责混合空间位置,而逐点卷积(1x1x 通道内核)用于混合通道位置,如下图所示:


通过选择较大的内核大小来创建较大的感受野,可以实现远距离空间位置的混合。

多尺度视觉 Transformer

CNN 主干架构受益于通道的逐渐增加,同时降低了特征图的空间维度。类似地,多尺度视觉 Transformer (MViT) 利用了将多尺度特征层次结构与视觉 Transformer 模型相结合的想法。在实践中,作者从 3 个通道的初始图像大小开始,逐渐扩展(分层)通道容量,同时降低空间分辨率。

因此,创建了一个多尺度的特征金字塔。直观地说,早期层将学习高空间与简单的低级视觉信息,而更深层负责复杂的高维特征。


视频分类:Timesformer

在图像任务成功后,视觉 Transformer 被应用于视频识别。这里介绍两种架构:

用于视频识别的基于 block 与基于架构 / 基于模块的时空注意力架构。

  • 右图:缩小架构级别。所提出的方法将空间 Transformer 应用于投影图像 block,然后有另一个网络负责捕获时间相关性。这类似于基于视频处理的 CNN+LSTM 获胜策略。
  • 左图:可以在自注意力级别实现的时空注意力,红框中是最佳组合。通过首先将图像帧视为 token 来在时域中顺序应用注意力。然后,在 MLP 投影之前应用两个空间维度的组合空间注意力。下面是该方法的 t-SNE 可视化:


使用 Timesformer t-SNE 进行特征可视化。

「每个视频都可视化为一个点。属于同一动作类别的视频具有相同的颜色。具有分割时空注意力的 TimeSformer 比具有仅空间注意力或 ViT 的 TimeSformer 在语义上学习更多可分离的特征。」


语义分割中的 ViT:SegFormer

英伟达提出了一种配置良好的设置,名为 SegFormer。SegFormer 的设计组件很有趣。首先,它由一个输出多尺度特征的分层 Transformer 编码器组成。其次,它不需要位置编码,因为当测试分辨率与训练不同时,这会降低性能。

SegFormer 使用一个超级简单的 MLP 解码器来聚合编码器的多尺度特征。与 ViT 不同的是,SegFormer 采用了小的图像 patch,例如 4 x 4 这种,众所周知,这有利于密集预测任务。所提出的 Transformer 编码器输出 1/4、1/8、1/16、1/32 多级特征的原始图像分辨率。这些多级特征提供给 MLP 解码器来预测分割掩码。


Mix-FFN:为了减轻位置编码的影响,研究者使用 零填充的 3 × 3 卷积层来泄漏位置信息。Mix-FFN 可以表述为:


高效的自注意力是 PVT 中提出的,它使用缩减比率来减少序列的长度。结果可以通过可视化有效感受野 (ERF) 来定性测量:


「SegFormer 的编码器自然地产生局部注意力,类似于较低阶段的卷积,同时能够输出高度非局部注意力,有效地捕捉第 4 阶段的上下文。如放大补丁所示,MLP 头部(蓝色框)的 ERF 与 Stage-4(红色框)不同,除了非局部注意力之外,局部注意力明显更强。」


医学成像中的视觉 Transformer:Unet + ViT = UNETR

尽管在医学成像方面还有其他尝试,但 UNETR 提供了最有说服力的结果。在这种方法中,ViT 适用于 3D 医学图像分割。研究表明,简单的适应足以改善几个 3D 分割任务的基线。

本质上,UNETR 使用 Transformer 作为编码器来学习输入音频的序列表示。与 Unet 模型类似,它旨在有效捕获全局多尺度信息,这些信息可以通过长残差连接传递给解码器,以不同的分辨率形成残差连接以计算最终的语义分割输出。

UNETR 架构。

以下是论文的一些分割结果:


原文链接:https://theaisummer.com/transformers-computer-vision/?hss_channel=tw-1259466268505243649&continueFlag=8cde49e773efaa2b87399c8f547da8fe

相关文章
|
10月前
|
机器学习/深度学习 资源调度 计算机视觉
I-ViT: 用于高效视觉Transformer推理的纯整数量化——论文阅读
I-ViT是首个专为视觉Transformer设计的纯整数量化方案,通过Shiftmax、ShiftGELU和I-LayerNorm实现全整数推理,避免浮点运算。在保持模型精度的同时,显著提升推理效率,实现3.7倍以上加速,推动ViT在边缘设备的高效部署。
921 9
I-ViT: 用于高效视觉Transformer推理的纯整数量化——论文阅读
|
机器学习/深度学习 人工智能 自然语言处理
人人都能读懂的大模型入门指南 - Transformer与Attention机制
人人都能读懂的大模型入门指南 - Transformer与Attention机制
950 5
人人都能读懂的大模型入门指南 - Transformer与Attention机制
|
10月前
|
机器学习/深度学习 存储 资源调度
Transformer架构的简要解析
Transformer架构自2017年提出以来,彻底革新了人工智能领域,广泛应用于自然语言处理、语音识别等任务。其核心创新在于自注意力机制,通过计算序列中任意两个位置的相关性,打破了传统循环神经网络的序列依赖限制,实现了高效并行化与长距离依赖建模。该架构由编码器和解码器组成,结合多头注意力、位置编码、前馈网络等模块,大幅提升了模型表达能力与训练效率。从BERT到GPT系列,几乎所有现代大语言模型均基于Transformer构建,成为深度学习时代的关键技术突破之一。
1350 7
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
​​超越CNN与RNN:为什么Transformer是AI发展的必然选择?​
本文深入解析Transformer及其在AI领域的三大突破:自然语言处理、视觉识别(ViT)与图像生成(DiT)。以“注意力即一切”为核心,揭示其如何成为AI时代的通用架构。
1014 2
|
机器学习/深度学习 人工智能 PyTorch
使用FP8加速PyTorch训练
在这篇文章中,我们将介绍如何修改PyTorch训练脚本,利用Nvidia H100 GPU的FP8数据类型的内置支持。
687 0
|
机器学习/深度学习 数据可视化 计算机视觉
详解分析 | ViT如何在医疗图像领域替代CNNs?
详解分析 | ViT如何在医疗图像领域替代CNNs?
673 0
|
机器学习/深度学习 自然语言处理 PyTorch
【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】
【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】
|
11月前
|
机器学习/深度学习 人工智能 算法
AI 基础知识从 0.4 到 0.5—— 计算机视觉之光 CNN
本文系统回顾了计算机视觉的发展历程,从早期基于手工特征的传统方法,到深度学习的崛起与卷积神经网络(CNN)的广泛应用,并通过数学原理、代码示例与可视化手段,全面解析了卷积操作的本质与CNN的架构设计。
858 33
AI 基础知识从 0.4 到 0.5—— 计算机视觉之光 CNN
|
5月前
|
人工智能 自然语言处理 机器人
告别机械回复:三步微调AI模型,打造会“读心”的智能客服
本文详解智能客服“需求感知”核心技术:通过BERT微调实现情感识别(感知情绪)、意图分类(理解目的)与实体抽取(提取关键信息),三者协同输出结构化理解。附完整Python实战代码,零基础可上手,并介绍低代码平台方案,助你快速打造有温度的AI客服大脑。(239字)
754 4
告别机械回复:三步微调AI模型,打造会“读心”的智能客服
|
机器学习/深度学习 自然语言处理 算法
122个经典SOTA模型、223个算法实现资源,我们帮你一文汇总了
122个经典SOTA模型、223个算法实现资源,我们帮你一文汇总了
1480 1