比扩散策略更高效的生成模型:流匹配的理论基础与Pytorch代码实现

扩散模型(Diffusion Models)和流匹配(Flow Matching)是用于生成高质量、连贯性强的高分辨率数据(如图像和机器人轨迹)的先进技术。在图像生成领域,扩散模型的代表性应用是Stable Diffusion,该技术已成功迁移至机器人学领域,形成了所谓的"扩散策略"(Diffusion Policy)。值得注意的是,扩散实际上是流匹配的特例,流匹配作为一种更具普适性的方法,已被Physical Intelligence团队应用于机器人轨迹生成,并在图像生成方面展现出同等的潜力。相较于扩散模型,流匹配通常能够以更少的训练资源更快地生成数据。本文将通过直观的解释和基础代码实现,深入剖析流匹配在图像生成中的应用,并提供一个简单的一维模型训练实例。

图像作为随机变量

流匹配和扩散方法的核心理念是将数据(如图像)视为随机变量的实现。例如,下图中的8×8像素图像中每个像素都具有(0..255)范围内的RGB值。通过向其添加服从高斯分布的随机值,我们可以将其转化为随机图像。这里,我们用函数q()表示添加噪声的过程。通过追踪中间状态的图像,我们能够学习逆函数pθ(),其中θ对应神经网络的参数。该神经网络预测需要移除的噪声量,以将噪声转换回原始图像。这基本概括了扩散方法的工作原理。

扩散方法(上)通过预测添加到原始图像x0的高斯噪声来生成图像。流匹配(下)则将每个像素明确表示为通过速度场v()变换的高斯分布。扩散训练卷积神经网络以预测需要移除的噪声,而流匹配则学习时间依赖的速度场,将正态分布转换为表征图像的分布。

 

https://avoid.overfit.cn/post/512bbe565b17407bb767c6727ca486a6

posted @ 2025-04-13 10:06  deephub  阅读(315)  评论(0)    收藏  举报