事物飞速发展之时,往往需要你停下脚步,回顾自己所处的位置,否则你会很容易陷入对细节的兴奋之中。构成人工智能基础的数据科技正以不同的方式向前发展,而且速度飞快。因此,在你改变职业之前,或者决定使用人工智能扩展业务时,让我们首先对人工智能做一个鸟瞰,以帮助理解我们所处的位置以及未来走向。
人工智能的三个阶段
我们倾向于把人工智能看做新事物,尤其是新技术以及和深度学习相关的新技巧。然而,人工智能已经过数十年的发展,否认过往的成功似乎不合逻辑,因为技术总是不断向前发展。
当我费力向其他人解释人工智能之时,我不断为预测分析寻找一些分界线,这些分析我们已经实践了相当一段时间,也是大众对人工智能持有的观点。最近我读到了一本名叫《人工智能的三次浪潮(Three Waves of AI)》的书,作者是 DARPA 信息创新办公室主管 John Launchbury,他从一个更长远和宽广的视角,将人工智能的历史与未来划分为了三个阶段:
1. 手工知识(Handcrafted Knowledge)阶段
2. 统计学习(Statistical Learning)阶段
3. 语境顺应(Contextual Adaptation)阶段
Launchbury 的观点对我帮助极大。尽管阶段(ages)的比喻很有用,但是这很容易让人误解为一个阶段结束了下一个阶段作为替代才开始。与此相反,我把人工智能看作一个金字塔,其中下一阶段的发展奠定在前一阶段之上。这也清晰地表明了即使是最古老的人工智能技术也不会过时,且实际上依然在使用之中。
对于第二个阶段统计学习(Statistical Learning),即我们目前所处的阶段,我分为了一些更细的阶段,因为第二个阶段之中有一些重大突破值得单独作解释。
第一阶段:手工知识
第一个阶段的典型代表是「专家系统」(expert systems),其把大量知识转化为由中小企业团队精心制定的决策树来增强人类的智能。专家系统的代表例子是 TurboTax 或者做调度的物流程序,它们在上世纪 80 年代已经出现,且很有可能更早。
尽管我们有能力运用机器学习统计算法诸如回归、SVM、随机森林以及神经网络,且这些算法自上世纪 90 年代以来获得了飞速扩展,但手工系统的应用并未完全消失。最近 Launchbury 提及到该系统的一个应用成功防御了网络攻击。大约在 2004 年之前,相似的系统实际上已经成为自动驾驶车的核心(其失败的主要原因是不能解释所有的现实问题)。
Launchbury 认为专家系统在推理方面表现不俗,但仅限于几个严格定义的问题,且没有学习能力,不能处理不确定性问题。
第二阶段:统计学习
第二个阶段是我们现在所处的阶段。尽管 Launchbury 倾向于关注深度学习方面的进步,实际上早在我们使用计算机寻找数据中的信号之时就已经步入了第二阶段。统计学习阶段开始于数十年之前,但是在上世纪 90 年代获得了牵引力,并通过处理新数据、容量甚至是数据流而不断获得扩展。
由于不断增加的深度学习技术工具箱(比如回归、神经网络、随机森林、SVM、GBM),统计学习阶段伴随着从数据之中寻找信号能力的爆炸性增长应运而生。
这是一种不会消失的基础数据科学实践,它可以解释消费者(他们为什么来、为什么留、为什么走)、交易(是否存在欺诈)、装置(它是否有问题)、数据流(30 天之后其价值是什么)的所有行为问题。统计学系对人类智能的增强是不断发展的人工智能的部分之一。
在第二阶段之中,至少有另外两个重大突破极大地提升了人类的能力。第一个是 Hadoop 与大数据。现在我们已经有了大规模并行处理以及储存和查询大的非结构快速移动数据集的方法。2007 年 Hadoop 首次开源,直到现在。第二个小的突破是现代人工智能工具集的兴起,其由以下 6 种技术组成:
1. 自然语言处理
2. 图像识别
3. 强化学习
4. 问答机
5. 对抗式训练
6. 机器人
除了少数例外,这些技术可被整合为依赖于深度学习的一类,但是如果你查看深度学习工作方式以及深度神经网络运行方式的详情,你很快会意识到这些并不是问题的核心。
在卷积神经网络、循环神经网络、生成对抗神经网络、强化学习之中的进化神经网络及其所有变体之中通常有很少;反过来在问答机(Watson)、机器人或者不使用深度神经网络的强化学习变体之中存在更少。
由于这些技术的共同之处是它们生成自己的特征,也许我们应该称之为无特征建模的阶段(Era of Featureless Modeling)。你仍然不得不使用已知的标注实例进行训练,但是你不必在列中填入预定义的变体和属性。它们在极其大的计算阵列上也需要大规模并行处理,很多次需要专业芯片(比如 GPU、FPGA)以在人类时间尺度上搞定一切。
因此,重要的区别就是第二阶段的人工智能可以延续几十年,并且其主要从机器学习、大数据/Hadoop 和无特征建模三个方面已经对新技术进行了三次大的变革。但这些突破仍然在统计学习方法这一阶段内,该阶段还会继续发展并产生更多的突破。
Launchbury 表明,到目前为止,我们已经拥有非常先进、细分和强大预测能力的系统,但是仍然还没有理解语境和最小推理能力。因为我们的技术对数据有更大量的需求,这已经成为了一个障碍,而对我们仍然有价值和高效的预测分析技术并不应该是这样的。但我们在这个阶段早期无法解决的困难,包括自动驾驶汽车、机器赢得日益复杂游戏的能力、图像、文本和自然语言处理等方面目前都已经取得了重大的突破。
第三阶段:语境顺应(contextual adaption)
接下来呢?Lauchbury 说,当前统计学习时代出现了两个问题,第三个阶段要解决两个问题。
解释推理行为的模型:虽然我们的深度神经网络善于分类,比如图片,但是处理原理仍然显得神秘莫测。我们需要既可以进行分类也可以得到解释的系统。理解推理就能让对处理过程的修正真正有效。
生成模型:这些模型可以从潜在语境中进行学习,比如一个模型,掌握了每个字母的笔画,而不是基于大量糟糕的书写样本进行粗暴分类。我们今天使用的生成模型有望显著减少对训练数据的需求。
鉴于这些特点,处在这一阶段的人工智能系统就能使用语境模型(contextual models)进行感知、学习、推理以及抽象,将从一个系统中学习到的东西应用到一个完全不同的语境中。
全景视野
新阶段的开始并不意味着前一阶段会戛然而止。一些技术、功能的有用性或许会降低,但是完全被淘汰出局也不太现实。比如,最新技术所需的大量计算力、研发的复杂性以及训练都会制约这些技术退出历史舞台,将来某个时候出现的高价值的问题可能还会用到这些技术。
其他情况,比如语境采用阶段,我们可能不得不等待新一代芯片的出现,这类芯片更加类似人脑。这些被称为神经形态或者脉冲神经网络的第三代神经网络都会用到现在研发最早阶段的那些芯片。
现在,我们处在第二阶段(统计学习)的什么位置?
当前阶段的三章内容中,人们可能最关注的是新东西,深度学习、强化学习以及上述构成该阶段的六种技术之间的平衡。
这是一场演化的艰难过程,刚开始结出果实,但这些新的发展中绝大部分仍然没有准备好开花结果。尽管可以看到这些技术会往哪个方向发展,但是,只有两到三个技术有望可靠商业化(图像处理、文本和语音处理,类似 Watson QAMs 的有限版本。)
当你试着将这些技术拧在一起时,这些技术也不过是松散地在一起,集成这些技术仍然是最具挑战性的事情之一。我们总会想到办法的,只是还没到这一步。
我们总会走到那一步的,甚至进入第三阶段。不过,走过这一阶段之前,或许还会出现我们未曾预料的演化或者变革。