前言
- CoGAN的贡献:从两个真实数据边缘分布(也可为多个)中单独提取样本,并生成两个域图像的联合分布。比如,一个域为对应人的微笑图像,另一个为平静无表情图像。最终目的是生成同一个人脸上的微笑和无表情图像对。
- 本文的权重共享可使得生成图像对在高级语义(主体)上相似,但在低级语义(细节上)有所不同。
Introduction
CoGAN学习了一个用于域X的GAN生成器和一个用于域Y的GAN生成器,在共享潜在表示的前几层上使用绑定权重。通过找到一个生成图像X的潜在表示,然后将这个潜在表示呈现为样式Y,可以实现从X到Y的转换。
本文提出了耦合生成对抗网络(CoGAN)框架。它可以学习多域图像的联合分布,多域图像的联合分布是一个概率密度函数,它为不同域图像的每次联合出现给出一个密度值。而训练集中不存在不同域的联合对应图像组,只需要从各个域的边缘分布中分别抽取一组图像。
CoGAN由一个gan元组组成,每个gan对应一个图像域。在本文中重点讨论了两个图像域的情况。
GANs
GAN由生成模型 g 和判别模型 f 组成。
生成模型的目标是合成类似真实图像X的图像,而判别模型的目标是区分真实图像和合成图像。
z是Rd的随机向量(随机噪声),z是来自[−1 1]区间的均匀分布,也可为多元正态分布。将g(z)的分布表示为pG。判别模型估计输入图像来自pX的概率,如果x∼pX, f(x) = 1,如果x∼pG, f(x) = 0。
在公式(1)中通过交替执行以下两个梯度更新步骤来解决:
Coupled Generative Adversarial Networks
图1:CoGAN由一对gan组成:GAN1和GAN2。生成模型g1和g2的前几层(负责解码高级语义)的权重共享,并且判别模型f1和f2的最后几层(负责编码高级语义)的权重共享。这种权重共享约束允许CoGAN 在没有对应监督(类标签)的情况下学习图像的联合分布。经过训练的CoGAN可用于合成一对对应的图像——这对图像共享相同的高级抽象,但具有不同的低级实现。(即图像主体大致相同,但细节部分有差异。)
生成模型
m1和m2是g1和g2多层感知机的层数,m1不一定等于m2,真实图像x1不需要等于x2。
生成模型逐渐解码信息,从更抽象的概念(高级)到更实质性的细节(低级)。第一层解码高级语义,最后一层解码低级细节。
信息流方向与判别模型相反,判别模型第一层提取低级特征,最后一层提取高级特征。
基于两个域中的一对对应图像共享相同的高级概念的想法,即在g1和g2中以相同的方式对高级语义进行解码。我们强制g1和g2的前几层具有相同的结构并共享权重,即θg(i) 1 = θg(i) 2,因为i = 1,2,…, k,其中k为共享层数。后面几层没有约束,两者可以以不同的方式实现共享的高级表示,以欺骗各自的鉴别器。
判别模型
由于输入图像是两个不同领域中相同高级语义的实现,我们迫使f1和f2具有相同的最后几层。
鉴别器中的权重共享约束有助于减少网络中的参数总数,但对于学习联合分布并不是必需的。
Remarks
CoGAN学习需要从边缘分布px1和pX2中抽取训练样本。它不依赖于从联合分布pX1,X2中抽取的样本。
本文主要贡献:只需要从边缘分布中单独提取样本,CoGAN就可以学习两个域中图像的联合分布。
CoGAN使得生成的图像对与两个域中对应的目标图像对相同。
对抗训练只鼓励生成的图像对与各自域中的图像单独相似,权重共享约束可以用于捕获域之间的对应关系。
图2.学习结果:左(任务A):学习一个数字及其边缘图像的联合分布。第一个域由原始手写数字图像组成,而第二个域由它们的边缘图像组成。
右(任务B):学习一个数字和它的阴图像的联合分布。
每个顶部和底部对都是使用相同的输入噪声生成的。
图3.图中绘制了任务A和任务B中具有不同权重共享配置的cogan的平均像素一致率。像素一致率越大,对生成性能越好。在生成模型中(任务B),性能与权重共享层数呈正相关,而在判别模型中(任务A),性能与权重共享层数不相关。