卷积常用网络

目录

  • 1.AlexNet
  • 2.VGG
  • 3.GoogleNet
  • 4.ResNet
  • 5.MobileNet

1.AlexNet

AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络。

  • 首次利用 GPU 进行网络加速训练。
  • 使用了 ReLU 激活函数,而不是传统的 Sigmoid 激活函数以及 Tanh 激活函数。
  • 使用了 LRN 局部响应归一化。
  • 在全连接层的前两层中使用了 Dropout 随机失活神经元操作,以减少过拟合

2.VGG

VGG在2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出,斩获该年ImageNet竞 中 Localization Task (定位 任务) 第一名 和 Classification Task (分类任务) 第二名。

  • 通过连续小的卷积核堆叠形成大的卷积核的效果
    通过堆叠两个3x3的卷积核替代5x5的卷积核,堆叠三个3x3的卷积核替代7x7的卷积核。感受野不变,参数减小。

在这里插入图片描述

3.GoogleNet

GoogLeNet在2014年由Google团队提出,斩获当年ImageNet竞 中Classification Task (分类任务) 第一名。

  • 开始使用1X1卷积核:可以升维降维,减小输入图片面积,增加图片深度
  • 使用卷积核可以代替全连接的好处:输入层图片尺寸可变,这样用合适的卷积核就可以替代全连接
  • GoogleNet引入了Inception模块,该模块将不同尺寸的卷积核(1x1、3x3、5x5)和最大池化操作组合在一起,以并行的方式提取不同尺度的特征
  • 辅助分类器:在网络中添加了辅助分类器,这有助于梯度的传播,避免梯度消失问题,并提供额外的训练信号以增强模型的稳定性和性能

4.ResNet

ResNet在2015年由微软实验室提出,斩获当年ImageNet竞 中 分类任务第一名,目标检测第一名。获得COCO数据集中目标 检测第一名,图像分割第一名。

  • 超深的网络结构(突破1000层)
  • 提出residual模块
  • 使用Batch Normalization加速训练(丢弃dropout)

残差网络(ResNet)之所以不会对信息造成损失,主要是因为它引入了残差学习的概念和残差连接(Shortcut Connection)的设计。以下是几个关键点,解释了为什么ResNet不会对信息造成损失:

残差连接:ResNet中的残差连接允许网络中的信息直接从较早的层传递到后面的层。这种设计确保了即使在深层网络中,信息也能有效地流动,不会在传播过程中丢失。
恒等映射:在残差模块中,如果增加的层仅仅是恒等映射(即输入直接传递到输出),那么网络的性能至少和浅层网络一样好。这意味着即使增加额外的层,也不会损害网络的性能。
梯度流动:残差连接使得梯度可以直接从输出层流向输入层,避免了深层网络中常见的梯度消失问题。这有助于网络在训练过程中有效地学习,并保持信息的完整性。
特征重用:通过残差连接,前面的层可以重用已经学习到的特征,而不需要重新学习。这有助于网络在深层结构中保持特征的丰富性和多样性。
网络退化问题解决:在传统的深度网络中,随着网络深度的增加,性能往往会饱和甚至下降,这被称为网络退化问题。ResNet通过残差学习解决了这个问题,使得网络可以有效地增加深度而不损失性能。
信息融合:ResNet允许不同层的特征图在残差连接处进行融合,这有助于整合不同层次的信息,提高网络的表示能力。
灵活性:ResNet的设计允许网络根据需要学习残差函数,这意味着网络可以灵活地调整其行为,以适应不同的数据和任务。
实验验证:ResNet在多个数据集和任务上的表现证明了其有效性。实验结果表明,ResNet可以训练更深的网络,同时保持或提高性能,这表明信息在网络中的传递是有效的。
总之,ResNet的设计哲学和残差连接机制确保了信息可以在深层网络中有效地流动和利用,从而避免了信息损失,使得网络能够从增加的深度中受益。

ResNeXt:在ResNet基础上对通道分组训练,既可以减少参数量,又可以提高准确率。
注意:分组训练仅对residual结构深度大于等于3有优化效果。

5.MobileNet

MobileNet网络是由google团队在2017年提出的,专注于移动端或者嵌入 式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降 低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%, 但模型参数只有VGG的1/32)

  • Depthwise Convolution(大大减少运算量和参数数量)
  • 增加超参数α、β控制通道数和图片尺寸
    在这里插入图片描述

