深圳Yolo 视觉
深圳
立即加入
词汇表

归一化

探索归一化在机器学习中的强大功能! 了解它如何增强模型训练、提高性能并确保强大的 AI 解决方案。

规范化是一种基本的 归一化是一种基本的数据预处理技术,用于将数据集中的 通常不会扭曲数值范围的差异或丢失信息。 或丢失信息。在 机器学习(ML)深度学习 (DL) 的背景下,这一过程对于 确保输入数据采用算法可以高效处理的格式。通过调整数值--通常调整到 通常在 0 和 1 之间,规范化可以防止数值较大的特征在模型的学习过程中占主导地位,从而确保所有特征的贡献一致。 从而确保所有输入数据在模型训练过程中的贡献一致。 模型训练

为什么规范化在人工智能中很重要

规范化的主要目的是提高优化算法的稳定性和速度。 优化算法的稳定性和速度。许多算法 如 随机梯度下降算法(SGD)、 依赖于计算数据点之间的距离或梯度。如果一个特征的范围从 0 到 100,000(如房价 价格),而另一个特征从 0 到 10(如房间数),优化器将很难有效地导航损失函数。 损失函数

适当的规范化有几个主要好处:

  • 收敛更快:它允许梯度下降算法 梯度下降算法更快地收敛到最优解 更快地达到最优解,从而减少所需的计算资源。
  • 数值稳定性:保持较小的数值可避免数值问题,如 梯度爆炸等数值问题。 梯度爆炸,即大量误差梯度累积,导致网络更新不稳定。
  • 同等重要:确保模型在初始时将所有特征视为同等重要 以防止偏向幅度较大的变量。这是稳健 特征工程的一个核心方面。

常见的标准化技术

有几种方法可以对数据进行归一化处理,每种方法都适用于不同的分布和算法。

  • 最小-最大缩放:这是最常见的归一化形式。它将数据重新调整到一个固定的 范围,通常为 [0,1]。具体方法是减去最小值,再除以范围(最大值减去 最小值)。您可以在 Scikit-Learn MinMaxScaler 文档中查看数学实现。
  • Z 分数标准化:常与标准化混淆、 标准化(或 Z 值归一化) 这在数据遵循高斯分布时非常有用。 高斯分布
  • 对数缩放:对于尾部较长或有极端离群值的数据,应用对数变换 可以压缩数值范围,使分布更易于神经网络(NN 神经网络 (NN)

标准化与批量标准化

重要的是要区分输入数据的规范化和 批量规范化.

  • 数据规范化:预处理注释数据阶段。 它在原始输入数据(如图像或表格数据)进入模型之前进行。
  • 批量归一化:是深度神经网络使用的一种特定层技术。它 在训练过程中对每个迷你批次的层激活进行归一化。数据归一化为 输入,而批量归一化则能稳定内部学习过程,帮助深度架构,如 YOLO11等深度架构进行更深入、更快速的训练。

实际应用

规范化在人工智能的各个领域无处不在。

  1. 计算机视觉(CV):在诸如 物体检测图像分类等任务中,图像由 像素值从 0 到 255 不等。将这些大整数直接输入网络会减慢学习速度。A 标准的预处理步骤是将像素值除以 255.0,使其归一化为 [0, 1] 范围。这 等模型的标准化输入。 YOLO11和 即将推出的YOLO26 等模型的标准化输入。
  2. 医学图像分析:医疗扫描,如用于 人工智能在医疗保健领域的应用。 机器,其强度标度各不相同。归一化可确保核磁共振成像或 CT 扫描的像素强度在不同患者之间具有可比性。 可比性,这对准确检测肿瘤至关重要。 肿瘤检测至关重要。

实施实例

虽然高级库,如 ultralytics 在训练管道中自动处理图像归一化 了解底层逻辑很有帮助。下面是一个 Python 举例说明 numpy 来演示如何手动将 将图像像素数据从 0-255 范围归一化为 0-1。

import numpy as np

# Simulate a 2x2 pixel image with 3 color channels (RGB)
# Values range from 0 to 255
raw_image = np.array([[[10, 255, 128], [0, 50, 200]], [[255, 255, 255], [100, 100, 100]]], dtype=np.float32)

# Apply Min-Max normalization to scale values to [0, 1]
# Since the known min is 0 and max is 255, we simply divide by 255.0
normalized_image = raw_image / 255.0

print(f"Original Max: {raw_image.max()}")
print(f"Normalized Max: {normalized_image.max()}")
print(f"Normalized Data Sample:\n{normalized_image[0][0]}")

这一简单的操作可为神经网络 为神经网络摄取数据做准备,确保各层中的数学运算以最佳方式运行。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入