DeepViT:Towards Deeper Vision Transform

编程入门 行业动态 更新时间:2024-10-18 00:25:45

DeepViT:Towards <a href=https://www.elefans.com/category/jswz/34/1675886.html style=Deeper Vision Transform"/>

DeepViT:Towards Deeper Vision Transform

论文笔记【1】-- DeepViT: Towards Deeper Vision Transformer

CVPR 2021 DeepViT: Towards Deeper Vision Transformer

DeepViT论文      DeepViT Code

DeepViT:Can we further improve performance of ViTs by making it deeper, just like CNNs?——Re-attention

CNNs:通过叠加多个卷积聚合全局信息,手工进行分层局部特征提取。deep CNN模型最新进展在很大程度上是由训练具有大量层的非常深的模型所驱动的。更深的CNN可以为输入图像学习更复杂、更复杂的表示,并在视觉任务上提供更好的性能。如何有效地扩展Cnn使其更深入是最近深度学习领域的一个重要主题,它刺激了残差学习等技术。

ViTs:利用自注意力机制捕获空间信息、非局部依赖,聚合丰富的全局信息,其特别依赖自注意力机制。

试点:ImageNet上探究ViT的性能如何随着模型深度的增加而变化?随着transformer block的增加,模型的性能并没有相应的提高。同时,24blocks甚至比32blocks的结果要好。进而发现,Transformer越深,attention maps越相似甚至相同。

Phenomenon 现象:CNNs与ViTs的对比过程中,事实上,已知网络越深,性能越好。但是,ViTs所呈现的效果却不尽如此,堆积到32个blocks的效果还不如24blocks ? Why?

Why?原因:ViTs很依赖于self-attention,在深层结构中,self-attention无法学习有效的表征学习概念,阻碍了模型获得预期的性能增益。attention map逐渐变得相似,甚至某些层后相同!即,在深度ViT模型的顶层,特征图往往是相同的。(attention map相似度的判断:余弦相似度,余弦相似矩阵计算不同层次的attention map的跨层相似度)= attention collapse(注意力分散/崩溃) 

Attention collapse(注意力发散):探究为什么Transformer堆积/扩展到更深层次时,会达到一个快速饱和现象?Transformer越深,attention maps越相似甚至相同。也就是说,深度ViT模型的顶层,特征图往往是相同的。那么,在深层ViT时,自注意力机制就无法学习到用于表示学习的有效内容,也就阻碍了模型获得预期效果。

Method 方法:

  1. Higher Dimension Space : 出发点增加维度会增加token的表达能力,那么更多信息的情况下,注意力图之间的相似度就会减少。效果:随着embedding dimension的增长,相似的block的数量在下降,同时模型的Acc在上升。但是,增加embedding dimension也会显著增加计算成本,带来的性能改进往往会减少,且需要更大的数据量来训练,增加了过拟合的风险。
  2. Add temperature in self-attention:出发点缓解过渡平滑over-smoothing现象,在过渡平滑的地方进行锐化,通过添加temperature λ的减小可以让attention map的分布变得更加的sharp,使得attention map的数值拉开,在实际实现的时候作者使得 λ的值随着层数的加深而逐渐衰减,或者干脆把 λ设置为可学习的参数。效果:只起到非常小的作用。
  3. Drop attention:出发点:因为对于不同的block来说,会随机drop掉不同的值,故attention maps之间的相似性可以得到减少。效果:只起到非常小的作用。
  4. Re-attention出发点:同一transformer块的不同head的attention map的相似性相当小,很明显,来自同一自我注意力层的不同head关注输入token的不同方面。利用可学习的方式交换来自不同attention head的信息,动态融合它们来重新生成各层的注意力映射图,以增加它们在不同层次上的多样性,内存消耗和性能可以忽略不计。效果:相似的block的数量在下降,同时模型的Acc在上升,ViT可以做深些啦!

Re-attention:重新生成attention map,以增加它们在不同层次上的多样性,计算和成本可以忽略不计。利用多头自我注意(MHSA)结构,通过可学习的方式交换来自不同注意头的信息来重建attention map。

Result 结果:普通的self-attention的attention map的特点是:只学习到一些局部的patch之间的relationship,而且在网络的深层时attention map很接近。Re-attention的attention map的特点是:学习到更大范围内的patch之间的relationship,而且在网络的深层时attention map有差别。整体:发现了attention collapse,并提出了一种新的Re-attention,以最小的计算量和内存开销来解决这个问题。通过Re-attention,能够在增加vit的深度时保持一个不断增加的性能。

Other 遗留:不同的head作用不一样,head作用小的给的权重就小。attention就是权重?

更多推荐

DeepViT:Towards Deeper Vision Transform

本文发布于:2024-03-13 15:28:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1734284.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Deeper   DeepViT   Transform   Vision

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!