[note] HorNet以及n阶空间交互

pre

title: HorNet: Efficient High-Order Spatial Interactions with Recursive Gated Convolutions
accepted: NeurIPS 2022
paper:https://arxiv.org/abs/2207.1428
code: https://github.com/raoyongming/HorNet
ref: https://blog.csdn.net/weixin_43427721/article/details/127159469

亮点:backbone、空间交互

早些时候阅读MogaNet,对于里面提到交互复杂性的很是疑惑,后来看到CSDN一篇关于HorNet的介绍,才想起来跟里面高阶空间交互或许挺接近的,于是理了一遍

针对问题

作者总结了Vision Transformer成功的三大法宝是通过self-attention实现输入自适应(input-adaptive)、远距离(long-range)和高阶空间交互(hige-order spatial interaction)的空间建模新方法。

之前的工作已经成功地将Vision Transformer的元架构、输入自适应权值生成策略和大范围建模能力迁移到CNN模型中,但尚未对高阶空间交互机制进行研究。

于是这里提出递归门控卷积(\(g^{n}Conv\)),它是一种吸收了这三个关键因素的卷积架构

核心思想

图1 主要思想的插图 (a)标准卷积没有显式考虑空间交互 (b)动态卷积和SE引入动态权重,通过空间交互来提高建模能力 (c)自注意力用两个连续的矩阵乘法进行二阶空间交互 (d)g^nConv通过高效门控卷积核递归设计实现了任意阶的空间交互

空间交互

根据论文图示跟参考资料,空间交互应该指的是对特征的额外处理次数?

以自注意力举例,输入X变换为K、V矩阵,相当于抽出了特征图,此为零阶空间交互。之后K、V矩阵相乘可看做特征图K进行了一次空间交互,得到了新的特征图,记为S。之后再用V对S操作,得到最终注意力得分A,则是第二次空间交互,因此总共是二阶空间交互。

HorNet作者认为动态卷积SENet都是一阶空间交互,属于图(b),因为特征只跟近邻区域进行了一次运算。

动态卷积condConv可能是根据样本计算各个核线性组合权值的时候,SENet应该也是根据特征计算权值时,但这两个操作好像是整个样本/特征,不单单是邻近区域,感觉这"特征","邻近区域"定义还是不大清晰,但意思似乎能体会

n阶空间交互

公式看着蛮复杂,不过这里只是理解一下核心思想,并没打算太过深入

图2 HorNet中g^nConv的基础构建块。采用Transformer的block设计,用g^nConv替换自注意力子层(左图)。也提供了g^3Conv的实现细节(中图)以及实现任意阶的Pytorch风格代码(右图)

看图2中间(同时搭配右图理解),输入通道维数是C,先投影到2C,然后按通道数比例切分成\(\frac{1}{4}C, \frac{1}{4}C, \frac{1}{2}C, 1C\)四个部分。

分成第一部分(\(\frac{1}{4}C\))跟其他(\(\frac{1}{4}C, \frac{1}{2}C, 1C\)),后者通过深度可分离卷积处理,然后取前两个\(\frac{1}{4}C\)特征相乘、投影,新的特征通道数加倍,变为\(\frac{1}{2}C\),这个是第一次空间交互。

然后重复这个过程,每次都跟剩下的特征相乘、投影,然后通道数加倍,最终通道数变回C,完成n-1次空间交互,总的为n阶交互。

注意到每阶通道数是成倍增加的,如此确保高阶交互运算不会引入太多的计算开销:

\[C_{k}=\frac{C}{2^{n-k-1}},\qquad0\leq k\leq n-1. \tag{3.5} \]

这种设计促使网络进行coarse-to-fine的交互,其中低阶交互使用的通道数较少。并且,这里将输入特征的通道映射到了2C,即使阶数n增加,可以证明(见附录A)总计算量(FLOPs)是有上界的:

\[FLOPs(g^{n}Conv)<H W C(2K^{2}+11/3\times C+2) \tag{3.6} \]

实验

这部分还挺丰富的,总的来说在分类上HorNet超越了Swin transformer和ConvNeXt,对象检测和实例分割上也比Swin/ConvNeXt的表现更突出。

总结

提出了递归门控卷积(\(g^{n}Conv\)),它通过门控卷积和递归设计执行高效的、可扩展的、平移等效的高阶空间交互。

在各种Vision Transformer和基于convolution的模型中,\(g^{n}Conv\)可以替代空间混合层。

在此基础上,作者构建了一个新的通用视觉骨架网络HorNet,并通过大量的实验证明了\(g^{n}Conv\)和HorNet在常用的视觉识别基准上的有效性。

作者希望他们的尝试可以启发未来工作,以进一步探索视觉模型中的高阶空间交互。

评价

仅仅快速过了一遍,感觉这个空间交互的思想比较有趣,但若能直接给个定义会方便不少,虽说希望能启发未来工作,但老板说近年来的backbone很少像ResNet那样通用,很多都是只在小领域生效,但肯定是得试试的。

posted @ 2023-01-17 16:18  NoNoe  阅读(123)  评论(0编辑  收藏  举报