自编码器学习过程的核心在于让输出 x^ 尽可能接近原始输入 x。但我们如何量化这种“接近度”呢?损失函数在此处发挥作用。损失函数,又称成本函数或误差函数,用于衡量自编码器重建结果与原始输入之间的差异。在训练期间,自编码器会调整其内部参数(权重和偏置)以减少此损失,从而提高其准确重建输入的能力。
损失函数的选择并非随意。它很大程度上取决于您处理的数据类型以及您对其分布的假设。接下来,我们介绍用于训练自编码器的最常用损失函数。
损失函数评估原始输入 x 与自编码器重建结果 x^ 之间的差异。此评估用于指导训练过程。
均方误差 (MSE)
如章前介绍所述,均方误差 (MSE) 是一种广泛使用的损失函数,特别适用于处理连续输入数据,例如灰度或彩色图像的像素值(通常归一化到 [0,1] 或 [−1,1] 等范围),或一般实值特征。
对于包含 N 个样本的数据集,MSE 的计算公式为:
MSE=N1∑i=1N(xi−x^i)2
如果输入 xi 是一个向量(例如,展平的图像或表格数据集中的一行),则平方差 (xi−x^i)2 会变为该向量所有维度上平方差的总和。对于一个 H×W 像素的图像,单张图像的损失为 H×W1∑j=1H×W(xj−x^j)2,其中 xj 是单个像素值。
MSE的特点:
- 对异常值的敏感性: 因为误差是平方的,MSE 对较大误差的惩罚比对较小误差的惩罚要大得多。少数具有很大重建误差的像素可能会主导损失值。如果特别不希望出现大误差,这可能有利,但也可能使模型对噪声数据或异常值过于敏感。
- 平滑性: MSE 是一个可微分函数,这对于反向传播等基于梯度的优化方法很重要。
- 典型应用场景: 重建具有连续像素强度的图像,或目标值为连续值的任何回归类任务。它通常会导致重建结果显得略微模糊,因为模型会尝试平均各种可能性以减少平方误差。
二进制交叉熵 (BCE)
当您的输入数据是二值的(例如,像素为 0 或 1 的黑白图像),或者当像素值归一化到 [0,1] 范围并可解释为概率时(例如,像素为“亮”的概率),二进制交叉熵 (BCE) 通常是更合适的选择。
对于单个数据点 x(可以是单个像素或整个输入向量)及其重建 x^,BCE 损失通常定义为:
L(x,x^)=−∑j[xjlog(x^j)+(1−xj)log(1−x^j)]
此求和涵盖输入 x 的所有单个分量 j(例如,图像中的所有像素)。一批 N 个样本的总损失将是这些单独损失的平均值。
BCE 的要点:
- 输出激活: 为了有效使用 BCE,解码器的输出层应采用 sigmoid 激活函数。这确保了重建值 x^j 限制在 0 到 1 之间,使其可以被解释为概率。
- 解释: BCE 衡量两个概率分布之间的差异。在此背景下,它指的是真实分布(其中 xj 为 0 或 1)和预测分布(由 x^j 给出)。
- 特性:
- 如果 xj=1,损失变为 −log(x^j)。为了减少损失,x^j 必须接近 1。
- 如果 xj=0,损失变为 −log(1−x^j)。为了减少损失,x^j 必须接近 0。
- 典型应用场景: 重建二值图像,或像素强度归一化到 [0,1] 并被视为概率的图像数据。它也是伯努利输出分布的标准损失。
平均绝对误差 (MAE) / L1 损失
另一种适用于连续数据的选择是平均绝对误差 (MAE),也称为 L1 损失:
MAE=N1∑i=1N∣xi−x^i∣
与 MSE 类似,如果 xi 是一个向量,此函数会在所有维度上求和。
MAE 的特点:
- 对异常值的影响较小: 与 MSE 相比,MAE 对异常值敏感度较低,因为它不计算误差的平方。较大误差受到线性惩罚。
- 重建结果可能不够清晰: 尽管其性能可靠,但 MAE 有时可能导致重建结果不如使用 MSE 训练的结果清晰或更模糊,尽管这取决于具体情况。
- 对于标准自编码器图像重建任务,它不如 MSE 常用,但在特定情况下,尤其是在已知存在异常值问题时,它是一个可行的选择。
选择合适的损失函数
损失函数的选择主要取决于输入数据的性质:
- 对于实值、连续数据(例如,传感器读数、归一化图像像素强度): MSE 是常见的默认选择。
- 对于二值数据或表示概率的数据(例如,像素归一化到 [0,1] 且解码器具有 sigmoid 输出): 通常更倾向于使用 BCE。
- 如果您的数据存在明显异常值且您想减少其影响: 可以考虑使用 MAE 作为 MSE 的替代方案。
另外,值得注意的是,损失函数的选择隐含地决定了自编码器优先学习数据的哪些方面。如果损失函数对某些类型的误差给予重罚,自编码器将更努力地避免这些误差,这反过来会影响其在瓶颈层学习到的特征。例如,MSE 的平均化倾向如果管理不当,可能会平滑掉高频细节,而 BCE 可能更擅长保留概率上的区别。
最终目标是选择一个与您针对特定任务定义的“良好”重建结果相符的损失函数。这种审慎的选择对于训练一个不仅能很好地重建数据,还能学习到有意义且有用的潜在表示的自编码器十分重要。