TFGAN - 轻量级生成对抗网络工具库


Apache
跨平台
C/C++

软件简介

生成对抗网络(GAN)是一种先进的机器学习方法,已被广泛应用于从文本生成图像、超分辨率和让机器人学习抓取物体等任务中。但 GAN
的出现也引入了新的理论,为软件工程带来了新的挑战,我们很难跟上 GAN 研究的快速步伐。

为使开发者更轻松地使用 GAN 进行实验,谷歌最近开源了 TFGAN,一个实现轻松训练和评估 GAN 的轻量级库。它为开发者轻松训练 GAN
提供了基础条件,提供经过完整测试的损失函数和评估指标,同时提供易于使用的范例,这些范例展示了 TFGAN 的表达能力和灵活性。谷歌还发布了一个包含高级
API 的教程,帮助人们快速上手,使用自己的数据训练模型。

TFGAN 由以下几个独立存在的部分组成:

  • 核心:提供训练 GAN 所需的主要基础设施。训练分四个阶段进行,每个阶段都可以通过自定义代码或使用 TFGAN 库调用来完成。

  • 功能:很多常见的 GAN 操作和归一化技术可供使用,包括实例归一化和条件化(conditioning)。

  • 损失:允许轻松利用已实现且经过完整测试的损失和惩罚机制进行实验,如 Wasserstein 损失、梯度惩罚、互信息惩罚等。

  • 评估:使用 Inception Score 或 Frechet Distance 与预训练的 Inception 网络评估无条件生成模型。你还可以使用自己的预训练分类器获得更加具体的结果,或使用其他方法对条件生成模型进行评估。

  • 示例和教程:从示例中可以学习如何使用 TFGAN 让 GAN 训练变得更简单,你也可以参考更复杂的示例来启动自己的项目。这些内容包括无条件和条件 GAN、InfoGAN、现有网络的对抗损失,以及图像到图像翻译。