GAN 的发展对于研究通用人工智能有什么意义?

640?wx_fmt=png&wxfrom=5&wx_lazy=1

作者:Lyken    来源:知乎


GAN对于人工智能的意义,可以从它名字的三部分说起:Generative Adversarial Networks。为了方便讲述,也缅怀过去两周在某论坛上水掉的时间,我先从Networks讲起。


Networks:(深度)神经网络


自从12年AlexNet横空出世后,神经网络俨然已成为现在learning的主流。比起贝叶斯学派的强先验假设(priori),SVM在核函数(kernel)上的反复钻研,神经网络不需要科研者过多关注细节,只需要提供好海量的数据和设置好超参数,便能达到不错的效果。用武侠小说的方式来说,便是各大门派高手潜心十余载修炼一阳指/九阴真经/麒麟臂等神功,比试时却发现有一无名小卒内力浩瀚如海,出手虽毫无章法可言,但在内功的加持下,轻松打得众人抬不起头。


Deep系列的算法不仅在众多benchmark上霸据榜首,其衍生应用也给人工智能带来了一股新的浪潮,例如创作艺术品(Gatys 的 Neural Alorightm for Artistic Style),AlphaGo(CNN估值 + 蒙特卡洛剪枝),高质量的机器翻译(Attention + seq2seq)等等。这些衍生应用在部分任务上,已经能媲美人类中的专家,让人不禁浮想强人工智能(strong AI)的到来。然而,纵使深度网络(Deep Neural Networks)再强大,它也有自己的局限,生成模型上的不尽人意便是其中之一。


Generative(Model):生成模型


机器学习的模型可大体分为两类,生成模型(Generative Model)和判别模型(Discriminative Model)。判别模型需要输入变量640?wx_fmt=jpeg,通过某种模型来预测640?wx_fmt=jpeg。生成模型是给定某种隐含信息,来随机产生观测数据。举个简单的例子,


判别模型:给定一张图,判断这张图里的动物是猫还是狗


生成模型:给一系列猫的图片,生成一张新的猫咪(不在数据集里)


众所周知的imagenet-1000图像分类,自动驾驶的图片语义分割,人体骨架点的预测都属于判别模型,即给定输入预测某种特征。实际上12~14年的大部分工作都属于判别模型,为什么呢,原因之一便是判别模型的损失函数(loss)方便定义。


回到根源,什么是机器学习?一句话来概括就是,在训练过程中给予回馈,使得结果接近我们的期望。对于分类问题(classification),我们希望loss在接近bound以后,就不要再有变化,所以我们选择交叉熵(Cross Entropy)作为回馈;在回归问题(regression)中,我们则希望loss只有在两者一摸一样时才保持不变,所以选择点之间的欧式距离(MSE)作为回馈。损失函数(回馈)的选择,会明显影响到训练结果的质量,是设计模型的重中之重。这五年来,神经网络的变种已有不下几百种,但损失函数却寥寥无几。例如caffe的官方文档中,只提供了八种标准损失函数 Caffe | Layer Catalogue。


对于判别模型,损失函数是容易定义的,因为输出的目标相对简单。但对于生成模型,损失函数的定义就不是那么容易。例如对于NLP方面的生成语句,虽然有BLEU这一优秀的衡量指标,但由于难以求导,以至于无法放进模型训练;对于生成猫咪图片的任务,如果简单地将损失函数定义为“和已有图片的欧式距离”,那么结果将是数据库里图片的诡异混合,效果惨不忍睹。当我们希望神经网络画一只猫的时候,显然是希望这张图有一个动物的轮廓、带质感的毛发、和一个霸气的眼神,而不是冷冰冰的欧式距离最优解。如何将我们对于猫的期望放到模型中训练呢?这就是GAN的Adversarial部分解决的问题。


Adversarial:对抗(互怼 )


在generative部分提到了,我们对于猫(生成结果)的期望,往往是一个暧昧不清,难以数学公理化定义的范式。但等一下,说到处理暧昧不清、难以公理化的问题,之前提到的判别任务不也是吗?比如图像分类,一堆RGB像素点和最后N类别的概率分布模型,显然是无法从传统数学角度定义的。那为何,不把生成模型的回馈部分,交给判别模型呢?这就是Goodfellow天才般的创意--他将机器学习中的两大类模型,Generative和Discrimitive给紧密地联合在了一起。


