由于它们在计算机视觉中的应用,我正在研究卷积神经网络(CNN)。我已经熟悉标准的前馈神经网络,所以我希望这里的某些人可以帮助我在理解CNN方面采取额外的步骤。我对CNN的看法如下:
- 在传统的前馈神经网络中,我们拥有训练数据,其中每个元素都包含一个特征向量,该特征向量在“输入层”中输入到神经网络,因此在图像识别中,我们可以将每个像素作为一个输入。这些是我们的特征向量。或者,我们可以手动创建其他(可能较小)的特征向量。
- CNN的优势在于它可以生成更强大的特征向量,这些特征向量对于图像失真和位置更加不变。如下图所示(来自本教程),CNN生成特征图,然后将其输入到标准神经网络中(因此,这实际上是一个巨大的预处理步骤)。
- 我们获得这些“更好”特征的方法是通过交替进行卷积和子采样。我了解子采样的工作原理。对于每个特征图,只取像素的一个子集,否则我们可以对像素值求平均值。
但是我主要困惑的是卷积步骤是如何工作的。我很熟悉概率论中的卷积(两个随机变量之和的密度),但是它们在CNN中如何工作,为什么有效?