卷积神经网络(Convolutional Neural Networks, CNN)小总结

先列参考资料,这篇文章基本是以下资料相关部分的拼接和概括:

  • 邱锡鹏《神经网络与深度学习》
  • 卷积层 -深度学习入门-卷积神经网络(一)- 知乎
  • 池化层(Pooling layers)吴恩达深度学习笔记(79)
  • 深度卷积神经网络综述 - upstreamL - 博客园
  • KHAN A, SOHAIL A, ZAHOORA U, 等. A Survey of the Recent Architectures of Deep
    Convolutional Neural Networks[J]. Artificial Intelligence Review,
    2020, 53(8): 5455–5516.

以下是全文:

深度卷积神经网络是一个具有局部连接,重量共享等特性的深度前馈神经网络,这是受到生物感应机制的启发而提出的。

卷积神经网络主要用于图像和视频分析的各种任务(例如图像分类,面部识别,对象识别,图像分割等),并且其精度通常远远高于其他神经网络模型。近年来,卷积神经网络已广泛用于自然语言处理和推荐系统。

Why CNN?

全连接神经网络用于处理图像信息时会遇到两个问题:
1、参数过多:对于一个100 * 100大小的RGB图像,在全连接层(FCL)中,每个神经元和输入层之间的连接都有100×100×3 = 3000之多,每个连接都对应于一个权重参数,这意味着整个神经网络的训练效率将非常低;
2、通常,比例缩放,转换和旋转等操作并不会影响自然对象图像中的语义信息。但是,全连接的前馈网络难以提取这些局部不变特征,这通常需要数据增强来提高性能。

然而,在人类的视觉神经系统中,视网膜中的每个感光细胞并不像全连接层那样接受视网膜上的所有信息,而是仅接收视网膜上特定区域的信息,这是CNN的灵感来源。如图1所示,全连接层中的每一个神经元接受所有前一层的所有信息,并且卷积层中的神经元仅接受相应区域的信息,这大大减少了神经网络训练的参数。

卷积神经网络(Convolutional Neural Networks, CNN)小总结_第1张图片
图1 全连接层和卷积层中的神经元连接示意图

Lecun于1989年进行的对栅格状拓扑数据(如图像和时间序列数据)的处理工作第一次将CNN带入了人们的眼中。到目前为止,已经有许多经典的卷积神经网络被提出了,例如Lenet,AlexNet,Googlenet,Reset等。
典型的CNN架构通常包括卷积层和池化层的交叉叠套,之后在末端连接一个或多个全连接层。在某些情况下,用全局平均池层替换完全连接的层。除了不同的编码功能外,还包含各种控制单元,如归一化(batch normalization )和dropout(丢弃),被用于优化CNN的性能。下面将简要讨论这些组件在CNN架构中的作用。

卷积层

如图1所示,卷积层中的每个神经元处理特定区域中的信息。通常,卷积操作是指卷积核以特定间隔在原始图像上滑动并计算得到特征图的过程(图2)。

卷积神经网络(Convolutional Neural Networks, CNN)小总结_第2张图片
图2 卷积操作的示意图

池化层

神经网络中,池化通常用于降低模型大小,提高计算速度和提取得到的特征的鲁棒性。池化层是网络的静态属性,不需要学习任何参数,因此它是神经网络中的相对简单的层。最大池化和平均池化是常见的池化操作,其分别计算每个小区域的最大值或平均值。最大池化使用的最多,因为最大值被认为包含一些特征。

卷积神经网络(Convolutional Neural Networks, CNN)小总结_第3张图片
图3 CNN中的池化

激活函数

激活函数用作决策功能,并有助于学习非线性模式。如图4所示,在每个神经元之后面添加非线性函数(激活函数)之后,输出就是非线性函数。激活函数也被认为是区分深度学习和其他机器学习方法的关键。图5显示了当今常用的一些激活功能。

卷积神经网络(Convolutional Neural Networks, CNN)小总结_第4张图片
图4 激活函数在CNN中的位置
卷积神经网络(Convolutional Neural Networks, CNN)小总结_第5张图片
图5 ReLU、Leaky ReLU、ELU 和 Softplus 函数
20世纪90年代至今,CNN学习方法和架构已经经历了各种改进,以使CNN可以扩展应用到大型,异构,复杂和多类型的问题当中,并且进一步研究仍在进行中。



你可能感兴趣的:(cnn,神经网络,深度学习,卷积神经网络,人工智能)