DASH: Dual-Branch Score Distillation for Guidance-Calibrated Compact Diffusion Models
该论文介绍了 DASH,一种双支路蒸馏框架,它通过独立监督两个分数支路并迁移教师模型的权重课程,解决了压缩扩散模型中欠定的引导差距问题,从而在保持高质量引导保真度的同时实现了显著的参数缩减。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你有一位大师级厨师(教师模型),他以烹饪完美且复杂的菜肴(生成高质量图像)而闻名。这位厨师有一个特别的技巧:他可以用两种方式烹饪同一道菜。首先,他完全按照顾客的订单来烹饪(带有特定的标签,比如“咖喱鸡”)。其次,他会烹饪一个没有任何具体指令的“空白”版本(无条件版本)。
为了获得最佳效果,厨师会将这两种版本混合在一起。他会取出空白版本,并根据“空白版本”与“特定订单”之间的差异,加入一份“风味提升”。这份“风味提升”正是让最终成品尝起来完全符合顾客要求的关键。
现在,想象你想雇佣一位初级厨师(学生模型)来胜任这份工作,但你需要把他们的厨房缩小到一个小公寓里(这是模型压缩)。你希望这位初级厨师比大师小 6 倍,但依然能做出同样出色的水平。
问题:“幽灵”食谱
在以往训练这些初级厨师的尝试中,研究人员只告诉他们:“让最终混合后的菜肴尝起来和大师的一样。”
这里有一个陷阱:初级厨师可能会作弊。他们可能会决定:“我干脆让‘空白’菜肴和‘特定’菜肴的味道变得一模一样吧。”如果这两道菜的味道完全相同,那么“风味提升”(两者之间的差异)就会变成零。厨师不再添加任何风味提升。
- 结果: 从数学上看,这道菜味道很好(误差很低),但“风味提升”已经枯竭了。厨师无法再遵循特定的指令。菜肴变得平庸且模糊。这被称为引导崩溃(Guidance Collapse)。
解决方案:DASH(双分支分数蒸馏)
论文引入了 DASH,这是一种新的训练方法,它通过像一位严厉的主厨那样,不仅盯着最终的盘中菜肴,还盯着初级厨师的两个独立工作台来解决这个问题。
双分支规则: DASH 不仅仅检查最终的混合菜肴,它强制要求初级厨师学习两份独立的食谱:
- 分支 A: “让‘空白’菜肴的味道与大师的‘空白’菜肴完全一致。”
- 分支 B: “让‘特定’菜肴的味道与大师的‘特定’菜肴完全一致。”
- 为什么有效: 通过强制要求这两道独立的菜肴都必须完美,这种“差异”(风味提升)就会被自动保留下来。初级厨师无法再通过让它们变得相同来作弊。
锚点(The Anchor): 为了确保初级厨师在早期不会感到困惑,DASH 给他们一个小提示:“记住,‘特定’菜肴实际上是基于这个原始噪声生成的。”这让他们在学习过程中保持基础稳固。
“小抄”(TIRT 迁移):
- 大师厨师在数月的学习中掌握了何时该集中精力。例如,他知道烹饪过程的中段是最困难的部分,需要投入最多的注意力。
- 通常,当你雇佣一位新厨师时,他们必须从头开始重新学习这个进度表。
- DASH 给初级厨师提供了一份冻结的“小抄”。它复制了大师精确的“何时努力工作”的进度表并将其锁定。初级厨师不需要浪费时间重新学习“何时”去专注,他们只需要专注于“如何”烹饪。
实验结果
论文在两个数据集(CIFAR-10 和 CIFAR-100,类似于简单和复杂的拼图集)上测试了该方法。
- 压缩率: 他们将模型从 3580 万个参数(大师)缩小到了 610 万个(初级厨师)。这实现了 5.9 倍的缩减。
- 质量: 尽管初级厨师规模很小,但他们制作出的图像几乎与大师一样好(在名为 FID 的质量评分上仅差 4 个点)。
- 证明: 当他们移除“双分支规则”(特别是关于“空白”分支的规则)时,质量大幅下降。这证明了观察“空白”分支是其秘方中最关键的部分。
总结
可以将 DASH 理解为一个防止学生“钻空子”的训练系统。
- 旧方法: “让最终结果看起来很好。”(学生通过忽略指令来作弊)。
- DASH 方法: “让‘带指令’的部分完美,并且让‘不带指令’的部分也完美。另外,这是大师的学习进度表,让你知道什么时候该专注。”
这确保了即使在模型被缩小到原始规模的一小部分时,它仍然能够完美地遵循特定指令,从而保持“风味提升”的活力,并让图像保持清晰。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。