计算机视觉与AI专家Filip Piekniewski不久前的一篇《AI凛冬将至》的文章在网上引起了热议。该文主要对深度学习的炒作提出了批评,认为这项技术远算不上革命性,而且正面临发展瓶颈。各大公司对AI的兴趣其实正在收敛,人工智能的又一次凛冬可能要来了。经过几周的反思之后,他又把自己对AI的看法进行了归纳总结,提出AI首先必须what的问题,然后才能考虑how的问题。里面的观点非常值得深思。
最近几周我被迫重新系统性地论述和提炼我对AI的看法。在我的AI凛冬将至那篇文章火起来之后,很多人通过电子邮件或者Twitter联系我,提出了很多很好的建议。由于现在大家对我的东西关注更多了,我决定以紧凑的形式将我认为我们AI解决方案中错的东西以及哪些是可以修复的写下来。以下就是我的10点摘要:
我们被图灵对智能的定义给束缚住了。图灵有关智能的提法很出名,但他把智能限制为跟人玩的一场文字游戏。这尤其把智能设定为(1)一个游戏的解决方案,(2)将人放在判断的位置上。这种定义是极其具有迷惑性的,并不是很适合这个领域。狗、猴子、大象甚至啮齿动物都非常智能但不会说话因此图灵测试是过不了关的。
Ai的核心问题是莫拉维克悖论。跟1998年首次阐述时相比,这个问题已经显得突出许多了,而在过去30年间我们在这方面所做的事情至少是非常令人尴尬的。这个悖论的中心论点是显然最简单的现实却要比最复杂的游戏还要复杂。我们痴迷于游戏(以及其他有限制且定义明确的论域,如数据集)中的超人表现作为智能的标志,这种态度跟图灵测试是一致的。我们完全忽视了一个事实,那就是现实本身而不是人类委员会才能对智能的执行者做出终极判断。
我们的模型可能甚至也能起作用,但往往是出于错误的原因。我已经在我的其他文章[1]、[2]、[3]、[4]里面详细阐述过这一点了,深度学习就是一个信手拈来的例子。我们看起来似乎解决了对象识别,但是无数研究表明深度网络识别对象的原因跟人类能检测对对象的机制有着巨大的差异。对于一个本着图灵测试的精神只关心是否能愚弄人类的人来说这个也许并不重要。对于关心人工主体处处理非预期(域外)现实的人来说这是至关重要的问题。
现实不是游戏。如果说有什么不同的话,现实是规则不断变化的游戏的无限集合。任何时候出现了重大发展,游戏规则都要重写,然后所有玩家都得跟着调整否则就会死掉。智能是一种机制,会演变从而让主体解决这个问题。由于智能是一种帮我们玩“规则不断变化的游戏”的机制,作为一种副作用它让我们能玩有着固定规则的实际游戏也就不出奇了。不过反过来却是不对的:开发玩固定规则的游戏超过我们能力的机器跟开发能玩“规则不断变化的游戏”的系统差得远了。
物理现实当中有些特定规则是没有变化的——就是那些物理定律。我们已经把那些定率语言化,做出让我们建立文明的预测。但是这个星球上的每一种生物体为了能在这个物理环境中行动也都掌握了这些规律,虽然是以非语言化的形式。小孩在学会牛顿定律之前就知道苹果会从树上掉下来。
我们的视觉统计模型其实是非常不足的,因为它们仅依赖时间冻结的事物外表以及人类分配的抽象标签来识别。深度网络可以看几百万张树上的苹果的图像,但永远也发现不了引力定律(以及许多其他对我们而言绝对是很明显的东西)。
常识的困难在于它对我们实在是太明显了,以至于非常难以用语言表达出来进而给数据打上标签。对于一切“明显”的东西我们存在着巨大的盲点。因此我们无法教计算机常识,这不仅是因为这么做可能不切实际,但更根本是在于我们甚至都没意识到常识是什么。只有在我们的机器人做了某件极其愚蠢的事情之后我们才意识到这一点,我们才“哦原来机器人不理解这个[把任何明显的事实填进去]啊……”
如果我们希望解决莫拉维克悖论(在我看来这应该成为今天任何严肃的AI努力的焦点),我们多少就得模仿生物体纯粹靠观察世界来学习的能力,而不是需要标签的辅助。实现这一目标的一个比较有希望的想法是开发对未来事件作出临时预测的系统,然后通过将其预测与实际情况进行对比来学习。无数实验表明这的确是生物大脑中发生的事情,而且从各种角度来说这样做会非常有意义,因为这些系统除了其他方面之外还必须学习物理定律(因为它们显然是通过主体来观察的,也就是所谓的朴素物理观)。预测性视觉模型是朝着这个方向迈出的一步,但肯定不是最后一步。
我们极度需要在图灵的定义以外框定“智能”的质量。可以从非平衡态热力学找到一些好点子,这与预测性假设也是一致的。我们需要这个是因为我们需要开发出一定会通不过图灵测试的智能主体(既然它们不会展现出语言智能),但尽管如此我们仍需要一个衡量进展情况的框架。
几乎我们今天所做的一切事情以及叫做AI的东西都是可以语言化的东西某种形式的自动化。在很多领域这个也许能起作用,但其实跟用Excel代替纸张表格来帮助会计没有太大的不同。有问题的领域是(且一直是)自主。自治不是自动化。自主不是自动化。自主意味的东西比自动化多多了,而且如果这种自主(就像无人车一样)需要比人类更安全的话意味的东西还要多得多。自主应该几乎等同于宽泛定义的智能,因为它假设的是处理非预期的、未经训练的、众所周知的未知的未知的能力。
这些就是我希望传达的核心观点。这些观点有着各种微妙差别,这就是我要写这篇博客的原因。不过如果你承认这些观点的话,我们基本上就算达成共识了。还有很多经过激烈争论的细节,虽然我认为这些细节并非必不可少的,但出于完备性还是让我表述其中的一些:
先天还是习得?当然有些生物体具备天生能力,但无疑有些东西我们是学来的。然而这是个实现相关的问题,我并不认为这个问题会有绝对的答案。在我们未来的开发中我敢肯定我们会结合两种一起使用。
学习特征还是人工构建特征?这是一个相关问题。我的看法是“cortical computation(皮质层计算)”的绝大部分特征都是习得的,这是在AI与自主的背景下(但这并不意味着我们不能人工构建某样东西,如果这个东西被证实是有用的或者出于某种原因难以学习的话)。大脑里面还有很大一部分很可能是预置好的。在自动化更加具体的应用中,这两种情况可能都会有。会有学习来的特征显然比人工构建的特征出色的情况(这是深度学习的全部卖点所在),但也会有无数精心构建发展出来的特征绝对、毫无疑问比任何习得的东西出色的情况。一般而言我认为这是个伪命题。
尖峰、连续,数字化还是模拟?也许量子?对此我没有非常强烈的立场,因为各自都有优缺点。数字化简单、确定并且是现成的。模拟难以控制但是用电要少很多。尖峰也是一样,但是后者还有更接近生物体的额外好处,这也许说明这是个更好的解决方案。量子?我不敢确定用量子计算解决智能问题的必要性有任何的有力证据,不过也许今后我们能发现这一点。这些都是“怎么做?”的问题。我的主要兴趣还是“是什么?”的问题。