Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

清华&Meta提出HorNet,用递归门控卷积进行高阶空间相互作用

来自清华大学和 Meta AI 的研究者证明了视觉 Transformer 的关键,即输入自适应、长程和高阶空间交互,也可以通过基于卷积的框架有效实现。


视觉 Transformer 的最新进展表明,在基于点积自注意力的新空间建模机制驱动的各种任务中取得了巨大成功。在本文中,来自清华大学和 Meta AI 的研究者证明了视觉 Transformer 背后的关键成分,即输入自适应、长程和高阶空间交互,也可以通过基于卷积的框架有效实现。作者提出了递归门卷积(图片),它用门卷积和递归设计进行高阶空间交互。新操作具有高度灵活性和可定制性,与卷积的各种变体兼容,并将自注意力中的二阶交互扩展到任意阶,而不引入显著的额外计算。

图片可以作为一个即插即用模块来改进各种视觉 Transformer 和基于卷积的模型。基于该操作,作者构建了一个新的通用视觉主干族,名为 HorNet。在 ImageNet 分类、COCO 对象检测和 ADE20K 语义分割方面的大量实验表明,HorNet 在总体架构和训练配置相似的情况下,优于 Swin Transformers 和 ConvNeXt。HorNet 还显示出良好的可扩展性,以获得更多的训练数据和更大的模型尺寸。除了在视觉编码器中的有效性外,作者还表明图片可以应用于任务特定的解码器,并以较少的计算量持续提高密集预测性能。本文的结果表明,图片可以作为一个新的视觉建模基本模块,有效地结合了视觉 Transformer 和 CNN 的优点。

图片

  • 论文地址:https://arxiv.org/abs/2207.14284
  • 代码地址:https://github.com/raoyongming/HorNet

1. Motivation

自 AlexNet 在过去十年中引入以来,卷积神经网络(CNN)在深度学习和计算视觉方面取得了显著进展。CNN 有许多优良的特性,使其自然适用于广泛的视觉应用。平移等变性为主要视觉任务引入了有用的归纳偏差,并实现了不同输入分辨率之间的可传递性。高度优化的实现使其在高性能 GPU 和边缘设备上都非常有效。架构的演变进一步增加了其在各种视觉任务中的受欢迎程度。

基于 Transformer 的架构的出现极大地挑战了 CNN 的主导地位。通过将 CNN 架构中的一些成功设计与新的自注意力机制相结合,视觉 Transformer 在各种视觉任务上表现出领先的性能,如图像分类、物体检测、语义分割和视频理解。是什么让视觉 Transformer 比 CNN 更强大?通过学习视觉 Transformer 方面的新设计,已经做出了一些努力来改进 CNN 架构。然而,目前工作尚未从高阶空间交互的角度分析点积自注意力在视觉任务中的有效性。

虽然由于非线性,深度模型中的两个空间位置之间存在复杂且通常高阶的交互,但自注意力和其他动态网络的成功表明,结构设计引入的显式和高阶空间交互有利于提高视觉模型的建模能力。如上图所示,普通卷积运算没有明确考虑空间位置(即红色特征)及其相邻区域(即浅灰色区域)之间的空间交互。增强卷积运算,如动态卷积,通过生成动态权重引入显式空间交互。Transformers 中的点积自注意力操作由两个连续的空间交互组成,通过在查询、键和值之间执行矩阵乘法。视觉建模基本操作的趋势表明,可以通过增加空间交互的顺序来提高网络容量。

在本文中,作者总结了视觉 Transformers 成功背后的关键因素是通过自注意力操作实现输入自适应、远程和高阶空间交互的空间建模新方法。虽然之前的工作已经成功地将元架构、输入自适应权重生成策略和视觉 Transformers 的大范围建模能力迁移到 CNN 模型,但尚未研究高阶空间交互机制。作者表明,使用基于卷积的框架可以有效地实现所有三个关键要素。作者提出了递归门卷积(g nConv),它与门卷积和递归设计进行高阶空间交互。与简单地模仿自注意力中的成功设计不同,g n Conv 有几个额外的优点:1)效率。基于卷积的实现避免了自注意力的二次复杂度。在执行空间交互期间逐步增加通道宽度的设计也使能够实现具有有限复杂性的高阶交互;2) 可扩展。将自注意力中的二阶交互扩展到任意阶,以进一步提高建模能力。由于没有对空间卷积的类型进行假设,图片与各种核大小和空间混合策略兼容;3) 平移等变性。图片完全继承了标准卷积的平移等变性,这为主要视觉引入了有益的归纳偏置。

