【卷积神经网络】中间层网络的参数归一化方法 | BN / LN / IN / GN

news2024/11/18 15:49:27

文章目录

  • 一、为什么神经网络需要归一化
  • 二、常用的归一化方法
  • 三、Batch Normalization
  • 四、Layer Normalization
  • 五、Instance Normalization
  • 六、Group Normalization

本文主要介绍神经网络中常用的归一化方法,主要是在神经网络内部对中间层的输入进行归一化,归一化到均值为 0 方差为 1 的近似正态分布的模式。

一、为什么神经网络需要归一化

归一化的效果:

  • 加速模型的训练和收敛,让模型能更好的学习到输入的分布情况,不受量纲的影响。
  • 将数据规范化到激活函数敏感区域,缓解神经网络的梯度消失问题
  • 防止过拟合

二、常用的归一化方法

在这里插入图片描述

通常情况下,一个 batch 中会包含 N 个图像,每个图像会对应的 C 个通道:

  • Batch Norm:是 N 维度的归一化,是指对一个 batch 内,所有图像对应的相同通道进行归一化
  • Layer Norm:是 C 维度的归一化,是指对一个 batch 内,一个图像对应的所有通道进行归一化
  • Instance Norm:是单个通道维度上的归一化, 是指对一个 batch 内,每个图像的每个通道分别进行归一化
  • Group Norm:是分组后的 C 维度上的归一化,是指对一个 batch 内,一个图像对应的所有通道进行分组归一化

三、Batch Normalization

论文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

出版时间: 2015

Batch Normalization 是 N 维度的归一化,是指对一个 batch 内,所有图像对应的相同通道进行归一化,过程如下图所示:

在这里插入图片描述

BN 的过程:

  • 求每一个训练批次数据的均值
  • 求每一个训练批次数据的方差
  • 使用求得的均值和方差对该批次的训练数据做归一化,获得(0,1)正态分布。其中 ε 是为了避免除数为 0 时所使用的微小正数。
  • 网络自主学习尺度变换参数 γ \gamma γ 和偏移参数 β \beta β:将 x i x_i xi 乘以 γ \gamma γ 调整数值大小,再加上 β \beta β 增加偏移后得到 y i y_i yi,这里的 γ \gamma γ 是尺度因子, β \beta β 是平移因子。这一步是 BN 的精髓,由于归一化后的 x i x_i xi基本会被限制在正态分布下,使得网络的表达能力下降。为解决该问题,我们引入两个新的参数: γ \gamma γ β \beta β γ \gamma γ β \beta β 是在训练时网络自己学习得到的,让网络自己去学习更合适的归一化分布。

BN在训练和测试时的差别 :

  • 在训练时,是对每一批的训练数据进行归一化。使用 BN 的目的就是每个批次分布稳定。当一个模型训练完成之后,它的所有参数都确定了,包括均值和方差, γ \gamma γ β \beta β

  • 在测试时,比如进行一个样本的预测,就并没有 batch 的概念,因此,这个时候用的均值和方差是全量训练数据的均值和方差,也就是使用全局统计量来代替批次统计量,这个可以通过移动平均法求得。具体做法是,训练时每个批次都会得到一组(均值、方差),然后对这些数据求数学期望!每轮batch后都会计算,也称为移动平均。

BN训练时为什么不用整个训练集的均值和方差?

  • 因为用整个训练集的均值和方差容易过拟合,对于 BN,其实就是对每一批数据进行归一化到一个相同的分布,而每一批数据的均值和方差会有一定的差别,而不是固定的值,这个差别能够增加模型的鲁棒性,也会在一定程度上减少过拟合。

BN的优点:

  • 能够解决内部协变量偏移
  • 缓解了梯度饱和问题(如果使用sigmoid函数的话),加快收敛。

BN的缺点:

  • batch_size 较小的时候,效果较差,因为 BN 就是用 batch_size 中样本的均值和方差去模拟全部样本的均值和方差,这个假设在样本很少的情况下确实是不合理的
  • 不适合 RNN 那种循环网络

四、Layer Normalization

Layer Normalization 是 C 维度的归一化,是指对一个 batch 内,一个图像对应的所有通道进行归一化

