CS231n-CH4-卷积神经网络
卷积神经网络
卷积
全连接层:

卷积层(convolution Layer):

卷积网络就是一系列的卷积层的叠加,并加上各种各样的激活函数。

随着层数的增加,所包含的信息越来越多。


卷积计算过程:
我们可以一步一步的来走,那么得到的就是 5*5的结果

但是步长调整到2时:

那么得到的就是一个3*3的结果。
步长为3时:(7-3)/3+1 = 2.33 所以这样会导致不平衡的结果,所以步长为3不可取。

我们也可以在周围添上0,这样就可以在边缘上做卷积:

例如:一个32*32*3的输入,用10个5*5*3的卷积核去做卷积,边缘填充为2,步长为1。那么最后得到的就是32*32*10的输出,首先是32怎么得出来的呢:
(32+2*2-5)/1 + 1 = 32。
由于有10个卷积核,那么就是10层。

那么这个例子中包含多少参数呢:

首先是每kernel的大小是5*5*3 = 75,还有一个bias项,所以一共是76,由于有10层,那么就是760个参数。
1*1的卷积也有意义:

可以对深度进行操作。
池化

感受野(neuron view):一个神经元所看到的视野,如上图蓝色面上的一个神经元是由卷积核和input做卷积得到的,他们操作的范围是5*5的范围。

池化层(pooling layer)做的是降采样(downsampling):

我们一般不会做深度方向的池化,只对平面做。所以我们池化后的深度是不会变的。
一种常用的池化方法是Max Pooling。
Max Pooling:

除了pooling可以降采样,我们调整卷积时的步长也可以做到降采样。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!