Transformer | 详细解读Transformer怎样从零训练并超越ResNet?(一)

简介: Transformer | 详细解读Transformer怎样从零训练并超越ResNet?(一)

1简介


Vision Transformers(ViTs)和MLPs标志着在用通用神经架构替换手动特征或归纳偏置方面的进一步努力。现有工作通过大量数据为模型赋能,例如大规模预训练和/或重复的强数据增广,并且还报告了与优化相关的问题(例如,对初始化和学习率的敏感性)。

因此,本文从损失几何的角度研究了ViTs和MLP-Mixer,旨在提高模型在训练和推理时的泛化效率。可视化和Hessian揭示了收敛模型极其敏感的局部最小值。

同时通过使用最近提出的锐度感知优化器提高平滑度,进而大大提高了ViT和MLP-Mixer在跨越监督、对抗、对比和迁移学习(例如,+5.3% 和 +11.0%)的各种任务上的准确性和鲁棒性使用简单的Inception进行预处理,ViT-B/16和Mixer-B/16在ImageNet上的准确率分别为Top-1)。

作者研究表明,改进的平滑度归因于前几层中较稀疏的活动神经元。在没有大规模预训练或强数据增强的情况下,在ImageNet上从头开始训练时,所得 ViT的性能优于类似大小和吞吐量的ResNet。同时还拥有更敏锐的注意力图。


2Background和Related Work


最近的研究发现,ViT中的self-attention对性能并不是至关重要的,因此出现了一些专门基于mlp的架构。这里作者以MLP-Mixer为例。MLP-Mixer与ViT共享相同的输入层;也就是说,它将一个图像分割成一系列不重叠的Patches/Toekns。然后,它在torkn mlp和channel mlp之间交替使用,其中前者允许来自不同空间位置的特征融合。


3ViTs和MLP-Mixers收敛到锐局部极小值


目前的ViTs、mlp-mixer和相关的无卷积架构的训练方法很大程度上依赖于大量的预训练或强数据增强。它对数据和计算有很高的要求,并导致许多超参数需要调整。

现有的研究表明,当在ImageNet上从头开始训练时,如果不结合那些先进的数据增强,尽管使用了各种正则化技术(例如,权重衰减,Dropout等)ViTs的精度依然低于类似大小和吞吐量的卷积网络。同时在鲁棒性测试方面,vit和resnet之间也存在较大的差距。

此外,Chen等人发现,在训练vit时,梯度会出现峰值,导致精确度突然下降,Touvron等人也发现初始化和超参数对训练很敏感。这些问题其实都可以归咎于优化问题。

在本文中,作者研究了ViTs和mlp-mixer的损失情况,从优化的角度理解它们,旨在减少它们对大规模预训练或强数据增强的依赖。

3.1 ViTs和MLP-Mixers收敛到极sharp局部极小值

众所周知,当模型收敛到曲率小的平坦区域时模型会具有更好的泛化性能。在[36]之后,当resnet、vit和MLP-Mixers在ImageNet上使用基本的初始风格预处理从头开始训练时,作者绘制损失图:

如图1(a)到1(c)所示,ViTs和mlp-mixer比ResNets收敛到更清晰的区域。

在表1中,通过计算主要的Hessian特征值进一步验证了结果。ViT和MLP-Mixer的值比ResNet大一个数量级,并且MLP-Mixer的曲率在3种中是最大的(具体分析见4.4节)。

3.2 Small training errors

这种向sharp区域的收敛与图2(左)所示的训练动态一致。尽管Mixer-B/16参数少于ViT-B/16(59M vs 87M),同时它有一个小的训练误差,但测试性能还是比较差的,这意味着使用cross-token MLP学习的相互作用比ViTs’ self-attention机制更容易过度拟合。这种差异可能解释了mlp-mixer更容易陷入尖锐的局部最小值。

3.3 ViTs和MLP-Mixers的可训练性较差

此外,作者还发现ViTs和MLP-Mixers的可训练性较差,可训练性定义为通过梯度下降优化的网络的有效性。Xiao等人的研究表明,神经网络的可训练性可以用相关的神经切线核(NTK)的条件数来表征:

image.png

其中是雅可比矩阵。

用表示NTK 的特征值,最小的特征值以条件数κ的速率指数收敛。如果κ是发散的,那么网络将变得不可训练。如表1所示,ResNets的κ是相当稳定的,这与之前的研究结果一致,即ResNets无论深度如何都具有优越的可训练性。然而,当涉及到ViT和时,条件数是不同的MLP-Mixer,证实了对ViTs的训练需要额外的辅助。


4CNN-Free视觉架构优化器原理


常用的一阶优化器(如SGD,Adam)只寻求最小化训练损失。它们通常会忽略与泛化相关的高阶信息,如曲率。然而,深度神经网络的损失具有高度非凸性,在评估时容易达到接近0的训练误差,但泛化误差较高,更谈不上在测试集具有不同分布时的鲁棒性。

由于对视觉数据缺乏归纳偏差ViTs和MLPs放大了一阶优化器的这种缺陷,导致过度急剧的损失scene和较差的泛化性能,如前一节所示。假设平滑收敛时的损失scene可以显著提高那些无卷积架构的泛化能力,那么最近提出的锐度感知最小化(SAM)可以很好的避免锐度最小值。

4.1 SAM:Overview

从直觉上看,SAM寻找的是可以使整个邻近训练损失最低的参数w,训练损失通过构造极小极大目标:

网络异常,图片无法展示
|

