Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Peter东作者

GAN的五个神奇应用场景

上图中的图片有什么共同点?回答是这些脸都是虚构的,是由GAN(对抗神经网络)生成的。自从2014年第一次提出之后,做为一种生成式的模型,不到五年的时间,GAN已经衍伸出很多意料之外的应用场景,本文简述其中五个,未来预期GAN会在更多的领域大放异彩。关于GAN的基础知识,可以参考对抗神经网络初探,GAN用在艺术品生成与风格迁移的具体案例分析,可以参考怎么样用深度学习取悦你的女朋友(有代码)

1)图像编辑

这简直是美图秀秀中的各种滤镜的升级版,给出一张原始的妹子图片,可以生成出金发版,卷发版,微笑版,还能ps出你的双胞胎兄弟长什么样。

不止是对人物进行定向的修改,还能修改图片中的坏境因素,例如上图中左图中是下雨的场景,右图是GAN生成的同样坏境但是没有下雨的照片,俩者人眼看来,就只能看出是否下雨这一个差异来。实现这样黑科技的,是GAN的一个变种,称为conditional GAN, 有了这项技术,就可以根据一个人小时候的照片,生成其长大后,年老后的样子,或者你上传你家狗狗的照片,然后再虚拟的坏境下给狗狗换衣服,然后你再购买你喜欢的狗狗衣服。这项技术也存在着被滥用的风险,比如生成虚拟的果照。关于技术细节,请阅读参考资料【1】与【2】。

2)恶意攻击检测

通过给深度神经网络一些特异生产的训练数据,深度学习生成的模型是可以被黑客攻击,利用甚至控制的。为了对抗这样的逆向攻击(adversarial attacks),可以训练对抗神经网络去生成更多的虚假训练数据作为假想敌,让模型在演习中去识别出这些虚假数据,就如同人类打疫苗,GAN生成的虚假数据让正在做分类的模型更加稳健。

另一个在安全领域的应用的加密传输,在图片中,可以使用额外的像素来加密一段文字,从而你以为你接收的是一副普通的图片,但实际上通过解密,却可以发现其中包含了加密的信息。GAN的变种SSGAN,通过在传统的GAN模型中增加一个判别器,可以识别出这样加密后的图像,也可以用于更高效生成上述的加密信息。参考【3】

3)数据生成

在特定的应用场景下,例如医疗领域,缺少训练数据是应用深度学习的最大障碍。数据增强的传统做法是将原图像拉伸旋转剪切,但这毕竟还是原来的图像,通过使用GAN,能够生成更多类似的数据,如下图所示,右边是真实的图片,而左边是合成的训练数据,中间的是GAN生成后原始图片,之后经过了修饰,使得面部的肌肉和纹理更加真实。这个GAN生成的图片,通过了图灵测试,让眼科医生都无法分辨出。而随着生成出的数据被加入训练集,相同的模型在分类任务上的表现也有所提升,具体参考【4】。

4)注意力预测

人类在看一张图片时,往往只关注特定的部分,而通过GAN模型,可以预测出人类关心的区域在哪里,下图展示的SalGAN预测出的图片中人类观测的热点区域,和真实的区域,以及之前模型的对比。SalGAN的预测不止更准确,而且能够包含很多之前模型没有预测到的区域。对注意力的预测,可以指导广告的投送,例如在电影中做植入广告前,可以先预测一下植入的区域是不是在注意力的热点区。类似的方法还可以反过来用,假设不同类型的人有不同的注意力热点模式,根据一个人关注图片中的那个部分,来对人进行归类。参考【5】

5)三维结构生成

pix2vox是一个基于GAN的开源工具,能够根据手绘的二维图片,生成对应的三维结构,不止有对应的形状,还会生成对应的颜色,有了这样的工具,就能降低3D建模的门槛,从而让3D打印更容易的落地。

总结

标注数据总是少数的,未标注的数据才是待开掘的金矿。GAN可以通过标注数据,生成模拟数据,也可以用在自监督学习中,让模型具备从部分标记的数据中学习的能力。本文只是列出了在图片上使用GAN的五种有趣的场景,在视频,有向图及自然语言处理上,GAN也有诸多应用,结合贝叶斯网络,GAN还可以应用在因果推理,参考文献【7】。

参考文献

【1】https://github.com/hezhangsprinter/ID-CGAN

【2】 https://arxiv.org/pdf/1611.06355.pdf

【3】 https://arxiv.org/ftp/arxiv/papers/1707/1707.01613.pdf

【4】 https://arxiv.org/pdf/1612.07828.pdf

【5】 https://arxiv.org/pdf/1701.01081.pdf

【6】 https://github.com/maxorange/pix2vox

【7】 https://arxiv.org/pdf/1810.07406.pdf

入门GAN
6
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

因果推理技术

基于因果关系的一类推理方法,是一种常见推理模式,涉及观察到的共同效应的原因的概率依赖性。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图灵测试技术

图灵测试(英语:Turing test,又译图灵试验)是图灵于1950年提出的一个关于判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。测试的谈话仅限于使用唯一的文本管道,例如计算机键盘和屏幕,这样的结果是不依赖于计算机把单词转换为音频的能力。

贝叶斯网络技术

贝叶斯网络(Bayesian network),又称信念网络或是有向无环图模型,是一种概率图型模型。例如,贝叶斯网络可以代表疾病和症状之间的概率关系。 鉴于症状,网络可用于计算各种疾病存在的概率。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~