公式如下,和 BN 一样,也会在归一化后的分布基础上再学习一个缩放参数 γ \gamma γ 和偏移参数 β \beta β

y = x − E(x) Var(x) + ϵ × γ + β \text{y} = \frac{\text{x}-\text{E(x)}}{\sqrt{\text{Var(x)}+\epsilon}} \times \gamma + \beta y=Var(x)+ϵ xE(x)×γ+β

五、Instance Normalization

Instance Normalization 是单个通道维度上的归一化, 是指对一个 batch 内,每个图像的每个通道分别进行归一化。

公式如下,和 BN 一样,也会在归一化后的分布基础上再学习一个缩放参数 γ \gamma γ 和偏移参数 β \beta β

y = x − E(x) Var(x) + ϵ × γ + β \text{y} = \frac{\text{x}-\text{E(x)}}{\sqrt{\text{Var(x)}+\epsilon}} \times \gamma + \beta y=Var(x)+ϵ xE(x)×γ+β

六、Group Normalization

Group Normalization 是分组后的 C 维度上的归一化,是指对一个 batch 内,一个图像对应的所有通道进行分组归一化。

公式如下,和 BN 一样,也会在归一化后的分布基础上再学习一个缩放参数 γ \gamma γ 和偏移参数 β \beta β

y = x − E(x) Var(x) + ϵ × γ + β \text{y} = \frac{\text{x}-\text{E(x)}}{\sqrt{\text{Var(x)}+\epsilon}} \times \gamma + \beta y=Var(x)+ϵ xE(x)×γ+β

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

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

相关文章

【论文阅读】Robust Multi-Instance Learning with Stable Instances

1、摘要与引言 以往的MIL算法遵循i.i.d假设:训练样本与测试样本都分别来自于同一分布中,而这一假设往往与现实应用中有所出入。研究人员通过计算训练样本与测试样本之间的密度比对训练样本进行加权,以解决分布变化带来的问题。 分布的变化发…

SpringBoot + Druid + Mybatis-Plus + Mysql 实现数据库监控

1. 简介 在日常的WEB开发中都会使用数据库存储信息。大多数情况我们只是使用了数据库,而无法感知业务对数据库的压力,从而无法有目的的提升性能。在使用数据库时,都会选用常见的C3P0、DBCP、Hikari、Druid连接池,虽然SpringBoot官…

JavaScript中的数据类型以及存储上的差别?

前言 在JavaScript中,我们可以分成两种类型: 基本类型复杂类型 两种类型的区别是:存储位置不同 一、基本类型 基本类型主要为以下6种: NumberStringBooleanUndefinednullsymbol Number 数值最常见的整数类型格式则为十进制…

最强分布式锁工具:Redisson

1 Redisson概述1.1 什么是Redisson?Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, Sorted…

学python的第六天---字符串

一、只出现一次的字符其他:round(XXX,1)忽略大小写比较字符串大小字符串几个可以使用的函数二、去掉多余的空格写法一:写法二:三、信息加密写法一:写法二:写法三:自己的写法四、单词替换五、倒排单词写法一&#xff1a…

面试官:什么是双亲委派模型?如何打破它?

本文已经收录进 JavaGuide(「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。) 参加过校招面试的同学,应该对这个问题不陌生。一般提问 JVM 知识点的时候,就会顺带问你双亲委派模型(别扭的翻译。。。)。 就算是不准备面试,学习双亲委派模型对于我…

if-else if与switch的练习1:输入两个数,输出两个数的加减乘除的值

1.if-else if的练习 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice…

所有科研人警惕,掠夺型期刊和劫持型期刊的区别,千万别投错了

当今&#xff0c;新形式的学术出版物——例如数字式或开源式的学术期刊日益普及&#xff0c;热门期刊的数量逐年增长【1】。 人们获取学术出版物也越来越容易&#xff0c;使得更多的科研人员&#xff08;特别是在低收入国家&#xff09;能够及时了解各自研究领域的最新发展态势…

ubuntu20.04搭建detectron2环境

Ubuntu22.04安装Cuda11.3 Linux下驱动安装 # 以下命令按顺序执行 sudo apt update && sudo apt upgrade -y # or sudo apt update # 查看显卡信息 ubuntu-drivers devices sudo ubuntu-drivers autoinstall # or sudo apt install nvidia-driver-510 reboot nvidia-s…

