返回上一页 文章阅读 登录

吕陈君:AI极简史:从通用计算机到通用学习机

更新时间:2019-10-24 19:51:33
作者: 吕陈君  

   其实,在图灵《计算机器与智能》这篇开创性的论文中,就注意到了这个问题,在结尾处还专门写了一章来讨论“学习机”,他指出学习机和数字计算机是有重大区别的:数字计算机的程序是固定的,运算过程也是确定的,而学习机是随机的,运算规则也可以改变。所以,当我们说“基于神经网络的机器学习不是纯粹的图灵机”时,希望大家千万不要大惊小怪,因为图灵自己早就预示过这种结果。

  

   我们再来说基于神经网络的机器学习,其灵魂人物是W.H.匹茨和G.欣顿两人,就像图灵和冯·诺依曼是计算机的灵魂人物一样。匹茨发明了神经网络,欣顿进一步完善了它,并在“AI寒冬”中坚持这个研究方向30多年,最终取得历史性的成功。

  

   匹茨是一位拉马努金式的天才。1943年,匹茨和W.S.麦卡洛克首次提出了“神经网络”的概念,这是一个优美的数学理论,他们采用了链式环状的卡尔纳普语言网络系统,来描述神经元各种联结方式,这是一项开创性的工作,具有非凡的想象力。当时麦卡洛克是芝加哥大学神经生理学教授,而匹茨只是一个在芝加哥大学旁听的流浪少年,还不到20岁,但他通过自学已精通了模数学。在匹茨-麦卡洛克模型的基础上,1957年,罗森布拉特提出了“感知机”模型,这是一个具备初级学习能力的单层神经网络,它可以根据信号汇总强度和阈值之间的误差,来重新调整各项加权,从而达到理想的输出效果。走出第一步看似简单,但这却是“开天辟地”的关键一步,在科学探索上,提出问题比解决问题更重要,开辟新方向比形成体系化更重要。

  

   但遗憾的是,这种单层神经网络,连最简单的XOR问题——即判定一个两位的二进位制数是否仅包含0或1——都不能解决,所以它基本上没有实际用途。直到1974年,欣顿提出多层神经网络模型后,才很好地解决了XOR问题。这一年,还是哈佛大学博士生的沃博斯首次提出了反向传播算法(即BP算法),1986年,欣顿又重新发现这一方法,并首先利用广义反向传播算法来训练多层神经网络,至此,基于多层神经网络的深度学习方法,终于登上了AI的历史舞台。但当时正值“AI寒冬”,这一方法也被“雪藏”了近30年。如果不是欣顿等少数人的坚持,深度学习早就被“冻死”了,哪里还会迎来春暖花开呢?

  

   有趣的是,欣顿是布尔代数创始人G.布尔的玄孙,布尔代数是计算机开关电路设计的数学基础,神经网络看来又成为了学习机开关电路设计的数学基础,欣顿艰难的理论坚持,或许就来源于灵魂深处对“布尔家族”的那份荣誉感。

  

   欣顿后来回忆说,1970年代,他刚提出分层神经网络的想法时,大家都不认可,“传统的思路无疑更受关注和信任”,导师对他也很不看好,这是最艰难的时候。“每周我和导师都会发生激烈争辩,我一直坚持自己的想法,对导师说,‘好吧,再给我六个月,我会证明给你看的’。然后六个月过去了,我会说‘快了快了,再给我半年时间吧’。之后,我索性说‘再给我五年吧’,人们都说,你已经做了五年,但它并不管用。”但欣顿始终坚持自己的思想,熬过了将近30年的漫漫寒冬,这一理论才获得举世公认。

  

   2005年是AI史上的关键一年,欣顿提出了深度学习神经网络的整体构架,这一成就堪比冯·诺依曼体系。随着互联网和大数据的兴起,深度学习也很快获得了富有成效的商业应用,像传统AI技术不能处理的机器翻译、图像识别和语音识别等难题,也取得了突破性的进展。因为,训练神经网络需要海量的数据,这个条件在前互联网时代是不存在的。

  

   现在,谷歌神经机器翻译(GNMT)已经接近人工翻译的水平,IBM 开发的超级计算机“沃森”也以绝对优势赢得了人机辩论赛。特别是,AlphaGo让深度学习一战成名,举世震惊,也让大家看到了神经网络技术的无限潜力。欣顿也被人们誉为“深度学习教父”,成为AI界的神级存在,他后来加入了谷歌公司,现在是谷歌副总裁,2017年他被彭博社评为改变全球商业格局的50人之一。深度学习已俨然成为当前AI研究的绝对主流,广泛应用到自动驾驶、物联网构架、医疗诊断、自然语言理解、科研数据分析、仿生机器人等多个商业领域,推动了全球性的AI热潮。很多人相信,21世纪将是AI时代。

  

   就像深度学习另一位先驱者Y.本希奥总结的:“在经历了人工智能的寒冬之后,深度学习神经网络的强势回归不仅仅代表着技术上的胜利,也给整个科学领域上了一课。回顾人工智能的历史,我们必须意识到,哪怕一些好的想法受到当时的技术状态限制而看似前景渺茫,我们也不应放弃。鼓励多样化的科研课题与方向,或许有一天就会让一时处于低谷的领域迎来复兴。”

  

   看上去很美,智能机器似乎即将美梦成真,但人们的怀疑却从未停止过。

  

