对于计算机科学家 Leslie Valiant 来说,“机器学习” 这个词是累赘的。在他看来,姗姗学步的小孩笨手笨脚地玩橡皮球是学习,深度学习网络对猫的图片分类也是学习,把后面的系统叫做 “机器” 只是人为制造出来的区别。
哈佛大学的计算机科学家 Valiant 很难算是唯一一位认为人脑和计算机的能力基本相同的科学家。但他是最早正式提出这两者可能关系的人之一:1984年,他的 “大概近似正确(Probably Approximately Correct,PAC)” 模型在数学上定义了可被称为能 “学习” 信息的机械式组织的条件。因为这个模型促进了计算学习理论的发展,Valiant 获得了计算机界的诺贝尔奖—图灵奖。
Valiant 的概念突破并没有止步于此。在他 2013年 出版的新书《Probably Approximately Correct》中,Valiant 把生物进化也纳入到他的 PAC 学习框架里面。
他把某个算法概念拓展成了 “ecorithm(生态法则)”,这是一种学习算法,其特别之处在于它可以 “运行” 在任何能与物理环境进行交互的系统上。按说算法应该是运用到计算机上的,但 ecorithm 却可以应用到生物组织或者整个物种上。这一概念给个体学习方法与整个生态体系的进化在计算上划上了等号。无论是哪一种情况,ecorithm 都用机械论的方法描述了适应性的行为。
Valiant 自己的目标是寻找 “学习与进化的数学定义,这种定义应该能够涉及信息进入系统的所有方法。” 如果成功,Valiant 半带玩笑的口吻说,那它就是 “万有理论(theory of everything)” 了。但他的研究意义显然非常重大—这相当于把生命科学与计算机科学的界限给模糊了。此外,我们对 “学习” 和 “智能” 的直观定义也将扩展到非生物体和非个体上。“群体智慧” 将不再只是修辞手法而已。
针对 Valiant 化解生物学与计算之别以及进化与学习之别的努力,Quanta 杂志对这位计算大师进行了采访。下面是采访摘录的编译。
你是如何想出 “大概近似正确” 学习这个主意的?
LESLIE VALIANT:我属于理论计算机科学派,尤其是计算复杂性理论,不过我对人工智能也挺感兴趣。我的第一个问题是:人工智能的哪个方面能够变成定量理论?很快我就确定这一定是学习。
我当时开始做的时候(1980年 代),大家已经开始研究机器学习了,但大家对 “学习” 是个什么东西还没有达成一致。实际上,理论计算机科学界对学习这个东西完全是质疑的,认为它永远都没有机会被当作科学看待。
但另一方面,学习是一种可充分复制的现象—就像苹果总会掉到地上一样。每一天,全世界的儿童都会学习成千上万个新词。这是一种大规模的现象,必须有量化的解释。
所以我认为学习应该要有某种形式的理论支撑。既然统计推断已经存在了,我的下一个问题是:为什么统计不足以解释人工智能?所以我的研究起点是:学习必须是某种可统计的东西,但同时还应该是可计算的。我需要某种理论能把计算和统计结合起来,对这一现象做出解释。
那么学习是什么?它跟计算(computing 或 calculating)有何不同?
学习是计算(calculating)的一类,但它的目标是在一个没有提前精确建模好的世界里表现良好。学习算法会对世界进行观察,然后利用该信息来确定做什么并对自己的决定进行评估。我在书中提到的一个观点是,个体所掌握的所有知识要么是通过学习获得的,要么是通过进化过程获得的,只能有这两种可能。如果是这样的话,那么个体学习和进化过程应该有一套统一的理论来解释它们。
因此你最终得出了 “ecorithm(生态算法)” 的概念。Ecorithm 是什么?它跟算法(algorithm)又有什么不同?
Ecorithm 也是算法,但它的执行要利用输入来进行评估,而这种输入是在一个相当不受控和不可预测的世界里获得的。而且它的目标是在同样复杂的世界里执行得好。你可以把算法看作是在计算机里面运行的某个东西,但它在生物有机体身上也很容易执行。不过无论是哪一种情况,ecorithm 都是存活于外部世界里,并且要跟那个世界发生交互的。
这么说 ecorithm 是要消除我们过去对 “机器学习” 的那种错误直觉啰?那种认同 “机器学习” 与 “非机器学习” 有着根本不同的观点是错误的?
是的,当然。从科学上来说,如果我们的大脑进行计算,然后如果我们能够识别出产生那些计算的算法的话,我们就能在机器上面模仿它们,而 “人工智能” 和 “智能” 就变成一样了。这个观点早在半个世纪以前就提出来了。但是实践的难度在于确定人类大脑运转的这些计算究竟是什么。机器学习证明是绕开这种困难的有效方式。
对于机器来说,那些我们在进化过程或者从小趴在地上接触和感受环境时掌握的行为所涉及的算法,是其中最大的挑战之一。我们用这些方法所所得的知识是没办法书写出来的。比方说,如果我把一个装满热咖啡的纸杯给挤扁了,我们都知道会发生什么,但是这种信息在互联网上很难找到。但如果互联网上有这种信息的话,那让机器学习这一信息就容易多了。
对那些行为我们早已熟知的系统(比如太阳能系统或者晶体)的算法仿真是不是也可以称为 “学习”?
我不会把那些系统看作是学习。我认为学习者需要有某种最低限度的计算性活动才行,如果发生了任何学习行为,这种行为必须能够使得该系统更有效才行。直到 10、20年 前,机器学习才开始成为某种计算机可以执行的给人留下深刻印象的东西。除了生物系统以外,在这个宇宙中目前尚未有迹象表明其他东西具备学习能力。
学习理论如何能够应用到生物进化这样的现象上?
生物学是以蛋白质表达网络为基础的,随着进化的进行,这些网络也得到了改良。PAC 学习模型给那些网络施加了一些逻辑限制,限制了这些网络在经历达尔文进化时会发生什么事情,从而导致那些改良的产生。如果我们从生物身上收集更多的观察,然后在这个 PAC 式的学习框架里面进行分析的话,我们就应该能够找出生物进化成功的方式和原因,而这可以让我们对进化的理解更加具体并且更具预测性。
我们的进展如何?
在生物行为方面我们还没有解决所面临的每一个问题,因为我们还没有找到那些特别的、生物用来产生这些现象的 ecorithm(生态算法)。所以我认为目前这一框架设定的问题是合适的,只是我们还不知道答案。我认为通过生物学家和计算机科学家之间的通力合作,这些答案是可以获得的。我们已经知道要找什么了。我们要找的是遵循生物学能够且的确支持的达尔文约束的学习算法。这种算法将可以解释迄今为止这个星球上所发生的导致进化发生的所有事情。
假设明天我们就发现了那个特别的支撑生物进化和学习的生态算法(ecorithm)。如果我们掌握了这种精确的知识后,我们能够理解哪些过去无法理解的事情呢?我们有能够做哪些过去无法做的事情呢?
嗯,首先我们能够理解我们是从哪儿来的。但另一种外推会把更多的心理学内容带进计算可理解的领域。所以对人性具备更多的理解会是另一个成果,如果这一程序能够成果执行下去的话。
你的意思是说计算机可以可靠地预测人会做什么事情?
这属于非常极端的场景。预测你下一个小时究竟要做什么我需要哪些数据呢?根据物理科学我们知道人是由原子构成的,我们也了解了大量的原子属性,从某种理论意义上来说,我们能够预测一组原子能够做什么。但这种观点在解释人类行为方面走不了多远,因为人类行为是太多原子极端复杂的一种表现。我是说,如果有人能够对大脑的运行机制做出高级的计算解释,那么我们离对人类行为做出解释(这种解释应该能够与我们对其他物理系统的机械化理解相匹敌)这一目标就会更近一点了。原子的行为与人类的行为相去甚远,但如果我们能够理解大脑使用的学习算法,那么这种算法就能提供与人类行为相近得多的机械论概念。而它们给出的你要做什么、为什么要做的解释就能变得更加可信和可预测。
如果支配着进化和学习的生态算法是不可学习的怎么办?
这个问题的逻辑可能性是存在的,但我并不认为这种情况会出现。相反,我觉得这种算法应该是相当具体的,并且理解起来也应该相当容易。对于数学上的不解之谜我们一样可以提出同样的问题。你相信这些问题有解吗?这些解是大家可以理解的吗?还是说会超出人类的理解范畴?对这个领域我非常有信心—否则我就不会去追寻答案了。我认为自然使用的算法是有形的、可理解的,是不需要我们不具备的直觉才能理解的。
许多杰出的科学家对有可能出现我们不能控制的人工 “超智” 表达了自己的担忧。如果你的生态算法理论是正确的,并且智能的确通过学习算法与环境的交互而出现的话,这是否意味着我们应该像对 AI 系统本身的编程一样对部署 AI 的环境保持警惕?
如果你设计的智能系统是从环境学习的话,那就不知道了—在一些环境下系统表现出的行为可能是你根本就无法预见的,而这种行为可能是有害的。所以就这一点来说你是对的。但一般而言我对超智可能会导致人类历史灭绝的说法不是太担心。我认为智能是由具体的、机械化的、并且最终是可理解的进程构成的。我们会理解我们放进机器中的智能,就像我们对爆炸物的物理机制的理解一样—也就是说,理解到足以让它们的行为可预测,通常不会导致非故意破坏的产生。所以我不是很担心,我觉得人工智能跟其他现有的强大技术没什么两样。它跟其他技术一样也是有科学依据的。