当前位置: 首页 > 编程日记 > 正文

AI大佬“互怼”:Bengio和Gary Marcus隔空对谈深度学习发展现状

编译 | AI科技大本营编辑部
出品 | AI科技大本营(ID:rgznai100)
去年以来,由于纽约大学教授 Gary Marcus 对深度学习批评,导致他在社交媒体上与许多知名的 AI 研究人员如 Facebook 首席 AI 科学家 Yann LeCun 进行了一场论战。
不止 LeCun ,他还对另一深度学习大牛 Yoshua Bengio 的相关观点进行了反驳。近期,由于Bengio 对外强调深度学习的下一步研究方向时(见文章《图灵奖得主Bengio再次警示:可解释因果关系是深度学习发展的当务之急》),Gary Marcus 同样表达了不同的观点。
10 月 11日,Yoshua Bengio 在 Facebook 予以回应,两人就 AI 和深度学习的发展现状进行了一来一回的“互怼”。
Gary Marcus喜欢在我谈论我目前的研究计划时引用我的观点,该计划谈到了研究深度学习系统的弱点,  以便在更高水平认知和更大组合(和系统)泛化中建立更强的系统, 包括处理因果关系和推理。他不同意Yann LeCun, Geofrey Hinton和我说过的观点,即神经网络确实可以成为计算机中整合更多认知能力的一个"通用溶剂(universal solvent)"。
他更喜欢把深度学习局限于感知, 并需要与符号处理相结合,我有点不同意这种观点。我同意GOFAI的目标是重要的(就像有能力执行系统2认知的顺序推理特征) ,但我相信, 他们可以在保持深度学习框架的同时完成这些目标,尽管该框架大量使用了注意力机制(我的“意识先验”研究计划)以及新架构(例如模块化)和训练框架(例如元学习)。
我敢打赌的是, 将深度网络的输出离散化然后传递到GOFAI符号处理系统的简单结合将不会奏效。为什么? 有很多原因:(1)你需要在系统2和系统1中进行学习, (2)你还需要在其中表示不确定性,(3)蛮力搜索(符号处理系统的主要推理工具)无法scale, 而是人类使用无意识(系统1)进行处理, 以指导涉及推理的搜索, 所以系统1和系统2非常紧密地集合在一起, (4)你的大脑一直是一个神经网络。

640?wx_fmt=png


10 月 13 日,Gary Marcus 在 Medium 上发布了给 Bengio 的公开信长文,他从观点一致(Agreements)、分歧(Disagreements)、鸿沟(Gaps)、争论(Bones to Pick)四个方面表达了他的观点。他表示,他们俩人观点相同多于观点相左俩人,但无论观点一致还是存有分歧,他希望他们的争论能够对 AI 领域发展带来启发。
640?wx_fmt=png
以下为公开信全文,AI科技大本营(ID:rgznai100)编译:
亲爱的Yoshua:
感谢你在 Facebook 上做出的回应,我在这份信中引用了那段文字,并表达我自己对它的想法。感谢你抽出宝贵时间关注这些问题。
我认为,你与我的观点相同多于观点相左,并且和你一样,我也希望我们的意见和分歧能够让这个领域受益。

观点一致
  • 就其本身而言,深度学习是一种有价值的工具,但从目前的形势来看,深度学习本身不足以使我们达到通用智能。
  • 当前的深度学习技术通常会产生肤浅的结果,且泛化性较差。自1992年我首次发表文章以来,我就一直在表达这一点,并且在我 2012 年为《纽约客》写的第一篇公开评论中就对深度学习展发表了详细观点。这也是我2001年关于认知科学书籍的重点。而你近期发表在 arXiv 上的论文《A Meta-Transfer Objective for Learning to Disentangle Causal Mechanisms》的介绍也恰好与《The Algebraic Mind》的主旨相呼应,都提出这一观点:对许多常见的神经网络来说,在训练空间之外进行泛化,是一项挑战。
  • 我们两人都同意纳入因果关系的重要性。数十年来,Judea Pearl 也一直在强调这个问题;2012年,我想我也许是第一个在《纽约客》的文章中针对深度学习领域强调这一问题的人。
  • 对“理解如何将连续的 “第二系统”[“System II” (Kahnem’s term)]推理(我喜欢称之为审议推理[deliberative reasoning])纳入人工智能的工作流程是至关重要的”这一看法我也认同你的说法。经典 AI 提供了一种方法,但其有着显著地局限性,探索其他方法肯定是一件有趣的事情。
  • 你建议结合很多技术,特别是注意力、模块化和元学习,这可能会很有帮助。我之前的公司就对元学习有很大的兴趣,我也坚信需要模块化和构建更结构化的模型,我不确定你对基于代理的视图持何看法,在我看来这是合理的。

