Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Normalizing Flows

归一化流通过可逆层将简单噪声映射为复杂数据,因此同一个模型既能采样,也能计算精确似然。了解其工作原理。

归一化流是一种生成式 AI模型,它通过一系列可逆、可微函数,将简单的基础分布(通常是标准高斯分布)转换为复杂的数据分布。由于每一层都可以反向运行,且其对体积的影响可以精确计算,单个流就能完成大多数生成模型无法同时完成的两项任务:通过让噪声正向通过各层来生成新样本,以及通过让观测数据点反向传回基础分布来计算其精确似然。Esteban Tabak 及其同事于 2010 年和 2013 年提出了用于密度估计的流;DeepMind 的 Danilo Rezende 和 Shakir Mohamed 则在 ICML 2015 上发表的 Variational Inference with Normalizing Flows 中将这一名称引入深度学习。“归一化”指的是将数据分布转换为正态分布(即高斯分布),与批归一化无关。

变量替换公式#

如果可逆函数 f 将数据点 x 映射为一个潜在点 z = f(x),那么数据的对数似然为 log p(x) = log p_z(f(x)) + log |det J|,其中 J 是 f 的雅可比矩阵,行列式衡量 f 在 x 附近对体积的拉伸或压缩程度。对于一个包含 D 个变量的一般函数,计算该行列式需要约 D³ 次运算;对于包含数十万个维度的图像而言,这远远太慢。因此,流层会设计成具有三角雅可比矩阵,其行列式就是对角元素的乘积。堆叠多个这样的层会组合它们的变换,并将它们的对数行列式相加;训练时则直接最大化训练数据的对数似然。

RealNVP 的仿射耦合层是经典设计。输入的一半保持不变,并送入一个小型神经网络,由它为另一半设置缩放和平移,如这个 PyTorch 层所示:

import torch
from torch import nn

torch.manual_seed(0)
# Affine coupling layer (RealNVP): x1 passes through unchanged and sets the scale and shift for x2
net = nn.Sequential(nn.Linear(2, 32), nn.Tanh(), nn.Linear(32, 4))


def coupling(x):
    """Map data x to z and return log|det J|, which is just the sum of the log-scales."""
    x1, x2 = x.chunk(2, dim=-1)
    log_s, t = net(x1).chunk(2, dim=-1)
    return torch.cat([x1, x2 * log_s.exp() + t], dim=-1), log_s.sum(dim=-1)


x = torch.randn(4)
z, log_det = coupling(x)
jacobian = torch.autograd.functional.jacobian(lambda v: coupling(v)[0], x)
print(f"log|det J|: {log_det:.4f} from the formula, {torch.logdet(jacobian):.4f} from the full 4x4 Jacobian")

# Inverse: z1 equals x1, so the same scale and shift can be recomputed and undone
z1, z2 = z.chunk(2)
log_s, t = net(z1).chunk(2)
x_rec = torch.cat([z1, (z2 - t) * (-log_s).exp()])
print(f"Largest reconstruction error: {(x_rec - x).abs().max():.1e}")

简化公式和完整雅可比矩阵都给出 0.1489 的对数行列式;逆变换恢复输入时的误差在 1.2e-07 以内,这是 float32 的舍入误差。层内的网络无需求逆,因此可以任意复杂。

流模型架构#

  • 耦合流: Laurent Dinh 及其同事提出的 NICE(2014)和 RealNVP(2016)会交替变换输入的两半;OpenAI 的 Glow(2018)加入了可学习的可逆 1 x 1 卷积,并生成逼真的 256 x 256 人脸。采样和密度评估都很快。
  • 自回归流: 根据前面的维度对每个维度进行条件变换。掩码自回归流只需一次前向计算即可评估密度,但采样时一次只能生成一个维度;逆自回归流则相反。Apple 的 TarFlow(2024)在图像块上堆叠自回归 Transformer 模块,是首个生成样本质量可与扩散模型媲美的独立流模型。
  • 连续流: 将变换定义为常微分方程的解,从而摆脱层设计限制;FFJORD(2018)使用随机迹估计器追踪对数密度的变化。

应用场景#

  • 异常检测: DifferNet(2021)、CFLOW-AD 和 FastFlow 在无缺陷产品图像上拟合预训练卷积神经网络的特征,并将低似然图像标记为缺陷图像。FastFlow 报告称,在 2021 年的 MVTec AD 工业检测基准上,异常检测 AUC 达到 99.4%。
  • 语音合成: NVIDIA 的 WaveGlow(2018)通过单次并行处理,从梅尔频谱图生成语音音频。
  • 科学采样: Frank Noé 及其同事提出的玻尔兹曼生成器(2019)会对分子和蛋白质的平衡状态进行采样,并利用精确似然重新加权样本,使其符合真实的物理分布。

这些检测器之所以对特征而非像素建模,是因为 Eric Nalisnick 及其同事在 2019 年证明:在 CIFAR-10 照片上训练的 Glow 模型,会给从未见过的 SVHN 门牌号图像赋予更高似然;后续研究发现,这是因为流模型更多地对局部像素相关性而非图像内容建模。对于缺陷检测,流模型的输入可以是任意预训练主干网络生成的嵌入:Ultralytics YOLO26 的 embed 方法会为每张图像返回一个平均池化特征向量,默认取自检测头之前的那一层。

  • 流匹配和整流流: 通过回归速度场来训练连续流,训练期间无需计算对数行列式;如今,这类方法为大型图像生成器提供了动力。
  • 变分自编码器和扩散模型: 基于似然的下界进行训练。
  • GAN: 学习欺骗判别器,完全不提供似然。
  • 生成流网络(GFlowNets): 名称中虽然有“流”,但它们会逐步构建离散对象,且对象的概率与奖励成正比。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来