卷!MIT泊松流生成模型击败扩散模型,兼顾质量与速度

简介: 卷!MIT泊松流生成模型击败扩散模型,兼顾质量与速度

来自MIT的研究者提出了一种新的生成模型,名为泊松流模型 。它在图像生成质量、生成速度和鲁棒性上比扩散模型更好。本文已被NeurIPS 2022接收。


引言


扩散模型最早来源于物理中的热力学,最近却在人工智能领域大放异彩。还有什么物理理论可以推动生成模型研究的发展呢?最近,来自 MIT 的研究者受到高维电磁理论的启发,提出了一种称作泊松流(Poisson Flow)的生成模型。理论上,这种模型具有直观的图像和严谨的理论;实验上,它在生成质量、生成速度和鲁棒性上往往比扩散模型更好。本文已被NeurIPS 2022接收。




受到静电力学的启发,研究人员提出了一种新的生成模型,名为泊松流模型 (Poisson Flow Generative Models, or PFGM)。直观上,该研究可以把 N 维的数据点看成在 N+1 维空间中新增维度 z=0 平面上的一群正电荷,它们产生了高维空间中的电场。从 z=0 平面开始沿着它们产生的电场线往外走,该研究能够把样本送到一个半球面上(如图一所示)。这些电场线的方向对应于高维空间中泊松方程 (Poisson Equation)的解的梯度。研究人员证明了当半球的半径足够大的时候,电场线能够把在 z=0 平面上的电荷分布(也就是数据分布)转换为一个在半球面上的均匀分布(图二)。


PFGM 利用了电场线的可逆性来生成 z=0 平面上的数据分布:首先研究人员在大的半球面上均匀采样,接着让样本沿着电场线从球面往 z=0 平面运动,从而生成数据。由于沿着电场线的运动可以由一个常微分方程(ODE)描述,因此在实际的采样中研究人员只需要解一个由电场线方向决定的 ODE。通过电场,PFGM 将一个球面上的简单分布转换为一个复杂的数据分布。从这个角度来看,PFGM 可以被认为是一种连续的标准化流(Normalizing Flow)。


在图像生成实验中,PFGM 是当前在标准数据集 CIFAR-10 上表现最好的标准化流模型,取得了 2.35 的 FID score (图片质量的度量)。研究人员也展示了 PFGM 的其他一些用途,比如它能够计算图片的似然 (likelihood)、进行图片编辑和扩展到高分辨率的图片数据集上。此外,研究人员发现 PFGM 比近期大热的扩散模型 (Diffusion Models)有着三个优点


(1)在相同的网络结构上,PFGM 的 ODE 生成的样本质量远好于扩散模型的 ODE;(2)在与扩散模型的 SDE (随机微分方程)生成质量差不多的情况下,PFGM 的 ODE 达到了 10 倍 - 20 倍的加速;

(3)PFGM 在表达能力更弱的网络结构上比扩散模型鲁棒。


图一:样本点沿着电场线运动 。上图:数据分布呈爱心状;下图:数据分布呈 PFGM 状



图二:左图:泊松场在三维中的轨迹;右图:在图像上使用 PFGM 的前向 ODE 和反向 ODE


方法概览


注意到上述的过程将 N 维数据嵌入到了在 N+1 维(多了 z 维度)的空间中。为了方便区分,研究人员把 N 维数据和 N+1 维用 x 和表示。为了得到上述的高维电场线,需要解如下的泊松方程:


其中是位于 z=0 平面上想要生成的数据分布;是势函数,也就是研究人员求解的目标。由于只需要知道电场线的方向,研究人员推导出了电场线的梯度(势函数的梯度)的解析形式:



电场线的轨迹(见图二)能够被下面的 ODE 所描述:



在下面的定理中,研究人员证明了上述 ODE 定义了一个高维半球面上的均匀分布和 z=0 平面上的数据分布的双射。这个结论与图一、图二的直观相同:可以通过电场线来还原数据分布。



PFGM 的训练


给定一个从数据分布中采样得到数据集 ,研究人员用该数据集所对应的电场线梯度,来近似数据分布所对应的电场线梯度:



该电场线梯度是学习目标。该研究通过 perturb 函数在空间中进行选点,并且平方损失函数让神经网络去学习空间中归一化的电场线梯度, 具体算法如下:


PFGM 的采样


当学习完归一化去学习空间中归一化的电场线梯度后,可以通过如下的 ODE 对数据分布进行采样:

该 ODE 通过减小 z,使得样本从大球面沿着电场线逐渐运动到 z=0 平面。此外,该研究提出了将大球面上的均匀分布投影到某个 z 平面以方便 ODE 模拟,并进一步通过变量替换来进一步加速采样。具体步骤请参见文章的 3.3 节。


实验结果


