normalization是什么意思_normalization用法_normalization怎么读_normalization翻译_normalization含义

CET6单词 2025-07-08 2
normalization是什么意思_normalization用法_normalization怎么读_normalization翻译_normalization含义介绍:
  1. 如何使用AutoML方法学习到最合适的归一化(Normalization)操作?
  2. 如何理解深度学习中Batch Normalization的作用?
  3. 深度学习中,normalization的方法都有哪些?

如何使用AutoML方法学习到最合适的归一化(Normalization)操作?

自动化机器学习提供了一些方法和过程,使非机器学习专家可以使用机器学习,以提高机器学习的效率并加速机器学习的研究。

近年来,机器学习(ML)取得了相当大的成就,并且越来越多的学科依赖它。但是,这一成功关键取决于人类机器学习专家来执行以下任务:

  • 预处理并清理数据。
  • 选择并构建适当的功能。
  • 选择合适的模型系列。
  • 优化模型超参数。
  • 后处理机器学习模型。
  • 严格分析获得的结果。

自动化机器学习的工作原理

使用Machine Learning,您可以按照以下步骤设计和运行自动ML培训实验:

  1. 确定要解决的机器学习问题:分类,预测或回归。

  2. 指定带标签的训练数据的来源和格式:Numpy数组或Pandas数据框

  3. 配置用于模型训练的计算目标,例如本地计算机,机器学习计算,远程VM或Azure Databricks。

  4. 配置自动机器学习参数,这些参数确定不同模型上的迭代次数,超参数设置,高级预处理/功能化以及确定最佳模型时要查看的指标。

  5. 提交训练参数执行即可。

在训练模型期间,机器学习模型会创建许多并行管道,以尝试不同的算法和参数。一旦达到实验中定义的退出阈值,它就会停止并保存模型。

您还可以检查记录的运行信息,其中包含运行期间收集的指标。训练运行将生成一个.pkl包含模型和数据预处理的Python序列化对象(文件)。

在自动进行模型构建的同时,您还可以了解特征对所生成模型的重要性。

预处理

在每个自动机器学习实验中,您的数据都使用默认方法进行预处理,也可以选择通过高级预处理方式进行预处理。

自动化的机器学习预处理步骤(功能归一化,处理缺失数据,将文本转换为数字等)成为基础模型的一部分。使用模型进行预测时,将在训练期间应用的相同预处理步骤自动应用于输入数据。

自动预处理(标准)

在每个自动化的机器学习实验中,您的数据都会自动缩放或标准化,以帮助算法表现良好。在模型训练期间,以下缩放或标准化技术之一将应用于每个模型。

由于这些任务的复杂性通常超出了非ML专家的范围,因此机器学习应用程序的快速增长产生了对现成的机器学习方法的需求,这些方法可以轻松使用而无需专家知识。我们将最终的研究领域称为针对机器学习AutoML的渐进自动化。

如何理解深度学习中Batch Normalization的作用?

Batch Normaliaztion算法是Google在2015年提出来的。其旨在解决神经网络随着层数越来越深,而无法训练的问题。

normalization是什么意思_normalization用法_normalization怎么读_normalization翻译_normalization含义

自2012年AlexNet的提出,深度神经网络特别是卷积神经网络取得了长足的进步,在ImageNet比赛中大放异彩。人们发现卷积神经网络的效果依赖与层数的加深,但是这样却不可避免的出现训练困难的问题。

其原因在于训练卷积神经网络时,采用mini-batch的随机梯度下降算法进行训练,那么随着输入数据的不断变化,网络中的参数会不断调整,导致各层输入数据的分布则会不断变化,而且随着训练次数的增加,分布的差异会越来越大,也就是发生了Internal Covariate Shift。那么更新每一层参数的过程中就需要不断的改变以适应这种新的数据分布,从而大大降低了训练速度,造成训练困难,难以拟合的问题。

因此BN实际上就是对每一层的数据都进行了一次归一化,即均值为0,方差为1,从而使得每一层数据分布的尺度尽可能的相似,来消除Internal Covariate Shift,加速网络训练。但是如果仅仅让数据分布在0左右,那么对于sigmoid激活函数而言,相当于只用到了其线性部分,那么整个网络的拟合能力就会大大下降,因此在对数据进行归一化之后,还需要进行变换重构,即引入新的参数,让网络能够自动的学习恢复出原始网络所需要学习的特征分布。

BN添加的位置具体位于卷积层和激活层之间,BN的实现具体过程如下:

由于BN层优异的特性,不仅极大的加快了训练速度,也大大的减轻了网络调参的难度。比如可以直接使用较大的初始学习率进行训练,因为如果每一层的分布尺度不同,所需的学习率也是不一样的。因此需要使用最小的学习率才能保证损失函数的收敛。而Batch Normalization将每层的数据分布尺度保持一致,就用较高的学习率进行优化。

此外由于BN的引入提升了网络的泛化能力,从而在设计网络时可以移除dropout层、降低权重的L2衰减系数。

深度学习中,normalization的方法都有哪些?

正规化(Normaliaztion)是通过解决深度神经网络中Internal Covariate Shift问题,从而能加快深度网络的训练。其中常用的normalization方法有如下几种:

1)Batch normalization

是最早由google提出的,其方法是对于输入大小为(B,H,W,C)的特征张量(B为训练的批大小,H和W为特征图大小,C为特征图的通道个数),沿着(B,H,W)轴进行归一化,也就是在同一通道内特征值会被归一化。在BN中,假定一批(batch)中每一个都是独立同分布的,用局部的均值和方差来估计出整体的。BN方法因此很依赖于batch大小,特别在小batch如2、4中效果不好,因为无法正确的估计出训练数据整体的统计信息。

2)Renormalization

在BN基础上,针对batch过小和非独立同分布的情况做出的一些改进。在训练的时候采用滑动平均的方法来估计均值和方差,从而减少波动。但是这种方法本质上仍然是依赖于batch的大小。

3)Layer normalization

LN是沿着(C,H,W)轴进行归一化,即对同一批的特征进行归一化。LN假设所有的channel之间是独立同分布的,都有相似的贡献,因此不是很适用于卷积,常用于时序模型RNN中。

4)Instance normalization

IN是沿着(H,W)轴进行归一化,即对同一批统一通道的特征进行归一化。IN在生成和风格转移模型中很有效。但是IN 只依赖于空间维度来计算均值和方差,但是就错失了去探索特征之间的关系。

5)Group normalization

介于LN和IN之间,借鉴了图像SIFT和HOG特征的思想,将特征分组,对每一组进行归一化。当group=1时就等价于layer normalization;当group=C时就等价于instance normalization。GN被证明在分类识别问题中的效果更好。