1、卷积神经网络介绍 A n n u a l R e p o r t汇报人:龚志雄受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。与普通神经网络的区别在于,卷积神经网络增加了卷积层和池化层的概念。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容卷积神经网络概述传统的BP网络包括输入层、隐藏层、输出层。下面的CNN网络以一张图片作为输入,先经过卷积层得到C1,再经过池化层得到S1,再经过卷积层得到C2,再经过池化
2、层得到S2。将S2的所有图片展开生成X,之后连接上普通的全连接神经网络进行图片的分类。需要注意的是S1到C2的的连接,C2层的每个神经元只是部分与S1层的神经元连接,而传统的BP网络中每个神经元会与上一层的所有神经元进行连接。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容传统的BP网络和CNN网络的区别单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容卷积的过程左边是被卷积图片的像素显示,其中的数字代表每个像素点的像素值。中间的小图片就是卷积核,卷积核会从图片
3、的左上角开始从左到右从上到下的进行卷积操作,每一次的卷积操作如右图所示:卷积核里的每个值与其对应位置的图片像素值相乘,再将所有相乘的结果求和就得到了结果。卷积核中的参数值最开始是随即生成的,CNN网络训练的目的就是训练卷积核里的这些参数,这些参数相当于BP网络中的权重w。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容卷积的过程右图是一个卷积的动态过程,黄色区域就是卷积核,右下角的小数字是卷积核的参数,这里卷积核的移动步长是一个单位。若原图尺寸为a*a,卷积核尺寸为b*b,则卷积操作生成的图片尺寸为(a-b+1)*(a-b+1
4、),也就是说生成的图片一般会比原图小一些。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容池化的过程一般经过卷积操作后生成的图像尺寸还是太大,为了减少网络计算的复杂度,需要把卷及操作后的图片进行缩小,也就是进行池化(Pooling)。池化字面理解就是把图片分成一个个池子,常用的池化有最大池化和平均池化,右图展示的是最大池化,把图片分为了四个2*2的池子,选取每个池子中的最大值作为结果。平均池化就是取每个池子的平均值作为结果。右图中经过池化图片尺寸就缩减为原图的一半。单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击
5、此处辑内容CNN网络的执行过程在这个例子中,CNN的输入是一张32*32像素的黑白图片,其中每个像素点的像素值的范围在0255。首先它会经过第一层卷积层得到C1层,这个卷积层有六个神经元,每个神经元包含一个卷积核,每个卷积核对输入图片进行卷积操作生成一张新的28*28的图片,这样经过了这层卷积层,就能得到图中C1层所示的六张图片。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容CNN网络的执行过程右图展示了Input图片经过卷基层的过程,该卷基层有六个神经元,每个神经元有一个卷积核。单击此处编辑内容单击添加标题,建议您在展示时
6、采用微软雅黑体单击此处辑内容CNN网络的执行过程由C1到S2的过程就是池化的过程,对C1层的六张图片进行池化操作,让每张图片的尺寸变为原来的一半。单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容CNN网络的执行过程从S2到C3的过程是我认为最重要也是最难理解的过程,从S2经过第二层卷积层生成了C3,这个过程和从Input到C1一样是一个卷积的过程,但从Input到C1的过程输入只有一张图片也就是Input,但S2却有六张图片作为输入,下面来说明一下从S2到C3的过程。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容CNN网络的执行过程由于S2层和C3层所涉及
7、的图片太多,不方便说明原理,所以这里假设S2层有三张图片,C3层有两张图片。这里有一个规则:有多少张输出图片,就有多少个神经元;有多少张输入图片,每个神经元就有多少个卷积核。右图中有三张图片的输入,两张图片的输出,所以卷积层有两个神经元,每个神经元有三个卷积核。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容CNN网络的执行过程右边的动图显示的是上一张图片的动态过程,左边三张蓝色图片对应S2层的三张输入图片,中间的两列的红色图片对应两个神经元中的卷积核,右边两个绿色的图片对应C3层的两张输出图片。单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容CNN网络的执行过程由C3到S4的过程又是一个池化的过程,对C3层的十六张图片进行池化操作,让每张图片的尺寸变为原来的一半。S4之后就是全连接层了,S4层的十六张图片需要展开成一个向量作为全连接层的输入。单击添加标题,建议您在展示时采用微软雅黑字体单击此处编辑内容单击添加标题,建议您在展示时采用微软雅黑体单击此处辑内容CNN网络的执行过程假设S4层只有右图所示的两张图片,则展开的过程就是将所有的像素值从左到右从上到下的排列下来,形成一个一维向量。