Selective Kernel Networks(CVPR-2019)

2024-06-14 18:04

本文主要是介绍Selective Kernel Networks(CVPR-2019),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

提出了一种动态选择机制,允许每个神经元根据输入信息的多个尺度自适应调整感受野大小。设计了一种称为选择核(SK)单元的结构块,利用softmax attention 对不同核大小的多个分支进行融合。对这些分支的不同attention产生融合层神经元有效感受野的不同大小。多个SK单元被堆叠成一个称为选择性核的网络SKNets。
文章提出了一种非线性方法,从多个内核中聚合信息,实现神经元的自适应RF大小。我们引入了 “选择性内核”(SK)卷积,它由三组运算符组成:Split, Fuse and Select。分裂运算符产生具有不同内核大小的多个路径,对应于神经元的不同RF大小。融合运算符结合并汇总来自多条路径的信息,以获得选择权重的全局和综合表示。选择运算符根据选择权重聚合不同大小的内核的特征图。
为了验证所提出的模型是否具有调节神经元感受野大小的能力,我们通过在自然图像中放大目标对象并缩小背景以保持图像大小不变来模拟刺激。研究发现,当目标对象越来越大时,大多数神经元越来越多地从较大的kernel apth中收集信息。这些结果表明,所提出的SKNet中的神经元具有自适应的RF大小,这可能是该模型在目标识别方面的优越性能的基础。
在这里插入图片描述

首先split:

对给定特征图x,用卷积核大小为3和5的卷积执行两个转换。
在这里插入图片描述
注意F都是有深度卷积、批处理规范化和relu函数按顺序组成的。为了进一步提高效率,将传统的55核卷积替换为33核卷积,dilation大小为2.

Fuse操作:

将分支中的信息通过元素求和进行融合:
在这里插入图片描述
然后通过全局平均池化来嵌入全局信息,从而生成channel-wise的信道统计信息:
在这里插入图片描述
接着建立一个紧凑的特征,使之能够进行精确的自适应选择,这通过简单的全连接层实现:
在这里插入图片描述
其中δ是ReLU函数[ 29 ],B是批归一化[ 15 ],W∈Rd × C
。为了研究d对模型效率的影响,我们使用一个折减比率r来控制它的值:
在这里插入图片描述
式中:L为d ( L = 32是我们实验中的典型设置)的最小值。

select操作

跨通道的软注意力用于自适应地选择不同空间尺度的信息,由紧凑的特征描述子z引导。具体地,在通道数字上应用softmax算子:

其中A,B分和a,b分别代表在这里插入图片描述的软注意力向量。在这里插入图片描述,是A的第c行,是a的第c个元素。在两个分支中,B是冗余的因为在这里插入图片描述,特征图V由以下在各个核上的注意力权重得到。在这里插入图片描述

这篇关于Selective Kernel Networks(CVPR-2019)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061122

相关文章

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

欧拉系统 kernel 升级、降级

系统版本  cat  /etc/os-release  NAME="openEuler"VERSION="22.03 (LTS-SP1)"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 (LTS-SP1)"ANSI_COLOR="0;31" 系统初始 kernel 版本 5.10.0-136.12.0.

[Linux Kernel Block Layer第一篇] block layer架构设计

目录 1. single queue架构 2. multi-queue架构(blk-mq)  3. 问题 随着SSD快速存储设备的发展,内核社区越发发现,存储的性能瓶颈从硬件存储设备转移到了内核block layer,主要因为当时的内核block layer是single hw queue的架构,导致cpu锁竞争问题严重,本文先提纲挈领的介绍内核block layer的架构演进,然

Kernel 中MakeFile 使用if条件编译

有时需要通过if  else来选择编译哪个驱动,单纯的obj-$(CONFIG_)就不是很方便,下面提供两种参考案例: 案例一: 来源:drivers/char/tpm/Makefileifdef CONFIG_ACPItpm-y += tpm_eventlog.o tpm_acpi.oelseifdef CONFIG_TCG_IBMVTPMtpm-y += tpm_eventlog.o

笔记整理—内核!启动!—kernel部分(1)驱动与内核的关系

首先,恭喜完成了uboot部分的内容整理,其次补充一点,uboot第一部分和第二部分的工作不是一定的,在不同的版本中,可能这个初始化早一点,那个的又放在了第二部分,版本不同,造成的工作顺序不同,但终归是要完成基本内容初始化并传参给kernel的。         那么至于驱动与内核的关系,用一张图来说明最适合不过:         驱动位于OS层的中下层与硬件相接。驱动是内

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

2019学习计划

工作三年了,第一年感觉是荒废的,第二年开始学习python,第三年开始自动化 感觉自己会的东西比较少,而且不够深入,流于表面 现制定一下今年大概的学习计划 需持续巩固加强:python、ui自动化、接口自动化、sql等 代码量需提升,敲的不够(重点) 学习: 1.移动端测试,appium等 2.前端知识系统整理学习  3.性能测试 4.docker入门,环境搭建 5.shell

CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法

论文分享简介 本推文主要介绍了CVPR 2024上的一篇论文《YOLO-World: Real-Time Open-Vocabulary Object Detection》,论文的第一作者为Tianheng Cheng和Lin Song,该论文提出了一种开放词汇目标检测的新方法,名为YOLO-World。论文通过引入视觉-语言建模和大规模预训练解决了传统YOLO检测器在固定词汇检测中的局限性。论