资讯专栏INFORMATION COLUMN

“未卜先知”、“自学成才”:GANs奇思妙想TOP10榜单

JessYanCoding / 470人阅读

摘要:实现这一应用的基本思想方法是将图像的每一列用向量来表示,计算每一个的平均值,从而得到一个向量。标准加强学习模型通常要求建立一个奖励函数,用于向代理机器反馈符合预期的行为。来源更多信息自学成才让好奇驱动计算机学习在很多

还记得《射雕英雄传》中老顽童发明的“左右互搏术”吗?

 

表面上看,左手与右手互为敌手,斗得不可开交。实际上,老顽童却凭借此练就了一门绝世武功。

 

这样的故事似乎只能发生在小说中。然而,近年来兴起的一项机器学习算法却将“左右互搏术”变为了现实。

  

这项神奇的算法正是生成对抗网络(GANs)。

生成对抗网络由蒙特利尔大学的IanGoodfellow最先提出,目前是“教”电脑完成人类工作最有效的方法之一。它的核心想法正是令内部功能相互竞争,达到提升它们各自功能的效果。

 

生成对抗网络由两个相互竞争的神经网络模型组成,就好比周伯通的左右手。一个神经网络(生成器)不断学习怎样生成新的样本以欺骗判别器,另一个网络(判别器)则不断学习怎样区别生成样本数据和真实数据。在百万轮“较量”后,生成器就可以输出与真实数据几乎无差别的样本。

 

生成对抗网络别出心裁的思想让它在学界扬名立万。在业界,生成对抗网络也带来了无数强大、有趣的应用。

 

今天,大数据文摘就将带你走近生成对抗网络在产业界的十大神奇应用。

 

对抗生成网络(概念模型)

NO. 10 照猫画虎:自动生成游戏用户界面

排在榜单第十位的GANs应用是,游戏用户界面自动生成。

这一应用背后的脑洞如下:如果我们能够生成逼真的游戏配图,那么我们就可以把这些配图中的部分截取拼接在一起,从而设计出一个全新的游戏界面。

 

作为输入的游戏背景图像

 

在生成式对抗网络(GAN)训练过程中生成的背景图像

可以用于制作全新游戏的独特背景。

 

为实现这一目标,该程序会搜集大量现有游戏的图像,然后生成由这些图像片段所构成的独一无二的新图像。这些图像之后便可以被用作新游戏的背景了。

来源&更多信息:

Blog:https://medium.com/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7

No. 9 千面神君:用GANs生成以假乱真的人脸

接下来,我们要为你介绍一款能够伪造人脸图像的AI——Neural Face。Neural Face使用了Facebook 人工智能研究团队开发的深度卷积神经网络(DCGAN)。

 

由生成式对抗网络(GANs)产生的独特人脸

 

研发团队用由100个0到1的实数组成的1个向量Z来代表每一张图像。

通过计算出人类图像的分布,生成器就可以用高斯分布(Gaussian Distribution)根据向量Z来生成图像。在此过程中,生成器学习生成新的人脸图像来欺骗判别器,同时判别器也能更好地区分加工生成的人脸图像和真实的人脸图像。

来源&更多信息:

GitHub:https://github.com/carpedm20/DCGAN-tensorflow

Page:http://carpedm20.github.io/faces/

No. 8 破涕为笑:改变照片中的面部表情和特征

在这一应用中,你只需要提供一些样本图像,研究人员就能生成表情各异的人脸图像。比如,你可以让一个面无表情的人露出笑容。

让面无表情的人露出笑容,给不戴眼镜的人加副眼镜。

实现这一应用的基本思想方法是:将图像的每一列用向量X来表示,计算每一个X的平均值,从而得到一个Y向量。

然后,对向量Y进行一些加法和减法运算,生成一个单一的图像向量Z(如:戴眼镜的男性-不带眼镜的男性+不带眼镜的女性)。最后,把这个图像向量Z输入生成器中。

将一张头像靠左的人脸图像变为靠右的图像

