最强总结,必会的六大卷积神经网络架构

人工智能
LeNet 是由 Yann LeCun 等人在 1990 年提出的,是最早的卷积神经网络之一,主要用于手写数字识别。LeNet 的架构简单,但为现代 CNN 的发展奠定了基础。

1.LeNet

LeNet 是由 Yann LeCun 等人在 1990 年提出的,是最早的卷积神经网络之一,主要用于手写数字识别。

LeNet 的架构简单,但为现代 CNN 的发展奠定了基础。

架构

  • 输入:32×32 像素的灰度图像
  • 第1层:卷积层,使用 6 个 5×5 的卷积核,输出尺寸为 28×28。
  • 第2层:池化层,采用平均池化,步幅为 2,输出尺寸为 14×14。
  • 第3层:卷积层,使用 16 个 5×5 的卷积核,输出尺寸为 10×10。
  • 第4层:池化层,再次使用平均池化,输出尺寸为 5×5。
  • 第5层:全连接层,将 5×5 的特征图拉直,输入到全连接层,输出 120 个神经元。
  • 第6层:全连接层,输出 84 个神经元。
  • 输出层:10 个神经元,用于分类 10 种手写数字。

图片图片

特点:

  • 引入了卷积和池化的概念。
  • 使用了 Sigmoid 或 Tanh 作为激活函数。

2.AlexNet

AlexNet 是 2012 年 ILSVRC 竞赛中的冠军,由 Alex Krizhevsky 等人提出,标志着深度学习在计算机视觉领域的巨大突破。

它在 ImageNet 数据集上表现优异,成功应用了 ReLU 激活函数和 Dropout。

架构

  • 输入:224×224×3 的 RGB 图像
  • 第1层:卷积层,96 个 11×11 的卷积核,步幅为 4,输出尺寸为 55×55×96,接 ReLU 激活。
  • 第2层:池化层,最大池化,步幅为 2,输出尺寸为 27×27×96。
  • 第3层:卷积层,256 个 5×5 的卷积核,步幅为 1,输出尺寸为 27×27×256,接 ReLU 激活。
  • 第4层:池化层,最大池化,步幅为 2,输出尺寸为 13×13×256。
  • 第5层:卷积层,384 个 3×3 的卷积核,步幅为 1,输出尺寸为 13×13×384,接 ReLU 激活。
  • 第6层:卷积层,384 个 3×3 的卷积核,输出尺寸为 13×13×384。
  • 第7层:卷积层,256 个 3×3 的卷积核,输出尺寸为 13×13×256。
  • 第8层:池化层,最大池化,输出尺寸为 6×6×256。
  • 第9层:全连接层,4096 个神经元,接 Dropout。
  • 第10层:全连接层,4096 个神经元,接 Dropout。
  • 输出层:1000 类的 Softmax 分类。

图片图片

特点

  • 使用了 ReLU 代替 Sigmoid,解决了梯度消失问题。
  • Dropout 防止过拟合。
  • 使用了多个 GPU 进行并行训练。

3.ZFNet

ZFNet 是 AlexNet 的改进版本,由 Matthew Zeiler 和 Rob Fergus 提出,旨在通过更好的超参数调整(如卷积核大小和步幅)来改进 AlexNet 的性能。

架构

  • 输入:224×224×3 的 RGB 图像
  • 第1层:卷积层,96 个 7×7 的卷积核,步幅为 2,输出尺寸为 55×55×96,接 ReLU 激活。
  • 第2层:最大池化层,步幅为 2,输出尺寸为 27×27×96。
  • 第3层:卷积层,256 个 5×5 的卷积核,步幅为 2,输出尺寸为 27×27×256。
  • 第4层:最大池化层,步幅为 2,输出尺寸为 13×13×256。
  • 第5层:卷积层,384 个 3×3 的卷积核,输出尺寸为 13×13×384。
  • 第6层:卷积层,384 个 3×3 的卷积核,输出尺寸为 13×13×384。
  • 第7层:卷积层,256 个 3×3 的卷积核,输出尺寸为 13×13×256。
  • 第8层:最大池化层,输出尺寸为 6×6×256。
  • 后续结构与 AlexNet 类似,经过全连接层和 Softmax 分类。

图片图片

特点

  • 改进了卷积核大小,提升了感受野。

4.VGGNet

VGGNet 是 2014 年由 Oxford University's Visual Geometry Group 提出的,它因其结构简单、深度较深而闻名。

VGGNet 使用了较小的卷积核(3×3),并通过堆叠多个卷积层来增加模型深度,而不是使用大的卷积核。

VGGNet 提供了 VGG-16 和 VGG-19 两个变体,分别包含 16 和 19 个卷积层。