模型一览


640?wx_fmt=jpeg


对抗生成网络主要由生成部分G,和判别部分D组成。训练过程描述如下


640?wx_fmt=jpeg


在整个过程中,640?wx_fmt=jpeg(火眼晶晶,不错杀也不漏杀)。而640?wx_fmt=jpeg则要使得640?wx_fmt=jpeg,即让生成的图片尽可能以假乱真。整个训练过程就像是两个玩家在相互对抗,也正是这个名字Adversarial的来源。在论文中[1406.2661] Generative Adversarial Networks ,Goodfellow从理论上证明了该算法的收敛性,以及在模型收敛时,生成数据具有和真实数据相同的分布(保证了模型效果)。


从研究角度,GAN给众多生成模型提供了一种新的训练思路,催生了许多后续作品。例如根据自己喜好定制二次元妹子(逃),根据文字生成对应描述图片(Newmu/dcgan_code, hanzhanggit/StackGAN),甚至利用标签生成3D宜家家居模型(zck119/3dgan-release),这些作品的效果无一不令人惊叹。同时,难人可贵的是这篇论文有很强的数学论证,不同于前几年的套模型的结果说话,而是从理论上保证了模型的可靠性。虽然目前训练还时常碰到困难,后续已有更新工作改善该问题(WGAN, Loss Sensetive GAN, Least Square GAN),相信终有一日能克服。


从通用人工智能高层次来看,这个模型率先使用神经网络来指导神经网络,颇有一种奇妙的美感:仿佛是在辩日的两小儿一样,一开始两者都是懵懂的幼儿,但通过观察周围,相互讨论,逐渐进化出了对外界的认知。 这不正是吾等所期望的终极智能么 -- 机器的知识来源不再局限于人类,而是可以彼此之间相互交流相互学习。也难怪Yann Lecun赞叹GAN是机器学习近十年来最有意思的想法


链接:https://www.zhihu.com/question/57668112/answer/155367561


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CompletableFuture详解~thenAccept

