当前位置: 首页 > news >正文

Diffusion VS Flow Matching

目录

Diffusion

前向过程

逆向过程

优化目标

DDIM

前向过程

逆向过程

Flow Matching

训练

推理


        在生成模型领域,‌Diffusion ‌和‌Flow Matching‌是两种重要的生成方法,它们在建模数据分布和样本生成上有不同的技术路径。

        Flow Matching 和Diffusion是很像的,很多时候是等价的。比如,Flow Matching使用Euler的采样等价于使用DDIM采样器的Diffusion。

Diffusion

前向过程

         前向过程是加噪的过程,𝑥0 到 𝑥𝑇 ,逐步加噪至一组纯噪声图片。添加的噪声是已知的{𝛽1,𝛽2,...,𝛽𝑇},不同的t,不同的噪声,且随着t的增加逐渐增大,满足𝛽1<𝛽2<...<𝛽𝑇

        前向过程中图像𝑥𝑡只和上一时刻的𝑥𝑡1有关, 该过程可以视为马尔科夫过程, 满足:

q(𝑥1:𝑇|𝑥0)表示从原始图像 𝑥10 开始,经过 𝑇步加噪过程后得到噪声图像 𝑥𝑇 的概率分布。q(𝑥𝑡|𝑥𝑡−1)是条件概率分布,已知𝑥𝑡−1,得到𝑥𝑡的概率分布,这是一个高斯分布,其均值为 ,方差为

因为不同时间步的高斯分布是独立同分布的,所以可以进行合并。即加噪过程,只需要一步就可以道第 t 步加噪后的𝑥𝑡的概率分布。

则可到q(𝑥𝑡|𝑥0)的条件概率分布:

前向过程的伪代码如下:

逆向过程

        逆向过程是去噪的过程,𝑥𝑇是随机噪声:

逆向过程是一个从𝑝(𝑥𝑇)开始的马尔科夫链,DDPM使用模型𝑝𝜃(𝑥𝑡|𝑥𝑡1)来拟合逆向过程:

是一个不参与训练的,与时间相关的常数,实验 证明的结果是类似的。

如果知道𝑝𝜃(𝑥𝑡-1|𝑥𝑡),就可以从𝑥𝑇开始,逐步还原出图像𝑥0但是𝑝𝜃(𝑥𝑡-1|𝑥𝑡)无法直接得到,但是可以借助贝叶斯公式得到。

由前向过程的推到可得

正态分布中的相乘就是指数的相加,相除就是指数的相减,所以可以化简为:

从而,可以得到均值和方差:

方差是固定值,均值是与𝑥t和𝑥0相关,在反向传播中,𝑥0是未知的,但是利用前向过程的推导公式

所以均值可以化简为:

        DDPM是训练一个只和 𝑥t 有关的神经网络 𝜖𝜃(𝑥𝑡,𝑡)来代替 𝜖,那么 q(𝑥𝑡−1|𝑥𝑡,𝑥0) 就会退化为𝑝𝜃(𝑥𝑡-1|𝑥𝑡) 。

因为αt := 1 - βt,所以:

优化目标

        训练是优化负对数似然

        以下是 L 的另一种形式。虽然难以估计,但对讨论很有用。

将L重写为:

DDIM

       虽然 DDPM 的马尔科夫生成过程可以得到高质量的图像,但因为 DDPM 把采样过程也是一个马尔科夫链,所以需要重新几百上千个步骤才能生成一张图像,耗时很大。DDPM学习目标 只与边缘分布 q(xt|x0) 有关,而不是直接和联合分布 q(x1:T|x0)有关。

       有很多形式的联合分布能够满足 q(xt|x0) ,这样的话,采样过程就不一定需要是马尔科夫链。

        DDPM中采样过程是一个随机过程,所以需要要加z,如下所以:

        DDIM 优化时与 DDPM 一样,对噪声进行拟合,但 DDIM 提出了通过一个更短的 Forward Processes 过程,通过减少采样的步数,来加快采样速度。 是独立的值,不是由𝛼𝑡连乘得到的。因为此时的 𝛼𝑡没有定义,只是为了和DDPM的符号对应上。同样𝑝𝜃(𝑥𝑡-1|𝑥𝑡)无法直接得到,用𝑝𝜃(𝑥𝑡-1|𝑥𝑡,𝑥0)。

前向过程

        前向过程如下:

(𝑥𝑇|𝑥0)的概率分布为:

当t>1时,qσ(𝑥𝑡-1|𝑥𝑡,𝑥0)概率分布为:

正向过程可由贝叶斯法则推导得出:

这里的正向过程不再是马尔可夫过程,因为每个 𝑥𝑡 可能同时依赖于 𝑥𝑡-1 和 𝑥0。σ 的大小控制着正向过程的随机程度;当 σ 趋近于 0 时,我们达到一种极端情况,即只要观察到 𝑥0 和某个 t 时刻的𝑥𝑡,那么𝑥𝑡-1 就变得已知且固定。

逆向过程

 当时,DDIM就 变成了DDPM。对于所有的t,σt = 0时,在给定𝑥𝑡-1和𝑥0时,前向过程是确定性的,除了t = 1。在生成过程中,随机噪声𝜖t之前的系数变为零。

Flow Matching

定义1

        凡含有参数,未知函数和未知函数导数 (或微分) 的方程,称为微分方程,有时简称为方程,未知函数是一元函数的微分方程称作常微分方程,未知函数是多元函数的微分方程称作偏微分方程。微分方程中出现的未知函数最高阶导数的阶数,称为微分方程的阶。

训练

        训练的时候,从视频隐空间中得到一个样本X1,从[0, 1]中采样一个time-step t ,采样一个服从 N(0, 1)的噪声,用它们构建一个训练样本Xt。训练模型来预测速度,从Xt变成X1的速度。Flow Matching的重点工作是构建Xt。常采用的是简单的线性插值或the optimal transport path,以OT为例。

其中,σmin = 10-5,可以得到速度的GT

模型参数用θ表示, text prompt embedding用 P表示,预测的速度用u(Xt, P, t)表示。模型的训练目标是最小化GT和预测速度的均方误差。

推理

        推理阶段,首先从N(0, 1)采样得到X0,然后使用一个常微分方程求解器和模型的估计值去计算X1。常用的是一阶欧拉ODE求解器,它为模型提供了特定的的N个时间步的离散集。

        Xt是一条曲线,Vt是曲线的切线斜率。一阶Euler 方法沿着切线走一小步 (α)然后在新的位置重新计算斜率,继续前进。虽然简单,但这种“直线逼近”在步长足够小时能很好地追踪曲线。

http://www.dtcms.com/a/593322.html

相关文章:

  • 电子电气架构 --- 一个具体项目的需求管理(实例化)
  • 11.string(下)
  • OpenVINS代码解读---State.h
  • 提供深圳网站制作公司永久使用免费虚拟主机
  • 智能时代的缘起:从ChatGPT到修行之路
  • 智能守护绿水青山:视频融合平台EasyCVR在森林防火监控中的实战应用
  • 如何做好网站建设前期网站规划软文写手兼职
  • docsify 本地部署完整配置模板 || 将md文件放到网页上展示
  • Bash Shell脚本学习——唇读数据集格式修复脚本
  • 网站界面用什么软件做建设网站需申请什么
  • 底层视觉及图像增强-项目实践(十六-0-(8):端到端DeepHDRNet:从原理到LED显示工程的跨界实践):从奥运大屏,到手机小屏,快来挖一挖里面都有什么
  • 视频号视频下载到手机的详细教程,以及常使用的工具!
  • 禹城网站建设公司安卓网站开发视频
  • 江国青:从郧阳沃土到法治与媒体前沿的跨界行者
  • Mediasoup的SFU媒体服务转发中心详解(与传统SFU的区别)
  • 招标网站免费企业作风建设心得体会
  • 【Java SE 基础学习打卡】07 Java 语言概述
  • 淘宝/天猫获得淘宝买家秀API,python请求示例
  • MATLAB实现BiLSTM(双向长短时记忆网络)数值预测
  • Prefix-Tuning:大语言模型的高效微调新范式
  • 凡科做的网站为什么搜不到学校网站建设成功案例
  • 通过重新安装 Node.js 依赖来解决环境问题
  • 外贸网站建站注意事项天津市哪里有做网站广告的
  • [設計模式]設計模式的作用
  • git报错解决
  • 路径总和 与
  • InnoDB 表查询默认按主键排序?
  • flash 网站模板可视化网页开发
  • Google Earth Engine (GEE) 教程——提取DNVI数据10米分辨率(免费提供完整代码)
  • C++ 在 AI 时代的核心角色:从系统底座到支撑 LLM 的技术基石