基于图片,作者构建了一个新的通用视觉主干族,名为 HorNet。作者在 ImageNet 分类、COCO 对象检测和 ADE20K 语义分割上进行了大量实验,以验证本文模型的有效性。凭借相同的 7×7 卷积核 / 窗口和类似的整体架构和训练配置,HorNet 优于 Swin 和 ConvNeXt 在不同复杂度的所有任务上都有很大的优势。通过使用全局卷积核大小,可以进一步扩大差距。HorNet 还显示出良好的可扩展性,可以扩展到更多的训练数据和更大的模型尺寸,在 ImageNet 上达到 87.7% 的 top-1 精度,在 ADE20K val 上达到 54.6% 的 mIoU,在 COCO val 上通过 ImageNet-22K 预训练达到 55.8% 的边界框 AP。除了在视觉编码器中应用图片外,作者还进一步测试了在任务特定解码器上设计的通用性。通过将图片添加到广泛使用的特征融合模型 FPN,作者开发了 HorFPN 来建模不同层次特征的高阶空间关系。作者观察到,HorFPN 还可以以较低的计算成本持续改进各种密集预测模型。结果表明,图片是一种很有前景的视觉建模方法,可以有效地结合视觉 Transofrmer 和 CNN 的优点。

2. 方法

2.1 gnConv: Recursive Gated Convolutions
 
在本节中,将介绍 g n Conv,这是一种实现长期和高阶空间相互作用的有效操作。g n Conv 由标准卷积、线性投影和元素乘法构建,但具有与自注意力类似的输入自适应空间混合功能。

Input-adaptive interactions with gated convolution

视觉 Transformer 最近的成功主要取决于视觉数据中空间交互的正确建模。与只需使用静态卷积核来聚合相邻特征的 CNN 不同,视觉 Transformer 应用多头自注意力动态生成权重以混合空间 token。然而,二次复杂度在很大程度上阻碍了视觉 Transformer 的应用,尤其是在下游任务中,包括需要更高分辨率特征图的分割和检测。在这项工作中,作者没有像以前的方法那样降低自注意力的复杂性,而是寻求一种更有效的方法,通过卷积和完全连接层等简单操作来执行空间交互。

本文方法的基本操作是门卷积(gConv)。图片是输入特征,门卷积的输出图片可以写成:

图片

图片

其中图片图片是执行通道混合的线性投影层,f 是深度卷积。图片,其中图片是以 i 为中心的局部窗口,w 表示 f 的卷积权重。因此,上述公式通过元素乘法明确引入了相邻特征图片图片之间的相互作用。作者将 gConv 中的相互作用视为一阶相互作用,因为每个图片仅与其相邻特征图片相互作用一次。

High-order interactions with recursive gating

在与 gConv 实现有效的 1 阶空间相互作用后,作者设计了图片,这是一种递归门卷积,通过引入高阶相互作用来进一步增强模型容量。形式上,首先使用图片获得一组投影特征图片图片

图片

然后,作者通过以下方式递归执行 gating 卷积:

图片

其中,将输出缩放 1/α 以稳定训练。图片是一组深度卷积层,图片用于按不同阶匹配维数。

图片

最后,作者将最后一个递归步骤图片的输出馈送到投影层图片,以获得图片的结果。从递归公式方程可以很容易地看出,图片的交互阶在每一步后将增加 1。因此,可以看到,图片实现了 n 阶空间相互作用。还值得注意的是,只需要一个 f 来执行深度卷积,以串联特征图片,而不是像上面等式中那样计算每个递归步骤中的卷积,这可以进一步简化实现并提高 GPU 的效率。为了确保高阶交互不会引入太多计算开销,作者将每个阶中的通道维度设置为:

图片

该设计表明,以从粗到细的方式执行交互,其中较低的阶数是用较少的通道计算的。此外,图片的通道维数正好为 2C,即使 n 增加,总的浮点也可以严格有界。

图片


其中 K 是深度卷积的核大小。因此,图片以与卷积层类似的计算成本实现高阶交互。

Long-term interactions with large kernel convolutions

视觉 Transformer 和传统 CNN 的另一个区别是感受野。传统的 CNN 通常在整个网络中使用 3×3 卷积,而视觉 Transformer 在整个特征图上或在相对较大的局部窗口(例如 7×7)内计算自注意力。视觉 Transformer 中的感受野可以更容易地捕捉长期依赖关系,这也是公认的视觉 Transformer 的关键优势之一。受这种设计的启发,最近有一些努力将大型内核卷积引入 CNN。为了使图片能够捕捉长期交互,作者采用了两种深度卷积 f 实现:

