是什么让神经网络成为*卷积*神经网络?

机器算法验证 神经网络 深度学习 术语 卷积神经网络 卷积
2022-04-02 04:10:21

卷积神经网络 (CNN) 和普通神经网络 (NN) 有什么区别?在这种情况下,卷积意味着什么?

3个回答

简而言之,本地连接和参数共享(可选)。

在图像数据方面,
局部连通性表示只有局部区域内的神经元应该连接在一起,这基本上假设附近的像素是相关的,而相距较远的像素是独立的。

参数共享意味着同一组参数适用于不同的区域,它假设局部模式在整个图像中共享。

但是全局参数共享不是必需的,例如,当您拥有的图像都是正面的时候,在这种情况下,您会知道高级模式(例如眼睛、鼻子)只会出现在图像的某些特定区域周围。

一篇论文供参考:http: //yann.lecun.com/exdb/publis/pdf/lecun-98.pdf

从神经网络的角度出发:

我会说基础神经网络的所有神经元在层之间相互连接。卷积版本使用两个假设简化了这个模型:

  • 有意义的特征在图像中具有给定的大小。
  • 特征是移位等变的(移位的输入导致类似移位的输出),并且可能出现在图像中的任何位置。

第一个假设通过将导致隐藏神经元的权重设置为零来表示,除了来自输入的感兴趣区域/补丁。

通过在所有补丁之间共享相同的权重来获得移位不变性。为了捕捉图像中任何地方的特征,使用仅滑动一个像素的补丁来铺设输入更简单。

这些简化大大减少了参数的数量并导致更简单的计算“发生”以采用卷积的形式,因此是 CNN 中的 C。

注意 1:通过使用多分辨率和/或使用具有不同补丁大小的单独网络来缓解固定特征大小假设。

注 2:等方差通常不如不变性有用,因此后者通常用额外的池化层来模拟。

替代方法

在深度学习之前,一种流行的问题解决方法是提取特征并将它们提供给分类器。对于图像,通常使用专业选择的滤波器(例如 Gabor 滤波器/小波)来提取特征。On 可以将 CNN 视为参数化过滤函数,其中参数是使用神经网络的方法进行训练的

卷积的数学运算意味着在所有可能的移位位置上计算两个(连续或离散)函数的乘积。最简单的例子是对一维向量进行卷积x=(x1,x2,x3,,xn)T使用采样的高斯函数(高斯概率密度函数),y=(y1,y2,y3,,yv)T. 实际上,这意味着逐个元素地计算求和的点积:

c(v2)=i=v/2,i0v/2xi y(i+v/2)
现在让运行变量zc(z),z=v2在向量的整个范围内运行x为每个位置生成卷积的输出值向量。

在二维(灰度)图像中,通过滑动窗口操作执行卷积,其中窗口(二维卷积核)是v×v矩阵。

当神经网络用于卷积时,一个v-经过-v可以提供像素值窗口作为输入。通过这种方式,可以训练神经网络识别一定大小的物体。当针对每个像素坐标在本地计算特征向量时,基于特征的神经网络也可以执行卷积。参见参考文献中的图1:[M. Egmont-Petersen, E. Pelikan, 使用神经网络检测射线照片中的骨肿瘤,模式分析和应用 2(2) ,1999, 172-183]。

神经网络的图像处理应用已在:[M. Egmont-Petersen、D. de Ridder、H. Handels。使用神经网络进行图像处理 - 综述,模式识别,卷。35, No. 10, pp. 2279-2301, 2002]