关于 “AI 的定义” 这一问题,不同的人有不同的答案。
普通人可能会把 AI 和机器人联系起来,认为 AI 是能够独立行动和思考的人类终结者。但是对于 AI 研究人员来说,AI 就是一套无需明确指令就能够自动得出结果的算法。
虽然这两种回答完全不同,但并不冲突,它们都是正确的。关于 AI,本文的定义如下:
一个由人类创造的带有智能的实体。
无需明确指令就能够自动完成任务。
能够理性甚至感性地思考和行动。
人工智能的历史
智慧生物这一概念由来已久。确切地说,早在中国和埃及开始建造机械的时候,古希腊就已经有关于机器人的神话传说了。而现代人工智能的起源则可以追溯到古典哲学家对于人类思维符号系统的描述。再到上世纪 40 年代和 50 年代,大量来自于不同领域的科学家发起了关于构建类脑的可能性的讨论,掀起了有关人工智能的研究热潮,并且于 1956 年在新罕布尔州汉诺威市达特茅斯学院的一次学术会议上,明确成立了人工智能这一学科。“Artificial Intelligence” 就是由 McCarthy 创造的, McCarthy 现在是公认的 AI 之父。
尽管在过去的几十年里,科学家们得到了良好的基金资助,并且付出了持续努力,但是仍旧没能够使得机器具备智能。因此,70 年代到 90 年代,科学家们不得不面临基金资助的缩减,这一时期也被成为“人工智能的冬天”。幸运的是,1990 年底,美国公司又再次对 AI 提起兴趣。同时,日本政府也提出开发第五代计算机助力推进 AI 发展的政府计划。直至 1997 年,IBM 开发的深蓝里程碑式地打败国际象棋冠军 Garry Kasparov。
得益于计算机硬件的进步,AI 不断发展。政府、公司、企业都开始在某些领域成功地应用 AI 技术。过去 15 年间,Amazon, Google, Baidu 等公司都通过 AI 技术撬动了巨大的商业利益。今天的 AI,已经被嵌入进我们日常使用的网络服务。并且 AI 在各个行业发挥作用的同时,也极大地带动了股票市场。
AI 发展历程图示
人工智能是否具有和人类一样的能力呢?如何进行评判?
假设 AI 已经发展到了一定程度,那么我们该如何评价它与人类智能的差距呢?以下几个角度可以帮助我们衡量 AI 实体和人类智能的相似性:
图灵测试 (Turing Test)
认知建模 (The Cognitive Modelling Approach)
演绎规则 (The Law of Thought Approach)
理性 Agent (The Rational Agent Approach)
图灵测试 图灵测试的基础在于 AI 实体能够和人类进行对话。当人类和 AI 对话时,没能够判断谈话对象是 AI,那么就可以说 AI 已经达到了人类智能的水平。当然,图灵测首先需要 AI 具有以下能力:
自然语言处理。
自然地表达。
基于存储信息进行推理并得出新的结论和回答问题。
模式检测并适应新的环境
认知建模 这个方法试图基于人类认知建立人工智能模型。而要想要获得人类认知的本质,有三种途径:
内省:观察我们的思想,并以此建立模型。
心理实验:对人类进行实验并观察行为特征。
脑成像:使用核磁共振成像来观察大脑在不同场景下的功能,并通过代码复制。
思维规则
思维的规则本质上就是一系列指导我们思想运作和实体行动的逻辑。同样的规则理论上也可以被编码并应用到 AI 算法当中。这个方法存在一定的问题,因为原则意义上 (完全严格按照思维规则)的解决问题的方式,和实际解决问题的方式是有很大差异的,往往需要依赖于语义的细微差别。此外,现实当中人类可能在不具备 100% 可行性条件的时候仍然采取某些行为,这些状态下的思维规则可能是不可复制的。
经济学是研究人们如何根据偏好做出选择的科学。它不仅仅涉及金钱的问题(钱也是人们的偏好在现实世界中表现出来的媒介),还包含有其他重要概念:设计理论、运筹学、马尔科夫决策过程。理解这些概念,有助于我们理解“理性人”和思维规则,进而构建 AI 系统。
神经科学
神经科学研究大脑功能,而 AI 试图复现相同的东西,显然两者的关系密切。它们之间的最大区别在于,计算机的计算速度是人脑的数百万倍,而人脑则在存储容量和连接性方面具有优势。随着计算机硬件和软件的发展,人脑的优势领域正在逐渐被计算机所追赶,但始终存在的一个问题在于,人们至今还不知道如何利用计算机的资源使其达到人类智能。
心理学
心理学可以被认为是神经科学和哲学的中间领域。它试图理解我们神奇的大脑如何对刺激做出反应并且适应环境,而这对于打造智能系统正是很重要的一点。认知心理学将大脑看作是基于目标和信念进行操作的信息处理设备,这一看法与构建 AI 的思想一致。
目前已有许多认知科学理论被编撰成代码,用于构建聊天机器人算法。
计算机工程
计算机工程显而易见地被应用于 AI,但本文将它放在众多学科之后,目的是让读者了解计算机工程基于什么理论或学科来开展应用。计算机工程将把所有的上述理论和概念翻译为机器可读的语言,以便于机器可以进行计算,并且产生人类可以理解的输出。计算机工程的每一次进步都为建立更强大的 AI 开辟了更多的可能性,这些强大的 AI 无不基于先进的操作系统、编程语言、信息管理系统、以及最先进的硬件设施。
存在不同的 AI 系统,以满足不同的需求。对于 AI 的分类,有两种思想,分别被称作 Type 1 和 Type 2。Type 1 基于 AI 的发展程度进行分类,认为 AI 可分为三种:
狭义人工智能 (ANI, Artificial Narrow Intelligence)
目前常见的 AI 都属于弱人工智能,它们被设计来解决指定的某一个问题或完成某一项指定的任务。望文生义,这种 AI 只具备较为单一的能力,比如为网络购物者推荐产品或预测天气。它们可以在某一个特定场景下达到和人类几乎一致的能力,但是这些场景都是相对稳定受控的,只受少数因素的影响。
通用人工智能 (AGI, Artificial General Intelligence)
强人工智能目前仍旧只是一个理论上的概念。它描述的是具有人类水平认知能力的 AI,此类 AI 在较为宽泛的领域(语言处理、图像处理、计算和推理等)都能够表现良好。
我们现在和强人工智能还存在很大的距离,建立强人工智能需要集合众多的弱人工智能系统,并且实现弱人工智能系统之间的通信,在这个基础之上,才有可能具有类似人类推理的能力。而现在,即使强如 IBM 的 Watson 系统,他们拥有世界上最先进的计算机系统,也需要花费长达 40 分钟的时间来模拟神经元 1 秒的活动。Watson 系统的例子,充分说明了人类大脑的巨大复杂性和相互关联性,也说明了利用现有资源构建 AGI 所面临的巨大挑战。
超级人工智能 (ASI, Artificial Super Intelligence)
超人工智能更像是科幻电影里面的存在,是强人工智能经过逻辑演化而产生。无论在制定决策、还是绘画,甚至于社交能力等各个方面,强人工智能系统都能够超越人类,具有更强的能力。
一旦我们实现了强人工智能,AI 将能够迅速提高自己的能力,并进入我们甚至做梦都想不到的领域。虽然AGI和ASI之间的差距相对较小(有人说只有一纳秒,因为这是人工智能学习的速度),但我们通往AGI本身的漫长旅程使这似乎是一个面向未来的概念。
当然,基于同样的思想,AI 也被分为强人工智能(Strong Artificial Intelligence)和弱人工智能(Weak Artificial Intelligence)。这一概念最早被 John Searle 提出。两者的核心区别如下:
弱人工智能
强人工智能
目标较为单一,应用较为局限
目标更多元,应用更广泛
用于单一任务
具有人类水平的智能
通过监督或非监督学习方式处理数据
使用聚类和关联来处理数据
示例:Siri, Alexa
示例:先进机器人
而 Type 2 则是基于具体的功能对 AI 进行分类。
Reactive Machines
是 AI 最基础的形式之一。它不具备先前的记忆,不能够利用历史信息指导行为。虽然它是存在历史最悠久的 AI 之一,但是功能十分有限,只能够针对有限的一系列输入做出反应。最典型的例子就是在 1997 打败国际象棋冠军 Garry Kasparov 的 IBM 深蓝计算机。
AI 在不同的领域被用来分析用户行为,并根据数据给出建议。例如,Google 的预测搜索算法使用用户历史数据来预测用户在搜索栏中下一步要输入什么。Netflix 使用用户历史数据来推荐用户下一部可能要看的电影,让用户沉迷于平台并提高观看时间。Facebook 根据用户历史数据,分析图片中的面部特征,自动给出给朋友加标签的建议。类似的科技公司普遍使用人工智能,以优化消费者的使用体验。上述人工智能的应用本质上都是数据处理,其中包括:
高度依赖 AI
现在,大多数人已经高度依赖Siri和Alexa等应用程序。通过不断接受机器和应用程序的帮助,我们正在丧失创造性思维的能力。完全依赖机器,我们就失去了学习简单生活技能的机会,变得更加懒惰。
需要监督
AI 算法运行良好,效率高,能按程序执行任务。然而,缺点是我们仍然需要不断地监督 AI 程序运作。因为虽然这项任务是由机器完成的,但我们需要确保不会犯错误。一个需要监督的例子是微软的人工智能聊天机器人Tay。聊天机器人通过在线对话学习,模仿少女说话。聊天机器人从学习基本的会话技巧,发展到由于网络恶搞而在推特上发布高度政治不正确的信息。
有监督学习
有监督学习的 ML 算法根据历史数据学习知识。通常使用特定的数据集进行训练,根据该数据集,算法将生成一个预测函数。使用这个预测函数来预测最终输出。
被称为有监督学习,是因为需要使用特定的数据集来训练算法,以帮助它形成预测函数。并且数据集被明确地标注,以帮助算法更好地“理解”数据。该算法可以将预测输出与标注的输出进行比较,从而修正模型,使模型更加精确。