关于卷积神经网络

卷积神经网络(CNN)是目前最流行的深度学习算法之一,尤其适用于发现图像中的模式,从而识别物体、人脸和场景。直接从图像数据中学习,使用模式对图像进行分类,无需手动特征提取

为什么CNN如此有用?

使用CNN实现深度学习变得越来越流行的三大因素:

  • CNN消除了手动提取特征的需要——CNN直接学习特征。
  • CNN可以产生最先进的识别结果
  • CNN可以重新训练以完成新的识别任务,使用户可以在现有的性能优秀的神经网络模型基础上构建自己的模型

CNN促进对象检测和对象识别技术的进步

CNN为图像识别和模式检测提供了一个最佳体系架构。与GPU和并行计算的发展相结合,CNN现已成为推动自动驾驶和人脸识别新发展的一项关键技术。

例如,深度学习应用程序使用CNN检查成千上万份病理报告,从视觉上检测癌细胞。

CNN工作原理

卷积神经网络可能有数十个甚至数百个层,每个层学习检测图像的不同特征。卷积层滤波器会应用到不同分辨率的各个训练图像,且每个卷积图像的输出会用作下一层的输入。滤波器最初可以是非常简单的特征,然后增加复杂度,直至可以唯一地确定目标特征。

特征学习、层和分类

CNN由一个输入层、一个输出层和中间的多个隐藏层组成。

这些层执行可修改数据的操作,旨在学习特定于数据的特征。最常见的三个层:卷积激活ReLU以及池化

  • 卷积将输入图像放进一组卷积滤波器,每个滤波器激活图像中的某些特征。
  • ReLU层通过将负值映射到零和保持正数值实现更快、更高效的训练。有时候这称为激活,因为只有激活的特征才能转移到下一层。
  • 池化通过执行非线性下采样,减少网络需要学习的参数个数,从而简化输出。

这些操作在几十层甚至几百层上反复进行,每一层都学习识别不同的特征。

分类层

在学习完许多层中的特征之后,CNN的架构转移到分类。

倒数第二层是全连接层,输出K维度的向量,其中K是网络能够预测的类数量。

CNN架构的最后一层使用分类层(如softmax)提供分类输出。