Contextual Transformer Networks for Visual Recognition

Contextual Transformer Networks for Visual Recognition

  • 1. 摘要
  • 2. 目的
  • 3. 网络设计

代码地址

1. 摘要

Transformer with self-attention has led to the revolutionizing of natural language processing field, and recently inspires the emergence of Transformer-style architecture design with competitive results in numerous computer vision tasks. Nevertheless, most of existing designs directly employ self-attention over a 2D feature map to obtain the attention matrix based on pairs of isolated queries and keys at each spatial location, but leave the rich contexts among neighbor keys under-exploited. In this work, we design a novel Transformer-style module, i.e., Contextual Transformer (CoT) block, for visual recognition. Such design fully capitalizes on the contextual information among input keys to guide the learning of dynamic attention matrix and thus strengthens the capacity of visual representation. Technically, CoT block first contextually encodes input keys via a 3 3 convolution, leading to a static contextual representation of inputs. We further concatenate the encoded keys with input queries to learn the dynamic multi-head attention matrix through two consecutive 1 1 convolutions. The learnt attention matrix is multiplied by input values to achieve the dynamic contextual representation of inputs. The fusion of the static and dynamic contextual representations are finally taken as outputs. Our CoT block is appealing in the view that it can readily replace each 3 3 convolution in ResNet architectures, yielding a Transformer-style backbone named as Contextual Transformer Networks (CoTNet). Through extensive experiments over a wide range of applications (e.g., image recognition, object detection, instance segmentation, and semantic segmentation), we validate the superiority of CoTNet as a stronger backbone. Source code is available at https://github.com/JDAI-CV/CoTNet.

具有自注意力机制的 Transformer 已经引发了自然语言处理领域的革命,最近还激发了 Transformer 风格的架构设计的出现,在众多计算机视觉任务中取得了具有竞争力的结果。然而,现有的方式大多直接利用二维特征图上的自注意力来获取每个空间位置上的独立 q 和 k 对的注意力矩阵,而忽略了相邻 k 之间的丰富上下文信息。在本工作中,我们设计了一种新型的 Transformer-style 模块,即 Contextual Transformer (CoT) block,用于视觉识别。这种设计充分利用了输入 k 之间的上下文信息来指导 dynamic attention matrix 的学习,从而增强了视觉表达能力。从技术上讲,CoT 块首先通过一个 3 × 3 卷积具有上下文性地将输入的 k 进行编码,得到输入的 static contextual representation。我们进一步将编码的 k 与输入 q 连接起来,通过两个连续的 1 × 1 卷积来学习 dynamic multi-head attention matrix。将学习到的注意矩阵与输入的 v 相乘,实现输入的 dynamic contextual representation。最后将 static and dynamic contextual representations 的融合作为输出。我们的 CoT 块非常杰出,因为它可以很容易地替换 ResNet 体系结构中的每一个 3 × 3 卷积,产生一个 Transformer 风格的主干,称为 Contextual Transformer Networks (CoTNet)。通过各种应用(如图像识别、目标检测、实例分割和语义分割)的广泛实验,我们验证了 CoTNet 作为一个更强的骨干的优势。

2. 目的

Is there an elegant way to enhance Transformer-style architecture by exploiting the richness of context among input keys over 2D feature map?

出发点是同时捕捉输入 k 之间的两种 spatial contexts:the static context via 3 × 3 convolution and the dynamic context based on contextualized self-attention。
在这里插入图片描述
这种设计将 k 间的 context mining 和二维特征图上的 self-attention learning 统一结合在一个体系结构中,从而避免为了 context mining 引入额外的分支。
从技术上讲,在 CoT 块中,我们首先通过对 3 × 3 网格中所有相邻的 k 执行 3 × 3 卷积来将 k 的 representation 上下文化。上下文化的 k 特征可以被视为输入的 static representation,它反映了本地邻居之间的 static context。然后,我们将上下文化的 k 特征和输入的 q 串联在一起并连续通过两个 1 × 1 卷积,目的是生成 attention matrix。这个过程在 static context 的引导下,自然地利用了每个 q 和所有 k 之间的相互关系进行 self-attention learning。利用学习到的 attention matrix 对所有输入 v 进行聚合,从而实现输入的 dynamic contextual representation,从而描述 dynamic context。我们将 static and dynamic contextual representation 结合起来作为 CoT 块的最终输出。

3. 网络设计

在这里插入图片描述

