1952年,Arthur Samuel在IBM公司研发了一款西游跳棋程序,这个程序具有自学习能力,可以通过对大量棋局的分析逐渐辨识出每一棋局中的“好棋”与“坏棋”,从而不断提高机器的跳棋水平并很快下赢了Samuel自己。1956,也就是在60年前的达特茅斯人工智能会议上,Samuel介绍了自己的这项工作,并发明了“机器学习”一词。
在计算科学历史上,“机器学习”有着多种定义,普遍的观点认为“机器学习”就是计算机利用数据和“经验”来改善算法系统自身的性能。斯坦福大学对机器学习的定义是在没有明确编程指令的情况下,让计算机自行采取行动的科学。通过已有数据产生“学习算法”模型后,再应用到新的数据集上,从而对新的情况做出策略性判断,这就是所谓“预测”。可以说,机器学习是关于“学习算法”的科学,而人工智能则是研究开发具有智能的机器。
2016年是人工智能诞生60周年。在最近十年,随着大数据和云计算(大规模计算)的发展,机器学习进入了发展的黄金期。2016年12月17日,在2016机器智能前沿论坛上,中外专家探讨了机器学习的未来发展与展望。
机器学习进入发展黄金期
传统意义来说来,人工智能分两步:一是对数据的表示和表达,二是通过算法达到预测和决策的过程。传统人工智能是基于语义的方式实现数据的表示或表达,而从数据表示到预测往往是通过基于规则的逻辑推理,一个典型代表就是专家系统,这也是第一代机器学习。
对于第一代机器学习来说,规则的定义十分重要,一旦规则定义不准确或有问题,将导致不正确的逻辑推理。此外,基于规则的模型对于浅层推理有效,但没法用来进行深层次的推理。因此,也就发展出了第二代机器学习,即基于统计模型的机器学习。
在南京大学周志华教授的《机器学习》一书中,对于机器学习的发展阶段和历史有更为细分的划分与相应的算法介绍。实际上,在二十世纪90年代中期,“统计学习”开始登上历史的舞台并迅速成为主流,代表技术即为Support Vector Machine(SVM,支持向量机)以及Kernel Methods等。而统计学习成为主流,则是因为前期的神经元网络研究出现瓶颈后(主要是因为当时的参数设置以手工为主),学者们才把注意力转向了统计学习。
随着统计学习的兴起,出现了机器学习的黄金十年。统计学习不仅被用于算法建模,还被用于数据的表示与表达,这样就弱化了对于相关背景知识的要求。比如计算机视觉和图像研究属于计算机科学领域,其背景知识比较容易获取,而自然语言处理则需要英文或中文的语言学知识,这对于计算机专家来说就有难度了。
在更为广泛的应用领域,统计模式识别正在取代用于数据表达的专家规则,从而降低了人工智能和机器学习的入门门槛。这样,从数据表示到学习算法再到推理预测,就都可以全部用机器学习算法实现,这就进入了第三代机器学习阶段,即从数据直接到智能的端到端的机器学习。当然,随着大数据和云计算的出现,以复杂神经元网络为代表的深度学习也可以用于数据表示与表达。
可以看到,面向数值计算的统计学习和以神经元网络为代表的深度学习是现代人工智能的两个主要分支。而在大数据+云计算的时代,这两大分支都进入了新的发展黄金期。
对抗网络和对偶学习
由前述可知,机器学习分为三个阶段,即第一阶段的数据获取与生成、第二阶段的学习算法和第三阶段的推理预测。在大数据与云计算的前提下,这三个阶段有着新的发展。
在数据获取与生成阶段,最新的研究发向就是用对抗网络来产生更多的数据。也就是说,如果在现实世界无法获得更多数据的前提下,就用机器学习算法来模拟更多的现实世界的数据,以供后续“训练”学习算法之用。
所谓生成模型(Generative Model)是对数据的建模,即用大量数据来训练这个模型,以期望这个模型能产生更多类似的数据。常见的生成方法有混合高斯模型、朴素贝叶斯法和隐形马尔科夫模型等等。以混合高斯模型为例,该方法虽然有强大的逼近数据分布的能力,是非常适合概率密度估计的建模方法,但该方法不足以刻画复杂的数据,因此要用到神经元网络。
对于可以产生数据的神经元网络来说,如何训练它而使得产生的数据更接近真实数据?这就出现了生成对抗网络(Generative Adversarial Network,GAN)。比如用一个神经元网络来产生数据,再用另一个神经元网络来判别数据是否为真实,再通过两个网络的结果差异来优化数据生成模型。在著名的AlphaGO的训练算法中,也采用了类似的概念来生成用于训练计算机的新棋局,从而实现自对弈。
对于基于深度神经元网络的生成网络来说,一个可以改进之处就是如何利用大量未标注的真实数据。因为在训练神经元网络的时候,需要大量人工标注的数据,用以训练算法,比如标注一幅图为“花卉”。清华大学副教授、卡耐基梅隆大学兼职教授朱军介绍了多种利用未标注数据的方法。
朱军还特别介绍一种引入了“Attention聚焦”和“Memory记忆”机制的生成网络,用于根据有限的高度抽象的参数来生成接近真实的数据。比如在生成新图像的过程中,原有的神经元网络模型对真实的图像参数进行了高度抽象,在这个过程中损失了很多细节数据,在使用另一个神经元网络生成新图像的过程中,如果只采用高度抽象后的图像参数,就无法表达更多的图像细节。因此,在前期学习真实图像数据的过程中,可以引入了“Memory记忆”机制,把一些图像细节数据存储起来,用于后续生成更接近真实的图像。
除了在数据生成环节需要克服未标注数据的局限外,在整个端到端的机器学习算法过程中,也需要利用未标注数据。这也就是说在机器学习的训练学习算法和预测推理阶段,如何利用大量利用未标注数据。微软亚洲研究院首席研究员刘铁岩介绍了对偶学习,它一方面可让有监督学习和无监督学习算法大量利用未标注数据,另一方面也可以提高增强学习算法的学习速度。
所谓对偶学习(Dual LearNIng),就是利用两个对偶的任务形成一个闭环反馈系统,从而得以从未标注的数据上获得反馈信息,进而利用该反馈信息提高对偶任务中的两个机器学习模型。举例来说,两个对偶任务可以是中翻英和英翻中,这涉及到了两个机器学习模型,对偶学习的过程就是先把一句话从中文翻译成英文、再从英文翻译成中文,之后再比较生成的中文与原始中文之间的差异,从而提高两个机器学习模型的性能。在这种场景下,其实不需要标注数据,即不需要知道生成中文句子的“对”与“错”,只需要知道生成后的中文句子与原始中文句子的差异,即可优化算法模型。
深度问答的挑战
自从2011年IBM Watson在智力竞赛电视节目《危险边缘》(Jeopardy!)中获胜后,深度问答作为人工智能和机器学习的一个重要应用场景,就引起了全世界广泛的关注。深度问答不仅涉及到自然语言理解(NLP),还涉及到对于问题的分析与理解、候选答案的评估以及选择策略、快速检索与搜索等技术。
人机问答最早可以追溯到图灵测试,图灵测试就是以问答的形式进行的。到了1960年前后出现了基于模板的QA(Template-based QA)、1990年前后出现的基于信息检索的QA(IR-based QA)、2000年前后出现的基于社区的QA(Community-based QA)和基于大规模知识库的QA(Large Scale KB-based QA),以及今天的阅读理解式QA。
中科院自动化所副研究员刘康着重介绍了基于知识库的深度语义解析和阅读理解式深度语义理解与知识推理。在基于知识库的QA中,核心问题在于如何解决问题文本到知识库之间的映射关系,特别是要消除歧义。现代机器学习方法要解决的问题,就是对问题文本和知识库的知识分别进行分布式表达或建模,然而再在二者之间再建立起基于深度神经元网络的对应关系模型,从而实现精准的映射。而为什么要对问题和知识都进行分布式建模,原因主要是现代互联网上的信息是海量的,因此理解问题文本和理解知识都需要大规模分布式建模。
阅读理解式QA是另一种形式的问答。所谓阅读理解式QA就是给定一段话,然后根据这段话的信息来回答问题。这其实需要综合一段话中的几句,然后进行深度推理和联合推理。目前的深度学习方式还不能解决知识推理的挑战,也不能代替传统人工智能中基于符号的逻辑推理。另外,在解决阅读理解的难题中,其实还需要常识知识,然而常识知识的边界在哪里?常识知识是否会随着时间而发生变化?这些都是阅读理解式QA的挑战。
刘康认为,现在的深度问答正从传统的符号信息检索匹配到深度语义理解的变化中,需要对文本内容精准的理解,推理也变得越来越重要,同时问答的过程还需要知识库、特别是常识知识库的支持。此外,在开放环境中,用户的问题复杂多样,单一知识库往往不足以满足用户的问题,还需要多个知识源的联合与综合利用。
科学家、头条实验室技术总监李磊介绍了一种QA模型,即基于条件的聚焦的神经元网络问答(Conditional Focused Neural Question Answering)。在国际计算机语言学协会(ACL)的2016年会上,李磊等人发表了基于大规模知识库的CFO一文(CFO: Conditional Focused Neural Question Answering with Large-scale Knowledge Bases),详细介绍了CFO的算法。CFO主要解决开放知识库中单一答案的QA问题,在CFO之前的最好成绩是由Facebook发明的自动问答算法,准确率在62.9%(基于Facebook创建的Simple Question Dataset公开数据集,内含108K个英文问题,也是公开的最大单一答案问题集)。而CFO则能在这个数据集上达到75%的准确率,与Facebook拉开了12%的差距。
今日头条还在2016年尝试了新闻写稿机器人Xiaomingbot,这是基于大数据、自然语言理解和机器学习的人工智能机器人。Xiaomingbot在2016年8月的里约奥运会期间自动写了450多篇文章,产生了100多万的阅读,接近同期该平台上体育新闻记者的稿件阅读量。此外,Xiaomingbot写出的稿件既有短消息也有按比赛时间线进程形成的长报道,还可以自动加入图片。
当然,提到深度问答就必然要提到IBM Watson。IBM中国研究院大数据机认知计算研究总监苏中介绍了在《危险边缘》(Jeopardy!)中获胜的基于大规模并行计算概率算法的Watson模型,如今IBM已经把Watson的算法能力通过基于Bluemix的IBM Watson开发者云服务对外输出。
建立智能社会组织的模型
2016机器智能前沿论坛上,最有意思也是最具有社会和商业价值的机器学习前沿方向,是来自美国Santa Fe Institute研究所的David Wolpert教授的智能社会组织建模研究。他也是IEEE院士、三本书和200多篇论文的作者,论文领域覆盖了物理学基础、机器学习、博弈论、信息理论、热力学和分布优化等。David Wolpert于1996年提出了“没有免费的午餐”定理,现在已广泛应用于机器学习领域。
David Wolpert表示,除了人类自身之外,人类社会也是一个智能体。在人类社会当中有很多的互动交流以及各种活动,人类社会能够处理信息、相互沟通,也能迅速了解在哪里可以获取信息、信息如何被使用等。现在,人类社会作为整体的智能性已经比个人大脑更为强大,所以对于智能社会组织的研究更加有意义,但这还是一个全新的领域,也只有初步的研究。
从人类社会发展来看,人类的组织达到一定规模后,就难以再扩大。就像企业扩张到一定规模后,随着层级越来越多,越难将信息准确地从顶层传递到底层,而随着信息在中间层传递的失衡,将会导致信息误传,从而阻碍企业进一步扩大。当然,人类也在不断尝试对组织结构进行创新。以近代互联网公司谷歌为代表,在公司初创期提出了扁平化的组织结构,然而随着谷歌公司规模的不断扩张,最终还是走向了多层级化的公司结构。
那么,如何以一种扁平化的方式扩展公司规模,使得员工的沟通效率不受到层级增多的影响?这就需要找到一种方式,以更好的在企业组织间传递信息。在David Wolpert模拟企业结构的过程中,把员工的社会关系看成一种信息通信息网络结构,员工则类似于信息通信网络中的节点。网络工程师的任务是要通过算法来优化和设计信息通讯网络的通信路径,类似的方式引进到智能社会组织的研究中,就是如何实现一个更为智能的信息交换方式。
在研究和设计智能社会组织的时候,需要考虑不少已经存在的理论。其中一个著名的理论是Dunbar数字,由英国人类学家Robin Dunbar提出,即人类个体能够和周围的人维持稳定社会关系的理论上限值,通常被认为是150人。这是因为在给定时间范围内,一个人能够同时倾听其他人以及对其他人说不同事情的能力,受大脑皮层容量的限制。一旦超越这个范围,就需要外在机制来维持群体的稳定性和凝聚力。
因此,把网络通信的编码和设计原理应用到类似企业这样的社会组织中,就需要回答三个问题:受限于企业组织规模和沟通能力(类比网络规模和边缘通信能力),能够从管理者传达到工人(类比网络发送端和接收端)的最大信息量;中层管理者(类比网络里的中间节点)如何传递信息,以确保工人能最大化的接收信息(类比网络的最大吞吐量);在企业里增加中层管理者(类比网络里的中间节点)的收益。
David Wolpert为此研究了多种机制,特别是借鉴了网络中邮件传输的机制。因为在复杂网络环境下,一个邮件能够得以快速的从一个发送端传递到另一个接收端,中间其实把邮件划分为了不同的小数据包,再把这些小数据包通过不同网络、不同主机快速接力式传递给终端,终端结点再把小数据包重新恢复成一个邮件。
从David Wolpert的研究中,可以得到一些很有意思的发现。比如把社交媒体作为第三方公开公共节点来存储部分信息,确保了企业组织的部分信息可以准确、高效传递到各个层级,各个层级再根据内部传递下来的其它信息自行组合,从而准确且个性化地“还原”出原始信息。这其实就是社会化组织的模式,相当于企业把部分节点从企业内部转移到了社会上,相应地也把企业组织部分的社会化了。当然,这个理论也从另一角度验证了社交媒体或社会化媒体崛起的必然逻辑。