一文总结CNN中【各类卷积】操作

本文详细总结CNN中各类卷积,旨在指导 domain-specific 更好的模型设计,包括标准卷积,分组卷积(Group Conv),深度可分离卷积(Depthwise Separable Conv),转置卷积(Transposed Conv),空洞卷积(Dilated Conv),可变形卷积(Deformable Conv),和 特征重标定技术(Squeeze-and-Excitation)。

关于CNN网络的总结可以去康康这篇良心博客哦:
《一文总结经典卷积神经网络CNN模型》

目录

  • 标准卷积
  • 分组卷积(Group Conv)
  • 深度可分离卷积(Depthwise Separable Conv)
    • 计算量分析
  • 转置卷积(Transposed Conv)
  • 空洞卷积(Dilated Conv)
  • 可变形卷积(Deformable Conv)
  • 特征重标定技术(Squeeze-and-Excitation)

 

标准卷积

这没什么好说的,回顾一下卷积的基本概念:

  • Kernel Size: 内核大小定义了卷积的 视域 。2D的常见选择是3,即3x3像素。
  • Stride: 定义了内核在遍历图像时的 步长 。虽然它的默认值通常是1,但我们可以使用2的步长来对图像进行采样,类似于MaxPooling。
  • Padding: 填充 定义了如何处理样本的边界。(padding=1,kernel size=3)的卷积将保持空间输出维度等于输入维度。
  • Input & Output Channels: 输入通道(I),输出通道(O,就是该层有多少个卷积核,决定着下一层的输入通道),该层所需的参数可以用IOK来计算,其中K等于单个内核中单个通道的参数个数。

记住下面这个公式就行,单个维度(例如宽度或高度):
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

 

分组卷积(Group Conv)

它将输入特征图(input feature map)分成多个组,然后在每个组内独立进行卷积操作。这种方法最初是在AlexNet中提出的,以解决当时的GPU内存限制问题,后来被发现可以增加网络的表示能力并减少计算量。

在标准卷积中,卷积核会跨越所有输入通道(input channels)进行卷积。而在分组卷积中,假设有 G 个组,则输入特征图和卷积核都会被分成 G 个组。每组卷积核只在对应的输入特征图组内进行卷积操作,因此,每个卷积核不再跨越所有输入通道,而只跨越部分通道,理论上计算量减少 G 倍。
在这里插入图片描述

不过,分组卷积也有一个潜在的问题:
虽然在理论上它可以显著降低一计算量,但是对内存的访问频繁程度并未降低,且现有的GPU加速库(如cuDNN)对其优化的程度有限,因此它在效率上的提升并不如理论上显著。

 

深度可分离卷积(Depthwise Separable Conv)

分组卷积的一种特例,其中每个输入通道分配给一个组(就是 G=C,每个通道单独一个组)。深度可分离卷积首先使用逐通道深度卷积(depthwise)提取空间特征,然后使用 1×1 逐点卷积(pointwise)合并这些特征。这种方法首次被广泛认知是通过MobileNet架构和Xception架构,以显著减少计算量和模型大小。

在这里插入图片描述

计算量分析

在这里插入图片描述

所以:
标准卷积的计算量(即乘法操作的数量)大约为:
在这里插入图片描述
深度可分离卷积的总计算量为 深度卷积 和 逐点卷积 之和:

在这里插入图片描述

深度可分离卷积的计算效率提升可以用如下的比例表示:

在这里插入图片描述
简化后得到:
在这里插入图片描述
Cout一般很大,可以忽略,而Dk一般是3,所以一般至少能 节省9倍 计算量。

 

在MobileNet V2中,网络做了一点改进:
先点卷积扩大通道数,以提取更多的特征,再应用深度可分离卷积;还有加了残差结构(图中没有展示)。
在这里插入图片描述

 

转置卷积(Transposed Conv)

转置卷积可以理解为 反卷积,可以视为标准卷积的逆过程,在 图像生成(如生成对抗网络GANs和变分自编码器VAEs)、图像分割 等领域中非常有用,因为这些应用通常需要从一个较小的特征表示恢复到较大的图像尺寸

标准卷积中,卷积核在输入特征图上滑动,对局部区域进行加权求和,从而产生更小的输出特征图(除非特别采用零填充等手段)。

相反,转置卷积通过给定的步长在输入特征图中插入零,然后应用一个卷积核,其效果是 “扩展” 了输入特征图。
具体地,它首先将输入特征图中的每个元素视为小的特征图,并在这些特征图之间插入由步长确定的零填充,然后对这个新的、被扩展的特征图应用标准卷积。这样,转置卷积实际上是通过在原始输入元素之间插入空白(通常是零)来“逆转”标准卷积的压缩效果。

