EDGEFORMER: IMPROVING LIGHT-WEIGHT CON- VNETS BY LEARNING FROM VISION TRANSFORMERS

论文:https://arxiv.org/abs/2203.03952
代码:https://github.com/hkzhang91/EdgeFormer
在这里插入图片描述
上图(a) 一种广泛用于网络的残差块;(b) ViT块;(c) EdgeFormer block

(一)、EDGEFORMER BLOCK

(1)、利用全局循环卷积提取全局特征

自注意力从整个空间位置学习全局特征,而卷积从局部感受野收集信息。
在这里插入图片描述

为了克服这个问题,作者提出了全局循环卷积(GCC)。如上图所示,GCC有两种类型,一种是垂直方向的GCC(GCC-V),另一种是水平方向的GCC(GCC-H)。GCC-V和GCC-H的感受野分别覆盖同一列和同一行中的所有像素。联合使用GCC-V和GCC-H可以从所有输入像素中提取全局特征。为了简化说明,假设输入x只有一个通道,相应的形状为1×h×w。位置(i,j)处GCC-V的输出通过以下公式计算:
在这里插入图片描述

具体而言,以垂直方向的 GCC 为例,即 GCC-V,其步骤如下:
1、输入特征为 CxHxW
2、引入一个基础位置嵌入信息为 CxBx1,通过扩展它,使其完全等于输入特征的形状,从而可以灵活地适应不同尺寸的输入特征。
3、通过双线性插值,变为 CxHx1
4、轴向复制扩展,变为 CxHxW
5、加到输入上
6、将得到的特征沿 H 方向堆叠,得到 Cx(2H-1)xW,这步操作非常重要,由此便可以实现具有全局感受野且仍然参数共享的标准卷积操作了。
7、接下来开始构造卷积核参数,其同样由一个大小为 CxBx1 的基础量插值到 CxHx1 而得到。此时卷积核的空间感受野为 Hx1。搭配着 GCC-H 中的 Cx1xW,便近似得到了全局的覆盖。当然,这里同样可以引入偏置,具体的实现也同样是基于一个基础量扩展而成。
8、使用插值后的卷积核和嵌入位置信息的输入张量计算标准卷积操作,得到大小为 CxHxW 的输出。
这个流程中,GCC-V 中大小为 CxHx1 的卷积核的输出特征坐标 i,实际上对应着输入特征上的坐标范围 (i+t)%h,这里的 t 是一个 0 到 H-1 之间的值,不同的 t 对应着卷积核覆盖的局部邻域中的相对坐标。
与传统卷积相比,建议的全局循环卷积引入了三种修改:
1、感受野增加到全局空间。注意,将传统局部卷积的内核大小增加到完全输入大小并不能提取全局特征。在局部卷积中,通常使用 zero padding来保持卷积特征的大小与输入的大小相同。即使我们将内核大小增加到全局大小,全局内核也只覆盖来自输入的部分像素。特别是在提取边缘部分的特征时,全局核覆盖的像素中只有大约一半来自实际输入,而其他像素只是零。
2、位置嵌入用于保持输出特征对空间位置的敏感性。全局循环卷积可以提取全局特征,但它扰乱了原始输入的空间结构。对于分类来说,保持空间结构可能不是一个大问题。但是,正如消融研究所示,对于分割和检测等位置敏感任务,保持空间结构确实很重要。在这里,按照ViTs中的设计,我们引入位置嵌入来保持空间结构。消融实验结果表明,位置嵌入在分割和检测任务中是有用的 。

(二)、实验结果在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_52302919/article/details/124602079
今日推荐