与全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接
假设有一张32×32×3维度的图片,用了6个大小为5×5的过滤器,输出维度为28×28×6。32×32×3=3072,28×28×6=4704,神经网络,其中一层含有3072个单元,下一层含有4074个单元,两层中的每个神经元全连接,计算权重矩阵等于4074×3072≈1400万,所以要训练的参数很多。
卷积层的参数数量,每个过滤器都是5×5,再加上偏差参数,那么每个过滤器就有26个参数,一共有6个过滤器,所以参数共计156个,参数数量还是很少。
参数共享(parameter sharing)
一张输入的图片或特征,用一个filter去扫,这张图或者这组特征每个位置是被同样的filter扫的,所以权重是一样的,也就是参数共享。
这么做是因为同一个filter再一张图上不同位置的很多地方都可以提取到有用的特征,比如用来检测边界的filter,一个图上的很多边界都可以用这一个filter检测出来。
稀疏连接(sparsity of connections)
这个0是通过3×3的卷积计算得到的,它只依赖于这个3×3的输入的单元格,右边这个输出单元(元素0)仅与36个输入特征中9个相连接。而且其它像素值都不会对输出产生任影响,这就是稀疏连接的概念。
神经网络可以通过这两种机制减少参数,以便我们用更小的训练集来训练它,从而预防过度拟合。你们也可能听过,卷积神经网络善于捕捉平移不变。通过观察可以发现,向右移动两个像素,图片中的猫依然清晰可见,因为神经网络的卷积结构使得即使移动几个像素,这张图片依然具有非常相似的特征,应该属于同样的输出标记。
实际上,我们用同一个过滤器生成各层中,图片的所有像素值,希望网络通过自动学习变得更加健壮,以便更好地取得所期望的平移不变属性。这就是卷积或卷积网络在计算机视觉任务中表现良好的原因。