在这里插入图片描述
在这里插入图片描述

普通卷积和转置卷积所处理的基本任务是不同的:

  • 前者主要用来做特征提取,倾向于压缩特征图尺寸
  • 后者主要用于对特征图进行扩张或上采样

尽管转置卷积是上采样的有效手段,但它可能引入特定的伪影,如棋盘状伪影(checkerboard artifacts)。
这是由于步长和卷积核大小不匹配时输出特征图中值的不均匀分布导致的。即当内核大小(输出窗口大小)不能被步幅(顶部点之间的间距)整除时,反卷积具有不均匀的重叠。
为了缓解这一问题,设计转置卷积层时需要仔细选择卷积核大小和步长,或考虑使用其他上采样技术(如双线性上采样后跟一个 1×1 卷积)作为替代。

在这里插入图片描述

在这里插入图片描述

 

空洞卷积(Dilated Conv)

也称为扩张卷积,旨在增加卷积层的感受野(即卷积操作覆盖的输入区域大小)而不增加额外的参数或计算量。这种方法通过在卷积核的元素之间插入空洞(即零填充),实现了在不丢失分辨率的情况下捕获更广泛的上下文信息,也用于做像素级的预测,解决pixel-wise输出模型。

在标准卷积中,卷积核的元素是紧密排列的。而在空洞卷积中,卷积核被“扩张”了,卷积核中的元素之间插入了指定数量的空间(零填充),这个数量由一个参数——空洞率(dilation rate)决定。空洞率为1表示标准卷积(没有空洞),空洞率大于1表示在卷积核元素之间插入的空洞数量。

工作原理:
假设空洞率为 d,则在卷积核的每个元素之间将插入 d−1 个零。这意味着,对于一个 3×3 的卷积核,当空洞率为2时,实际上卷积操作会在一个 5×5 的区域上进行,但只有原 3×3 卷积核对应的位置参与计算,其他位置被认为是零。这样,卷积核覆盖的实际区域更大,从而增大了感受野,而不需要增加更多的参数或计算成本。

在这里插入图片描述
在这里插入图片描述

应用:

  • 语义分割:FCN等网络就是利用空洞卷积来增加感受野,以提高分割的精确度。
  • 音频处理:在音频生成和语音识别中,如Wavenet,空洞卷积可以帮助模型捕捉到更长的序列依赖。

虽然空洞卷积有其优势,但在使用时也需要注意一些问题,如:

  • 感受野爆炸:随着空洞率的增加,感受野可能迅速扩大,可能导致模型覆盖过多的输入区域,从而捕获到过多的无关信息或噪声。
  • 棋盘效应(Gridding Effect):当连续使用高空洞率的卷积层时,可能会出现棋盘效应,即模型只能看到输入数据的一部分,导致性能下降。为避免这一点,设计网络时应仔细考虑空洞率的选择和层次结构的安排。

 

可变形卷积(Deformable Conv)

传统的卷积操作在进行特征提取时使用固定形状的卷积核,这可能限制了模型处理图像中的几何变换(如物体的形状变化、尺度变化和旋转)的能力。可变形卷积通过引入了可学习的偏移量,使得卷积核的形状和位置可以动态地调整以适应输入图像的几何变化。这种方法最初是在《Deformable Convolutional Networks》一文中提出的,目的是增强卷积神经网络对于尺度、旋转和形状变化的适应能力。

这使得卷积核能够自适应地调整其形状来更好地拟合图像的局部特征。

正常卷积规律的采样 9 个点(绿点),在正常的采样坐标上加上一个位移量(蓝色箭头),可变形卷积可以进行尺度变换,比例变换和旋转变换,即上面介绍的空洞卷积是它的一个特例
在这里插入图片描述

具体地:

  • 可变形卷积层通过额外的卷积层来预测每个采样点的偏移量,这些偏移量是相对于卷积核中每个位置的标准固定网格位置的。偏移量是可以通过反向传播算法学习和优化的,使得网络能够在训练过程中自动学习到如何变形卷积核以适应具体任务的需求。
  • 由于偏移后的位置通常不会正好落在输入特征图的像素上,可变形卷积使用双线性插值来计算偏移位置处的输入值,确保操作的可微性,允许梯度的正常反向传播。

简单来说:
首先通过一个小卷积层(绿色)的输出得到可变形卷积所需要的位移量,然后将其作用在卷积核(蓝色)上,达到可变形卷积的效果。
在这里插入图片描述
 
