深度学习:ResNet残差神经网络

news2024/11/16 19:23:43

目录

一、什么是ResNet残差神经网络

二、残差结构

三、18层残差网络

1.最初残差网络变体

2.图片示例

3.表格示例

四、批次归一化(Batch Normalization)

1.工作过程

2.主要作用

五、ResNet残差神经网络解决了传统神经网络什么问题

1.梯度消失和梯度爆炸

梯度消失:

梯度爆炸:

2.退化问题


一、什么是ResNet残差神经网络

  • ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。
  • ResNet网络与传统的神经网络的区别在于其独特的残差结构批次归一化处理,而这也是其最大的两个特点

 

二、残差结构

  • 残差结构(Residual Block)是ResNet(残差网络)的核心组成部分,旨在解决深层神经网络训练中的退化问题。
  • 其主要特点是通过引入跳跃连接(Skip Connection)来实现残差学习,允许网络学习输入和输出之间的残差(即差异),而不是直接学习从输入到输出的映射。

 

  • 让特征矩阵隔层相加,注意F(X)和X形状要相同,
  • F(X)是经过两次卷积层得到的结果,X是原始特征矩阵
  • 所谓相加是特征矩阵相同位置上的数字进行相加。
  • 相加之后的矩阵作为输入,可以有效解决深层网络退化问题,提高网络的深度

 

三、18层残差网络

1.最初残差网络变体

  • ResNet-18:包含18层。
  • ResNet-34:包含34层。
  • ResNet-50:包含50层。
  • ResNet-101:包含101层。
  • ResNet-152:包含152层。
  • 这里的层数是指卷积层全连接层的数量

 

2.图片示例

  • 这里拿18层的残差网络进行举例,图片是网络的构造
  • 从上往下第一个红框里就是一个残差结构残差块
    1. 该结构将输入矩阵加上经过两层卷积层之后的特征图(因为该卷积层使用卷积核宽度为3,步长为1,填充为1,所以特征图与输入矩阵大小一致)的结果作为下一个残差块的输入
  • 第二个红框是两组残差块(每两个残差块为一组)之间要对特征图进行降维操作
    1. ·每组的第一个残差块使用步长为2的卷积层对输入特征图进行降维,之后再正常卷积得到特征图;
    2. 同时跳跃连接的部分也对输入特征图进行降维,最后将两个特征图相加之后作为下一组残差块的输入
    3. 后面的残差块内部以及残差块组之间的的操作与上述一致
    4. 最后进行全局平均池化,得到最终特征图,该模型输出分类是1000,我们自己调用时通常要修改该参数

 

3.表格示例

  • 18层,34层,50层,101层,152层,及其结构
  • FLOPs行是每个网络的计算性能和模型复杂度

 

四、批次归一化(Batch Normalization)

  • 批次归一化(Batch Normalization,简称 BN)是一种用于加速深度神经网络训练的方法。它通过标准化每个批次的输入,使模型在训练过程中更加稳定,减少了梯度消失和过拟合的风险

1.工作过程

  • 对输入图像进行预处理
  • 对每一个特征图进行归一化处理之后再输入下一个卷积层

 

2.主要作用

  1. 减轻内部协变量偏移:通过标准化每一层的输入,使得其均值接近0,方差接近1,从而减少了层间输入的变化,帮助模型更快地收敛。
  2. 提高训练速度:批次归一化能够使得更大的学习率得以使用,从而加速训练。
  3. 缓解梯度消失:通过规范化输入,有助于保持激活值的稳定性,从而在一定程度上减轻了梯度消失现象。
  4. 具有正则化效果:批次归一化可以在某种程度上减少对其他正则化技术(如Dropout)的依赖,因为它引入了一定的噪声。
  5. 提高模型泛化能力:通过使训练过程更加稳定,批次归一化有助于提高模型在未见数据上的表现。

 

五、ResNet残差神经网络解决了传统神经网络什么问题

1.梯度消失和梯度爆炸

梯度消失:

  • 梯度消失是指在反向传播过程中,梯度逐渐减小,导致更新权重时几乎没有变化。
  • 使得模型在训练初期或某些层的训练变得非常缓慢,甚至停滞不前。

梯度爆炸:

  • 梯度爆炸是指在反向传播过程中,梯度逐渐增大,导致权重更新过大,进而使模型无法收敛,甚至出现数值溢出。
  • 导致模型的损失函数发散,使得训练过程不稳定。

ResNet残差神经网络使用批次归一化解决了该问题

 

2.退化问题

  • 该图是两种层次的神经网络在训练集和测试集上多次迭代的错误率曲线
  • 可以看出来多层神经网络的错误率反而要高于少层
  • 说明深层神经网络出现了退化问题,模型可能出现复杂性增加或过拟合问题

ResNet残差神经网络使用残差结构解决了该问题

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

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

相关文章

node-red-L3-重启指定端口的 node-red

重启指定端口 目的步骤查找正在运行的Node.js服务的进程ID(PID):停止Node.js服务:启动Node.js服务: 目的 重启指定端口的 node-red 步骤 在Linux系统中,如果你想要重启一个正在运行的Node.js服务&#x…

【AI绘画】Midjourney进阶:光影控制详解

博客主页: [小ᶻZ࿆] 本文专栏: AI绘画 | Midjourney 文章目录 💯前言💯为什么要学习光影控制光影控制的作用 💯强化主题hard lighting(硬光 )soft lighting(软光/柔光)测试 &…

利用Puppeteer-Har记录与分析网页抓取中的性能数据

