参考文章:
https://blog.csdn.net/ssshyeong/article/details/127210086
这篇文章对整个文章 UNIT-DDPM: UNpaired Image Translation with Denoising Diffusion Probabilistic Models进行了从头到尾的讲解,可以看一下。在此写一下自己的理解。
大致介绍:
这篇论文提出了一种新的图像翻译方法,即无配对的图像翻译,基于Denoising Diffusion Probabilistic Models(DDPM)。传统的无配对图像翻译方法通常使用对抗生成网络(GAN)或变分自编码器(VAE)来模拟两种语言之间的映射,但这些方法通常需要大量配对的数据来训练模型。而本文提出的方法则不需要配对的数据,因为它使用DDPM来学习两种语言之间的映射。DDPM是一种基于概率模型的去噪方法,可以通过对噪声进行多次迭代来生成清晰图像。本文将DDPM应用于无配对图像翻译,通过对两种语言图片进行多次迭代训练,可以获得较好的翻译效果。
具体来说,本文的方法分为两个步骤:训练阶段和生成阶段。在训练阶段,将DDPM应用于两种语言的图片数据集上,训练出两个DDPM模型。在生成阶段,通过交替对两个DDPM模型进行迭代,将一个语言的图片转换成另一个语言的图片。
本文的方法相对于传统方法的优点是不需要配对的数据,而且生成的图片具有一定的多样性和清晰度。但缺点是训练时间相对较长,因为DDPM模型需要进行多次迭代训练。
总之,本文提出了一种新的无配对图像翻译方法,通过应用DDPM模型实现了两种语言之间的图片转换,为跨语言翻译和相关领域的研究提供了新思路。
图解:
可以看到,本文使用两个扩散过程(源域和目标域的扩散),以及两个转换函数(将源域转到目标域和将目标域转到源域),也就是图像翻译。
为了使两个域之间能够转换,本文将最p过程进行了修改,使其带有条件。
扩散损失:
首先训练扩散过程中的参数:
依次排列括号里面的公式:A在t时刻的扩散图像;首先将A域图像转到B上,然后使用A域的扩散得到扩散图像,时刻t (先翻译,后扩散)
B在t时刻的扩散图像;首先将B域图像转到A上,然后使用B域的扩散得到扩散图像;时刻t。
转换损失:
接下来训练翻译函数,固定A和B的扩散参数:
依次罗列括号里面的公式:
先将B域图像转到A域,然后得到t时刻的扩散图像(A域上);B域图像在t时刻的扩散图像(B域上);时刻t。
B域图像在t时刻的扩散图像(B域上);首先将B域图像转到A上,然后使用B域的扩散得到扩散图像(B域上);时刻t。
后面一个类似。
循环一致性损失:
最终的损失函数:
推理过程:
之后使用DDPM里面的公式对其一步一步推导即可。
优缺点:
模型图:
扩散模型采样步骤很费时间,可以使用DDIM等方法进行缩减;还可以通过其他trick进行改进生成质量(如注意力机制或者NL等方法)。