在表一中,该研究使用标准数据集 CIFAR-10 来评估不同模型。在该数据集上,PFGM 是表现最好的可逆标准化流模型,取得了 2.35 的 FID score。在使用相同的网络结构 (DDPM++/DDPM++ deep) 的条件下,PFGM 的表现优于扩散模型。研究人员同时观测到,在与扩散模型的 SDE (随机微分方程)生成质量差不多的情况下,PFGM 达到了 10 倍 - 20 倍的加速,更好地兼顾了生成质量与速度。此外,研究人员发现 PFGM 在表达能力更弱的网络结构上比扩散模型鲁棒,并且在更高维的数据集上依然优于同等条件下的扩散模型。具体请见文章的实验章节。在图三中,该研究可视化了 PFGM 生成图片的过程。


表一:CIFAR-10 数据上的样本质量(FID, Inception)与采样步数 (NFE)


图三:PFGM 在 CIFAR-10, CelebA 64x64, LSUN bedroom 256x256 上的采样过程


结论


该研究提出了一个基于泊松方程的生成模型 PFGM。这个模型预测 N+1 维的扩展空间中的归一化电场线梯度,并通过电场线对应的 ODE 来采样。实验中,该研究的模型是当前最好的标准化流模型,并在相同的网络结构上取得了比扩散模型更好的生成效果与更快的采样速度。PFGM 的采样过程对噪声更鲁棒,也能扩展到更高维的数据集中。研究人员期望 PFGM 能够在其他应用领域中也能取得亮眼表现,比如分子生成和 3D 数据生成。

相关文章
|
Kubernetes 容灾 测试技术
ChaosBlade详细介绍
ChaosBlade 是阿里巴巴 2019 年开源的混沌工程项目,包含混沌工程实验工具 chaosblade 和混沌工程平台 chaosblade-box,旨在通过混沌工程帮助企业解决云原生过程中高可用问题。【2月更文挑战第11天】
2271 12
|
算法 C语言 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(一)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
5417 1
|
Ubuntu 开发工具 Python
Ubuntu apt-get和pip国内源更换
Ubuntu apt-get和pip源更换 更新数据源为国内,是为了加速安装包的增加速度。 更换apt-get数据源 输入:sudo -s切换为root超级管理员; 执行命令:vim /etc/apt/sources.
14258 0
|
6月前
|
Ubuntu Linux 数据安全/隐私保护
Ubuntu 安装教程(U 盘安装 Ubuntu 详细教程)
完成上述步骤后,Ubuntu将开始安装在你的电脑上。安装完成后,重启电脑,并按提示移除U盘。电脑将自动从硬盘启动进入新装的Ubuntu系统。现在你可以开始探索Ubuntu带来的全新体验了!
|
数据挖掘 Python
🚀告别繁琐!Python I/O管理实战,文件读写效率飙升的秘密
在日常编程中,高效的文件I/O管理对提升程序性能至关重要。Python通过内置的`open`函数及丰富的库简化了文件读写操作。本文从基本的文件读写入手,介绍了使用`with`语句自动管理文件、批量读写以减少I/O次数、调整缓冲区大小、选择合适编码格式以及利用第三方库(如pandas和numpy)等技巧,帮助你显著提升文件处理效率,让编程工作更加高效便捷。
320 0
|
缓存 安全 算法
Java并发基础:原子类之AtomicInteger全面解析
【2月更文挑战第2天】AtomicInteger类提供了线程安全的整数操作,它通过利用底层硬件的原子性指令,能够在多线程环境中高效地实现整数的无锁更新,避免了传统同步机制带来的性能开销,在高并发场景下成为计数器可大幅提高程序的执行效率,同时又保证了数据一致性。
1017 16
Java并发基础:原子类之AtomicInteger全面解析
|
安全 Shell Linux
ssh密码忘记了怎么办
通过上述措施,不仅能够有效应对SSH密码遗忘的挑战,还能全方位加固SSH连接的安全,确保数据传输的无忧。
1061 2
|
NoSQL Linux
Linux系统调试中出现核心转储(core dump)的问题
Linux系统调试中出现核心转储(core dump)的问题
3390 0
|
UED
Qt侧边栏的动态展示:隐藏与呈现技术详解
在现代用户界面设计中,侧边栏(Sidebar)是一个常见的组件,它为用户提供了便捷的导航和操作入口。在Qt框架中,实现侧边栏的隐藏与呈现不仅能够提升应用的美观度,还能增强用户体验。本文将详细介绍如何在Qt中实现侧边栏的动态隐藏与呈现,包括技术要点和代码实现。
1415 0
|
存储 JSON 数据格式
解密 parquet 文件,以及如何用 Python 去处理它(一)
解密 parquet 文件,以及如何用 Python 去处理它
2655 1

热门文章

最新文章