优势:

  • 几何变换适应性:可变形卷积能够使卷积核适应输入特征图中的局部几何变换,提高了模型处理图像形变的能力。
  • 增强的特征提取:通过动态调整卷积核,模型能够捕捉到更加丰富和精细的特征,有助于提升诸如目标检测、语义分割等视觉任务的性能。

 
在这里插入图片描述
 

同样思路也能用在池化上,搞成可变形池化:
通过标准的兴趣区域池化(绿色)获得兴趣区域对应的特征,该特征通过一个全连接层得到兴趣区域每个部位的位移量。用该位移作用在可变形兴趣区域池化(蓝色)上,以获得不局限于兴趣区域固定网格的特征。

在这里插入图片描述

 

虽然可变形卷积提供了强大的几何变换适应能力,但它也引入了额外的计算和参数,这可能会增加模型的训练难度和计算成本。因此,在实际应用中需要根据任务的具体需求和资源限制权衡其使用。

 

特征重标定技术(Squeeze-and-Excitation)

ImageNet 2017 竞赛 Image Classification 任务的冠军模型SENet(Squeeze-and-Excitation Networks)中的特征重标定策略,通过引入一个称为“Squeeze-and-Excitation”(SE)模块的结构,对卷积神经网络中的特征通道进行动态重标定。这种机制能够显著提高网络对特征重要性的适应能力,增强了模型的学习和表达能力,进而提高网络的性能。

这种卷积方法创新地对特征维度进行改进,通过自动学习评估每个特征通道的重要性,从而在千余个卷积核中区分并强化对当前任务有利的特征,同时抑制不太相关的信息。

在这里插入图片描述

Squeeze阶段:
SE模块首先通过全局平均池化(Global Average Pooling)对每个特征通道进行“压缩”,将每个通道的空间维度(即宽度和高度)压缩为一个单一的数值,生成一个长度为C的向量,这个向量中的每个值反映了相应特征在全局上的平均激活程度,这一步骤有助于模块捕捉到通道级的全局信息

Excitation阶段:
紧接着,通过一个全连接层、ReLU激活、另一个全连接层和sigmoid激活来进行“激励”操作,这两层作为网络的一部分需要额外学习其参数,这个过程生成每个通道的权重系数。这些权重系数用于动态地调整每个通道的重要性,使网络能够专注于更有用的特征。

重标定:
最后,原始特征图通过与这些学习到的通道权重相乘,进行重标定,即按通道进行加权,从而增强有用的特征并抑制不重要的特征。

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

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

相关文章

官网解决方案之:人力资源网站建设的十大要点

hello,大家好,我是贝格前端工场,从这期开始分享行业网站该如何规划和建设,本期从人力资源网站开始说起。 建设人力资源官网是企业展示自身人力资源管理能力,吸引人才,提升企业形象的重要途径。以下是建设人…

【Linux实践室】Linux 查询命令帮助语句(文末送书)

🌈个人主页:聆风吟_ 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 🔔Linux man命令2.2 🔔Linux info…

软件测试知识面试题:白盒测试、黑盒测试、测试用例

文章目录 白盒测试1、白盒测试分两类2、白盒测试的四个原则3、白盒测试常用的7类测试 黑盒测试1、黑盒测试的优缺点2、黑盒测试的方法3、黑盒测试的原则 测试用例1、测试用例包含2、设计测试用例所需的文档资料3、采用白盒测试技术设计用例的目的4、采用黑盒测试技术设计用例的…

InnoDB数据页结构---页目录 PageDirectory

InnoDB为了不同的目的而设计了许多种不同类型的页,比如存放表空间头部信息的页,存放Insert Buffer信息的页,存放INODE信息的页,存放undo日志信息的页等等等等。本文聚焦的是那些存放我们表中记录的那种类型的页,官方称…

ChatGPT提问技巧:可解释的软提示

ChatGPT提问技巧:可解释的软提示 可解释的软提示是一种既能控制模型生成的文本,又能为模型提供一定灵活性的技术。 具体做法是为模型提供一组受控输入和一些有关所需输出的附加信息。这种技术可以使生成的文本更具可解释性和可控性。 提示示例及其公式…

edm邮件是什么意思:与普通邮件有何不同?

edm邮件是什么意思?如何优化邮件内容以提高转化率? edm邮件因其独特的营销价值而备受关注。那么,edm邮件究竟是什么意思呢?它与普通邮件又有哪些不同呢?下面,AokSend就来为大家介绍一下。 edm邮件的概念与…

【SpringCloud微服务实战07】Sentinel 服务保护

