Stanford University

图片均来自于原论文🫡

Motivation

  • 现有对于Unpair的图像域之间的转换(即一类I2I任务)大多数需要在训练过程中同时加入两域的图像,比如UNIT-DDPM。这样做阻碍了数据分离和隐私保护(which hinders data separation and privacy protection),比如有些时候源域或者目标域的数据集无法获得,或者涉及个人隐私。
  • 在训练时耦合两域意味着需要更大的显存和计算量,而且需要对给定域对的耦合损失进行优化。

Method

  • 模型基于DDIM(看源码是guided-diffusion实现的DDIM),训练时分别在源域和目标域训练两个扩散模型。

  • 在转换时,源域的扩散模型相当于一个编码器,将图片编码到隐空间;目标域的扩散模型相当于一个解码器,用来恢复图像。

    image-20230324224943914

  • 具体算法流程:

    image-20230324225313589

    至于ODESolve是啥,原文给了很多说明与证明,并且从数学上说明了方法的正确性。想看懂的话需要了解分数模型和概率流。这里就不去证明啦😺

  • 从本质上讲,DDIM可以视为一个薛定谔桥,连接了源域与目标域,两个DDIM模型分别对应着前向和后向的桥。源域和目标域之间存在着很多的转换,但是最优的只有一个(也就是本文提出来的),这也就是为什么其他的Unpaired域要用对抗损失的原因,要去接近这个最优的“桥”。(原文有证明🤔)

  • 总的来说,这篇文章提出的方法很简单,但是有非常多的优点,并且也有理论支撑:

    • 循环一致:可以简单理解为从A到B再到A’,A与A‘几乎相差无几。
    • 隐私保护:模型单独训练,可以随意组合,不需要成对的数据集。比如猫🐱狗🐕猪🐖之间两两互换,并且之前可能要分别成对训练,现在只需要三个模型即可。

Experiment

  • 主要从原理和内容上进行验证与相关实验。

  • 原理上,实验从一些比较有特点的数据集上进行转化的实验,这些数据集有一些形状和颜色的特点,比如,如果源域中的点是红色的,那么它在目标域中的对应点也是红色的,根据这样的数据来进行实验:

    image-20230326202545329

    从左边可以看出转化是很平滑的,比如红色的部分的相对位置没有变化;从右边可以看出是循环一致的,简单来说就是变过去还能变回来。

  • 除了原理上的直观展示,还进行了风格迁移等实验,包括有条件和无条件的引导:

    image-20230326203613863

  • 更多的结果和分析见原文以及其附录😉