CNN的层级结构

Posted yongfuxue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CNN的层级结构相关的知识,希望对你有一定的参考价值。

 
CNN的层级结构

 

1、CNN的层级结构包括:

 

数据输入层/ Input layer

 

卷积计算层/ CONV layer

 

ReLU激励层 / ReLU layer

 

池化层 / Pooling layer

 

全连接层 / FC layer

 

Batch Normalization层(可能有)

 

2、一般 CNN 结构依次为:

 

INPUT

[[CONVà RELU]*N àPOOL]*M

[FC àRELU]*K

FC

数据输入层/ Input layer

有3种常见的数据处理方式:

 

1)去均值

 

2)把输入数据各个维度都中心化到0

 

3)归一化

幅度归一化到同样的范围

 

4)PCA/白化

用PCA降维

白化是对数据每个特征轴上的幅度归一化

卷积层

1)涉及概念:

 

深度(depth) : 顾名思义,它控制输出单元的深度,也就是filter的个数,连接同一块区域的神经元个数。

 

步幅(stride):它控制在同一深度的相邻两个隐含单元,与他们相连接的输入区域的距离。如果步幅很小(比如 stride = 1)的话,相邻隐含单元的输入区域的重叠部分会很多; 步幅很大则重叠区域变少。

 

补零(zero-padding) : 我们可以通过在输入单元周围补零来改变输入单元整体大小,从而控制输出单元的空间大小。

 

2)参数共享机制

 

  • 每个卷积核连接数据窗的权重是固定的,这样需要估算的权重个数减少

 

  • 可以把卷积核看做模板,每个卷积核只关注一个特性

 

  • 一组固定的权重和不同窗口内数据做内积: 卷积
激励层

激励层的作用是把卷积层输出结果做非线性映射

 

实际经验

①?CNN尽量不要用sigmoid

②?首先试RELU,因为快,但要小心点

③?如果2失效,请用Leaky ReLU

④?某些情况下tanh倒是有不错的结果,但是很少

池化层

夹在连续的卷积层中间

压缩数据和参数的量,减小过拟合

 

类别:

Max pooling

average pooling

 技术分享图片

 

全连接层

两层之间所有神经元都有权重连接

通常全连接层在卷积神经网络尾部

批规范化(Batch normalization)

批规范化(Batch normalization)是深度学习中经常见到的一种训练trick,指在采用梯度下降法训练DNN时,对网络层中每个mini-batch的数据进行归一化,使其均值变为0,方差变为1,其主要作用是缓解DNN训练中的梯度消失/爆炸现象,加快模型的训练速度。

以上是关于CNN的层级结构的主要内容,如果未能解决你的问题,请参考以下文章

5月深度学习班第4课CNN,典型网络结构与常用框架

卷积神经网络(CNN)学习笔记

卷积神经网络(CNN)学习笔记

CNN卷积神经网络

卷积神经网络与典型结构

Python_DL_TensorFlow_03_卷积神经网络与图像识别