DDPM-DDIM-DDIB
Dual Diffusion Implicit Bridges for Image-to-Image Translation(DDIB)
本文提出了一种新的域之间的Image-to-Image Translation的方法DDIB, 这种方法只需要在source域和target域上分别训练好两个DDIM模型, 然后将source域对应的latent直接传给target域. 这种方法不需要成对的训练数据, 而且source域和target域的训练可以相互独立, 从而保证了数据的安全性.
文章目录
- Dual Diffusion Implicit Bridges for Image-to-Image Translation(DDIB)
- 前言
- 1.Introduction
- 2.DDIB
- 3.与最优传输的联系
- 4. 实验结果
- GAN生成对抗网络-text to image原理
前言
DDIM正是采用了这样的思路. 作者指出DDIM优于DDPM主要有三个方面:
- 首先,与DDPMS相比,DDIMS具有更好的样本生成质量,当我们使用我们提出的方法将采样加速10×100×时。
- 其次,DDIM样本具有以下“一致性”特性,而这在DDPMS中不成立:如果我们从相同的初始潜在变量开始,生成几个具有不同长度马尔可夫链的样本,这些样本将具有相似的高级特征。
- 第三,由于DDIMS中的一致性,我们可以通过操纵DDIMS中的初始潜在变量来进行语义上有意义的图像插值,而不像DDPMS中由于随机生成过程而在图像空间附近进行插值(类似于StyleGAN的隐空间插值)。
1.Introduction
通常的Image-to-Image Translation需要成对的训练数据, 但是有些时候没有成对的数据, 这些情况下就需要直接实现两个域的转换. 现有的这种直接跨域转换的unpaired image Translation的方法都是基于GAN, 比如cycleGAN, DualGAN,还有一些方法基于normalizing Flow.
但是现有的这些跨域转换的方法尽管可以生成高质量的结果, 但是一个重大的缺陷是缺乏adaptability. 也就是说, 一个训练好的模型只能实现单方向的两个域之间的转换, 要实现 n n n 个域的相互转换就需要 n 2 n^2 n2 个模型. 那么作者提出的DDIB, 只需要在每个域上独立的训练一个DDIM模型, 也就是只需要 n n n 个模型, 就可以实现 n n n 个域之间的互相转换.
另外作者还提出, 在一些应用情形下, 两个domain的数据为了安全起见不能共享, 那么对于很多需要两个domain的训练数据的传统模型就无用武之地, 而DDIB需要的只是在不同的域上单独训练出来的DDIM模型, 所以就可以满足这种安全性要求.
2.DDIB
首先回顾一下DDIM将Diffusion与ODE联系在一起, 也就是说前向过程和反向过程都可以用ODE来表示, 而且这两个过程互为逆过程.
简单用一句话, 对于一个训练好的DDIM模型, 任意一张图像 x 0 x_0 x0 可以通过前向的ODE得到唯一的一个 x T x_T xT , 而这个唯一的 x T x_T xT 又可以通过反向的ODE得到 x 0 x_0 x0 . 这是一个很好地性质, 有了这个基础再来看DDIB的方法就是一目了然.
DDIB的伪代码如下所示:
方法其实简单明了, 也就是用source域的DDIM前向的ODE将source域的图像 x 0 ( s ) x_0^{(s)} x0(s) 转换到其隐空间的表示 x ( l ) x^{(l)} x(l) , 然后直接将这个 x ( l ) x^{(l)} x(l) 作为target域的DDIM反向的ODE的输入, 就可以得到对应的target域的输出 x 0 ( t ) x_0^{(t)} x0(t).
方法似乎看起来很简单, 但是为什么这个隐空间的表示能够直接用, 难道不需要其他的操作吗? 换句话说, 这种方法可行的原理是什么? 抱着这个问题接着往后看.
3.与最优传输的联系
作者首先介绍了DDIM训练的目标与最有传输问题的联系.
蒙日最优传输(Monge Optimal Transport)是指寻找从一个数据分布到另一个数据分布的最小的代价.
用数学的方式表示, 假设有两个概率测度 α , β \alpha, \beta α,β 分别对应两个空间 X , Y X, Y X,Y 代价函数为 c ( x , y ) c(x, y) c(x,y) , 那么蒙日最优传输可以看作如下的优化问题:
那么接下来看DDPM与DDIM的优化目标:
由于DDIM训练过程中,优化目标的 x t x_t xt 可以直接由 x 0 x_0 x0 得到, 于是这个优化目标又可以表示成如下的形式:
用数学期望的形式来表示这个目标可以得到:
优化这个目标与优化蒙日最有传输的目标是异曲同工的.
可是讲了这么一大堆, 只是说明了在同一个域内训练DDIM的目标与最优传输的联系. 于是DDIB就可以看作是先从source域最优传输到latent域, 再从latent域最优传输到target域. 但是还是没有解释清除为什么中间的隐变量不需要任何处理能直接在两个域之间使用.于是作者指出, 尽管这种直接用隐变量的方式, 并不能严格的算是从source域到target域的最优传输, 但是通过实验可以看出这种方式与最优传输之间很接近.
于是作者在一些二维的分布上做了一些小实验来证明这一点:
并且作者将DDIB的方法与直接用其他最优传输方法的结果进行了比较:
总之, 作者并没有从理论上给出DDIB可行的解释, 而只是从实验层面给出了一些佐证.
4. 实验结果
GAN生成对抗网络-text to image原理
实质上这是一个RNN的词语向量化模型 + 条件GAN。首先用一个RNN网络来将文字转换为向量,然后将生成的文本向量加入到G和D网络中。
与普通GAN不同的是,这里多了一种loss,即看上去挺真的,但是对应的描述与图不符合,也要给与惩罚。如果不加的话,那么D所能获得的信息仅仅是G的生成图,失
去了判断图与描述是否符合的判断能力。
为什么还需要噪声输入?
这是因为一般情况下很多时候一句话就是描述内容(花的样子)的,而不会描述style(style主要是包括背景和姿态)。那么这种情况下我们就希望噪声能起到这种加入style的作用,从而生成更加真实多样化的图片。
另外,通过特征可视化的方式,让z具有specific的style加入功能,从而解决文本描述本身不对style进行任何阐述的问题,随机化的z可以加入不同的style,从而增加生成样本的真实
性与多样性。
DDPM-DDIM-DDIB相关推荐
- 4. DDPM, DDIM, Analytic-DPM, Extended Analytic-DPM
- AI绘画能力的起源:通俗理解VAE、扩散模型DDPM、DETR、ViT/Swin transformer
前言 2018年我写过一篇博客,叫:<一文读懂目标检测:R-CNN.Fast R-CNN.Faster R-CNN.YOLO.SSD>,该文相当于梳理了2019年之前CV领域的典型视觉模型 ...
- 扩散模型探索:DDIM 笔记与思考
DIFFUSION系列笔记|DDIM 数学.思考与 ppdiffuser 代码探索 论文:DENOISING DIFFUSION IMPLICIT MODELS 该 notebook 主要对 DDIM ...
- 如何用Diffusion models做interpolation插值任务?——原理解析和代码实战
Diffusion Models专栏文章汇总:入门与实战 前言:很多Diffusion models的论文里都演示了插值任务,今天我们讲解一下如何用DDIM/DDPM做interpolation任务 ...
- Stable Diffusion 原理介绍与源码分析(一)
Stable Diffusion 原理介绍与源码分析(一) 文章目录 Stable Diffusion 原理介绍与源码分析(一) 前言(与正文无关,可以忽略) 总览 说明 Stable Diffusi ...
- 图像分割的大变革:从SAM(分割一切)到FastSAM、MobileSAM
前言 SAM就是一类处理图像分割任务的通用模型.与以往只能处理某种特定类型图片的图像分割模型不同,SAM可以处理所有类型的图像. 在SAM出现前,基本上所有的图像分割模型都是专有模型.比如,在医学领域 ...
- 【Paper Notes】DiffusionCLIP: Text-Guided Diffusion Models for Robust Image Manipulation
论文链接 该论文发表在CVPR 2022上 目录 主要任务 方法介绍 DDPM/DDIM回顾 模型架构 Loss设计 Forward和Reverse过程 未知Domain之间的迁移 实验结果 参考文献 ...
- 【论文系列解读】StableDiff总结
Diff总结目录 1. diffusion (0) 总结 (0-1) 文本到图像生成(Stable Diffusion) (0-2) 图片感知压缩(Perceptual Image Compressi ...
- DDIM原理及代码(Denoising diffusion implicit models)
前言 之前学习了 DDPM(DDPM原理与代码剖析)和 IDDPM(IDDPM原理和代码剖析), 这次又来学习另一种重要的扩散模型.它的采样速度比DDPM快很多(respacing),扩散过程不依赖马 ...
- DDIM代码详细解读(4):分类器classifier的网络设计、训练、推理
前言:之前写过三篇详细解读DDPM代码的博客,随着时间已经来到2022年11月,单纯使用DDPM已经逐渐被淘汰,最新的论文更多使用DDPM的改进版本.DDIM作为DDPM最重要的改进版本之一,从本篇博 ...
最新文章
- 不一样的命令行 – Windows PowerShell简介
- 【剑指offer-Java版】40数组中只出现一次的数字
- 网络资产管理系统_RFID固定资产管理系统_企业资产管理方案
- NET问答: 如何将 ASP.NET Core WebAPI 中抛出的异常封装成对象?
- linux 路径结构
- 抹机王怎么一键新机_[电脑] [第六届机王争霸赛]水冷组——十年 by ilas 完工
- Active Directory证书服务
- cru使用教程_极客自习室 篇四:「教程向」给你显示器超个频呗!一键提升40%!省下好几百!...
- Mac 忘记管理员名和密码
- Base64编码简介
- Proguard混淆与Maven集成
- selenium-java 实现QQ音乐自动登录获取cookie数据,爬取qq音乐会员资源和网易云音乐会员资源。实现任意网站的会员资源爬取
- 都市白领要学会的规则
- 计蒜客--蒜头君的新游戏
- 《自己动手写嵌入式操作系统》阅读笔记之操作系统小知识
- Android:安卓学习笔记之共享元素的简单理解和使用
- 混沌工程实践 - LitmusChaos
- 墨客科普---MOAC分层分片技术
- MySQL PHP操作数据库
- 权力的游戏第八季在线观看
热门文章
- SpringBoot实现访问本地磁盘电脑资源
- python+vue宠物用品商城网站django宠物领养系统31e70
- GAMMA电源维修直流高压电源模块RR300-1P
- 新宽带时代:宽带提速让多方共赢
- 自定义View——双色球彩票选号界面,模仿网易彩票
- 原生数据库PolarDB和云原生数据仓库AnalyticDB的优势在哪里?
- 【历史上的今天】3 月 20 日:周以真提出计算思维;Docker 发布;思科收购 Linksys
- 计算机基础微课毕业论文,计算机基础微课教学研究
- Card Trick
- 我的世界java三叉戟怎么得_《我的世界》1.13最新快照,“水鬼”的三叉戟究竟如何获得?...