卷积神经网络简介

这篇文章主要总结自CS231n的CNN介绍,算是看过课程以后我对CNN的一个整体的理解,想直接看Stanford教程的同学可以直接戳下面这个链接

http://cs231n.github.io/convolutional-networks/

我们之前实现了用Python做一个简单的全连接的神经网络(链接:http://blog.csdn.net/supercally/article/details/54312625),但是这是有问题的,问题主要存在于这几个方面

  1. 全连接的结构不合适:对于一个32 * 32 * 3大小的图片,单单一个神经元就要有32 * 32 * 3个连接的权重,那么对于更多的神经元,更多的层数,更大的图片,这个计算量的增加是无法接受的
  2. 全连接的神经网络没有利用到图片的一些特点

在Convoluntional Layer当中,一个神经元只连接一个小区域内的像素点,这个区域就叫做这个神经元的receptive field,这个区域的大小就叫做filter size。这个地方需要注意的一点是,receptive field在图像的前两维里面是只取一个小区域,但是在第三个维度上,也就是深度上,是接收所有的数据的

输出向量的深度也是我们关心的一个量,这里深度就代表着这个维度上有多少个神经元。每一个深度上所有的神经元当然都是卷积同一个receptive field的,但是它们连接的权重也都不一样,它们提取的特征也不一样,有的是提取边特征,有的是提取颜色特征,这些看着同一个receptive field的神经元,我们叫作一个depth column(或者一个fibre)

我们还关心卷积的步长(step),也就是每当我做完一次卷积之后,我在每个维度上将我的窗口移动多大的距离。

如果我们输入层的大小是W,窗口的大小是F,步长的大小是S,Padding的大小是P,那么我们得到的输出层的大小是

Sizeoutput=WF+2PS+1

这个式子也很好理解,输入的大小减去窗口的大小,就是可以移动一个步长,然后再加一。处理的时候还要考虑padding添加的大小

这里值得注意的地方有两点
1. 输出层的一个neuron,看的区域,是receptive的大小,乘以输入层的所有深度,这么大,比如说输入的量是X,某一个神经元的权重W看的区域就是X[:5,:5,:],其中W[:,:,0]对应深度的第一层,W[:,:,1]对应深度的第二层
2. 输出层有很多层,每一层的权重系数都是一样的,比如说在depth_column[0]上,对于不同平面上的区域,权重都是一样的

也就是说,每一个神经元连接的输入层的量X和连接的权重之间,都是elementwise的运算

扫描二维码关注公众号,回复: 3295447 查看本文章

现在我们举个例子

如果我们有一个输入图片,大小是227 * 227 * 3,我们卷积的窗口大小是 11 * 11 * 3,步长是4,没有padding,设置输出层的层数是96,现在我们来简单进行一下计算

每一组输入的大小,是 11 * 11 * 3 = 363

在这个窗口的大小下,我们得到的数据的组数是
( 227 - 11 ) / 4 + 1 = 55,就是55 * 55 = 3025组

输入的矩阵X是3025 * 363

对于每一个receptive field当中的值,我们都需要给他一个权重,这个权重是每层共享的,总共有96层,所以我们的权重矩阵W1的大小是 363 * 96的

OutputLayer = np.matmul( X, W1 )

我们得到的输出矩阵就是3025 * 96的

然后我们对输出应用RELU非线性单元,其实RELU的函数非常简单,就是一个max函数,但是非常有效(关于非线性单元的介绍请看这篇http://blog.csdn.net/supercally/article/details/54291865

接下来我们对它进行pooling,pooling最主要的目的就是减少神经元的个数,减少参数的个数,防止过拟合,还能提高效率

pooling一般的参数就是一个2 * 2的窗口,步长设置为2,这样pooling之后的结果就是原图的长宽缩小成原来的一半。

然后我们需要把这个矩阵重新reshape成55 * 55 * 96的,然后输入下一个卷积层进行计算

在进行若干次卷积运算之后,我们就对数据进行全连接操作,全连接操作就和基本的神经网络是一样的,将数据reshape成一维的向量,然后进行elementwise的乘法操作

然后我们就可以得到最后的向量,每一个维度就代表着属于向量属于这个分类的评分,评分最大的就认为是预测的那个分类

猜你喜欢

转载自blog.csdn.net/superCally/article/details/54601867
今日推荐