数据归一化通过确保稳定的训练和一致的噪声处理,显著影响扩散模型的性能。扩散模型的工作原理是逐步向数据添加噪声,并学习逆转此过程。如果数据未归一化——例如,像素值范围为 0-255,而不是像 [-1, 1] 这样的缩放范围——则训练期间添加的噪声会变得不一致。具有较大原始范围的特征(如图像中的亮度)会主导损失函数,导致不稳定的梯度和较慢的收敛速度。归一化标准化输入分布,使模型能够专注于学习模式,而不是补偿尺度差异。例如,大多数图像扩散模型将像素缩放到 [-1, 1],以与其神经网络中的 tanh 激活输出对齐,从而确保噪声均匀地应用于所有样本。
适当的归一化可以提高模型的收敛性和输出质量。当数据缩放到可预测的范围时,扩散过程可以以受控速率应用噪声,从而使模型更容易学习反向去噪步骤。例如,在没有归一化的情况下训练 MNIST 数字可能会导致生成的图像模糊或对比度较低,因为模型难以区分有意义的特征与未归一化的像素变化。相反,归一化的数据允许模型有效地分配容量来处理结构细节,而不是调整尺度。这也适用于非图像数据:音频扩散模型通常将波形归一化为零均值和单位方差,确保噪声的添加和移除与模型的预期动态对齐。如果没有这一点,模型可能会生成伪像或无法捕获高频细节。
但是,不正确的归一化会降低性能。过度归一化(例如,过于紧密地压缩数据)可能会消除有意义的变化,而训练和推理之间的归一化不匹配(例如,训练期间使用 [0, 1],但在运行时使用 [-1, 1])会破坏模型对数据分布的假设。例如,在 [-1, 1] 缩放图像上训练的扩散模型如果在推理期间馈送 [0, 1] 数据,则会产生不正确的输出。开发人员还必须考虑数据类型:3D 网格或表格数据可能需要每个特征的缩放,而不是全局归一化。实际建议包括严格记录归一化步骤,并测试特定领域的缩放(例如,对倾斜数据进行对数转换)是否可以改善结果。总之,归一化是一个基础步骤,正确应用后可以稳定训练并最大限度地提高扩散模型有效学习数据模式的能力。