摘要
视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnConv),通过门控卷积和递归设计执行高阶空间交互。该新操作具有高度的灵活性和可定制性,兼容各种卷积变体,并将自注意力中的二阶交互扩展到任意阶数,而不会引入显著的额外计算。gnConv 可以作为一个即插即用的模块,用于提升各种视觉 Transformer 和基于卷积的模型。
# 理论介绍
gnConv 是一种高效的空间交互操作,通过递归门控卷积实现长距离和高阶的空间交互。其核心思想是通过使用标准卷积、线性投影和逐元素乘法,模拟自注意力中的输入自适应空间混合,但具有更低的计算复杂度。关键步骤如下:
- 输入自适应的空间交互
在传统的卷积神经网络中,卷积操作是通过固定的卷积核对邻域进行加权求和,从而聚合邻域特征。这种方法的缺点是,卷积核是固定的,不具备自适应的能力。与此不同,gnConv 引入了自适应的空间交互,类似于 Transformer 中的自注意力机制。- 在自注意力机制中,通过多头自注意力(MHSA) 来生成不同位置之间的权重,以捕捉长距离的依赖关系。
- gnConv 的设计目标是通过卷积和全连接层来实现空间交互,避免自注意力的高计算成本。其关键是通过门控卷积(gConv)来捕捉局部空间信息,并且在此基础上引入了递归设计以进行高阶空间交互。
- 门控卷积(gConv)操作
gnConv 结合了线性投影和深度卷积来生成输入特征的空间混合,过程如下:- 输入层:包括图片的高度和宽度以及通道数
- 投影层:通过线性投影层对输入特征进行通道混合。
- 深度卷积:对投影后的特征进行深度卷积。
- 逐元素乘法:将投影后的特征和卷积后的特征进行逐元素乘法,得到最后的输出。
GnConv结构如下:
理论详解可以参考链接:论文地址
代码可在这个链接找到:代码地址
下文都是手把手教程,跟着操作即可添加成功