©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 科学空间
研究方向 | NLP、神经网络
如何减少采样步数同时保证生成质量,是扩散模型应用层面的一个关键问题。其中,《生成扩散模型漫谈:DDIM = 高观点DDPM》介绍的 DDIM 可谓是加速采样的第一次尝试。
后来,《生成扩散模型漫谈:一般框架之SDE篇》、《生成扩散模型漫谈:一般框架之ODE篇》等所介绍的工作将扩散模型与 SDE、ODE 联系了起来,于是相应的数值积分技术也被直接用于扩散模型的采样加速,其中又以相对简单的 ODE 加速技术最为丰富,我们在《生成扩散模型漫谈:中值定理加速ODE采样》也介绍过一例。
这篇文章我们介绍另一个特别简单有效的加速技巧——Skip Tuning,出自论文《The Surprising Effectiveness of Skip-Tuning in Diffusion Sampling》,准确来说它是配合已有的加速技巧使用,来一步提高采样质量,这就意味着在保持相同采样质量的情况下,它可以进一步压缩采样步数,从而实现加速。
模型回顾
一切都要从 U-Net 说起,这是当前扩散模型的主流架构,后来的 U-Vit [1] 也保持了大致相同的形式,只不过将 CNN-based 的 ResBlock 换成了 Attention-based。
U-Net出自论文《U-Net: Convolutional Networks for Biomedical Image Segmentation》[2],最早是为图像分割设计。它的特点是输入和输出的大小一致,这正好契合了扩撒模型的建模需求,所以自然地被迁移到了扩散模型之中。形式上看,U-Net 跟常规的 AutoEncoder 很相似,都是逐步下采样然后又逐步上采样,但它补充了额外的 Skip Connection,来解决 AutoEncoder 的信息瓶颈:
▲ U-Net 论文的示意图
不同的论文实现的 U-Net 在细节上可能不一样,但都有相同的 Skip Connection,大致上就是第一层(block)的输出有一条“捷径”直达倒数第一层,第二层的输出有一条“捷径”直达倒数第二层,依此类推,这些“捷径”就是 Skip Connection。如果没有 Skip Connection,那么由于木桶效应,模型的信息流动就受限于分辨率最小的 feature map,那么对于要用到完整信息的任务如重构、去噪等,就会得到模糊的结果。
除了避免信息瓶颈外,Skip Connection 还起到了线性正则化的作用。很明显,如果靠近输出的层只使用 Skip Connection 作为输入,那么等价于后面的层都白加了,模型愈发接近一个浅层模型甚至线性模型。因此,Skip Connection 的加入鼓励模型优先使用尽可能简单(即越接近线性)的预测逻辑,只有在必要情况下才使用更复杂的逻辑,这就是 inductive bias 之一。
寥寥几行
了解 U-Net 之后,Skip Tuning 其实几句话就可以说完了。我们知道,扩散模型的采样是一个多步递归地从 到 的过程,这构成了 到 的一个复杂的非线性映射。出于实用的考虑,我们总希望减少使用采样步数,而不管具体用哪种加速技术,最终都在无形之中降低了整个采样映射的非线性能力。
很多算法如 ReFlow [3] 的思路是通过调整 noise schedule 让采样过程走尽量“直”的路线,这样它采样函数本身就尽可能线性,从而减少加速技术带来的质量下降。而 Skip Tuning 则反过来想:既然加速技术损失了非线性能力,我们可不可以从其他地方将它补回来?
答案就在 Skip Connection 上,刚才我们说了它的出现鼓励模型简化预测逻辑,如果 Skip Connection 越重,那么越接近一个简单的线性模型甚至恒等模型,那么反过来降低 Skip Connection 的权重,就可以增加模型的非线性能力。
当然,这只是增加模型非线性能力的一种方式,不能保证它增加的非线性能力正好是采样加速损失掉的非线性能力,而 Skip Tuning 的实验结果表明两者正好一定的等价性!所以顾名思义,对 Skip Connection 的权重做一定的 Tuning,就可以进一步提高加速后的采样质量,或者在保持采样质量的前提下减少采样步数。
Tuning 的方式很简单,假设有 个 Skip Connection,我们将最靠近输入层的 Skip Connection 乘以 ,最远离输入层的 Skip Connection 乘以 ,剩下的按照深度均匀变化就行,多数情况下我们都设 ,所以基本上就只有 一个参数需要调。
Skip Tuning 的实验效果也是相当不错的,下面摘录了两个表格,更多实验效果图可以自行阅读原论文。
▲ Skip Tuning效果1
▲ Skip Tuning效果2
个人思考
这应该是扩散系列最简单的一篇文章,没有冗长的篇幅,也没有复杂的公式,读者直接去读原论文肯定也容易搞懂,但笔者仍然愿意去向介绍一下它。跟上一篇文章《生成扩散模型漫谈:信噪比与大图生成(下)》一样,它体现的是作者别出心裁的想象力和观察力,这是笔者自觉相当欠缺的。
跟 Skip Tuning 比较相关的一篇论文是《FreeU: Free Lunch in Diffusion U-Net》[4],它分析了 U-Net 的不同成分在扩散模型中的作用,发现 Skip Connection 主要负责添加高频细节,主干部分则主要负责去噪。
这样一来我们似乎可以从另一个角度来理解 Skip Tuning 了:Skip Tuning 主要实验的是 ODE-based 的扩散模型,这种扩散模型在缩减采样步数时往往噪点会增加,所以缩小 Skip Connection,相对来说也就是加大了主干的权重,增强了去噪能力,属于“对症下药”。
反过来,如果是 SDE-based 的扩散模型,可能要减少 Skip Connection 的缩小比例,甚至可能要反过来增加 Skip Connection 的权重,因为此类扩散模型在缩减采样步数时往往会生成过度平滑的结果。
Skip Tuning 调整的是 Skip Connection,那么像 DiT [5] 这种没有 Skip Connection 的是不是就没有机会应用呢?应该也不至于,DiT 虽然没有 Skip Connection,但还是有残差,Identical 分支的设计本质上也是线性正则化的 inductive bias,所以如果没有 Skip Connection,调调残差可能也会有所收获。
文章总结
这篇文章介绍了一个能有效地提高扩散模型加速采样后的生成质量的技巧——降低 U-Net 的“捷径”(即 Skip Connection)的权重。整个方法框架非常简单明快,直观易懂,值得学习一番。
参考文献
[1] https://papers.cool/arxiv/2209.12152
[2] https://papers.cool/arxiv/1505.04597
[3] https://kexue.fm/archives/9497
[4] https://papers.cool/arxiv/2309.11497
[5] https://papers.cool/arxiv/2212.09748
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·