← 返回 PaperDaily 视觉与图像

何凯明团队最新BiFlow:告别万步自回归,归一化流一步生成FID 2.39

说起生成模型,大家最熟悉的可能是扩散模型(Diffusion Models)和自回归模型(Autoregressive Models),它们一个靠“慢慢去噪”做到高质量,一个靠“逐词预测”称霸语言。但还有一个老牌家族——归一化流(Normalizing Flows,简称NF),虽然理论优雅,却一度因为推理速度慢、架构受限,被很多人遗忘在角落。

何凯明团队最新BiFlow:告别万步自回归,归一化流一步生成FID 2.39

告别慢如蜗牛的自回归解码,归一化流也能“一步到位”

说起生成模型,大家最熟悉的可能是扩散模型(Diffusion Models)和自回归模型(Autoregressive Models),它们一个靠“慢慢去噪”做到高质量,一个靠“逐词预测”称霸语言。但还有一个老牌家族——归一化流(Normalizing Flows,简称NF),虽然理论优雅,却一度因为推理速度慢、架构受限,被很多人遗忘在角落。
NF的基本思想很简单:学习一个可逆变换,把真实数据映射到标准高斯分布,反过来就能从噪声生成数据。但问题在于——为了保持可逆性,过去的方法只能用耦合层自回归流等特殊设计,不能用上像Transformer这样的现代大杀器。虽然2024年的TARFlow(Transformer-based Autoregressive Flow)把Transformer和自回归流结合起来,让NF性能大幅提升,但自回归解码的瓶颈依然存在、推理时要几千步依次计算,比乌龟还慢。
现在,MIT的何恺明团队(是的,就是那个何恺明)联合清华,提出了一招“釜底抽薪”——双向归一化流(BiFlow)。核心思路令人拍案:正反向过程完全解耦,用另一个模型学到近似逆映射,而不是死板地要求精确解析逆。这样,反向模型可以是高效的、非因果的Transformer,一次性前向传播就能生成图像(1-NFE),速度提升两个数量级,质量还更好了!
图2:BiFlow超越改进的TARFlow基线,在生成质量上大幅领先,尽管使用的是base尺寸模型对extra-large模型,且采样速度明显更快。x轴为在8个v4 TPU核心上生成一张图像的墙钟时间(对数尺度),此图已省略VAE解码时间,完整推理成本比较见表3。
图2:BiFlow 对比改进的 TARFlow 基线——用更小的模型(base vs XL)实现更好 FID,且采样速度快了两个数量级。

破解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步顺序计算,生成一张图要等好久。
图3:TARFlow的自回归推理过程示意图。每个block中,每个token依次变换,依赖前面的token。对于32×32输入、patch size 2,序列长度为256,重复所有block(例如8个),总共需要8×256次顺序函数求值。
图3:TARFlow 的自回归推理——每个 token 都要等前面的处理完,8×256 = 2048 步,比蜗牛还慢。
更讽刺的是,似然计算只需要可逆性,并不需要精确解析逆。为什么还用精确逆呢?因为推理时要把噪声变回数据。但仔细想想:我们真的需要精确逆吗?完全可以学一个近似逆,只要生成质量够好就行!这就是BiFlow的出发点。

BiFlow的核心秘诀:解耦正反向,用“隐藏对齐”学习逆映射