毕业设计 基于51单片机WIFI智能家居系统设计

基于51单片机WIFI智能家居系统设计1、毕业设计选题原则说明&#xff08;重点&#xff09;2、项目资料2.1 系统框架2.2 系统功能3、部分电路设计3.1 STC89C52单片机最小系统电路设计3.2 ESP8266 WIFI电路设计3.3 DHT11温湿度传感器电路设计4、部分代码展示4.1 LCD12864显示字符串…

JavaEE简单示例——Spring的入门程序

简单介绍&#xff1a; 在之前我们简单的介绍了有关于Spring的基础知识&#xff0c;那么现在我们就来一步步的把理论融入到实践中&#xff0c;开始使用这个框架&#xff0c;使用过程也是非常的简单&#xff0c;大致可以分为几个基础的步骤&#xff1a; 1.首先引入Spring的Mave…

TypeScript深度剖析:TypeScript 中泛型的理解?应用场景?

一、是什么 泛型程序设计&#xff08;generic programming&#xff09;是程序设计语言的一种风格或范式 泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型&#xff0c;在实例化时作为参数指明这些类型 在typescript中&#xff0c;定义函数&#xff0c;…

一文快速入门 HTML 网页基础

专栏简介: 前端从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.HTML 结构 1.1. 认识 HTML 标签 1.2 HTML 文件结构…

[MySQL核心]1.表操作

MySQL核心--表操作表操作一表操作二&#xff08;CRUD操作&#xff09;表操作一 创建表 比较规范的写法&#xff0c;关键字应该要大写&#xff0c;其他比如表名&#xff0c;字段这些自定义的可以小写 ENGINEINNODB DEFAULT CHARSETutf8 指定存储引擎以及默认的字符集&#xff0c…

04-CSS

一、其他样式 1、圆角边框在 CSS3 中&#xff0c;新增了圆角边框样式&#xff0c;这样我们的盒子就可以变圆角了。border-radius 属性用于设置元素的外边框圆角。语法&#xff1a;border-radius:length;参数值可以为数值或百分比的形式如果是正方形&#xff0c;想要设置为一个圆…

IBM ILOG CPLEX Optimization Studio 22.1 Crack

BM ILOG CPLEX 优化工作室 建立和解决复杂的优化模型以确定最佳行动 通过数据科学改变您的业务决策 IBM ILOG CPLEX Optimization Studio 使用决策优化技术来优化您的业务决策&#xff0c;快速开发和部署优化模型&#xff0c;并创建可显着改善业务成果的真实应用程序。 如何&…

ROS 摄像头的使用

参考&#xff1a; ​ youtubeArticulated Robotics ​ 作者Josh Newans博客 建议&#xff1a; 这个只是我的看法&#xff0c;强烈建议看原视频或博客 png&#xff1a;无损压缩 jpeg&#xff1a;有损压缩 Driver Node 负责连接硬件设备&#xff0c;读取摄像头数据"ima…

Learning C++ No.13【STL No.3】

引言&#xff1a; 北京时间&#xff1a;2023/3/7/15:33&#xff0c;还有27分钟就要去上课啦&#xff01;刚刚把最近因为考试原因欠的课给还干净了&#xff0c;已经准备好今天晚上接受航哥的毒打了&#xff0c;毒打就毒打&#xff0c;咱不怕&#xff0c;只要不欠钱&#xff0c;…

小黑子—Java从入门到入土过程:第一章

Java零基础入门1.0Java系列第一章1. cmd2. 利用cmd打开qq并配置环境变量3. Java概述和学习方法4. JDK下载和安装5. hello world 小案例6. bug常见小问题7. 环境变量8. Notepad9. java 语言的发展10. java 能干什么10.1 javaSE10.2 javaME10.3 javaEE11. java为什么火12. java为…

什么是激励能力?HR人才测评

什么是激励能力&#xff1f;激励能力主要是针对管理型岗位而言的&#xff0c;尤其是团队型管理&#xff0c;既要督导团队成员&#xff0c;更需要掌握激励下属的方法和技巧。在HR人才测评系统中&#xff0c;对于管理型岗位的人才测评指标&#xff0c;通常也会包含激励能力&#…