UNsupervised Image-to-image Translation

UNIT,即无监督图像到图像转换,提出了一种共享潜在空间的假设,使得不同domain的对应图像能映射到同一潜在表示。通过结合VAE和GAN,实现了图像的重构、转换及循环一致性。

接下来的博客将陆续介绍三篇图像转换相关的工作。以往看过CycleGAN和StarGAN这样的工作,但这三篇工作给出了一个新的思路,很有启发意义。本文先介绍第一篇工作UNIT。

UNIT

UNIT(UNsupervised Image-to-image Translation)发表于NIPS2017。UNIT提出了一个称为共享的潜在空间(a shared-latent space)的假设:处于不同domain的两张对应图像可以映射到共享的潜在空间中的同一个潜在表示(latent representation)。基于这个假设,提出了基于GAN和VAE的UNIT框架。

定义X1X_1X1X2X_2X2是两个image domain。在有监督的图像到图像转换中,样本(x1,x2)(x_1, x_2)(x1,x2)服从联合分布PX1,X2(x1,x2)P_{X_1, X_2}(x_1, x_2)PX1,X2(x1,x2);在无监督的图像到图像转换中,样本(x1,x2)(x_1, x_2)(x1,x2)服从边缘分布PX1(x1)P_{X_1}(x_1)PX1(x1)PX2(x2)P_{X_2}(x_2)PX2(x2)。没有特殊假设的情况下,我们不能从边缘分布中得出联合分布。

下面给出对共享的潜在空间的假设。如下图所示,给定样本对x1x_1x1x2x_2x2,我们可以从一个潜在编码zzz恢复出这两张图像,也可以从这两张图像得到这个共享的潜在编码。假设存在函数E1∗E_1^*E1E2∗E_2^*E2G1∗G_1^*G1G2∗G_2^*G2,满足z=E1∗(x1)=E2∗(x2)z=E_1^*(x_1)=E_2^*(x_2)z=E1(x1)=E2(x2)。反过来,满足x1=G1∗(z)x_1=G_1^*(z)x1=G1(z)x2=G2∗(z)x_2=G_2^*(z)x2=G2(z)。这样以来,F1→2∗(x1)=x2=G2∗(E1∗(x1))F^*_{1\rightarrow2}(x_1)=x_2=G_2^*(E_1^*(x_1))F12(x1)=x2=G2(E1(x1))实现了从X1X_1X1X2X_2X2的映射,F2→1∗(x2)=x1=G1∗(E2∗(x2))F^*_{2\rightarrow1}(x_2)=x_1=G_1^*(E_2^*(x_2))F21(x2)=x1=G1(E2(x2))实现了从X2X_2X2X1X_1X1的映射。因此,UNIT要实现的就是F1→2∗F^*_{1\rightarrow2}F12F2→1∗F^*_{2\rightarrow1}F21。更进一步地,两个函数还满足下面的cycle-consistency constraint:x1=F2→1∗(F1→2∗(x1))x_1=F^*_{2\rightarrow1}(F^*_{1\rightarrow2}(x_1))x1=F21(F12(x1))x2=F1→2∗(F2→1∗(x2))x_2=F^*_{1\rightarrow2}(F^*_{2\rightarrow1}(x_2))x2=F12(F21(x2))。换句话说,UNIT提出的共享的潜在空间假设满足循环一致性假设(the cycle-consistency assumption)。

在这里插入图片描述

为了实现这样一个共享的潜在空间假设,我们进一步假设一个一个共享的中间表示hhh。这样生成一对对应图像的过程变成了下面这样一种形式:

z→h↘x2↗x1z\rightarrow h^{\nearrow x_1}_{\searrow x_2}zhx2x1

因此有了G1∗=GL,1∗∘GH∗G_1^*=G_{L,1}^* \circ G_H^*G1=GL,1GHG2∗=GL,2∗∘GH∗G_2^*=G_{L,2}^*\circ G_H^*G2=GL,2GH。其中GH∗G_H^*GH是一个高阶的生成函数,用来将zzz映射到hhhGL,1∗G_{L,1}^*GL,1GL,2∗G_{L,2}^*GL,2是低阶的生成函数,用来分别将hhh映射到x1x_1x1x2x_2x2。在多domain的图像转换中,zzz可以表示一个场景的紧凑的、高阶的表示(如车在前,树在后的场景),hhh可以看做是zzz的一个具体的实现(车和树分别占据了对应的像素),而GL,1∗G_{L,1}^*GL,1GL,2∗G_{L,2}^*GL,2则是每个domain中真实图像的生成函数(“tree in lush green in the sunny domain, but dark green in the rainy domain”)。

