生成式数据集蒸馏:从潜空间优化到生成器蒸馏
本文最后更新于 2026年8月8日
PAPER READING · LOCAL NOTE REVISED
传统数据集蒸馏通常直接把合成图像的像素当作可学习参数。自由度很高,但也容易学到依赖特定网络的高频模式,并且随分辨率和 IPC 增长迅速变贵。生成式数据集蒸馏换了一个问题:与其逐像素存知识,能否把知识压缩到生成模型的潜变量或参数中?
三种优化空间
flowchart LR
A[真实数据] --> B{知识压缩到哪里}
B --> P[合成图像像素]
B --> L[预训练生成器潜空间]
B --> G[生成器参数]
P --> O[固定规模合成集]
L --> O
G --> D[按需生成不同规模数据]
三条路线的区别,不只是生成图像是否更自然,而是蒸馏知识的载体发生了变化:
- 像素优化:每张合成图像本身就是参数;
- 潜空间优化:优化生成器中的 latent code,再解码为训练图像;
- 生成器蒸馏:直接更新生成器,让模型参数承载整个数据集的知识。
GLaD:用深度生成先验约束合成空间
GLaD 将传统蒸馏目标从像素空间迁移到预训练 StyleGAN 的中间潜空间。设生成器为 ,潜变量为 ,则合成样本不再直接优化 ,而是:
生成先验限制了可搜索空间,减少任意高频噪声,并提升跨架构泛化。不同层的潜空间提供不同权衡:较早层更贴近生成器先验,较晚层自由度更高,但也更可能重新引入架构相关模式。
它的代价同样明显:生成器前向传播占用显存;为了对 latent code 求梯度,常需要梯度检查点或重复前向;生成器自身的训练分布还会限制可表达的数据域。
GDD:同时保留全局语义与局部细节
Generative Dataset Distillation 把数据集知识蒸馏到条件生成器中。作者指出,只匹配最终层表示更偏向全局语义,可能忽略形状、纹理等局部信息,因此同时对齐中间层与最终层特征。
一个抽象目标可以写成:
其中 表示更关注局部细节的中间层, 表示高层语义。最终保存的是生成器,而不是固定数量的合成图像,因此可以按不同 IPC 重新采样,减少重新蒸馏的成本。
D2M:把数据知识写入生成模型
Data-to-Model Distillation 进一步把真实数据知识蒸馏进预训练生成模型的可学习参数,并通过多层表示和通道注意力对齐真实图像与生成图像。它针对三个常见问题:
- 改变蒸馏比例时需要重新优化整组合成图像;
- 像素级优化难以扩展到高分辨率数据;
- 合成数据对深层网络和未见架构的泛化不足。
核心变化是从“学习一个数据张量”转向“学习一个可采样的数据模型”。这样一来,知识载体具有生成能力,但训练成本也从合成样本转移到了生成器优化。
D3M:扩散潜空间中的原型表示
我的研究工作 D3M 关注同一条主线:在扩散模型潜空间中构造兼具代表性与多样性的训练原型,再通过加噪与去噪过程生成蒸馏图像。相比自由像素优化,潜空间提供更强的语义先验;相比只追求视觉真实性,蒸馏目标仍然由下游任务效用决定。
我理解这类方法的关键矛盾是:
生成先验越强,图像越自然,但搜索空间可能越受限;优化自由度越高,任务适配能力越强,也越容易过拟合蒸馏架构。
方法对比
| 方法 | 主要优化对象 | 可变 IPC | 关键优势 | 主要风险 |
|---|---|---|---|---|
| 像素级蒸馏 | 合成图像像素 | 通常不便 | 目标直接、实现通用 | 高频噪声与架构过拟合 |
| GLaD | 预训练生成器 latent | 有限 | 真实感与跨架构性更好 | 受生成器先验和显存限制 |
| GDD | 条件生成器参数 | 是 | 兼顾全局语义与局部特征 | 难扩展到复杂高分辨率数据 |
| D2M | 预训练生成模型参数 | 是 | 可重新采样,适配不同规模 | 生成器训练与部署成本 |
| D3M | 扩散模型潜空间原型 | 可扩展 | 代表性、多样性与生成先验结合 | 需要平衡约束强度与可塑性 |
我的阅读结论
- 视觉真实不等于训练有效:FID、IS 等生成指标不能替代下游模型准确率;
- 优化空间决定泛化边界:像素、latent 与生成器参数分别对应不同的自由度和先验强度;
- 软标签很重要:在大类别空间中,类别间关系往往比单一硬标签包含更多监督信息;
- 跨架构评估不可省略:只在蒸馏骨干上测试,无法判断合成集是否真正保留了数据知识;
- 规模化需要解耦:把数据生成、知识提取和下游训练完全绑定在一个双层循环里,很难走向大规模数据。
后续值得继续追踪的问题包括:扩散先验与任务监督如何自适应加权、生成器是否能服务多个下游任务,以及合成数据的多样性该如何在特征空间中可靠度量。