谷歌开源TFGAN:轻量级生成对抗网络工具库

2017 年 12 月 17 日 MOOC

| 全文共2079字,建议阅读时3分钟 |

 

选自:Google Blog

作者: Joel Shor

参与:李泽南、路雪


本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载


生成对抗网络(GAN)自被 Ian Goodfellow 等人提出以来,以其优异的性能获得人们的广泛关注,并应用于一系列任务中。然而,对于广大工程人员而言,应用新技术仍存在挑战,谷歌最近开源的 TFGAN 库解决了这个问题。


项目链接:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/gan


使用


  
    
    
    

  1. import tensorflow as tf


  2. tfgan = tf.contrib.gan



训练神经网络通常需要定义一个损失函数,告诉网络自己距离目标还有多远。例如:图像分类网络通常会给出一个损失函数,对错误的分类做出惩罚判定;如果网络错将狗的图片识别为猫,则获得高损失值。然而,并非所有问题都可以简单地用损失函数来标量,特别是当问题涉及到人类感知上时,如图像压缩或文本转语音系统等。生成对抗网络(GAN)的出现解决了其中的很多问题,它是一种先进的机器学习方法,已被广泛应用于从文本生成图像、超分辨率和让机器人学习抓取物体等任务中。但 GAN 的出现也引入了新的理论,为软件工程带来了新的挑战,我们很难跟上 GAN 研究的快速步伐。



GAN 生成文字的过程,它开始只能输出随机的噪声,最终学会了生成 MNIST 数字。


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


TFGAN 教程:https://github.com/tensorflow/models/blob/master/research/gan/tutorial.ipynb



上图展示了对抗损失在图像压缩中的影响。最顶端一行图片来自 ImageNet 数据集。中间一行展示了用传统损失训练的图像压缩神经网络对图像进行压缩和解压缩的结果。底行图片展示了使用传统损失和对抗性损失训练的网络进行图像压缩的结果。使用 GAN 损失函数的图像更加清晰,包含更多细节,即使它可能会与原图像的差距更大。


TFGAN 以几种简单的方式支持实验。它提供简单的函数调用,涵盖大部分 GAN 用例,让你仅用几行代码就可以用自己的数据运行模型。同时,它是以模块化方式构建的,可以覆盖更多的 GAN 结构设计。你可以自由选用自己想要的模块——损失、评估、特征、训练等等,所有这一切都是互相独立的。TFGAN 的轻量级设计意味着你既可以在原生 TensorFlow 代码上使用它,也可以与其他框架一同使用。使用 TFGAN 编写的 GAN 模型可以轻松获取未来基础设施改善带来的便利。在这里,你可以从大量已实现的损失和功能中进行选择,无需重新编写自己的模型。最后,这些代码都经过了完整测试,你不必担心使用 GAN 库经常出现的数值或统计错误。


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


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

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

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

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

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


大多数神经文本转语音系统(TTS)都会生成过于平滑的频谱。当应用 Tacotron TTS 系统时,GAN 可以生成一些更加接近真实纹理的频谱,从而减少结果音频中的人工痕迹。


使用 TFGAN 还意味着你正在使用和大量谷歌研究者相同的基础工具,这样,你就可以从谷歌员工开发的前沿技术中受益。与此同时,所有人也都可以在 GitHub 上做出自己的贡献,谷歌希望分享代码的精神可以促进整个机器学习社区的发展。


原文地址:https://research.googleblog.com/2017/12/tfgan-lightweight-library-for.html


喜欢我们就多一次点赞多一次分享吧~


有缘的人终会相聚,慕客君想了想,要是不分享出来,怕我们会擦肩而过~

《预约、体验——新维空间站》

《【会员招募】“新维空间站”1年100场活动等你来加入》

有缘的人总会相聚——MOOC公号招募长期合作者

《【调查问卷】“屏幕时代,视觉面积与学习效率的关系“——你看对了吗?》


产权及免责声明 本文系“MOOC”公号转载、编辑的文章,编辑后增加的插图均来自于互联网,对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。如果分享内容侵犯您的版权或者非授权发布,请及时与我们联系,我们会及时内审核处理。


了解在线教育,
把握MOOC国际发展前沿,请关注:
微信公号:openonline
公号昵称:MOOC

 

登录查看更多
12

相关内容

GAN:生成性对抗网,深度学习模型的一种,在神经网络模型中引入竞争机制,非常流行。
专知会员服务
61+阅读 · 2020年3月4日
【论文】结构GANs,Structured GANs,
专知会员服务
14+阅读 · 2020年1月16日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
31+阅读 · 2020年1月10日
谷歌机器学习速成课程中文版pdf
专知会员服务
143+阅读 · 2019年12月4日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
53+阅读 · 2019年11月20日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
TF - GAN入门:TensorFlow 2.0 的轻量级 GAN 库
新智元
5+阅读 · 2019年10月8日
如何应用TFGAN快速实践生成对抗网络?
AI前线
5+阅读 · 2018年5月30日
【谷歌推出TFGAN】开源的轻量级生成对抗网络库
GAN生成式对抗网络
3+阅读 · 2017年12月16日
手把手 | 生成式对抗网络(GAN)之MNIST数据生成
数说工作室
10+阅读 · 2017年7月31日
干货|生成对抗网络(GAN)之MNIST数据生成
全球人工智能
6+阅读 · 2017年7月24日
Arxiv
7+阅读 · 2018年11月6日
Arxiv
4+阅读 · 2018年9月25日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
4+阅读 · 2018年4月29日
VIP会员
相关资讯
TF - GAN入门:TensorFlow 2.0 的轻量级 GAN 库
新智元
5+阅读 · 2019年10月8日
如何应用TFGAN快速实践生成对抗网络?
AI前线
5+阅读 · 2018年5月30日
【谷歌推出TFGAN】开源的轻量级生成对抗网络库
GAN生成式对抗网络
3+阅读 · 2017年12月16日
手把手 | 生成式对抗网络(GAN)之MNIST数据生成
数说工作室
10+阅读 · 2017年7月31日
干货|生成对抗网络(GAN)之MNIST数据生成
全球人工智能
6+阅读 · 2017年7月24日
Top
微信扫码咨询专知VIP会员