点击左上方蓝字关注我们

本栏目由百度飞桨工程师联手精心打造,对深度学习的知识点进行由浅入深的剖析和讲解。大家可视它为深度学习百科(面试秘籍也是可以哒),当然也可收藏为深度学习查询手册~

回顾前6期,我们用4期讲解了卷积的原理,包括卷积的基本概念、计算方式以及卷积的变体转置卷积和空洞卷积。因为卷积是卷积神经网络的基本单元,而卷积神经网络是深度学习在各个领域取得突破性成果的基石。既然这么重要,那还不赶紧学起来?

今天依然输出卷积的变体:3D卷积分组卷积

一、3D卷积

1.1 什么是3D卷积?

标准卷积是一种二维卷积,即2D卷积。计算方式如 图1 所示。在2D卷积中,卷积核在图片上沿着宽和高两个维度滑动,在每次滑动过程时,对应位置的图像元素与卷积核中的参数进行乘加计算,得到输出特征图中的一个值。

图1 2D卷积示意图

2D卷积仅仅考虑2D图片的空间信息,所以只适用于单张2D图片的视觉理解任务。在处理3D图像或视频时,网络的输入多了一个维度,输入由(c, depth, height)变为了(c, depth, height, width),其中c 是通道数,depth为输入数据的宽度。因此,对该数据进行处理时,需要卷积也作出相应的变换,由2D卷积变为3D卷积。

在2D卷积的基础上,3D卷积被提出。3D卷积在结构上较2D卷积多了一个维度,2D卷积的尺寸可以表示为,则3D卷积的尺寸可以表示为。3D卷积的具体的计算方式与2D卷积类似,即每次滑动时与个通道、尺寸大小为(depth, height, width)的图像做乘加运算,从而得到输出特征图中的一个值,如 图2 所示。

图2 3D卷积示意图

1.2 应用示例

3D卷积的主要应用是在视频理解任务和医疗图像领域中。

视频理解任务中, 就代表了时间维度,也就是每个3D卷积核处理的连续帧数。在视频理解领域的3D卷积计算中,首先会将个连续帧组成一个3D的图像序列,然后在图像序列中进行卷积计算。3D卷积核会在个连续帧上进行滑动,每次滑动个连续帧中对应位置内的元素都要与卷积核中的参数进行乘加计算,最后得到输出特征图中的一个值。

3D CNN中[1],使用了3D卷积对人体行为进行识别,网络结构如 图3 所示。网络只有3个卷积层、1个全连接层以及2个池化层。其中,前两个卷积层为3D卷积层,卷积核大小为7 x 7 x 3 和7 x 6 x 3,也就是说每个卷积核处理3个连续帧中7 x 7 和7 x 6 大小的区域。

图3 3D CNN网络结构

由于该模型使用了3D卷积,使得其可以从空间和时间的维度提取特征,从而捕捉从多个连续帧中得到的运动信息。

医疗图像领域中,医学数据通常是3D的,比如我们要分割出的肿瘤就是3D的。如果用2D的图像处理模型去处理3D物体也是可以的,但是需要将生物医学影像图片的每一个切片成组的(包含训练数据和标注好的数据)的喂给模型进行训练,在这种情况下会存在一个效率问题,因此我们使用的模型即将U-Net中2D卷积改为3D的形式,即3D U-Net[2],如 图4 所示。

图4 3D U-Net网络结构

该模型的网络结构跟2D结构的U-Net基本一样,唯一不同就是将2D卷积操作换成了3D卷积,因此,不需要单独输入每个切片进行训练,而是可以采取输入整张图片到模型中。

二、分组卷积

2.1 分组卷积提出背景

分组卷积(Group Convolution)最早出现在AlexNet[3]中。受限于当时的硬件资源,在AlexNet网络训练时,难以把整个网络全部放在一个GPU中进行训练,因此,作者将卷积运算分给多个GPU分别进行计算,最终把多个GPU的结果进行融合。因此分组卷积的概念应运而生。

2.2 分组卷积与标准卷积的区别

对于尺寸为的输入矩阵,当标准卷积核的尺寸为,共有个标准卷积核时,标准卷积会对完整的输入数据进行运算,最终得到的输出矩阵尺寸为。这里我们假设卷积运算前后的特征图尺寸保持不变,则上述过程可以展示为 图5

