CoTNet

news/2025/3/22 20:53:18/

这次是搬来的JD的哦~~新开源的计算机视觉模块,京东AI研究院提出的一种新的注意力结构。将CoT Block代替了ResNet结构中的3x3卷积,在分类检测分割等任务效果都出类拔萃

论文地址:https://arxiv.org/pdf/2107.12292.pdf

源代码地址:https://github.com/JDAI-CV/CoTNet

具有自注意力的Transformer引发了自然语言处理领域的革命,最近还激发了Transformer式架构设计的出现,并在众多计算机视觉任务中取得了具有竞争力的结果。

如下是之前我们分享的基于Transformer的目标检测新技术!

 

尽管如此,大多数现有设计直接在2D特征图上使用自注意力来获得基于每个空间位置的独立查询和键对的注意力矩阵,但未充分利用相邻键之间的丰富上下文。在今天分享的工作中,研究者设计了一个新颖的Transformer风格的模块,即Contextual Transformer (CoT)块,用于视觉识别。这种设计充分利用输入键之间的上下文信息来指导动态注意力矩阵的学习,从而增强视觉表示能力。从技术上讲,CoT块首先通过3×3卷积对输入键进行上下文编码,从而产生输入的静态上下文表示。

上图是传统的self-attention仅利用孤立的查询-键对来测量注意力矩阵,但未充分利用键之间的丰富上下文。 

上图(b)就是CoT块

研究者进一步将编码的键与输入查询连接起来,通过两个连续的1×1卷积来学习动态多头注意力矩阵。学习到的注意力矩阵乘以输入值以实现输入的动态上下文表示。静态和动态上下文表示的融合最终作为输出。CoT块很吸引人,因为它可以轻松替换ResNet架构中的每个3 × 3卷积,产生一个名为Contextual Transformer Networks (CoTNet)的Transformer式主干。通过对广泛应用(例如图像识别、对象检测和实例分割)的大量实验,验证了CoTNet作为更强大的主干的优越性。

Attention注意力机制与self-attention自注意力机制

  • 为什么要注意力机制?

在Attention诞生之前,已经有CNN和RNN及其变体模型了,那为什么还要引入attention机制?主要有两个方面的原因,如下:

(1)计算能力的限制:当要记住很多“信息“,模型就要变得更复杂,然而目前计算能力依然是限制神经网络发展的瓶颈。

(2)优化算法的限制:LSTM只能在一定程度上缓解RNN中的长距离依赖问题,且信息“记忆”能力并不高。

  • 什么是注意力机制

在介绍什么是注意力机制之前,先让大家看一张图片。当大家看到下面图片,会首先看到什么内容?当过载信息映入眼帘时,我们的大脑会把注意力放在主要的信息上,这就是大脑的注意力机制。

同样,当我们读一句话时,大脑也会首先记住重要的词汇,这样就可以把注意力机制应用到自然语言处理任务中,于是人们就通过借助人脑处理信息过载的方式,提出了Attention机制。

self attention是注意力机制中的一种,也是transformer中的重要组成部分。自注意力机制是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。自注意力机制在文本中的应用,主要是通过计算单词间的互相影响,来解决长距离依赖问题。

新框架

1、Multi-head Self-attention in Vision Backbones

在这里,研究者提出了视觉主干中可扩展的局部多头自注意力的一般公式,如上图(a)所示。形式上,给定大小为H ×W ×C(H:高度,W:宽度,C:通道数)的输入2D特征图X,将X转换为查询Q = XWq,键K=XWk,值V = XWv,分别通过嵌入矩阵 (Wq, Wk, Wv)。 值得注意的是,每个嵌入矩阵在空间中实现为1×1卷积。

 

局部关系矩阵R进一步丰富了每个k × k网格的位置信息

接下来,注意力矩阵A是通过对每个头部的通道维度上的Softmax操作对增强的空间感知局部关系矩阵Rˆ进行归一化来实现的:A = Softmax(Rˆ)。将A的每个空间位置的特征向量重塑为Ch局部注意力后矩阵(大小:k × k),最终输出特征图计算为每个k × k网格内所有值与学习到的局部注意力矩阵的聚合:

 

2、Contextual Transformer Block

传统的自注意力很好地触发了不同空间位置的特征交互,具体取决于输入本身。然而,在传统的自注意力机制中,所有成对的查询键关系都是通过孤立的查询键对独立学习的,而无需探索其间的丰富上下文。这严重限制了自注意力学习在2D特征图上进行视觉表示学习的能力。

为了缓解这个问题,研究者构建了一个新的Transformer风格的构建块,即上图 (b)中的 Contextual Transformer (CoT) 块,它将上下文信息挖掘和自注意力学习集成到一个统一的架构中。

