Transformer

Transformer

@aikenhong 2021

References For Transformer:

  1. NLP The Transformer Family (lilianweng.github.io)
  2. VIT Transformer眼中世界 VS CNN眼中世界
  3. 李沐 NLP Transformer论文精读
  4. Suveys cver1cver2cver3

This blog will divided into several part : lil’s blog, the survey for ViT, we using those article to help us understand the transformer.

综述我们以最新的一篇为准进行阅读,其他的可能后续进行查缺补漏把,如无必要,勿增烦恼。

Intro导言

主要参考文章2来进行我们简单的导入

基本问题

Transformer原本是NLP中的重要模型, 作为LSTM的后继者, 用于处理Seq2Seq的数据类型和情景, 若是要将Transformer运用到Vision的领域中, 首要的问题就是如何:

将Image作为序列化的Token输入Transform中 , 而达成这个目的主要有三种典型的方法:

  • 像素点作为token,
  • 使用VAE离散化图片作为token再输入
  • ViT: 将图片切为一个个Patch在经过线性的projector之后组成一个embedding表示进行交互

图片

CNN的异同分析

差异分析和计算主要靠CKA向量相似度计算来计算模型和表征之间的差异,这里的理论分析暂且不赘述,后续有需求的话可参考论文Similarity of neural network representations revisited或当前文章.

  1. ViT的深浅特征高度相似, 而CNN则是层次化的存在表征区别.

    我想这和网络的结构之间有很大的关系, 序列化的结构和层次化的结构之间存在的差别.

  2. ViT最后输出使用的是CLS token, 而CNN最终的Global Pooling导致Vi T的顶层特征是独特的, 与CNN的深浅都不匹配

  3. ViT 模型,在底层就已经是局部和全局信息都混在一起了,而上层则基本都是全局信息。和 ResNet 差别在于,因为 CNN 本身特性,底层只利用局部信息。

    此外,当用少量数据训练 ViT 的时候,发现底层的头是学习不到局部信息的。

    而这也导致了模型性能不是很好,所以视觉模型需要表现好,底层一般都需要学习到局部信息,这也是符合解剖学里面人类视觉神经结构的。

  4. 最后一层的空间信息的学习和Pooling有关, 导致了ViT中有更多空间信息.

Attention Is All You Need 李沐

实际上《Attention is All You Need》就是NLP的Transformer的祖宗,这一篇论文已经反反复复的度过很多次了, 所以这一部分主要用来做查缺补漏。

Author

AikenH

Posted on

2021-11-23

Updated on

2023-10-30

Licensed under


Comments