架构

  • 输入:224×224×3 的 RGB 图像。
  • 使用固定的 3×3 卷积核,步幅为 1,padding 为 1,以保持输入输出大小相同。
  • 每经过几个卷积层之后,应用 2×2 的最大池化层,步幅为 2,减半图像尺寸。
  • 有两种主要变体:
  • VGG-16:13 个卷积层,3 个全连接层,共 16 层。
  • VGG-19:16 个卷积层,3 个全连接层,共 19 层。
  • 最终的全连接层为 4096 个神经元,之后是一个 1000 类分类器(用于 ImageNet 数据集)。

图片图片

特点

  • 全部使用 3×3 的卷积核,堆叠较多层数。
  • 参数量较大,计算代价较高。

5.GoogLeNet

GoogLeNet,或称为 Inception v1,是 Google 在 2014 年提出的网络结构,它的主要贡献是引入了 Inception 模块,它通过结合不同尺度的卷积操作来提高特征提取的多样性,从而更好地捕捉不同层次的特征。

Inception 模块

Inception 模块的核心在于捕捉不同尺度的特征。

通过引入多个并行的卷积操作(1x1、3x3、5x5),以及一个池化操作,网络可以从不同的卷积层中提取多尺度信息。

这种结构减少了对特定卷积核大小的依赖,增强了网络的鲁棒性。

  • 1x1卷积,主要用于减少通道维度,降低计算复杂度。
  • 3x3卷积和5x5卷积,用于提取局部特征。
  • 最大池化,增加网络的平移不变性,减少过拟合。

每个Inception模块会将这些操作的输出进行拼接,合成为一个新的特征图,再传递给下一层。

图片图片

架构细节

  • 输入层,输入图像大小为224x224x3。
  • 卷积层和池化层,最初的几层是常规的卷积和池化层。
  • Inception模块,从网络的中间部分开始,重复使用Inception模块。
  • 全局平均池化,在最后的卷积层后,GoogLeNet 使用全局平均池化替代全连接层,减少了参数数量。
  • 辅助分类器,为了应对梯度消失问题,GoogLeNet在中间层引入了两个辅助分类器(Auxiliary Classifier)。这些分类器在训练过程中提供额外的监督,保证梯度能够有效传播。

图片图片

6.ResNet

ResNet 是一种深度卷积神经网络,它通过引入残差连接(Residual Connection)解决了随着网络深度增加而产生的梯度消失或梯度爆炸问题,从而使网络能够更有效地训练更深层次的网络。

图片图片

原理

ResNet 的核心思想是残差学习,它的创新点在于引入了“跳跃连接”,即残差块(Residual Block)。

传统的神经网络中,每一层直接学习一个新的变换 H(x),而 ResNet 提出的思想是让每一层学习一个“残差”函数,即 ,因此实际的输出是 。

图片图片

残差块

针对不同深度的 ResNet,作者提出了两种残差块。

图片图片


  1. 基本残差块
    基本残差块是最基础的残差单元,适用于较浅的网络结构,如 ResNet-18 和 ResNet-34。
    这种残差块包含两个连续的 3x3 卷积层,每一层后面都紧跟着批归一化和 ReLU 激活函数。
  2. 瓶颈残差块
    瓶颈残差块是为深层网络设计的,如 ResNet-50、ResNet-101 和 ResNet-152。
    它的目的是在减少计算复杂度的同时,仍保持足够的表征能力。
    瓶颈残差块通过先压缩通道数,然后进行卷积操作,再扩展回原通道数的策略,减少了计算开销。

第一层,使用 1×1 卷积核,主要目的是减少输入的维度,这有助于减少后续层的计算负担。

第二层,标准的 3×3 卷积层,在降维后的特征上进行空间特征提取。

第三层,再次使用 1×1 卷积核,目的是恢复通道数,为将输出与跳跃连接相加做准备。

跳跃连接,如果输入与输出的维度不匹配(通常在跨越残差块时会改变维度),快捷连接上也会应用 1×1 卷积来调整维度,确保能够与主路径上的输出相加。


责任编辑:武晓燕 来源: 程序员学长
相关推荐

2024-07-04 08:23:55

2017-05-04 18:30:34

大数据卷积神经网络

2020-09-18 11:40:44

神经网络人工智能PyTorch

2019-10-23 19:27:38

数据分析模型分析

2024-09-11 08:32:07

2022-04-07 09:01:52

神经网络人工智能

2022-10-11 23:35:28

神经网络VGGNetAlexNet

2018-04-08 11:20:43

深度学习

2019-01-05 08:40:17

VGG神经网络

2022-06-16 10:29:33

神经网络图像分类算法

2024-11-22 14:26:00

2024-09-09 14:42:09

2020-03-25 09:48:10

AI芯片神经网络

2010-03-30 11:29:08

BMCCMDBIT运维

2018-11-04 11:59:03

神经网络机器学习深度学习

2024-10-05 23:00:35

2021-06-29 09:53:06

神经网络数据图形

2017-11-24 11:10:39

神经网络卷积神经网络全连接神经网络

2018-07-05 04:42:26

网络管理IT网络连续性

2024-11-15 13:20:02

点赞
收藏

51CTO技术栈公众号