Slides:百度云 提取码: gs3n
之前说了全连接神经网络,说了线性分类,这些东西全都没有保留图片原本的2D特性,全都是将图片转化为1D的数组。
而今天说的CNN,则是能更好地保留图片的2D特性,在CV中有着更广泛地运用。
卷积层
对于一个32x32x3的一个图片,全连接层将它平摊成一个3072x1的数组
对于同样的图片,卷积层则是这么做的
它通过一个和输入图片同样高的filter,让filter与输入图片进行卷积,得出了一个28x28x1的新的图片
同时,我们可以有多个filter,从而产生多个输出图片
那么这儿共有6个filter,输出则是6组图像,你可以将这6组图像当做一个6x28x28的三维新图片
将其串联起来就是如下的结构
输入输出的大小关系
我们可以明显得看出来
- 关于高度
- 输出的高度与输入的高度无关,只与filter的个数有关
- filter的高度和输入的高度一致
- 关于长宽
- 输入的长W,filter长K,输出则为 W − K + 1 W-K+1 W−K+1
- 同理宽
我们可以看到经过多轮卷积层的处理,图片会越来越小,每次特征图片的处理都会损失更一些大小。这样可能会造成,对于一个太深的神经网络,处理到后期,图片就变成1x1的大小而无法被处理了。
Padding
在图片周围加入一些0
- 关于长宽的计算
- 输入的长W,filter长K,padding大小P,输出则为 W − K + 1 + 2 P W-K+1+2P