CNN:卷积神经网络

来源:互联网 发布:淘宝全国销量排行榜 编辑:程序博客网 时间:2024/06/04 21:16

1、CNN的基本概念

卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。


2、CNN网络结构

CS231n课程:http://cs231n.stanford.edu/  给出了CNN的层级结构,如下图所示:

\

一共有6个卷积层和3个自采样层

输入层:最左边,对数据进行处理,比如去均值等

中间:n个卷积层和池化层

CONV:卷积计算层

RELU:激励层,RELU是一种激活函数

POOL:池化层,也叫子采样层(sampling),一般是取区域平均值或最大值

FC:full connection,全连接层,为全连接的多层感知机分类器


3. 局部感受野

局部感受野和权值共享都可以降低参数数目,局部感受野就是指每个神经元只对局部参数进行感知,然后在更高层对局部感知信息综合起来得到全局信息。下图为1000*1000的图像,假设有10^6 个神经元:
左图:全连接,对于所有神经元,权值数据为1000*1000*10^6=10^12 个参数
右图:局部连接,假设每个神经元只和10*10个像素值相连,那么权值数据为1000*1000**100=10^9个参数,减少为原来的万分之一,而10*10个像素值对应的10*10个参数,就相当于卷积操作.

equal


4. 卷积过程

4.1 featuring & 权值共享

经过局部感知野操作后,参数仍然过多,可以通过权值共享来降低参数数目。

如下图,为一个3的卷积核在5×5的图像上做卷积的过程,每个卷积就是一个特征提取方式,即为featuring过程。可以将卷积核看做一个筛子,对原图像进行扫描,原来的5×5图像经过卷积核之后得到一个(5-3+1)×(5-3+1)=3×3的 Filter,3×3 Filter的每一个元素即为一个神经元,该神经元是通过3×3(卷积核为3×3 ) 个 w*x(9个w*x相加后再加b) 连接得到的,故对于每一个神经元,有3×3 个权值参数w,1个参数b,共10个参数。注意:这里实际上只有一个卷积核,为了方便理解,可以看做有3×3(Filter) 个3×3 的卷积核同时和图像对应位置进行连接操作,9个卷积核的值是一样的,所以是权值共享,同时进行连接就可以节省计算时间。该featuring过程一共有9×3×3个连接。

equal

多卷积核:每个卷积核都会将图像生成另一幅图像,比如两个卷积核就可以在右边生成两幅图像,这两幅图像可以看做是一张图像的不同通道。下图展示了在四个通道上的卷积操作,有两个卷积核,生成两个通道。其中需要注意的是,四个通道上每个通道对应一个卷积核,先将w2忽略,只看w1,那么在w1的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加然后再取激活函数值得到的。 所以,在下图由4个通道卷积得到2个通道的过程中,参数的数目为4×2×2×2个,其中4表示4个通道,第一个2表示生成2个通道,最后的2×2表示卷积核大小。

equal


4.2 pooling(or: sampling)

对一个图像的不同位置的特征进行聚合统计,这种聚合的操作就叫做池化(pooling)


equal

子采样有两种形式,一种是均值子采样(mean-pooling),一种是最大值子采样(max-pooling)。两种子采样看成特殊的卷积过程,如图下图所示:

       (1)均值子采样的卷积核中每个权重都是0.25,卷积核在原图inputX上的滑动的步长为2。均值子采样的效果相当于把原图模糊缩减至原来的1/4。

       (2)最大值子采样的卷积核中各权重值中只有一个为1,其余均为0,卷积核中为1的位置对应inputX被卷积核覆盖部分值最大的位置。卷积核在原图inputX上的滑动步长为2。最大值子采样的效果是把原图缩减至原来的1/4,并保留每个2*2区域的最强输入。




卷积神经网络就是由n个卷积层和子采样层构成的,根据经验自己决定卷积层的层数,最后可以通过一个全连接感知机得到最终结果



reference :http://blog.csdn.net/yunpiao123456/article/details/52437794

https://www.2cto.com/kf/201607/522441.html