聊这个话题之前,我们先聊了一下,AI 为什么会「自学习」。
早期,虽然一个普通的袖珍计算器就可以在算数比赛中完胜人类,但无论它如何练习,它也永远无法在速度或精确度上颠覆自我,因为它不会学习。每次按下它的开方键,它只会用完全相同的方式计算同一个函数。
同样地,过去第一个战胜人类的象棋程序也永远无法从自己的错误中学习,它只能执行那个聪明的程序员设计的最佳走法来计算函数。
相反,当5岁的马格努斯·卡尔森(Magnus Carlsen)第一次输掉象棋比赛时,他开始了一段长达8年的学习过程,最终让他登上了世界象棋冠军的宝座。
这是最初算法和人类的差别,是否会自学习。
后来人工神经网络得到了前所未有的发展。首先,神经网络拥有强大的计算能力,而这种计算能力与它们底层的构造物质毫无关系。实际上,1989年,乔治·西本科(GeorgeCybenko)、科特·霍尼克(Kurt Hornik)、马克斯韦尔·斯廷奇库姆(MaxwellStinchcombe)和哈尔伯特·怀特(Halbert White)证明了一件了不起的事:这种简单的、由模拟神经元组成的神经网络是“通用”的,因为它们能精确地计算出任何一个函数,只需要相应地调整代表突触强度的数字即可。换句话说,我们大脑中生物形态的神经元之所以能进化出如此复杂的结构,并不是因为这是必要的,而是因为它的效率更高,还因为进化与人类设计师不一样,进化不会奖赏那些简单易懂的设计。
神经网络是有效的,且深度学习型神经网络比那些较浅的神经网络更加有效。举个例子,麻省理工学院的学生戴维·罗尔尼克(David Rolnick)证明,如果神经网络只有一层,那么计算 n 个数字的乘法就需要 2 个神经元;但是,如果神经网络的层数很多,那么只需要 4 个神经元就足够。这不仅解释了为什么神经网络在人工智能研究者中十分受欢迎,还解释了我们的大脑中为什么也进化出了神经网络:如果大脑的进化是为了预测未来,那么,我们进化出的计算结构正好擅长计算那些在物理世界中十分重要的问题,也就不足为奇了。
现在,让我们回到它们是如何学习的”这个问题上。具体而言,神经网络是如何通过更新自己的突触来提升计算能力的呢?
1949年,加拿大心理学家唐纳德·赫布(Donald Hebb)写了一本影响深远的书。在书中,他提出了著名的赫布定律:如果两个邻近的神经元被同时激活(放电),它们之间的突触连接就会被强化,这样,它们就学会了触发彼此。这个思想可以被总结为一句流行语“一起放电,一起连接”(fire together, wire together)。虽然我们还不了解大脑学习的具体细节。
如今,人工神经网络能使人工智能系统用一些更加复杂、精巧的学习规则来替代赫布学习规则,比如反向传播算法(backpropagation)和 随机梯度下降算法(stochastic gradient descent)。不过,它们的基本思想是相同的,那就是:存在一些与物理定律十分类似的简单的决定性规则,通过这些规则,突触可以随着时间的变化不断更新。只要用大量数据进行训练,神经网络就可以用这个简单的规则学习到许多惊人而复杂的计算过程,就像魔法一般。我们还不知道人脑运用的是什么样的学习规则,但是,无论答案是什么,都没有任何迹象表明,它们会违反物理定律。
大多数电子计算机会将任务分解成多个步骤,并重复使用相同的计算模块来提高效率,许多人工神经网络和生物形态的神经网络也同样如此。在大脑中,有部分神经网络是计算机科学家所谓的递归神经网络(recurrent neural network),而不是前馈神经网络。在递归神经网络中,信息可以流向各个方向,而不像前馈神经网络一样只局限在一个方向,因此,前一步的输出是可以作为下一步的输入的。从这个意义上来说,笔记本电脑微处理器中的逻辑门电路也是递归的:它始终在使用过去的信息,并让来自键盘、触控板、摄像头等的输入信息影响它正在进行的计算过程,而这个计算过程又决定了传输到显示屏、扬声器、打印机和无线网络的输出信息。同样地,你脑中的神经网络也是递归的,来自你眼睛和耳朵等的输入信息影响它正在进行的计算过程,而这个计算过程又决定了输出到你肌肉的信息。
学习的历史至少与生命的历史一样漫长,因为所有自我复制的生物都展现出了两种能力,即通过某种学习获得的信息复制能力和信息处理能力。这十分有趣。然而,在生命1.0 时代,生物并不是从个体一生的经验中学习的,因为它们处理信息和做出反应的规则是由天生的 DNA 决定的,所以,唯一的学习过程只会发生在物种层面上,通过达尔文的进化论,代代相传。
大约10亿年前,地球上的一个基因系(geneline)发现了一种方法能让动物产生神经网络,让它们能从自己一生的经验中学习。于是,生命 2.0 降临了。由于生命2.0学习的速度加快了许多,在竞争中占有优势,所以便像野火一样席卷全球。
我们都知道,计算机的存储能力和计算能力的爆炸式发展推动了人工智能的大踏步前进。但是,机器学习花了很长时间才逐渐变得成熟。当 IBM 的深蓝计算机在 1997 年战胜国际象棋冠军加里·卡斯帕罗夫时,它最大的优势是记忆能力和计算能力,而不是学习能力。它的计算智能是由人类创造出来的,而深蓝计算机之所以能战胜创造它的人类,是因为它的计算速度更快,因此在同一时间内能够分析更多的走棋招数。当IBM的沃森计算机在益智电视节目《益智问答》(Jeopardy)上抢过人类头上的桂冠时,它依靠的也并不是学习能力,而是为其专门编程的技巧、超人类的存储能力和速度。机器人学早期的大多数突破,从步行机器人到无人驾驶汽车和自动着陆火箭,也都同样如此。
相比之下,近期,人工智能方面的许多突破的推动力都是机器学习。比如下图。你很容易就能说出这张照片描绘的是什么场景,但是,想要写一个程序,让它仅凭图像的像素色彩信息就输出“一些年轻人在玩飞盘游戏”这样精确的描述,却让全世界的人工智能研究者头疼了几十年。
然而,2014年,谷歌公司带领团队完成了这项任务。当他们给所写的程序输入一张图片的像素色彩信息后,它说“一群人在玩飞盘”。这个团队是如何做到的呢?是不是像深蓝计算机那样,依靠手工编写的算法来检测飞盘、人脸等物体?不是的。这个团队创造了一个比较简单的神经网络,它没有关于物理世界的任何知识。然后,他们将这个神经网络暴露在海量的数据之下,让它学习。人工智能预言家杰夫·霍金斯(Jeff Hawkins)在2004年写道:“没有一台计算机能够达到老鼠的视觉水平。”这句话已经远远过时了。