文档章节

池化理解

小祁1124
 小祁1124
发布于 2016/11/22 10:16
字数 938
阅读 92
收藏 0
点赞 0
评论 0

一 池化的过程

  卷积层是对图像的一个邻域进行卷积得到图像的邻域特征,亚采样层(池化层)就是使用pooling技术将小邻域内的特征点整合得到新的特征。 
  在完成卷积特征提取之后,对于每一个隐藏单元,它都提取到 (r-a+1)×(c-b+1)个特征,把它看做一个矩阵,并在这个矩阵上划分出几个不重合的区域,然后在每个区域上计算该区域内特征的均值或最大值,然后用这些均值或最大值参与后续的训练,这个过程就是池化。

二 池化的优点

1 显著减少参数数量

  通过卷积操作获得了图像的特征之后,若直接用该特征去做分类则面临计算量的挑战。而Pooling的结果可以使得特征减少,参数减少。 
例如:对于一个 96X96 像素的图像,假设我们已经学习得到了400个定义在8X8输入上的特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) * (96 − 8 + 1) = 7921 维的卷积特征,由于有 400 个特征,所以每个样本都会得到一个 892 * 400 = 3,168,400 维的卷积特征向量。学习一个拥有超过 3 百万特征输入的分类器十分不便,并且容易出现过拟合 (over-fitting)。

2 池化单元具有平移不变性

  pooling可以保持某种不变性(旋转、平移、伸缩等) 
  

三 池化的方式

1 一般池化(General Pooling)

1) mean-pooling,即对邻域内特征点只求平均,对背景保留更好;

2) max-pooling,即对邻域内特征点取最大,对纹理提取更好;

3) Stochastic-pooling,介于两者之间,通过对像素点按照数值大小赋予概率,再按照概率进行亚采样;

  特征提取的误差主要来自两个方面:(1)邻域大小受限造成的估计值方差增大;(2)卷积层参数误差造成估计均值的偏移。一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。在平均意义上,与mean-pooling近似,在局部意义上,则服从max-pooling的准则。

这里写图片描述

  下面给出matlab中max-pooling的代码实现: 
  

function [outputMap, outputSize] = max_pooling(inputMap, inputSize, poolSize, poolStride)
% ==========================================================
% INPUTS:
% inputMap - input map of the max-pooling layer
% inputSize - X-size(equivalent to Y-size) of input map
% poolSize - X-size(equivalent to Y-size) of receptive field
% poolStride - the stride size between successive pooling squares.
% OUTPUT:
% outputMap - output map of the max-pooling layer
% outputSize - X-size(equivalently, Y-size) of output map
% ==========================================================
outputSize = inputSize/ poolStride;
inputChannel = size(inputMap, 3);

padMap = padarray(inputMap, [poolSize poolSize],0, 'post');
outputMap = zeros(outputSize, outputSize, inputChannel, 'single');

for j = 1:outputSize
    for i = 1:outputSize
        startX = 1 + (i-1)*poolStride;
        startY = 1 + (j-1)*poolStride;
        poolField = padMap(startY:startY+poolSize-1,startX:startX+poolSize-1,:);
        poolOut = max(reshape(poolField, [poolSize*poolSize,inputChannel]),[],1);
        outputMap(j,i,:) = reshape(poolOut,[1 1 inputChannel]);
    end
end
2.重叠池化(Overlapping Pooling)

  重叠池化的相邻池化窗口之间会有重叠区域。该部分详见参考文献[4]

3.空间金字塔池化(Spatial Pyramid Pooling)

  空间金字塔池化拓展了卷积神经网络的实用性,使它能够以任意尺寸的图片作为输入。该部分详见参考文献[3]

四 参考文献

[1]池化 http://ufldl.stanford.edu/wiki/index.php/%E6%B1%A0%E5%8C%96

[2]卷积神经网络初探 - Lee的白板报的个人空间 - 开源中国社区 http://my.oschina.net/findbill/blog/550565

[3]池化方法总结http://www.voidcn.com/blog/mao_kun/article/p-4986504.html

[4] Krizhevsky, I. Sutskever, andG. Hinton, “Imagenet classification with deep convolutional neural networks,”in NIPS,2012.

[5]http://yann.lecun.com/exdb/publis/pdf/boureau-icml-10.pdf

[6]http://yann.lecun.com/exdb/publis/pdf/boureau-cvpr-10.pdf

[7]http://yann.lecun.com/exdb/publis/pdf/boureau-iccv-11.pdf

[8]http://ais.uni-bonn.de/papers/icann2010_maxpool.pdf

© 著作权归作者所有

共有 人打赏支持
小祁1124
粉丝 15
博文 78
码字总数 18220
作品 0
海淀
程序员
Deep Learning — 学习笔记&个人理解

