[DeeplearningAI笔记]卷积神经网络1.6-1.7构造多通道卷积神经网络
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构造单层卷积层
- 对于一张\(6*6*3\)的3通道原始图片,经过一个\(3*3*3\)的3通道卷积核得到一个\(4*4\)的图片。然后通过Python的广播机制,将16个像素点都加上一个偏置\(b_1\)。得到的结果通过非线性的激活函数ReLU的得到最终的图片像素点。
- 对于第二个卷积核,使用相同的步骤,也得到一个\(4*4\)的特征图。然后把这两个矩阵堆叠起来,最终得到一个\(4*4*2\)的矩阵
- 对于维度,通过卷积层中两个卷积核使一个\(6*6*3\)的图片变成一个\(4*4*2\)的特征图。即:卷积层中卷积核的个数对应了生成的特征图中特征的个数
问题
- 如果一个卷积层中有10个卷积核,卷积核的大小为\(3*3*3\),则加上每个卷积核的偏置一共是\(10*28=280\)个参数。卷积核的参数量和原始图片不相关,即使很大的图片使用以上卷积层,参数量均为280.
总结

[DeeplearningAI笔记]卷积神经网络1.6-1.7构造多通道卷积神经网络的更多相关文章
- [DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.5不同类型的循环神经网络 上节中介绍的是 具有相同长度输入序列和输出序列的循环神经网络,但是对于很多应用\(T_{x}和 ...
- [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...
- [DeeplearningAI笔记]卷积神经网络1.2-1.3边缘检测
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.2边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: 边缘检测的原理是通过一个特定构造的卷积核对原始图 ...
- [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 ...
- [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)
觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学 ...
- 深度学习原理与框架-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 ...
- [DeeplearningAI笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN
5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhu ...
- CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...
- 神经网络的Python实现(一)了解神经网络
网络上深度学习相关博客教程质量参差不齐,很多细节很少有文章提到,所以本着夯实深度学习基础的想法写下此系列博文. 本文会从神经网络的概述.不同框架的公式推导和对应的基于numpy的Python代码实现等 ...
随机推荐
- flask验证登录学习过程(1)---准备
对应flask的接口开发,目前自己可以熟练的进行.但是深入到更基础的,从注册到验证登录的过程一直不是特别清楚. 趁着年度不是特别忙的时候,特意去学习加强一下.把这个过程记录在此处. 首先是规划一个项目 ...
- CodeForces 483B 二分答案
题目: B. Friends and Presents time limit per test 1 second memory limit per test 256 megabytes input s ...
- Java中的网络编程-2
Socket编程:(一般的网络编程) <1> 两个 JAVA 应用程序可通过一个双向的网络通信连接, 实现数据交换, 这个双向链路的一段称为一个 Socket. <2> Soc ...
- Chrome浏览器超强调试工具
原文:http://lizanhong2011.blog.163.com/blog/static/18028516720117301312729/ 在Google Chrome浏览器出来之前,我一直使 ...
- nginx 简介 http://nginx.org
Nginx(一) 官方技术文档网站:http://nginx.org Nginx的特性 1:各功能基于模块化设计,扩展性好 2:支持平滑重启,实现应用不下线部署 3:在多并发请求模型下,内存消 ...
- 团队项目-BUG挖掘
测试硬件: 华为畅享5 测试平台: 安卓5.1 测试项目Git地址: https://github.com/RABITBABY/We-have-bing 测试Apk来源地址: http://www.a ...
- 蜗牛慢慢爬 LeetCode 8. String to Integer (atoi) [Difficulty: Medium]
题目 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cas ...
- jdk&tomcat环境变量配置及同时运行多个tomcat方法
一:jdk配置 安装jdk1.7.0_51,安装过程中所有选项保持默认:最后配置 JDK的环境变量: 在“我的电脑”上点右键—>“属性”—>“高级”—>“环境变量(N)”. 1.新建 ...
- Android 混淆签名打包
1.混淆文件 proguard-rules.pro # Add project specific ProGuard rules here. # By default, the flags in thi ...
- 小结ospf基本配置的三个参数
实例:<华为路由器学习指南>P712 OSPF基本功能配置示例拓扑结构 配置思路:以E为例子 [E]ospf 100 router-id 5.5.5.5[E-ospf-100]area 1 ...