BN、LN、IN、GN的自我理解

news/2024/7/9 23:55:06 标签: 目标检测

目录

一、Batch Normal

二、Layer Normal

三、Instance Normal

四、Group Normal

五、参考


参考了这两三篇博客,终于理解了这几个概念。

一、Batch Normal

Batch Normal,举例来说:输入一个batch size,这个batch size中有2个元素(feature size),每个元素的channel为3,每个channel的宽高为2*2,那么Batch Normal是怎么计算的呢?

网上说:“batch方向做归一化,算NHW的均值,对小batchsize效果不好;BN主要缺点是对batchsize的大小比较敏感,由于每次计算均值和方差是在一个batch上,所以如果batchsize太小,则计算的均值、方差不足以代表整个数据分布” 刚开始不理解什么在batch方向做,原来是一次计算是batch个大小,其实也很好理解,因为是相同channel进行计算,那一个batch有两个特征,那相同特征计算就会有两个channel进行计算,所以这就是batch方向。

二、Layer Normal

layer normal是每个特征自己进行normal,比如有十句话,每句话长短不一,那这里batch是10,每句话是一个特征,一句话的长度是dimension,那进行layer normal是分别对每句话进行的,即一个特征对自己所有维度进行normal,与别的特征没有任何关系,如下:

 图片来源:【深度学习】batch normalization和layer normalization区别_layer normalization和batch normalization_山顶夕景的博客-CSDN博客

三、Instance Normal

这个从batch normal的角度来理解,batch normal是每个特征相同的channel进行一起进行计算均值,方差。但是Instance Normal是每个特征的每个channel进行独自计算,即:比如有一个bacth,里面2个特征,每个特征有3个dimension,那Instance normal是特征一的channel1进行计算自己的均值和方差,channel2进行计算自己的均值方差,channel3进行计算自己的channel。特征2也是这样。

四、Group Normal

主要是针对Batch Normalization对小batchsize效果差,GN将channel方向分group,然后每个group内做归一化,算(C//G)*H*W的均值,这样与batchsize无关,不受其约束。

这个从Instance Normal的角度来理解,比如一个batch,里面有2个特征,每个特征有6个channel,那我把这6个特征分为三组,(channel1、channel2)为组一,(channel3、channel4)为组二,、(channel5、channel6)为组三。即特征1有三组,特征2也有三组,那计算均值方差,是特征1和特征2的组一一起进行计算,特征1和特征2的组二一起计算,特征1和特征2的组三一起计算,那最终得到均值和方差也都是向量,均值向量里面有三个值,分别是组一、组二、组三的均值,方差向量里面也是三个值,也分别是组一、组二、组三的方差。

 

 

五、参考

1.Batch Normalization详解以及pytorch实验_太阳花的小绿豆的博客-CSDN博客 

2.Layer Normalization解析_runtimeerror: given normalized_shape=[256], expect_太阳花的小绿豆的博客-CSDN博客

3.【深度学习】batch normalization和layer normalization区别_layer normalization和batch normalization_山顶夕景的博客-CSDN博客

4.PyTorch学习之归一化层(BatchNorm、LayerNorm、InstanceNorm、GroupNorm)_mingo_敏的博客-CSDN博客


http://www.niftyadmin.cn/n/1007215.html

相关文章

奇舞周刊第497期:解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容 最近研究了 Web 的 FileSystemAccess Api,它弥补了 Web 长期以来缺少的能力:操作用户…

三个关键数字变化,剖析中国智能手机市场的趋势及其影响

近期,全球行业分析机构CounterpointResearch公布了《中国智能手机高端市场白皮书》,对中国智能手机市场数据进行详细分析。该报告揭示了几个关键数据,值得深入剖析。 上面的图表展示了中国智能手机市场在2012年至2022年的11年间销量、平均价格…

Nginx【Docker(安装Nginx、Nginx服务启停控制、全局块、events块、HTTP块)】(二)-全面详解(学习总结---从入门到深化)

目录 Docker安装Nginx Nginx服务启停控制 Nginx配置指令详解_全局块 Nginx配置指令详解_events块 Nginx配置指令详解_HTTP块 Docker安装Nginx 拉取官方的Nginx镜像 [rootlocalhost ~]# docker pull nginx 以下命令使用 Nginx 默认的配置来启动一个 Nginx 容器实例&#xf…

探秘直链网盘:高效传输、便捷分享的存储利器!

什么是直链网盘? 直链网盘是一种用于存储和共享文件的在线服务。它为用户提供了一个方便的方式来存储和访问他们的文件,而无需依赖本地存储设备。直链网盘的主要特点是它们可以生成直接下载链接,允许用户快速下载文件,而不需要进…

关于Mybatis配置的几个常见问题总结

问题描述 配置Mybatis的时候,没有在配置文件propreties|yml文件中配置读取xml文件路径时会报以下错误。 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.example.test.mapper.UserMapper.getToUser问题解读 大概意思就是说…

kafka入门,文件存储机制(十六)

文件存储机制 1、Topic数据的存储机制 topic是逻辑上的概念,而partition是物理上的概念,每个partition对应一个log文件,该log文件中存储就是Producer生产的数据。Producer生产的数据会不断追加到该log文件末端,为防止log文件过大…

2022年12月份青少年软件编程Python等级考试试卷六级真题(含答案)

一、单选题(共25题,共50分) 1.数据文件“abc.txt”中包含若干个英文单词,如图所示: 读取文件“abc.txt”中数据的Python程序段如下: file abc.txt word_b [] for word in open(file):if word[0:1] a and len(word)>4:wo…

Web安全——JavaScript基础(加入案例)

JavaScript基础 一、概述二、嵌入方法1、内嵌式2、外链式3、行内式 三、语句四、注释五、变量六、JavaScript 保留关键字七、JavaScript 作用域1、JavaScript 局部变量2、JavaScript 全局变量 八、数据类型1、判断类型2、数字类型(Number)3、字符串型&am…