资讯专栏INFORMATION COLUMN

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

_DangJin / 3716人阅读

摘要:然而,对于广大工程人员而言,应用新技术仍存在挑战,谷歌最近开源的库解决了这个问题。为使开发者更轻松地使用进行实验,谷歌最近开源了,一个实现轻松训练和评估的轻量级库。

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

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

使用

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

为使开发者更轻松地使用 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

欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4705.html

相关文章

  • 谷歌大脑发布GAN全景图:看百家争鸣的生成对抗网络

    摘要:近日,谷歌大脑发布了一篇全面梳理的论文,该研究从损失函数对抗架构正则化归一化和度量方法等几大方向整理生成对抗网络的特性与变体。他们首先定义了全景图损失函数归一化和正则化方案,以及最常用架构的集合。 近日,谷歌大脑发布了一篇全面梳理 GAN 的论文,该研究从损失函数、对抗架构、正则化、归一化和度量方法等几大方向整理生成对抗网络的特性与变体。作者们复现了当前较佳的模型并公平地对比与探索 GAN ...

    asoren 评论0 收藏0
  • OpenAI Ian Goodfellow的Quora问答:高歌猛进的机器学习人生

    摘要:我仍然用了一些时间才从神经科学转向机器学习。当我到了该读博的时候,我很难在的神经科学和的机器学习之间做出选择。 1.你学习机器学习的历程是什么?在学习机器学习时你最喜欢的书是什么?你遇到过什么死胡同吗?我学习机器学习的道路是漫长而曲折的。读高中时,我兴趣广泛,大部分和数学或科学没有太多关系。我用语音字母表编造了我自己的语言,我参加了很多创意写作和文学课程。高中毕业后,我进了大学,尽管我不想去...

    nihao 评论0 收藏0
  • 最新Github上各DL框架Star数量大PK

    摘要:下图总结了绝大多数上的开源深度学习框架项目,根据项目在的数量来评级,数据采集于年月初。然而,近期宣布将转向作为其推荐深度学习框架因为它支持移动设备开发。该框架可以出色完成图像识别,欺诈检测和自然语言处理任务。 很多神经网络框架已开源多年,支持机器学习和人工智能的专有解决方案也有很多。多年以来,开发人员在Github上发布了一系列的可以支持图像、手写字、视频、语音识别、自然语言处理、物体检测的...

    oogh 评论0 收藏0

发表评论

0条评论

_DangJin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<