CoAtNet简记
参考
简记
-
本文讲述了如何连接Conv&Self-Att这两个结构
-
二者的优缺点:
-
-
Conv的平移不变性和Self-Att的全局视野自不必多说
-
第二点输入自适应权重我的理解是权重会随着输入的不同而有所不同,就是理解成不管输入是什么Conv的权重永远固定在Kernel中,而Self-Att的权重KQV会随着输入的变化而改变(虽然是因为经过了一次FC~)
-
-
以及如何堆叠这玩意
融合
-
DWConv表达式:
-
Self-Att的表达式:
-
其中求和符号下的L表示local,G表示global,下面是融合的方案
-
首先会发现DWConv与Self-Att表达式的形式具有一定的相似性,除了中间这一大坨,就是求和符号下的感受野不同
- 将卷积的感受野变成全局,即L->G
-
然后合并同类项(简单相加)
- 然后根据softmax的先后分成公式3左右两部分(post表示在softmax之后想加,pre则表示之前)
如何堆叠?
- 被Pass的方案:
- Self-Att替换成线性的Att,虽然计算量下降但是性能不太行
- 全局感受野变成局部感受野,由于是在TPU上跑的,这样速度太慢(TPU可以说是为Transformer而设计的专用芯片)
- 下采样之后用全局感受野
- 像ViT一次性采样16倍
- 多次采样,有下面的方案,C=Conv+下采样,T表示Transformer
- CCCC、CCCT、CCTT、CTTT
- 泛化能力排名:
- 模型性能排名: