Improving Convolutional Networks with Self-Calibrated Convolutions

news2024/11/24 13:56:48

Improving Convolutional Networks with Self-Calibrated Convolutions

  • 一、引言
  • 二、方法实现
    • 一、Self-Calibrated Convolutions
    • 二、Instantiations
  • 三、实验
    • 一、消融实验
    • 二、目标检测
    • 三、关键点检测

论文: http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf
代码: https://github.com/MCG-NKU/SCNet

一、引言

CNN的最新进展主要集中在设计更复杂的体系结构以增强其表示学习能力。在本文中,通过不调整模型架构的情况下改进CNN的基本卷积特征转换过程。本文提出了一种新的自校准卷积,通过内部通信显式扩展每个卷积层的感受野,从而丰富了输出特征。特别是,与使用小内核(例如,3 × 3)融合空间和通道信息的标准卷积不同,自校准卷积通过一种新的自校准操作,自适应地围绕每个空间位置构建远程空间和通道间依赖关系。因此,它可以通过显式地合并更丰富的信息来帮助CNN生成更具鉴别性的表示。自校准卷积设计简单而通用,可以很容易地应用于标准卷积层,而无需引入额外的参数和复杂性。
在之前的工作中,生成丰富特征表示的一种有效方法是使用强大的手工设计的网络架构,如残差网络(ResNets)及其各种变体或基于AutoML技术设计网络。最近,一些方法试图通过将注意力机制或非局部块纳入成熟网络来建模空间位置或通道之间的相互依赖关系。上述方法背后的共同思想是调整网络架构以产生丰富的特性。
在本文中没有设计复杂的网络架构来加强特征表示,而是引入自校准卷积作为一种有效的方法,通过增加每层的基本卷积变换来帮助卷积网络学习判别表示。类似于分组卷积,它将特定层的卷积滤波器分离为多个部分,但不均匀,每个部分中的滤波器以异构的方式利用。具体来说,自校准卷积不是在原始空间中对输入进行均匀的卷积,而是先通过下采样将输入转换为低维嵌入。采用一个滤波器部分所变换的低维嵌入来标定滤波器在另一个滤波器部分中的卷积变换。利用这种异构卷积和过滤间通信,可以有效地扩大每个空间位置的感受野。
作为标准卷积的增强版本,自校准卷积提供了两个优势。首先,它使每个空间位置能够自适应地编码来自一个远距离区域的信息上下文,打破了在小区域(如3x3)内进行卷积运算的传统,这使得自校准卷积产生的特征表示更具鉴别性。在下图中,可视化了ResNets使用不同类型的卷积生成的特征激活映射。可以看出,带有自校准卷积的ResNet可以更准确、更完整地定位目标物体。其次提出的自校准卷积是通用的,可以很容易地应用于标准卷积层,而无需引入任何参数和复杂性开销或改变超参数。
在这里插入图片描述

二、方法实现

传统的二维卷积层 F F F与一组滤波器集 K = [ k 1 , k 2 , … , k C ] K = [k_1, k_2,…, k _C] K=[k1,k2kC]相关联。其中k_i表示第i组大小为C的滤波器,并将输入 X = [ x 1 , x 2 , … , x C ] ∈ R C × H × W X = [x_1, x_2,…, x_C]∈R^{C×H×W} X=[x1,x2xC]RC×H×W变换到输出 Y = [ y 1 , y 2 , … , y c ^ ] R C ^ × H ^ × W ^ Y = [y_1, y_2,…,\hat{y_c}]R^{\hat{C}× \hat{H}×\hat{W}} Y=[y1,y2,yc^]RC^×H^×W^。注意,为了便于标记,省略了滤波器的空间大小和偏置项。根据上面的符号,通道i的输出特征映射可以写成:
在这里插入图片描述
其中’ * '表示卷积, k i = [ k i 1 , k i 2 , … k i C ] ki = [k_i^1,k_i^2,… k_i^C] ki=[ki1,ki2kiC],从上面可以看出,每个输出特征图都是通过所有通道的求和来计算的,并通过多次重复上式来统一生成所有输出特征图。通过这种方式,卷积滤波器可以学习相似的模式。此外,卷积特征变换中每个空间位置的感受野主要由预定义的内核大小控制,由这样的卷积层堆栈组成的网络也缺乏大的感受野来捕获足够的高级语义。以上两个缺点都可能导致特征图的鉴别能力降低。为了缓解上述问题,本文提出了自校准卷积,具体内容如下:

