CNN-卷积神经网络
人工全连接网络
CNN相较人工全连接网络:
1、卷积层的神经元只与前一层的部分神经元链接
2、同一层中的某些神经元之间连接的权重w和偏移b可以共享
为什么在图像处理中要使用CNN:
全连接层的方式对于图像数据来说似乎显得不这么友好,因为图像本身具有“二维空间特征”,通俗点说就是局部特性。譬如我们看一张猫的图片,可能看到猫的眼镜或者嘴巴就知道这是张猫片,而不需要说每个部分都看完了才知道,啊,原来这个是猫啊。所以如果我们可以用某种方式对一张图片的某个典型特征识别,那么这张图片的类别也就知道了
1、对输入层进行全连接的话,产生的结果会非常大,不利于计算。
2、某些模式与整个图片相比,要小很多。比如鸟类的嘴、围棋的局部等。
3、同样的模式出现在不同区域。
4、子采样后不会改变目标物。
CNN结构:
输入层——卷积层——池化层——卷积——池化……——全连接层——输出层
输入层
保留了图片本身的结构,对于黑白28*28的图片,输入的是28*28的二维神经元矩阵;对于28*28的彩色图片,输入的是28*28*3的三维神经元矩阵。
卷积层
local receptive fileds(感受视野)/filter/卷积核/权重w:是个矩阵
hidden layer(隐藏层):经过filter扫描后生成的下一层
stride:步长,filter每一次的移动距离
padding:填充,凑整用
经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为输出尺寸
对于28*28的RGB图片,这时卷积核也有了深度
下一层的神经元值为=b+∑2d=0∑1i=0∑1j=0wdijxdij,,一个卷积核依然对应一个feature map。
池化层
一般采用max-pooling,最大值池化。
压缩数据和参数,控制过拟合。利用特征不变性进行特征降维
举例:
激励层
做非线性映射,提高稳健性。一般采用ReLU函数,不使用sigmoid。
f(x)=max(x,0)
全连接层
(Full Connect)一般出现在最后,为输出做准备,两层之间所有神经元都有权重相连,主要对特征进行重新拟合,减少特征信息的丢失。
【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