浅析扩散模型与图像生成【应用篇】(十一)——DDIBs

11. Dual Diffusion Implicit Bridges for Image-to-Image Translation

  该文提出一种双扩散隐式桥(Dual Diffusion Implicit Bridges, DDIBs)方法用于图像转换,其最大的特点在于处理源域图像的模型和处理目标域图像的模型是彼此分开独立的。使用源域图像训练一个扩散模型 v θ ( s ) v^{(s)}_{\theta} vθ(s),然后使用目标域图像训练另外一个模型 v θ ( t ) v^{(t)}_{\theta} vθ(t),给定一个源域图像 x ( s ) x^{(s)} x(s),首先利用 v θ ( s ) v^{(s)}_{\theta} vθ(s)将其转化为潜在特征 x ( l ) x^{(l)} x(l),然后再经过 v θ ( t ) v^{(t)}_{\theta} vθ(t)将其转化为目标域图像 x ( t ) x^{(t)} x(t)。这带来一个好处,训练过程中不需要同时使用源域和目标域图像对模型进行训练,这在一些对数据私密性要求较高的领域是十分必要的。此外,源域和目标域模型是可以相互转换的,即源域扩散模型,反过来也可以当作目标域的生成模型使用,这就能够实现从目标域向源域的转换。而且一个训练好的扩散模型可以跟任意的目标域生成模型结合,这就使得许多图像转换任务所需模型的数量是随着域的数量线性增长,而不是原本的二次方增长。还有一个重大优势,就是这个方法采用了DDIM模型中的常微分方程ODE建模方式,这就在理论上保证了转化过程具有非常好的循环一致性,即由源域图像 x ( s ) x^{(s)} x(s),生成的目标域图像 x ( t ) x^{(t)} x(t),再经过反向生成得到的伪源域图像 x ′ ( s ) x'^{(s)} x(s)与初始的源域图像 x ( s ) x^{(s)} x(s)之间仅存在一个微小的ODE求解过程中的离散化误差。最后,就是这个方法其实对于扩散模型和生成模型 v θ v_{\theta} vθ是没有什么限制的,我们可以使用各种最新的模型来进行扩散和生成。
在这里插入图片描述
  作者首先对基于分数的生成模型(SGMs)进行了回顾,提到其中的两个重要代表作SMLD(NCSN)和DDPM算法都是可以用随机微分方程SDEs来描述的,其扩散和生成过程如下 d x = f ( x , t ) d t + g ( t ) d w , d x = [ f − g 2 ∇ x log ⁡ p t ( x ) ] d t + g ( t ) d w (1) \mathrm{d} \mathbf{x}=\mathbf{f}(\mathbf{x}, t) \mathrm{d} t+g(t) \mathrm{d} \mathbf{w}, \quad \mathrm{d} \mathbf{x}=\left[\mathbf{f}-g^{2} \nabla_{\mathbf{x}} \log p_{t}(\mathbf{x})\right] \mathrm{d} t+g(t) \mathrm{d} \mathbf{w}\tag{1} dx=f(x,t)dt+g(t)dw,dx=[fg2xlogpt(x)]dt+g(t)dw(1)同时,也提到任何的扩散过程都可以通过确定性的常微分方程来表示,称之为概率流常微分方程(PF ODEs),其扩散过程表示如下 d x = [ f ( x , t ) − 1 2 g ( t ) 2 ∇ x log ⁡ p t ( x ) ] d t (2) \mathrm{d} \mathbf{x}=\left[\mathbf{f}(\mathbf{x}, t)-\frac{1}{2} g(t)^{2} \nabla_{\mathbf{x}} \log p_{t}(\mathbf{x})\right] \mathrm{d} t\tag{2} dx=[f(x,t)21g(t)2xlogpt(x)]dt(2)如果我们用 v θ = d x / d t v_{\theta}=\mathrm{d} \mathbf{x}/\mathrm{d} t vθ=dx/dt来表示参数为 θ \theta θ的一个速度场(velocity field),也就是公式(2)中方括号里的内容,则使用ODE求解由 x ( t 0 ) x(t_0) x(t0) x ( t 1 ) x(t_1) x(t1)的映射关系过程表示如下 ODESolve ⁡ ( x ( t 0 ) ; v θ , t 0 , t 1 ) = x ( t 0 ) + ∫ t 0 t 1 v θ ( t , x ( t ) ) d t (3) \operatorname{ODESolve}\left(\mathbf{x}\left(t_{0}\right) ; v_{\theta}, t_{0}, t_{1}\right)=\mathbf{x}\left(t_{0}\right)+\int_{t_{0}}^{t_{1}} v_{\theta}(t, \mathbf{x}(t)) \mathrm{d} t\tag{3} ODESolve(x(t0);vθ,t0,t1)=x(t0)+t0t1vθ(t,x(t))dt(3) t 0 = 0 , t 1 = 1 t_0=0,t_1=1 t0=0,t1=1时就表示扩散过程,而当 t 0 = 1 , t 1 = 0 t_0=1,t_1=0 t0=1,t1=0时就表示生成过程,DDIBs的扩散和生成流程如下图所示,其中求解器ODESolve本文使用的是DDIM,当然其他的求解器也是可以的。此外 v θ v_{\theta} vθ中的未知量 ∇ x log ⁡ p t ( x ) \nabla_{\mathbf{x}} \log p_{t}(\mathbf{x}) xlogpt(x)通常用一个噪声估计网络或者叫做分数估计网络 s θ s_{\theta} sθ来进行估计, s θ s_{\theta} sθ可采用带有注意力机制的UNet模型或者条件UNet模型。