04 深度学习的理论极限

  

   神经网络究竟是什么?它是计算机,还是学习机?深度学习的工作原理是什么?这些都还是未知之谜。

  

   AlphaGo的发明者戴密斯·哈萨比斯博士在乌镇接受记者采访时说过,他并不知道AlphaGo是如何决定下一步棋的。德州农工大学数学家、FAIR 的访问科学家 Boris Hanin 说得更直接:“最接近事实的情况是,我们对神经网络的实际运作方式几乎一无所知,也不知道什么才是真正有洞察力的理论。”欣顿在谷歌 I/O 2019 大会上也表示过,没有人知道神经网络究竟是如何工作的。

  

   尽管深度学习现在看起来红红火火,风光无限,但最近人们对它的反思和质疑也日渐增多起来,大家聚焦点都在一个地方:它本质上只是一种统计方法,并未形成真正的理解能力,因此它还不具备像人类那样学习与认识能力。

  

   欣顿本人其实对深度学习做过许多反思,对反向传播这一核心算法,他表示“深感怀疑”,建议“把它全部抛掉,从头再来”,指出要让神经网络变得更聪明,就必须更好地发展“无监督学习”。

  

   杨立昆(Yann LeCun)是Facebook 首席 AI 科学家,他发明了著名的卷积视觉神经网络,并和欣顿、本希奥共获2018年度图灵奖,这是深度学习的三位先驱者。他非常明确地指出过深度学习的局限性,譬如,需要太多的训练数据,不能推理,也不具备常识,“这些深度学习系统不知道如何整合抽象知识”。他进一步解释说,“如果你思考一下动物和婴儿是如何学习的,在生命的最初几分钟、几小时、几天里,学很多东西都学得很快,以至于看起来像是天生的,但事实上,他们不需要硬编码,因为它们可以很快学会一些东西。” 他承认,目前还不清楚哪些途径可以帮助深度学习走出低谷。

  

   清华大学人工智能研究院院长张钹院士也认为,目前基于深度学习的AI技术已触及天花板,它做得效果最好的是棋类游戏、图像识别和语音识别这三个领域,但在其他领域很难再出现像AlphaGo这样的奇迹了。他进一步分析说,深度学习要发挥出潜力,必须具备五个条件,即“充分的数据”,“确定性”,“完全的信息”,“静态环境”,“特定领域”,实际上,只要符合这些条件,机器还是在“照章办事”,并不具有“灵活性和创造性”。因此他断言:“现在的深度学习本质上是基于概率统计”,“这个方法本身通常无法找到‘有意义’的规律,它只能找到重复出现的模式,也就是说,你光靠数据,是无法达到真正的智能。”

  

   大佬们讲了这么多深度学习的缺点和缺陷,归根结底,其实就是一条:深度学习只是专用学习机,而不是通用学习机。譬如,你做了一个下围棋的多层神经网络,就不能拿来下象棋;做了一个写诗的深度学习算法,就不能拿来谱曲。也就是说,有多少项学习任务,原则上就得做多少台学习机。这样一来,我们又陷入到图灵之前专用计算机的那种困境中了,因为人类面临的学习任务也是源源不断、无穷无尽的,不可能去做无穷多台不同的学习机。

  

   大道至简,只有专用计算机而没有通用计算机,就做不出来真正的计算机;只有专用学习机而没有通用学习机,也做不出来真正的人工智能。我们还缺乏一种通用学习机的基础理论,这是当前AI研究面临的最大“瓶颈。”

  

