传统BP处理图像时的问题:
1、权值太多,计算量太大
2、权值太多,需要大量样本进行训练
例如一张图是640X480,那么就有30万个像素,然后假设是RGB三通道,那就要90万个输入神经元
所以,CNN应运而生

CNN速度复习

CNN是如何减少计算量呢?从两个方面入手(卷积并不能减小计算量)
一是局部感受野,就是对区域按5X5的方式进行划分,每25个像素与一个神经元相连,如此像把神经元的数量缩少为1/25,然后每一个神经元连着图片的25个像素,所以就有25个权值,这就引申出第二个技术——权值共享,每个神经元连出的25个权值是对应相等的,A神经元与其控制的左上角像素权值与B神经元与其控制的左上角像素权值对应相等,这就把权值直接降到可两位数

CNN速度复习

卷积的运算并不难,一般是取3X3,5X5,7X7的核对图片进行运算,我们不用人为对核进行过多考虑,因为在训练时模型会自行调整权值,与基本的BP是一样的(只是每次到卷积层都会有局部感受野&卷积,并用权值共享连接卷积层神经元)

CNN速度复习

使用越大的步长进行卷积,得到的卷积层输出的图片会越小

CNN速度复习

上面提到卷积核又叫滤波器,因为对同一张图,会用不同的卷积核提取不同的特征,因此常会用不同的核对同一图像进行卷积以提取不同的特征

CNN速度复习

卷积层后接池化层,通常是2X2步长为2的窗口(就是缩小为原图1/4),得到的图也叫特征图(feature map)。池化功能:进一步特征提取,平移不变性

CNN速度复习

这就引出了padding,对边缘的讨论

CNN速度复习

padding,既可以用于卷积,也可用于池化,核的孔径及中心是可以控制的,same会视情况补0,之所以说视情况,例如把核中心定在左上角,孔径3*3,则左边与上边肯定不用在边外补0,下边与右边可能要(何时不要?如果刚好可以分配完就不用)

CNN速度复习

例如下图步为2且长宽为偶数时,也不会补0

CNN速度复习

下面是完整的卷积神经网络结构:输入层32X32,用5X5卷积后变成了28X28,图中[email protected]是指用了6种不同的卷积核得到了6张特征图,第二个卷积层10X10不难理解,但为什么会生出16张特征图呢?
http://scs.ryerson.ca/~aharley/vis/conv/flat.html或http://scs.ryerson.ca/~aharley/vis/conv/可以查看16个特征图的生成
其实没有为什么,都是人为设计的,这几个图的像素连到同一个神经元
注意在6->16的时候每个卷积图对下面6个池化层中的若干图求卷积时权值是不共享的,权值共享只是对同一张图而言

CNN速度复习

见下图以第二个卷积层最右边的一个特征图而言,他有75个权值,因为每个图有5X5的窗口就有25个权值

CNN速度复习

最上方三个层(包括输出层)都是全连接

CNN速度复习

特别说明:在现在比较新的CNN中第二个卷积层都是采用最左边的这个图的卷积方式(就是要对全部上一池化层特征图卷积!
CNN速度复习

PS:imagenet训练集

CNN速度复习

相关文章:

  • 2021-10-30
  • 2021-09-29
  • 2021-12-10
  • 2021-09-15
  • 2021-04-06
  • 2021-06-19
  • 2021-04-22
  • 2021-07-01
猜你喜欢
  • 2021-04-29
  • 2021-09-13
  • 2021-07-19
  • 2021-05-05
  • 2021-09-26
  • 2021-12-01
  • 2021-04-18
相关资源
相似解决方案