在深度学习中在卷积网络中使用多个相同滤波器的优点是什么?

时间:2018-01-04 20:15:17

标签: tensorflow machine-learning neural-network deep-learning conv-neural-network

在深度学习中使用卷积网络中多个相同滤波器的优势是什么?

例如: 我们在第一层使用6个大小为[5,5]的滤镜来扫描图像数据,这是一个大小为[28,28]的矩阵。 问题是为什么我们不只使用一个大小为[5,5]的过滤器,而是使用其中的6个或更多。最后,他们将扫描完全相同的像素。我可以看到随机权重可能不同,但无论如何DL模型都会适应它。

那么,具体来说,使用相同形状的多个过滤器的主要优势和目的是什么呢?

2 个答案:

答案 0 :(得分:1)

为什么滤镜形状相同?

首先,内核形状只是为了加快计算速度。这允许批量应用卷积,例如使用col2im变换和矩阵乘法。这也便于将所有权重存储在一个多维数组中。虽然在数学上可以想象使用不同形状的几个滤镜。

一些体系结构,例如Inception网络,使用这种想法并且并行地应用不同的卷积层(具有不同的内核),并最终堆叠特征映射。结果证明非常有用。

为什么没有一个过滤器足够?

因为每个过滤器都将学习恰好一个模式,它将激发它,例如类似Gabor的垂直线。单个滤波器不能通过水平和垂直线同样激励。因此,要识别一个对象,一个这样的过滤器是不够的。

例如,为了识别猫,神经网络可能需要识别由不同线条和边缘组成的所有眼睛,尾巴......如果网络能够识别图像中的各种不同形状和图案,则网络可以对图像上的对象充满信心。即使对于像MNIST这样的简单数据集也是如此。

为什么过滤器会学习不同的模式?

一个简单的类比:想象一个带有一个隐藏层的线性回归网络。隐藏层中的每个神经元都连接到每个输入要素,因此它们都是对称的。但经过一些训练后,不同的神经元将学习不同的高级特征,这对于做出正确的预测是有用的。

有一个问题:如果网络是用零初始化的,那么它将受symmetry issues的影响,并且通常不会收敛到目标分布。因此,从一开始就在神经元中创建不对称性并让不同的神经元从相同的输入数据中获得不同的兴趣是至关重要的。这反过来导致不同的梯度应用于权重,通常甚至更多地增加不对称性。这就是为什么不同神经元受到不同训练的原因。

提及另一个问题仍然很重要,这个问题仍然可以通过称为共同适应的随机初始化:当不同的神经元学会适应并相互依赖时。这个问题已由dropout technique和后来的batch normalization解决,主要是通过各种方式为训练过程添加噪音。将它们组合在一起,神经元更有可能学习数据的不同潜在表示。

更多链接

强烈建议阅读CS231n tutorial by Stanford以获得更好的关于卷积神经网络的直觉。

答案 1 :(得分:0)

Zeiler和Fergus https://arxiv.org/pdf/1311.2901.pdf有一张很好的图片,显示内核对图片不同部分的反应。

每个内核在图像上进行卷积,因此所有内核(可能)都会看到所有像素。您的6个过滤器中的每一个都将“学习”不同的功能。在第一层中,一些通常会学习看起来像线条(水平,垂直,对角线)的线条特征,有些会学习颜色斑点。在下一层,这些结合起来。将像素分成边缘形状。

查找Prewitt过滤器https://en.m.wikipedia.org/wiki/Prewitt_operator可能有所帮助 在这种情况下,它是一个3x3内核,它在整个图像上进行卷积,并给出一个显示水平(或垂直)边缘的特征图。您需要一个用于水平的过滤器和一个用于垂直的不同过滤器,但您可以将它们组合起来以同时使用它在神经网络中,核心值是从数据中学习的,但每层的特征映射仍然是通过在输入上卷积内核来生成的。