当前位置:网站首页>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计算的是样本的方差与均值,不需要计算全局的。相对来说比较稳定。
边栏推荐
猜你喜欢
随机推荐
yolov3中数据读入(一)
android基础 [超级详细android存储方式解析(SharedPreferences,SQLite数据库存储)]
属性动画的用法 以及ButterKnife的用法
【深度学习21天学习挑战赛】1、我的手写被模型成功识别——CNN实现mnist手写数字识别模型学习笔记
postgres recursive query
npm install dependency error npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND
二月、三月校招面试复盘总结(二)
TensorFlow2 study notes: 8. tf.keras implements linear regression, Income dataset: years of education and income dataset
Android connects to mysql database using okhttp
flink自定义轮询分区产生的问题
yolov3 data reading (2)
Kubernetes基本入门-概念介绍(一)
Postgresql 快照
RecyclerView的用法
postgres 递归查询
SQl练习 2022/6/29
数据库根据提纲复习
(十五)B-Tree树(B-树)与B+树
(十)树的基础部分(一)
判断字符串是否有子字符串重复出现