嘀嘀嘀~~~  页面这在飞快的跑来 . . .

卷积神经网络基本结构


卷积神经网络(CNN)在计算机视觉领域取得了惊人的成就,其强大的特征学习和表示能力使得基于 CNN 的模型在计算机视觉领域的各个重要研究问题上都取得了优异的成绩,在测试集上的结果也远远好于基于手工特征的方法。

基本的 CNN 架构由输入层、卷积层、池化层、全连接层构成。虽然此后的 CNN 方法在架构上进行了创新,但并没有超出此结构的基本框架,依然保留了卷积层、池化层和最后的全连接层。按照基本组件来看,CNN 的架构可以拆分成输入层、卷积层、池化层、全连接层四类主要的组件 。

输入层

面向图像的 CNN和面向视频的 CNN都需要接受输入。对于面向图像的 CNN而言,可能输入的是一张黑白的或者彩色的静态图像,而对于面向视频的 CNN而言,输入的可能是连续的若干张图像。抽象来看,可以认为 CNN 的输入层接受的是一个矩阵序列,这个矩阵序列里的每个矩阵都具有相同的大小。

卷积层

卷积层包括多个卷积核,对图像的每一个区块做卷积运算,从而提取特定的特征。每一次卷积运算的结果,经过激活函数后,都会传递给下一层的卷积运算,每次层的卷积运算都会提取更高阶,更接近语义的特征。例如第一层的卷积运算可能会提取颜色特征,而第二层的卷积运算则会提取基本的几何形状的特征,后续的卷积运算则可以提取更复杂的几何形状的特征,最后的卷积运算最终可以捕获到这些几何形状的组合与图像语义之间的关系。

对于单个卷积核而言,卷积核会在图像上找到一块相同大小的区域,对应位置的元素相乘,并把所有相乘之后的结果想加起来,作为该区域计算后得到的特征。根据不同任务的需求,可调整滤波器的滑动步长、引入零填充(zero padding)来增加卷积的多样性,更灵活地进行特征提取。

实际的 CNN 中每个卷积核都会在图像的不同区域进行同样的运算。其原因在于人类视觉的局部相关性原理:当人类在图像上识别到某个对象,例如某个字符时,与这个对象在图像上的位置是无关的。不论这个对象在图像的左上角还是图像的中间位置,人类都可以正确发现并识别出该对象。因此能够提取某种特征的卷积核,会被作用域图像的不同区域,试图发现具有特定类型特征的某些视觉对象。

当需要处理多通道图像,或者多通道特征图时,会有对应的多通道的卷积核,基本运算步骤与前面相同,每个通道都会进行各自的卷积运算,然后把这些值累加,得到最后的卷积计算结果。并且可以认为,对于视觉任务而言,有用的特征显然不止一种,SIFT、HOG、LBP、SURF等特征都是计算机视觉中在处理许多任务时都非常有效的手工特征,而通过深度学习的方法,网络可以学到更多的有效地特征,因此每一层都会设置多个卷积核,经过训练,每一个卷积核都能够提取到不同类型的特征,这些卷积核共同作用,从而提升网络最终的正确率。因此,一般的 CNN 在每一层都会使用多个多通道的卷积核,

池化层

对于人类视觉而言,即使是一张稍微模糊一点的图像,人类也可以正确识别出图像上的视觉对象,例如电动车,如下图1所示。收到人类视觉的启发,CNN引入了池化层,也称为降采样层。常见的池化运算有最大值池化和平均值池化,最大值池化会在特征图上选取𝑛 ∗ 𝑛的一个图块中的最大值作为该图块的特征值,而均值池化则会在特征图上计算出𝑛 ∗ 𝑛的图块中的平均值作为该图块的特征值。注意到这里的𝑛 ∗ 𝑛的图块大小相当于卷积运算中的卷积核的大小。从手工特征的角度而言,最大值池化和均值池化都可以看作是简单的图像压缩算法。常见的池化操作的图块大小为2 ∗ 2。

全连接层

在卷积层和池化层提取并压缩了图像的特征后,全连接层会把之前的特征连接到一起,进行一些特征融合运算,试图找到多个高阶特征之间的联系,并将其汇总成更高阶的语义特征,将得到的语义特征传给最后的任务层。


文章作者: WuLiZeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WuLiZeng !
评论
  目录