1)7×7 卷积。7×7 是 Swin Transformers 和 ConvNext 的默认窗口 / 内核大小。[研究表明,内核大小在 ImageNet 分类和各种下游任务上具有良好的性能。作者遵循此配置,与视觉 Transformers 和现代 CNN 的代表性工作进行了公平比较。

2)全局滤波器(GF)。GF 层将频域特征与可学习的全局滤波器相乘,这相当于具有全局核大小和圆形填充的空域卷积。通过使用全局滤波器处理一半通道和使用 3×3 深度卷积处理另一半通道来使用 GF 层的修改版本,并且仅在后期使用 GF 层来保留更多的局部细节。

Spatial interactions in vision models

作者从空间交互的角度回顾了一些有代表性的视觉模型设计。具体地说,作者对特征 x_i 与其相邻特征图片之间的相互作用感兴趣。视觉 Transformer 和以前架构之间的关键区别,即视觉 Transformer 在每个基本块中具有高阶空间交互。这一结果启发作者探索一种能够以两个以上阶数实现更高效和有效空间交互的架构。如上所述,作者提出的图片可以实现复杂度有界的任意阶交互。还值得注意的是,与深度模型(如宽度和深度)中的其他比例因子类似,在不考虑整体模型容量的情况下简单地增加空间交互的顺序将不会导致良好的权衡。在本文中,作者致力于在分析精心设计的模型的空间交互阶数的基础上,开发一种更强大的视觉建模架构。对高阶空间相互作用进行更深入和正式的讨论可能是未来的一个重要方向。

Relation to dot-product self-attention

尽管本文的图片的计算与点积自注意有很大差异,但作者将证明图片也实现了输入自适应空间混合的目标。假设 M 是通过多头自注意力(MHSA)获得的注意力矩阵,将 M 写为(图片),因为混合权重可能在通道中变化。位置 i 处第 c 个通道的空间混合结果(在最终通道混合投影之前)为:

图片

其中,w_V 是 V 投影层的权重。注意,通过点积运算获得的m_ij包含一阶相互作用。另一方面,图片的输出(在图片之前)可以写成:

下图总结了图片的细节实现:

图片


2.2 Model Architectures

HorNet

图片可以替代视觉 Transformer 或现代 CNN 中的空间混合层。作者遵循与以前的元架构来构建 HorNet,其中基本块包含空间混合层和前馈网络(FFN)。根据模型大小和深度卷积 f_k 的实现,有两个模型变体系列,分别命名为 HorNet-T/S/B/L 7×7 和 HorNet-T/S/B/L GF。作者将流行的 Swin Transformer 和 ConvNeXt 视为视觉 Transformer 和 CNN 基线,因为本文的模型是基于卷积框架实现的,同时具有像视觉 Transformer 一样的高阶交互。为了与基线进行公平比较,作者直接遵循 Swin Transformers-S/B/L 的块数,但在第 2 阶段插入一个额外的块,以使整体复杂度接近,从而在所有模型变体的每个阶段中产生 [2、3、18、2] 个块。只需调整通道 C 的基本数量,以构建不同大小的模型,并按照惯例将 4 个阶段的通道数量设置为[C、2C、4C、8C]。对于 HorNet-T/S/B/L,分别使用 C=64、96、128、192。默认情况下,将每个阶段的交互顺序(即图片中的 n)设置为 2,3,4,5,这样最粗阶C_0的通道在不同阶段中是相同的。

HorFPN

除了在视觉编码器中使用图片之外,作者发现本文的图片可以是标准卷积的增强替代方案,该方案考虑了基于卷积的各种模型中的高阶空间相互作用。因此,图片替换 FPN 中用于特征融合的空间卷积,以改善下游任务的空间交互。具体来说,作者在融合不同金字塔级别的特征后添加了图片。对于目标检测,作者在每个级别用 替换自顶向下路径后的 3×3 卷积。对于语义分割,作者简单地将多阶特征映射串联后的 3×3 卷积替换为图片,因为最终结果直接从该串联特征预测。作者同样提供了两个实现,称为 HorFPN 7×7 和 HorFPN GF,由f_k的选择决定。

3. 实验

图片

ImageNet 分类实验结果总结在上表中。本文的模型通过最先进的视觉 Transformer 和 CNNs 实现了非常有竞争力的性能。值得注意的是,HorNet 超越了 Swin Transformers 和 ConvNeXt,它们在各种模型尺寸和设置上都具有相似的整体架构和训练配置。

图片

