卷积神经网络中的卷积步骤做什么?


16

由于它们在计算机视觉中的应用,我正在研究卷积神经网络(CNN)。我已经熟悉标准的前馈神经网络,所以我希望这里的某些人可以帮助我在理解CNN方面采取额外的步骤。我对CNN的看法如下:

  1. 在传统的前馈神经网络中,我们拥有训练数据,其中每个元素都包含一个特征向量,该特征向量在“输入层”中输入到神经网络,因此在图像识别中,我们可以将每个像素作为一个输入。这些是我们的特征向量。或者,我们可以手动创建其他(可能较小)的特征向量。
  2. CNN的优势在于它可以生成更强大的特征向量,这些特征向量对于图像失真和位置更加不变。如下图所示(来自本教程),CNN生成特征图,然后将其输入到标准神经网络中(因此,这实际上是一个巨大的预处理步骤)。

在此处输入图片说明

  1. 我们获得这些“更好”特征的方法是通过交替进行卷积和子采样。我了解子采样的工作原理。对于每个特征图,只取像素的一个子集,否则我们可以对像素值求平均值。

但是我主要困惑的是卷积步骤是如何工作的。我很熟悉概率论中的卷积(两个随机变量之和的密度),但是它们在CNN中如何工作,为什么有效?

我的问题与类似但是特别是,我不确定为什么第一步卷积有效。

Answers:


16

我将首先尝试在CNN背后分享一些直觉,然后评论您列出的特定主题。

CNN中的卷积和子采样层与普通MLP中的隐藏层没有区别,即它们的功能是从其输入中提取特征。然后将这些特征提供给下一个隐藏层以提取更多复杂的特征,或者将这些特征直接提供给标准分类器以输出最终预测(通常可以使用Softmax,也可以使用SVM或任何其他方法)。在图像识别的上下文中,这些功能是图像处理,就像较低层中的笔触样式和较高层中的对象部分一样。

在自然图像中,这些特征在所有位置都趋于相同。识别图像中间的特定笔划样式与识别靠近边界的笔划样式一样有用。那么,为什么不复制隐藏的图层并在输入图像的所有区域中连接多个副本,以便可以在任何位置检测到相同的特征?CNN正是这么做的,但要有效。复制之后(“卷积”步骤),我们添加了一个子样本步骤,该步骤可以通过多种方式实现,但无非就是一个子样本。从理论上讲,甚至可以删除此步骤,但实际上,这是使问题易于解决的关键。

从而:

  1. 正确。
  2. 如上所述,CNN的隐藏层就像常规MLP中一样是特征提取器。交替的卷积和子采样步骤是在训练和分类过程中完成的,因此它们并不是在实际处理之前“完成”的。我不会称它们为“预处理”,就像不这样称呼MLP的隐藏层一样。
  3. 正确。

3×35×5

在此处输入图片说明

9

随后的卷积和子采样步骤基于相同的原理,但是是根据前一层中提取的特征而不是原始图像的原始像素进行计算的。


感谢您的澄清。我将检查您提到的教程。
ComputerScientist

真的很好的说明性图形。参见参考文献:M. Egmont-Petersen,D. de Ridder,H. Handels。使用神经网络进行图像处理-综述,模式识别,第1卷。35,第10号,第2279-2301页,2002年
Match Maker EE

四年后的现在,我几乎每天都与CNN合作。@Saul Berardo的帖子确实帮助我走上了正轨:)
ComputerScientist

1

我不知道您的意思是“为什么第一步卷积有效”。为了使CNN成功,它需要具有许多层。CNN和许多其他深度学习方法背后的基本思想之一是,可以通过可稀疏表示的较小部分的空间相关性来识别较大的信号。换句话说,图像可能看起来很复杂,但是它们是由几个基本部分组成的。对于计算机视觉,图像中的基线结构通常由边缘和角落组成。CNN试图通过寻找常见的局部结构来利用图像中结构的稀疏性。这就是CNN的第一层正在尝试确定的内容。将卷积视为匹配过滤器,它正在寻找与特定模板匹配的信号。其效果如何取决于手头的数据。幸运的是,世界在小范围内充满了重复,因此CNN可以很好地完成计算机视觉任务。


是的,我认为这是总体思路。我在最初的问题中不清楚,但是我想知道数学为什么起作用,即为什么卷积属性本身允许第一层找到那些小的部分。
ComputerScientist

1
了解有关卷积和匹配过滤的更多信息。当卷积核与信号匹配时,它将给出最大的回报。
SimpleLikeAnEgg 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.