深度学习之卷积神经网络(7)池化层

在卷积层中,可以通过调节步长参数s实现特征图的高宽成倍缩小,从而降低了网络的参数量。实际上,处理通过设置步长,还有一种专门的网络层可以实现尺寸缩减功能,它就是这里要介绍的池化层(Pooling Layer)

 池化层同样基于局部相关性的思想,通过从局部相关的一组元素中进行采样或信息聚合,从而得到新的元素值。特别地,最大池化层(Max Pooling)从局部相关元素集中选取最大的一个元素值,平均池化层(Average Pooling)从局部相关元素集中计算平均值并返回。以5×55×55×5输入X\boldsymbol XX的最大池化层为例,考虑池化感受野窗口大小为k=2k=2k=2,步长s=1s=1s=1的情况,如下图所示。

最大池化举例1

绿色方框代表第一个感受野的位置,感受野元素集合为:
{1,−1,−1,−2}\{1,-1,-1,-2\}{1,−1,−1,−2}
在最大池化采样的方法下,通过
x′=max⁡({1,−1,−1,−2})=1x'=\text{max}⁡(\{1,-1,-1,-2\})=1x′=max⁡({1,−1,−1,−2})=1
计算出当前位置的输出值为1,并写入对应位置。

 若采用的是平均池化操作,则此时的输出值应为
x′=avg({1,−1,−1,−2})=−0.75x'=\text{avg}(\{1,-1,-1,-2\})=-0.75x′=avg({1,−1,−1,−2})=−0.75
 计算完当前位置的感受野后,与卷积层的计算步骤类似,将感受野按着步长向右移动若干单位,此时的输出
x′=max⁡(−1,0,−2,2)=2x'=\text{max}⁡(-1,0,-2,2)=2x′=max⁡(−1,0,−2,2)=2
 同样的方法,逐渐移动感受野窗口至最右边,计算输出x′=max⁡(2,0,3,1)=1x'=\text{max}⁡(2,0,3,1)=1x′=max⁡(2,0,3,1)=1,此时窗口已经到达输入边缘,按照卷积层同样的方式,感受野窗口向下移动一个步长,并回到行首,如下图所示:

最大池化举例2

循环往复,直至最下方、最右边,获得最大池化层的输出,长宽为4×44×44×4,略小于输入X的高宽,如下图所示:

最大池化举例3

 由于池化层没有需要学习的参数,计算简单,并且可以有效减低特征图的尺寸,非常适合图片这种类型的数据,在计算机视觉相关任务中得到了广泛的应用。

 通过精心设计池化层感受野的高宽kkk和步长sss参数,可以实现各种降维运算。比如,一种常用的池化层设定是感受野大小k=2k=2k=2,步长s=2s=2s=2,这样可以实现输出只有输入高宽一半的目的。如下两图所示,感受野大小k=3k=3k=3,步长s=2s=2s=2,输入X\boldsymbol XX高宽为5×55×55×5,输出O\boldsymbol OO高宽只有2×22×22×2。

池化层实现高宽减半1

池化层实现高宽减半2

深度学习之卷积神经网络(7)池化层相关推荐

  1. 深度学习笔记(25) 池化层

    深度学习笔记(25) 池化层 1. max pooling 2. mean pooling 3. pooling 超参 1. max pooling 除了卷积层,卷积网络也经常使用池化层来缩减模型的大 ...

  2. 【FPGA教程案例56】深度学习案例3——基于FPGA的CNN卷积神经网络之池化层verilog实现

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  3. 深度学习笔记---卷积特征提取与池化

    卷积特征提取与池化 一.卷积特征提取 全联通网络( Full Connected Networks ) 在稀疏自编码章节中,我们介绍了把输入层和隐含层进行"全连接"的设计.从计算的 ...

  4. 【动手学深度学习PyTorch版】15 池化层

    上一篇请移步[动手学深度学习PyTorch版]14 卷积层里的多输入多输出通道_水w的博客-CSDN博客 目录 一.池化层 1.1 池化层 ◼池化层原因 ◼ 二维最大池化 1.2 填充.步幅与多个通道 ...

  5. python实现卷积_【python实现卷积神经网络】池化层实现

    激活函数的实现(sigmoid.softmax.tanh.relu.leakyrelu.elu.selu.softplus):https://www.cnblogs.com/xiximayou/p/1 ...

  6. 深度学习 | 深入解析CNN pooling 池化层原理及其作用

    池化层作用机理 我们以最简单的最常用的max pooling最大池化层为例,对池化层作用机理进行探究.其他池化层的作用机理也大致适用这一机理,在这里就不加入讨论. 图片和以下部分内容来自 CS231n ...

  7. 深度学习:卷积神经网络

    文章目录 第一周 卷积神经网络简介 边缘检测案例 padding 卷积步长 三维卷积 单层卷积神经网络 简单卷积神经网络简介 池化层 为什么使用卷积 第二周 经典网络 残差网络 残差网络为什么有用 1 ...

  8. 【深度学习】卷积神经网络速成

    [深度学习]卷积神经网络速成 文章目录 [深度学习]卷积神经网络速成 1 概述 2 组成 2.1 卷积层 2.2 池化层 2.3 全连接层 3 一个案例 4 详细分析 1 概述 前馈神经网络(feed ...

  9. 深度学习~卷积神经网络(CNN)概述

    目录​​​​​​​ 1. 卷积神经网络的形成和演变 1.1 卷积神经网络结构 1.2 卷积神经网络的应用和影响 1.3 卷积神经网络的缺陷和视图 1.3.1 缺陷:可能错分 1.3.2 解决方法:视图 ...

最新文章

  1. 每日一皮:多线程理想与现实的差距
  2. python3.7.2安装包_Win10下python 2.7与python 3.7双环境安装教程图解
  3. Cogs 727. [网络流24题] 太空飞行计划(最大权闭合子图)
  4. 大话数据结构 01 :顺序线性表
  5. 1054. 距离相等的条形码
  6. bootstrap使用中遇到的坑
  7. 针对医疗数据进行命名实体识别
  8. mysql timestamp毫秒_MySQL的Timestamp插入丢失毫秒的问题
  9. 会议OA项目之我的审批签字功能
  10. 在移动硬盘分区上装Win10系统,并在Mac上使用双系统
  11. Linux查看机器的运行情况
  12. int,int*,(int*)区别
  13. 周末加班有加班费,真是太好了
  14. 下载网页上的视频—Flash Video Downloader插件
  15. 蒲公英wifi怎么卸载干净_蒲公英wifi怎么卸载干净
  16. python自动化测试selenium(四)切换页面、切换窗口
  17. Android ZXing 解析
  18. iOS YYModel使用方法
  19. 用C语言多线程描述哲学家,C语言多线程之“哲学家就餐”问题
  20. 泛在电力物联网技术及战略解读:一个战略 两个领域 三个阶段

热门文章

  1. linux datetime,Python datetime模块示例详解
  2. 计算机图形学基础期末考试试题,计算机图形学基础_试卷(B)答案
  3. Buildroot构建指南——根文件系统(Rootfs)
  4. Android开发之在任意Activity在广点通页面添加自定义布局在穿山甲页面添加任意布局
  5. Android 百度地图-实现POI的搜索(搜索周边)附源码
  6. was java sdk_关于WAS9单独安装SDK的问题?
  7. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾 1
  8. js 运算符 语句
  9. Tomcat8.01及nginx-1.8.1安装
  10. 【原创】一个亿级数据库优化过程