TFGAN,一个实现轻松训练和评估 GAN 的轻量级库
授权协议:Apache
开发语言::C/C++ Python
操作系统:跨平台
开发厂商:Google
简介
生成对抗网络(GAN)是一种先进的机器学习方法,已被广泛应用于从文本生成图像、超分辨率和让机器人学习抓取物体等任务中。但 GAN 的出现也引入了新的理论,为软件工程带来了新的挑战,我们很难跟上 GAN 研究的快速步伐。
为使开发者更轻松地使用 GAN 进行实验,谷歌最近开源了 TFGAN,一个实现轻松训练和评估 GAN 的轻量级库。它为开发者轻松训练 GAN 提供了基础条件,提供经过完整测试的损失函数和评估指标,同时提供易于使用的范例,这些范例展示了 TFGAN 的表达能力和灵活性。谷歌还发布了一个包含高级 API 的教程,帮助人们快速上手,使用自己的数据训练模型。
组成部分
TFGAN 由以下几个独立存在的部分组成:
核心:提供训练 GAN 所需的主要基础设施。训练分四个阶段进行,每个阶段都可以通过自定义代码或使用 TFGAN 库调用来完成。
功能:很多常见的 GAN 操作和归一化技术可供使用,包括实例归一化和条件化(conditioning)。
损失:允许轻松利用已实现且经过完整测试的损失和惩罚机制进行实验,如 Wasserstein 损失、梯度惩罚、互信息惩罚等。
评估:使用 Inception Score 或 Frechet Distance 与预训练的 Inception 网络评估无条件生成模型。你还可以使用自己的预训练分类器获得更加具体的结果,或使用其他方法对条件生成模型进行评估。
示例和教程:从示例中可以学习如何使用 TFGAN 让 GAN 训练变得更简单,你也可以参考更复杂的示例来启动自己的项目。这些内容包括无条件和条件 GAN、InfoGAN、现有网络的对抗损失,以及图像到图像翻译。
大多数神经文本转语音系统(TTS)都会生成过于平滑的频谱。当应用 Tacotron TTS 系统时,GAN 可以生成一些更加接近真实纹理的频谱,从而减少结果音频中的人工痕迹。
使用 TFGAN 还意味着你正在使用和大量谷歌研究者相同的基础工具,这样,你就可以从谷歌员工开发的前沿技术中受益。与此同时,所有人也都可以在 GitHub 上做出自己的贡献,谷歌希望分享代码的精神可以促进整个机器学习社区的发展