卷积神经网络的操作原理。 只是复杂

深度神经网络导致许多图像识别任务的突破,例如计算机视觉和语音识别。 卷积神经网络是流行的神经网络类型之一。

基本上,卷积神经网络可被视为使用同一神经元的许多相同副本的神经网络。 这使得网络在计算大型模型时只能使用有限数量的参数。


二维卷积神经网络

具有相同神经元的多个副本的这项技术与数学和计算机科学中的功能抽象非常相似。 在编程过程中,该函数只需编写一次然后再使用,而无需您在不同的地方多次编写相同的代码,这可以加快程序的执行速度并减少错误数量。 类似地,一旦卷积神经网络训练了一个神经元,它就会在许多地方使用它,这有助于模型训练并使误差最小化。

卷积神经网络的结构


假设给出了一项任务,其中要求从音频中预测音频文件中是否有人的声音。

在输入处,我们获得了不同时间点的音频样本。 样品均匀分布。



用神经网络对它们进行分类的最简单方法是将所有样本连接到完全连接的层。 在这种情况下,每个输入都连接到每个神经元。



一种更复杂的方法考虑到数据中属性的某些对称性。 我们非常注意数据的局部属性:在一定时间内声音的频率是多少? 增加还是减少? 依此类推。

我们始终考虑相同的属性。 了解开始,中间和结束的频率很有用。 请注意,这些是本地属性,因为您只需要一个小的音频序列窗口即可定义它们。

因此,可以创建一组神经元A,这些神经元考虑数据中的一小段时间。 A查看所有这些段,计算某些功能。 然后,将该卷积层的输出馈送到完全连接的层F中。



在上面的示例中,A仅处理了两点线段。 这在实践中很少见。 通常,卷积层窗口要大得多。

在以下示例中,A在输入处接收3个段。 对于现实世界的任务来说,这也是不太可能的,但是,不幸的是,很难可视化连接多个输入的A。



卷积层的一个不错的特性是它们是复合的。 您可以将一个卷积层的输出提供给另一层。 在每一层中,网络都会发现更高,更抽象的功能。

在下面的示例中,有一组新的神经元B。B用于创建位于前一层之上的另一个卷积层。



卷积层通常由池化(合并)层交织在一起。 特别是,存在一种称为最大池的层,该层非常流行。

通常,我们并不关心数据中是否存在有用信号的确切时间。 如果信号频率的变化早晚发生,这有关系吗?

最大池吸收了上一级小块的最大特征。 结论表明所需功能信号是否存在于上一层中,但不确切位于何处。

最大池层-这是“减少”。 它允许后面的卷积层处理大块数据,因为合并层之后的小补丁对应于其前面的大得多的补丁。 它们也使我们对某些非常小的数据转换保持不变。



在我们之前的示例中,使用了一维卷积层。 但是,卷积层可以处理更多的数据。 事实上,最著名的基于卷积神经网络的解决方案使用二维卷积神经网络进行模式识别。



在二维卷积层中,A不会查看片段,而是会查看补丁。

对于每个补丁,A将计算该函数。 例如,她可以学会检测边缘,纹理或两种颜色之间的对比度的存在。



在前面的示例中,卷积层输出被馈送到完全连接的层中。 但是,有可能组成两个卷积层,就像所考虑的一维情况一样。



我们还可以在两个维度上执行最大池化。 在这里,我们从一个小补丁中获取最大的功能。

这归结为以下事实:在考虑整个图像时,边缘的精确位置(直至像素)并不重要。 知道它在几个像素内的位置就足够了。



而且,三维卷积网络有时用于诸如视频或批量数据之类的数据(例如,医学中的3D扫描)。 但是,这样的网络不是很广泛地使用,并且更加难以可视化。

前面我们说过A是一组神经元。 我们将在以下方面更加精确:A是什么?
在传统的卷积层中,A是神经元的并行束,所有神经元接收相同的输入信号并计算不同的功能。

例如,在二维卷积层中,一个神经元可以检测水平边缘,另一个神经元可以检测垂直边缘,并且可以检测第三绿红色对比度。



文章“网络中的网络”(Lin等人(2013年))提出了一个新层“ Mlpconv”。 在此模型中,A具有多个级别的神经元,最后一层为要治疗的区域提供更高级别的功能。 在本文中,该模型取得了令人印象深刻的结果,为许多参考数据集设定了新的技术水平。



就本出版物而言,我们将重点介绍标准卷积层。

卷积神经网络结果

与当时已知的解决方案相比,2012年,Alex Krizhevsky,Ilya Sutskever和Geoff Hinton的识别质量有了显着提高(Krizehvsky等人(2012))。

取得进展是多种方法相结合的结果。 图形处理器用于训练大型(按2012年的标准)深度神经网络。 一种新型的神经元(ReLU)和一种新技术被用于减少称为“过度拟合”(DropOut)的问题。 我们使用了具有大量图像类别(ImageNet)的大型数据集。 当然,这是一个卷积神经网络。
下面显示的架构很深。 它具有5个卷积层,3个交替池和3个完全连接的层。



来自Krizehvsky等。 (2012年)
该网络已经过训练,可以将照片分类为数千种不同的类别。

Krizhevsky等人的模型能够在63%的情况下给出正确的答案。 此外,从5个最佳答案中得出正确答案,还有85%的预测!



让我们说明一下网络的第一层能识别什么。

回想一下,卷积层被划分在两个GPU之间。 信息不会在每一层之间来回传递。 事实证明,每次模型启动时,双方都会进行专门化。



由第一卷积层获得的滤波器。 上半部分对应一个GPU上的一层,下半部分对应另一个GPU上的一层。 来自Krizehvsky等。 (2012年)
一侧的神经元专注于黑白,学会检测不同方向和大小的边缘。 另一方面,神经元专门研究颜色和纹理,检测颜色对比和图案。 请记住,神经元是随机初始化的。 没有一个人去将它们设置为边界探测器,或以这种方式划分它们。 这是在训练图像分类网络时发生的。

这些非凡的结果(以及其他令人兴奋的结果)仅仅是个开始。 他们之后很快进行了许多其他工作,这些工作测试了改进的方法并逐渐改善了结果或将其应用于其他领域。
卷积神经网络是计算机视觉和现代模式识别中的重要工具。

卷积神经网络的形式化


考虑具有输入{xn}和输出{yn}的一维卷积层:



用输入来描述结果相对容易:

yn = A(x,x + 1,...)

例如,在上面的示例中:

y0 = A(x0,x1)
y1 = A(x1,x2)

类似地,如果我们考虑具有输入{xn,m}和输出{yn,m}的二维卷积层:



网络可以由二维值矩阵表示。

结论


卷积运算是一个强大的工具。 在数学中,从偏微分方程的研究到概率论,卷积运算出现在不同的上下文中。 卷积在物理科学中很重要,部分原因是因为它在PDE中的作用。 卷积在许多应用领域中也起着重要作用,例如计算机图形学和信号处理。

Source: https://habr.com/ru/post/zh-CN416777/


All Articles