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

news2024/11/17 11:24:03

文章目录

  • 前言
  • 一、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.coloradmin.cn/o/2170632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

矿山、石场重型机械设备数据集-挖掘机-自卸卡车-轮式装载机

描述 本项目旨在创建一个高效的计算机或机器视觉模型,用于在建筑工地检测不同种类的施工设备,我们从三个类别开始:挖掘机、卡车和轮式装载机。 数据集的理学硕士提供。 原始图像(v1)包含: 1,532个标注…

Git的安装 + 基本操作

一、Git初识 1. 提出问题 ​ 不知道你在工作或学习中,有没有遇到这样的情况:我们在创建并编写各种文档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出一个一个的副本,保…

中东电商:下一个蓝海,Google Cloud和Google Maps助力企业乘风破浪

随着“一带一路”倡议的深入推进,中东地区已成为全球瞩目的新兴市场。庞大的年轻消费群体、丰富的石油资源以及不断完善的数字基础设施,为中国企业提供了前所未有的发展机遇。中东电商市场,无疑是下一个蓝海! 中东电商市场&#x…

学日语必备神器!这4款翻译APP你用过吗?

小伙伴们,你们有没有在日常生活或工作中遇到过需要翻译日语的场景呢?无论是阅读日本原著、工作文档还是和日本小伙伴交流,一个好的翻译工具绝对能成为你的贴心小助手;今天,我就来跟大家分享几款我个人非常喜欢的日语翻…

开放原子超级链内核XuperCore可搭建区块链

区块链是一种分布式数据库技术,它以块的形式存储数据,并使用密码学方法保证数据的安全性和完整性。 每个块包含一定数量的交易信息,并通过加密链接到前一个块,形成一个不断增长的链条。 这种设计使得数据在网络中无法被篡改,因为任何尝试修改一个块的数据都会破坏整个链的…

鼎阳加油-IOC关键技术问题的解决记

鼎阳SDS6204示波器EPICS IOC的搭建-CSDN博客 这款示波器在labview下工作的很好,以前搭建逐束团3D系统时连续几个月不间断的工作连接从没断过线,并做过速率测试,单通道时10Hz的波形更新速率都可以达到: 鼎阳SDS6204示波器波形读取…

hive分区详细教程

为什么要分区? 为了提高sql的查询效率 比如: select * from orders where create_date20230826; 假如数据量比较大,这个sql就是全表扫描,速度肯定慢。 可以将数据按照天进行分区,一个分区就是一个文件夹,当…

C++之STL—常用算术生成算法

#include <numeric> accumulate(iterator beg, iterator end, value); // 计算容器元素累计总和 // beg 开始迭代器 // end 结束迭代器 // value 起始值 fill (iterator beg, iterator end, value); // 向容器中填充元素 // beg 开始迭代器 // end 结束迭代器 // val…

AI驱动的Java开发框架:Spring AI Alibaba实战部署教程

前言 随着生成式 AI 的快速发展&#xff0c;基于 AI 开发框架构建 AI 应用的诉求迅速增长&#xff0c;涌现出了包括 LangChain、LlamaIndex 等开发框架&#xff0c;但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言&a…

32. Java栈和队列

1. 前言 栈和队列相关的题目是校招中出现频率一般,但是是属于相对基础的题型。我们要关注两类问题,栈和队列的添加和删除操作,以及栈和队列之间的区别和联系。 2. 栈和队列 2.1 数据结构 首先我们给出栈和队列的数据结构定义: (1)栈(Stack):允许在某一端插入元素(…

【PyTorch入门】编程杂谈·1(文件、字典结构、字符串统计、结果保存)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;PyTorch入门宝典_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

搭建基于H.265编码的RTSP推流云服务器

一、前言 网上能够找到的RTSP流地址&#xff0c;均是基于H.264编码的RTSP流地址&#xff0c;无法测试应用是否可以播放H265实时流为此&#xff0c;搭建本地的把H.264转码成H.265的RTSP服务器&#xff0c;不管是通过VLC搭建本地RTSP服务器&#xff0c;还是通过FFmpeg搭建本地RT…

创作一个JavaScript案例,提示工程师请了解一下。

预期 提问1&#xff1a; web开发im的聊天记录展示的实现思路和代码实战。用户数据结构{nickName&#xff0c;uerID&#xff0c;msg,picture}。当nickName"主人"的时候聊天内容底色绿色&#xff0c;主人的聊天记录是靠左显示&#xff0c;其他人靠右显示。数据内容有长…

如何在 Three.js 场景中创建可点击展开的标签

在复杂的可视化场景中&#xff0c;经常需要为 3D 对象添加可交互的标签&#xff0c;以便用户点击时可以查看详细信息。这篇文章将通过一个简单的案例展示&#xff0c;如何在 Three.js 中为对象创建可点击的标签&#xff0c;点击标签可以展开详细信息&#xff0c;再次点击可以关…

JAVA集成工作流实际项目操作参考,springboot,vue,activiti,在线流程绘制,会签,退回,网关,低代码,

前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;一套完整并且实际运用在多套项目中的案例&#xff0c;满足日常业务流程审批需求。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器&#xff0c;流行的前后端…

THREE.JS法线Shader

以普通情况而论 vNormal normal;//...gl_FragColor vec4( vNormal, 1. );vNormal normal;//...gl_FragColor vec4( normalize( vNormal ) * 0.5 0.5, 1. );vNormal normalMatrix * normal;//...gl_FragColor vec4( normalize( vNormal ) * 0.5 0.5, 1. );normalMa…

C语言进阶【6】---结构体【1】(结构体的本质你不想了解吗?)

本章概述 结构体类型的声明结构体变量的创建和初始化结构体成员访问操作符彩蛋时刻&#xff01;&#xff01;&#xff01; 结构体类型的声明 咱们在讲操作符那个章节中&#xff0c;对于结构体类型的声明进行了讲解&#xff0c;咱们先来回忆一下&#xff0c;为后面的讲解作准备…

堆排序,TopK问题|向上调整建堆|向下调整建堆(C)

堆排序 void HeapSort(int* a, int n) {HP hp;HeapInit(&hp);for (int i 0; i < n; i){HeapPush(&hp, a[i]);}int i 0;while (!HeapEmpty(&hp)){a[i] HeapTop(&hp);HeapPop(&hp);}HeapDestroy(&hp); }先初始化一个堆将数组中的数据一个一个顺序…

【Python大语言模型系列】在阿里云ECS服务器上部署dify大模型应用开发平台(完整教程)

这是我的第360篇原创文章。 一、阿里云ECS简介 云服务器( Elastic Compute Service ,简称ECS )是一-种简单高效、处理能力可弹性伸缩的计算服务&#xff0c;帮助您快速构建更稳定、安全的应用,提升运维效率,降低IT成本&#xff0c;使您更专注于核心业务创新。 这个活动需要满…

Vatee万腾平台:企业智能化生态的领航者

在科技日新月异的今天&#xff0c;企业的智能化转型已成为不可逆转的趋势。Vatee万腾平台&#xff0c;凭借其前瞻性的技术视野和不懈的创新精神&#xff0c;正逐步构建起一个以智能化为核心的新型商业生态&#xff0c;成为推动企业智能化升级的核心力量。 Vatee万腾平台深谙技…