分歧
你似乎认为我在提倡一种“简单混合的方法,将深度学习网络的输出结果离散化然后传递给 GOFAI符号处理系统”,但我从未提出过类似的观点。我全力支持混合方式,但我认为我们需要一些更精妙的东西,我也从不认为处理的核心是 GOFAI 的观点。相反,Davis 和我最近在书“常识与认知”章节中也对此提出了质疑,我们提出了一种超越现有 GOFAI 和深度学习的简单组合的混合方法。我同意我们需要比 GOFAI 更丰富的、不确定性的概念,同时也和你一样认为需要将更多的学习纳入 System 2,但我个人不认为深度学习适合于此。
也就是说,我认为符号处理技术是至关重要的,我想你低估了它的价值。
首先,世界上的很多知识都是通过符号表达的,(如整个互联网上的非结构化文本),当前基于深度学习的系统并没有充分利用知识。我可以告诉孩子“斑马是一种有条纹的马”,他们可以在一次试验中就获得这一知识,并把它与他们的感知系统结合起来。而现在的系统无法做到。
如果没有某种符号系统,我不知道有什么好方法做自然语言理解,因为这似乎忽略了认知科学(语言学)的整个领域。虽然深度学习在机器翻译领域中取得了长足进展,但在智能对话领域做的并不够好。
老实说,我看不出有什么原则性的理由将符号系统排除在通用人工智能的工具之外;你当然也没这样说。但市面上的软件绝大部分仍然由符号代码组成,为什么你会希望将如此明显有价值的工具排除在实现通用人工智能的方法之外?
我认为你高估了一站式购物的概念。当然,如果能有一个单一的架构可以实现所有的认知是很好的,但是我认为这种期望是不现实的。认知/通用智能是由许多不同挑战组成的多维事物。现成的深度学习非常擅长感知分类,这是任何智能生物都可以做的一件事,但不太适合(目前构成的)其他性质迥异的问题。将一组实体映射到一组预先确定的类别上(正如深度学习所做的那样)并不等同于从无限数量的句子中生成新的解释,也不等同于制定一个跨越多个时间尺度的计划。我们没有特别的理由认为深度学习可以很好地解决后两类问题,也不必认为每个问题都是相同的。
在生物学中,像人类这样复杂的生物,我们会发现许多不同的大脑区域,有着微妙不同的基因表达模式;大多数解决问题的方法都依赖于神经体系结构的不同子集,这些子集非常适合这些问题的性质。在具有不同计算强度的系统之间选通似乎是人类智能的本质;在我看来,期望复制完整的体系结构似乎是不切实际的。
在你的此前回应结尾处,你似乎暗示着由于大脑是一个神经网络,我们可以推断出它不是一个符号操纵系统。但是,我们不知道大脑是哪种神经网络,并且我们从各种证据中知道神经网络可以(例如)直接实现(符号操纵)图灵机。我们也知道,人类可以被训练成为符号操纵者。每当受过训练的人员进行逻辑、代数或物理学等工作时,很明显,人脑(未知结构的神经网络)可以进行一些符号操作。真正的问题是,它有多重要?它如何在大脑中实现?
你对“神经网络”和“深度学习”有些含糊其辞。我不认为两者是相同的概念,我认为深度学习只是构建和训练神经网络的一种方式,但并不是唯一一种。它和人类大脑的工作方式相关,与未来合称神经网络的工作方式相关。Fodor and Pylyshyn在实现连接主义(主张使用神经网络构建图灵机器)和消除连接主义(eliminative connectionist,旨在构建不仅使用符号操作系统构建神经网络)两者间做了明确的区分。我不怀疑任何对人工智能的方式都可以在神经网络中实现,问题的关键是“神经网络的本质是什么”。这30年来,我一直坚称,一个可以成功获取一般智力的神经网络需要包括对变量的操作,就像最近一些可微编程所做的一些工作,而并非是一个简单多层感知机所做的事情。
我觉得你关注的因果关系太狭隘了。对一个因素对另一因素的影响程度进行定量估计是重要的,但也要有能得出因果推论的机制。例如,如何理解奶酪切丝器的哪一部分负责刨丝,刨丝器上孔的形状如何与奶酪屑之间有何关系?仅仅指出孔洞和磨碎的奶酪间的某关联程度是不够的。这里可能需要结合某种更丰富的符号处理系统,比如函数和你现在所从事的工作,用来表示抽象的概念。

