Rahimi和Lecun的圣战:AI到底是不是炼金术?
来源:论智
NIPS 2017将Test of Time大奖授予了Ali Rahimi和Benjamen Recht在十年前的NIPS 2007上发表的论文Random Features for Large-Scale Kernel Machines。Ali Rahimi作为代表登台演讲。
但是,演讲进行到一半,画风突变:
Rahimi说:“今天的人工智能是炼金术!”
当然,Rahimi也承认炼金术有它的地位,因为炼金术有用。如果做个照片分享应用的话,炼金术完全O.K. 但是,今天人工智能已经用于医疗这样的关键系统上,这些性命攸关的重要系统使用的技术,其基础是炼金术,你心里慌不慌?
Rahimi举了坐飞机的例子,承认自己并不了解飞机的内部原理。但是Rahimi知道这个世界上有很多人,投入了大量的精力,去研究飞机背后的空气动力学原理,并在这样坚实的基础上制造飞机。Rahimi希望,关键系统所用的技术,包括人工智能,都能建立在严格、周密、可验证的技术上,而不是基于“炼金术”。
Rahimi问了现场的观众,是否有过这样的经历:从零开始构建、训练一个神经网络,结果发现它不起作用啊,于是就开始怀疑是不是自己那里搞错了。Rahimi坦承,自己每3个月就要经历一次这样的事情。
终于,Rahimi受不了,所以在演讲中大声说出:
这不是我的错,这都是梯度下降的错!
接着Rahimi就放出了这样一张图:
一个非常简单的神经网络,用1956年提出的SGD,损失函数降不下来。你会想是不是因为SGD太老掉牙了?换上2014年新提出的ADAM,结果还是降不下来。换上更古老的,1944年提出的Levenberg-Marquard。咦,损失函数降下来了!这也太违反直觉了吧?
当然,也许有人会说这个例子是生造出来的。或者说在更大的神经网络上结果不一样。但Rahimi认为,我们建立知识体系的方式,是先将工具运用到简单、易于分析的例子上,验证其效果后,在慢慢推广到问题。而现在的人工智能,完全不是这样的。我们一下子跳到复杂的问题,这跳跃的过程中发生了什么,这一跳何以成立,没人说得清楚。
接着Rahimi又拿最近收到的email作例子:
就因为TensorFlow内部的取值方式调整了一下,模型的错误率就从小于25%飙升到了99.97%。这还不是炼金术?
Rahimi说自己收件箱里躺着好几封类似的邮件。类似的bug报告网上也有很多:
所以,Rahimi呼吁大家一起努力,从简单的实验和简单的理论入手,让人工智能走出炼金时代。
Rahimi的言论可谓是一石激起千层浪。Facebook AI研究主管Yann Lecun就在Facebook上写了一篇针锋相对的长文。Lecun的文章很长,不过概括大意,就是把Rahimi的话反过来说了一遍。
Rahimi说,炼金术很有用,但是我们更应该关注原理。我们需要更多人手来探索背后的机制。Lecun说,理解我们使用的技术的原理很重要,但是更重要的继续打磨发展我们的技术,至于原理的研究,慢慢会赶上的,不必担心。
实际上,Lecun一直持这个观点,在2016年的Quora问答中,Lecun就说我们应该大胆地发展深度学习的技术,就像物理学家有的时候领先数学家一样。至于理论,Lecun认为不用杞人忧天,这个领域这么热,有这么多有天赋的聪明人,总有一天理论会追上来的。
论智君不负责任地概括一下,Lecun的意思就是说,Rahimi你别忽悠人去研究原理,现在正是大力发展技术的大好时期,你别乱说话拖后腿。
对于Lecun的回复,Rahimi作了回应,指出炼金术还有一个缺点,就是不利于经验的分享和传播。因为不清楚原理,即使在模型调优方面取得了成果,也无法把自己的方法和经验传授给别人。
论智君再次不负责任地概括下,Rahimi的意思就是说,你还好意思说我拖后腿,你这样搞炼金术一样发展技术,方法和经验都是不可传授的玄学,这难道就没有拖慢技术的发展吗?
好了,以上就是来自前线的论智君为大家带来的战况播报。
最后,放个福利,Ali Rahimi玉照一枚:
如果看照片不过瘾,可以在后台留言“alchemy”下载Ali Rahimi在NIPS 2017的演讲视频,感受下Ali Rahimi的风采。