卷积神经网络, Convolutional Neural Networks , CNN

1,简介
CNN是deep learning在图像处理领域的一个应用
由具有可学习的权重和偏置常量(biases)的神经元组成,是deeplearning在图像处理的一个应用

2,卷积层(Convolutional layer)
每层卷积层由若干卷积单元组成,每个卷积单元(神经元)的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征更多层的网络能从低级特征中迭代提取更复杂的特征。
在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),即相同深度的深度切片,每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核(即参数w和b)

2.1局部感知(Local Connectivity)
一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息
每个隐含层单元仅仅连接输入图像的一小片相邻区域,
每个隐含层单元连接的输入区域大小叫r神经元的感受野(receptive field)
一个输出单元的大小有以下三个量控制:depth, stride 和 zero-padding。
卷积层的参数包含一系列过滤器(filter),每个过滤器训练一个深度,有几个过滤器输出单元就具有多少深度。
步幅(stride):它控制在同一深度的相邻两个隐含单元,与他们相连接的输入区域的距离
我们可以通过在输入单元周围补零来改变输入单元整体大小,从而控制输出单元的空间大小。
2.2参数共享(Parameter Sharing)
图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上
把同一深度的平面叫做深度切片(depth slice)即特征平面,那么同一个切片共享同一组权重和偏置,
共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。
如果应用参数共享的话,实际上每一层计算的操作就是输入层和权重的卷积!这也就是卷积神经网络名字的由来。
2.3多核卷积:
一个卷积核操作只能得到一部分特征可能获取不到全部特征,这么一来我们就引入了多核卷积。用每个卷积核(参数w和b)来学习不同的特征(每个卷积核学习到不同的权重)来提取原图特征
3,激活函数层
这一层神经的激活函数(Activation function)
因为线性模型的表达能力不够,用来加入非线性因素

4,池化层(Poolinglayer)
4.1 
子采样,池化(pooling),下采样(downsamples),子采样可以看作一种特殊的卷积过程。
4.2 卷积和子采样大大简化了模型复杂度,减少了模型的参数
通常在卷积层之后会得到维度很大的特征,将特征平面切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。
对不同位置的特征进行聚合统计,可以计算图像一个区域上的某个特定特征的平均值 (或最大值)
4.3 池化操作对特征切片(深度切片)独立并将保存深度大小不变。
4.4 如果池化层的输入单元大小不是二的整数倍,一般采取边缘补零(zero-padding)的方式补成2的倍数,然后再池化
4.5最大池化(Max Pooling)。取4个点的最大值。这是最常用的池化方法。 
* 均值池化(Mean Pooling)。取4个点的均值。 
* 高斯池化。借鉴高斯模糊的方法。 
* 可训练池化。训练函数 ff ,接受4个点为输入,出入1个点。

5 全连接层( Fully-Connected layer),

在整个卷积神经网络中起到“分类器”的作用

把所有局部特征结合变成全局特征,用来计算最后每一类的得分。

全连接层和卷积层可以相互转换


6总结
卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间
全连接层则起到将学到的“分布式特征表示”(都是局部的特征)映射到样本标记空间的作用

猜你喜欢

转载自blog.csdn.net/qq_34562093/article/details/79115491