BiFlow分两步训练:第一步,训练一个前向模型Fθ(基于改进的TARFlow,称为iTARFlow),跟传统NF一样用最大似然估计;第二步,固定Fθ,训练一个独立的逆向模型Gφ,让它学会近似Fθ的逆。
逆向模型不再受可逆性约束,所以可以自由选择架构:一个非因果的Transformer,一次前向传播就能算出结果(1-NFE),效率极高。
关键问题来了:如何训练这个逆向模型?论文探索了三种策略,最终提出隐藏对齐(Hidden Alignment)
图4:三种学习逆向过程的方法对比。每个圆圈表示一个位置,模型返回与输入x相同维度。蓝色箭头D表示距离损失项。隐藏对齐策略(图4c)结合了图4a和图4b的优势,利用整个轨迹进行监督,而无需反复返回输入空间。
图4:三种学习逆向策略——(a) 朴素蒸馏:只监督最终输出;(b) 隐藏蒸馏:监督所有中间状态但必须投影回输入空间;(c) 隐藏对齐:用可学习投影头对齐,避免反复投影。
朴素蒸馏(Naive Distillation):只用最终输出 x' 和真实 x 算 MSE 损失。虽然简单,但问题是从噪声到数据的一步映射极度不适定,效果有限。
隐藏蒸馏(Hidden Distillation):让逆向模型的每个中间状态直接匹配前向模型的中间状态(维度均为输入空间)。但这样逆向模型每步都要把特征投影回输入空间,再投影回隐空间,破坏了表达能力。
隐藏对齐(Hidden Alignment):引入可学习的投影头 φi,将逆向模型的隐藏状态 hi 投影到与正向状态 xi 相同维度,再计算距离。这样逆向模型可以自由保持自己的隐空间,无须反复投影到输入空间,既获得全程监督,又保留了架构灵活性。
实验结果也验证了这一点:
表1:逆向学习方法对比。朴素蒸馏以简单的MSE目标即可超过精确解析逆。隐藏对齐在三者中取得最佳FID。(设置:BiFlow-B/2, 160 epochs, 自适应加权MSE损失, 无CFG)
表1:隐藏对齐的FID达到36.93,远超隐藏蒸馏(55.00)和精确解析逆(44.46),甚至比朴素蒸馏(43.41)好很多。
除了逆向学习,BiFlow还解决了TARFlow中的一个额外负担——去噪步骤。TARFlow在生成后要额外做一次基于分数的去噪(score-based denoising),需要一次完整的前向-反向传播,几乎翻倍了推理成本。BiFlow则把这个去噪步骤直接集成到逆向模型里:在逆向模型末尾多一个block,负责把带噪输出变成干净样本,一次前向计算搞定。
图5:将去噪步骤融入隐藏对齐框架。逆向模型扩展了一个专门用于去噪的额外block。这种学习到的去噪方式消除了计算一个完整前向-反向传播的分数函数的开销,仅需一次额外block前向。
图5:学习去噪——额外一个 block 完成去噪,省掉 TARFlow 中昂贵的分数计算。
此外,BiFlow还引入了范数控制(Norm Control)技术,稳定前向模型中间状态的波动,保证逆向训练的监督信号平衡。同时,损失函数也很灵活:除了MSE,还可以加感知损失(LPIPS+ConvNeXt特征)来提升视觉真实感。

性能与速度的完美平衡:FID 2.39,速度提升上百倍

在ImageNet 256×256上,BiFlow交出了一份亮眼的成绩单。下面是与改进版TARFlow(iTARFlow)的全面对比:
表3:BiFlow与iTARFlow基线在ImageNet 256×256上的对比。报告生成质量(FID-50K)和每张图像的推理成本。所有墙钟时间测量为“生成器+VAE解码”。相比iTARFlow,BiFlow在TPU、GPU和CPU上实现了1到2个数量级的采样加速。
表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毫秒,差距一目了然。
除了速度,BiFlow的消融实验也很有看点:
表2:ImageNet 256×256生成的消融研究。默认报告1-NFE的FID50K。(设置:BiFlow-B/2, 160 epochs。默认:自适应加权MSE损失,无感知损失,训练时CFG。)
表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:1-NFE生成结果。BiFlow-B/2模型以guidance scale 2.0在ImageNet 256×256上生成的样本。BiFlow仅需一次函数求值(1-NFE)即可从噪声生成高保真图像。
图6:BiFlow 一步生成的图像,效果已经非常接近真实照片了。

总结与展望:归一化流的“文艺复兴”带来了哪些启示?

BiFlow的成功打破了NF“必须使用解析逆”的教条,证明学习到的近似逆可以优于精确逆,同时解放了架构限制。这一思路可能会影响其他领域,比如连续归一化流(CNF)和流匹配(Flow Matching)——它们虽然也学习了轨迹,但轨迹是预定的。BiFlow表明,学习轨迹+灵活逆映射不仅能提高质量,还能加速推理。
此外,BiFlow天然支持图像修复(Inpainting)和类别编辑(Class Editing)等任务,无需额外训练,因为它建立了图像和噪声之间的双向映射。只需对噪声的相应部分重采样或修改标签条件即可完成。
图9:图像修复。BiFlow利用图像和噪声之间的双向映射实现高效图像修复。通过对噪声的掩码部分重采样,BiFlow可以在各种图像掩码上进行无需训练的修复。每组三张图:真实图像(左)、掩码图像(中)、修复图像(右)。
图9:无需训练的修复——BiFlow 天然支持。
未来,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

*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球