卷积神经网络(CNN)的主要架构

卷积神经网络(CNN, Convolutional Neural Networks)是深度学习中最重要的模型之一,广泛应用于计算机视觉目标检测语义分割等任务。自 LeNet 诞生以来,CNN 结构经历了多个重要发展阶段,出现了许多经典架构,包括 AlexNet、VGG、GoogLeNet(Inception)、ResNet、DenseNet、MobileNet 等。

本文将详细介绍 CNN 的主要架构及其核心思想,帮助大家深入理解 CNN 发展历程及各架构的特点。


1. LeNet-5(1998)—— 卷积神经网络的奠基者

提出者:Yann LeCun
贡献

  • 提出了 CNN 的基本框架(卷积层 + 池化层 + 全连接层)。
  • 率先应用 CNN 处理手写数字识别(MNIST 数据集)。
  • 采用Sigmoid/Tanh 作为激活函数。

结构:

  • 输入: 32 × 32 32 \times 32 32×32灰度图像(MNIST 手写数字)。
  • C1:卷积层(6 个 5 × 5 5 \times 5 5×5过滤器)
  • S2:池化层(平均池化)
  • C3:卷积层(16 个 5 × 5 5 \times 5 5×5过滤器)
  • S4:池化层(平均池化)
  • C5:全连接层
  • F6:全连接层(输出 10 类)

特点:

  • 第一个真正意义上的 CNN
  • 采用权重共享,大幅减少参数量。
  • 由于计算机硬件限制,仅适用于简单任务(MNIST)。

2. AlexNet(2012)—— 深度学习的复兴

提出者:Alex Krizhevsky, Geoffrey Hinton
贡献

  • 在 ImageNet 竞赛中首次击败传统方法(SIFT + SVM),引发深度学习热潮
  • 采用 ReLU 激活函数,解决梯度消失问题。
  • 通过Dropout 进行正则化,减少过拟合。
  • 使用 GPU 计算,显著提高训练速度。

结构:

  • 输入 224 × 224 224 \times 224 224×224 RGB 图像
  • C1:卷积层(96 个 11 × 11 11 \times 11 11×11过滤器,步长 4)
  • P2:最大池化( 3 × 3 3 \times 3 3×3,步长 2)
  • C3:卷积层(256 个 5 × 5 5 \times 5 5×5 过滤器)
  • P4:最大池化
  • C5, C6, C7:三个卷积层
  • P8:最大池化
  • F9, F10:两个全连接层(4096 维)
  • F11:Softmax 进行分类

特点:

  • 加深网络层数(8 层),但仍然较浅。
  • 引入 ReLU,加速训练并提高收敛速度。
  • 采用 GPU 训练,比 CPU 速度快 10 倍以上。

3. VGG(2014)—— 简单但深度

