斯坦福 CS229 机器学习 2026 春季 第12讲:表示学习
扩散模型训练与损失函数
损失函数
扩散模型通过学习逆转前向噪声过程来进行训练。目标是参数化一个逆向分布 $p_ heta(x_{t-1} | x_t)$,以便从噪声重建出干净的图像。
训练扩散模型的正式目标是最大化数据的对数似然,这导致了证据下界(ELBO)。这可以简化为 $t=1$ 到 $T$ 的一系列项 $L_{t-1}$。
在实际应用中,ELBO 推导出的复杂系数常被省略。训练目标变为最小化逆向过程的真实均值(给定原始数据 $x_0$)与预测均值 $\mu_\theta(x_t, t)$ 之间的平方差之和:
$$ \text{Loss} = \mathbb{E} [\mu_{\tilde{t}}(x_t, x_0) - \mu_\theta(x_t, t)]^2 $$
噪声预测重参数化
与其直接预测均值 $\mu_\theta$,从业者通常会重新参数化网络以预测被添加到原始图像 $x_0$ 以生成噪声图像 $x_t$ 的噪声 $\epsilon$。
通过硬编码已知的 $x_t$、$x_0$ 和噪声 $\epsilon$ 之间的线性关系,损失函数简化为噪声预测问题:
$$ \text{Loss} = \mathbb{E} [\epsilon - \epsilon_\theta(x_t, t)]^2 $$
这将生成任务转化为一系列更小、局部更易于重构的步骤。模型从纯白噪声开始,逐步锐化图像,在每一步添加细节。
基础模型范式
基础模型代表了机器学习从特定任务训练转向两阶段范式:预训练和适应。
预训练
预训练涉及在巨大、多样且通常未标注的数据集上训练模型。重点在于规模和多样性,而不是严格的数据质量。此阶段创建了一个“基础”——一个通用模型,能够从数据中捕获广泛的语义信息。
适应
适应是将预训练的基础模型定制为特定下游任务的过程。这可以在以下几种情境下发生:
- 零样本学习: 模型基于描述解决任务,无需任何特定任务的训练数据。
- 少样本学习: 模型使用非常小的标注数据集进行适应(例如 5-10 个样本)。
- 微调: 模型使用较大的标注数据集针对特定任务进行更新。
表示学习与适应技术
表示学习侧重于训练一个模型 $f_\theta$,将原始数据 $x$ 映射到低维向量(嵌入或特征)。然后使用该表示来解决下游任务。
线性探测
线性探测是一种技术,其中表示模型 $f_\theta$ 被保持冻结,而一个简单的线性头(权重向量 $w$)在固定嵌入之上进行训练,以预测目标 $y$。这非常有效,因为预训练的表示通常会将原始数据中的非线性关系转换为嵌入空间中的线性关系。
微调与 LPFT
在完整微调中,线性头 $w$ 和表示参数 $\theta$ 都会被优化。尽管损失函数可能与线性探测相同,但使用预训练模型初始化 $\theta$ 通常能够获得更好的全局最小值,并且相比从头开始训练,测试性能更佳。
LPFT (Linear Probing then Fine-Tuning) 是一种混合方法,其中模型首先通过线性探测(仅优化 $w$)进行训练,以在头部和表示之间建立稳定的连接。随后,共同优化 $w$ 和 $\theta$。这可以防止线性头的随机初始化在微调早期阶段“破坏”预训练的表示。
低秩适应 (LoRA)
LoRA 是一种高效的适应方法,避免在大型模型中更新所有数十亿个参数。与其将权重矩阵 $W$ 更新为 $W + \Delta W$,LoRA 将更新 $\Delta W$ 限制为低秩分解:$\Delta W = AB$,其中 $A$ 和 $B$ 是内部维度 $r$ 远小于原始维度的矩阵。
LoRA 的优势
- 内存效率: 虽然前向传播仍然需要原始冻结权重 $W_0$,但 LoRA 大幅减少了梯度和优化器状态(如 Adam 中的动量)所需的内存,因为这些仅存储在小矩阵 $A$ 和 $B$ 中。
- 多租户服务: LoRA 适合为许多用户提供服务。可以在内存中保持单个共享的 $W_0$,而小型的用户特定适配器 ($A_i, B_i$) 可以快速切换进出。这使得提供商能够为数千个定制模型提供服务,而无需为每个用户复制巨大的基础模型。