GAN 变体

研究人员不断寻找改进的 GAN 技术和 GAN 的新用途。下面是 GAN 变体的采样,让您了解其可能性。

渐进式 GAN

在渐进式 GAN 中,生成器的第一层会生成分辨率极低的图像,后续图层则会添加细节。相较于类似的非渐进式 GAN,此方法允许 GAN 训练得更快,并且可以生成更高分辨率的图像。

如需了解详情,请参阅 Karras 等人于 2017 年

条件 GAN

条件 GAN 基于已加标签的数据集进行训练,可让您为每个生成的实例指定标签。例如,无条件 MNIST GAN 会生成随机数字,而条件 MNIST GAN 则允许您指定 GAN 应生成哪个数字。

条件 GAN 不是对关节概率 P(X, Y) 进行建模,而是对条件概率 P(X | Y) 进行建模。

如需详细了解条件 GAN,请参阅 Mirza 等人著,2014 年

图片到图片翻译

图片到图片转换 GAN 将图片作为输入,并将其映射到具有不同属性的生成的输出图片。例如,我们可以截取一张汽车形状的彩色 blob 蒙版图片,GAN 可以使用逼真的汽车细节填充形状。

同样,您可以训练一个图像到图像 GAN,以拍摄手提包的草图,并将它们变成手提包的真实照片。

3 x 3 的手提包图片表格。每行显示的手提包样式各不相同。在每一行中,最左侧的图片是一幅简单的手提包折线图;中间的图片是一张真实的手提包照片,最右侧的图片是 GAN 生成的逼真照片。三列分别标有“输入”、“评估依据”和“输出”。

在这些情况下,损失是基于判别器的常用损失与像素级损失的加权组合,会因为发生源图片而流失生成器。

如需了解详情,请参阅 Isola et al, 2016

循环生成的代码

CycleGAN 会学习如何将一组图像转换为可能属于另一组的图像。例如,如果提供左侧图片作为输入,则 CycleGAN 会生成以下右侧图片。它拍摄了一匹马的图片,然后把它变成了斑马的图片。

一匹马正在奔跑,另一张图片在其他方面都相同,除了一匹马是斑马。

CycleGAN 的训练数据只是两组图片(在本例中,是一组马的图片和一组斑马图片)。系统不需要图片之间有任何标签或成对通信。

如需了解详情,请参阅 Zhu 等人在 2017 年的文章,其中说明了如何使用 CycleGAN 在没有配对数据的情况下执行图像到图像的转换。

文字到图片合成

文本到图片 GAN 将文本作为输入,并生成符合文本并说明文本的图像。例如,下面的花卉图片是通过向 GAN 提供文本说明生成的。

“这朵花有黄色的花瓣,上面有橙色的阴影。” 有黄色花瓣的橙色花朵。

请注意,在此系统中,GAN 只能从一小部分类中生成图像。

如需了解详情,请参阅 Zhang et al, 2016

超分辨率

超分辨率 GAN 可提高图像的分辨率,必要时可在细节上填充模糊区域。例如,下面的模糊中间图片是左侧原始图片的下采样版本。考虑到图像模糊,GAN 在右侧生成了更清晰的图像:

原文模糊已通过 GAN 恢复
一幅描绘女孩戴着精美首饰的画作。头饰的头带以复杂的图案编织而成。 描绘一位女孩戴着精美头饰的画作的模糊版本。 这幅清晰的女孩穿着精美的头饰。这幅画与这张表中的第一张图片几乎是一样的,但她头饰和衣服上图案的一些细节稍有不同。

GAN 生成的图像与原始图像非常相似,但如果您仔细查看头带,则会发现 GAN 没有从原始图像重现星光模式。相反,它构建了自己的合理模式,以替换下采样所擦除的模式。

如需了解详情,请参阅 Ledig et al, 2017

面部去除多余脂肪

GAN 已用于语义图片去除任务。在去去除任务中,图片块会被涂黑,并且系统会尝试填充缺失的块。

Yeh et al, 2017 使用 GAN 优于其他方式去除人脸图像:

输入GAN 输出
四张图片。每张图片都是一张面部照片,部分区域替换为黑色。 四张图片。每张图片都是与“输入”列中的一张图片相同的一张面部照片,只是没有黑色区域。

文字转语音

并非所有 GAN 都会生成映像。例如,研究人员还使用 GAN 从文本输入生成合成语音。如需了解详情,请参阅 Yang etal, 2017