一,拟人 AI。最近深度学习的一系列成功案例,包括计算机视觉、语音识别、游戏人工智能等,都属于这一范畴。
二,增强人类能力的 IA(Intelligence Augmentation)。能够增强人类记忆能力的搜索引擎和增强人类沟通能力的机器翻译都属于此类。
三,智能基础设施 II(Intelligent Infrastructure)。这一领域旨在利用计算机技术让人类生活的环境更加安全、有趣,从基础设施的角度为人类生活提供支持。「物联网」是这一类概念的早期版本。
Jordan 认为,概念的模糊和混淆会带来一系列问题,例如试图用同一种思路提供解决方案,而枉顾其思路与大多数需要解决的问题范式有所冲突。
如今吸引了大规模神化与误解的「拟人 AI」思路真的适合解决所有问题吗?结构工程在复杂的地形上架构桥梁的思路并非「设计一个能计算桥梁承重的拟人 AI 工程师」。化学工程生产出诸多化工产品的思路也不是「设计一个拟人 AI,再让它帮助我们建造化工厂」。由此类推,自动驾驶的恰当思路是「设计一个拟人 AI 司机」吗?自动客服的最佳思路是「设计一个拟人 AI 话务员」吗?
当我们辨明了万金油 AI 中所包含的各类思想后,会不会有不一样的答案?
九月,Jordan 再次来到中国,进行了一系列的学术演讲。我们在 Boolan 主办的「全球机器学习技术大会」(ML-Summit 2018)上对 Jordan 进行了采访,从「AI 分类法」出发,聊了聊「不拟人的 AI」是什么,能够解决什么问题。
机器之心:为什么要将 AI 的概念划分成不同的三类?
Michael Jordan:提出拟人 AI、IA 和 II 的概念,并不是试图给「AI」建立一个不重不漏的分类,而只是想要对这几个经常被混为一谈的概念进行区分。在谈论这件事的时候,我跳出了「学者」角色,尝试以一个对业界出现的新用例感兴趣、对不同概念的历史发展感兴趣的人的身份来进行思考。
我认为在付出艰巨努力之前,首先要确定我们面对的「重大问题」究竟是什么。是建立一个能够和人以自然语言进行沟通的系统?还是获得一个能够拟人活动的机器人?还是试图建立一个市场,能够让更多的商品、服务、信息以更快的速度流通?在这个世界上,某些问题亟待解决。只有在厘清了基本概念及其差异之后,才能更好地确定你想解决哪类问题。
除此之外,很多人在单纯从「拟人 AI」角度出发设计基于机器的系统时并未考虑其社会影响,而只是在系统产生影响后思考对策。如果设计者能够从更多的角度思考,那么他们会更早地发现系统正在制造问题,甚至从一开始就避免问题的出现。
机器之心:相比于拟人 AI,您对 II 似乎有更为浓厚的兴趣,能否给出一个更为具体的 II 的定义?
Michael Jordan:II,或是说智能基础设施,某种程度上就是过去大家所说的「物联网」。物联网已经是一个有些历史的概念了,但是参与到这一类技术发展的主体成员还是网络研究者和工程师。他们关注的问题只有一个:给每一样东西赋予一个 IP 地址,让它可以连接到某个网络上。然而对 II 的讨论并不应该停留在「联网」本身,II 所关注的问题更为广泛:在「联网」完成后,如何在不同事物之间进行数据传递、如何利用利用数据进行推理,并将所有事物视为一个整体建立起基于数据流的知识网络,才是问题的核心所在。
机器之心:II 系统能否像现在的 AI 系统一样,从输入、输出的角度看待呢?
Michael Jordan:与其从输入输出的角度思考问题,我更多希望从「谁是这个系统中的参与者?他们如何参与到这个系统中?」的角度进行思考。
现阶段,一个并不完整的有限 II 系统的例子是网约车。
你可以看到,这个系统本身并非由一个「超级智能」控制,它只是一个双边交通系统,让司机和乘客从不同的 App 登录,让需求方的乘客看到供给方的司机情况然后出价。和普通的市场不同的地方在于,它的适应性更强——因为它有更多的数据,更清楚双边的偏好,然而它的局限性也非常大,现在只能解决一小部分出行问题。
但是想象一下,如果市场互动能够和推荐系统相结合,又是不一样的故事。推荐系统是历史上最重要的机器学习应用之一,但是如果它不能在市场中扮演角色,其作用始终有限。举一个推荐系统和市场互动的例子:在餐厅老板和食客这对双边关系中,如果我作为一名食客,能够在晚餐时段走在街上打开一个 app,表示我有兴趣寻找餐厅,app 知道我的地理位置、口味,把信息告诉相关的餐馆「这里有一个潜在客户」,仍有余位的餐馆学习我的基本情况后,可以用折扣等方式对我「竞价」。如是这般,一个双边市场就形成了,我可以选择接受或拒绝,而餐厅从我的行为中变得更了解我,如果我再多去几次这家餐厅,我们就建立起了一种联系。
在这个过程中,我,作为一个食客很开心:因为我拿到了折扣,吃到了合口味的食物,并且与餐厅建立了好的联系。餐厅老板也很开心:因为他们得以充分利用餐厅的资源,并且招徕到了喜欢这家餐厅的客户。这个过程中并不存在一个复杂的、超级智能的中枢系统,而只有数以百万计的实体,每天进行巨量的数据交换和分布式的决策。饮食、娱乐、交通……城市里的任何服务都能以这种形式进行。
机器之心:分布式的决策系统和单线程决策系统有什么区别?
Michael Jordan:人类是「单线程生物」,我们自己做出的决策大多是单一决策。而只有当存在稀缺性的时候,分布式决策才会比多个单一决策更加困难。
解决任何现实世界的问题都要考虑稀缺性。例如,道路容量是有限额的,如果我将所有从 A 地点前往 B 地点的人都指向同一条「最优路径」,无疑这条路会堵车,不再是一条「最优路径」。再比如,因为我没有无限量物流车(即使我有,这也会变成超出道路容量的问题),所以派送包裹时总会有先后顺序。这时,我解决排序的方式并不是设计一个寻找「最优解」的中心算法,而是让大家以竞价的方式表达自己的偏好。
注意,我们并非在讨论建立一个简单的经典市场。而是一个能够允许数据充分流动、偏好充分表达的市场。因此,经济学家会对这个市场异常感兴趣,因为当市场中的决策者手握大量信息,他们可以做得更好。
机器之心:现有拟人 AI 技术的进步会给 II 带来哪些影响吗?
Michael Jordan:其实,大部分现存的市场模型并不要求每个身处其中的智能体具有高级的智能,而只要求他们做简单的决策。回到网约车的例子里,网约车中的司机和乘客都是具有高级智能的人,但是在系统里他们并不需要大量动用智慧,他们只需要表达需求(我要去机场)和偏好(我愿意加价调度)就可以了。
但是,当每个智能体都拥有更多信息,并且能够根据这些信息更可靠、更有逻辑地运作时,市场会变得更高效、更好。比如,在商品市场或者股票交易市场上,参与者的「智慧」就得到了更多的利用。
因此,我们也可以想象,那些经典的、拟人 AI 在一些有趣的市场中也能够成为很好的玩家。拟人 AI 和 II 的概念就融合在一起了。
对于视觉问题、语音问题来说,我们有如此及大量的标注数据,所以用监督学习解决这个问题是合适的。任何其他有标注的高维统计分析问题也可以用监督学习的思路解决。无论最终目标是 拟人 AI 还是 IA 还是 II,解决方案都会是一个监督学习、无监督学习、Bandit 算法等等的组合。
并非说 II 是优于 AI 的一个概念,而是当人人都「全力投入 AI」却不能准确描述他们所投入的究竟是什么,对一些基本概念做区分有助于人们厘清自己的思路。
机器之心:在您看来,当前公众缺乏对 II 的关注,那么从研发角度呢?
Michael Jordan:研发角度的关注重点也有所偏颇。
我并不担心业界巨头们,大公司层面一直不缺少相关研究。但是有非常多的小公司,仍然认为他们能够通过提出一种新型的智能 AI 设备就解决某个存在已久的大问题。但是可以预见的是,在大多数情况下,这并不会发生。
当然,对于硬件公司来说,鼓励更多人在更大量的数据上运行各式各样的 AI 算法是符合他们的利益的做法:因为无论算法是否有效,只要卖出硬件他们就能够挣钱。这并不是一件坏事,但人们需要清楚,许多硬件的卖点不是「他们能够立刻解决当前的问题」。
想要让电脑对真实世界进行高级抽象然后得出结论是非常、非常艰巨的任务。我并不认为我们能够在可见的未来里实现这一点。然而我并不认为计算能力是当前技术发展的瓶颈。事实上如今我们每个人手上的算力都非常可观:甚至当下的大部分生产侧的应用程序都能够运行在你的笔记本电脑上。即使一个商业模式依赖对大量数据的快速处理,大部分也能够通过云实现,只有自动驾驶等非常少部分的应用需要大量终端计算力。
另一方面,对于学界来说,我也并不十分担心。学界的风向变化是非常快的,大家对新话题总是迅速燃起兴趣,又轻易感到厌倦。深度学习的一个好处是吸引了非常多学生进入计算机科学领域,这是好事:当他们进入这个领域,他们不会停步于这一个小范畴,而是会在更广泛的问题空间里进行探索。
机器之心:您所关注的 II 问题有许多与经济学问题相似的设定,这类问题和现有机器学习算法有哪些差异?
Michael Jordan:现有的机器学习通常假设有一个玩家。而和经济学相关的算法,例如许多和拍卖、竞价的算法中都有许多个参与者。参与者会掌握部分其他参与者的信息,并且会进行策略性的思考,进行多回合的假设最终确定如何采取行动。
但是这两类算法之间并不会有本质的差异,因为人类世界的基本算法是简单且相通的,梯度下降的概念、矩阵算法的概念、概率模型的概念,都被应用于解决各领域问题。例如鞍点问题,也在经济学领域中存在:经济学家总是试图找到均衡(equilibrium),即市场中具有竞争关系的双方都无法获得更优的福利。但是因为双方处于竞争关系,在均衡点二者的优化方向是不同的,换言之,这不是一个「规避鞍点」,而是一个「寻找鞍点」的故事。有专门的一类研究,就聚焦在「以寻找鞍点为目标的梯度下降」。
现在二者看似有很大的差异,是因为现在的机器学习算法,例如计算机视觉算法,还只是单纯的模式识别。而真正的计算机视觉算法应该是一个尝试学习其所处环境的实体。它能够移动、寻找资源以实现自己的目的。我们的视觉算法正在朝向这个方向发展,在过程中越来越接近经济相关的算法。
机器之心:机器学习在今后的发展路径上有哪些需要研究者和应用者特别注意的地方?
Michael Jordan:不确定性。机器学习本质上就是统计学与计算机科学概念的结合,而今值得担忧的是,在结合的过程中,有一些因素未被考虑到或是说未得到足够的重视,比如不确定性。
大众对于不确定性缺乏关注。而研究者虽然清楚不确定性的存在,仍然缺乏对其足够的关注:他们简单地假定,当数据足够大、标签足够多的时候,不确定性会逐渐消失,系统给出的就是正确答案。
这就是现在大部分视觉问题的解决方案,当你有如此多标注数据的时候,不确定性出于某些未知原因逐渐消失。但这并不是一个典型的解决方案,我们无法消除世界上大部分问题的不确定性。世界上不可衡量的因素太多了,有众多问题需要在存在巨大不确定性的情况下得到解答。例如,虽然医生并不确切知道患者体内究竟发生了什么,他仍然要在这种情况下根据患者表现出来的症状为其选择治疗方案。
想要把不确定性纳入考量,算法需要做出许多额外的假设。例如,boostrap 就通过重复地从数据中抽样获得一些关于不确定性的估计,但是抽样过程需要花费大量的算力。
还有一些贝叶斯派的方法,你对最初的不确定性作出假设,而后关注它的变化。但这也是计算非常昂贵的算法。
因此,和不确定性相关的研究工作里,有一大部分工程性的研究工作就是在尝试如何用尽可能便宜的方法引入不确定性。以及在不能对不确定性作出准确预估的时候,起码给出明确的声明:算法的置信度是多少,如果算法不足够好,那么给出更大的置信区间,以便作出更保守的估计。
传统地看,统计学里不确定性无处不在,其核心就是清楚错误的存在、明确来源并进行管理。而传统的计算机科学是不存在不确定性的。机器学习研究者开始将不确定性的思想引入计算机科学学科,算法有了训练与测试阶段,人们开始考量随机性对两个阶段的结果产生哪些影响。但是,从「文化」的角度上来看,整个领域仍然缺乏对不确定性的关注。
机器之心:您近期多次在公开演讲中提到高性能分布式框架 Ray,能否介绍一下 Ray 的设计思路和主要特点?
Michael Jordan:对于更好的框架和语言的需求的确一直在上升。当我年轻时,我们有 Fortran,有 C 语言,他们比之前一代的编程语言有了显著的提升,并且带来了高效的发展。但是想要在多线程的分布式平台上使用这样的语言变得越来越痛苦,它们并不适合数据分布在不同地方的模型。
这一次深度学习的成功背后,很大一部分要归功于 Hadoop、Spark、TensorFlow 这些工具,它们让分布式模型变得易用。但这也只是针对当前的需求而向分布式框架迈进的第一步。
Ray 在尝试更进一步,我们试图把问题中与分布式相关的问题抽取出来:一个算法运行在一台、五台还是上百台计算机上需要进行哪些调整不应该是算法设计者需要考虑的问题。
这是一个非常有趣、有价值的问题,但不应该让大多数工程师为此花费大量精力,底层工程师思考这个问题就够了。Ray 旨在提供一个底层框架,能够高效利用你所有的计算资源,让进程在不同处理器之间切换,并保持整个过程的鲁棒性和一致性。
它关注的不是「模式识别」这类 AI,而是支持决策类 AI,比如强化学习、Bandit 算法以及其他很多搜索算法的运行。
机器之心:决策类 AI 相比于识别类 AI 需要的算力支持有何不同?
Michael Jordan:相比于模式识别类的 AI 算法,决策类 AI 更需要异构负载(heterogeneous workload)。模式识别类的任务通常很容易切分成子任务,每一个子任务的大小、需要的资源种类都基本相同。常见的模式是,把数据切分成小块,让每个小块在不同的计算单元上进行同样的求导运算,它们耗时大体相等,等所有运算完成后,再把它们的结果加起来。Hadoop 和 Spark 之下的 MapReduce 范式,正是这样的范式。
但是对于决策类的问题来说,问题切分成很多个小的搜索问题之后,每部分的耗时都是未知的:你需要进行尝试,有一些通路可以迅速被排除,另一些则需要很多步的尝试才能判断。每个进程需要一直搜索到确定为止,而在这个进程停止之后,系统需要为这一个特定处理器分配一项新任务。这是一个动态任务图,也就是所谓的异构负载。这就是 Ray 试图解决的问题。
机器之心:在 Ray 之外,您还关注哪些其他研究方向?
Michael Jordan:研究者选择课题与艺术家、音乐家选择创造主题其实是一样的。我对于万事万物都很好奇,喜欢学习一切,因此我保持开放的心态,与大量的人交谈,思考技术的潮流正在将世界带向何方。然后你会发现一些新的思考方式、一些尚未得到关注的领域,一些让你相信假以时日一定会得到有趣的发现的问题。所以你进行尝试、与其他人公开探讨,尝试激起他们的兴趣,尤其是你的学生的兴趣。
我经常在公开场合谈论 Ray,是因为我希望更多人加入进来,在更多的使用场景下测试它的能力。除此之外,我还对错误发现率(false discovery rate) 十分感兴趣,尤其是在线错误发现率。这一类算法想要实现的目标是,当算法在运算的任何阶段被中止,都能保证当前作出的决策大部分是好的决策。
我也对很多数学相关的工作感兴趣。比如梯度下降算法以及搜索算法等的几何学研究。
梯度下降算法从数学角度来看,就是试图在参数空间内进行运动。这类运动有哪些动态性质?有哪些几何性质?其动态性质与几何性质之间又是如何相互影响?我对这些问题都很感兴趣。
鞍点问题就是这类问题中的典型。梯度下降算法经常长时间卡在鞍点附近,因此,如何设计参数优化算法以避免在鞍点停留,如何利用鞍点的性质找到优化的方向,都是我们正在研究的问题。
数学类问题吸引我的地方在于有一个良性循环的社区:你在他人的工作之上开展自己的工作,提出猜想、进行证明、得到定理,而在未来,你的工作又会被之后的学生做为探索的起点。
十年之后,人们不会再谈及我,我的时代已经过去。我不认为当今有哪些研究者的工作能够像爱因斯坦的成果一样,有延续百年的生命力。我们的贡献要小一些,但是我希望它们足够扎实,能够让十年后的其他研究者愿意在我们的成果之上继续前行。