以为GAN只能“炮制假图”?它还有这7种另类用途

作者 Alexandor Honchar 晓查 编译自 Medium 量子位 出品 |I

最近,AI方案设计师Alexandor Honchar在Medium网站上分享一篇文章。他认为生成对抗网络(GAN)目前在生成图像取得了巨大进展,生成的图像几乎能够以假乱真,并且在4年间,面部图像的生成也越来越精细。

但Honchar认为,GAN不该局限在图像生成上,他认为GAN可以应用在更广泛的领域,并提出了GAN在其他领域的应用实例(项目链接见文末)。其中一些已经证实可行,并有学术成果产出,另一些作者目前还在探索中。

以下就是作者总结的GAN的7种”另类“用法:

增加数据

GAN可以训练模型用已有的数据集去产生增加数据。

我们如何检查增加的数据是否真的有帮助呢?主要有两个策略:我们可以在“假”数据上训练我们的模型,并检查它在真实样本上的表现;与之相对的是,我们用真实数据训练模型来做一些分类任务,并且在检查它对生成的”假“数据的表现。

如果它在以上两种情况下都能正常工作,就可以将生成模型中的样本添加到实际数据中并再次重新训练,获得更强的性能。要使此方法更加强大和灵活,请阅读后文第6项。

NVIDIA展示过一个很好的例子:他们用GAN去增加不同疾病下的脑部CT图像的数据集。在仅使用经典数据增强的情况下,系统有78.6%的灵敏度和88.4%的特异性;而通过增加合成数据的方法,灵敏度提升至85.7%、特异性提升至92.4%。

隐私保护

许多公司的数据机密而又敏感,例如公司的财务数据、病患的医疗数据等等。但是在某些情况下,有时我们需要与顾问或研究人员等第三方分享。

如果只想分享数据的大致情况,对数据的细节进行隐藏,我们可以利用生成模型来抽象数据,这样就能保护确切的机密数据。

对共享数据进行保密很困难。当然,我们有不同的加密方案,如同态加密,但它们有已知的缺点,例如在海量数据中隐藏少量数据比较困难(比如10GB代码中隐藏1MB信息)。

2016年,谷歌开辟了一条新研究路径,把GAN的竞争框架用到加密加密问题上,让两个网络在加密和解密中竞争来实现目的:

但它的优点不是处理数据的效率,或创造另一个领域的“AI”流行语。我们应该记住,通过神经网络获得的结果通常仍然包含有关输入数据最有用的信息,并且压缩后的数据仍然可以进行分类、回归、聚类或者其他操作。

如果我们将“压缩”替换为“加密”,那么我们就可以做到与第三方共享数据而不显示任何数据集的细节。

异常探测

主要生成模型有变分自动编码器(VAE)和生产对抗网络(GAN)两类,它们都由两部分构成。 VAE有编码器和解码器,分别用于建模和重建。 GAN由生成器和鉴别器组成,前者用于模拟分布,后者判断它是否接近训练数据。

我们可以看到,它们在某种程度上非常相似:都用有建模和判断部分(在VAE中我们可以认为重建是一种判断)。建模部分应该学习数据分布。

如果我们将一些不是来自训练分布的样本给模型做出判断,那么将会发生什么?训练有素的GAN鉴别器会输出个0,而VAE的重建误差将高于训练数据的平均值。我们的无监督异常探测器就有了,易于训练也易于评估。我们可以用一些”兴奋剂“来训练它,比如Wasserstein GAN所用的统计距离。

在本文中,你可以找到用于异常检测的GAN示例以及自动编码器。我还添加了自己用Keras写成基于自动编码器的粗略草图:

https://github.com/Rachnog/education/blob/master/anomaly/ae_anomaly.py

判别建模

深度学习所做的一切都是将输入数据映射到某个空间,在这个空间中,通过SVM或逻辑回归等简单的数学模型可以更容易地分离或解释。

生成模型也有自己的映射,让我们从VAE开始。 自动编码器将输入样本映射到一些有意义的潜在空间,基本上我们可以直接训练一些模型。这有什么意义?它和仅用编码器层和训练模型直接进行分类有什么不同吗?确实有。自动编码器的潜在空间是复杂的非线性降维,并且在变分自动编码器的情况下也是多变量分布,这可以比一些随机初始化更好地开始初始化训练判别模型。

GAN对于无任何输入只从随机种子生成样本的任务来说有点难度。但我们仍然可以至少开发两种针对这类任务的分类器。第一种,我们已经研究过,就是利用鉴别器将生成的样本分类,同时只是告诉它是真的还是假的。我们可以期望从获得的分类器来更好地规则化,并且可以分类溢出值/异常值:

第二种是贝叶斯定理的不公平遗忘分类方法,其中我们基于p(x | c_k)(恰好是条件GAN所做的)和先验p(x),p(c_k)给p(c_k | x)建模。这里的主要问题是GAN真的学习数据分布吗?在最近的一些研究中正在讨论该问题。

领域适配

对我来说,这是最强大的功能之一。 在实践中,我们训练模型所用的数据源,和它们在真实环境中运行的时候几乎不可能相同。

在计算机视觉中,不同的光线条件、相机设置或天气会使非常精确的模型无用。 在自然语言处理(NLP)和语音分析中,俚语或重音会破坏你在基于“语法正确”语言训练模型的表现。 在信号处理中,你很可能用完全不同的设备捕获数据,来训练和生成建模。