提出者:Oxford VGG 团队
贡献

  • 采用小卷积核( 3 × 3 3 \times 3 3×3,用多个小卷积堆叠代替大卷积,减少参数量同时保持感受野。
  • 层次更深(VGG-16、VGG-19),最高可达 19 层。

结构(VGG-16):

  • 输入 224 × 224 224 \times 224 224×224 RGB 图像
  • C1-C2 3 × 3 3 \times 3 3×3卷积(64 个通道)
  • P1:最大池化
  • C3-C4 3 × 3 3 \times 3 3×3卷积(128 个通道)
  • P2:最大池化
  • C5-C7 3 × 3 3 \times 3 3×3卷积(256 个通道)
  • P3:最大池化
  • C8-C13 3 × 3 3 \times 3 3×3卷积(512 个通道)
  • P4:最大池化
  • 全连接层:4096 + 4096 + 1000(分类)

特点:

  • 全部使用 3 × 3 3 \times 3 3×3卷积,网络结构更规则。
  • 参数量巨大(VGG-16 有 1.38 亿个参数)。
  • 计算量大,推理速度慢,适合迁移学习(如 ImageNet 预训练)。

4. GoogLeNet(2014)—— Inception 结构

提出者:Google
贡献

  • 提出 Inception 模块,采用不同尺寸的卷积核并行计算,提高特征表达能力。
  • 通过 1×1 卷积进行降维,减少计算量。

结构(Inception v1):

  • 输入 224 × 224 224 \times 224 224×224RGB 图像
  • C1 7 × 7 7 \times 7 7×7卷积
  • P1:池化
  • C2-C3 3 × 3 3 \times 3 3×3卷积
  • 多个 Inception 模块
  • 全连接层(Softmax 分类)

特点:

  • 并行多尺度特征提取,增强模型能力。
  • 参数量减少,比 VGG 更轻量化。
  • 发展出多个版本(Inception v2, v3, v4, Xception)。

5. ResNet(2015)—— 解决深度退化问题

提出者:Kaiming He, Microsoft Research
贡献

  • 提出 残差学习(Residual Learning),通过 跳跃连接(Shortcut Connection) 解决梯度消失问题,使 CNN 深度突破 100 层。
  • ResNet-50, ResNet-101, ResNet-152 等版本成为主流。

残差块(Residual Block):
y = F ( x ) + x y = F(x) + x y=F(x)+x
其中:

  • F ( x ) F(x) F(x)由两层卷积组成。
  • 跳跃连接 让梯度更容易传播,避免梯度消失。

特点:

  • 可训练超深网络(152 层以上),突破 CNN 训练极限。
  • 性能卓越,在 ImageNet 竞赛中夺冠。
  • 后续衍生出 ResNeXt、WideResNet 等变体

6. MobileNet(2017)—— 轻量级 CNN

提出者:Google
贡献

  • 采用 深度可分离卷积(Depthwise Separable Convolution),减少计算量和参数量,使 CNN 可用于移动端。
  • 可用于实时应用,如手机端人脸识别。

结构:

  • 标准卷积 替换为 深度可分离卷积
  • 1×1 卷积降维,减少参数量
  • 提供 MobileNetV1, V2, V3 版本,逐步优化

特点:

  • 计算量减少 90% 以上,适合移动设备。
  • 轻量级,适用于嵌入式 AI 任务(如自动驾驶)。

7. EfficientNet(2019)—— 自动搜索优化 CNN

提出者:Google Brain
贡献

  • 提出了 复合缩放(Compound Scaling) 方法,统一调整 CNN 的深度、宽度和分辨率,提高计算效率。
  • 采用 MobileNetV2 的深度可分离卷积和Swish 激活函数,减少计算量。
  • 在 ImageNet 上比 ResNet、DenseNet 等模型更高效。

结构:

  • 使用 MBConv(MobileNetV2 提出的 Inverted Residual Block)。
  • 通过 神经架构搜索(NAS) 自动优化 CNN 结构。

特点:

  • 参数更少,性能更强(EfficientNet-B7 在 ImageNet 上超越 ResNet152)。
  • 可扩展:EfficientNet-B0 到 B7 提供不同计算复杂度的版本。

8. RegNet(2020)—— 通过规则生成 CNN

提出者:Facebook AI
贡献

  • 通过系统化搜索找到最佳的 CNN 设计规则,而非单独优化某个模型。
  • 提出了 可预测的 CNN 结构,在计算资源受限的情况下仍然保持高性能。

特点:

  • 比 ResNet 更高效,在 ImageNet 上实现更优性能。
  • 提供多个变体(RegNetX, RegNetY),可适应不同计算需求。

9. ConvNeXt(2022)—— CNN 重新对标 Transformer

提出者:Facebook AI
贡献

  • 受 Vision Transformer(ViT) 启发,对 CNN 进行结构优化,使其在 ImageNet 上与 ViT 竞争。
  • 通过简化 ResNet 设计,提升 CNN 在现代硬件上的性能。

特点:

  • 改进的残差结构(ResNet 变体)。
  • 大核卷积(7×7) 提升感受野。
  • 层归一化(LayerNorm) 替代 BatchNorm,提高训练稳定性。

CNN 的未来趋势

虽然近年来 Vision Transformer(ViT)MLP 结构(如 MLP-Mixer)取得了较大突破,但 CNN 仍然是计算机视觉领域的核心方法。未来 CNN 可能会:

  1. 与 Transformer 结合(如 Swin Transformer + CNN)。
  2. 进一步优化轻量级架构(如 MobileNetV3, EfficientNetLite)。
  3. 增强可解释性,提升透明度和泛化能力。

总结

架构主要特点适用场景
LeNet (1998)CNN 基础框架早期图像识别
AlexNet (2012)ReLU + Dropout图像分类
VGG (2014)深层 CNN,3×3 卷积迁移学习
GoogLeNet (2014)Inception 模块多尺度特征提取
ResNet (2015)残差学习,超深网络高精度任务
MobileNet (2017)轻量级 CNN移动端 AI
EfficientNet (2019)复合缩放 + NAS高效图像分类
RegNet (2020)规则生成 CNN灵活架构优化
ConvNeXt (2022)CNN 对标 Transformer现代计算机视觉

虽然 Transformer 逐渐成为主流,但 CNN 仍然有广泛应用,并在不断进化!
如果你对某个架构感兴趣,可以深入研究它的论文或实现!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/72469.shtml

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

相关文章

【开源代码解读】AI检索系统R1-Searcher通过强化学习RL激励大模型LLM的搜索能力

关于R1-Searcher的报告: 第一章:引言 - AI检索系统的技术演进与R1-Searcher的创新定位 1.1 信息检索技术的范式转移 在数字化时代爆发式增长的数据洪流中,信息检索系统正经历从传统关键词匹配到语义理解驱动的根本性变革。根据IDC的统计…

从0到1入门Docker

一、快速入门 Docker run命令中的常见参数 -d:让容器后台运行--name:给容器命名(唯一)-e:环境变量-p:宿主机端口映射到容器内端口镜像名称结构:Repository :TAG(镜像名&…

接口自动化入门 —— Jmeter实现在接口工具中关联接口处理方案

1. JMeter 接口关联处理的核心概念 接口关联是指在多个接口请求之间共享数据,例如将一个接口的返回值作为另一个接口的输入参数。常见的场景包括: 使用登录接口返回的 Token 作为后续接口的认证信息。 将一个接口返回的 ID 作为另一个接口的请求参数。…

Flink-学习路线

最近想学习一下Flink,公司的实时需求还是不少的,因此结合ai整理了一份学习路线,记录一下。 当然,公司也有Scala版本Flink框架,也学习了一下。这里只说Java版本 1. Java基础 目标: 掌握Java编程语言的基础知识。 内容…

ranger集成starrock报错

org.apache.ranger.plugin.client.HadoopException: initConnection: Unable to connect to StarRocks instance, please provide valid value of field : {jdbc.driverClassName}.. com.mysql.cj.jdbc.Driver. 可能的原因 JDBC 驱动缺失:运行环境中没有安装 MySQL …

python Jsonpath表达式语法取值

python Jsonpath 语法规则: 演示数据:{"status":"0","msg":"成功","data": [ {"foo1": "bar1"},{"foo1": "bar2"}]} 根节点:$ $.status $.…

Blender-MCP服务源码2-依赖分析

Blender-MCP服务源码2-依赖分析 有个大佬做了一个Blender-MCP源码,第一次提交代码是【2025年3月7号】今天是【2025年月15日】也就是刚过去一周的时间,所以想从0开始学习这个代码,了解一下大佬们的开发思路 1-核心知识点 from mcp.server.fas…

反射(第三篇)、代理模式、静态代理和动态代理、InvocationHandler实际应用

DAY11.3 Java核心基础 反射(第三篇) 前两篇我们学习了反射的概念和基本操作 实际开发中,反射应用于那里? 动态代理 java中的动态代理就是一个重要的作用 代理模式 代理模式是java中常用的设计模式 指的是在处理一个业务逻辑…

Unity 封装一个依赖于MonoBehaviour的计时器(上) 基本功能

灵感来自下面这本书的协程部分,因此我就自己尝试写了一个 我的新书Unity3D游戏开发(第3版) | 雨松MOMO程序研究院 如果你不知道什么是协程:unity保姆级教程之协同程序_unity协同-CSDN博客 一句话概括:协程就是单线程的异步操作,其作用于Unity的主线程 1…

数学建模 第一节

目录​​​​​​ 前言 一 优化模型的类型 二 线性规划1 线性规划2 三 0-1规划 总结 前言 数学建模主要是将问题转化为模型,然后再以编程的形式输出出来 算法都知道,数学建模也需要用到算法,但是不是主要以编程形式展示,而是…

Vulkan视频解码decode显示display之同步

在ReleaseDisplayedPicture函数中消耗图片资源并且显示display完成,设置两个标志m_hasConsummerSignalFence true 和m_hasConsummerSignalSemaphore true virtual int32_t ReleaseDisplayedPicture(DecodedFrameRelease** pDecodedFramesRelease, uint32_t nu…

网络空间安全(32)Kali MSF基本介绍

前言 Metasploit Framework(简称MSF)是一款功能强大的开源安全漏洞检测工具,被广泛应用于渗透测试中。它内置了数千个已知的软件漏洞,并持续更新以应对新兴的安全威胁。MSF不仅限于漏洞利用,还包括信息收集、漏洞探测和…

设计模式学习记录

设计模式23种 创建型抽象工厂模式工厂模式生成器模式原型模式单例模式 结构型适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式 行为型责任链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模版方法模式访问者模式 创建型 与对…

2.5 python接口编程

在现代软件开发的复杂生态系统中,不同系统、模块之间的交互协作至关重要。接口编程作为一种关键机制,定义了组件之间的通信规范与交互方式。Python 凭借其卓越的灵活性、丰富的库资源以及简洁易读的语法,在接口编程领域占据了重要地位&#x…

mesh开发解析

开源的Mesh网络协议栈及相关项目: 1.B.A.T.M.A.N.(Better Approach to Mobile Ad-hoc Networking)• 简介:B.A.T.M.A.N.是一种用于多跳自组织网络的路由协议,适用于无线Mesh网络。它通过优化数据传输路径,确保网络的高可靠性和动…

PyTorch PINN实战:用深度学习求解微分方程

在人工智能与计算数学的交汇点,物理信息神经网络(Physics-Informed Neural Networks,PINN)正引领着一场求解微分方程的革命。传统上,微分方程是描述自然现象和工程问题中各种关系的重要工具,但其求解往往依…

【WiFi 7核心技术及未来挑战】

作为刚刚开始从事这一领域的人,浅浅学习了一下WiFi 7(IEEE 802.11be)。Wi-Fi 7发展迅速,提供前所未有的速度、更低的延迟和更高的可靠性。但从频谱政策到能效挑战,再到成本,仍有许多问题亟待解决。 Wi-Fi 7…

Oracle Linux Server 7.9安装fail2ban

yum search oracle-epel-release yum install oracle-epel-release-el7 search fail2ban yum install fail2ban nano /etc/fail2ban/jail.d/00-firewalld.conf # defalut这里是设定全局设置,如果下面的监控没有设置就以全局设置的值设置。 [DEFAULT] # 用于指定哪…

目标在哪里?——寻找人生的意义与方向

在职场中,许多人都会经历这样的困惑:工作看似顺利,却逐渐失去了成就感和成长感。一位在500强企业工作的学员就遇到了这样的问题。她曾考虑过转型做培训,但苦于找不到明确的切入点,对未来的目标感到迷茫。她不禁问自己&…

C++类与对象——拷贝构造与运算符重载

拷贝构造函数和赋值运算符重载就是C类默认六个函数之二。 拷贝构造函数: 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数 也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数…