当前位置:网站首页>BatchNorm&&LayerNorm
BatchNorm&&LayerNorm
2022-08-04 05:29:00 【CV小Rookie】
以二维输入情况为例:
BatchNorm:
对一列,也就是某一个特征进行操作:均值变为0,方差变为1;
变换后某个神经元的激活x形成了均值为0,方差为1的正态分布,目的是把值往后续要进行的非线性变换的线性区拉动,增大导数值,增强反向传播信息流动性,加快训练收敛速度。
但是这样会导致网络表达能力下降,为了防止这一点,每个神经元增加两个调节参数(scale和shift),这两个参数是通过训练来学习到的,用来对变换后的激活反变换,使得网络表达能力增强,即对变换后的激活进行如下的scale和shift操作。
LayerNorm:
对每一个样本(也就是一行)进行与BatchNorm一样的操作。
以三维输入情况为例:
BatchNorm:
右图为截面图,可以看到由于样本长度不定,所以在计算mini_batch的均值与方差的时候抖动特别大。预测时是需要记住全局的均值与方差,当预测时碰倒未见过的样本,训练出来的方差与均值不好用 。
LayerNorm:
LayerNorm计算的是样本的方差与均值,不需要计算全局的。相对来说比较稳定。
边栏推荐
猜你喜欢
随机推荐
双重指针的使用
【CV-Learning】线性分类器(SVM基础)
纳米级完全删除MYSQL5.7以及一些吐槽
剑指 Offer 2022/7/11
Android connects to mysql database using okhttp
安装dlib踩坑记录,报错:WARNING: pip is configured with locations that require TLS/SSL
postgresql中创建新用户等各种命令
剑指 Offer 2022/7/1
完美解决keyby造成的数据倾斜导致吞吐量降低的问题
flink自定义轮询分区产生的问题
Kubernetes基本入门-元数据资源(四)
flink-sql所有语法详解
TensorFlow2 study notes: 4. The first neural network model, iris classification
oracle的number与postgresql的numeric对比
yolov3 data reading (2)
线性回归简介01---API使用案例
TensorFlow2学习笔记:7、优化器
Thoroughly understand box plot analysis
视图、存储过程、触发器
网络大作业心得笔记