在这里插入图片描述
  其实讲到这里,DDIBs方法的过程和特点就已经介绍完了,下面作者又分析了其背后的理论依据,作者是从薛定谔桥问题(Schrodinger Bridges Problem,SBP)的角度来描述DDIBs的理论基础的。假设 Ω = C ( [ 0 , 1 ] ; R n ) \Omega=C\left([0,1];\mathbb{R}^{n}\right) Ω=C([0,1];Rn)是在时间[0,1]范围内 n n n维实值连续函数的路径空间, D ( p 0 , p 1 ) \mathcal{D}\left(p_{0}, p_{1}\right) D(p0,p1)是空间 Ω \Omega Ω上所有的分布集合,其在时刻 t = 0 , t = 1 t=0,t=1 t=0,t=1上的边缘分布分别为 p 0 , p 1 p_0,p_1 p0,p1。给定一个先验的参考度量 W W W,则SBP就是要寻找在 p 0 p_0 p0 p 1 p_1 p1之间随时间 t t t变化的概率最大的进化路径,也就是说从 D ( p 0 , p 1 ) \mathcal{D}\left(p_{0}, p_{1}\right) D(p0,p1)寻找一个分布使得其与参考度量 W W W之间的KL散度最小,即下式所示 P S B P : = arg ⁡ min ⁡ { D K L ( P ∥ W ) ∣ P ∈ D ( p 0 , p 1 ) } (4) P_{S B P}:=\arg \min \left\{D_{K L}(P \| W) \mid P \in \mathcal{D}\left(p_{0}, p_{1}\right)\right\}\tag{4} PSBP:=argmin{DKL(PW)PD(p0,p1)}(4)作者还解释到SBP实际上是一个带有额外熵正则项的Monge-Kantorovich (MK)最优传输问题(OT)。上面这一大段,其实我也没怎么看懂,大概的意思是SBP就是寻找一个时间跨度为 t t t,边缘分布分别为 p 0 p_0 p0 p 1 p_1 p1的概率分布 P P P。那么SBP与上面提到的SGMs又有什么关系呢?作者引用他人研究的结果证明SGMs是一种隐式的最优传输模型,对应着带有线性或退化漂移(linear or degenerate drifts)的SBP。简单理解为SGMs是退化版的SBP,是SBP的一个特例。那么用SBP来描述扩散和生成过程如下: d x = [ f + g 2 ∇ x log ⁡ Φ t ( x ) ] d t + g ( t ) d w , d x = [ f − g 2 ∇ x log ⁡ Φ ^ t ( x ) ] d t + g ( t ) d w (5) \mathrm{d} \mathbf{x}=\left[\mathbf{f}+g^{2} \nabla_{\mathbf{x}} \log \Phi_{t}(\mathbf{x})\right] \mathrm{d} t+g(t) \mathrm{d} \mathbf{w}, \quad \mathrm{d} \mathbf{x}=\left[\mathbf{f}-g^{2} \nabla_{\mathbf{x}} \log \hat{\Phi}_{t}(\mathbf{x})\right] \mathrm{d} t+g(t) \mathrm{d} \mathbf{w}\tag{5} dx=[f+g2xlogΦt(x)]dt+g(t)dw,dx=[fg2xlogΦ^t(x)]dt+g(t)dw(5)其中 Φ t , Φ ^ t {\Phi}_{t},\hat{\Phi}_{t} Φt,Φ^t为薛定谔因子,其满足 p t ( x ) = Φ t ( x ) Φ ^ t ( x ) p_{t}(\mathbf{x})=\Phi_{t}(\mathbf{x}) \hat{\Phi}_{t}(\mathbf{x}) pt(x)=Φt(x)Φ^t(x)。式中 z t = g ( t ) ∇ x log ⁡ Φ t ( x ) \mathbf{z}_{t}=g(t) \nabla_{\mathbf{x}} \log \Phi_{t}(\mathbf{x}) zt=g(t)xlogΦt(x) z ^ t = g ( t ) ∇ x log ⁡ Φ ^ t ( x ) \hat{\mathbf{z}}_{t}=g(t) \nabla_{\mathbf{x}} \log \hat{\Phi}_{t}(\mathbf{x}) z^t=g(t)xlogΦ^t(x)能够充分的表征SBP的动态变化过程,因此可以被看作是扩散和生成过程所遵循的策略。从对数似然的角度来看,当 z t , z ^ t \mathbf{z}_{t}, \hat{\mathbf{z}}_{t} zt,z^t满足以下条件时,SBP和SGMs是等价的 ( z t , z ^ t ) = ( 0 , g ( t ) ∇ x log ⁡ p t ( x ) ) (6) \left(\mathbf{z}_{t}, \hat{\mathbf{z}}_{t}\right)=\left(0, g(t) \nabla_{\mathbf{x}} \log p_{t}(\mathbf{x})\right)\tag{6} (zt,z^t)=(0,g(t)xlogpt(x))(6)当然与SGMs相似,SBP也能够推导出其对应的确定性概率流常微分方程PE ODE,如下所示 d x = [ f ( x , t ) + g ( t ) z − 1 2 g ( t ) ( z + z ^ ) ] d t \mathrm{d} \mathbf{x}=\left[\mathbf{f}(\mathbf{x}, t)+g(t) \mathbf{z}-\frac{1}{2} g(t)(\mathbf{z}+\hat{\mathbf{z}})\right] \mathrm{d} t dx=[f(x,t)+g(t)z21g(t)(z+z^)]dt其中 z \mathbf{z} z只与 x \mathbf{x} x有关,与时间 t t t无关。
  费了这么多力气,作者就想说明一点DDIBs是两个级联的薛定谔桥,分别连接了源域和潜在空间以及潜在空间和目标域。这就是该文提出方法名字的来源,双扩散隐式桥(Dual Diffusion Implicit Bridges, DDIBs)是基于去噪扩散隐式模型(Denoising Diffusion Implicit Models, DDIM)的且包含两个独立的薛定谔桥以连接数据和潜在空间分布。后面作者在一个2维图像数据集上,验证了DDIBs方法所具备的图像转换的平滑性和循环一致性,如下图所示