05 从通用学习机走向通用人工智能

  

   但是,现在人们讲得最多的是“通用人工智能”(AGI)这个概念,而不是“通用学习机 ”这个概念。哈萨比斯博士在剑桥大学演讲时就说过,其团队的最终目标就是要让AlphaGo实现AGI,即使用一套单独的、灵活的且具有变通能力的算法,就能够真正像人脑系统那样,仅通过原始数据就能从零开始学习如何掌握任意一项任务。

  

   人们对AGI的一般定义是:一种可以模仿人类所有行为的AI,也就是说,机器可以执行人类所有能够完成的任务。这是一种强AI的定义。一般认为,AGI不可能由通用计算机来实现,但它可以由通用学习机来实现。因为,电脑和人脑都一样,绝不可能把所有任务的程序都事先设计好,编程好,必须从数据和经验中去不断学习,不断纠偏纠错、归纳概括,最终自己编程来掌握某项任务。

  

   最早提出“通用学习机”这个概念的,是美国俄亥俄州立大学数学博士熊楚瑜,目前AI界大概只有20几个人在做这件事情,属于极少数派。但如果跟“通用计算机”遥相呼应,“通用学习机”倒是相得映彰的一个新概念,也相当简洁优美。什么是通用学习机?简单说,就是从归零状态开始,通过数据输入,能够对任何学习任务进行自动编程的机器。

  

   所以,我们把机器分成两类,一类是计算机,是人工编程的,其程序是固定好的,一类是学习机,是自动编程的,其程序是可以改变的。深度学习也是从归零状态开始,不断输入数据,不断调整权重参数,通过逐层梯度下降的反向传播,最终收敛到一个最佳匹配的概率分配函数上。所以,深度学习的程序是在不断修改、不断完善的,它不再是一台计算机,而是一台学习机。

  

   无论多么复杂的机器行为,均有其基本的数学原理。下面,我们就用一个最简单的数学模型来说明计算机和学习机的区别。

  

   无论计算机还是学习机,都是一台信息处理器M,当对M输入一个数据x,经内部处理后,M就会输出一个数据y。所谓编程,一般是分两步走:首先,我们要建立起输入x和输出y之间的一种函数关系y=f(x),这一步就叫“数学建模”;然后,就是来求解这个函数f,即用一个图灵机来解这个方程f,如果f有解,那么在有限步骤内,图灵机肯定就会获得确定的结果,我们把这些有限步骤写成代码,这一步就叫“编程”,机器就会按照固定程序来机械地进行运算了。

  

   但是,机器行为的复杂性在于:并非所有的任务都可以数学建模,即建立起输入和输出之间一种确定的函数关系;也并非所有的函数都可求解,即有些任务可以数学建模 ,但却无法求解,写成代码形式。

  

   所谓计算机,就是其模函数f和代码都是人工设计好的,机器按照固定程序进行运算就行。而所谓学习机,其模函数f并不是确定的,而是要根据输入和输出的匹配关系来逐步调整,当最终调整到位时,机器就会确定一个模函数并写成代码,这就是机器的自动编程。专用学习机只能建立、求解某一特殊类型的模函数,而通用学习机可以建立、求解任何类型的模函数。

  

   如果我们能把人工编程这一套机制装进机器内部,让机器通过自我学习,形成自动编程的能力,我们认为机器就具备了真正的思维能力,这是人工智能的本质。从专用计算机到通用计算机,从通用计算机再到专用学习机,从专用学习机再飞跃到通用学习机,这就是近百年计算机和人工智能发展走过的崎岖道路。

  

   历史总是惊人地相似,我们已超越了图灵时代,正处在一个巨大的历史转折点上。就像图灵提出通用计算机的数学模型,开辟了20世纪人类的计算机时代,我们只有提出通用学习机的数学模型,给出AGI工程构架体系,21世纪人类才能真正迈进人工智能时代。通用学习机就是AGI的“图灵机”。

  

  

本文责编:limei
发信站:爱思想(http://m.aisixiang.com)
本文链接:http://m.aisixiang.com/data/118693.html
文章来源:作者授权爱思想发布,转载请注明出处(http://www.aisixiang.com)。
收藏