卷积神经网络 (CNN) 和普通神经网络 (NN) 有什么区别?在这种情况下,卷积意味着什么?
是什么让神经网络成为*卷积*神经网络?
简而言之,本地连接和参数共享(可选)。
在图像数据方面,
局部连通性表示只有局部区域内的神经元应该连接在一起,这基本上假设附近的像素是相关的,而相距较远的像素是独立的。
参数共享意味着同一组参数适用于不同的区域,它假设局部模式在整个图像中共享。
但是全局参数共享不是必需的,例如,当您拥有的图像都是正面的时候,在这种情况下,您会知道高级模式(例如眼睛、鼻子)只会出现在图像的某些特定区域周围。
一篇论文供参考:http: //yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
从神经网络的角度出发:
我会说基础神经网络的所有神经元在层之间相互连接。卷积版本使用两个假设简化了这个模型:
- 有意义的特征在图像中具有给定的大小。
- 特征是移位等变的(移位的输入导致类似移位的输出),并且可能出现在图像中的任何位置。
第一个假设通过将导致隐藏神经元的权重设置为零来表示,除了来自输入的感兴趣区域/补丁。
通过在所有补丁之间共享相同的权重来获得移位不变性。为了捕捉图像中任何地方的特征,使用仅滑动一个像素的补丁来铺设输入更简单。
这些简化大大减少了参数的数量并导致更简单的计算“发生”以采用卷积的形式,因此是 CNN 中的 C。
注意 1:通过使用多分辨率和/或使用具有不同补丁大小的单独网络来缓解固定特征大小假设。
注 2:等方差通常不如不变性有用,因此后者通常用额外的池化层来模拟。
替代方法
在深度学习之前,一种流行的问题解决方法是提取特征并将它们提供给分类器。对于图像,通常使用专业选择的滤波器(例如 Gabor 滤波器/小波)来提取特征。On 可以将 CNN 视为参数化过滤函数,其中参数是使用神经网络的方法进行训练的
卷积的数学运算意味着在所有可能的移位位置上计算两个(连续或离散)函数的乘积。最简单的例子是对一维向量进行卷积使用采样的高斯函数(高斯概率密度函数),. 实际上,这意味着逐个元素地计算求和的点积:
在二维(灰度)图像中,通过滑动窗口操作执行卷积,其中窗口(二维卷积核)是矩阵。
当神经网络用于卷积时,一个-经过-可以提供像素值窗口作为输入。通过这种方式,可以训练神经网络识别一定大小的物体。当针对每个像素坐标在本地计算特征向量时,基于特征的神经网络也可以执行卷积。参见参考文献中的图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]