Normalizing Flows
探索规范化流(normalizing flows)、可逆神经网络如何实现精确似然估计,以及它们在生成式 AI、异常检测、医学影像和不确定性建模中的应用。
Normalizing flows are generative AI models that learn an invertible mapping between a simple probability distribution, usually Gaussian noise, and a complex data distribution. Unlike many generative models, they can both create samples and calculate exact data likelihoods efficiently. This makes them useful for density estimation, uncertainty modeling, and learning structured latent spaces, as explained in the foundational normalizing flows review. (arxiv.org)
Link to this section归一化流的工作原理#
流 (Flow) 应用了一系列可逆的神经网络变换:
- 从简单的基础分布中采样一个点。
- 通过若干可逆层对其进行变换。
- 使用雅可比行列式 (Jacobian determinant) 跟踪每一层如何扩展或收缩概率密度。
- 在计算观测数据的概率时,逆转这些变换。
Pyro 归一化流教程 提供了采样和密度评估的实践示例。虽然名称听起来相似,但归一化流与特征 归一化 或批归一化 (Batch Normalization) 并不相同。在这里,“归一化”是指将一个复杂分布变换为一个标准分布。
传统设计需要精心构建的可逆层。近期的 自由形式流研究 放宽了这一限制,而一份 2024 年关于 基于耦合流的普适性分析 的研究解释了为什么仿射耦合层 (Affine coupling layers) 依然有效。 (proceedings.mlr.press)
Link to this section实际应用#
- 工业异常检测: 流可以对无缺陷产品的嵌入 (Embeddings) 进行建模,并在视觉检测过程中标记出不太可能的样本。然而,正如 NeurIPS 关于流似然失效的研究 所展示的那样,仅靠似然性并不总是一个可靠的分布外 (Out-of-distribution) 分数。请使用特定任务的指标和具有代表性的异常数据来验证结果。 (proceedings.neurips.cc)
- 医学影像: 2024 年的 经颅超声流模型 使用归一化流来实现更快的重建和不确定性估计。类似的技术可以支持 医学图像分析,因为这些应用场景通常需要预测结果提供置信度区间。 (proceedings.mlr.press)
- 合成数据与校准: 流可以生成结构化的 合成数据 或对预测误差进行建模。2024 年关于 用于保形回归的归一化流 的工作展示了更具自适应性的不确定性区间。生成的视觉数据可以通过 Ultralytics Platform 进行标注、训练和部署。 (proceedings.mlr.press)
Link to this section归一化流与相关方法对比#
流匹配 (Flow matching) 通常通过回归目标来训练连续速度场,详细信息可参考 Meta 的 流匹配指南。传统的归一化流则强调可逆变换和直接的似然优化。修正流 (Rectified flow) 寻求更直的传输路径,而 扩散模型 则通过迭代去噪来生成数据。归一化流也不同于 生成流网络 (Generative Flow Networks)(学习构建离散对象的策略),以及通常不提供精确似然的 GANs。 (ai.meta.com)
Link to this section最新进展与最佳实践#
基于 Transformer 的架构重新引发了人们对流的兴趣。2025 年的 TarFlow 研究 报告称,其图像生成能力可与扩散方法相媲美,而 Jet 则利用 Vision Transformers 对耦合流进行了现代化改造。在 2026 年,基于回归的流训练 将归一化流与流匹配风格的目标函数关联起来,而 SESaMo 则引入了精确的物理对称性。 (proceedings.mlr.press)
对于视觉应用,一种实用的方法是建模高层嵌入而非原始像素:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
embeddings = model.embed("https://ultralytics.com/images/bus.jpg")
print(embeddings[0].shape)这些 Ultralytics YOLO26 嵌入可以成为独立训练的流的输入,用于密度估计或异常评分。请务必进行谨慎的 数据预处理,并结合下游性能评估似然性,而不是将其视为衡量质量的唯一指标。






