论文解析[10] Contextual Transformer Networks for Visual Recognition

发表时间:2021
论文地址:https://arxiv.org/abs/2107.12292

文章目录

  • 摘要
  • 3 方法
    • 3.1. Multi-head Self-attention in Vision Backbones
    • 3.2. Contextual Transformer Block
  • 5 结论

摘要

带有自注意力的Transformer导致了 nlp 领域的革命,也启发了在计算机视觉任务上。大多数存在的设计直接使用2D特征图来获得注意力矩阵,基于每个位置独立的queries和keys,使得相邻keys之间丰富的上下文信息利用不足。

在这项工作中,我们设计了一个新颖的Transformer风格的模块,即Contextual Transformer (CoT) block,用于视觉检测。这样的设计充分利用了输入keys之间的上下文信息来指导动态注意力矩阵的学习和增强视觉表现能力。在技术上,CoT块通过一个3×3卷积进行上下文编码,得到了输入图像的静态上下文表示。进一步连接编码后的keys和输入的queries来学习动态的多头注意力矩阵。学到的注意力针具乘以输入values来实现输入的动态上下文表示。静态和动态上下文表示的融合作为输出。

我们的CoT块可以替代ResNet结构中的每个3×3卷积,得到一个名为Contextual Transformer Networks (CoT-Net) 的网络

3 方法

首先提供了一个传统自注意力的回顾。接下来是contextual transformer(CoT)。

将整个深度结构中的3×3卷积替换成CoT块,CoTNet和CoTNeXt来源于ResNet和ResNeXt。

3.1. Multi-head Self-attention in Vision Backbones

论文解析[10] Contextual Transformer Networks for Visual Recognition_第1张图片

一般的多头自注意力公式,给定一个2D的特征图X,大小为H×W×C,通过嵌入矩阵( W q , W k , W v W_q,W_k,W_v Wq,Wk,Wv)将X转换为querirs,keys,values:

Q = X W q , K = X W k , V = X W v Q=XW_q,K=XW_k,V=XW_v Q=XWq,K=XWk,V=XWv

每个嵌入矩阵都使用1×1的卷积实现。

获得keys K和queries Q之间的局部关系矩阵R ( R ∈ R H × W × ( k × k × C h ) ∈R^{H×W×(k×k×C_h)} RH×W×(k×k×Ch)):
在这里插入图片描述
C h C_h Ch是头的数目,运算符号是局部矩阵乘法,计算在每个k×k方格中query和对应的keys之间成对的关系

R R R的每个位置 R ( i ) R^{(i)} R(i)代表一个 k × k × C h k×k×C_h k×k×Ch维的向量,包括 C h C_h Ch个所有头的 query-key 关系图,大小为k×k

使用每个k×k方格的位置信息来丰富R:
在这里插入图片描述
P ∈ R k × k × C h P∈R^{k×k×C_h} PRk×k×Ch,表示在k×k方格中的2D位置嵌入

使用softmax得到注意力矩阵:

A = S o f t m a x ( R ^ ) A=Softmax(\hat R) A=Softmax(R^)

再根据V学习得到局部注意力矩阵:
在这里插入图片描述

3.2. Contextual Transformer Block

普通的自注意力机制所有的 query-key 关系是基于独立的 query-key 学习的,没有使用丰富的上下文信息。CoT块将上下文信息挖掘和自注意力学习整合到了一个统一的结构中。

输入一个2D的特征图X,

K = X , Q = X , V = X W v K = X, Q = X, V = XW_v K=X,Q=X,V=XWv

在经典自注意力中,编码每个key使用了1×1卷积。CoT块在k×k方格中使用了k×k群卷积,来上下文关联key。

学习到的近邻keys K 1 ∈ R H × W × C K^1∈R^{H×W×C} K1RH×W×C 反映了局部近邻keys之间的静态上下文信息。我们把 K 1 K^1 K1当作输入X的静态上下文表示。

之后,连接上下文keys K 1 K^1 K1 和queries Q Q Q,注意力矩阵通过两个串联的1×1卷积实现。
在这里插入图片描述
A A A的每个位置的注意力矩阵都是基于query特征和上下文关联的key特征,而不是独立的query-key对。

在通过集成所有的values V V V 计算attended特征图 K 2 K^2 K2
在这里插入图片描述
attended特征图 K 2 K^2 K2捕获到了动态的特征交互,我们把 K 2 K^2 K2称作输入的动态上下文表示。CoT块的输出是通过注意力机制得到的静态上下文 K 1 K^1 K1和动态上下文 K 2 K^2 K2的融合

5 结论

我们提出了一个新的Transformer-style结构, Contextual Transformer (CoT) block,利用相邻keys之间的上下文信息来指导自注意力学习。CoT块首先采集了相邻keys之间的静态上下文,用来激发自注意力进而挖掘动态上下文。这种方式将上下文挖掘和自我关注学习完美地结合到一个单一的架构中,从而增强视觉表现的能力。OurCoT块可以很容易地替换现有ResNet体系结构中的标准卷积,同时保留有利的参数预算。

你可能感兴趣的:(#,论文阅读,transformer,深度学习,人工智能)