一文彻底搞懂深度学习 - 归一化(Normalization)

文摘   科技   2024-11-21 22:06   湖北  

在深度学习中,归一化是数据预处理中一个至关重要的步骤。归一化技术通过调整输入数据的尺度,使得数据具有相似的分布范围,提高模型的求解速度和泛化能力。

常用的归一化方法,包括批量归一化(Batch Normalization)层归一化(Layer Normalization)组归一化(Group Normalization)实例归一化(Instance Normalization)等。

Normalization

一、归一化

归一化(Normalization)是什么?归一化是一种数据预处理技术,旨在将数据的数值范围缩放到一个特定的尺度,通常是为了消除不同特征之间的量纲差异,使得数据更加适合进行后续的分析和处理

归一化是深度学习中不可或缺的数据预处理步骤。通过合理的归一化处理,可以显著提高模型的训练效率和性能,为深度学习模型的优化和泛化能力的提升提供有力支持。

为什么需要归一化由于目标函数拥有众多参数且结构复杂,直接寻找最优参数变得十分困难。因此,我们需要借助优化器,它能够逐步调整参数,确保每次优化都朝着最快降低损失的方向前进。

归一化的过程是什么?归一化是通过确定数据的取值范围应用相应的归一化公式将数据转换到新的稳定尺度,从而得到更加适合后续分析和处理的数据集的过程。

  1. 确定归一化的范围:确定数据的取值范围,即数据的最大值和最小值。在某些情况下,也可以根据需要选择其他统计量(如均值和标准差)来确定归一化的范围。

  2. 应用归一化公式:根据选定的归一化范围,应用相应的归一化公式将数据转换到新的尺度。常见的归一化公式包括线性函数归一化(将数据映射到[0,1]或[-1,1]的范围)和Z-score标准化(将数据转换为标准正态分布)。

  3. 得到归一化后的数据:应用归一化公式后,即可得到新的、经过归一化处理的数据集。这些数据集在数值上更加稳定,有利于后续的分析和处理。

二、常用的归一化

常用的归一化有哪些?常用的归一化主要包括批量归一化(BN)层归一化(LN)组归一化(GN实例归一化(IN)等,它们各有其独特的应用场景和优势,选择哪种归一化方法通常取决于具体任务和数据的特点。

1. 批量归一化(Batch Normalization, BN)

  • 方法在神经网络的每一层中,对每个mini-batch的输入进行归一化处理。通过减去均值,再除以标准差,将输入数据转化为均值为0,标准差为1的分布

  • 优点加速网络训练、防止梯度问题、优化正则化效果、降低学习率要求,并有助于缓解过拟合,从而显著提升神经网络的性能和稳定性。

  • 应用场景:适用于大多数神经网络场景,特别是在训练深层网络时。

2. 层归一化(Layer Normalization, LN)

  • 方法在神经网络的每一层中,对每个样本的所有特征维度进行归一化处理通过减去均值,再除以标准差,将每个样本的特征维度转化为均值为0,标准差为1的分布。
  • 优点:在训练样本较小、样本间相互影响较大的情况下更稳定。
  • 应用场景如循环神经网络(RNN)等场景。

3. 实例归一化(Instance Normalization, IN)

  • 方法:对每个样本的特征维度进行归一化。通过减去均值,再除以标准差,将每个样本的特征维度转化为均值为0,标准差为1的分布。
  • 优点更适用于图像生成等任务中,每个样本的特征维度独立于其他样本的情况。
  • 应用场景图像生成任务等。

4. 组归一化(Group Normalization, GN)

  • 方法:在神经网络的每一层中,将特征分成若干组,对每个组的特征进行归一化处理。通过减去均值,再除以标准差,将每个组的特征维度转化为均值为0,标准差为1的分布。

  • 优点:适用于样本较小、样本间相互影响较大,但又不需要对整个mini-batch进行归一化的情况。

  • 应用场景:图像分割任务等。

为了帮助更多人(AI初学者、IT从业者)从零构建AI底层架构,培养Meta Learning能力;提升AI认知,拥抱智能时代。

建立了 架构师带你玩转AI 知识星球

【架构师带你玩转AI】:公众号@架构师带你玩转AI 作者,资深架构师。2022年底,ChatGPT横空出世,人工智能时代来临。身为公司技术总监、研发团队Leader,深感未来20年属于智能时代。

选择加入即可获得:
1、10个专栏技术干货
2、1v1技术指导
3、每周读书分享
4、每月4次技术培训,每月1次技术实战
公众号一周年之际,答谢粉丝,特申请了100份星球优惠券

架构师带你玩转AI
分享人工智能,让所有人玩转AI
 最新文章