l 一个神经网络最简单的结构包括:输入层、隐含层、输出层。 l 传统神经网络的反向传播过程:(http://www.cnblogs.com/charlotte77/p/5629865.html) 传统神经网络训练原理:通过“输入数据...

03/15
0
0
浅显易懂:长文揭秘图像处理和卷积神经网络架构

作者:DISHASHREE GUPTA 近日,Dishashree Gupta 在 Analyticsvidhya 上发表了一篇题为《Architecture of Convolutional Neural Networks (CNNs) demystified》的文章,对用于图像识别和分类...

wqhlmark64
2017/10/25
0
0
一文读懂卷积神经网络CNN(学习笔记)

首先文章的提纲为: CNN栗子镇楼 What is CNN 什么是卷积 什么是池化 Why CNN 对CNN的其他一些理解 CNN实现(接口) 1、CNN栗子(A Beginning Glimpse of CNN) Modern CNN since Yann LeCu...

技术小能手
01/02
0
0
卷积神经网络(CNN)模型结构

1. CNN的基本结构     首先我们来看看CNN的基本结构。一个常见的CNN例子如下图:     图中是一个图形识别的CNN模型。可以看出最左边的船的图像就是我们的输入层,计算机理解为输入若...

文艺小青年
2017/11/23
0
0
深度学习: pooling (池化 / 降采样)

在知乎上面看到一个关于池化的神解释,摘来: 出处:深度学习cnn中,怎么理解图像进行池化(pooling)后的平移不变性? 加上一点个人理解: 对于网络结构而言,上面的层看下面的层经过pooli...

JNingWei
2017/12/18
0
0
10- 深度学习之神经网络核心原理与算法-卷积核

卷积核 在滑动过程中提取特征 卷积核的表达式: 这个和普通线性分类器看起来是一样的。 卷积核的工作原理 这是一个(5,5) 一共25个像素点的图片。每个像素点只有两个取值0或1 我们设置的卷积核...

天涯明月笙
05/27
0
0
CNN的池化工程理解

一 池化的过程   卷积层是对图像的一个邻域进行卷积得到图像的邻域特征,亚采样层(池化层)就是使用pooling技术将小邻域内的特征点整合得到新的特征。   在完成卷积特征提取之后,对于每...

小祁1124
2016/11/22
52
0
对卷积神经网络 (CNN) 通俗形象的理解

哈哈,晚上学习学兴奋了,感觉自己对CNN有了比较深入和形象的理解,就想着写成文字给大家分享下,欢迎老铁们批评指正,现在都快凌晨三点了我要睡了,就不插入图片说明了,见谅!!(●ˇ∀ˇ●...

chenny88
01/12
0
0
入门 | 一文看懂卷积神经网络

  选自Medium   作者:Pranjal Yadav   机器之心编译   参与:Nurhachu Null、路雪      本文主要介绍了神经网络中的卷积神经网络,适合初学者阅读。      概述   深度学习...

机器之心
02/20
0
0
卷积神经网络初探

前言 目前为止我已经完整地学完了三个机器学习教程:包括“Stanford CS229”,"Machine Learning on Coursrea" 和 "Stanford UFLDL",卷积神经网络是其中最抽象的概念。 维基百科对卷积的数学...

Lee的白板报
2015/12/24
7.3K
13

没有更多内容

加载失败,请刷新页面

加载更多

下一页

七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
10分钟前
0
0
Confluence 6 配置快捷链接

快捷链接提供了提供了一个在 Confluence 中访问从常用资源的快速方法。当你创建一个快捷链接的时候,你需要为你的快捷链接 URL 指派一个 Key,用户可以在 Confluence 中只输入这个 Key 用来替...

honeymose
11分钟前
0
0
我的第一篇博文

网络界的前辈们好。本人从接触网络到你现在也有4、5年的时间了,期间不断的通过网络学习,当然也没少看大牛们给的建议。 2011年的9月份,如愿以偿的上了“大学”,刚上大学就接触到了一门叫做...

yeahlife
36分钟前
0
0
第十四章NFS服务搭建与配置

14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netap...

Linux学习笔记
42分钟前
0
0
双向认证-nginx

1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/apps -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80 -p 7443:443 -d nginx:stable 2、修改nginx配......

hotsmile
43分钟前
0
0
深入了解 Java 自动内存管理机制及性能优化

一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(Java SE 7 版)》的规...

Java大蜗牛
45分钟前
4
0
SpringBoot | 第六章:常用注解介绍及简单使用

前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志 配置等。这章节开始,开始总结一些关于springboot的综合开发的知识点。由于SpringBoot本身是基于Spring和SpringMvc...

oKong
45分钟前
9
0
云数据库架构演进与实践

如今,大型企业如金融企业和银行等,在下一代的微服务架构转型要求下,需要基础软件和数据平台能够实现原生的云化,以满足微服务架构的需求。 微服务,也就是一种面向服务的,有特定边界的松...

巨杉数据库
47分钟前
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
57分钟前
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

六库科技
59分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部