假设我们有二维的特征图 X。k,q,v 分别定义为 K = X K = X K=X Q = X Q = X Q=X V = X W v V = XW_v V=XWv。与典型的自注意力机制中通过 1 × 1 卷积对每个 k 进行编码不同,CoT 块首先在 k × k 网格中对所有相邻 k 在空间上进行 k × k group convolution,以便将每个 k 上下文化。学习到的具有上下文关系的 K 1 K^1 K1 自然反映了本地临近 k 之间的 static contextual information。我们将 K 1 K^1 K1 作为输入 X 的 static context representation。之后,我们将 K 1 K^1 K1 和 Q 串联在一起,然后通过两个连续的 1 × 1 卷积( W θ W_{\theta} Wθ 使用 RELU 激活函数, W ζ W_{\zeta} Wζ 不使用激活函数)获得 attention matrix A:
A = [ K 1 , Q ] W θ W ζ A=[K^1,Q]W_{\theta}W_{\zeta} A=[K1,Q]WθWζ
换句话说,对于每个 head,A 在每个空间位置的 local attention matrix 是基于 query featurecontextualized key feature 学习的,而不是孤立的 query-key pairs。这种方法通过增加 mined static context K 1 K^1 K1 的指导,增强了自注意力学习。接下来,根据 contextualized attention matrix A,我们将典型的自注意力机制中的所有 V 进行聚合,计算出所关注的特征图 K 2 K^2 K2
K 2 = V ∗ A K^2=V*A K2=VA
考虑到 K 2 K^2 K2 捕获了输入之间的 dynamic feature interactions,我们将 K 2 K^2 K2 称为输入的 dynamic contextual representation。因此,我们的CoT 块的最终输出由 K 1 K^1 K1 K 2 K^2 K2 通过 attention mechanism 得到。特别是,我们首先将两个 contexts 直接融合,通过 global average pooling 获得通道维度的全局特征,进而引导跨通道 soft attention 自适应聚合两个 contexts 作为最终输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/156621.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于VUE的图书借阅管理系统的设计与实现

目录 一、摘要 二、技术描述 三、部分截图 四、获取方式 一、摘要 随着我国经济的高速发展,人们对图书的需求也愈发旺盛,而传统图书管理模式存在以下弊端:信息存储和分类操作不够高效,导致查找书籍困难;借还书流程…

Floorplanning with Graph Attention

Floorplanning with Graph Attention DAC ’22 目录 Floorplanning with Graph Attention摘要1.简介2.相关工作3.问题公式化4. FLORA的方法4.1 解决方案概述4.2 C-谱聚类算法 4.3 基于GAT的模型4.4 合成训练数据集生成 摘要 布图规划一直是一个关键的物理设计任务&#xff0…

基于SSM的网络安全宣传网站设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

笔训【day4】

目录 选择题 1、进制 格式 2、 数组名在&和sizeof后,表数组本身 3、求二维数组某元素地址 ​编辑 ​编辑 4、x x & (x-1) 二进制位1的个数 ​编辑 5、斐波那契递归次数 编程题 1、计算糖果 2、进制转换 选择题 1、进制 格式 十进制转二进制就除…

python sqlalchemy(ORM)- 01 简单使用

[doc] 简介 sqlalchemy 是python操作sql数据库的工具,是一个对象关系映射的框架;在python中提供高效、高性能的数据库访问,企业级的数据持久化模式;pypi 地址sqlalchemy官网 sqlalchemy架构 sql操作是独立于ORM操作的&#xf…

Hydra参数

