神经网络之模块化视角(二)
我很佩服你的计算方法的优雅; 在真正数学的马匹上穿越这些领域一定很好,而我们这样的人必须徒劳无功地走上这条路。- 艾尔伯特爱因斯坦
卷积神经网络的结果
早些时候,我们提到最近使用卷积神经网络的计算机视觉突破。在我们继续之前,我想简要地讨论一下这些结果作为动机。
他们的进步是将一堆不同的部分组合在一起的结果。他们使用GPU来训练一个非常大的深度神经网络。他们使用了一种新的神经元(ReLUs)和一种新技术来减少一种叫做“过度拟合”的问题(DropOut)。他们使用了一个包含大量图像类别的非常大的数据集(ImageNet)。当然,它是一个卷积神经网络。
他们的建筑如下图所示,非常深刻。它有5个卷积层,有散布的池,以及3个完全连接的层。早期层分为两个GPU。
他们训练他们的网络将图像分为千种不同的类别。
随机猜测,0.1%的时间会猜出正确的答案。Krizhevsky,et al。该模型能够在63%的时间内给出正确的答案。此外,它给出的前5个答案中的一个是正确的85%的时间!
上:4个正确分类的例子。下图:4个错误分类的例子。每个示例都有一个图像,后跟其标签,然后是具有概率的前5个猜测。来自Krizehvsky 等人
甚至它的一些错误对我来说似乎也很合理!我们还可以检查网络的第一层学习要做什么。
回想一下,卷积层在两个GPU之间分开。信息不会在每一层上来回传递,因此拆分侧以实际方式断开连接。事实证明,每次模型运行时,双方都会专注。
由第一个卷积层学习的过滤器。上半部分对应于一个GPU上的层,底部对应于另一个GPU上的层。
一侧的神经元聚焦于黑色和白色,学习检测不同方向和大小的边缘。另一侧的神经元专注于颜色和纹理,检测颜色对比和图案。4请记住,神经元是随机初始化的。没有人去做它们是边缘探测器,或者以这种方式分裂。它只是通过训练网络来分类图像而产生的。
这些显着的成果(以及当时的其他令人兴奋的结果)仅仅是开始。他们很快就接着进行了许多其他测试改进方法的工作,并逐步改进结果,或将其应用于其他领域。并且,除了神经网络社区之外,计算机视觉社区中的许多人都采用了深度卷积神经网络。
卷积神经网络是计算机视觉和现代模式识别中的重要工具。
形式化卷积神经网络
考虑具有输入{\(x_{n}\)}并输出{\(y_{n}\)}:
- 根据输入描述输出相对容易:
\(y_{n} = A(x_{n},x_{n+},...)\)
- 例如:
\(y_{0} = A(x_{0},x_{1})\)
\(y_{1} = A(x_{1},x_{2})\)
类似地,如果我们考虑一个二维卷积层,输入{\(x_{n,m}\)}并输出{\(y_{n,m}\)}
我们可以再次根据输入记录输出:
- 例如:
如果将其与\(A(x)\)的等式组合
\(A(x) =\sigma(W_{X} + )\)
一个人拥有实现卷积神经网络所需的一切,至少在理论上是如此。
在实践中,这通常不是考虑卷积神经网络的最佳方式。根据称为卷积的数学运算,有一种替代的公式,通常更有帮助。
卷积运算是一个强大的工具。在数学中,它出现在不同的语境中,从偏微分方程的研究到概率论。部分由于其在偏微分方程中的作用,卷积在物理科学中非常重要。它在许多应用领域也具有重要作用,如计算机图形和信号处理。
对我们来说,卷积将带来许多好处。首先,它将允许我们创建比天真的观点所暗示的更有效的卷积层实现。其次,它将从我们的配方中消除很多混乱,处理目前在x的索引中出现的所有簿记s - 目前的表述可能看起来并不凌乱,但这只是因为我们还没有陷入棘手的情况。最后,卷积将为卷积层的推理提供一个截然不同的视角。
注:本文系翻译