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

ent*_*opy 5 machine-learning neural-network deep-learning conv-neural-network tensorflow

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

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

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

Max*_*xim 2

为什么过滤器形状相同?

首先,内核形状相同只是为了加速计算。这允许批量应用卷积,例如使用 col2im 变换和矩阵乘法。这也使得将所有权重存储在一个多维数组中变得很方便。尽管从数学上讲,人们可以想象使用多个不同形状的过滤器。

一些架构,例如 Inception 网络,使用这个想法并并行应用不同的卷积层(具有不同的内核),并最终堆叠特征图。事实证明这非常有用。

为什么一个过滤器还不够?

因为每个过滤器都会准确地学习一种能够激发它的模式,例如类似 Gabor 的垂直线。单个滤波器无法同等地受到水平线和垂直线的激发。因此,要识别一个物体,一个这样的过滤器是不够的。

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

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

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

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

值得一提的是,随机初始化仍然可能出现另一个问题,称为“共同适应”:不同的神经元学会适应并相互依赖。这个问题已经通过dropout 技术和后来的批量归一化解决,本质上是通过以各种方式在训练过程中添加噪声。将其组合在一起,神经元更有可能学习数据的不同潜在表示。

更多链接

强烈建议阅读斯坦福大学的 CS231n 教程,以获得关于卷积神经网络的更好的直觉。

  • 我曾多次读到每个过滤器都会捕获形状的一部分。然而,我的问题是,具体来说,由于每个过滤器扫描矩阵中完全相同的区域,这是如何发生的? (2认同)