Batch Normalization & Layer Normalization

Batch Normalization:
原文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
详细说明:http://blog.csdn.net/hjimce/article/details/50866313
理解:http://blog.csdn.net/shuzfan/article/details/50723877
效果为什么好:https://www.zhihu.com/question/38102762

Layer Normalization:
原文:Layer Normalization

Batch Normalization解决的是Internal Covariate Shift问题,即由于每一层的参数都在不断变化,所以输出的分布也会不断变化,造成梯度需要不断适应新的数据分布。所以,每一个mini batch里,对每个维度进行归一化。同时,为了反映数据的实际变化,再加上两个参数。(感觉是因为出现了震荡的问题,所以会想到这一招)

Layer Normalization,对每一层的进行归一化,所以就跟batch size什么的没有关系。

这么理解,Batch Normalization是竖着来归一,Layer Normalization是横着来归一。

Batch Normalization(批归一化)和 Layer Normalization(层归一化)都是用于神经网络中的正则化技术,旨在提高模型的训练效果和泛化能力。 Batch Normalization是在深度神经网络中应用广泛的技术之一。它的主要思想是通过对每个批次(batch)的输入进行归一化,使得输入在每个特征维度上具有零均值和单位方差。这样做的好处是可以加速网络的收敛速度,减轻梯度消失问题,并有一定的正则化效果。Batch Normalization层通常在全连接层或卷积层之后,激活函数之前添加。 Layer Normalization是与Batch Normalization类似的技术,但它的归一化方式不是基于批次,而是基于每个样本在特征维度上进行归一化。具体而言,Layer Normalization对每个样本的特征进行归一化,使得每个样本在特征维度上具有零均值和单位方差。与Batch Normalization不同,Layer Normalization可以应用于任意大小的批次,甚至可以应用于单个样本。Layer Normalization通常在循环神经网络(RNN)等需要处理可变长度序列数据的模型中使用。 虽然Batch NormalizationLayer Normalization有不同的归一化方式,但它们的目标都是通过减少内部协变量转移(Internal Covariate Shift)来加速训练过程,并提高模型的泛化能力。它们在训练深度神经网络时都可以发挥重要作用,具体选择哪种方法取决于应用场景和网络结构。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值