MobileNet v2网络是由google团队在2018年提出的,相比MobileNet V1网 络,准确率更高,模型更小。特点如下:

  • mobileNetV2: Inverted Residual(倒残差结构)
  • Liner Bottlenecks (部分网络去掉了激活函数)

在 MobileNetV2 架构中,“Linear bottlenecks” 是指网络中的一系列层,它们由深度可分离卷积(depthwise separable convolution)组成,用于在特征提取的同时减少计算量。这种结构通常包括以下几个步骤:
深度卷积(Depthwise Convolution):对输入通道进行卷积,每个输入通道通过各自独立的滤波器进行卷积运算。
逐点卷积(Pointwise Convolution):在深度卷积的输出上应用1x1的卷积,以组合通道并减少通道数量,达到降维的目的。

在 MobileNetV2 中,“Linear bottlenecks” 结构通常不使用激活函数,特别是在逐点卷积之后。这是因为:

降维目的:逐点卷积的主要目的是减少通道数,而不是引入非线性,因此在降维步骤之后通常不使用激活函数。
计算效率:避免在每个卷积层之后都使用激活函数可以减少计算量,这对于移动和嵌入式设备上的设计尤为重要。

MobileNetV2 在网络的某些部分使用了 ReLU6 激活函数,原因包括:

输出限制:ReLU6 激活函数将输出限制在 0 到 6 之间,这有助于防止梯度消失问题,并为后续层提供更稳定的输入。
网络设计:MobileNetV2 的设计者可能发现在特定位置使用 ReLU6 激活函数能够提高模型性能或稳定性。
特定层的需求:在网络的某些层,如特征混合层(feature mixing layers)或最终的分类层,使用激活函数可能有助于改善模型的表示能力。
实验结果:ReLU6 激活函数的选择可能是基于实验结果,设计者可能发现它在 MobileNetV2 的特定架构中能够提供更好的性能。ReLU激活函数对低位特征信息造成大量丢失。

MobileNetV2的网络结构:
MobileNet结构

MobileNetV2在分类和图像识别领域的效果:

在这里插入图片描述
(Top-1表示模型预测的前1个最高概率的准确率,Params表示参数,MAdds表示运算量,CPU表示一张图片的训练时间,P-1表示在Google手机设别Phone-1上的运行时间)

MobileNetV3比V2更准确高效,特点如下:

  • 优化了bottleneck
  • 使用NAS搜索参数
  • 重新设计耗时层结构

V3效果如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

音视频开发—FFmpeg 音频重采样详解

音频重采样(audio resampling)是指改变音频信号的采样率的过程。采样率(sample rate)是指每秒钟采集的音频样本数,通常以赫兹(Hz)或每秒样本数(samples per second)表示。…

如何理解和使用 this 关键字

this 关键字是许多编程语言中的一个核心概念,在面向对象编程(OOP)中尤为重要。在JavaScript、Java、C、C#等语言中,this 扮演着至关重要的角色。理解 this 的意义和用法,对于编写清晰、有效的代码至关重要。 什么是th…

OrangePi Kunpeng Pro体验——安装Hass与驱动SPI小屏幕

OrangePi Kunpeng Pro 是一款面向开发者和爱好者的高性能开发板。在本次测评中,主要将以前的一些代码在该开发板上实现,包括docker部署hass,引脚驱动SPI小屏幕。中间遇到了一些小小问题,但都成功了,一起来试试吧~ 一、…

wifi贴码推广哪家靠谱?

如今越来越多的人想轻资产创业,WIFI贴码是共享行业最无成本的创业项目了,而在选择厂商的时候,大家就想要知道哪家公司靠谱,更好、更便宜、可靠。那么wifi贴码推广哪家靠谱?别急,下面小编将带你一起了解。 目…

LLM - 模型下载与 git-lfs 安装

目录 一.引言 二.安装 git lfs 1.使用 apt-get 安装 2.使用 Brew 安装 3.LFS 验证 三.总结 一.引言 在 HuggingFace 上下载模型时提供一个 git clone 的指令,执行后可以下载对应模型的模型文件: 但是本机还没有 git lfs 命令: git: lfs is not a git comman…

CPU对代码执行效率的优化,CPU的缓存、指令重排序