实际上,我们还可以用该模型实现包括旋转、放缩、位置变换在内的多种操作。以位置变换为例,我们可以将一张头像靠左的人脸图像转变为靠右的图像。

为此,我们可以先把向头像靠左和靠右的人脸图像作为样本,对它们取平均值,得到一个“翻转图像”向量。然后,沿着坐标轴对图像向量进行插值(https://zh.wikipedia.org/wiki/%E6%8F%92%E5%80%BC),我们就可以将这种“转变”应用到新的人脸图像上了。

来源&更多信息:

GitHub:https://github.com/Newmu/dcgan_code

Paper:https://arxiv.org/pdf/1511.06434.pdf

Blog:https://hackernoon.com/how-do-gans-intuitively-work-2dda07f247a1

NO. 7 脑洞大开: 用GANs创造出迷幻图像

接下来,我们将为你介绍Google Brain研发的Google Deep Dream。这一应用基于 GoogleNet对物体本质的“认知”可视化。

 

通过此方法,GANs能够学会生成一些“迷幻”的图片。这些如梦似幻的图像是图片分类器故意过度处理图像的结果。

Deep Dream 用普通图像生成迷幻图片

Deep Dream在图像中“找”到了塔、建筑、鸟和昆虫

 

当你向Google Deep Dream输送一张图像后,该应用就会开始在图像中寻找各类曾被训练识别的物体。神经网络会将一些毫不相关的物体联系起来,这就好比人们把云想象成小狗、小鸟。然后,Google Deep Dream 会对其联想出的物体作增强处理。

 

举个例子,当神经网络第一次作出图像识别时,它会认为这张图有40%的可能是一只小狗,而经过一轮处理后,神经网络就会认为可能性增加到了60%。这个过程会不断重复,直到输入图片已被修改得非常像一条狗了。

 

就这样,它一步步地把原图像调整成另外一张图像。换句话说,创造出了“四不像”的图片。

 

来源&更多信息:

GitHub:https://github.com/google/deepdream,

Blog:https://research.googleblog.com/2015/06/inceptionism-going-deeper-into-neural.html

NO.6 狸猫换太子:改变图像/视频内容

 

通过图片生成另一张图片是生成网络的另一项有趣应用。凭借此技术,我们可以将一段视频中的动物换成另一种动物,或者将图片里的季节换成另一季节。

 

该应用的核心在于,使用一组训练图像对来学习映射输入和输出图像。然而,在许多情况下,配对训练图像并不容易获得。为了克服这一问题,我们可以采用“双边镜像绘图”的方式,将一种变换的输入作为另一中变换的输出。这样,我们就能通过无监督学习克服相本容量小的问题了。

 

下面就是一些例子:

动物变形—通过侦测视频中的奔跑的马给它添加斑马条纹,将马变斑马图像。

季节转换—在图像中改变季节,例如将冬季转为夏季,或将冬季转为春季。

来源&更多信息:

Page:https://junyanz.github.io/CycleGAN/

GitHub:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

NO.5 化零为整:通过轮廓生成逼真图像

修改逼真图像是一项富有挑战性的工作,它要求在写实的基础上以用户控制的方式改变图像的外观。这一任务的技术含量相当高,一位艺术家可能要经过多年训练才能到达稳定的水准。

GANs 能够从轮廓中生成逼真的图像

给出一件物品的轮廓,这一模型就能够识别出这个物品,并能够生成栩栩如生的物品图像。

 

在该论文中 (https://arxiv.org/pdf/1609.03552v2.pdf),作者提出一种使用生成对抗网络,从数据中直接学习自然图像流形的方法。模型能够自动调整输出结果,以保证内容尽可能真实,同时所有操作均以约束优化法进行表达,且基本能被实时应用。

 

这个方法也可以将一张图片变得更像另一张图片,或者根据用户的涂鸦产生全新的图像。

 

来源&更多信息:

Paper:https://arxiv.org/pdf/1609.03552v2.pdf

GitHub:https://github.com/junyanz/iGAN

Page:https://people.eecs.berkeley.edu/~junyanz/projects/gvm/

NO.4 见字如面:GANs用文本生成图片

下面这项应用既有趣又实用。通过训练,GANs能够依据文字描述自动合成拟真图像。

 

最近,深层卷积生成对抗网络(DCGANs)用一些特定类别的图像,如人脸,唱片封面,室内空间合成了令人叹服的图像。

这个模型是用由文本和与之对应的图像组成的样本数据进行训练的。给定一个物体的文本描述,这个模型会尝试根据这一描述生成图像。

 

左栏为文字描述,右栏为机器想象出的图片

左栏的描述从上到下分别为:

“这只充满朝气的红色小鸟有着尖尖的黑色的喙”,

这只黄橙色的鸟有着黑色的翅膀

这只天蓝色小鸟的腹部是白色的

 

在这项工作中,我们首先要获取描述图像的文本,学习文本,抓住重要的视觉细节,然后再利用这些特征文本来合成能够迷惑人们的逼真图像。

 

来源&更多信息:

Paper:https://arxiv.org/pdf/1605.05396.pdf

GitHub:https://github.com/paarthneekhara/text-to-image

No. 3 未卜先知:通过“场景动态”(Scene Dynamics)预见视频下一秒将发生什么

理解物体运动和场景动态是计算机视觉中的核心问题。不管是视频识别任务(如行动分类)还是视频生成任务(如未来预测)都需要转换场景的模型。但由于物体和场景改变的方式多种多样,构建这样一个动态模型是很有挑战性的。

为实现这一目标,我们需要一个能将前景和背景区分开来的模型。在保持背景的静止的基础上,神经网络能够了解哪些物体是运动的,哪些物体是静止的。

上面的预测视频便是生成模型想象出来的。尽管这些预测并没有实际发生,基于它们的训练场景类别,这些动作还是相当合理的。

来源&更多信息:

Paper:http://carlvondrick.com/tinyvideo/paper.pdf

GitHub:https://github.com/cvondrick/videogan

Page:http://carlvondrick.com/tinyvideo/

 

NO. 2 依葫芦画瓢:用GANs完成模仿学习

GANs也可以帮助研发自学习人工智能机器人。此前,该领域的研究多涉及奖励机制的应用。

 

运用GANs的方法,科研人员向人工智能主体输入真实的演示数据,然后人工智能主体就能通过数据学习尝试模仿相同的动作。

 

一个AI主体正尝试模仿人类跑步

 

该模型展示了模仿学习的一种新方法。标准加强学习模型通常要求建立一个奖励函数,用于向代理机器反馈符合预期的行为。然而,这种方式在实践中为了纠正细节问题会在试错过程上消耗大量精力。

 

取而代之的模仿学习,则是让人工智能主体从实例中学习(例如远程遥控机器或者人类活动提供的案例),省去了设计奖励函数的麻烦。

来源&更多信息:

Blog:https://blog.openai.com/generative-models/

GitHub:https://github.com/openai/imitation

 

No. 1 自学成才:让“好奇”驱动计算机学习

在很多现实世界的情境中,对人工智能主体的外部奖励是非常少的,或者说根本没有。如此一来,一段被动的程序就会因为它自身的固有属性,无法进化和学习。

在这种情况下,“好奇心”可以作为内置的奖励信号激励人工智能主体去探索它周边的环境、学习在将来对它可能有帮助的技能。在这种情况下主动学习者比被动学习者的表现要好。

在这样的模型中,“好奇心”被设定为 AI预测它自身行为后果能力中的误差。当然了,在这样的语境下,AI也可以通过程序员建立的奖励机制开展学习。

让我们用小孩学习的过程来作个类比。一个不受大人监护的小孩不知道摸热炉子的后果。不过一旦他这样做了,他就会明白他不应该这样做——因为疼痛,也因为了解了摸热炉子和感受到所谓疼痛之间的因果关系。

贪吃蛇游戏:通过“好奇心驱动学习”(curiosity driven learning),贪吃蛇学着去收集那些能增加它的报酬的绿球,并避开那些会减少其报酬的红球。

 

好奇心驱动的学习(curiositydriven learning)以下面三点作为基础:

极少的外部奖励——有了“好奇心”,达成目标所需与外界环境的互动更少了。

没有外部奖励的探索,是“好奇心”使AI主体的探索行为更高效。

对未知场景中(例如同一个游戏中的新关卡)的泛化处理。此时AI主体利用过往经验探索新大陆,这会比它从零开始探索要快很多。

来源&更多信息:

GitHub:https://github.com/pathak22/noreward-rl

Paper:https://pathak22.github.io/noreward-rl/resources/icml17.pdf

Website:https://pathak22.github.io/noreward-rl/index.html#demoVideo

结语

看完了以上这些应用,你是不是对生成式对抗网络刮目相看了呢。然而,这些只不过是生成式对抗网络初试身手罢了。相对于生成式对抗网络所能完成的工作而言,这些应用只是冰山一角。生成式对抗网络为我们提供了一个强有力的训练神经网络的方法,让机器能够完成任何一个人类能够完成的复杂任务。

欢迎加入本站公开兴趣群

商业智能与数据分析群

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

QQ群:81035754

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

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

相关文章

  • 2021年11月国产数据库排行榜:openGauss闯入前三,Kingbase流行度与日俱增,TDe

    摘要:年月国产数据库流行度排行榜前名达梦本月分数下跌,总分,位于榜单第二位。人大金仓保持增长态势,本月分数大幅上涨,总分,位于榜单第九位。达梦入选其中,位列总榜第国产数据库第。月日,人大金仓与天津科大正式签订联合人才培养协议。2021年11月国产数据库流行度排行榜前15名   达梦本月分数下跌10.88,总分467.45,位于榜单第二位。作为具有完全自主知识产权的国产数据库厂商,今年达梦的...

    waruqi 评论0 收藏0
  • 每日一练的榜单公布啦~ 速来领奖品!

    摘要:坚持就是胜利养成好习惯从每日一练开始做起通过一个月的努力,终于迎来了我们每日一练的榜单让我们一起看看都有哪些博主你在不在其中榜单揭晓请看获奖博主昵称阿年嗯啊猿码叔叔雪离话丶小辉奖品展示度暖暖恒温 坚持就是胜利!养成好习惯从每日一练开始做起~ 通过一个月的努力,终于迎来了我们每日一练的TOP1...

    cfanr 评论0 收藏0
  • 【历年域名交易盘点】2018年TOP10!终端收购需求明显增多

    摘要:域名价格美元约合人民币时间含义两字母建站未建站详情据国内媒体报道,该域名是被国内投资人购买,但目前并未建站。域名一含义文件夹建站已建站价格美元约合人民币时间年详情被国外一家文件传输自动化和集成平台收购并启用。这段时间小胖又攒了一波资讯,从今天开始每周三的盘点栏目将会给大家带来历年已公开域名交易top 10榜单,大概说明一下: 1、本榜单的资讯内容来源于国外的公开交易资讯,会有一些域名是...

    刘玉平 评论0 收藏0
  • C 跌落神坛,Python 终登榜首 | TIOBE 10 月编程语言排行榜

    摘要:这历史性的一幕并非突如其来。诚如他所言,不仅赶上了,甚至还超越了的以的优势,取代语言成为第三个登上榜首的编程语言。 国庆刚结束,TIOBE 10 月编程语言榜单也新...

    woshicixide 评论0 收藏0
  • 2021年10月国产数据库排行榜:达梦反超OceanBase夺榜眼,TDSQL实现“四连增”,数据生

    摘要:年月国产数据库流行度排行榜前名连续三个月的分数下跌让名次下降一位,以分的总分来到榜单第三。国产数据库流行度排行榜与趋势变化本月分数下跌,总分,位于榜单第五。 2021年10月国产数据库流行度排行榜前15名 连续三个月的分数下跌让OceanBase名次下降一位,以424.83分的总分来到榜单第三。本月,OceanBase有几个重要事件,如亮相2021中国国际服务贸易交流会,参与HICOO...

    vpants 评论0 收藏0

发表评论

0条评论

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