在这里插入图片描述
由图a可以看出来,当图像从一种形状转换到另一种形状时,其颜色的分布情况几乎与源图像保持一致;由图b可以看出,当图像从形状A转换到B再转换回A时,两者之间几乎没有任何差别,这就显著表明了生成过程具备很好的循环一致性。
  此外,作者还利用条件扩散模型测试了DDIBs由一个源域转换到多个目标域的表现,如下图所示
在这里插入图片描述
可以看到,当源域图像(狮子,类别代号291)转化为其他多个类别时,再保留原有的吼叫姿态的同时,又能很好的兼顾目标类别的特征。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/562603.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考 网络工程师 每日学习打卡 2024/3/22

学习内容 第9章 网络操作系统与应用服务器 本章主要讲解:了Windows和Linux操作系统的基础知识,并详细讲述了常用的各种服务器的 配置方法。这一章的内容主要是在具体操作方面,网络工程师要能够熟练地配置各种网络服务 器,排除网络…

Mysql数据库深入理解

目录 一、什么是数据库 二、Mysql基本架构图 1.Mysql客户端/服务器架构 2.客户端与服务器的连接过程 3.服务器处理客户端请求 4.一条查询SQL执行顺序 4.1连接器 4.2查询缓存 4.3解析器 4.4执行器 4.4.1预处理阶段 4.4.2优化阶段 4.4.3执行阶段 5.一条记录如何存…

