当前位置: 首页 > article >正文

【DAY20240927】经典深度学习模型对比:LeNet5、CNN、ResNet20、AlexNet、TextCNN 与 VGG-11

文章目录

  • 前言
  • 一、LeNet5
  • 二、CNN
  • 三、AlexNet
  • 四、ResNet20
  • 五、TextCNN
  • 六、VGG-11


前言

We leverage 6 models to deal with the data, i.e., LeNet5 (LeNet) (LeCun et al. 1989), a synthetic CNN network (CNN), ResNet20 (ResNet) (He et al.2016), AlexNet (Krizhevsky, Sutskever, and Hinton 2012),TextCNN (Zhou et al. 2021b), and VGG-11 (VGG) (Simonyan and Zisserman 2015).

一、LeNet5

LeNet-5 是一种经典的卷积神经网络架构,主要用于手写数字识别。它由 Yann LeCun 等人在 1998 年提出,包含多个卷积层、池化层和全连接层。其主要特点是使用卷积层提取特征,通过池化层减少特征维度,并最终通过全连接层进行分类。LeNet-5 为后来的深度学习模型奠定了基础。普遍认为,卷积神经网络的出现开始于LeCun 等提出的LeNet 网络(LeCun et al., 1998,可以说LeCun 等是CNN 的缔造者,而LeNet-5 则是LeCun 等创造的CNN 经典之作 。

二、CNN

CNN 的基本结构

1、输入层:接收原始图像数据,通常是多通道(如 RGB 图像)。
2、卷积层(Convolutional Layer):使用卷积核对输入数据进行卷积操作,从而提取局部特征。每个卷积核学习到特定的特征(如边缘、纹理等)。
输出特征图(Feature Map)。
3、激活层常用的激活函数包括 ReLU(修正线性单元),引入非线性,使网络能够学习复杂的特征。
4、池化层:通过下采样减少特征图的尺寸,降低计算量,同时保留重要特征。常用的池化方式有最大池化(Max Pooling)和平均池化(Average Pooling)。
5、全连接层:将提取的特征映射到输出类。最后一层通常使用 softmax 激活函数来进行多分类。

三、AlexNet

AlexNet 是由 Alex Krizhevsky 等人在 2012 年提出的深度卷积神经网络(CNN)模型,它在 ImageNet 大规模视觉识别挑战赛(ILSVRC 2012)中取得了显著成绩,大大推动了深度学习在计算机视觉领域的应用和发展。AlexNet 的成功主要归功于其深度和结构上的创新以及利用 GPU 来加速训练。

AlexNet 的结构
在这里插入图片描述

AlexNet 的网络结构较 LeNet-5 更深、更复杂,由 8 层构成,其中 5 层是卷积层,3 层是全连接层。具体结构如下:

输入层:接收 224x224x3(RGB)的彩色图像。

卷积层 1(Conv1):使用 96 个 11x11 的卷积核,步长为 4,输出 55x55x96 的特征图。后接一个 ReLU 激活函数和最大池化操作。
这一层的卷积核较大,主要用于提取低级别特征如边缘和纹理。

卷积层 2(Conv2):使用 256 个 5x5 的卷积核,输出 27x27x256 的特征图。后接 ReLU 和最大池化操作。增加了卷积核的数量以捕捉更多的图像细节。

卷积层 3(Conv3):使用 384 个 3x3 的卷积核,输出 13x13x384 的特征图。后接 ReLU 激活函数。这一层的卷积核尺寸更小,专注于中级和高级的图像特征提取。
卷积层 4(Conv4):使用 384 个 3x3 的卷积核,输出 13x13x384 的特征图。后接 ReLU 激活函数。

卷积层 5(Conv5):使用 256 个 3x3 的卷积核,输出 13x13x256 的特征图,最后接一个最大池化操作。这一层的池化层进一步缩小特征图的尺寸,为后续的全连接层做好准备。

全连接层 1(FC1):将卷积层的输出展平,连接到 4096 个神经元,后接 ReLU 激活函数和 dropout 操作(防止过拟合)。

全连接层 2(FC2):同样是 4096 个神经元,后接 ReLU 和 dropout 操作。
在这里插入图片描述

输出层(FC3):最后一层是 softmax 分类器,用于输出 1000 个类别的概率分布。

AlexNet 的创新点

ReLU 激活函数:

与传统的 sigmoid 或 tanh 激活函数相比,ReLU 激活函数能够更快地收敛,避免梯度消失问题。

Dropout 正则化:引入了 dropout 层,在训练过程中随机忽略一部分神经元,防止过拟合。这在当时是一个新的正则化方法。

四、ResNet20

ResNet20 是 ResNet(残差网络)家族中的一个较小变体,专为图像分类任务设计,特别适用于像 CIFAR-10 这样的数据集。ResNet20 有 20 层,并使用残差学习,这是一种通过允许梯度更容易地通过层传播来缓解梯度消失问题的技术。

  • 残差块:它引入了层之间的快捷连接,跳过中间层,允许梯度直接传播,从而改善了深度网络的学习能力。
  • 架构:它由三个阶段组成,每个阶段包含两个残差块,并在其中加入降采样层。每个残差块包含两个卷积层、ReLU 激活和批量归一化,然后输入到输出之间有一个恒等映射。
  • 深度:ResNet20 有 20 层,是 ResNet 系列中较浅的变体之一,适用于较小的数据集和较快的训练。

由于其相对较浅的结构,ResNet20 常用于教育和实验目的,相比于 ResNet50 或 ResNet101 这样的更复杂模型,ResNet20 更适合初学者和较简单的任务。
是的,ResNet20 也是一种卷积神经网络(CNN)。它是基于传统 CNN 的架构,并在此基础上引入了残差学习的概念。像大多数卷积神经网络一样,ResNet20 依赖于卷积层、池化层和全连接层来处理图像数据,但它的核心创新在于残差块。

五、TextCNN

TextCNN 的工作流程

Embedding(词嵌入层):将输入的句子通过词嵌入层转换为词向量表示。可以是随机初始化的嵌入,也可以使用预训练的嵌入。
卷积操作:不同大小的卷积核(比如 2x1、3x1、4x1 等)分别在输入的句子上滑动,每个卷积核提取出局部特征。
最大池化:对卷积后的特征图进行池化,将不同大小卷积核的特征降维为一个固定大小的向量。
特征融合:池化后的特征被拼接在一起,形成一个向量,表示整个句子的语义信息。
分类:最后,将这个特征向量输入全连接层,使用 softmax 函数输出各类的概率。

六、VGG-11

VGG-11 是 VGG(Visual Geometry Group)模型家族中的一个变体,它是一种深度卷积神经网络,用于图像分类和识别。VGG 网络由 Karen Simonyan 和 Andrew Zisserman 在 2014 年提出,最早应用于 ImageNet 大规模图像分类任务。VGG 的最大特点是通过多个 3x3 的卷积核堆叠来加深网络,而不是使用较大尺寸的卷积核。VGG-11 是其中较浅的一个版本,包含 11 层(仅指具有权重的卷积层和全连接层)。

VGG-11 的结构
VGG-11 的网络结构由 8 个卷积层和 3 个全连接层组成。所有的卷积核大小均为 3x3,步长为 1,池化层使用 2x2 的最大池化层,步长为 2。


http://www.kler.cn/news/328547.html

相关文章:

  • list的模拟实现
  • MySQL SQL基础常见面试题整理
  • PHP反序列化3(属性绕过)
  • 《PMI-PBA认证与商业分析实战精析》 第3章 需要评估
  • Typora使用与Markdown语法详细教程
  • 在Windows上安装Git
  • go+redis基于tcp实现聊天室
  • 8--苍穹外卖-SpringBoot项目中套餐管理 详解(二)
  • XR图和XS图中X-bar图的最大不同
  • uniapp 常用高度状态栏,导航栏,tab栏,底部安全高度
  • C++ 游戏开发
  • Docker 安装 Citus 单节点集群:全面指南与详细操作
  • Linux 文件目录结构(详细)
  • 【PostgreSQL】入门篇——如何创建、删除和管理数据库及其用户,包括权限设置和角色管理
  • OSPF路由计算
  • 滑动窗口->dd爱框框
  • Elasticsearch学习笔记(3)
  • Service Mesh
  • Java | Leetcode Java题解之第450题删除二叉搜索树中的节点
  • Arduino UNO R3自学笔记7 之 Arduino使用PWM电机调速
  • 服务器数据恢复—存储映射到服务器上的卷无法挂载的数据恢复案例
  • DC00025【含论文】基于协同过滤推荐算法springboot视频推荐管理系统
  • 使用Yasboot安装YashanDB的疑惑和建议
  • 进阶数据库系列(十三):PostgreSQL 分区分表
  • SolidWorks机器转ROS2 URDF
  • Linux下send函数和recv函数
  • AWS Redshift把老用户权限赋予新用户
  • 201 Created
  • 如何在Windows、Mac和Linux系统上安装和更新Stable Diffusion WebUI
  • Spark SQL分析层优化