引言 在现代网页抓取中,性能数据的记录与分析是优化抓取效率和质量的重要环节。本文将介绍如何利用Puppeteer-Har工具记录与分析网页抓取中的性能数据,并通过实例展示如何实现这一过程。 Puppeteer-Har简介 Puppeteer是一个Node.js库,提供…

Leetcode面试经典150题-322.零钱兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…

[数据库实验一]数据库和表

目录 一、实验目的与要求 二、实验内容 实验小结 一、实验目的与要求 1.掌握MySQL中如何创建数据库和表的方法 2.熟练掌握MySQL的数据类型、主键实体完整性的设置 3.参照完整性的定义及应用 4.插入数据 5.数据库的备份操作 二、实验内容 1、创建名为fruit…

CleanMyMac X 评价、介绍、使用教学|Mac系统最推荐的系统优化和清理软件工具!

本篇文章要带大家看一款知名的Mac系统优化、清理工具– CleanMyMac X ,并且也会附上详细的介绍和使用教学。 链接: https://pan.baidu.com/s/1_TFnrIVH1NGsZPsA3lpwAA 提取码: dpjw CleanMyMac X-安装包:https://souurl.cn/QUYb57 为什么Mac电脑需要装系…

Cilium + ebpf 系列文章-什么是ebpf?(一)

前言: 这篇非常非常干,很有可能读不懂。 这里非常非常推荐,建议使用Cilium官网的lab来辅助学习!!!Resources Library - IsovalentExplore Isovalents Resource Library, your one-stop destination for ins…

FocSAM

Dynamic Window简写为Dwin 辅助信息 不建议复现

TCN-Transformer+GRU多变量时间序列预测(Matlab)

超强来袭!双路创新!TCN-TransformerGRU多变量时间序列预测(Matlab) 目录 超强来袭!双路创新!TCN-TransformerGRU多变量时间序列预测(Matlab)效果一览基本介绍程序设计参考资料 效果一…

智慧农业的引擎:高标准农田灌区信息化的探索与实践

在现代农业的广阔图景中,智慧农业作为一股革新力量,正逐步重塑着传统农业的面貌。其中,高标准农田灌区的信息化建设不仅是智慧农业的重要引擎,更是实现农业可持续发展、提高资源利用效率的关键路径。 高标准农田灌区信息化的内涵…

Linux下的基本指令/命令(二)

热键 Tab: 连点两次 对命令进补齐 或者 显式 以目前所需字母 开头的指令。 也可以进行路径补齐 或者 显示所写的文件所处路径上的所有文件。 如果什么也没写,直接按Tab会显示所有命令 Ctrl C: 一旦出现失控的状态,或者任何无法…

刷题计划 day10 栈与队列上【用栈实现队列】【用队列实现栈】【有效的括号】【删除字符串中的所有相邻重复项】

⚡刷题计划day10栈与队列继续,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录 ⚡刷题计划day10继续,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的…

Linux云计算 |【第四阶段】NOSQL-DAY2

主要内容: Redis集群概述、部署Redis集群(配置manage管理集群主机、创建集群、访问集群、添加节点、移除节点) 一、Redis集群概述 1、集群概述 所谓集群,就是通过添加服务器的数量,提供相同的服务,从而让…

CSDN文章导出md并迁移至博客园

一、获取所有文章地址 1.进csdn首页,点击自己的头像 2.在个人主页界面,按F12打开控制台,并找到network,找到get-business开头的请求,右键copy他的url 3.选择console,输入一下代码,其中fetch里面的url是你刚…

62.【C语言】浮点数的存储

目录 1.浮点数的类型 2.浮点数表示的范围 3.浮点数的特性 《计算机科学导论》的叙述 4.浮点数在内存中的存储 答案速查 分析 前置知识:浮点数的存储规则 推导单精度浮点数5.5在内存中的存储 验证 浮点数取出的分析 1.一般情况:E不全为0或不全为1 2.特殊情况:E全为0…

P335_0334韩顺平Java_零钱通介绍

目录 P335_0334韩顺平Java_零钱通介绍代码过程编程OOP(Object-Oriented Project) 参考资料 P335_0334韩顺平Java_零钱通介绍 先完成显示菜单,并可以选择。完成零钱通明细。完成收益入账。消费。退出。 PS:判断时尽量用不正确的条…

BEV学习---LSS4-模型训练

主要借鉴如下链接: https://blog.csdn.net/m0_51579041/article/details/140746160 测试命令如下,均已跑通: # 验证集iou计算: python main.py eval_model_iou mini -bsz1 --nworkers0 --gpuid0 --modelf./model/model525000.pt…

【CSS/HTML】圣杯布局和双飞翼布局实现两侧宽度固定,中间宽度自适应及其他扩展实现

前沿简介 圣杯布局和双飞翼布局是前端重要的布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。 圣杯布局来源于文章In Search of the Holy Grail,双飞翼布局来源于淘宝UED。 两者的实现方式有差异,但是都…

Java文件上传同时传入JSON参数

前言 此篇文章用于解决一个接口内同时完成文件的上传及JSON参数的传入(生产环境已验证); 1.准备接口 import cn.cdjs.vo.UserVO; import cn.hutool.json.JSONUtil; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFi…

黑马头条day4 自媒体文章自动审核

阿里云内容安全调用 其实这个接口调用不是很难 但是需要花钱 就没买 我开了按量计费 但是还是不行 所以就没测试 于是尝试自己写返回成功值 效果不好 后来发现不如直接在函数里边取消调用文字和图片审核 这样更简单 远程调用与降级处理 这里有个bug调试了好久 第一个就是总…