← 返回 PaperDaily
视觉与图像
何凯明团队最新BiFlow:告别万步自回归,归一化流一步生成FID 2.39
说起生成模型,大家最熟悉的可能是扩散模型(Diffusion Models)和自回归模型(Autoregressive Models),它们一个靠“慢慢去噪”做到高质量,一个靠“逐词预测”称霸语言。但还有一个老牌家族——归一化流(Normalizing Flows,简称NF),虽然理论优雅,却一度因为推理速度慢、架构受限,被很多人遗忘在角落。
龙哥读论文
阅读 3
查看原文
告别慢如蜗牛的自回归解码,归一化流也能“一步到位”
说起生成模型,大家最熟悉的可能是扩散模型(Diffusion Models)和自回归模型(Autoregressive Models),它们一个靠“慢慢去噪”做到高质量,一个靠“逐词预测”称霸语言。但还有一个老牌家族——归一化流(Normalizing Flows,简称NF),虽然理论优雅,却一度因为推理速度慢、架构受限,被很多人遗忘在角落。
NF的基本思想很简单:学习一个可逆变换,把真实数据映射到标准高斯分布,反过来就能从噪声生成数据。但问题在于——为了保持可逆性,过去的方法只能用耦合层、自回归流等特殊设计,不能用上像Transformer这样的现代大杀器。虽然2024年的TARFlow(Transformer-based Autoregressive Flow)把Transformer和自回归流结合起来,让NF性能大幅提升,但自回归解码的瓶颈依然存在、推理时要几千步依次计算,比乌龟还慢。
现在,MIT的何恺明团队(是的,就是那个何恺明)联合清华,提出了一招“釜底抽薪”——双向归一化流(BiFlow)。核心思路令人拍案:正反向过程完全解耦,用另一个模型学到近似逆映射,而不是死板地要求精确解析逆。这样,反向模型可以是高效的、非因果的Transformer,一次性前向传播就能生成图像(1-NFE),速度提升两个数量级,质量还更好了!
破解NF的“紧箍咒”:为什么反向过程必须是正向的解析逆?
要理解BiFlow的颠覆性,得先弄清传统NF为什么被“紧箍咒”束缚。标准NF包含两个过程:正向过程F把数据x映射到噪声z,反向过程F⁻¹(精确解析逆)把噪声生成数据。模型通过可逆变换和变量替换公式计算似然:
log p(x) = log p₀(F(x)) + log |det ∂F/∂x|
这就要求F不仅可逆,而且Jacobian行列式容易计算。因此,传统NF只能使用耦合层、自回归变换等特殊设计,把正向过程拆成一连串简单变换。这就像只能用“搭积木”的方式构建模型,U-Net、Vision Transformer等通用架构根本没法用。
TARFlow虽然用上了Transformer,但为了保持可逆性,它把正向过程分解成大量自回归步骤:每个token只依赖前面token,推理时必须顺序执行,无法并行。对于32×32的latent,patch size=2,序列长度为256,加上8个block,总共需要8×256=2048步顺序计算,生成一张图要等好久。
更讽刺的是,似然计算只需要可逆性,并不需要精确解析逆。为什么还用精确逆呢?因为推理时要把噪声变回数据。但仔细想想:我们真的需要精确逆吗?完全可以学一个近似逆,只要生成质量够好就行!这就是BiFlow的出发点。
BiFlow的核心秘诀:解耦正反向,用“隐藏对齐”学习逆映射
BiFlow分两步训练:第一步,训练一个前向模型Fθ(基于改进的TARFlow,称为iTARFlow),跟传统NF一样用最大似然估计;第二步,固定Fθ,训练一个独立的逆向模型Gφ,让它学会近似Fθ的逆。
逆向模型不再受可逆性约束,所以可以自由选择架构:一个非因果的Transformer,一次前向传播就能算出结果(1-NFE),效率极高。
关键问题来了:如何训练这个逆向模型?论文探索了三种策略,最终提出隐藏对齐(Hidden Alignment)。
图4:三种学习逆向策略——(a) 朴素蒸馏:只监督最终输出;(b) 隐藏蒸馏:监督所有中间状态但必须投影回输入空间;(c) 隐藏对齐:用可学习投影头对齐,避免反复投影。
朴素蒸馏(Naive Distillation):只用最终输出 x' 和真实 x 算 MSE 损失。虽然简单,但问题是从噪声到数据的一步映射极度不适定,效果有限。
隐藏蒸馏(Hidden Distillation):让逆向模型的每个中间状态直接匹配前向模型的中间状态(维度均为输入空间)。但这样逆向模型每步都要把特征投影回输入空间,再投影回隐空间,破坏了表达能力。
隐藏对齐(Hidden Alignment):引入可学习的投影头 φi,将逆向模型的隐藏状态 hi 投影到与正向状态 xi 相同维度,再计算距离。这样逆向模型可以自由保持自己的隐空间,无须反复投影到输入空间,既获得全程监督,又保留了架构灵活性。
表1:隐藏对齐的FID达到36.93,远超隐藏蒸馏(55.00)和精确解析逆(44.46),甚至比朴素蒸馏(43.41)好很多。
除了逆向学习,BiFlow还解决了TARFlow中的一个额外负担——去噪步骤。TARFlow在生成后要额外做一次基于分数的去噪(score-based denoising),需要一次完整的前向-反向传播,几乎翻倍了推理成本。BiFlow则把这个去噪步骤直接集成到逆向模型里:在逆向模型末尾多一个block,负责把带噪输出变成干净样本,一次前向计算搞定。
图5:学习去噪——额外一个 block 完成去噪,省掉 TARFlow 中昂贵的分数计算。
此外,BiFlow还引入了范数控制(Norm Control)技术,稳定前向模型中间状态的波动,保证逆向训练的监督信号平衡。同时,损失函数也很灵活:除了MSE,还可以加感知损失(LPIPS+ConvNeXt特征)来提升视觉真实感。
性能与速度的完美平衡:FID 2.39,速度提升上百倍
在ImageNet 256×256上,BiFlow交出了一份亮眼的成绩单。下面是与改进版TARFlow(iTARFlow)的全面对比:
表3:BiFlow-B/2 以 FID 2.39 超越所有尺寸的 iTARFlow(最佳 XL/2 为 4.54),同时推理速度在 GPU 上加速 60–186 倍(不含 VAE 解码)。在 TPU 上更是快 224–697 倍。
注意,BiFlow-B/2只有133M参数,一次前向计算仅38 Gflops,而iTARFlow-XL/2需要836 Gflops。在GPU上,BiFlow生成一张图的“生成器+VAE解码”仅需约5毫秒,iTARFlow-XL/2则要403毫秒,差距一目了然。
表2:消融实验——训练时CFG(Training-time CFG)比推理时CFG更好且省一半计算;学习去噪比分数去噪好得多;范数控制提升效果;加入感知损失(LPIPS+ConvNeXt)让FID从31.88飙升到2.46。
最终版的BiFlow-B/2使用感知损失后,在无CFG情况下FID为2.46,加上CFG(scale=2.0)FID为2.39,在归一化流方法中达到SOTA,在1-NFE方法中也极具竞争力。
下面展示一些BiFlow生成的样本,真的难以相信这是一步生成的:
图6:BiFlow 一步生成的图像,效果已经非常接近真实照片了。
总结与展望:归一化流的“文艺复兴”带来了哪些启示?
BiFlow的成功打破了NF“必须使用解析逆”的教条,证明学习到的近似逆可以优于精确逆,同时解放了架构限制。这一思路可能会影响其他领域,比如连续归一化流(CNF)和流匹配(Flow Matching)——它们虽然也学习了轨迹,但轨迹是预定的。BiFlow表明,学习轨迹+灵活逆映射不仅能提高质量,还能加速推理。
此外,BiFlow天然支持图像修复(Inpainting)和类别编辑(Class Editing)等任务,无需额外训练,因为它建立了图像和噪声之间的双向映射。只需对噪声的相应部分重采样或修改标签条件即可完成。
未来,BiFlow 可以进一步扩展到视频生成、3D 生成等更多模态,也可能与大规模预训练结合。归一化流这个老牌家族,终于迎来了自己的“文艺复兴”。
龙迷三问
问:BiFlow和通常的蒸馏有什么区别?蒸馏一般是用教师模型的输出或特征来训练学生模型,而BiFlow虽然也用了前向模型的中间状态,但目标不是模仿教师的行为,而是学习它的逆映射。而且BiFlow的逆向模型最终生成质量甚至超过了前向模型的精确逆(即超越了“教师”的生成能力)。此外,BiFlow的训练不需要前向模型参与梯度计算,因为前向模型是固定的。所以它更接近于一个专门的逆向学习框架,而不是传统蒸馏。
问:BiFlow为什么能实现1-NFE生成?因为逆向模型Gφ是一个非因果的Transformer,输入噪声后,一次性并行处理所有token,直接输出重建的数据。不需要像TARFlow那样按顺序解码。整个生成过程就是一次前向传播(1-NFE),没有迭代步骤。
问:BiFlow的局限性在哪里?目前BiFlow的逆向模型训练依赖一个预训练的前向模型,而前向模型本身还是基于改进的TARFlow,架构仍然有自回归成分(虽然训练时可用Teacher-forcing并行)。如果前向模型结构更简单,可能会更好。另外,当加入强感知损失(ConvNeXt)后,模型规模扩大反而出现FID饱和,暗示可能过拟合,需要更好的正则化。最后,BiFlow目前只在ImageNet 256×256上验证,更大规模数据(比如LAION)上的表现还有待探索。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数:★★★★✰
核心思想(解耦正反向、学习近似逆)简洁有力,巧妙避开可逆约束,极具启发性。隐藏对齐策略也颇有新意。扣一星因为前向模型仍依赖现有TARFlow。
实验合理度:★★★★★
消融全面,对比公平,与多种尺寸的iTARFlow对比,且开源了改进的TARFlow基线(iTARFlow)。在ImageNet上报告了50K FID和多种推理时间度量,经得起复现。
学术研究价值:★★★★✰
重新激活了归一化流的研究方向,展示了“学习逆映射”范式的潜力,对后续生成模型设计有重要参考价值。不过主要价值在方法论层面,实际应用成熟度尚待检验。
稳定性:★★★✰✰
在ImageNet上效果稳定,但缩放实验出现FID饱和,说明对超参数和损失项权重敏感。对前向模型的依赖也带来潜在不稳定性。产品落地还需更多鲁棒性测试。
适应性以及泛化能力:★★★★✰
理论上可迁移到其他数据模态(音频、视频),双向映射性质支持无训练修复等应用。但论文只在图像上验证,泛化到不同分辨率或大模型还需进一步实验。
硬件需求及成本:★★★★★
1-NFE生成,38 Gflops(B/2),在GPU上毫秒级生成,非常高效。训练侧需要预训练前向模型,但整体训练成本也在合理范围。
复现难度:★★★✰✰
论文没有提供立即可用的代码,但方法描述清晰,且使用了公开的改进TARFlow。实现细节较多(范数控制、自适应加权、感知损失组合),有一定复现门槛。
产品化成熟度:★★★★✰
生成速度快、质量高,适合对延迟敏感的应用(如实时生成、交互式创作)。但当前仅支持类条件生成,还需扩展到文本条件生成等常见场景。无训练修复功能很有实用价值。
可能的问题:论文在加入ConvNeXt感知损失后,模型增大没有带来明显提升,甚至出现FID倒挂,可能需要更强的正则化或数据增强。此外,隐藏对齐的投影头增加了额外的可学习参数,可能成为新的过拟合源。建议作者在更大规模数据上验证或提供更优的缩放策略。
[1] Yiyang Lu, Qiao Sun, Xianbang Wang, Zhicheng Jiang, Hanhong Zhao, Kaiming He. Bidirectional Normalizing Flow: From Data to Noise and Back. arXiv:2512.10953, 2024.
[2] Diederik P Kingma, Prafulla Dhariwal. Glow: Generative Flow with Invertible 1x1 Convolutions. NeurIPS 2018.
[3] Xiatao Yan, et al. TARFlow: Transformer-based Autoregressive Flow. NeurIPS 2024.
[4] 论文链接: https://arxiv.org/abs/2512.10953
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!