上图中的框架是基于VAE和GAN的,由六部分组成:两个domain的图像编码器E1E_1E1E2E_2E2,两个domain的图像生成器G1G_1G1G2G_2G2,两个domain的对抗判别器D1D_1D1D2D_2D2。六部分网络的功能可以从下表中看到。

在这里插入图片描述

VAE. E1E_1E1G1G_1G1构成了X1X_1X1 domain的一个变分自编码器VAE1VAE_{1}VAE1。对于一个输入图像x1∈X1x_1 \in X_1x1X1VAE1VAE_1VAE1首先通过编码器E1E_1E1x1x_1x1映射到潜在空间ZZZ内的一个编码,之后又由生成器G1G_1G1将这个编码重构成图像x1x_1x1。另一个变分自编码器VAE2VAE_2VAE2的作用类似。

Weight-sharing. 基于前面介绍的共享的潜在空间假设,我们通过权重共享将两个VAE联系到一起。具体地,我们让E1E_1E1E2E_2E2的最后几层网络共享参数,这几层网络负责从来自两个domain的输入图像中提取到高阶表示。类似地,我们让G1G_1G1G2G_2G2的前几层网络共享参数,这几层网络负责解码高阶表示以重构输入图像。

要注意到权重共享这一约束并不能保证两个domain中的对应图像有着同样的潜在编码。在无监督训练中,在两个domain中不存在成对的对应图像能够映射到同一个潜在编码,即成对的对应图像提取到的签字编码通常是不同的。然而通过对抗训练,我们可以看到来自两个domain的对应图像可以由E1E_1E1E2E_2E2映射到同一个潜在编码,而这个潜在编码又可以由G1G_1G1G2G_2G2分别映射到两个domain中的对应图像。

GANs. 我们的框架中包含了两个生成对抗网络:GAN1={D1,G1}GAN_1=\{D_1, G_1\}GAN1={D1,G1}GAN2={D2,G2}GAN_2=\{D_2,G_2\}GAN2={D2,G2}。在GAN1GAN_1GAN1中,对于第一个domain中的真实图像,D1D_1D1应该判定为True;对于由G1G_1G1生成的图像,D2D_2D2应该判定为False。G1G_1G1可以生成两种图像:x~11→1=G1(z1∼q1(z1∣x1))\tilde{x}_1^{1\rightarrow1}=G_1(z_1 \sim q_1(z_1|x_1))x~111=G1(z1q1(z1x1))x~22→1=G1(z2∼q2(z2∣x2))\tilde{x}_2^{2\rightarrow1}=G_1(z_2 \sim q_2(z_2|x_2))x~221=G1(z2q2(z2x2))。因为重构的过程是有监督的,我们只能通过对抗训练的方式来实现图像转换的过程。GAN2GAN_2GAN2有着同样的作用。

Cycle-consistency. 由于共享潜在空间假设意味着循环一致性约束,我们还可以在所提出的框架中强制执行循环一致性约束,以进一步规范不适当的无监督图像到图像转换问题。得到的信息处理流称为循环重构流。

Learning. 我们要同时进行VAE1VAE_1VAE1VAE2VAE_2VAE2GAN1GAN_1GAN1GAN2GAN_2GAN2的训练,以同时实现图像重构流、图像转换流和循环重构流:

min⁡E1,E2,G1,G2max⁡D1,D2LVAE1(E1,G1)+LGAN1(E1,G1,D1)+LCC1(E1,G1,E2,G2)LVAE2(E2,G2)+LGAN2(E2,G2,D2)+LCC2(E2,G2,E1,G1)\min_{E_1, E_2, G_1, G_2} \max_{D_1, D_2} L_{VAE_1}(E_1,G_1)+L_{GAN_1}(E_1, G_1, D_1) + L_{CC_1}(E_1, G_1, E_2, G_2) \\ \qquad \qquad \qquad L_{VAE_2}(E_2, G_2)+L_{GAN_2}(E_2, G_2, D_2)+L_{CC_2}(E_2,G_2, E_1, G_1)E1,E2,G1,G2minD1,D2maxLVAE1(E1,G1)+LGAN1(E1,G1,D1)+LCC1(E1,G1,E2,G2)LVAE2(E2,G2)+LGAN2(E2,G2,D2)+LCC2(E2,G2,E1,G1)

VAE的训练旨在最小化一个变分的上限(a variational upper bound),VAE的目标是:

LVAE1(E1,G1)=λ1KL(q1(z1∣x1)∣∣pη(z))−λ2Ez1∼q1(z1∣x1)[logpG1(x1∣z1)]L_{VAE_1}(E_1, G_1) = \lambda_1 KL(q_1(z_1|x_1)||p_{\eta}(z)) - \lambda_2E_{z_1\sim q_1(z_1|x_1)}[logp_{G_1}(x_1|z_1)]LVAE1(E1,G1)=λ1KL(q1(z1x1)pη(z))λ2Ez1q1(z1x1)[logpG1(x1z1)]

LVAE2(E2,G2)=λ1KL(q2(z2∣x2)∣∣pη(z))−λ2Ez2∼q2(z2∣x2)[logpG2(x2∣z2)]L_{VAE_2}(E_2, G_2) = \lambda_1 KL(q_2(z_2|x_2)||p_{\eta}(z)) - \lambda_2E_{z_2\sim q_2(z_2|x_2)}[logp_{G_2}(x_2|z_2)]LVAE2(E2,G2)=λ1KL(q2(z2x2)pη(z))λ2Ez2q2(z2x2)[logpG2(x2z2)]

GAN的目标函数如下:

LGAN1(E1,G1,D1)=λ0Ex1∼PX1[logD1(x1)]+λ0Ez2∼q2(z2∣x2)[log(1−D1(G1(z2)))]L_{GAN_1}(E_1, G_1, D_1)=\lambda_0E_{x_1\sim P_{X_1}}[logD_1(x_1)] + \lambda_0E_{z_2\sim q_2(z_2|x_2)}[log(1-D_1(G_1(z_2)))]LGAN1(E1,G1,D1)=λ0Ex1PX1[logD1(x1)]+λ0Ez2q2(z2x2)[log(1D1(G1(z2)))]

LGAN2(E2,G2,D2)=λ0Ex2∼PX2[logD2(x2)]+λ0Ez1∼q1(z1∣x1)[log(1−D2(G2(z1)))]L_{GAN_2}(E_2, G_2, D_2)=\lambda_0E_{x_2\sim P_{X_2}}[logD_2(x_2)] + \lambda_0E_{z_1\sim q_1(z_1|x_1)}[log(1-D_2(G_2(z_1)))]LGAN2(E2,G2,D2)=λ0Ex2PX2[logD2(x2)]+λ0Ez1q1(z1x1)[log(1D2(G2(z1)))]

我们使用类似于VAE的目标函数来实现循环一致约束:

LCC1(E1,G1,E2,G2)=λ3KL(q1(z1∣x1)∣∣pη(z))+λ3KL(q2(z2∣x11→2)∣∣pη(z))−λ4Ez2∼q2(z2∣x11→2)[logpG1(x1∣z2)]L_{CC_1}(E_1, G_1, E_2, G_2)=\lambda_3KL(q_1(z_1|x_1)||p_{\eta}(z))+\lambda_3KL(q_2(z_2|x_1^{1\rightarrow2})||p_{\eta}(z)) \\ -\lambda_4E_{z_2\sim q_2(z_2|x_1^{1\rightarrow2})}[logp_{G_1}(x_1|z_2)]LCC1(E1,G1,E2,G2)=λ3KL(q1(z1x1)pη(z))+λ3KL(q2(z2x112)pη(z))λ4Ez2q2(z2x112)[logpG1(x1z2)]

LCC2(E2,G2,E1,G1)=λ3KL(q2(z2∣x2)∣∣pη(z))+λ3KL(q1(z1∣x22→1)∣∣pη(z))−λ4Ez1∼q1(z1∣x22→1)[logpG2(x2∣z1)]L_{CC_2}(E_2, G_2, E_1, G_1)=\lambda_3KL(q_2(z_2|x_2)||p_{\eta}(z))+\lambda_3KL(q_1(z_1|x_2^{2\rightarrow1})||p_{\eta}(z)) \\ -\lambda_4E_{z_1\sim q_1(z_1|x_2^{2\rightarrow1})}[logp_{G_2}(x_2|z_1)]LCC2(E2,G2,E1,G1)=λ3KL(q2(z2x2)pη(z))+λ3KL(q1(z1x221)pη(z))λ4Ez1q1(z1x221)[logpG2(x2z1)]

后面是参数设置与实验过程,这里不再展开。这个工作的一大亮点是在进行两个domain之间的图像转换时引入了一个潜在空间,两个domain内的对应图像会映射到潜在空间中的同一个编码,并通过VAE和GAN实现了这一过程。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值