• 【深度学习】UNIT-DDPM核心讲解



    参考文章:
    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等方法)。

  • 相关阅读:
    多核处理器上的内存访问一致性
    人口大数据解决方案
    Python3学习
    破局数据库“卡脖子”:专精特新“小巨人”偶数科技迎风成长
    网络安全(黑客)自学
    解释一下React中的钩子(hooks),例如useState和useEffect。
    【C语言】文件操作
    怎么在爬虫中使用ip代理服务器,爬虫代理IP的好处有哪些?
    如何通过对话式机器人流程自动化 (CRPA),改善客户服务?
    MySQL MVCC详细介绍
  • 原文地址:https://blog.csdn.net/aaatomaaa/article/details/133636510