鸿沟

你实际上并没有说出你对建立先验知识想法的看法。对我来说,这个问题绝对是核心问题,但它在最新的深度学习研究中被忽略了。 我对你的先天(innateness)知识的看法以及你是否认为向深度学习加入更多的先验知识成为向前发展的重要组成部分感到好奇。

争论
有时你误解了我,我认为如果你能对我的实际立场做出回应,对话将会得到改善,这好过于误解。举个例子,你似乎没有意识到 Rebooting AI 需要做很多你做过的事情。你这样说:
一个简单的混合,其中的输出是离散的深度网络,然后传递到一个GOFAI符号处理系统将不会有效果。为什么?有很多原因:1、你需要在系统2和系统1进行学习,(2)你还需要表现出不确定性……”
实际上,Ernie Davis 和我有同样的观点:
“……手动编码机器需要知道的所有东西可能是不现实的。机器将需要自己学习很多东西。我们可能想要“手动编码”锋利的硬刀片来切割柔软的材料,但人工智能应该能够基于这一知识,学习刀、割草机和搅拌机的工作原理,但不需要对这些机器进行手动编码。”
关于第二点,我们也强调了不确定性和GOFAI的弱点:
“我们一直在讨论的那种逻辑只有一件事做得很好:它允许我们获取我们确定的知识,并使用总是有效的规则来演绎我们也确信的新知识。如果我们完全确定 Ida 拥有一部 iPhone,而且我们确定苹果生产 iPhone,那么我们就可以确定Ida拥有苹果生产的产品。但生活中有什么是绝对确定的呢?
正如罗素所说:“人类所有的知识都是不确定的、不精确的、片面的。”然而,我们人类总有办法做到。当机器最终能做同样的事情,想人类那样流畅、灵活、有力地表示和推理不确定、不准确、不完整的知识,广义的人工智能将最终出现。”
  • 如你所见,我们在这类问题上的立场是一致的;在你上面的回应文章里,你批评的是一个稻草人(strawperson),而不是我们的实际立场。
  • 与此同时,我认为你还没有认识到你自己的观点已经有所改变;你在2016年发表的《自然》(Nature)杂志上的论文比你目前的观点尖锐得多,也承认对深度学习的限制要少得多。