目录 一、CPU对代码执行效率的优化 1. 指令流水线(Instruction Pipelining) 2. 超标量架构(Superscalar Architecture) 3. 动态指令重排序(Dynamic Instruction Reordering) 4. 分支预测(…

文献解读-群体基因组第二期|《中国人群中PAX2新生突变的检测及表型分析:一项单中心研究》

关键词:应用遗传流行病学;群体测序;群体基因组;基因组变异检测; 文献简介 标题(英文):Detection of De Novo PAX2 Variants and Phenotypes in Chinese Population: A Single-Cente…

下一代 CI/CD:利用 Tekton 和 ArgoCD 实现云原生自动化

一、回顾目标 背景: ​ 部门业务上云,之前服务采用传统的部署方式,这种方式简单,但是不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响。随着互联网时代的到来&#xff…

【Chrono Engine学习总结】6-创建自定义场景-6.1-3D场景获取

由于Chrono的官方教程在一些细节方面解释的并不清楚,自己做了一些尝试,做学习总结。 Chrono可以导入自定义的三维模型,所以想自己搭建一个3D仿真环境。过程中遇到了一些问题,记录与整理。 1、3D环境的创建方法 Chrono的Irrlich…

2024年6月1日(星期六)骑行禹都甸

2024年6月1日 (星期六)骑行禹都甸(韭葱花),早8:30到9:00,昆明氧气厂门口集合,9:30准时出发【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点:昆明氧气厂门口集合 ,…

视频监控业务平台LntonCVS运用国标协议对接视频汇聚管理综合平台应用方案

为了实现“以信息化推动应急管理能力现代化”的目标,应急管理部提出了加速现代信息技术与应急管理业务深度融合的计划。这一计划是国家加强和改进应急管理工作的关键举措,也是满足日益严峻的应急管理形势和人民群众不断增长的公共安全需求的紧迫需求。 为…

12个好用的视频自动加字幕工具

多个提供视频字幕生成及翻译服务的工具和平台,涵盖了从自动识别到翻译、配音等多种功能,适合不同需求的用户选择使用。 网易见外: 支持视频智能字幕功能,转换正确率高,转换后的字幕可以直接导入Pr和会声会影等主流剪辑工具&#…

【Axure教程】拖动换位选择器

拖动换位选择器通常用于从一个列表中选择项目并将其移动到另一个列表中。用户可以通过拖动选项来实现选择和移动。这种交互方式在许多Web应用程序中很常见,特别是在需要对项目分组的情况下。 所以今天作者就教大家怎么在Axure用中继器制作一个拖动换位选择器的原型…

【Linux】初识Linux和Linux环境配置

1.什么是Linux操作系统 说到电脑系统 我想有大多数人会脱口而出:windows、mac 是的,这也是如今市场上主流的两种操作系统。 但是对于IT相关的人士来说,还有一种系统也是必须有姓名 那就是Linux Linux,Linux Is Not UniX 的…

Java_认识String类

在 C 语言中已经涉及到字符串了,但是在 C 语言中要表示字符串只能使用字符数组或者字符指针, 可以使用标准库提 供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开 的方式不符合面相对象的思想,而字符串应用又…

VI 使用替换命令快速注释多行

使用替换命令快速注释多行: 按下 Esc 键确保你在普通模式下。输入 :起始行号,结束行号s/^/#/ 并按 Enter 键。 :起始行号 和 结束行号 分别是你要注释的起始行和结束行的行号。 关于正则 s/^/#/各个部分解释: s/: 这是vi编辑器中的替换命令的开头。s 表…

【Linux】centos7编写C语言程序,补充:使用yum安装软件包组

确保已安装gcc编译器 C语言程序,一般使用gcc进行编译,需确保已安装gcc。 若没有,可以使用yum安装gcc(版本4.8.5),也可以使用SCL源安装gcc(例如:版本9.3)。 安装gcc&am…

htb_BoardLight

信息收集 nmap -sSVC 10.10.11.11开放80端口,将boardlight.htb写入/etc/hosts 同步进行子域名和目录扫描 子域名扫不到 这个目录扫描很奇怪哈,明明访问80端口有页面,就是扫不出来 直接浏览器访问80端口,四处看看,发…

Blazor入门-连接MySQL的简单例子:列出数据+简单查询

参考: ASP.NET Core 6.0 Blazor Server APP并使用MySQL数据库_blazor mysql-CSDN博客 https://blog.csdn.net/mzl87/article/details/129199352 本地环境:win10, visual studio 2022 community, mysql 8.0.33 (MySQL Community Server), net core 6.0 目…