3、Contextual Transformer Networks

 ResNet-50 (left) and CoTNet50 (right)

 

ResNeXt-50 with a 32×4d template (left) and CoTNeXt-50 with a 2×48d template (right).

实验及可视化

 

探索上下文信息的不同方式的性能比较,即仅使用静态上下文(Static Context),只使用动态上下文(Dynamic Context),线性融合静态和动态上下文(Linear Fusion),以及完整版的CoT块。 主干是CoTNet-50和采用默认设置在ImageNet上进行训练

 

 

在ImageNet数据集上的Inference Time vs. Accuracy Curve

 

上表总结了在COCO数据集上使用Faster-RCNN和Cascade-RCNN在不同的预训练主干中进行目标检测的性能比较。 将具有相同网络深度(50层/101层)的视觉主干分组。 从观察,预训练的CoTNet模型(CoTNet50/101和CoTNeXt-50/101)表现出明显的性能,对ConvNets 主干(ResNet-50/101和ResNeSt-50/101) 适用于所有IoU的每个网络深度阈值和目标大小。 结果基本证明了集成self-attention学习的优势使用CoTNet中的上下文信息挖掘,即使转移到目标检测的下游任务。

不同主干的检测结果demo:

CoTNeXt-50

 

CoTNet50

 

CoTNet50

 

CoTNeXt-50 


http://www.ppmy.cn/news/854816.html

相关文章

Coopen播放器

软件大小:953KB软件授权:免费版软件语言:简体中文运行环境:Win7/XP/2000/2003/Vista软件详细信息: 1)"桌面画报":"桌面画报"有每天更新的时尚、体育等精彩图片和资讯,快来订阅您最喜爱内容吧。 2)"桌面壁纸":"桌面壁纸"每天为您提…

电子森林STEP-MXO2_1 入门部分全部实验

前言 本部分实验基于电子森林小脚丫开发板的数电入门教程实验。实验链接:step-mxo2入门教程 电子森林] (eetree.cn) 其中代码是博主学习后根据自己思路自己敲的,并非直接复制,且仅供学习交流使用,侵删。 lattice 环境配置在此不…

animation.css无法显示动画效果问题解决

在使用【微信开发者工具】开发微信小程序时发现无法在开发者工具中展示出动画效果来 但是真机调试中可以正常的显示动画效果 【关于微信小程序中如何使用animation.css,参考微信小程序使用animation.css_THE WHY的博客-CSDN博客 】 同时发现在官网上点击各个动画并…

阶跃型多模光纤与渐变型多模光纤有何区别?

根据光纤折射率分布方式的不同,多模光纤可分为阶跃型多模光纤和渐变型多模光纤。由于阶跃型多模光纤和渐变型多模光纤的工作原理不同,导致它们在应用方面存在差异性。通过阅读该篇文章,您将充分了解到两者在工作原理和应用方面的区别。 阶跃…

三分钟了解多模光纤和单模光纤的区别-ielab

三分钟了解多模光纤和单模光纤的区别 随着网络的不断发展,高速率网络的要求不断增高,光纤作为主要的网络传输介质被更多的应用在了网络布线当中。但是光纤到底有什么区别呢?相信有很多人都不知道,我们现在就来详细的看一看。 一般…

15. 10BASE-F 型光纤介质和介质连接单元和星形的通用元件

缩写解释: AUI ATTACHMENT UNIT INTERFACE MDI MEDIUM DEPENDENT INTERFACE MII MEDIA INDEPENDENT INTERFACE PLS PHYSICAL LAYER SIGNALING PCS PHYSICAL CODING SUBLAYER PMA PHYSICAL MEDIUM ATTACHMENT MAU MEDIUM ATTACHMENT UNIT PHY PHYSICAL LAYER…

通信用多模光纤主要有哪些类型?OM1~OM5有什么区别

1 前言 根据光纤内光信号传输模式的不同,光纤可分为单模光纤和多模光纤,见《常用通信光纤是如何分类的》一文。 在传送网和有线接入网中,我们接触到的光纤类型主要有:G.652、G.654和G.657,这些都是单模光纤。多模光纤…

网络传输介质 通信中的有线介质:双绞线、同轴电缆、光纤 引导性传输介质

物理层的作用是将比特从一台机器传输到另一台机器。实际传输所用的物理介质可以用多种选择。每一种传输介质都有独特的性质,体现在带宽、延迟、成本以及安装和维护难易程度的不同,因此分别有自己适用的场合。 大致上可以将介质分为引导性介质&#xff0…