当前位置: 首页 > news >正文

卷积神经网络中 6 种经典卷积操作

深度学习的模型大致可以分为两类,一类是卷积神经网络,另外一类循环神经网络,在计算机视觉领域应用最多的就是卷积神经网络(CNN)。CNN在图像分类、对象检测、语义分割等经典的视觉任务中表现出色,因此也早就有一大批各种各样的经典卷积神经网络模型与一些鬼斧神工的卷积操作,今天小编就斗胆总结一波这些经典的卷积操作都有哪些?(不完全版本,欢迎补充….)

01 正常的卷积与参数

一个正常的图像卷积,其工作方式与原理如下图所示:

图片

图-1 (二维图像卷积)

图片

图-2 (三维图像卷积)

可以看出其基本的参数有:

卷积核大小(Convolution filter)

图-1中卷积核大小为ksize x ksize=3x3,步长(stride) 这里指每次移动的像素距离,步长为1,表示卷积核每次移动一个像素距离,依此类推。

填充(padding)

表示卷积核对边缘的处理方式,常见的填充方式有两种:same与valid,其中same表示根据卷积核大小填充ksize/2 。当卷积核为3x3时,填充1个像素;5x5时,填充两个像素,依此类推。Valid表示不填充。输入与输出通道数目从图二可以看出输入的6x6x3的图像数据,有三个通道输入,通过两个4x4x3的filter之后输出的是3x3x2的图像数据,有两个通道输出。

02 空洞卷积(Dilated Convolution)

看到这些卷积与参数,第一个变化就出现了,通过改变卷积核大小,担心不改变参数数目,实现了卷积核的多尺度,从而实现了对特征多尺度提取,它就是空洞卷积。图示如下:

图片

在保持卷积核参数不变的情况下,扩大了感受野区域。空洞卷积在图像分类、对象检测、语义分割网络模型中均有应用。

03 转置卷积(transposed convolution)

转置卷积又被称为反卷积,此反卷积跟不同于图像处理中的反模糊卷积。2D转置卷积的计算基本原理如下图所示:

图片

举例说明,卷积操作为:

图片

转置卷积操作为:

图片

最终图示如下:

图片

04 1x1卷积

1x1卷积在输出指定通道数目特征图,升降卷积神经网络的通道数上面有特殊用途,在Inception系列网络中开始大量应用,在网络模型结构设计有重要作用,Faster-RCNN中RPN网络就是使用1x1实现指定通道输出的典范。1x1卷积图示如下:

图片

1x1 Conv

图片

图片

1x1卷积的好处是可以升降维度通道数目,同时它还是一个channel-wise的卷积操作,可以降低卷积核的参数数目,减小模型规模。此外1x1卷积还有一个很高级隐藏应用技巧就是做全局深度池化操作,实现基于通道数的池化操作。

图片

05 组合卷积

组合卷积最早见AlexNet模型的相关论文,集大成者是ShuffleNet网络,关于组合卷积跟正常卷积的区别,见下图:

图片

组合卷积主要是基于filter分组,实现分组卷积,正常的卷积如下:

图片

分组filter之后的分组卷积:

图片

分组卷积的优势是可以更好的结构化学习,克服过拟合,减少参数、产生类似正则化效果,从而提升整个网络的精度与效率。

06 深度可分离卷积

深度可分离卷积结构是构建轻量化网络模型的利器之一,最早出现在相关的模型结构是以MobileNet为代表的轻量级网络模型,应用于图像分类、对象检测、语义分割当场景下。深度可分类卷积的图示如下:

图片

深度可分离卷积可以大幅减少卷积神经网络的参数,因此它在模型层数不变而模型总参数量却可以大幅下降而精度只会稍微损失,因此是模型小型化设计与轻量化模型推理的很好骨干网络。

http://www.lryc.cn/news/222178.html

相关文章:

  • 下拉列表框Spinner
  • C++高级功能笔记
  • PTE SST和RL模板
  • 2023年03月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Mysql数据库 10.SQL语言 储存过程 中 流程控制
  • 测试用例的设计方法(全):错误推测方法及因果图方法
  • 折叠旗舰新战局:华为先行,OPPO接棒
  • ESP使用webserver实现本地控制
  • 小红书热点是什么,怎么找到热点话题!
  • mysql之子表查询、视图、连接查询
  • 001、Nvidia Jetson Nano Developer KIT(b01)-环境配置
  • Lua中如何使用continue,goto continue(模拟C++ C#的continue)
  • Single-cell 10x Cell Ranger analysis
  • 华为分享---手机往电脑发送失败的处理
  • 提升ChatGPT答案质量和准确性的方法Prompt专家
  • lightdb UPDATE INDEXES自动分区转换支持全大写索引名
  • Vue路由重定向
  • MTK_ISP模块调试总结
  • Kotlin基本语法
  • macos端串口调试推荐 serial直装激活 for mac
  • MapReduce WordCount程序实践(IDEA版)
  • go程序获取工作目录及可执行程序存放目录的方法-linux
  • 数据中台之数据建模工程实操
  • 三国志14信息查询小程序(历史武将信息一览)制作更新过程06-复现小程序
  • 《研发效能(DevOps)工程师》课程简介(五)丨IDCF
  • Jupyter Notebook快速上手
  • 三款软件录制电脑屏幕视频
  • react fiber架构【详细讲解,看这一篇就够了】
  • 竞赛 深度学习疲劳检测 驾驶行为检测 - python opencv cnn
  • 国风数字人:数字时代的传统戏剧文化代言人