标准化与归一化,batch normlization与layer normlization

13 篇文章 0 订阅
5 篇文章 0 订阅

不同特征之间的量纲一般是不同的,为了消除不同量纲之间的影响,一般需要归一化或标准化。
说白了,都是对某个特征进行缩放
在这里插入图片描述

标准化

标准化是将同一特征下的数值缩放成均值为0,方差为1的数值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/68c16ea7e1ea40cfadfb3bd6336eeabe.png

标准化更好的保持了样本之间的间距,比如在某一特征下有个异常点,在归一化之后很可能会将正常的数值挤到一起去,从而很难将正常数据分类。

归一化

归一化是将同一特征下数值缩放成[0,1]之间的数值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9fc9878de3844bf88d5eafe64c66000e.png
1.如果不进行归一化,不同特征间的取值相差比较大,这会使得目标函数变扁,在进行梯度下降时,梯度方向会偏离最小值的方向,会走很多弯路,训练时间变长。
2.归一化之后,目标函数变圆,梯度下降的方向会贴合最小值的方向,加快网络的收敛。


Batch Normlization & Layer Normlization

在这里插入图片描述BN:nlp中将batch内相同位置的词作为一个特征进行缩放
LN:将每个样本作为一个特征进行缩放

Transformer为什么使用LN

1.对于文本来说,将每个样本作为特征来缩放更好,因为每个样本所表达的语义是不同的,用语义信息来作为该样本的特征,把样本内的每个单词归为语义信息特征下。
nlp中每个单词语义都可以归到句子的语义信息中,因为常用的句子表示都是由单词的词向量加权而成的,词袋法
2.由于每个样本的长度不一致,如果使用BN的话,在长句子的后面位置batchsize会退化成1,导致BN几乎起不到作用。除此之外,在测试时,模型是以单个样本进行处理的,如果在训练期间模型并没见过特别长句子,预测时遇到一个很长句子的时候,导致模型不知道句子后面位置的均值和方差。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石头猿rock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值