我真诚地感谢你在Facebook上的回应;有时我真希望你能引用我的研究,而它能清晰预示你自己的研究。举个例子,在最近的一篇arXiv论文中,在没有引用的情况下,通过关注这个问题来开启你的论文:
“当前的机器学习方法在需要在训练分布之外泛化时显得很弱……从与训练数据相同的分布中采样的测试集上获得良好的泛化能力是不够的”。
这个挑战正是我在1998年所写的:
当前流行的消除连接主义(eliminative connectionist)模型无法将共性扩展到训练空间之外。
这是2001年《代数思维》第三章的中心内容:
多层感知机不能将[某类通用量化的函数]推广到训练空间之外。在某些情况下,人类似乎可以自由地从受限制的数据中进行归纳,(在这些情况下)通过反向传播训练的某一类多层感知机是不合适的。
我曾多次在公开场合和私下里试图提醒你注意这一预想,但你从未回应或引用过这一工作,即使我试图提醒你要注意的观点已日益成为你的研究框架的核心。
尽管存在这些分歧,我仍然是你的粉丝,这既因为你一贯的、卓越的研究品质,也是因为你诚实且正直地承认了近年来深度学习的局限性。我也很欣赏你将人工智能应用于更伟大的人类福祉的方式,并真诚地希望更多的人将你作为榜样。
如果你能把因果关系,比如人类表达因果关系的丰富形式引入到深度学习中,那将是对一般人工智能真正持久的贡献。我期待着你下一步的研究工作,并希望当我下次在蒙特利尔时有机会拜访你。
祝好,
Gary Marcus
相关链接:
https://medium.com/@GaryMarcus/the-current-state-of-ai-and-deep-learning-a-reply-to-yoshua-bengio-77952ead7970
https://medium.com/@GaryMarcus/bengio-v-marcus-and-the-past-present-and-future-of-neural-network-models-of-language-b4f795ff352b

