[DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点
4.1卷积神经网络
觉得有用的话,欢迎一起讨论相互学习~Follow Me
1.9池化层
优点
池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性。
池化层操作
- 池化操作与卷积操作类似,但是池化操作是保留池化窗口在扫过原始图像中时的最大值。注意:每个信道都在其单独的信道中执行池化操作。
其维度公式也满足公式:
\[\lfloor\frac{(n+2p-f)}{s}+1\rfloor*\lfloor\frac{(n+2p-f)}{s}+1\rfloor\]
其中n为原始图像大小,p为Padding填充维度,f为卷积核大小,s为步长

- 平均池化层较最大池化层不那么常用,其特点是选取其扫过的原始图片中池化窗口中的平均值而不是最大值。
- 池化的超参数有:filter size池化窗口大小,stride池化步长,其中filter size 通常选取2,stride池化步长也选择为2
池化层很少使用到Padding
1.10卷积神经网络示例
- 此例中卷积层和池化层的组合被称为一个Layer。也有几个卷积层后跟一个池化层的情况,也是很常见的。

找到合适自己的超参数的好方法是大量阅读同类型的别人的论文中提出的结构和方法,使用与其近似的超参数解决问题。
1.11为什么使用卷积
卷积层相对于普通全连接神经网络最终要的两个特点是:参数共享(parameter sharing)和稀疏连接(sparsity of connections)
卷积层和全连接层参数比较
对于一个\(32*32*3\)的3通道图片来说,使用6个\(5*5\)的卷积核进行卷积操作,得到的是\(28*28*6\)的6通道图片。假设使用全连接神经网络,第一层会有\(32*32*3=3072\)个神经元,而得到的图片需要用\(28*28*6=4704\)个神经元进行表示。则需要的参数数量为\(3072*4074\approx14M\).但是使用卷积神经网络只需要\((5*5+1)*6\)=156个参数。
参数共享(parameter sharing)
卷积核用以表示学习到的特征,所扫过的区域共用一个卷积核。
稀疏连接(sparsity of connections)
- 稀疏连接(sparsity of connections)表示得到的特征图中的节点只与原始图片中的特定节点相连接。与其余节点的取值无关。

更少的参数可以有效的防止过拟合。
[DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点的更多相关文章
- 基于深度学习和迁移学习的识花实践——利用 VGG16 的深度网络结构中的五轮卷积网络层和池化层,对每张图片得到一个 4096 维的特征向量,然后我们直接用这个特征向量替代原来的图片,再加若干层全连接的神经网络,对花朵数据集进行训练(属于模型迁移)
基于深度学习和迁移学习的识花实践(转) 深度学习是人工智能领域近年来最火热的话题之一,但是对于个人来说,以往想要玩转深度学习除了要具备高超的编程技巧,还需要有海量的数据和强劲的硬件.不过 Tens ...
- Keras深度神经网络算法模型构建【输入层、卷积层、池化层】
一.输入层 1.用途 构建深度神经网络输入层,确定输入数据的类型和样式. 2.应用代码 input_data = Input(name='the_input', shape=(1600, 200, 1 ...
- Python3 卷积神经网络卷积层,池化层,全连接层前馈实现
# -*- coding: utf-8 -*- """ Created on Sun Mar 4 09:21:41 2018 @author: markli " ...
- 学习笔记TF014:卷积层、激活函数、池化层、归一化层、高级层
CNN神经网络架构至少包含一个卷积层 (tf.nn.conv2d).单层CNN检测边缘.图像识别分类,使用不同层类型支持卷积层,减少过拟合,加速训练过程,降低内存占用率. TensorFlow加速所有 ...
- tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图
tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图 因为很多 demo 都比较复杂,专门抽出这两个函数,写的 demo. 更多教程:http://www.tensorflown ...
- 【python实现卷积神经网络】池化层实现
代码来源:https://github.com/eriklindernoren/ML-From-Scratch 卷积神经网络中卷积层Conv2D(带stride.padding)的具体实现:https ...
- CNN卷积神经网络的卷积层、池化层的输出维度计算公式
卷积层Conv的输入:高为h.宽为w,卷积核的长宽均为kernel,填充为pad,步长为Stride(长宽可不同,分别计算即可),则卷积层的输出维度为: 其中上开下闭开中括号表示向下取整. MaxPo ...
- tensorflow的卷积和池化层(二):记实践之cifar10
在tensorflow中的卷积和池化层(一)和各种卷积类型Convolution这两篇博客中,主要讲解了卷积神经网络的核心层,同时也结合当下流行的Caffe和tf框架做了介绍,本篇博客将接着tenso ...
- CNN学习笔记:池化层
CNN学习笔记:池化层 池化 池化(Pooling)是卷积神经网络中另一个重要的概念,它实际上是一种形式的降采样.有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见 ...
随机推荐
- scrum立会报告+燃尽图(第二周第三次)
此作业要求参考: https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 一.小组介绍 组名:杨老师粉丝群 组长:乔静玉 组员:吴奕瑶.公 ...
- SQL连接的方法
1.创建连接字符串 string con = "Data Source=127.0.0.1;Initial Catalog=dingdan;Integrated Security=True& ...
- Beta阶段第三次网络会议
Beta阶段第三次网络会议 第二次会议问题解决情况 不同等级城堡不同图片,移动动画解决,阴影效果添加 小地图信息添加城堡和士兵信息 新AI设计失败,在存在科技树的情况下,如果将所有可能操作全部纳入考虑 ...
- Storm元数据交互详解
一.Nimbus Nimbus既需要在Zookeeper中创建元数据,也需要从Zookeeper中获取元数据. 如上图箭头1所示: 1.对于路径a,Nimbus只会创建路径,不会设置数据,数据是稍后由 ...
- oracle 查询优化及sql改写
ORACLE有个高速缓冲的概念,这个高速缓冲就是存放执行过的SQL语句,那oracle在执行sql语句的时候要做很多工作,例如解析sql语句,估算索引利用率,绑定变量,读取数据块等等这些操作.假设高速 ...
- Robotium之“去哪儿旅行”
Robotium基于APK自动化测试,只有APK文件,没有源代码. Eclipse 默认的debug keystore可以在Windows->Preferences->Android-&g ...
- [OS] 系统调用
- java 集合 父类的使用子类的方法时候 底层自动转型为子类的数据类型
跟继承多态不一样 继承多态需要显示转型
- CF697D-Puzzles
题目 一棵树,从根节点开始dfs,每层以随机顺序进入每个子节点,问走到每个点的时候期望经过了多少个点. (这里经过多少个点指的是经过多少个不同的点,即经过一个点多次算一个) (其实这个题不如说求期望d ...
- 【JavaScript】基本类型和引用类型的值、引用类型
一.前言 接着上一篇继续记笔记 二.内容 动态的属性 var person = new Object(); person.name = "Nicholas&qu ...