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. webpack入门指南-step01

    一.webpack是什么? web开发中常用到的静态资源主要有JavaScript.CSS.图片.Jade等文件,webpack中将静态资源文件称之为模块.webpack是一个模块打包工具(命令行工具 ...

  2. Scrum立会报告+燃尽图(十月三十日总第二十一次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2290 项目地址:https://git.coding.net/zhang ...

  3. 01慕课网《进击Node.js基础(一)》Node.js安装,创建例子

    版本:偶数位为稳定版本,基数为非稳定版本 - 0.6.x - 0.7.x    - 0.8.x -0.9.x    -0.10.x  -0.11.x 概念:Node.js采用谷歌浏览器的V8引擎,用C ...

  4. HDU 5225 枚举

    题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5225 bc(中文):http://bestcoder.hdu.edu.cn/contests ...

  5. sed条件不修改匹配

    sed '/^echo/!s/text/subtext/g' 如果是以echo开始行首的行就不进行替换. 参考sed substitution conditional

  6. 2nd 本周例行报告

    每周例行报告 1.个人项目:词频统计更新 C类型 C内容 S开始时间 E结束时间 I间隔(min) T净时间(min) 分析 功能分析 8:30 10:00 20 70 学习 查阅资料 10:00 1 ...

  7. oracle 行转列和列转行

    WITH L AS ( ), m AS ( SELECT A.LV AS LV_A, B.LV AS LV_B, TO_CHAR(B.LV) || 'x' || TO_CHAR(A.LV) || '= ...

  8. 【bzoj2402】陶陶的难题II 分数规划+树链剖分+线段树+STL-vector+凸包+二分

    题目描述 输入 第一行包含一个正整数N,表示树中结点的个数.第二行包含N个正实数,第i个数表示xi (1<=xi<=10^5).第三行包含N个正实数,第i个数表示yi (1<=yi& ...

  9. 【三】shiro入门 之 Realm

    Realm:域,Shiro 从从Realm获取安全数据(如用户.角色.权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较以确定用户身份是否合法:也 ...

  10. C++解析(31):自定义内存管理(完)

    0.目录 1.遗失的关键字mutable 2.new / delete 3.new[] / delete[] 4.小结 5.C++语言学习总结 1.遗失的关键字mutable 笔试题: 统计对象中某个 ...