图5 标准卷积示意图

考虑到上述过程是完整运行在同一个设备上,这也对设备的性能提出了较高的要求。

分组卷积则是针对这一过程进行了改进。分组卷积中,通过指定组数 g 来确定分组数量,将输入数据分成 g 组。需要注意的是,这里的分组指的是在深度上进行分组,输入的宽和高保持不变,即将每个通道的数据分为一组。因为输入数据发生了改变,相应的卷积核也需要进行对应的变化,即每个卷积核的输入通道数也就变为了,而卷积核的大小是不需要改变的。同时,每组的卷积核个数也由原来的变为。对于每个组内的卷积运算,同样采用标准卷积运算的计算方式,这样就可以得到 g 组尺寸为的输出矩阵,最终将这 g 组输出矩阵进行拼接就可以得到最终的结果。这样拼接完成后,最终的输出尺寸就可以保持不变,仍然是。分组卷积的运算过程如 图6 所示。

图6 分组卷积示意图

由于我们将整个标准卷积过程拆分成了 g 组规模更小的子运算来并行进行,所以最终降低了对运行设备的要求。同时,通过分组卷积的方式,参数量也可以得到降低。使用标准卷积时,参数量为:

而使用分组卷积后,参数量则变为:

2.3 应用示例

对于尺寸为 H x W x 64 的输入矩阵,当标准卷积核的尺寸为3 x 3 x 64,共有 64 个标准卷积核时,7 为组数 g = 2 时的分组卷积计算方式。

图7 组数为2时分组卷积示意图

此时,每组的输入通道数变为32,卷积核通道数也变为为32。所以,标准卷积对应的参数量是3 x 3 x 64 x 64 = 36864,而分组卷积的参数量变为3 x 3 x 32 x 32 x 2 =18432,参数量减少了一半。

本节课老师讲解了3D卷积和分组卷积的数学推导以及应用。有疑问的同学可以及时留言,主桨人会及时回复哦。下节课为大家带来最后一个卷积变体-可分离卷积的介绍,敬请期待!

参考文献

[1] 3D Convolutional Neural Networks for Human Action Recognition

[2] 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation

[3] ImageNet Classification with Deep Convolutional Neural Networks

对于本系列所有课程内容,大家可以在飞桨深度学习资料获取一站式平台:

https://github.com/PaddlePaddle/awesome-DeepLearning

获取,该项目集成了深度学习教程、理论知识点解读、产业实践案例、常用Tricks和前沿模型解读等内容。

感兴趣的同学可以扫码关注或者fork和star哦~

回顾往期:

听六小桨讲AI | 第1期:卷积概念及计算

听六小桨讲AI | 第2期:卷积的批量计算及应用案例

听六小桨讲AI | 第3期:优化器及其三种形式BGD、SGD以及MBGD

听六小桨讲AI | 第4期:优化器合集

听六小桨讲AI | 第5期:卷积的变体之转置卷积

听六小桨讲AI | 第6期:卷积的变体之空洞卷积

如在使用过程中有问题,可加入官方QQ群进行交流:793866180。

如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

·飞桨官网地址·

https://www.paddlepaddle.org.cn/

·飞桨开源框架项目地址·

GitHub: https://github.com/PaddlePaddle/Paddle 

Gitee: https://gitee.com/paddlepaddle/Paddle

????长按上方二维码立即star!????

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。飞桨企业版针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。

END

