批量归一化

批量归一化是一种用于深度神经网络的技术,旨在提高数值稳定性并简化深层模型的训练。它通过计算小批量数据的均值和标准差,标准化中间层的输出,减少深层网络中数值变化的影响。此外,批量归一化引入了可学习的拉伸和偏移参数,允许模型在必要时选择不使用归一化。通常在激活函数前、全连接层或卷积层后应用,对于卷积层,批量归一化在通道维度上进行。在预测阶段,批量归一化的计算会考虑到整个训练数据集的统计特性,以确保独立样本的输出稳定性。
摘要由CSDN通过智能技术生成

批量归一化(batch normalization)能够让较深的神经网络训练变得更加容易。


首先来复习一下标准化的定义对数据减去均值之后再除以标准差

标准化处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据使得各个特征的分布相近,往往能够训练出更加有效的模型。

对于浅层模型来说,对输入数据进行标准化就已经足够了。但是对于深度网络来说,即使对输入数据标准化,在经过了深层网络之后,数值依然可能会发生剧烈的变化,这种计算数值的不稳定性通常令我们难以训练出有效的深度模型。

因此提出批量归一化。


批量归一化利用小批量上的均值和标准差,不断调整神经网络的中间输出,从而使整个神经网络在各层的中间输出的数值更加稳定。大体上看,批量归一化可以说将深层网络拆分成一个又一个的浅层网络,并对这些浅层网络都进行标准化的过程

但除此之外,批量归一化还引入了两个可以学习的模型参数,拉伸(scale)参数 \mathbf{\lambda} 和偏移(shift)参数 \beta 。

批量归一化一般在全连接层之后(卷积层之后),激活函数之前使用。假设批量归一化的运算符为 \textbf{BN} 。则

                                                                                 \mathbf{y}^{(i)}=\mathbf{BN}(\mathbf{x}^{(i)})

其由以下几步得到。先对小批量样本B求均值和方差:

                                       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值