安妮 维金 李杉 编译自 Medium
量子位 出品 | 公众号 QbitAI
深度学习的质疑者中有位战士。
Gary Marcus
他是马库斯(Gary Marcus),纽约大学心理学教授,曾任Uber AI实验室的负责人。新年第二天,他发表
长文提出深度学习的十大挑战
,犀利指出“深度学习不是万能溶剂,只是众多工具中的一种”。
一石激起千层浪。深度学习圈大面积的“炼丹师”已经坐不住了,赞同和怒怼交织涌向马库斯。
马库斯败阵而归?Naive了。昨天,马库斯再发长文,他收集了14个被质疑的观点并实力回怼。
无监督学习适用于何处?马库斯为什么一开始就对深度学习持否定态度?对于可微分编程他又怎么看?
量子位将这篇文章翻译整理如下:
1. 什么是通用智能?
AAAI前主席Thomas Dietterich是一位著名的机器学习教授,也是迄今为止最彻底和最直率的批评者。他曾给出一个我很赞同的答案:
“通用智能”是一套可以在广泛目标和环境中采取智能行为的系统。在Russell和Norvig的教科书中,他们对智能的定义是“理性的行为”。
2. 马库斯对深度学习太不友好了
前面提到的Dietterich谈到了这两点:
我对@GaryMarcus的文章很失望。他很少提到深度学习的成就(例如自然语言翻译),还轻视他人,比如说ImageNet中的1000个分类太少了(很有限)。
关于第一部分。没错,我是应该多说些好话,但我并不是从来不说好话。在之前提到Dietterich的文章的第一页我就说过:
从那时起,深度学习在语音识别、图像识别、语言翻译等领域产生了大量的尖端成果,并在当前的人工智能应用领域发挥了重要作用。
此外,我还在文章的后面引用了一些优质的文章和博客。但提到的这些内容,很多都不算是通用人工智能,这是我论文的重点。比如谷歌翻译效果不错,但它不是通用的。它不能回答与它已经翻译的内容有关的问题,而人类翻译却能做到。
第二部分更为实质性。1000个类别真的非常有限吗?与认知的灵活性相比确实如此。认知科学家通常把一个人所知道的不可分割的概念的数量定为5万左右,人类可以很容易地把这些概念组合成大量复杂的思想。宠物和鱼很可能被算到这5万里面;宠物鱼则不同的,很可能没有被计算在内。
我可以很容易地想到“一只宠物鱼生病了”,或者注意到“买一条宠物鱼后发现它生病了总是令人很失望”(我小时候有过这种经历,显然至今仍然很讨厌这种状况)。我能表达多少类似的想法?肯定远超1000。
我不太确定一个人能识别多少个视觉类别,但怀疑数字大致相似。在谷歌上搜搜“宠物鱼”的图片,效果不错。搜搜“戴护目镜的宠物鱼”,你会看到戴护目镜的狗,错误率超过80%。
在区分相似品种狗的过程中,机器可以胜过不具备专家水平的人类,但是人类却在解释复杂的场景时胜出,比如一个戴着背包而不是降落伞的跳伞者会发生什么。
在我看来,专注于1000个类别的机器学习本身就是一种“帮倒忙”,它只是带来了短期的成功感受,但却否认了更困难、更开放的问题(例如场景和句子理解),而后者必须最终解决。与我们能看到和理解的几乎无限的句子和场景相比,1000确实很小。
3. 马库斯说深度学习没用,但这在很多方面都表现优异
当然有用。我从来没有说过深度学习没用,我只说过,a)在目前的监督模式下,深度学习可能已经接近极限,b)那些限制将在完全的通用人工智能出现后消失——除非,也许,我们开始融合一些其他的东西,比如符号处理技术和先知。
我的结论的核心是:
尽管我提出很多问题,但我不认为我们需要放弃深度学习。
相反,我们需要重新定义它:不是作为一种万能溶剂,而是简单地作为一个工具,就像一个强大的螺丝刀,而我们同时还需要锤子、扳手和钳子,更不用说凿子、钻头、电压表、逻辑探针和示波器。
4. “有一件事我不明白。@GaryMarcus说,深度学习对层次结构不太好。但@ylecun在自然评论文章中说,深度学习特别适合利用这种层次结构。”
这是一个狡猾的问题,是Ram Shankar提出来的。我应该更清楚地给出答案:层次结构有很多类型。对于LeCun讨论的功能层次来说,深度学习是很好的,甚至可能是最好的,我通常把它称为层次特征检测;就用像素构建线条,用线条表示字母,用字母表示单词,等等。
Kurzwel和Hawkins也强调了这类问题,这可以追溯到Hubel和Wiesel(1959)的神经科学实验,而在AI领域则可以追溯到Fukushima(Fukushima, Miyake, & Ito, 1983)。
Fukushima在他的Neocognitron模型中,手动连接那些依次更有抽象特征的层次;LeCun和其他许多人后来证明,其实不需要手动完成(至少在某些情况下)。
但是在这个过程中,你不需要追踪遇到的部件,顶层系统不需要依据过程中看到的部分明确对整个输出的结构进行编码;这就是为什么一个深度学习系统可以被欺骗,导致其把黑色和黄色条纹误认成校车。(Nguyen, Yosinski, & Clune, 2014)。
条纹模式与校车输出单元的激活紧密相关,后者反过来与一组低级特征相关,但在一个典型的图像识别深度网络中,没有一个由车轮、底盘、窗户组成的完整的校车典型。几乎所有欺骗神经网络的文献都利用了这一点。
我所讨论的结构上的层次不同于这种特征的层次,它关心的是让系统可以从整体明确推断出有哪些部件。经典的例子是Chomsky讲的层次结构:一个句子由日益复杂的语法单位构成。我不认为深度学习能处理好这些问题,尽管它们做过尝试。
即使在视觉上,这个问题也没有完全解决。例如,Hinton最近的“capsule”(Sabour, Frosst, & Hinton, 2017)就是一个尝试,通过使用更结构化的网络,来构建更强大的由部分到整体的图像识别。我认为这是一个很好的趋势,也是解决欺骗问题的一种可能方式,但也反映了标准深度学习方法面临的问题。
5. “在通用人工智能的背景下讨论深度学习很奇怪,通用人工智能并不是深度学习的目标!”
推特上的最佳反驳,来自魁北克大学的教授Daniel Lemire:“噢!得了吧!Hinton,Bengio……都在公开的寻找人类智慧的模型。”
第二个最佳反驳,来自就职于谷歌的数学博士Jeremy Kun。他不同意“通用人工智能不是深度学习的目标”的说法,理由是“如果这是真的,深度学习专家肯定就不出来纠错了”。
我曾引用《哈佛商业评论》中吴恩达的文章,暗示了深度学习将很快做到人类能做到的事情。Thomas Dietterich的推特也说过“深度学习似乎没有边界”。Kaggle前主席Jeremy Howard担心这种深度学习被过度吹捧的想法本身就被夸大了,并表示所有曾被认为是障碍的事情,都已经被克服了。
在DeepMind关于AlphaGo的一篇论文中提到的观点也有些类似:
我们的研究结果已完全证明,即使在最具挑战性的领域,单纯用(深度)强化学习的方法也完全可行。
在这篇论文的结尾讨论中,我之前提出的深度学习的十大挑战一个都没被提到。
我们之所以一直对人工智能系统进行基准测试,主要是因为我们的目标是通用人工智能。
6. Marcus所说的是监督学习,而不是深度学习的问题。
Yann LeCun在我Facebook页面的评论区中说:
我没有时间去做适当的回应,但简而言之:1)我认为这大部分是错的,但如果将论文中所有的表述从“深度学习”改为“监督学习”,那么错得不是那么厉害;2)在过去两年半中,我一直在提倡的是,探索各种方法,从无监督的学习和推理方向去拓展深度学习的概念。这不是我的一时兴起,实际上我一直在这样做。你也清楚这点,但这没有体现在你的论文中。
我被指控没有注意到LeCun近期的工作,这很奇怪。确实,我没有找到一篇很好的、可以引用的总结性文章(LeCun也在电子邮件中告诉我,现在还没有这样的总结文章),但我明确提到了他的兴趣:
深度学习先驱Geoff Hinton和Yann LeCun最近都指出,在突破受监督、需要大量数据的深度学习版本方面,无监督学习是个关键方法。
我还指出:
显然,深度学习和无监督学习在逻辑上并不是对立的。深度学习主要用于带标签数据的有监督环境,但我们也可以通过其他途径,以无监督的方式来利用深度学习。
我的结论也是积极的。虽然我对目前建立无监督系统持保留态度,但我最终得出了乐观的结论:
如果我们能建立(无监督)系统,让系统自主设立目标,在更抽象的层面进行推理,解决问题,那么或许很快就能取得重大进展。
LeCun观点的正确之处在于,我提到的许多问题都是监督学习的普遍问题,而不是针对深度学习的问题,我本可以更清楚地说明这点。许多其他监督学习技术也面临着类似挑战,例如对大型数据集泛化和依赖。我提到的深度学习独有的问题确实相对较少。在我关于深度学习的评论中,确实忽略了这点。
然而,就算他监督学习技术的情况也是如此,也对深度学习的前景没什么帮助。如果有人能设计出一种强大的系统,以无监督方式去利用深度学习技术,那么我们可能需要重新评价深度学习。
然而我并不认为,无监督学习,至少是在当前情况下,能解决我提出的挑战,例如关于推理、层级表示、迁移、健壮性和可解释性等方面的挑战。这只是遥远的设想。
正如波特兰州立大学圣达菲研究所教授Melanie Mitchell所说的:
@ylecun说,Marcus的文章是“完全错误”的,但如果局限至“受监督学习”,那么“错得不那么严重”。我很想看看,目前有哪些无监督学习项目的案例能证明Marcus的说法是错误的。
我也很想看看。
与此同时我认为,目前还没有原则性的理由,去相信无监督学习能解决我提出的问题,除非首先加入更抽象的、象征性的表达。
7. 深度学习不仅是(像Marcus所说的)只有卷积网络,这“本质上是一种新的编程风格”:可微分编程。这个领域的研究者正尝试以这种风格找出可重用的架构。我们已经获得了一些:卷积、pooling、LSTM、GAN、VAE、存储单元、路由单元等。—— Tom Dietterich
从Dietterich的一系列Twitter消息来看,这是一种批评,但我对此感到困扰,因为我实际上是可微编程的支持者,并且一直也在这么说。或许重点在于,深度学习可以更宽泛地去理解。
在任何情况下,我都不会把深度学习和可微编程(例如我引用的一些方法,包括神经图灵机和神经编程)等同起来。深度学习是许多可微系统的组成部分,但这样的系统也基于从符号处理中提取的元素,包括内存单元和变量操作,以及类似路由单元的其他系统。
实际上,我一直在呼吁这方面的整合,并且在最近两篇文章中强调了这些。如果把所有这些东西整合至深度学习能给我们带来AGI,那么我的结论将被证明是正确的:
从某种程度上来说,大脑可以被看作包含“广泛的可复用基元阵列——,这些基本单元可以处理类似微处理器中基本指令集的东西。这些阵列并行地整合到一起,就像FPGA这种可重配的集成电路”。正如我在其他论文中所说,为我们的计算系统构建更丰富的指令集将是件好事。
8. 现在vs未来。或许深度学习现在行不通,但其后续技术可能让我们实现AGI。
或许是这样。我确实认为,如果首先加入一些关键的东西(很多还没有被发现),那么深度学习可能会在我们实现AGI的过程中发挥重要作用。
然而,关键的是我们能添加什么,以及将某些未来的系统称作深度学习的实例是否合理。或者,一种更明智的方法是将“终极系统”称作“使用了深度学习方法的某种东西”。这取决于深度学习是否适合最终解决方案。例如,或许在真正的自然语言理解系统中,符号处理的重要性可能会等同于、甚至超过深度学习。
毫无疑问,这个问题部分取决于如何运用术语。一个朋友最近问我,为什么我们不能把所有包含深度学习技术的东西统称为深度学习,即使这其中涉及到符号处理?对深度学习的一些增强应当发挥作用。而我对此的回答是:为什么我们不能把所有包含符号处理的东西统称为符号处理,即使这其中涉及到深度学习?
基于梯度的优化应该得到认可,但符号处理也是如此,因为这是用于系统性表达,实现更高层次抽象的唯一已知工具,是全世界几乎所有复杂计算系统,无论是电子表格、编程环境,还是操作系统的基础。
我推测,最终,这两种技术将不可避免地联姻,从而将20世纪人工智能最伟大的两种思想,即符号处理和神经网络结合在一起。这两种思想都诞生于20世纪50年代。其他尚未发明出来的新工具可能也是关键。
对于深度学习的真正追随者来说,任何东西都是深度学习,不管其包含什么,与当前技术有多大不同。如果你将经典符号微处理器中的每个晶体管替换为一个神经元,同时保持芯片的逻辑完全不变,那么深度学习的追随者仍然会宣称胜利。然而,如果只是将这些东西堆积在一起,我们并不理解驱动最终成功的原理。
9. 不存在可推断的机器。指望一个神经网络从偶数泛化到奇数是不公平的。
找规律——
f(110)=011
f(100)=001
f(010)=010
那么,f(111)=?
正常人类不难推断出,函数不就是把括号里的数字反过来了么,结果明显是111。但对神经网络来说,理解这些抽象概念真是太难了,连简单的“奇数和偶数”的概念都可能是个挑战,因为神经网络没有整数的先验概念。
神经网络难以理解抽象概念背后,有三个本质问题。
首先,神经网络不能推断人类无法推断的东西。判断奇数和偶数这种问题对神经网络很不公平,因为我们并没有给出训练规则。
因为人类的注意力在更高的规则上,能用“外推法”找出抽象概念之间的关系。这是种在训练样本外,对一对一映射进行泛化的能力。如果想让机器的理解超过人类,那这明显是场不公平的较量,因为人类显然是在依靠先验知识,而机器没有。
正确的先验知识帮助神经网络获得和表示普遍量化的一对一映射,而一般的神经网络基本无法表示这样的映射。重点是,一些特定类型的神经网络可能没有好方法将正确的先验知识整合起来。
其次,如果我们想得到AGI,就应该让系统学会上述的一般化概括。
第三,也不能找借口说目前还没有系统能够做我说的这种推断,随手可用的微软Excel中的快速填充函数就能推断数值。背后并不是机器学习在支持这种推理,但它能在很窄的环境中进行推断。
由此推断,只有建立在变量之上的“混合运算”才能完成这种抽象推理任务,这与大多数人看好的卷积神经网络有很大不同。
用一种不同的方式反思目前大多数机器学习系统,它们只是不打算“跳出框框”思考。这对某些目的来说是可以的,但对其他目的却不行。如果想实现通用人工智能,机器的推断必须跳出这些框框,达到人类思考的宽度。
10. 这个领域所有人都知道这些,没什么新鲜的。
当然不是所有人。就像我之前说过的,很多评论者认为我们还不了解深度学习的局限性,还有一些人认为局限性可能存在,但还没被发现。
也就是说,我从来没说过我的观点是全新的,我也引用了一些其他学者的工作,他们都独立地得出了相似的结论。
11. 马库斯没引用X。
绝对正确。我所做的文献综述不够完整。
在没能引用的论文中,Shanahan的深度符号强化学习(Garnelo, Arulkumaran, & Shanahan, 2016)是我的最爱之一,忘了提Richardson and Domingos’ (2006)的马尔科夫逻辑网络也是简直难以置信,同样,我也希望自己当时引用了DeepMind一篇非常优秀的论文Evans and Edward Grefenstette (2017),以及Smolensky的张量微积分工作和Noah Goodman的概率编程。这些工作,都想拉近规则和网络的距离。
还有Jordan Pollack、Forbus和Gentner、Hofstadter和Mitchell等人关于模拟的工作等等。我相信还有更多的文献可以引用。
总的来说,我想选择有代表性的文献,不求全面,但的确做得还不够好。
12. 马库斯没资格在这个领域说三道四,他不是实践者,只是个评论家而已。
我很犹豫要不要谈这个问题,但是各种回复里都提到了这一点,甚至很多知名人士也在说。正如Ram Shankar所说,作为一个社区,我们的批评必须限制在基于科学和价值的讨论上。虽然我坚信自己的资历足以做出这些评论,但我还是想说,资格不重要,论证的有效性才重要。
我的论点要么是对的,要么是错的。
13. 回复:需要层级结构的话,Socher的tree-RNN怎么样?
我给他写了邮件,想更好地了解这项研究的现状。我私下里也在推动其他几支团队做类似于Lake and Baroni (2017)的尝试。
Pengfei et al (2017)在这方面也有一些有趣的讨论。
要详细了解tree-RNN,见斯坦福CS224n第14课,地址:https://www.youtube.com/watch?v=RfwgqPkWZ1w
14. 你还可以对深度学习更挑剔一些。
其实,没人确切地这么说,但是有些人私底下跟我说了一些类似的话。
比如说我的一个同事指出,我们对未来的预测可能存在严重的错误:
我们就像站在辽阔的平原上,看见了很多低垂的果实,但一旦果实消失,深度推理的进展(就会放慢)。另外,现在识别猫的准确率才95%,我不清楚人们为什么就该认为我们会遇到AGI、伦理、道德等等难题,这些难题要在更复杂的空间中才能存在。
他还说:
(研究人员)在某些领域去的胜利的速度太快了。比如说图像处理,我们发现了一类更适合计算机去做的图像处理问题,但这些算法可能被对抗攻击搞晕,而且当它们出错的时候,常常错得离谱。
与之相反的是,我在街上开车,可能会把树当成路灯,但不会像这些深度学习应用一样犯这么离谱的错误,因为我对意义和语境有深刻的理解。确实,人们熟知这些局限,但同时,那些ImageNet结果也让人产生了这样一个基本观点:计算机比人类更擅长识别图像。
我还有一个同事,机器学习研究员Pedro Domingos说,现在的深度学习方法还有一些我没有提到的缺点。就和其他灵活的监督学习方法一样,深度学习系统也是不稳定的,训练数据中的细微变化就会导致结果模型中的巨大差异。
就算少量数据就够用,它们也需要更多的数据。数据扩充(data augmentation)很昂贵,而且从人类的角度来看并不是必须的。
它们可能很脆弱。对数据的一点小改动——比如翻转数字数据集中的黑白颜色,就能引发灾难性的失败。
它们的准确率通常比我们所推断的要低。比如说Ribeiro,Singh和Guestrin (2016)发现,算法能精确区分ImageNet中的狼和狗,其实靠的是狼图像中的白雪。
在机器学习的历史中,到目前为止,每一种范式都在风靡十年左右之后丧失了突出优势。比如80年代的神经网络、90年代的贝叶斯学习和2000年代的Kernel方法。
正如Domingos所说,我们无法确保这种大起大落不会重演。从1957年Rosenblatt第一次提出感知器Perceptron以来,神经网络的地位几经起落,我们不应该把周期性的热情混同于智能的完整解决方案,在我看来,后者还需要几十年的努力才能实现。
如果我们想要实现AGI,就需要在感受成功的同时,敏锐察觉到我们所面临的挑战。
领取专属 10元无门槛券
私享最新 技术干货