人工智能(AI)领域的每一个进步,都有赖于30年前的一个突破。要保持AI进步的节奏,就需要突破这个领域的一些重大局限。
AI领域的爱因斯坦
矢量研究所(Vector Institute)位于加拿大多伦多的市中心,将于今年秋天开业,它旨在成为全球AI中心舞台。美国和加拿大公司(比如谷歌(微博)、Uber和Nvidia)将在这个研究所赞助商业化AI技术的努力。
资金的涌入比该中心的联合创始人乔丹o雅各布斯(Jordan Jacobs)设想的更快。该中心另外两位联合创始人对多伦多地区的公司进行了调查,发现该地区对AI专家的需求,是加拿大每年培养的专家人数的10倍。全球正在兴起一股深度学习的热潮,而这个研究所希望站在这股潮流中心——聚焦于这种技术,传授它,改进它,并且应用它。数据中心正在建设中,初创公司纷至沓来,学生们正在入场。
而“深度学习之父”乔弗里o辛顿(Geoffrey Hinton)也住在多伦多。雅各布斯说:“再过30年,我们回头来看,就会说辛顿是AI和深度学习领域的爱因斯坦。”
辛顿的弟子们在苹果、Facebook和OpenAI主管AI实验室,辛顿自己是谷歌大脑(Google Brain) AI团队的首席科学家。事实上,AI的最近十年来的几乎每一个成就——翻译、语音识别、图像识别和游戏玩法都和辛顿奠定的基础分不开。
深入学习的主要理念其实在30年前就已经提出。辛顿与同事戴维o罗姆哈特(David Rumelhart)、罗兰德o威廉姆斯(Ronald Williams)在1986年发表了一篇突破性的文章,详细阐述了一种称为 “反向传播”的技术。用普林斯顿大学的计算心理学家乔o科恩(Jon Cohen)的话来说,这种技术是“所有深度学习的基础”。
这篇1980年代中期的文章介绍了如何训练多层次神经网络。它为近十年来AI领域的发展进步奠定了基础。
深度学习就是反向传播
如今从某种角度上说,AI就是深度学习,而深度学习就是反向传播。你可能感到不可思议,一个技术怎么蛰伏了这么长时间,然后突然出现了爆发式的崛起。一个观点是:也许我们现在并不是处在一场革命的开始阶段,而是在进入它的尾声。
辛顿来自英国,曾在匹兹堡的卡内基梅隆大学工作,1980年代搬到了多伦多。他喜欢这座城市的氛围。
辛顿说,他最近在一个项目上取得了重大突破,“找到了一个非常好的初级工程师,跟我一起工作,”这个女工程师名叫萨拉o萨福,是伊朗人,她在美国申请工作签证被拒绝了。 谷歌在多伦多的办公室接受了她。
在1980年代,辛顿已经是神经网络专家。神经网络是一个大大简化的大脑神经元和突触网络模型。虽然最早的神经网络“感知器”(Perceptron)在1950年代就开始开发,也被誉为迈向人机智能的第一步,但是到了80年代,业界坚定地认为神经网络是AI研究的死胡同。
1969年,麻省理工学院的Marvin Minsky和Seymour Papert在一本名为《感知器》的书中,用数学证明了这样的网络只能执行最基本的功能。这种网络只有两层神经元,一个输入层和一个输出层。如果一个网络在输入和输出神经元之间有更多的层,那么它在理论上可以解决很多不同的问题,只是没有人知道如何训练它们,所以在实践中,这些神经网络是没用的。除了辛顿等寥寥几个人之外,《感知器》使得大多数人都完全放弃了神经网络。
1986年,辛顿取得突破,显示反向传播可以训练一个深层神经网络(超过两三层的神经网络)。但是又花了26年时间,计算能力才发展到了可以好好利用这个突破的程度。辛顿和他的两个学生的2012年发表论文,显示反向传播训练的深层神经网络在图像识别中击败了最先进的系统。 “深度学习”从此成为一股热潮。在外界看来,AI似乎是在一夜之间蓬勃发展起来的。但对于辛顿来说,这却是一个迟来的爆发。
神经网络的原理
神经网络通常被描述成一个多层三明治,层层叠叠。这些层里包含着人造神经元,指的是微小的计算单位,它可以受到激发 (就像真正的神经元会被激发那样),然后将兴奋度传递给它所连接的其他神经元。神经元的兴奋度由数字来代表,比如0.13或32.39。另外,在每两个神经元之间的连接上,还有一个关键数字,决定了多少兴奋度可以从一个神经元传递到另一个。这个数字是在模拟大脑神经元之间突触的给力程度。当这个数字比较高时,就意味着两个神经元之间的连接更强,可以把更多的兴奋度传递给对方。
深层神经网络最成功的应用之一就是在图像识别中,该团队开发了一个程序,可以判断图片中是否有热狗。在十年前,这样的程序是不可能实现的。开发这种程序的第一步是找到一张照片。为了简单起见,你可以使用一张黑白图像,100像素宽,100像素高。你把这张图像输入到神经网络——也就是给输入层中每个模拟神经元设置兴奋度,使之和每个像素的亮度吻合。这个多层三明治的底层就是10000个神经元(100x100),代表图像中每个像素的亮度。
然后,你将这一层神经元连接到上面的另一层神经元层(有几千个神经元),再继续连一层神经元层(也有几千个神经元),如此这般。最后,在这个三明治的最上层是输出层,它只有两个神经元 , 一个代表“有热狗”,另一个代表“没有热狗”。其理念就是让神经网络学会只有当图片里有热狗的时候,才会激发“有热狗”的神经元,只有在图片里没有热狗的时候,才会激发“没有热狗”的神经元。反向传播就是做到这一点的方法。
如何使用反向传播技术
反向传播本身非常简单,尽管它在有大量数据可用的情况下效果最好。这就是为什么大数据在AI中如此重要的原因——以及为什么Facebook和谷歌如此渴望数据的原因。
在训练神经网络的时候,你需要使用数以百万计的图片,一些有热狗,一些没有。而诀窍就是那些有热狗的图片被标记为有热狗。在一个初始神经网络中,神经元之间的连接权重(表示每个连接传递的兴奋度的多少)可能是随机数,就好像是大脑的突触还没有调整好。 反向传播的目标是改变这些权重,让神经网络可以获得很好的效果:当你将热狗的图片输入到最低层时,最顶层的“有热狗”神经元最终会变得兴奋起来。
假设你选取的第一幅训练图片里是一架钢琴。你将这个100x100图像中的像素强度转换为10000个数字,正好分给网络底层中的10000个神经元。然后兴奋度根据相邻神经元层之间的连接权重在这个网络上过滤,到达最后一层判断图片中是否有热狗的两个神经元。由于图片是钢琴,在理想情况下,“有热狗”神经元应该得出一个0,而“没有热狗”神经元应该得出很高的数字。但是我们假设这个神经网络效果不好,对这张照片得出了错误结论。这时你就使用反向传播技术,来重新调整网络中每个连接的权重,以便修正错误。
它的工作原理是从最后两个神经元开始,弄清楚它们错得多厉害:兴奋度的数字应该是多少,实际上是多少,差别有多大?当这样做的时候,你要检查到达这些神经元(以及下一层的那些神经元)的每个连接是什么,并弄清楚它们对错误的贡献有多大。你一直这样分析直到第一层,也就是网络的最底层。这时候,你就知道每个单独的连接对整个错误的贡献是多少了,最后,你可以按照在最大程度上减少整体错误的大方向来修改每个权重。这个技术被称为“反向传播”,因为你是从输出开始,反方向对错误进行分析的。
神经网络的神奇和愚蠢
奇妙的是,当你有成百上千万,甚至数以十亿计的图像,再按照这个方式操作的时候,神经网络就会变得非常擅长于识别图像中是否有热狗。更奇妙的是,图像识别网络中的各个层开始能够用和人类视觉系统相同的方式来“查看”图像。也就是说,第一层可能会检测边缘——当有边缘时,它的神经元就被激发,当没有边缘时,则不会激发;上面一层可能会检测到一组边缘,比如检测出一个角;然后再上面的层就可能开始看到形状;再上面的层可能会开始识别出“开了口的面包”或“没开口的面包”这样的东西。换句话说,程序员不需要主动地这么编程,这个神经网络就会自己形成一个等级化的层次。
需要记得的是:尽管这些“深度学习”系统有时候看起来很聪明,但它们仍然很愚蠢。如果有一张图片显示一堆甜甜圈放在桌子上,而程序可以自动地将其标示为“堆在桌子上的一堆甜甜圈”的时候,你可能觉得这个程序很聪明。但是当同一个程序看到一个女孩刷牙的照片,会将其标识为“男孩拿着棒球棒”,这时你就会发现,它对世界缺乏理解。
神经网络只是无意识的模糊模式识别器,你可以将它们集成到几乎所有类型的软件中。但是 它们蕴含的智能很有限,而且容易被欺骗。如果你更改单个像素,一个识别图像的深层神经网络可能就会完全傻掉。我们在发现深度学习的更多运用方法的同时,也在频繁发现它的局限性。自动驾驶的汽车可能无法应对以前从未见过的路况。机器也无法解析需要运用常识才能理解的句子。
从某种程度上说,深度学习模仿了人类大脑中发生的事情,但模仿的程度非常浅显 —— 这也许解释了为什么它的智力有时看起来很有限。事实上,反向传播并不是通过深入探索大脑,解读思想本身来解密思想的。它的基础实际上是条件反射实验中动物如何使用试错法的学习模式。它的很多巨大飞跃并没有纳入神经科学的一些新洞见,而是多年来在数学上和工程上积累的技术改进。我们对智能的了解,相对于我们尚不了解的部分来说,只是沧海一粟。
“物理学出现之前的工程学”
多伦多大学的助理教授戴维o杜文多(David Duvenaud)说,目前深度学习就像是“物理学出现之前的工程学”。 他是这么解释的:“有人写了一篇文章,说‘我造好了这座桥!’另一个人发了论文:‘我造了这座桥,它倒下了——然后我添加了支柱,它就立起来了。’于是柱子就成了大热门。有人想到了使用桥拱,‘桥拱很棒!’但是直到有了物理学之后,你才明白怎么造桥能不倒,为什么。”他说,直到最近,人工智能界才开始走入这个实际了解它的阶段。
辛顿认为,克服AI的局限性是建立“计算机科学与生物学之间的桥梁”。在这种观点下,反向传播是一种“生物启发的计算”的胜利。它的灵感不是来自工程学,而是心理学。现在,辛顿正探索一个新的方法。
现在的神经网络是由巨大的平面层组成的,但是在人类新皮层中,真正的神经元不仅仅是水平构成层次,而且也是垂直排列成柱状的。 辛顿认为,他知道这些柱状有什么用——比如即使我们的视角改变,也能识别出对象——所以他正在构建类似的“胶囊” ,来测试这个理论。到目前为止,胶囊还没有大大提高神经网络的表现。但是,他30年前提出的反向传播也是直到不久前才显示出惊人效果的。
“它不奏效可能只是暂时的。” 他在谈到胶囊理论时说。