残差网络、Dropout正则化、Batch Normalization浅了解

残差网络:

为什么需要残差网络:

残差网络的目的是为了解决深度神经网络在训练过程中遇到的退化问题,即随着网络层数的增加,训练集的误差反而增大,而不是过拟合。残差网络的优点有以下几点:

  • 残差网络可以有效地缓解梯度消失或爆炸的问题,因为跳跃连接可以提供一条更短的反向传播路径,使得梯度可以更容易地流动到较浅的层。
  • 残差网络可以提高网络的表达能力,因为残差块可以近似任何复杂的函数,而且可以通过增加网络深度来提高模型性能,而不会降低训练效率。
  • 残差网络可以更容易地优化,因为残差块可以看作是对恒等映射的微小扰动,这样可以使得网络的初始化更接近于最优解,而且可以使用较大的学习率来加速收敛。

从信息论的角度讲,由于DPI(数据处理不等式)的存在,在前向传输的过程中,随着层数的加深,Feature Map包含的图像信息会逐层减少,而ResNet的直接映射的加入,保证了 L+1 层的网络一定比 L层包含更多的图像信息。

基于这种使用直接映射来连接网络不同层直接的思想,残差网络应运而生。

什么是残差网络:

残差网络是一种深度神经网络,它的特点是在每个卷积层后面添加了一个跳跃连接,使得输入可以直接加到输出上,形成一个残差块。

残差块:

残差网络是由一系列残差块组成的(下图)。一个残差块可以用表示为:

 残差块分成两部分直接映射部分和残差部分。 h(xl) 是直接映射,反应在图1中是左边的曲线; F(xl,Wl) 是残差部分,一般由两个或者三个卷积操作构成,即图1中右侧包含卷积的部分。

上图中的Weight在卷积网络中是指卷积操作,addition是指单位加操作。

在卷积网络中, xl 可能和 xl+1 的Feature Map的数量不一样,这时候就需要使用 1×1 卷积进行升维或者降维(下图)。这时,残差块表示为:

 其中 h(xl)=Wl′x 。其中 Wl′ 是 1×1 卷积操作,但是实验结果 1×1 卷积对模型性能提升有限,所以一般是在升维或者降维时才会使用。

Dropout正则化:

为什么要正则化:

在深度学习领域中,众所周知所有的神经网络都可能会发生过拟合的现象,即模型容易过拟合。而过拟合通过采集海量数据,并配合Dropout正则化等方法也可以有效避免。

什么是正则化:

Dropout就是在每层神经网络中随机去掉一部分的神经元,在训练过程中,被去掉的神经元不参与前向传播和后向传播,即该神经元对神经网络的权重更新没有贡献,从而减少了参数之间的共适应,提高了网络的泛化能力。

Dropout正则化的作用有以下几点:

  • Dropout正则化可以有效地缓解梯度消失或爆炸的问题,因为它降低了网络的复杂度,使得梯度可以更容易地流动到较浅的层。
  • Dropout正则化可以增强网络的表达能力,因为它相当于对网络进行了集成学习,即每次训练时使用的是网络的一个子集,而测试时使用的是所有子集的平均,这样可以提高网络的鲁棒性和稳定性。
  • Dropout正则化可以更容易地优化,因为它相当于对网络添加了一个正则项,即每个权重乘以一个伯努利分布的随机变量,这样可以防止权重过大或过小,从而避免过拟合或欠拟合。

Batch Normalization(批量归一化):

为什么需要Batch Normalization:

深度学习中,在训练过程中,网络层数增多,权重在不断更新,导致激活层输出(输入)的分布会一直变化,可能无法一直保持zero mean unit variance分布,会有梯度消失和梯度爆炸的问题产生。这时候可以通过Batch Normalization也可以避免。

什么是Batch Normalization:

Batch Normalization是一种用于深度神经网络的技术,它可以加速网络的训练,提高模型的泛化能力,防止梯度消失或爆炸,减少对初始化和正则化的依赖。Batch Normalization的原理是对每个mini-batch中的数据进行归一化处理,使得每个神经元的输入服从标准正态分布,然后再通过可学习的缩放和平移参数来恢复数据的原始分布。Batch Normalization的作用有以下几点:

  • Batch Normalization可以降低数据之间的相关性,减少内部协变量偏移,使得每层的输入分布更加稳定,从而加快网络的收敛速度。
  • Batch Normalization可以增强网络的表达能力,因为它相当于对每层的输入添加了噪声,增加了数据的多样性,起到了一定的正则化作用,防止过拟合。
  • Batch Normalization可以缓解梯度消失或爆炸的问题,因为它使得每层的输入分布接近标准正态分布,避免了数值过大或过小导致的梯度变化剧烈。
  • Batch Normalization可以减少对初始化和正则化的依赖,因为它使得网络对权重和偏置的初始值不敏感,也使得网络可以使用更大的学习率和更少的Dropout。

参考文章:详解残差网络 - 知乎

https://www.baidu.com/link?url=7YpsN6GhUbDwH2vaLjI6GVLC7zjN-OSt1kmbjdNtsozBOf6nOZeZe5T7m529lLFR8bTvwaE32Hi3gPU5cY8FP_&wd=&eqid=aa78e975000062e40000000664ed64bc

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

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

相关文章

mysql 间隙锁原理深度详解

目录 一、前言 二、mysql之mvcc 2.1 什么是mvcc 2.2 mvcc组成 2.2.1 Undo log 多版本链 2.2.2 ReadView 2.2.3 快照读与当前读 三、RR级别下的事务问题 3.1 RR隔离级别解决的问题 3.1.1 幻读问题 3.2 幻读效果演示 3.2.1 准备测试表和数据 3.2.2 修改事务级别 3.…

生态项目|Typus如何用Sui特性制作动态NFT为DeFi赋能

对于许多人来说,可能因其涉及的期权、认购和价差在内的DeFi而显得晦涩难懂,但Typus Finance找到了一种通过动态NFT使体验更加丰富的方式。Typus NFT系列的Tails为用户带来一个外观逐渐演变并在平台上提升活动水平时获得新特权的角色。 Typus表示&#x…

ES 7.6 - JAVA应用基础操作篇

ES 7.6 - JAVA应用基础操作篇 环境准备依赖配置 实体类准备使用说明索引/映射操作创建索引和映射索引和映射相关查询删除索引 文档操作插入数据更新数据删除数据批量操作 文档查询根据ID查询根据字段精准查询根据字段分词查询控制返回字段范围查询组合查询排序分页高亮搜索聚合…

图像颜色空间转换

目录 1.图像颜色空间介绍 RGB 颜色空间 2.HSV 颜色空间 3.RGBA 颜色空间 2.图像数据类型间的互相转换convertTo() 3.不同颜色空间互相转换cvtColor() 4.Android JNI demo 1.图像颜色空间介绍 RGB 颜色空间 RGB 颜色空间是最常见的颜色表示方式之一,其中 R、…

【MySql】mysql之基础语句

一、常用的数据类型 类型解释举例int整型用于定义整数类型的数据(1、2、3、4、5…)float单精度浮点(4字节32位)准确表示小数点后六位double双精度浮点(8字节64位)小数位更多,更精确char固定长度…

Go语言基础之指针

区别于C/C中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 Go语言中的指针 任何程序数据载入内存后,在内存都有他们的地址,这就…

微信小程序使用stomp.js实现STOMP传输协议的实时聊天

简介: uniapp开发的小程序中使用 本来使用websocket,后端同事使用了stomp协议,导致前端也需要对应修改。 如何使用 在static/js中新建stomp.js和websocket.js,然后在需要使用的页面引入监听代码发送代码即可 代码如下&#x…

腾讯云-对象存储服务(COS)的使用总结

简介 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。通过控制台、API、SDK 和工具等多样化方式,用户可简单、快速地接入 COS&#xff0…