​听六小桨讲AI | 第7期:3D卷积和分组卷积相关推荐

  1. 听六小桨讲AI | 第3期:优化器及其三种形式BGD、SGD以及MBGD

    点击左上方蓝字关注我们 本栏目由百度飞桨工程师联手精心打造,对深度学习的知识点进行由浅入深的剖析和讲解.大家可视它为深度学习百科(面试秘籍也是可以哒),当然也可收藏为深度学习查询手册~ 大家好,我是助 ...

  2. 微软语音AI技术与微软听听文档小程序实践 | AI ProCon 2019

    演讲嘉宾 | 赵晟.张鹏 整理 | 伍杏玲 来源 | CSDN(ID:CSDNnews) [导语]9 月 7 日,在CSDN主办的「AI ProCon 2019」上,微软(亚洲)互联网工程院人工智能语 ...

  3. 微软语音 AI 技术与微软听听文档小程序实践 | AI ProCon 2019

    演讲者 | 赵晟.张鹏 整理 | 伍杏玲 出品 | CSDN(ID:CSDNnews) [CSDN 编者按]9 月 7 日,在CSDN主办的「AI ProCon 2019」上,微软(亚洲)互联网工程院 ...

  4. 斯坦福NLP名课带学详解 | CS224n 第19讲 - AI安全偏见与公平(NLP通关指南·完结)

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...

  5. 文心一格小程序,AI绘画产品

    文章目录 AIGC 什么是AI作画? Prompt 文心一格 文心一格小程序 使用方法 使用小程序进行AI绘图 AIGC的未来发展 结语 AIGC  AIGC(AI Generated Content ...

  6. 一个小故事讲明白进程、线程、Kotlin 协程到底啥关系?

    前言 协程系列文章: 一个小故事讲明白进程.线程.Kotlin 协程到底啥关系? 少年,你可知 Kotlin 协程最初的样子? 讲真,Kotlin 协程的挂起/恢复没那么神秘(故事篇) 讲真,Kotl ...

  7. 2021年春季学期-信号与系统-第十四次作业参考答案-第六小题参考答案

    本文是 2021年春季学期-信号与系统-第十四次作业参考答案 中各小题的参考答案. §06 第六小题 6.已知序列x[n]x\left[ n \right]x[n]的长度为128,h[n]h\left ...

  8. 2021年春季学期-信号与系统-第十三次作业参考答案-第六小题

    本文是 2021年春季学期-信号与系统-第十三次作业参考答案 中各小题答案. §06 第六小题 6.已知电路如下图所示,传递函数的零极点如下图所示,且H(0)=1: 求 R,L,C的数值. ▓ 求解: ...

  9. 2021年春季学期-信号与系统-第十一次作业参考答案-第六小题

    ▓ 第十一次作业各个小题参考答案 §06 第六小题 6. 利用 ZZZ 变换的性质求以下序列 的卷积,已知: (1) x[n]=an−1⋅u[n−1],h[n]=u[n]x\left[ n \righ ...

最新文章

  1. [原创]浅谈持续集成在测试中的应用
  2. 漫画:程序员的社会地位
  3. html 轮播图_JS拖拽专题(二)——「实战」滑动轮播图的那点事儿
  4. MacOS安装zsh插件zsh-autosuggestion(自动命令补全和建议)
  5. Gartner发布2021年数字商务技术成熟度曲线,重点关注四项技术
  6. YY的GCD(洛谷-P2257)
  7. 工作不能混日子,给自己留言
  8. [渝粤教育] 西南科技大学 信息法律法规 在线考试复习资料2021版
  9. Redis 单数据多源超高并发下的解决方案
  10. 安装MinGW-W64提示cannot download repository.txt
  11. 【小插件】文字镂空“LSP”制作空心文字CAD
  12. Visio科学图形包下载以及安装详细教程
  13. 【室内/外设计】天正T20V4.0软件安装教程
  14. 移动侦测/周界入侵检测视频录像如何通过国标GB28181协议视频平台EasyGBS进行弹出告警
  15. 同步,异步,直流电机原理
  16. 经典语录_生命的智慧
  17. 实现PPT演示的"非全屏播放"效果
  18. 航顺HK32F030MF4P6 RST作GPIO SWCLK作EXTI5 SWDIO作ADC_AIN0
  19. 【IAP支付之三】苹果IAP安全支付与防范 receipt收据验证
  20. ServerTools数据调试记录

热门文章

  1. swift 高清截图 ScrollView截图
  2. 一招搞定win10网络图标显示问题-网络图标不见了
  3. 初中地理人教版教案二-Leo老师
  4. 负数原码与补码之间相互转换
  5. ZipArchive打开文件时的错误代码
  6. nCode DesignLife实体焊缝疲劳分析
  7. Eclipes安装反编译插件
  8. Scrapy框架的使用之Scrapy爬取新浪微博
  9. 如何让提高网站访问速度
  10. RabbitMQ原理解析