【GiantPandaCV导语】CoAt=Convolution + Attention,paperwithcode榜单第一名,通过结合卷积与Transformer实现性能上的突破,方法部分设计非常规整,层层深入考虑模型的架构设计。
引言
Transformer模型的容量大,由于缺乏正确的归纳偏置,泛化能力要比卷积网络差。
提出了CoAtNets模型族:
- 深度可分离卷积与self-attention能够通过简单的相对注意力来统一化。
- 叠加卷积层和注意层在提高泛化能力和效率方面具有惊人的效果
方法
这部分主要关注如何将conv与transformer以一种最优的方式结合:
- 在基础的计算块中,如果合并卷积与自注意力操作。
- 如何组织不同的计算模块来构建整个网络。
合并卷积与自注意力
卷积方面谷歌使用的是经典的MBConv, 使用深度可分离卷积来捕获空间之间的交互。
卷积操作的表示: L ( i ) \mathcal{L}(i) L(i)代表i周边的位置,也即卷积处理的感受野。
y i = ∑ j ∈ L ( i ) w i − j ⊙ x j (depthwise convolution) y_{i}=\sum_{j \in \mathcal{L}(i)} w_{i-j} \odot x_{j} \quad \text { (depthwise convolution) } yi=j∈L(i)∑wi−j⊙xj (depthwise convolution)
自注意力表示: G \mathcal{G} G表示全局空间感受野。
y i = ∑ j ∈ G exp ( x i ⊤ x j ) ∑ k ∈ G exp ( x i ⊤ x k ) ⏟ A i , j x j (self-attention) y_{i}=\sum_{j \in \mathcal{G}} \underbrace{\frac{\exp \left(x_{i}^{\top} x_{j}\right)}{\sum_{k \in \mathcal{G}} \exp \left(x_{i}^{\top} x_{k}\right)}}_{A_{i, j}} x_{j} \quad \text { (self-attention) } yi=j∈G∑A