Grady Booch 认为,目前大多数人工智能系统都是关于边缘信号的模式匹配和归纳推理,而不是真正的人工智能。在 2018 年旧金山 QCon 大会的第二天主题演讲“建设魔法之地”(“Building the Enchanted Land”)中,他解释了自己的观点,即如今的人工智能是一个“带有人工智能组件的系统工程问题”。
Grady Booch认为,目前大多数人工智能系统都是关于边缘信号的模式匹配和归纳推理,而不是真正的人工智能。在 2018 年旧金山 QCon 大会的第二天主题演讲“建设魔法之地”(“Building the Enchanted Land”)中,他解释了自己的观点,即如今的人工智能是一个“带有人工智能组件的系统工程问题”。
真正的人工智能使用决策和外展推理,这使得这些系统能够推理和学习。目前的人工智能应用远不能做到这一点;它们只是更大系统中的组件。
当代人工智能也不是最近才出现的,因为许多架构和算法都有几十年的历史。今天的不同之处在于计算能力的丰富性,以及大量标记数据的存在。事实上,使用数据来理解它,并将其转换成正确的格式,通常比构建模型需要更多的工作。
现代人工智能
模式匹配是关于教一个有大量证据的系统去搜索什么。今天,主要是图像、视频和音频等信号。这些信号往往位于系统的边缘,而不是中心。实际匹配是通过归纳推理完成的。归纳推理不是决策。它也不是从数据中建立理论的外展推理。
当代人工智能也不完全是当代的;现有的算法已经存在了几十年。例如,第一个人造神经元诞生于 1956 年,所以神经水平计算的概念已经存在了很长时间。然而,现在我们还有了大量的标记数据,以及大量可用的计算能力。从本质上说,旧的算法现在仍很有实用性,但这些算法不是关于推理和学习的。推理是指在人类思维的某些层面上,归纳、演绎和诱导是混合在一起的。随着时间的推移,学习也是必要的。没有这些元素,它就不是真正的人工智能。
一点人工智能的历史
人工智能在算法、发展、挫折和进步方面有很长的历史。机器学习只是人工智能的一个方面,深度学习甚至不是其中的一个很窄的部分。对深度学习的强调掩盖了这一事实。
在机器学习中,有监督学习、非监督学习、概率学习和非概率学习。
客观地说,人工智能的发展经历了许多春天和冬天。第一个冬天发生在 20 世纪 50 年代冷战最激烈的时候。为了把俄语翻译成其他语言,人们对机器翻译产生了浓厚的兴趣。根据一个经常被引用的故事,他们把这样的声明,如“精神是自愿的,但肉体是软弱的”。翻译成俄语后,结果是“伏特加很浓,但肉很烂”。语言学习比人们最初想象的要困难得多。
第二年春天,Newell和逻辑理论家Terry Winograd 提出了操纵小世界块的想法,并取得了一些进展。当然,那是Marvin Minsky 宣称三年后将出现人类智能水平的时候。再也没有人提出这样的要求了。计算能力和表达能力是这种方法的限制。
接下来是Ed Feigenbaum和其他人首先开发的基于规则的系统。基于霉素的医学诊断就是这种方法的产物。Campbell Soup 使用这些技术来捕捉它们的秘方,这样它们就不会依赖于人类的记忆。问题是,基于规则的系统在几百条规则之后就不能扩展了。Symbolics和其他公司试图基于这些系统构建硬件。当这些系统的局限性暴露得越来越明显时,DARPA停止了资助,人工智能的冬天又来了。
人工智能的今天-深度学习
那么我们现在处于什么位置呢?
人工智能的进步正在成为系统的一部分,所以它们不会像过去那样消失。然而,我们应该记住怀疑者和实用主义者的观点,比如Gary Marcus。无论深度学习的贡献有多大,它都不是一个万能的解决方案——它主要是在信号的层面上,只是一个更大系统的组成部分。
根据 Booch 的说法,这正是当前这一代开发人员发挥作用的地方。什么是 AI 的核心开发者?他们会说:“哇。我有一些非常酷的新玩具,我可以把它们放进我的系统,让它们变得更好。”它变成了一个系统问题。
就像开发者世界有自己的工具和环境一样,AI 世界也在开发自己的工具和环境。然而,尚不清楚随着工具和环境的商业化,什么工具和环境将在市场中占据主导地位。
生命周期
构建人工智能系统与构建传统软件系统有着根本的不同。主要原因是数据的丰富性。你将在数据管理上花费比定义、构建和培训系统多得多的时间。
你必须确定你的数据是否有偏见,以及你是否选择了有意义的和适合社交的数据。这既是一个技术问题,也是一个伦理问题。解决这个问题需要一套与传统软件开发人员完全不同的技能。数据科学家必须从一开始就成为系统生命周期的一部分。在定义解决方案之前,识别数据和用例需要很长时间。
硬件基础设施
开发人员面临的另一个挑战是引入硬件来支持正在开发的软件。例如,谷歌有自己的TPU来支持TensorFlow。神经形态计算是当前正在探索的一个领域。IBM 有一个名为True North的项目,目的是制造模拟大脑神经元工作方式的芯片。
尽管如此,大脑和电脑之间还是存在着显著的不同形式的因素。前者大约有 1000 亿个神经元,使用 20 瓦的能量;后者有几十亿个晶体管,使用几百瓦的功率。计算机系统可以比人脑更快地做一些事情,因为人脑的运行频率大约是 20 赫兹。芯片上的神经元本质上是二元的,权值在最后,概率输出在 1 和 0 之间。大脑中的神经元会激增,这意味着存在与之相关的时间信号。
架构的影响
在推论和学习之间存在权衡。IBM 试图训练一个机械手臂,它需要几个小时的云计算时间。最终,他们训练了一个神经网络,并将其安装在一个实时工作的树莓派上。也许不是所有的事情都必须在云中完成,有些事情可以在边缘完成,但是这是一个架构上的权衡。
另一个架构因素是人工智能不需要像其他领域那样的精确度。因此,边缘的计算可以不同于其他类型的系统。
正如 John Gall 在其著作《systemfunny》中所指出的那样,每一个成功的大型系统都是从已经运行的小型系统发展而来的。通常,我们使用的这些组件是由其他人构建的,而我们构建的组件将被其他人使用。理解这一点是敏捷、DevOps 和精益(可执行架构的持续发布)的不同哲学之间共同的基础。这与人工智能的世界观截然不同。
作为一名架构师,Booch 研究了一些 AI 系统的架构:Watson 和 Alpha Go。
不管Watson在《Jeopardy》上给人留下多么深刻的印象,它只是一个带有人工智能组件的管道和过滤器架构。你得到一个声明,得到一些潜在的搜索结果,做出一些假设,这些假设可以扩展到成百上千种可能性。然后你开始为这些可能性建立证据。实际上,这是正向链接,用一点反向链接来寻找支持假设的证据。最后你把它减少到前三个选项。人工智能发生在组件内部。自然语言算法用于针对这些选择作出响应。将 AI 组件组合在一起的是管道架构。实际上,管道是开源的UIMA。为了在几毫秒内完成这项工作,还需要大量的硬件。
AlphaGo的核心是一个卷积神经网络。在这个网络之外,它是完整的——下一步要做什么的决定是建立在直接感知的基础上,而不考虑过去的历史。许多自动驾驶汽车使用这种方法。这类架构是反动的;你给它一个状态,它会根据这个状态做出推断。然而,有些事情没有历史是做不到的。例如,一个人类司机看到孩子们在玩一个球,假设他们可能会跳到街上。大多数自动驾驶汽车无法做出这样的判断。
IBM 一直在探索混合架构,比如一个名为 Self 的系统,它结合了这些方法。梯度下降已经存在了几十年。基于Agent的系统可以追溯到 Marvin Minsky 的Society of Mind和blackboard系统。CMU 的道听途说实验也是如此。IBM 一直在探索基于代理的大型系统如何利用黑板与人工智能组件进行机会主义的通信。通过这种方法,他们已经能够构建社交角色、社交机器人和社交空间。
伦理问题
伴随着人工智能的巨大机遇,随之而来的是与之相关的伦理问题。所有软件系统都是力的解析,而这些力取决于你的领域。对于实时系统,比如飞机,错过一个周期就是灾难性的,这与 Web 系统完全不同。所以,你必须要弄清楚是什么塑造了你所建造的东西。
其中一些纯粹是业务力量,如成本、进度或任务。对于其他人来说,它是开发文化或工具。有时是性能、可靠性、可用性或任何其他的“什么什么性”。
随着人工智能系统越来越多地出现伦理和法律问题。Booch 经常说“每一行代码都代表着一个伦理和道德的决定”。即使是参与特定系统构建的决策,或者是设计或编写代码的决策,也会有很大的影响。
结论
开发人工智能系统需要与传统软件开发相同的技能:清晰的抽象、关注点的分离、责任的均衡分配以及尽量保持事情简单。你希望通过增量的和迭代的版本来扩展系统。
当然还有一些尚未解决的问题。其中之一是如何将符号、连接主义者和量子计算模型结合起来。Booch 强烈反对 DeepMind 社区认为人工智能和神经网络将成为系统的中心的观点。
他呼吁大家注意莫拉维克悖论。人类大脑中负责信号处理、视觉皮层和听觉皮层的神经元远远多于决策系统中的神经元。这种分裂出现在今天的混合系统中。围绕它的是针对边缘的人工智能,针对决策处理的符号系统为和传统软件。
正如 Alan Newell 在一次人工智能冬季所观察到的那样,“计算机技术为将智能行为融入世界上所有角落提供了可能性。”有了它,我们就能建造一片神奇的土地。对 Booch 来说,软件是一种无形的语言,它向硬件低声讲述着可能性的故事。今天,软件开发人员是故事讲述者,是那些将要建造魔法世界的人。
查看英文原文:Grady Booch on the Future of AI
评论