Sentinel 是阿里巴巴开源的一款微服务流量控制组件。主要作用: 流量控制:避免因瞬间高并发流量而导致服务故障流。超时处理、线程隔离、降级熔断:避免因服务故障引起的雪崩问题。一、Sentinel 安装 1、安装Sentinel控制台,下载jar包并启动:Releases alibaba/Sentinel G…

基于大数据的商业模式创新研究

目录 一、导论 2 (一)研究背景 2 (二)研究意义 2 (三)研究内容 3 (四)研究思路与研究方法 4 (五)国内外研究现状 6 二、大数据的界定与应用概况 7 &#xff…

RPC基础知识回顾

RPC基础知识回顾 1、先认识一下大家熟悉的HTTP 大家都了解HTTP吧。相信项目中也用过一些。 比如: JDK自带的老旧的HttpURLConnection,封装写的很累,java8之前基于HTTP1.0。在java9开始支持Http2.0Spring的其中RestTemplate都是基于HTTP/1.1的请求。最新的还有Sp…

Transformer家族

在《Transformer原理》中我们介绍了,现在很多大模型都是基于Transformer,其中最出名就是GPT和BERT模型,在GPT和BERT模型被提出来之后,NLP领域也出现了基于Transformer结构的模型,按照模型结构基本可以分为三类&#xf…

MyBatis3源码深度解析(十)MyBatis常用工具类(三)MetaObjectMetaClass

文章目录 3.4 MetaObject3.5 MetaClass 3.4 MetaObject MetaObject是MyBatis提供的反射工具类,可以方便地获取和设置对象的属性值。 该工具类在MyBatis源码中出现的概率非常高。 假设有两个实体类:用户信息User和订单信息Order,一个用户可…

HCIA-Datacom题库(自己整理分类的)_50_路由判断【11道题】

1.以下两条配置命令可以实现路由器RTA去往同一目的地10.1.1.0的路由主备备份。√ [RTA]ip route-static 10.1.1.0 24 12.1.1.1 Permanent [RTA]ip route-static 10.1.1.0 24 13.1.1.1 2.动态路由协议能自动适应网络拓扑的变化。√ 3.如图,只需要在AR1上配置静态…

嵌入式中要能看懂这50个电路分享

大家好,今天主要给大家分享一下,嵌入式工程师常见的硬件电路。 单片机 电源 声音模块 收音机 485 蓝牙 光耦 can 光敏电阻 单片机 矩阵 单片机电路 时钟 ADC 接口电路 红外发射 显示模块 红外接收 蜂鸣器驱动 流水灯 usb供电 烧录电路 数码管 EEPROM LCD…

lnmp环境部署-im

安装nginx 配置nginx源 vim /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue安装nginx yum …

宽带波束形成

上一篇介绍了窄带波束形成,当信号的带宽增加,窄带波束形成的性能会降低很多。 首先从窄带beamforming说起 阵列模式:M个阵元组成的线性阵列 当有个输入信号,,对应的信号的入射方向为,。第一个信号是感兴…

break和continue区别及使用

break和continue是跳转控制语句,本篇文章将详细说明这两个的概念及作用。 1、continue 这张图是2024年3月的日期图,列出了每日和每周。 假设上面是上班工作日期,一个月有三十天,但是每周只有七天。简单思考一下,每周的…

el-select下拉框无法显示 elementplus踩坑日常

在使用el-select的时候参考了官方文档&#xff0c;但下拉框无法显示 解决办法1&#xff1a;检查是否没有按需引入eloption只引入了elselect 解决办法2&#xff1a;在el-select里面加入:popper-append-to-body"false" <el-select:popper-append-to-body"fa…

Mybatis八股

Mybatis是什么 Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;加载驱动、创建连接、创建statement等繁杂的过程&#xff0c;开发者开发时只需要关注如何编写SQL语句&#xff0c;可以严格控制sql执行性能&#xff0c;灵…

运行springboot项目提示:java: 错误: 不支持发行版本 18、java: 错误: 无效的源发行版:18

java: 错误: 不支持发行版本 18 解决方法&#xff1a;修改字节码版本&#xff0c;可以多试几次。 java: 错误: 无效的源发行版&#xff1a;18 解决方法&#xff1a; 出现这些错误原因&#xff1a; spring版本与jdk版本不对应 我的spring boot版本是3.2.2&#xff0c;对应的j…

实体店新模式:线下正规实体门店的转型与升级策略

在当今竞争激烈的市场环境下&#xff0c;线下正规实体门店需要不断转型与升级&#xff0c;以适应消费者的需求和市场的变化。 作为一名开鲜奶吧5年的创业者&#xff0c;我见证了无数实体店的成功与失败&#xff0c;下面的文章我将通过具体案例&#xff0c;为大家分享一些实用的…