其中是neighbourhood ball的大小。在不失一般性的情况下,这里使用范数作为其强经验结果,这里为了简单起见省略了正则化项。

由于内部最大化下式的确切解很难获得:

image.png

因此,这里采用了一个有效的一阶近似:

image.png

image.png

在范数下,是当前权值的缩放梯度。计算后,SAM基于锐度感知梯度更新w。

4.2 SAM优化器实质上改进了ViTs和MLP-Mixers

作者在没有大规模的预训练或强大的数据增强的情况下训练了vit和MLP-Mixers。直接将SAM应用于vit的原始ImageNet训练pipeline,而不改变任何超参数。pipeline使用了基本的Inception-style的预处理。最初的mlp-mixer的训练设置包括强数据增强的组合;也用同样的Inception-style的预处理来替换它,以便进行公平的比较。

image.png

注意,在应用SAM之前,我们对学习速率、权重衰减、Dropout和随机深度进行网格搜索。

1 局部极小值周围的平滑区域

由于SAM, ViTs和mlp-mixer都汇聚在更平滑的区域,如图1(d)和1(e)所示。

image.png

曲率测量,即Hessian矩阵的最大特征值,也减小到一个小值(见表1)。

image.png

2 Higher accuracy

随之而来的是对泛化性能的极大改进。在ImageNet验证集上,SAM将ViT-B/16的top-1精度从74.6%提高到79.9%,将Mixer-B/16的top-1精度从66.4%提高到77.4%。

image.png

相比之下,类似规模的ResNet-152的性能提高了0.8%。根据经验,改进的程度与架构中内置的归纳偏差水平呈负相关。与基于注意力的ViTs相比,具有inherent translation equivalence和locality的ResNets从landscape smoothing中获益较少。MLP-Mixers从平滑的loss geometry中获得最多。

此外,SAM对更大容量(例如:+4.1%的Mixer-S/16 vs. +11.0%的Mixer-B/16)和更长的patch序列(例如:+2.1%的vits/32 vs. +5.3%的vits /8)的模型带来了更大的改进。

3 Better robustness

作者还使用ImageNet-R和ImageNetC评估了模型的鲁棒性,并发现了smoothed loss landscapes的更大影响。在ImageNet-C上,它通过噪音、恶劣天气、模糊等来破坏图像,实验了5种严重程度上19种破坏的平均精度。如表1和表2所示, ViT-B/16和Mixer-B/16的精度分别增加了9.9%和15.0%。

相关文章
|
12月前
|
计算机视觉
Transformer 落地出现 | Next-ViT实现工业TensorRT实时落地,超越ResNet、CSWin(二)
Transformer 落地出现 | Next-ViT实现工业TensorRT实时落地,超越ResNet、CSWin(二)
90 0
|
12月前
|
机器学习/深度学习 编解码 计算机视觉
Transformer 落地出现 | Next-ViT实现工业TensorRT实时落地,超越ResNet、CSWin(一)
Transformer 落地出现 | Next-ViT实现工业TensorRT实时落地,超越ResNet、CSWin(一)
137 0
|
12月前
|
机器学习/深度学习 vr&ar 计算机视觉
ShiftViT用Swin Transformer的精度跑赢ResNet的速度,论述ViT的成功不在注意力!(二)
ShiftViT用Swin Transformer的精度跑赢ResNet的速度,论述ViT的成功不在注意力!(二)
176 0
|
12月前
|
机器学习/深度学习 自然语言处理 算法
ShiftViT用Swin Transformer的精度跑赢ResNet的速度,论述ViT的成功不在注意力!(一)
ShiftViT用Swin Transformer的精度跑赢ResNet的速度,论述ViT的成功不在注意力!(一)
157 0
|
12月前
|
机器学习/深度学习 数据挖掘 计算机视觉
全面超越Swin Transformer | Facebook用ResNet思想升级MViT(二)
全面超越Swin Transformer | Facebook用ResNet思想升级MViT(二)
122 0
|
12月前
|
机器学习/深度学习 编解码 数据可视化
全面超越Swin Transformer | Facebook用ResNet思想升级MViT(一)
全面超越Swin Transformer | Facebook用ResNet思想升级MViT(一)
202 0
|
12月前
卷爆了 | 看SPViT把Transformer结构剪成ResNet结构!!!(二)
卷爆了 | 看SPViT把Transformer结构剪成ResNet结构!!!(二)
164 0
|
12月前
|
机器学习/深度学习 文件存储 C++
卷爆了 | 看SPViT把Transformer结构剪成ResNet结构!!!(一)
卷爆了 | 看SPViT把Transformer结构剪成ResNet结构!!!(一)
240 0
|
12月前
|
数据挖掘 计算机视觉
Transformer | 详细解读Transformer怎样从零训练并超越ResNet?(二)
Transformer | 详细解读Transformer怎样从零训练并超越ResNet?(二)
133 0
|
3天前
|
机器学习/深度学习 PyTorch 语音技术
Pytorch迁移学习使用Resnet50进行模型训练预测猫狗二分类
深度学习在图像分类、目标检测、语音识别等领域取得了重大突破,但是随着网络层数的增加,梯度消失和梯度爆炸问题逐渐凸显。随着层数的增加,梯度信息在反向传播过程中逐渐变小,导致网络难以收敛。同时,梯度爆炸问题也会导致网络的参数更新过大,无法正常收敛。 为了解决这些问题,ResNet提出了一个创新的思路:引入残差块(Residual Block)。残差块的设计允许网络学习残差映射,从而减轻了梯度消失问题,使得网络更容易训练。
121 0

热门文章

最新文章