介绍 TF-GAN:一个针对 TensorFlow 2.0 的轻量级 GAN 库
2019 年 8 月 30 日
发布者:Joel Shor 和 Yoel Drori(Google Research Tel Aviv),Aaron Sarna(Google Research Cambridge),David Westbrook(Google,纽约),以及 Paige Bailey(Google,山景城)

我们用于机器学习的软件库通常对我们研究的成功至关重要,并且我们的库的更新速度必须反映机器学习研究的快速发展。

在 2017 年,我们 宣布 了 TF-GAN,一个用于训练和评估生成对抗网络 (GAN) 的轻量级库。从那时起,TF-GAN 已被用于许多 有影响力的论文 和项目中。

今天,我们宣布了 TF-GAN 的新版本。它包含许多升级和新功能
  • 云 TPU 支持:您现在可以使用 TF-GAN 在 Google 的 云 TPU 上训练 GAN。张量处理单元 (TPU) 是 Google 定制开发的专用集成电路 (ASIC),用于加速机器学习工作负载。以前需要在其他硬件平台上训练数周的模型,现在可以在 TPU 上在数小时内收敛。这个开源 示例 演示了在 TPU 上对 ImageNet 进行图像生成 GAN 训练,我们将在下面详细讨论。您也可以在 Colaboratory 中免费运行一个在 TPU 上的 TF-GAN 教程
  • 自学 GAN 课程:当知识自由共享时,机器学习的效果最佳。为此,我们发布了一个 自学 GAN 课程,该课程基于 Google 内部多年来一直在教授的 GAN 课程。观看视频、阅读描述、进行练习和完成代码示例是通往 ML 精通之路的良好步骤。
  • GAN 指标:学术论文有时会“发明一个尺子”,然后用它来衡量他们的结果。为了便于跨论文比较结果,TF-GAN 使使用标准 指标 变得更加容易。除了纠正有时会困扰甚至标准开源实现的数值精度和统计偏差外,TF-GAN 指标在计算上效率高,并且语法易于使用。
  • 示例:GAN 研究发展非常快。虽然 TF-GAN 不打算保留所有 GAN 模型的工作示例,但我们 添加了一些 我们认为相关的示例,包括一个在 TPU 上训练的自注意力 GAN。
  • PyPi 包:TF-GAN 现在可以使用 ‘pip install tensorflow-gan’ 安装,并使用 ‘import tensorflow_gan as tfgan’ 使用。简单吧?
  • Colaboratory 教程:我们改进了我们的 教程。现在它们可以使用 Google 的免费 GPU 和 TPU。
  • GitHub 仓库:TF-GAN 现在拥有自己的 仓库。这使得跟踪更改和正确地向开源贡献者表示感谢变得更加容易。
  • TensorFlow 2.0:TF-GAN 目前与 TF 2.0 兼容,但我们正在继续使其与 Keras 兼容。您可以在 tensorflow.org 上找到一些不使用 TF-GAN 的 GAN Keras 示例,包括 DCGAN、Pix2Pix 和 CycleGAN。

使用 TF-GAN 的项目

云 TPU 上的自注意力 GAN

自注意力 GAN 在使用两个指标(Inception ScoreFrechet Inception Distance)的图像生成方面取得了最先进的结果。我们开源了该模型的两个版本,其中一个版本在云 TPU 上开源运行。TPU 版本与 GPU 版本的性能相同,但训练速度快 12 倍。

左:真实 中间:生成(GPU) 右:生成(TPU)

左:Frechet Inception Distance 和 Inception Score 随训练步骤变化的函数。右:Frechet Inception Distance 和 Inception Score 随训练时间变化的函数。

图像扩展

图像修复,即根据周围环境填充图像缺失的部分,是一个经过充分研究的问题。相关问题,图像扩展,研究较少。图像扩展要求算法以合理且一致的方式在图像边界之外扩展图像。这在虚拟现实环境中很有用,因为通常需要模拟不同的相机特性,以及在全景图拼接等计算摄影应用中,需要将不同的图像平滑地拼接在一起。Google 研究工程师最近开发了一种 新算法,该算法比以前的方法生成更少的伪影,并使用 TPU 进行训练。

我们拍摄了美丽的查尔斯河的无人机镜头,并应用了我们的 uncrop 技术(将在 ICCV 2019 上发布)来扩展视野


图像扩展的一些示例:新方法,使用 TF-GAN,位于右侧列。与两种最先进的图像修复方法(DeepFill 和 PConv)相比,它生成了更好的物体形状(顶部/中间行)并产生了良好的纹理(中间/底部行)。输入图像扩展到遮罩区域(以灰色显示,左侧列)。

BigGAN

DeepMind 研究团队在 这篇论文 中改进了最先进的图像生成,使用了架构更改、更大的网络、更大的批次大小和 Google TPU 的组合。他们使用 TF-GAN 的评估模块来标准化他们的指标,并且能够展示跨广泛图像尺寸的质量改进。预训练的 BigGAN 生成器可在 TF Hub 上获得。

用于高保真自然图像合成的 大规模 GAN 训练 生成的类条件示例。

GANSynth

研究人员使用 TF-GAN 创建了 GANSynth,一个能够生成音符的 GAN 神经网络。与以前的工作相比,音符更加逼真。由于 GAN 潜在空间,GANSynth 能够在保持相同音符的同时,在其他属性(如乐器)之间平滑插值。


巴赫的 G 大调第一组前奏曲 MIDI 来自 GANSynth
真实数据 | 链接 | 链接 | 链接
GANSynth | 链接 | 链接 | 链接
WaveNet | 链接 | 链接 | 链接
WaveGAN | 链接 | 链接 | 链接

使用 GAN 的显微镜图像归一化

对实验室培养的细胞进行的科学实验通常会持续数周。在此漫长的过程中,实验室条件可能会意外发生变化。这会导致基于显微镜的细胞图像在周与周之间发生显着变化,即使底层细胞相同,这对以后的分析也是不利的。Google 的科学家使用 TF-GAN 创建了一个“均衡器”,以便在保留相关属性的同时,消除细胞图像上的意外变化。
图像显示了均衡器应用于一个细胞幻灯片图像的结果,该图像被变形为实验的 9 个星期中的每一个。一些幻灯片属性发生了变化,例如平均背景颜色,但“图像中细胞数量”等属性保持不变。
下一篇文章
Introducing TF-GAN: A lightweight GAN library for TensorFlow 2.0

发布者:Joel Shor 和 Yoel Drori(Google Research Tel Aviv),Aaron Sarna(Google Research Cambridge),David Westbrook(Google,纽约),以及 Paige Bailey(Google,山景城)

我们用于机器学习的软件库通常对我们研究的成功至关重要,并且我们的库的更新速度必须反映机器学习研究的快速发展。