论文笔记:从不平衡数据流中学习的综述: 分类、挑战、实证研究和可重复的实验框架

0 摘要 论文:A survey on learning from imbalanced data streams: taxonomy, challenges, empirical study, and reproducible experimental framework 发表:2023年发表在Machine Learning上。 源代码:https://github.com/canoalberto/imba…

Python Qt(七)Listview

源代码: # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_listview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

Docker之私有仓库 RegistryHarbor

目录 一、Docker私有仓库(Registry) 1.1 Registry的介绍 二、搭建本地私有仓库 2.1首先下载 registry 镜像 2.2在 daemon.json 文件中添加私有镜像仓库地址 2.3运行 registry 容器 2.4Docker容器的重启策略 2.5为镜像打标签 2.6上传到私有仓库 2…

jvm的内存区域

JVM 内存分为线程私有区和线程共享区,其中方法区和堆是线程共享区,虚拟机栈、本地方法栈和程序计数器是线程隔离的数据区。 1)程序计数器 程序计数器(Program Counter Register)也被称为 PC 寄存器,是一块…

基于Echarts的大数据可视化模板:大数据医疗服务平台

目录 引言大数据在医疗领域的应用ECharts在医疗服务中的作用医疗大数据的应用方向临床决策支持药物研发与安全性监测健康管理与预防流行病监测与公共卫生基因组学与个性化医疗医疗保险与费用管理Echarts与大数据可视化Echarts库以及其在大数据可视化领域的应用优势开发过程和所…

只考一门数据结构,计算机学硕复录比1:1的山东双非学校考情分析

青岛理工大学 考研难度(☆) 内容:23考情概况(拟录取和复试分析)、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1420字,预计阅读:3分钟 2023考情概况 青岛理工…

redis缓存雪崩、穿透、击穿解决方案

redis缓存雪崩、穿透、击穿解决方案 背景缓存雪崩缓存击穿缓存穿透总结背景 关于缓存异常,我们常见的有三个问题:缓存雪崩、缓存击穿、缓存穿透。这三个问题一旦发生,会导致大量请求直接落到数据库层面。如果请求的并发量很大,会影响数据库的运行,严重的会导致数据库宕机…

openGauss学习笔记-54 openGauss 高级特性-MOT

文章目录 openGauss学习笔记-54 openGauss 高级特性-MOT54.1 MOT特性及价值54.2 MOT关键技术54.3 MOT应用场景54.4 不支持的数据类型54.5 使用MOT54.6 将磁盘表转换为MOT openGauss学习笔记-54 openGauss 高级特性-MOT openGauss引入了MOT(Memory-Optimized Table&…

如何高效地设计测试用例并评审

编写出好的测试用例是每一个测试工程师的职责,但在实际工作中大家写的测试用例往往需要不断地修改才能使用,这不仅浪费了时间,还容易让测试工程师产生自我否定的情绪,甚至在团队中产生各种矛盾。 那如何高效地设计测试用例呢&…

可直接运营的餐饮外卖点餐自提单多门店小程序开发演示

适合鲜花店、蛋糕店、奶茶店、餐饮店、便利店等门店商家的小程序。 小程序系统支持外卖和自提两种模式,帮助商家打造自己的私域流量池,减少对美团和饿了么的依赖,提升用户点餐、就餐体验。 支持会员签到获取积分的功能,积分可用…

jwt安全问题

文章目录 jwt安全问题jwt简介jwt组成headerpayloadsignature 潜在漏洞空加密算法web346 密钥爆破web348 敏感信息泄露web349 **修改算法RS256为HS256**web350 jwt安全问题 jwt简介 JWT的全称是Json Web Token,遵循JSON格式,跨域认证解决方案&#xff0…

【93】PCI Expansion ROM

1、Expansion ROM PCIe、PCI设备可以提供Expansion ROM,Expansion ROM中存在设备初始化或者system boot的code。SystemBIOS在POST(Power-on Self Test)阶段,会枚举PCI设备,并判断有设备是否支持Expansion ROM&#xff…