首页 >热门资讯> 在线作图 > 学习周伯通左右手打架的GANs,还有十大神奇应用 >

学习周伯通左右手打架的GANs,还有十大神奇应用

转载时间:2022.10.11(原文发布时间:2017.08.15)
2
转载作者:36氪企服点评小编
阅读次数:2次

大数据文摘作品,作者 | Sumeet Agrawal,编译 | 糖竹子、阮雪妮、Saint、钱天培

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

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

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

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

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

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

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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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


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

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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

作为输入的游戏背景图像

学习周伯通左右手打架的GANs,还有十大神奇应用

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

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

来源&更多信息


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

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

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

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

来源&更多信息:GitHub,Page


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

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

学习周伯通左右手打架的GANs,还有十大神奇应用让面无表情的人露出笑容,给不戴眼镜的人加副眼镜。

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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

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

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

来源&更多信息:GitHub、Paper、Blog


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


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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

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

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

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

来源&更多信息:GitHub、Blog


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

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

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

下面就是一些例子:

学习周伯通左右手打架的GANs,还有十大神奇应用动物变形—通过侦测视频中的奔跑的马给它添加斑马条纹,将马变斑马图像。

学习周伯通左右手打架的GANs,还有十大神奇应用

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

来源&更多信息:Page、GitHub


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

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

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

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

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

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

来源&更多信息:Paper、GitHub、Page


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

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

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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

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


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

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

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

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

来源&更多信息:Paper、GitHub


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

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

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

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

来源&更多信息:Paper、GitHub、Page


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

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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

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

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

来源&更多信息:Blog、GitHub


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

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

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

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

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

学习周伯通左右手打架的GANs,还有十大神奇应用

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

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


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

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

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

来源&更多信息:GitHub、Paper、Website


结语

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

生成式对抗网络(GANs)向我们证明了:创造力不再是人类所独有的特质了。

最后,如果你想更深入地学习生成模型(generative model)和深度卷积生成式对抗网络(DCGAN),不妨继续阅读下面的这些资源:

1.Dev Nag的50行代码看生成式对抗网络

2. Ian Goodfellow’s的生成式对抗网络的keynote(一个技术性较强的视频)

3. Siraj Raval’s的生成式对抗网络视频教程(一个简短而有趣的视频)

原文链接

[免责声明]

资讯标题: 学习周伯通左右手打架的GANs,还有十大神奇应用

资讯来源: 36氪官网

36氪企服点评

在线作图相关的软件

查看更多软件

行业专家共同推荐的软件

限时免费的在线作图软件

新锐产品推荐

消息通知
咨询入驻
商务合作