作者使用常用的 UperNet 框架评估了 ADE20K 数据集上的 HorNet 语义分割任务。所有模型都使用 AdamW 优化器训练 160k 次迭代,全局 batch 处理大小为 16。训练期间的图像大小对于 ImagNet-1k (HorNet-T/S/B) 预训练模型为 512 × 512,对于 ImageNet-22K 预训练模型 (HorNet-L) 为 640 × 640。结果总结在上表的左侧部分,其中报告了验证集上的单尺度 (SS) 和多尺度 (MS) mIoU。作者还在 COCO 数据集上评估了本文的模型。作者采用级联 Mask R-CNN 框架使用 HorNet-T/S/B/L 主干进行对象检测和实例分割。继 Swin 和 ConvNeXt 之后,作者使用了具有多尺度训练的 3× schedule。上表的右侧部分比较了本文的 HorNet 模型和 Swin/ConvNeXt 模型的 box AP 和 mask AP。

图片

作者现在展示了所提出的图片的另一个应用,即作为更好的融合模块,可以更好地捕获密集预测任务中不同级别特征之间的高阶交互。具体而言,作者直接修改了分别用于语义分割和对象检测的 FPN,如 SuperNet 和 Mask R-CNN。在上表中显示了结果,其中作者比较了本文的 HorFPN 和标准 FPN 在不同主干上的性能,包括 ResNet-50/101、Swin-S 和 HorNet-S 7×7。对于语义分割,作者发现 HorFPN 可以显著减少 FLOPs(∼50%),同时实现更好的 mIoU。

图片

上表展示了本文方法的消融实验结果。

图片

上图展示了 Swin、ConvNeXt 和 HorNet 的权衡比较。

4. 总结

作者提出了递归门卷积(图片),它与门卷积和递归设计进行有效、可扩展和平移等变的高阶空间交互。在各种视觉 Transformer 和基于卷积的模型中,图片可以作为空间混合层的替代品。在此基础上,作者构建了一个新的通用视觉骨干 HorNet 家族。大量实验证明了图片和 HorNet 在常用视觉识别基准上的有效性。

最后笔者已经将 HorNet 网络代码 汇总整理在以下 Github 库中,地址为:
https://github.com/xmu-xiaoma666/External-Attention-pytorch

该库是一个面向小白的顶会论文核心代码库。里面汇总诸多顶会论文核心代码,包括 Attention、Self-Attention、Backbone、MLP、Conv 等。

5. 将 HorNet 结合 YOLOv5 模型应用

YOLOAir 库中 已经将 HorNet 网络应用在 YOLO 模型中,分别以下三种方式与 YOLOv5 模型 结合:

1. 在 YOLOv5 中 使用 gnconv 模块示例
2. 在 YOLOv5 中 使用 HorBlock 模块示例
3. 在 YOLOv5 中 使用 HorNet 主干网络示例

由于篇幅有限,具体改进代码及方式可以在以下 GitHub 库中获取:
面向科研小白的 YOLO 目标检测库:https://github.com/iscyy/yoloair

参考链接:
https://arxiv.org/abs/2207.14284
https://github.com/raoyongming/HorNet
https://github.com/xmu-xiaoma666/External-Attention-pytorch
https://github.com/iscyy/yoloair
理论Vision Transformer
相关数据
清华大学机构

清华大学(Tsinghua University),简称“清华”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”、“世界一流大学和一流学科”,入选“基础学科拔尖学生培养试验计划”、“高等学校创新能力提升计划”、“高等学校学科创新引智计划”,为九校联盟、中国大学校长联谊会、东亚研究型大学协会、亚洲大学联盟、环太平洋大学联盟、清华—剑桥—MIT低碳大学联盟成员,被誉为“红色工程师的摇篮”。 清华大学的前身清华学堂始建于1911年,因水木清华而得名,是清政府设立的留美预备学校,其建校的资金源于1908年美国退还的部分庚子赔款。1912年更名为清华学校。1928年更名为国立清华大学。1937年抗日战争全面爆发后南迁长沙,与北京大学、南开大学组建国立长沙临时大学,1938年迁至昆明改名为国立西南联合大学。1946年迁回清华园。1949年中华人民共和国成立,清华大学进入了新的发展阶段。1952年全国高等学校院系调整后成为多科性工业大学。1978年以来逐步恢复和发展为综合性的研究型大学。

http://www.tsinghua.edu.cn/
相关技术
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

YOLO技术

YOLO 模型最早是由 Joseph Redmon 等人在 2015 年发布的,并在随后的两篇论文中进行了修订。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

实例分割技术

实例分割是检测和描绘出现在图像中的每个不同目标物体的任务。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

感受野技术

一个感觉神经元的感受野是指这个位置里适当的刺激能够引起该神经元反应的区域。感受野一词主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质。

推荐文章
暂无评论
暂无评论~