4.1卷积神经网络

觉得有用的话,欢迎一起讨论相互学习~Follow Me

1.6多通道卷积

原理

  • 对于一个多通道的卷积操作,可以将卷积核设置为一个立方体,则其从左上角开始向右移动然后向下移动,这里设置Padding模式为VALID,步长为1.
  • 注意:卷积核中的颜色通道数必须与原始图像的颜色通道数一致。
  • 如果想要只对红色通道有用的垂直边界,则设置卷积核为:
  • 大小为\(3*3*3\)

    识别垂直边界过滤器
  • 如果想要对图像所有通道识别垂直边界,则设置卷积核为:
  • 大小为\(3*3*3\)

    多通道多卷积核

  • 上文描述了对于多通道单卷积核的卷积操作,如果想要不仅识别图像的垂直边界还想识别图像的水平边界则需要另外构造一个水平边界检测卷积核。
  • 此时可以通过两个不同的卷积核得到两个不同的\(4*4\)特征图,将这两个特征图堆叠在一起,则得到了一个\(4*4*2\)的输出立方体。2这个维度来自于两个不同的卷积核

    多通道特征图大小公式

    \[(n*n*n_c)原始图像*(f*f*n_c)卷积核大小=\lfloor\frac{(n+2p-f)}{s}+1\rfloor*\lfloor\frac{(n+2p-f)}{s}+1\rfloor*{n_c}^{'}\]

  • 其中n为原始图像大小,\(n_c\)为原始图像通道数,p为Padding填充维度,f为卷积核大小,s为步长
  • 当出现得到的结果不是整数时,可以采用向下取整的方式使其维度为整数
  • 此处的卷积核意味着一组相同大小的卷积核,不止一个
  • \(n_c\)表示通道个数,原始图片和卷积核中通道个数必须相等。\({n_c}^{'}\)表示卷积核个数


1.7构造单层卷积层

  1. 对于一张\(6*6*3\)的3通道原始图片,经过一个\(3*3*3\)的3通道卷积核得到一个\(4*4\)的图片。然后通过Python的广播机制,将16个像素点都加上一个偏置\(b_1\)。得到的结果通过非线性的激活函数ReLU的得到最终的图片像素点。
  2. 对于第二个卷积核,使用相同的步骤,也得到一个\(4*4\)的特征图。然后把这两个矩阵堆叠起来,最终得到一个\(4*4*2\)的矩阵
  3. 对于维度,通过卷积层中两个卷积核使一个\(6*6*3\)的图片变成一个\(4*4*2\)的特征图。即:卷积层中卷积核的个数对应了生成的特征图中特征的个数

问题

  • 如果一个卷积层中有10个卷积核,卷积核的大小为\(3*3*3\),则加上每个卷积核的偏置一共是\(10*28=280\)个参数。卷积核的参数量和原始图片不相关,即使很大的图片使用以上卷积层,参数量均为280.

总结

[DeeplearningAI笔记]卷积神经网络1.6-1.7构造多通道卷积神经网络的更多相关文章

  1. [DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.5不同类型的循环神经网络 上节中介绍的是 具有相同长度输入序列和输出序列的循环神经网络,但是对于很多应用\(T_{x}和 ...

  2. [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...

  3. [DeeplearningAI笔记]卷积神经网络1.2-1.3边缘检测

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.2边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: 边缘检测的原理是通过一个特定构造的卷积核对原始图 ...

  4. [DeeplearningAI笔记]卷积神经网络2.5-2.7 Network in Network/1*1卷积/Inception网络/GoogleNet

    4.2深度卷积网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Inception网络 --Szegedy C, Liu W, Jia Y, et al. Going deepe ...

  5. [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学 ...

  6. 深度学习原理与框架-Tensorflow卷积神经网络-卷积神经网络mnist分类 1.tf.nn.conv2d(卷积操作) 2.tf.nn.max_pool(最大池化操作) 3.tf.nn.dropout(执行dropout操作) 4.tf.nn.softmax_cross_entropy_with_logits(交叉熵损失) 5.tf.truncated_normal(两个标准差内的正态分布)

    1. tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')  # 对数据进行卷积操作 参数说明:x表示输入数据,w表示卷积核, stride ...

  7. [DeeplearningAI笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhu ...

  8. CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等

    CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...

  9. 神经网络的Python实现(一)了解神经网络

    网络上深度学习相关博客教程质量参差不齐,很多细节很少有文章提到,所以本着夯实深度学习基础的想法写下此系列博文. 本文会从神经网络的概述.不同框架的公式推导和对应的基于numpy的Python代码实现等 ...

随机推荐

  1. 爬虫:Scrapy12 - Stats Collection

    Scrapy 提供了方便的收集数据的机制.数据以 key/value 方式存储,值大多是计数值.该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 sta ...

  2. 王者荣耀交流协会 - 第7次Scrum会议(第二周)

    1.例会照片 照片由王超(本人)拍摄,组内成员刘耀泽,高远博,王磊,王玉玲,王超,任思佳,袁玥全部到齐. 2.时间跨度: 2017年10月26日 17:05 — 17:47 ,总计42分钟. 3.地 ...

  3. 团队展示(I know)

    一.队员姓名与学号 姓名 学号 组长 陈家权 031502107 赖晓连 031502118 ★ 雷晶 031502119 林巧娜 031502125 庄加鑫 031502147 二.队名 I kno ...

  4. HDU 5154 Harry and Magical Computer 有向图判环

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5154 题解: 有向图判环. 1.用dfs,正在访问的节点标记为-1,已经访问过的节点标记为1,没有访 ...

  5. HTTP vs HTTPS

    参考博文:HTTP与HTTPS的区别 HTTP与HTTPS的区别 一.HTTP和HTTPS的基本概念和区别 HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(T ...

  6. Python安装Numpy,matplotlib库

    <1> Numpy是一款基于python的功能强大的科学计算包.要安装numpy首先你得先安装python. python的安装非常简单,本人安装的是python2.7 具体安装步骤如下: ...

  7. C语言语法树

  8. Django 2.0 学习(16):Django ORM 数据库操作(下)

    Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...

  9. 题解 P1059 【明明的随机数】

    不会其他排序的小金羊又来水题了 本题我的思路:堆排,速度不需要算很快,AC就可以... 注意:初学者不宜抄此代码(压行严重) code: #include <cstdio> #includ ...

  10. debug - vue中通过ajax获取数据时,如何避免绑定的数据中出现property of undefined错误

    因为获取服务器是异步的,所以 vue 先绑定数据. 如果 ??? 是通过 ajax 异步获取的,在获取之前,???是未定义的.此时在外面的标签上添加一个 v-if="???" 可以 ...