与卷积神经网络(CNN)对比,视觉Transformer的特点

本人对视觉Transformer(ViT)的一些总结,有不对的地方请大家指教。

1. 卷积神经网络(CNN)因其自身固有的一些列优良特性,使它们很自然地适用于多种计算机视觉任务。比如平移不变性(translation equivariance),这种特性为CNN引入了归纳偏置(inductive bias),使之能够适应不同大小的输入图片的尺寸。

2. 由于CNN中的卷积操作(convolution operation)只能捕获局部信息(local information),而不能建立全局图像的长距离连接(long-distance connections)。视觉Transformer模型的发展撼动了CNN的统治地位。通过借鉴CNN中一些优秀的架构设计(金字塔结构、归纳偏置和残差连接等)和训练策略(知识蒸馏),视觉Transformer模型已经在图像分类、目标检测、语义分割等下游任务(downstream tasks)中取得了卓越的性能。

3. 视觉Transformer成功的关键因素是通过自注意力(self-attention)操作实现输入自适应(input adaptive)远程依赖(long-range dependencies, 旨在提取视觉场景的全局理解)和高阶空间交互(high-order spatial interactions),以及它们相互竞争的建模能力(competing modeling capabilities)

4. 通过建立网络各模块之间的交互机制,使得encoder、decoder和自注意力融合模块之间存在不同层次特征图的融合,这有助于捕获目标内部和目标之间(within and between objects)的远程上下文信息(long-range contextual information)

5. ViT的基本特征是其直接的全局关系建模(direct global relationship modeling),可以扩大图像的感受野,获取更多上下文信息,这也是众多研究者从CNN转移到视觉Transformer的原因。Self attention有特征汇聚的能力,全局性强。

6. 视觉Transformer的多头注意力(Multi-Head Attention, MHA)能够捕捉更加丰富的特征信息通过qkv去捕捉全局的特征与特征之间的关系。Transformer有时候作为backbone,有时候作为head,比较灵活。

7. Transformer在目标检测的作用是获取目标的位置和特征信息。Detr用卷积提取到特征,输入到Transformer中的encoder(编码器)里,计算每个patch的特征与特征之间存在的隐藏关系,decoder(解码器)主要是用来计算目标可能出现的位置。

8. 与CNN相比,视觉Transformer在浅层和深层获得的特征之间具有更多相似性。视觉Transformer从浅层获得全局特征,但从浅层获得的局部特征也很重要。此外,视觉Transformer比CNN保留了更多的空间信息(spatial information)

9. 视觉Transformer中的跳跃连接(skip connection)比CNN的重要程度高,并且很大程度影响了特征表示的性能和相似性

10. 视觉Transformer无法利用图像本身具有的尺度、平移不变性和特征局部性等先验知识,必须使用大规模数据集学习高质量的中间表示。若数据集较小,不建议采用视觉Transformer,本人测试过。

11. MLP-Mixer的表示更接近视觉Transformer而不是CNN。

Transformer是一种基于自注意力机制的神经网络模型,用于处理序列数据,尤其在自然语言处理(NLP)领域中表现出色。相比之下,卷积神经网络(CNN)在计算机视觉领域更常用,如图像分类和目标检测等任务。 Transformer相较于CNN有以下几个优势: 1. 并行计算能力: Transformer中的自注意力机制允许每个时间步进行并行计算,这使得Transformer的训练速度相对于CNN更快。而CNN需要在每个时间步上执行串行卷积操作,这导致在处理较长序列时计算效率较低。 2. 建模能力: Transformer具有更好的序列建模能力,可以更好地捕捉序列中的上下文信息,因为它能够在每个时间步对整个序列进行自注意力计算。这使得Transformer在处理文本等序列数据时能够更好地捕捉语义关系。 3. 容易扩展到其他NLP任务: Transformer在序列建模方面表现优异,因此在许多NLP任务中表现出色,如机器翻译、语言模型等。相比之下,CNN主要用于计算机视觉领域,因此Transformer更容易扩展到处理其他NLP任务,而CNN则需要进行更多的改进才能适用于NLP任务。 综上所述,Transformer在处理序列数据方面具有更好的建模能力和计算效率,可以处理更长的序列,并且更容易扩展到其他NLP任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [与卷积神经网络(CNN)对比,Transformer的优势是什么](https://blog.csdn.net/weixin_47151388/article/details/129866526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值