深度学习笔记(三十一)三维卷积及卷积神经网络
一、RGB三维图像的卷积
首先复习以下二维卷积运算的过程:
然后让我们看看三维图像如何进行有效的卷积运算。
计算方法和二维卷积类似,从三维图像中划分出3×3×33\times3\times33×3×3的方块(称为卷积立方体),对这27个像素点进行卷积,即逐个元素与过滤器相乘求和,得到输出二维矩阵中的一个值。
三维图像和过滤器可以有不同的高和宽,但是必须有相同的通道数。在RGB这个例子中,就是有R G B三个颜色通道(组成图像中的任意颜色)
二、叠加过滤器
试想一个问题,用前面的方法可以实现垂直边缘检测和水平边缘检测,但是如果我们要检测的是更一般的边缘呢(换句话说:想检测更多的特征信息 )?比如43°。这个时候需要一种方法,叫做过滤叠加。
- 使用垂直边缘检测过滤器,得到垂直边缘检测结果【二维】。
- 使用水平边缘检测过滤器,得到水平边缘检测结果【二维】。
- 将垂直和水平边缘检测矩阵叠加得到【三维】结果。
- 该【三维】结果叠加了垂直和水平检测的效果。
来看看老师的示意图:
三、维度总结
三维图像:n×n×ncn\times n\times n_cn×n×nc
过滤器:f×f×ncf\times f\times n_cf×f×nc
卷积输出:n−f+1×n−f+1×nc′n-f+1\times n-f+1\times n_c'n−f+1×n−f+1×nc′
其中,nc′=n_c'=nc′= #filtersfiltersfilters
注意,这里用到的padding=valid,stride=1.
所以更一般的卷积输出如下:
n+2p−f+1s×n+2p−f+1s×nc′\frac{n+2p-f+1}{s}\times \frac{n+2p-f+1}{s}\times n_c'sn+2p−f+1×sn+2p−f+1×nc′
输出的通道数nc′n_c'nc′等于过滤器的数量,也等于检测的特征数(在上述RGB图像例子中,检测垂直和水平边缘两个特征)
四、单层卷积网络
计算单层网络中参数的个数
单层中图像是3×3×33\times3\times33×3×3,过滤器数量为10,问该层有多少个参数?
- 每层27个位置,卷积运算后加上1个偏置值b,得到每个过滤器卷积时需要28个参数。
- 一共10个过滤器,作10次上述过程,共计280个参数。
可以看到,不管图像有多大,参数并不多,取决于过滤器的数量和大小,这个在卷积神经网络中称为避免过拟合。
五、符号说明
f[l]f^{[l]}f[l]:第lll层的过滤器大小
p[l]p^{[l]}p[l]:第lll层的padding数量
s[l]s^{[l]}s[l]:第lll层的stride步长
nc[l]n_c^{[l]}nc[l]:第lll层的过滤器数量
f[l]×f[l]×nc[l−1]f^{[l]}\times f^{[l]}\times n_c^{[l-1]}f[l]×f[l]×nc[l−1]:第lll层的过滤器维度
f[l]×f[l]×nc[l−1]×nc[l]f^{[l]}\times f^{[l]}\times n_c^{[l-1]}\times n_c^{[l]}f[l]×f[l]×nc[l−1]×nc[l]:第lll层的权重维度
nc[l]:1×1×1×nc[l]n_c^{[l]} :1\times1\times1\times n_c^{[l]}nc[l]:1×1×1×nc[l]:第lll层的偏置维度
nH[l−1]×nW[l−1]×nc[l−1]n_{H}^{[l-1]}\times n_{W}^{[l-1]}\times n_c^{[l-1]}nH[l−1]×nW[l−1]×nc[l−1]:第lll层的输入维度
nH[l]×nW[l]×nc[l]n_{H}^{[l]}\times n_{W}^{[l]}\times n_c^{[l]}nH[l]×nW[l]×nc[l]:第lll层的输出维度
m×nH[l]×nW[l]×nc[l]m\times n_{H}^{[l]}\times n_{W}^{[l]}\times n_c^{[l]}m×nH[l]×nW[l]×nc[l]:第lll层【m个样本】的输出维度(深度学习中的向量化技术)
nH[l]=⌊nH[l−1]+2p[l]−f[l]s[l]+1⌋n_{H}^{[l]}=\lfloor{\frac{n_{H}^{[l-1]}+2p^{[l]}-f^{[l]}}{s^{[l]}}+1}\rfloornH[l]=⌊s[l]nH[l−1]+2p[l]−f[l]+1⌋
nW[l]=⌊nW[l−1]+2p[l]−f[l]s[l]+1⌋n_{W}^{[l]}=\lfloor{\frac{n_{W}^{[l-1]}+2p^{[l]}-f^{[l]}}{s^{[l]}}+1}\rfloornW[l]=⌊s[l]nW[l−1]+2p[l]−f[l]+1⌋
六、卷积神经网络作图像分类
第一次卷积:
第二次卷积:
第三次卷积:
对最后一次卷积结果展开成一列向量,logistic/softmax回归得到预测结果。
七、卷积神经网络中的典型层类型
- 卷积层 Convolution(CONV)
- 池化层 Pooling(POOL)
- 全连接层 Fully Connected(FC)
虽然只搭建卷积层可以实现卷积神经网络,但是神经网络架构师通常会用上池化层和全连接层搭建神经网络,这两层网络比卷积层更容易搭建。将这三者结合起来,能搭建更为强大的神经网络。
祝大家2021新年快乐!祝自己2021年收获满满,能达到自己的预期!
深度学习笔记(三十一)三维卷积及卷积神经网络相关推荐
- 深度学习笔记(十一)—— 完整性检查[Sanity Checks]
这是深度学习笔记第十一篇,完整的笔记目录可以点击这里查看. 在进行高运算量的网络优化之前,可以先考虑进行以下几个检验: 1. Look for correct loss at chanc ...
- 深度学习(三)转-可视化理解卷积神经网络 直接查看卷积神经网络的过程特征...
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9579461.html 参考博客:http://blog.csdn.net/hjimce/art ...
- 深度学习笔记三:反向传播(backpropagation)算法
接上一篇的最后,我们要训练多层网络的时候,最后关键的部分就是求梯度啦.纯数学方法几乎是不可能的,那么反向传播算法就是用来求梯度的,用了一个很巧妙的方法. 反向传播算法应该是神经网络最基本最需要弄懂的方 ...
- 深度学习(三十一)基于深度矩阵分解的属性表征学习
基于深度矩阵分解的属性表征学习 原文地址:http://blog.csdn.net/hjimce/article/details/50876956 作者:hjimce 一.相关概念 本篇博文主要讲解文 ...
- 深度学习笔记第一门课第二周:神经网络的编程基础(上)
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 深度学习笔记第一门课第二周:神经网络的编程基础(下)
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 深度学习(三十一)——Style Transfer
Style Transfer 上图是Style Transfer问题的效果图:将图片B的风格迁移到另一张图片A上. 上图是图像风格迁移所涉及的科技树. 在继续讨论之前,我们有必要指出Style Tra ...
- 深度学习笔记7 Working with Large Images 卷积特征提取
动机 在用稀疏自编码器对8*8 或28*28等小图像提取特征时是可行的,但是若对大图像学习整幅图像的特征,将会非常耗时.因此需要把这种"全连接"的设计改为"部分联通&qu ...
- 吴恩达深度学习笔记(十一)—— dropout正则化
主要内容: 一.dropout正则化的思想 二.dropout算法流程 三.dropout的优缺点 一.dropout正则化的思想 在神经网络中,dropout是一种"玄学"的正则 ...
- 系统学习深度学习(三十一)--Nature DQN(NIPS 2015)
转自:https://www.cnblogs.com/pinard/p/9756075.html 1. DQN(NIPS 2013)的问题 在上一篇我们已经讨论了DQN(NIPS 2013)的算法原理 ...
最新文章
- Ctrl+C提示是否终止shell脚本
- 赠票 | 第三届语言与智能高峰论坛
- 初探GNN-文本表示学习
- 告别花瓶:2015年智能电视路在何方?
- JavaScript对象、JSON对象、JSON字符串的区别
- Hotspot JVM的常用选项
- 只腐蚀毛刺 腐蚀算法_去毛刺更省时省力的方式方法大全!
- (37)FPGA面试题实现约翰逊计数器
- 【jQuery笔记Part1】11-jQuery选择器
- openstack windows下远程debug调试(komodo)
- Linux系统根据端口号查找项目路径
- 云计算平台能够提供计算服务器,云计算平台提供了什么服务器
- 根据IP查询城市(基于ipdb库)
- 秦九韶算法——计算方法
- 串口服务器远程距离,基于串口服务器的变频器远程控制系统.pdf
- 交换机路由器端口配置
- 基于python的李代数实现方法
- JavaWeb Day02(动力节点)
- java中提供的好用的生成随机数字的工具类(可用来当验证码)
- R语言实现灰色预测模型gm11
热门文章
- android 启动画面广告,浅谈APP启动界面广告
- 腐烂国度2巨霸版计算机学知识,腐烂国度2巨霸版玩法技巧汇总
- 基于微信小程序的面包店在线服务系统
- SpringBoot使用Netty实现远程调用
- ueditor 图片上传 java_Spring+Vue整合UEditor富文本实现图片附件上传的方法
- 未来技术 html5 app,未来web浏览技术提前体验:10个会让你惊叹不已的HTML5画布(canvas)技术应用演示...
- 正式成为 Apache Teaclave 子项目,百度安全 Rust TrustZone SDK 赋能多平台隐私安全计算开源生态
- 如何下载台湾的硕博论文--大陆的论文不给力呀
- div样式之margin
- 微软云的一些说明(整理)