深度学习中归一化的方法

深度学习中常用的归一化方法有:最大最小归一化(Min-Max Scaling)、Z-score归一化(Standardization)、小数定标归一化(Decimal Scaling)、批量归一化(Batch Normalization,BN)、层归一化(Layer Normalization,LN)、实例归一化(Instance Normalization,IN)和组归一化(Group Normalization,GN)。

  1. 最大最小归一化(Min-Max Scaling):将数据缩放到一个指定的最小值和最大值之间。对于每个特征,它将原始值减去最小值,并除以最大值与最小值之差。这种方法将数据线性映射到[0,1]范围内。这种归一化方法适用于特征值分布有确定的上下界的情况,如图像像素值等。例如,将图像的像素值从0-255范围归一化到0-1范围。

  2. Z-score归一化(Standardization):通过减去均值,再除以标准差,将数据转化为标准正态分布。这种方法假设数据服从正态分布,将数据减去均值后,均值为0,标准差为1。Z-score归一化适用于特征值分布无特定上下界的情况,例如文本数据中的词频。例如,将NLP任务中的词频向量进行Z-score归一化。

  3. 小数定标归一化(Decimal Scaling):将数据除以10的幂次,使得数据的绝对值都小于1。这种方法不需要知道数据的分布情况,适用于特征值分布无特定上下界的情况。例如,将一个图像的像素值除以255,将其范围归一化到0-1。

  4. 批量归一化(Batch Normalization,BN):在神经网络的每一层中,对每个mini-batch的输入进行归一化处理。它通过减去均值,再除以标准差,将输入数据转化为均值为0,标准差为1的分布。这样可以加速网络的训练过程,同时可以防止梯度消失或爆炸的问题。例如,在图像分类任务中,对于每个卷积层或全连接层的输出进行批量归一化。

  5. 层归一化(Layer Normalization,LN):与批量归一化类似,但是在层归一化中,每个样本的特征维度上进行归一化。它通过减去均值,再除以标准差,将每个样本的特征维度转化为均值为0,标准差为1的分布。相比于批量归一化,层归一化在训练样本较小、样本间相互影响较大的情况下更稳定。例如,在NLP任务中,对于每个样本的词向量进行层归一化。

  6. 实例归一化(Instance Normalization,IN):与批量归一化类似,但是在实例归一化中,对每个样本的特征维度进行归一化。它通过减去均值,再除以标准差,将每个样本的特征维度转化为均值为0,标准差为1的分布。与批量归一化相比,实例归一化更适用于图像生成等任务中,每个样本的特征维度独立于其他样本的情况。例如,在图像生成任务中,对于每个样本的特征图进行实例归一化。

  7. 组归一化(Group Normalization,GN):在神经网络的每一层中,将特征分成若干组,对每个组的特征进行归一化处理。组归一化可以看作是批量归一化和层归一化的一种折中方法。它通过减去均值,再除以标准差,将每个组的特征维度转化为均值为0,标准差为1的分布。组归一化适用于样本较小、样本间相互影响较大,但又不需要对整个mini-batch进行归一化的情况。例如,在图像分割任务中,对于每个卷积层输出的特征图进行组归一化。每个特征图对应一个通道,而组归一化是将特征图按照通道分成若干组,然后对每一组进行独立的归一化操作。

以上是对深度学习中常用归一化方法的通俗易懂解释及示例。归一化的数据维度取决于具体的应用场景,例如图像分类任务中,数据维度可以是图像的像素值;NLP任务中,数据维度可以是词频向量或词嵌入向量。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值