基于springboot+vue的物资仓储物流管理系统(源码+论文)

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

自动驾驶感知新范式——BEV感知经典论文总结和对比(一)

自动驾驶感知新范式——BEV感知经典论文总结和对比(一) 博主之前的博客大多围绕自动驾驶视觉感知中的视觉深度估计(depth estimation)展开,包括单目针孔、单目鱼眼、环视针孔、环视鱼眼等,目标是只依赖于视…

(2023,图像放大与超分辨率,扩散,缩放堆叠表示,多分辨率混合,多尺度联合抽样)Ten 的生成能力

Generative Powers of Ten 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 2. 相关工作 4. 方法 4.1. 缩放堆叠表示 4.2. 多分辨率混合 4.3. 多尺度一致抽样 4.4. 基于照片…

飞鸟写作怎么用 #经验分享#学习方法#学习方法

飞鸟写作是一款非常好用的论文写作工具,它不仅能够帮助用户写作论文,还可以检测论文的原创性和查重率,是许多学生和研究人员的首选工具。 使用飞鸟写作非常方便,用户只需将论文复制粘贴到工具中,就能够快速得到论文的原…

【并发编程】锁相关公平锁和非公平锁?可重入锁锁的升级乐观锁和悲观锁版本号机制CAS 算法乐观锁有哪些问题?

目录 ​编辑 锁相关 公平锁和非公平锁? 可重入锁 锁的升级 乐观锁和悲观锁 版本号机制 CAS 算法 乐观锁有哪些问题? 锁相关 公平锁和非公平锁? 公平锁 : 锁被释放之后,先申请的线程先得到锁。性能较差一些,因…

[ESP32]:基于HTTP实现百度AI识图

[ESP32]:基于HTTP实现百度AI识图 测试环境: esp32-s3esp idf 5.1 首先,先配置sdk,可以写入到sdkconfig.defaults CONFIG_IDF_TARGET"esp32s3" CONFIG_IDF_TARGET_ESP32S3yCONFIG_PARTITION_TABLE_CUSTOMy CONFIG_PA…

SpringBoot 文件上传(一)

应用场景 文件上传是指将本地图片、音频、视频等文件上传至服务器的过程,应用场景非常多。 比如:更新头像、交作业上传作业文件、发微博微信时上传图片等。 前端页面三要素 上图显示前端页面的三要素以及对应的页面样式 前端页面三要素: …

Python爬取歌曲宝音乐:轻松下载Jay的歌

歌曲宝是一个不用付费就能听jay的歌曲,但是每次都只能播放一首不方便,于是今天想把它下载下来,本地循环播放,它所用到的接口是某我的还不错哈 获取搜索接口 分析html请求接口,获取到的数据是直接渲染好的HTML内容&…

浅谈Javascript虚拟列表(virtaul list)改造成虚拟表格(virtaul table)的技术

前端加载百万条数据列表,如果采用真实的DOM插入100万个div(或li)标签,肯定是非常卡顿的。这就不得不使用虚拟列表技术方案,但是虚拟列表技术方案网上有很详细的实现方法,今天我就来谈谈根据网上的方案&…

【Python音视频技术】玩AI视频创作引发写Python音视频技术系列文章1---视频添加字幕

最近对视频创作感兴趣, 详情见之前写的几篇文章。 【AI应用】模仿爆款视频二次创作短视频操作步骤 【人工智能】AI数字人视频演示 【人工智能】AI视频二次创作演示 作为程序员出身的我,看到一些功能, 我都有猎奇的习惯, 想着自己用什么技…