一、Self-Calibrated Convolutions

在分组卷积中,特征转换过程在多个并行分支中均匀地单独执行,每个分支的输出被连接起来作为最终输出。与分组卷积类似,提出的自校准卷积也将可学习的卷积滤波器分成多个部分,但不同的是,滤波器的每个部分不是平等对待的,而是负责特定的功能。
在这里插入图片描述
工作流程如上图所示。当输入通道数C与输出通道数C相同,即C = C。因此,在下面,为了方便起见,用C来代替C。给定一组形状为 ( C , C , k h , k w ) (C, C, k_h, k_w) (C,C,kh,kw)的滤波器K,其中 k h k_h kh k w k_w kw分别为空间高度和宽度,首先将其均匀地分为四部分,每一部分负责不同的功能。在不失一般性的前提下,假设C能被2除。分离后,我们有四个部分的滤波器,用 { K i } i = 1 4 \{K_i\}_{i=1}^4 {Ki}i=14表示,每个部分的形状分别为 ( c 2 , c 2 , k h , k w ) (c_2, c_2, k_h, k_w) (c2,c2,kh,kw)
给定滤波器的四个部分,然后将输入X统一分成两个部分 X 1 , X 2 {X_1, X_2} X1,X2,然后将每个部分发送到一个专门的路径中,用于收集不同类型的上下文信息。在第一条途径中,利用 { K 2 , K 3 , K 4 } \{K_2, K_3, K_4\} {K2,K3,K4}对X_1进行自校准操作,得到 Y 1 Y_1 Y1。在第二种路径中,执行一个简单的卷积运算: Y 2 = F 1 ( X 2 ) = X 2 ∗ K 1 Y_2 = F_1(X_2) = X_2 * K_1 Y2=F1(X2)=X2K1,其目标是保留原始的空间上下文。然后将两个中间输出{Y1, Y2}连接在一起作为输出y。接下来将详细描述了如何在第一个路径中执行自校准操作。
为了高效有效地收集每个空间位置的信息性上下文信息,建议在两个不同的尺度空间中进行卷积特征转换:一个是特征映射与输入共享相同分辨率的原始尺度空间,另一个是下采样后的小潜在空间。小潜伏空间中变换后的嵌入,由于其大的感受野,可以作为参考,指导原始特征空间中的特征变换过程。
自校准:给定输入 X 1 X_1 X1,采用卷积核大小r × r,步幅r的平均池化,如下所示:
在这里插入图片描述
基于 K 2 K_2 K2上的 T 1 T_1 T1特征转换:
在这里插入图片描述
其中Up(·)是一个双线性插值算子,它将中间参考从小尺度空间映射到原始特征空间。现在,校准操作可以表述如下:
在这里插入图片描述
其中 F 3 ( X 1 ) = X 1 ∗ K 3 F_3(X_1) = X_1 * K_3 F3(X1)=X1K3, σ为sigmoid函数,“·”表示逐元素的乘法。如上式所示,使用 X 1 ′ X^{'}_1 X1作为残差来形成校准的权重,这是有益的。校准后的最终输出如下:
在这里插入图片描述
所提出的自校准操作的优点有三方面。首先,与传统卷积相比,通过采用校准操作,每个空间位置不仅可以自适应地将其周围的信息上下文视为潜在空间的嵌入,作为原始尺度空间响应中的标量,而且还可以建模通道间依赖关系。因此,自校准卷积层的感受野可以有效扩大。如下图示,具有自校准的卷积层编码更大但更准确的判别区域。其次,自校准操作不收集全局上下文,只考虑每个空间位置周围的上下文,在一定程度上避免了一些来自不相关区域的污染信息。
在这里插入图片描述
从下图的右边两列可以看出,在可视化最终得分层时,带有自校准的卷积可以准确定位目标对象。第三,自校准操作对多尺度信息进行编码,是目标检测相关任务的重要要求。
在这里插入图片描述

二、Instantiations

为了证明所提出的自校准卷积的性能,以残差网络的几种变体为例。同时考虑了50层和101层瓶颈结构。为了简单起见,只将每个构建块中的3 × 3卷积层中的卷积运算替换为的自校准卷积,并保持所有相关的超参数不变。默认情况下,自校准卷积中的下采样率r设置为4。
与分组卷积的关系:分组卷积采用split-transform-merge策略,单个卷积变换在多个并行分支或分级中均匀进行。与分组卷积不同,自校准卷积可以以异构的方式利用卷积的不同部分。因此,转换过程中的每个空间位置都可以通过自校准操作融合来自两个不同空间尺度空间的信息,这在很大程度上增加了应用于卷积层的感受野,从而产生更具鉴别性的特征表示。
与注意模块的关系:我们的工作也不同于现有的依赖于附加注意力块的方法,如SE块,GE块,或CBAM。这些方法需要额外的可学习参数,而自校准卷积内部改变了利用卷积层的卷积的方式,因此不需要额外的可学习参数。此外,尽管GE块像我们一样在低维空间中编码空间信息,但它并没有显式地保存原始尺度空间中的空间信息。

三、实验

输入图像的大小为224×224。使用SGD优化所有模型。权重衰减和动量分别设置为0.0001和0.9。使用4个Tesla V100 GPU, mini-batch大小设置为256(每个GPU 64个)。默认情况下,训练所有模型100个epoch,初始学习率为0.1,每30个epoch后除以10。在测试中,报告了从短边调整为256的图像中单个224 × 224中心裁剪的精度结果。注意,除了网络结构本身,所有消融比较中的模型都共享相同的运行环境和超参数。下表中的所有模型都在相同的策略下进行训练,在相同的设置下进行测试。
在这里插入图片描述

一、消融实验

泛化能力:为了证明所提出结构的泛化能力,考虑了三种广泛使用的分类架构作为基线,包括ResNet, ResNeXt和SE-ResNet。具有自校准卷积的相应网络分别被命名为SCNet、SCNeXt和SE-SCNet。遵循ResNeXt (32 × 4d)的默认版本,在SCNeXt中将瓶颈宽度设置为4。根据我们的结构,对每组卷积的基数进行计算,确保SCNeXt的容量接近ResNeXt。对于SE-SCNet,将SE模块应用于SCNet。在上表中,展示了每个模型的50层和101层版本产生的结果。与原始ResNet-50架构相比,SCNet-50的准确率提高了1.4% (77.8% vs. 76.4%)。此外,SCNet-50的改善率(1.4%)也高于ResNeXt-50(1.0%)和SE-ResNet-50(0.8%)。这表明自校准卷积比增加基数或引入SE模块表现得更好。当网络深入时,也可以观察到类似的现象。
**Self-Calibrated Convolution vs. Vanilla Convolution:**为了进一步研究所提出的自校准卷积与香草卷积相比的有效性,在ResNet-50和SCNet-50中间阶段res3之后,侧监督(辅助损失)添加到ResNet-50和SCNet-50中。侧输出的结果可以反映深度变化时网络的表现,以及不同层次上的特征表示有多强。下图描述了在res3处的侧监督的top-1精度结果。显然,SCNet-50的结果比ResNet-50的结果好得多。这一现象间接地表明,与普通卷积相比,具有所提出的自校准卷积的网络可以生成更丰富和更具鉴别性的特征表示。
在这里插入图片描述
在下图中显示了侧面输出的分数层的一些可视化结果。显然,即使在较低的网络深度,SCNet也能更精确地、完整地定位目标物体。在第4.3节中,我们将通过将这两种卷积应用于不同的视觉任务来对此进行更多的演示。
在这里插入图片描述
注意力比较:为了说明为什么提出的自校准卷积有助于分类网络,采用Grad-CAM作为注意力提取工具,以可视化ResNet-50、ResNeXt-50、SE-ResNet-50和SCNet-50产生的注意力,如下图所示。可以清楚地看到,SCNet-50产生的注意力可以更精确地定位目标物体,不会过多地扩展到背景区域。当目标对象较小时,与其他三种网络相比,我们的网络的注意力也更好地局限在语义区域。这表明自校准卷积有助于发现更多的完整目标物体,即使它们的尺寸很小。
在这里插入图片描述

**设计选择:**引入了下采样操作来实现自校准,这已被证明对改进CNN有用。校准卷积中的下采样率如何影响分类性能。在下表中,展示了自校准卷积中使用的不同下采样率的性能。可以看出,当不进行下采样操作时(r = 1),结果已经比原始ResNet-50好很多(77.38% vs . 76.40%)。随着下采样率的增加,可以获得更好的性能。特别地,当下采样率设置为4时,我们的top-1准确率为77.81%。注意,我们没有使用更大的下采样率作为分辨率。最后的残差块已经很小了(例如7 × 7)。此外,将低分辨率(F2之后)的特征图作为残差,也有助于提高性能。丢弃额外的身份连接会导致性能下降到77.48%。
在这里插入图片描述
**平均池化与最大池化:**除了上面的设计选择之外,还研究了不同池化类型对性能的影响。在实验中,尝试将自校准卷积中的所有平均池化运算符替换为最大池运算符,并查看性能差异。在保持所有其他配置不变的情况下,如上表所示,使用最大池化操作符会导致top-1精度的性能下降约0.3%(77.81对77.53)。这可能是因为,与最大池化不同,平均池化在整个池化窗口内的位置之间建立连接,这可以更好地捕获本地上下文信息。
Comparisons with Attention-Based Approaches:
在这里插入图片描述

二、目标检测

在这里插入图片描述

三、关键点检测

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CUDA 编程简介(下)

文章目录Memoryshared memoryglobal memoryTransfer Data异步预取Threadsthread blockwarpGPU 性能查看性能测试性能CUDA 流Memory GPU 在 CUDA Mode 下,有多种存储类型: register: 位于 SM 上,共 819281928192 个。作用范围是 th…

01. Web漏洞靶场的搭建

01. Web漏洞靶场的搭建 Web漏洞靶场的搭建(上) 什么是Web安全? 什么是Web Web是互联网的总称,全称为World Wide Web,缩写WWW,即全球广域网,也称为万维网,它是一种基于超文本和HT…

前端入门教程:CSS标准盒模型和怪异盒模型区别

理解盒模型:CSS3 中的盒模型有以下两种:标准盒模型、IE盒子模型(怪异盒模型),盒模型是由4个部分组成,由内向外分别是content(下图蓝色部分)、padding、border、margin盒模型有5个属性: width 元素宽height 元素高borde…

计算机网络题库---第六章应用层

主要选取谢希仁第八版,复习资料,学校期末划重点 (一)课本答案 1.互联网的域名结构是怎样的?它与目前的电话网的号码结构有何异同之处? 答: 2.域名系统的主要功能及域名系统中的本地域名服务器、根域名服…

世界杯竞猜项目Dapp-第三章(ERC20)

ERC20 是标准的以太坊 Token 协议,它也是一个合约代码,只要在该合约内部实现了特定的 6 个方法,就会被系统判定为代币合约,具体总结为:6 个必要接口,2 个必要事件,3 个可选接口,详情…

信贷产品年终总结之客群特征画像

临近年末,围绕信贷产品业务的年终总结,是各家金融机构或科技公司的必要工作内容之一。根据实际业务的数据表现进行汇总分析,不仅为回顾过去业务经营的全貌特点,提供了客观的数据分布描述,而且对后期业务开展的策略制定…

H-03卷积神经网络中卷积的作用与原理

目录 1.前言 2.卷积的作用 3.卷积的参数 3.1 卷积核大小(kernel_size) 3.2 填充(padding) 3.2.1 same 3.2.2 valid 3.2.3 full 3.3 卷积核算子(operator) 3.3.1 Robert 算子 3.3.2 Prewitt算子 …

2023就要你换个方式过新年!富而喜悦一年一渡开启新方式!

过去的一年,你过得怎么样?是否有过艰难的逆流时刻,是否拥有过快乐和满足,又是否得到了成长和收获?富而喜悦2023一年一渡财富流新年主题活动就要给你一个礼物多多!美美的“礼物”活动! 为此&…

艾美捷ichorbio CD4体内抗体,无惧竞争对手

CD4(分化簇4)是一种在辅助T细胞、调节性T细胞、单核细胞、巨噬细胞和树突状细胞表面表达的糖蛋白。CD4与主要组织相容性复合体(MHC)的II类分子相互作用,增强T细胞活化的信号。 艾美捷ichorbio CD4体内抗体-低内毒素&am…

基于web得数字媒体资源库系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&…

VCS2 VCS仿真的基础

1、基础知识 编译流程: -Mupdate :增量编译,作用是将需要修改的某个文件修改后重新编译,其.o文件再与其他文件相链接。 -R :编译后立马执行。 -gui :打开DVE的实时GUI。 -l :把编译过程中产生…

CDH6.3.2防止被攻击,打补丁(未授权漏洞)

参考:CDH6.3.2Hadoop默认配置下存在未授权漏洞,禁止匿名访问 - 民宿 - 博客园 这段时间公司的运维大佬扫描安全漏洞的时候,发现有漏洞会被攻击,原因是没有新增用户校验,允许匿名去访问。这样的话。可以操作HDFS和Yarn上…

【iOS】熟悉Objective-C

熟悉Objective-C Objective—C通过一套全新的语法,在C语言基础上添加了面向对象的特性 频繁使用方括号和极长的方法名,使得代码十分易读。 了解Objective-C的起源 Obejective-C与C,java等面向对象的语言类似,在语法上使用“消息结…

【GRU时序预测】基于门控循环单元GRU实现时间序列预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【云原生进阶之容器】第一章Docker核心技术1.3节——命名空间Namespace

1. Linux Namespaces机制简介 Linux Namespace是Linux提供的一种内核级别环境隔离的方法。很早以前的Unix有一个叫chroot的系统调用(通过修改根目录把用户jail到一个特定目录下),chroot提供了一种简单的隔离模式:chroot内部的文件系统无法访问外部的内容。Linux Namespace在…

文件包含漏洞相关协议详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是文件包含漏洞相关协议详解。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未…

执行 pkg -t win index.js 报错 node.js使用pkg打包成exe可执行文件

文章目录一、问题:当执行命令 pkg -t win index.js 的时候报以下错误:二、解决办法:三、安装pkg流程四、其他的打包方法五、题外话:更换exe的icon图标一、问题:当执行命令 pkg -t win index.js 的时候报以下错误&#…

[附源码]计算机毕业设计点餐系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

传奇微端架设好后不亮灯是怎么回事微端程序无连接不更新有连接不更新问题解决办法

传奇微端架设好后不亮灯是怎么回事微端程序无连接不更新有连接不更新问题解决办法 这是在架设传奇微端时很多小伙伴都会遇到的问题,今天艾西来教大家怎么解决这个问题 以下图中有打码的望读者理解(平台gz) 网关配置好后,图中几个电…

pikachu靶场-11 SSRF漏洞

SSRF漏洞 概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制 导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据 数据…