消费前一阶段的结果 如果下一阶段接收了当前阶段的结果,但是在计算的时候不需要返回值(它的返回类型是void), 那么它可以不应用一个函数,而是一个消费者, 调用方法也变成了thenAccept: static void thenAcceptExample() {String…

AlldayTest 产品使用--文件

“文件”一栏,可实现新建/打开项目、导入(出)项目、配置信息等功能。 1、新建项目 运行AlldayTest,点击:“文件”-->“新建”,在出现的窗体内输入新创建项目的名称,选择路径保存即可。Allday…

移动端 爬虫工具 与 方法 介绍

From:https://www.cnblogs.com/zyfd/p/9681080.html 本文主要介绍了移动端爬虫的工具与方法,作为一个入门的大纲。没有详细介绍的也给出了本人学习过程中借鉴的资料的链接,适合对移动端爬虫感兴趣的同学入门。 一、抓包模拟 基本原理&#xf…

“芯痛”之下阿里苦心研发NPU AI芯片究竟哪款PU更厉害?

来源:OFweek人工智能网4月19日,有消息称,阿里巴巴达摩院正在研发一款神经网络芯片——Ali-NPU,主要运用于图像视频分析、机器学习等AI推理计算。按照设计,这款芯片性能将是目前市面上主流CPU、GPU架构AI芯片的10倍&…

CompletableFuture详解~thenAcceptAsync

异步地消费迁移阶段的结果 同样,可以使用thenAcceptAsync方法, 串联的CompletableFuture可以异步地执行。 static void thenAcceptAsyncExample() {StringBuilder result new StringBuilder();CompletableFuture cf CompletableFuture.completedFutu…

(转)Windows 批处理实现 定时打开IE 延时一段时间后 关闭IE

要求实现一个定时器:如题 1、首先建立一个bat文件 内容如下: echo offrem 关闭回显命令 cd C:\Program Files\Internet Explorer\rem 改变当前目录到IE所在目录 start iexplore.exe "http://192.168.0.106:29101/LoadMemoryDB?typeMT&commande…

POE API 驱动 OpenAI API 依赖服务

本文主要是介绍了如何利用 POE 提供的 API 服务来驱动原来依赖 OpenAI 的 API 服务 AIGC 的大模型已经火了很久,但是众所周知的原因 OpenAI 的服务订阅对于大陆用户很不友好。而另一个 AIGC 聚合平台 POE 则对大陆用户比较友好,招行的 VISA 和 Master 卡…

深度分析:基站+光通信+手机都用到了哪些美国芯片?有何替代?

来源:21ic电子网摘要:2016年3月8日,美国商务部由于中兴通讯涉嫌违反美国对伊朗的出口管制政策,中兴实行禁运。丨事件:2018年04月16日,美国商务部发布对中兴通讯出口权限禁令,禁止美国企业向其出…

AirtestIDE 教程 — 5分钟上手自动化测试

AirtestIDE 教程 — 5分钟上手自动化测试::http://airtest.netease.com/tutorial/Tutorial.html AirtestIDE 官方文档:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html AirtestProject 官方文档:https://air…

CompletableFuture详解~completeExpectionally

完成计算异常 现在我们来看一下异步操作如何显式地返回异常,用来指示计算失败。我们简化这个例子,操作处理一个字符串,把它转换成答谢,我们模拟延迟一秒。 我们使用thenApplyAsync(Function, Executor)方法,第一个参…

全面超越 Appium,使用 Airtest 超快速开发 App 爬虫

From:https://segmentfault.com/a/1190000017982620 https://www.kingname.info/2019/01/19/use-airtest 在 Airtest 中如何正确使用无线模式控制手机:https://juejin.im/post/5c4f12b0e51d453f45614bbb 使用 python poco 夜神模拟器 进行 自动化测…

Nature:“解构”母爱

来源:生物360一篇论文报告称,小鼠下丘脑视前区相当于一个集成中心,汇集育儿行为相关的大量信息。具体而言,研究人员发现视前区表达甘丙肽的神经元会协调育儿行为的运动、动机、激素和社会因素。相关成果近日 发表 于《自然》。育儿…

CompletableFuture详解~cancel

取消计算 和完成异常类似,我们可以调用cancel(boolean mayInterruptIfRunning)取消计算。对于CompletableFuture类,布尔参数并没有被使用,这是因为它并没有使用中断去取消操作,相反,cancel等价于completeExceptionall…

重磅!不止是芯片!半导体全产业链分析

来源:杨明辉电子(ID:gh_e6a65dbbbff9)作者:光大电子团队周期性波动向上,市场规模超4000亿美元半导体是电子产品的核心,信息产业的基石。半导体行业因具有下游应用广泛、生产技术工序多、产品种类…

adb(Android debug bridge)命令

From:https://www.cnblogs.com/huanyou/p/5133737.html ADB 用法大全: github 地址:https://github.com/mzlogin/awesome-adb adb 官网链接( 国内想访问,你懂得!!! )&am…

CompletableFuture详解~applyToEither

在两个完成的阶段其中之一上应用函数 下面的例子创建了CompletableFuture, applyToEither处理两个阶段, 在其中之一上应用函数(包保证哪一个被执行)。本例中的两个阶段一个是应用大写转换在原始的字符串上, 另一个阶段是应用小些转换。 static void ap…

Win技巧

1、批量重命名文件 a.进入dos执行 dir *.* /b>temp.bat b.打开temp.bat复制内容到Excel的A1和B1单元格 c.把B2改成相应文件名 d.在C1输入公式:"ren "&A1&" "&B1 把C列剩下的都格式 e.复制C列内容覆盖temp.bat执行即可。 转载于:…

预计2024年全球医疗AI市场超100亿美元

来源:新浪医药摘要:随着人们对这些技术所带来的好处日益了解,AI在医疗领域的应用正越来越广泛,例如药物研发和医学影像学等方面。高昂的初始资本需求和维护维修费用以及AI可能扰乱行业并导致大规模失业的担忧,阻碍了AI…

CompletableFuture详解~acceptEither

在两个完成的阶段其中之一上调用消费函数 和前一个例子很类似了,只不过我们调用的是消费者函数 (Function变成Consumer): static void acceptEitherExample() {String original "Message";StringBuilder result new StringBuilder();CompletableFutur…

分享自己写的一个贪吃蛇的游戏(Linux)

作者: dave_cn 发表于 2010-07-18 21:20 原文链接 阅读: 148 评论: 2转载请注明出处。http://www.cnblogs.com/dave_cn/本程序需要ncurses库,ubuntu下安装ncurses可以执行下面命令:sudo apt-get install libncurses5-dev 关于ncurses的用法,读…