VIT论文介绍(vi论文目录)

网友投稿 752 2022-09-04


VIT论文介绍(vi论文目录)

1. 引言

本文来讲解一篇论文 VIT, 这篇算是引起VIT跟CNNs之争的开端。论文链接: ​​戳我​​

Transformer结构原本应用于自然语言处理,本篇希望找到可以在不用CNN情况下使用纯Transformer构架在图像分类任务上使用少量运算资源来训练达到更好的结果。闲话少说,我们直接开始吧!

2. TransFormer特点

一般来说,Transformer的一些优点如下:

具有优秀的运算效率与扩展性可以透过大量数据做预训练并微调在其他数据集来减少运算资源Attention(注意力机制)

Transformer缺乏的部分:

需要大量训练数据缺乏像CNN固有的归纳偏差(Inductive bias)如平移不变性(translation equivariance)、局部性(locality)训练数据量不足时会无法达到很好的泛化能力

3. 相关工作

以前就有许多实验希望将图像应用在Transformer上,大致可以分为以下三种方式:

将图像每个pixel对局部做attention(local multi-head dot-product self attention),基本上可以完全取代CNN采用稀疏Transformer,利用估计方式取得Global self-attention,目的是为了关注整张图像利用不同大小的Blocks来衡量attention,但在极端情况下只能沿着轴做

以上三种方式虽然均可以应用在图像任务上,但需要大量运算资源与硬件需求。2020年Cordonnier提出一种方式,从输入图片取出2 x 2大小的patch并采用full self-attention,这与本篇采用的方式最为接近,但本篇进一步证明了使用大量训练数据训练的Transformer就比CNN SOTA具有更高的性能。

4. 实现方法

VIT的网络结果如下图所示:

主要的处理流程如下:

Path-embeddings: 将输入为 [H, W, C] 的图像,依照 [P, P, C] 的大小切成 N 份,再通过linear projection 到 D维,输出尺寸变为 [N, D]。Append class token embedding: 像 BERT 一样在第0位添加一个可以学习的 embedding 来作为类别的token,输出为 [N+1, D]。Concat position-embeddings: 直接用1D的position embeddings,从0开始到N,文中有实验用2D的也差不多,输出为 [N+1, D+1]。经过 L 层 transformer encoder: Transformer encoder 如上图右。做 classification: 在 class token 那个位置上的输出后接 MLP head 用以做分类classification。

5. 实验结果

最终的定量的实验结果如下:

定性的结果如下:

通过上面的实验可以说明 Transformer 可以经过足够大量数据做预训练后,最终的效果会比 CNN 的效果要好。进而我们来观察不同数据规模的影响,如下所示:

上面的图片为作者将模型经过不同大小训练子集 (9M、30M、90M) 做预训练,随着数据量的提升发现 ViT 的性能也逐渐增强,表示卷积的归纳偏差使用于较小的训练数据集,大规模的数据集可以使用 Transformer。我们将学到的Attention进行可视化,如下:

上图为作者将训练模型的 Attention map可视化后的效果,可以发现注意力机制在图像分类任务上具有语义上的关联性。

6. 总结

本篇论文实现将Transformer应用于图像分类任务上,不同于其他方式将特定图像归纳偏差引入模型构架,而是将一张图片拆解成多个大小相同的patch块,透过在大量数据集上预训练进而达到比CNN构架更好的结果; 同时ViT 可以适用于输入各种大小尺寸的图像,推荐大家多多使用!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring探秘之如何妙用BeanPostProcessor
下一篇:【ElM分类】基于灰狼算法优化ElM神经网络实现数据分类附matlab代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~