CNN-卷积神经网络

人工全连接网络

CNN-卷积神经网络

CNN相较人工全连接网络:

1、卷积层的神经元只与前一层的部分神经元链接

2、同一层中的某些神经元之间连接的权重w和偏移b可以共享

 

为什么在图像处理中要使用CNN:

          全连接层的方式对于图像数据来说似乎显得不这么友好,因为图像本身具有“二维空间特征”,通俗点说就是局部特性。譬如我们看一张猫的图片,可能看到猫的眼镜或者嘴巴就知道这是张猫片,而不需要说每个部分都看完了才知道,啊,原来这个是猫啊。所以如果我们可以用某种方式对一张图片的某个典型特征识别,那么这张图片的类别也就知道了

1、对输入层进行全连接的话,产生的结果会非常大,不利于计算。

2、某些模式与整个图片相比,要小很多。比如鸟类的嘴、围棋的局部等。

3、同样的模式出现在不同区域。

4、子采样后不会改变目标物。

 

CNN结构:

输入层——卷积层——池化层——卷积——池化……——全连接层——输出层

 

输入层

保留了图片本身的结构,对于黑白28*28的图片,输入的是28*28的二维神经元矩阵;对于28*28的彩色图片,输入的是28*28*3的三维神经元矩阵。

 

CNN-卷积神经网络

 

卷积层

local receptive fileds(感受视野)/filter/卷积核/权重w:是个矩阵

hidden layer(隐藏层):经过filter扫描后生成的下一层

stride:步长,filter每一次的移动距离

padding:填充,凑整用

 

CNN-卷积神经网络

 

经filter扫描一遍后可发现,每一次的神经元只与上一层的部分神经元相连。

一个filter扫描生成的下一层神经元矩阵称为一个feature map。同一个filter扫描生成的feature map上,所有的神经元共享权值。

 

一般会有多个filter,生成多层feature map。feature map尺寸计算方法:

P=(K-1)/2

O=(W-K+2P)/S +1

P为填充值,K为filter尺寸,W为输入图片尺寸,S为步长,O为输出尺寸

CNN-卷积神经网络

 

对于28*28的RGB图片,这时卷积核也有了深度

CNN-卷积神经网络

下一层的神经元值为=b+∑2d=0∑1i=0∑1j=0wdijxdij,,一个卷积核依然对应一个feature map。

 

池化层

一般采用max-pooling,最大值池化。

压缩数据和参数,控制过拟合。利用特征不变性进行特征降维

CNN-卷积神经网络

 

举例:

CNN-卷积神经网络

 

激励层

做非线性映射,提高稳健性。一般采用ReLU函数,不使用sigmoid。

f(x)=max(x,0)

CNN-卷积神经网络

 

全连接层

(Full Connect)一般出现在最后,为输出做准备,两层之间所有神经元都有权重相连,主要对特征进行重新拟合,减少特征信息的丢失。

CNN-卷积神经网络

CNN-卷积神经网络

 

 

 

 

 

 

【reference】

http://blog.jobbole.com/109748/

https://blog.****.net/cxmscb/article/details/71023576

Deep Learning Tutorial  李宏毅

https://www.cnblogs.com/skyfsm/p/6790245.html

https://www.cnblogs.com/charlotte77/p/7759802.html