(*本文为 AI科技大本营编译文章,载请微信联系 1092722531


精彩推荐


2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。

即日起,限量 5 折票开售,数量有限,扫码购买,先到先得!

640?wx_fmt=png

推荐阅读

  • 有了这套模板,再不担心刷不动LeetCode了

  • Google图嵌入工业界最新大招,高效解决训练大规模深度图卷积神经网络问题

  • Python可视化解析MCMC

  • 爬取B站视频排名第一《祖国大好河山》1W+弹幕,得出一份词频词云图

  • 技术领域有哪些接地气又好玩的应用?

  • Python新工具:用三行代码提取PDF表格数据

  • 国产嵌入式操作系统发展思考

  • 2019 年诺贝尔物理学奖揭晓!三得主让宇宙“彻底改观”

  • 公链故事难再续?

640?wx_fmt=png

你点的每个“在看”,我都认真当成了AI

相关文章:

Centos7多内核情况下修改默认启动内核方法

1.1 进入grub.cfg配置文件存放目录/boot/grub2/并备份grub.cfg配置文件 [rootlinux-node1 ~]# cd /boot/grub2/ [rootlinux-node1 grub2]# cp -p grub.cfg grub.cfg.bak [rootlinux-node1 grub2]# ls -ld grub.cfg* -rw-r--r--. 1 root root 5162 Aug 11 2018 grub.cfg -rw-r…

TensorRT Samples: MNIST

关于TensorRT的介绍可以参考: http://blog.csdn.net/fengbingchun/article/details/78469551以下是参考TensorRT 2.1.2中的sampleMNIST.cpp文件改写的实现对手写数字0-9识别的测试代码,各个文件内容如下:common.hpp:#ifndef FBC_TENSORRT_TE…

网红“AI大佬”被爆论文剽窃,Jeff Dean都看不下去了

作者 | 夕颜、Just出品 | AI科技大本营(ID:rgznai100)【导读】近日,推特上一篇揭露 YouTube 网红老师 Siraj Raval 新发表论文涉抄袭其他学者的帖子引起了讨论。揭露者是曼彻斯特大学计算机科学系研究员 Andrew M. Webb,他在 Twit…

数位dp(求1-n中数字1出现的个数)

题意:求1-n的n个数字中1出现的个数。 解法:数位dp,dp[pre][now][equa] 记录着第pre位为now,equa表示前边是否有降数字(即后边可不能够任意取,true为没降,true为已降);常规的记忆化搜…

TensorRT Samples: MNIST API

关于TensorRT的介绍可以参考: http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的sampleMNISTAPI.cpp文件改写的实现对手写数字0-9识别的测试代码,各个文件内容如下:common.hpp:#ifndef FBC_TENSORR…

免费学习AI公开课:打卡、冲击排行榜,还有福利领取

CSDN 技术公开课 Plus--AI公开课再度升级内容全新策划:贴近开发者,更多样、更落地形式多样升级:线上线下、打卡学习,资料福利,共同交流成长,扫描下方小助手二维码,回复:公开课&#…

Gamma阶段第一次scrum meeting

每日任务内容 队员昨日完成任务明日要完成的任务张圆宁#91 用户体验与优化:发现用户体验细节问题https://github.com/rRetr0Git/rateMyCourse/issues/91#91 用户体验与优化:发现并优化用户体验,修复问题https://github.com/rRetr0Git/rateMyC…

windows 切换 默认 jdk 版本

set JAVA_HOMEC:\jdk1.6.0u24 set PATH%JAVA_HOME%\bin;%PATH%转载于:https://www.cnblogs.com/dmdj/p/3756887.html

TensorRT Samples: GoogleNet

关于TensorRT的介绍可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的sampleGoogleNet.cpp文件改写的测试代码&#xff0c;文件(googlenet.cpp)内容如下&#xff1a;#include <iostream> #include <t…

Visual Studio Code Go 插件文档翻译

此插件为 Go 语言在 VS Code 中开发提供了多种语言支持。 阅读版本变更日志了解此插件过去几个版本的更改内容。 1. 语言功能 (Language Features) 1.1 智能感知 (IntelliSense) 编码时符号自动补全&#xff08;使用 gocode &#xff09;编码时函数签名帮助提示&#xff08;使用…

资源 | 吴恩达《机器学习训练秘籍》中文版58章节完整开源

整理 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;一年前&#xff0c;吴恩达老师的《Machine Learning Yearning》(机器学习训练秘籍&#xff09;中文版正式发布&#xff0c;经过一年多的陆续更新&#xff0c;近日&#xff0c;这本书的中文版 58…

js字符串加密的几种方法

在做web前端的时候免不了要用javascript来处理一些简单操作&#xff0c;其实如果要用好JQuery, Prototype,Dojo 等其中一两个javascript框架并不简单&#xff0c;它提高你的web交互和用户体验&#xff0c;从而能使你的web前端有非一样的感觉&#xff0c;如海阔凭鱼跃。当然&…

Vue开发入门看这篇文章就够了

摘要&#xff1a; 很多值得了解的细节。 原文&#xff1a;Vue开发看这篇文章就够了作者&#xff1a;RandomFundebug经授权转载&#xff0c;版权归原作者所有。 介绍 Vue 中文网Vue githubVue.js 是一套构建用户界面(UI)的渐进式JavaScript框架库和框架的区别 我们所说的前端框架…

TensorRT Samples: CharRNN

关于TensorRT的介绍可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的sampleCharRNN.cpp文件改写的测试代码&#xff0c;文件(charrnn.cpp)内容如下&#xff1a;#include <assert.h> #include <str…

Python脚本BUG引发学界震动,影响有多大?

作者 | beyondma编辑 | Jane来源 | CSDN博客近日一篇“A guide to small-molecule structure assignment through computation of (1H and 13C) NMR chemical shifts”文章火爆网络&#xff0c;据作者看到的资料上看这篇论文自身的结果没有什么问题&#xff0c;但是&#xff0c…

C++中public、protect和private用法区别

Calsspig : public animal,意思是外部代码可以随意访问 Classpig : protect animal ,意思是外部代码无法通过该子类访问基类中的public Classpig : private animal ,意思是告诉编译器从基类继承的每一个成员都当成private,即只有这个子类可以访问 转载于:https://blog.51cto.…

TensorRT Samples: MNIST(Plugin, add a custom layer)

关于TensorRT的介绍可以参考&#xff1a;http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的samplePlugin.cpp文件改写的通过IPlugin添加一个全连接层实现对手写数字0-9识别的测试代码&#xff0c;plugin.cpp文件内容如下&#xff1a…

AutoML很火,过度吹捧的结果?

作者 | Denis Vorotyntsev译者 | Shawnice编辑 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】现在&#xff0c;很多企业都很关注AutoML领域&#xff0c;很多开发者也开始接触和从事AutoML相关的研究与应用工作&#xff0c;作者也是&#…

tomcat6 配置web管理端访问权限

配置tomcat 管理端登陆 /apache-tomcat-6.0.35/conf/tomcat-users.xml 配置文件&#xff0c;使用时需要把注释去掉<!-- <!-- <role rolename"tomcat"/> <role rolename"role1"/> <user username"tomcat" password"…

@程序员:Python 3.8正式发布,重要新功能都在这里

整理 | Jane、夕颜出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导读】最新版本的Python发布了&#xff01;今年夏天&#xff0c;Python 3.8发布beta版本&#xff0c;但在2019年10月14日&#xff0c;第一个正式版本已准备就绪。现在&#xff0c;我们都…

TensorRT Samples: MNIST(serialize TensorRT model)

关于TensorRT的介绍可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/78469551 这里实现在构建阶段将TensorRT model序列化存到本地文件&#xff0c;然后在部署阶段直接load TensorRT model序列化的文件进行推理&#xff0c;mnist_infer.cpp文件内容…

【mysql错误】用as别名 做where条件,报未知的列 1054 - Unknown column 'name111' in 'field list'...

需求&#xff1a;SELECT a AS b WHRER b1; //这样使用会报错&#xff0c;说b不存在。 因为mysql底层跑SQL语句时&#xff1a;where 后的筛选条件在先&#xff0c; as B的别名在后。所以机器看到where 后的别名是不认的&#xff0c;所以会报说B不存在。 这个b只是字段a查询结…

C++2年经验

网络 sql 基础算法 最多到图和树 常用的几种设计模式&#xff0c;5以内即可转载于:https://www.cnblogs.com/liujin2012/p/3766106.html

在Caffe中调用TensorRT提供的MNIST model

在TensorRT 2.1.2中提供了MNIST的model&#xff0c;这里拿来用Caffe的代码调用实现&#xff0c;原始的mnist_mean.binaryproto文件调整为了纯二进制文件mnist_tensorrt_mean.binary&#xff0c;测试结果与使用TensorRT调用(http://blog.csdn.net/fengbingchun/article/details/…

142页ICML会议强化学习笔记整理,值得细读

作者 | David Abel编辑 | DeepRL来源 | 深度强化学习实验室&#xff08;ID: Deep-RL&#xff09;ICML 是 International Conference on Machine Learning的缩写&#xff0c;即国际机器学习大会。ICML如今已发展为由国际机器学习学会&#xff08;IMLS&#xff09;主办的年度机器…

CF1148F - Foo Fighters

CF1148F - Foo Fighters 题意&#xff1a;你有n个物品&#xff0c;每个都有val和mask。 你要选择一个数s&#xff0c;如果一个物品的mask & s含有奇数个1&#xff0c;就把val变成-val。 求一个s使得val总和变号。 解&#xff1a;分步来做。发现那个奇数个1可以变成&#x…

html传參中?和amp;

<a href"MealServlet?typefindbyid&mid<%m1.getMealId()%> 在这句传參中&#xff1f;之后的代表要传递的參数当中有两个參数第一个为type第二个为mid假设是一个參数就不用加&假设是多个參数须要加上&来传递

实战:手把手教你实现用语音智能控制电脑 | 附完整代码

作者 | 叶圣出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导语&#xff1a;本篇文章将基于百度API实现对电脑的语音智能控制&#xff0c;不需要任何硬件上的支持&#xff0c;仅仅依靠一台电脑即可以实现。作者经过测试&#xff0c;效果不错&#xff0c;同时可以依据…

C++/C++11中左值、左值引用、右值、右值引用的使用

C的表达式要不然是右值(rvalue)&#xff0c;要不然就是左值(lvalue)。这两个名词是从C语言继承过来的&#xff0c;原本是为了帮助记忆&#xff1a;左值可以位于赋值语句的左侧&#xff0c;右值则不能。 在C语言中&#xff0c;二者的区别就没那么简单了。一个左值表达式的求值结…

Could not create the view: An unexpected exception was thrown. Myeclipse空间报错

转载于:https://blog.51cto.com/82654993/1424339