kali的hyda参数 参数: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns][-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service [OPT] -R 继续从上一次进度接着破解。 -S 采用SSL链接。 -s PORT 可通…

Outlook屏蔽Jira AI提醒

前言:最近不知道为什么jira上的ai小助手抽风,一周发个几千封邮件…导致我现在都不想在邮箱里面跟找垃圾一样找消息了。实在忍无可忍,决定屏蔽AI小助手,方法很简单,follow me~~ 第一步:双击打开电脑版Outloo…

iOS 面试题以及自我理解答案

1、简述push原理,push的证书和其他的有什么不一样? 第 一阶段:BeejiveIM服务器把要发送的消息、目的iPhone的标识打包,发给APNS。 第二阶段:APNS在自身的已注册Push服务 的iPhone列表中,查找有相应标识的iP…

vue3 组件v-model绑定props里的值,修改组件的值要触发回调

很早之前就写了&#xff0c;一直没写篇博客记录下 <select v-model"typeVal" />const emit defineEmits([update:type]); const props defineProps({type: { type: String, default: }, });const typeVal computed({get() {return props.type;},set(value…

Docker系列--镜像和容器备份与恢复的方法

原文网址&#xff1a;Docker系列--镜像和容器备份与恢复的方法_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍备份和恢复Docker镜像与容器的方法。 命令对比 保存与导出 docker save&#xff1a;保存的是镜像&#xff08;image&#xff09;。&#xff08;保存的是分层的…

关于:未同意隐私政策,应用获取ANDROID ID问题

一、环境 Unity2018 4.21f1、Android Studio、Windows10 二、问题描述 我在提交华为应用时&#xff0c;总是提示【未同意隐私政策&#xff0c;应用获取ANDROID ID个人信息】&#xff0c;但是我已经全部去掉了&#xff0c;后面问了人工客服&#xff0c;反馈了如下信息 调用堆…

【数据库——MySQL(实战项目1)】(2)图书借阅系统——数据库测试、视图以及存储过程

目录 1. 简述2. 数据表 增、删、改 测试2.1 借阅人表2.2 图书表2.3 借阅信息表 3. 功能代码3.1 创建视图显示所有逾期未归还的借阅信息&#xff08;包括借阅人姓名&#xff0c;借阅人类别&#xff0c;书名&#xff0c;借出日期&#xff0c;应归还日期&#xff0c;逾期时长&…

简单聊聊低代码

在数字经济迅速发展的背景下&#xff0c;越来越多的企业开始建立健全业务系统、应用、借助数字化工具提升管理效率&#xff0c;驱动业务发展&#xff0c;促进业绩增长。在这一过程中&#xff0c;和许多新技术一样&#xff0c;低代码&#xff08;Low-code&#xff09;开发被推上…

各种业务场景调用API代理的API接口教程

API代理的API接口在各种业务场景中具有广泛的应用&#xff0c;本文将介绍哪些业务场景可以使用API代理的API接口&#xff0c;并提供详细的调用教程和代码演示&#xff0c;同时&#xff0c;我们还将讨论在不同场景下使用API代理的API接口所带来的好处。 哪些业务场景可以使用API…

分布式系统开发技术中的CAP定理原理

分布式系统开发技术中的CAP定理原理 在分布式系统开发中&#xff0c;CAP定理&#xff08;一致性、可用性和分区容忍性&#xff09;是指导我们设计、开发和维护系统的核心原理。该定理阐述了分布式系统中一致性、可用性和扩展性之间无法同时满足的矛盾关系&#xff0c;为我们提…

沪深300期权一个点多少钱?

经中国证监会批准&#xff0c;深圳证券交易所于2019年12月23日上市嘉实沪深300ETF期权合约品种。该产品是以沪深300为标的物的嘉实沪深300ETF交易型指数基金为标的衍生的标准化合约&#xff0c;下文介绍沪深300期权一个点多少钱?本文来自&#xff1a;期权酱 一、沪深300期权涨…

安全设备和防火墙

文章目录 微步TDP态势感知防火墙防火墙的负载均衡 微步TDP态势感知 安全设备的主要功能在黑名单&#xff0c;只要记住黑名单的功能在哪即可 常用的是威胁选项卡的监控功能&#xff0c;监控模块会把实时的告警列出来&#xff0c;只要列出来就能分析流量是误报还是真实的&#x…

html与css知识点

html 元素分类 块级元素 1.独占一行&#xff0c;宽度为父元素宽度的100% 2.可以设置宽高 常见块级元素 h1~h6 div ul ol li dl dt dd table form header footer section nav article aside 行内元素 1.一行显示多个 2.不能设置宽高&#xff0c;宽高由元素内容撑开 常见行内…

论文精读-Semi-Supervised Classification with Graph Convolutional Networks

Semi-Supervised Classification with Graph Convolutional Networks 目录 Semi-Supervised Classification with Graph Convolutional Networks一、摘要介绍二、图上的快速近似卷积2.1 谱图卷积 &#xff08;主要参考链接&#xff1a;[https://www.jianshu.com/p/35212baf6671…

深入了解进程:计算机中的任务管理与隔离

什么是进程&#xff1f; 进程是一个独立的执行环境&#xff0c;包括自己的内存空间、程序计数器、文件句柄等。每个进程都是操作系统的一个独立实例&#xff0c;它们之间通常相互隔离。 通俗来说&#xff0c;进程就是程序的一次执行过程&#xff0c;程序是静态的&#xff0c;它…