不过,这两种数据“类型”彼此非常相似。 我们知道机器学习模型执行从一个条件到另一个条件的映射,保留主要内容,但更改细节。 是的,我说的就是风格迁移,但不是为了艺术创作。

举个例子,例如某个处理闭路电视图像的应用,你训练的模型是建立在高分辨率图像的基础上时,那么你可以尝试用GAN处理图像去除噪点并对其增强。

我可以从信号处理领域举个更激进的例子:有很多与手机加速度计数据相关的数据,描述了不同人的活动。 但是,如果你想在智能手环上使用受过手机数据训练的模型,该怎么办? GAN可以尝试帮助你翻译不同类型的运动。

一般来说,一些预定义的先验模型可以帮助你进行进行领域适配、协方差转换以及处理其他数据中的差异问题。

数据操控

我们讨论过图像的风格迁移。如果我们仅仅是想改变照片中的鼻子呢?或者改变汽车的颜色,又或者是替换演讲中的某些词语而不是完全改变它,我们应该怎么办?

如果想做到这些,我们假定处理的对象包含有限的元素集合,以人脸为例,眼、鼻、口、头发等等元素都有自己的属性。

如果我们可以将照片的像素映射到五官,那么我们就可以调整五官的大小了吗? 有一些数学概念可以做到:自动编码器或许可以,GAN也能做到。

对抗训练

你可能不同意我添加关于机器学习模型攻击的段落,但它的确与生成模型(对抗性攻击算法确实非常简单)和对抗性算法(因为我们有一个模型与另一个模型竞争)有关。

也许你熟悉对抗性例子的概念:模型输入中的微小扰动(甚至可能只是图像中的一个像素)就会导致完全错误的表现。我们有一些方法来防止错误结果的发生,其中一个最基本的方法叫做对抗性训练:利用对抗性的例子来构建更准确的模型。

模型中加入微小干扰,导致将熊猫错误识别为长臂猿

如果不深入细节,我们有这样一个双人游戏:对抗模型(只加入一些微小的扰动)需要最大化其影响力,并且分类模型需要最小化其损失。这看起来很像GAN,但它的目的不同:是为了让模型在面对对抗性攻击时更稳定,并通过某种智能数据增强和正规化提高其性能。

小结

GAN和其他一些生成模型主要用于生成图像、旋律或短文本,它的主要长期目标仍是生成以正确情况为条件的真实世界对象。但在本文中,我列举了几个例子,证明GAN还可以用来改进当前的AI、保护数据、发现异常等等。 我希望你会发现这些例子很有用,并将它用在你的项目中。

最后,附上文中项目实例地址:

”假“数据训练医学识别系统: https://arxiv.org/pdf/1803.01229.pdf

对抗网络如何加密数据: https://towardsdatascience.com/adversarial-neural-cryptography-can-solve-the-biggest-friction-point-in-modern-ai-cc13b337f969

用GAN做成的图片分类器: https://towardsdatascience.com/semi-supervised-learning-with-gans-9f3cb128c5e

图片风格转移项目: https://ml4a.github.io/ml4a/style_transfer/

改变面部局部五官项目: https://houxianxu.github.io/assets/project/dfcvae

微扰导致图像识别错误的案例: https://blog.openai.com/adversarial-example-research/

原文发布于微信公众号 - 量子位(QbitAI)

原文发表时间:2018-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

以为GAN只能“炮制假图”?它还有这7种另类用途

最近,AI方案设计师Alexandor Honchar在Medium网站上分享一篇文章。他认为生成对抗网络(GAN)目前在生成图像取得了巨大进展,生成的图像几乎...

1013
来自专栏织云平台团队的专栏

【干货分享】AIOps之根因分析

本文将给出基于决策树的智能根因分析方法,针对多维找出导致问题的根因。做数据、搞AI一定要基于具体业务,不可脱离业务谈数据、算法,否则将得不偿失。

1.9K10
来自专栏IT派

二十六条深度学习经验,来自蒙特利尔深度学习

【前言】2016年8月初的蒙特利尔深度学习暑期班,由Yoshua Bengio、 Leon Bottou等大神组成的讲师团奉献了10天精彩的讲座,剑桥大学自然语...

3257
来自专栏机器人网

十种深度学习算法要点及代码解析

谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人受到了许多媒体关注,但是这家公司真正的未来在于机器学习,一种让计算机更聪明、更个性化的技术。 也许我们生活...

1.1K7
来自专栏Duncan's Blog

Twitter用户数据Profiling

传统的数据摘要包括data exploration/data cleansing/data integration.而之后,data management和bi...

1893
来自专栏CSDN技术头条

Yoshua Bengio等大神传授:26条深度学习经验

【编者按】8月初的蒙特利尔深度学习暑期班,由Yoshua Bengio、 Leon Bottou等大神组成的讲师团奉献了10天精彩的讲座,剑桥大学自然语言处理与...

2086
来自专栏专知

【干货】30+深度学习最佳实践经验:从数据、算法、训练到网络结构

3177
来自专栏大数据文摘

剑桥大学研究院总结:26条深度学习经验

2856
来自专栏鸿的学习笔记

重新思考深度学习里的泛化

2017 ICLR提交的“UnderstandingDeep Learning required Rethinking Generalization”必然会打乱...

893
来自专栏智能算法

Yoshua Bengio等大神传授:26条深度学习经验

原文地址:http://www.marekrei.com/blog/26-things-i-learned-in-the-deep-learning-summe...

3716

扫码关注云+社区

领取腾讯云代金券