原文链接:Introduction to AI
上一章:人工智能入门课程
下一章:二、知识表示(Knowledge Representation)和专家系统(Expert Systems)
更多章节:人工智能入门课程
目录
图解
图像由 Tomomi Imura提供
课前练习
人工智能(artificial intelligence)是一门令人兴奋科学学科,它研究如何使计算机表现出智能行为,比如做那些人类擅长做的事情。
最初,计算机是由查尔斯.巴贝奇发明的,用来按照明确定义的程序(一种算法)来进行数字计算。现代计算机,尽管明显的比19世纪提出的原始模型要先进的多,但仍然遵循受控计算的相同理念。因此,如果我们知道实现目标所需的确切执行步骤,就可以对计算机进行编程来执行某些操作。
照片由 Vickie Soshnikova提供
✅ 通过一个人的照片确定他或者她的年龄,并不是一个可以明确编程的任务,因为我们不知道在这么做时,我们是如何在大脑里得出这个数字的。
然而,有一些任务我们并不明确知道如何解决。考虑从一个人的照片推断他/她的年龄。我们以某种方式学会了这么做,因为我们见过很多不同年龄段的人的照片,但是我们不能明确的解释我们是如何做到,我们也无法编程让计算机通过照片识别人的年龄。这正是人工智能(简称AI)关注的任务类型。
✅ 想想您能转交一些任务给计算机执行,从而从AI中受益。想象经济,医药,和艺术领域-如今这些领域如何从人工智能中受益?
弱AI与强AI
弱人工智能(Weak AI) | 强人工智能(Strong AI) |
弱人工智能是指那些为特定任务或者一小部分任务而设计和训练的人工智能系统。 | 强人工智能,或者说通用人工智能(Artificial General Intelligence/AGI),是指能够媲美人类的智能和理解力的人工智能系统。 |
这些人工智能系统不是通用智能;他们擅长执行预定义的任务但缺乏真正的理解能力和意识。 | 这些人工智能系统拥有执行人类能够执行的任何任务的能力,适用于不同的领域,并且拥有某种形式的意识或者自我意识。 |
弱人工智能的例子包括虚拟助手Siri或Alexa,流媒体服务器使用的推荐算法,以及为特定的客户服务任务而设计的聊天机器人。 | 实现强人工智能是人工智能研究的一个长期目标,需要开发能够推理,学习,理解和适用各种任务和环境的人工智能系统。 |
弱人工智能是一个高度专业化的,不具有人类一样的认知能力或者超出其狭窄领域的一般问题的解决能力。 | 强人工智能目前仅仅是一个理论概念,并没有任何人工智能系统达到了这个层级的通用智能水平。 |
更多有关信息请参阅 通用人工智能 (AGI).
智能的定义和图灵测试
关于“智能”这个术语的一个重要问题是,没有一个关于这个术语的清晰的定义。人们可以说智能与抽象思维或者自我意识有关,但是我们无法准确定义它。
由 Amber Kipp 在Unsplash拍摄
要了解“智能”一词的歧义,请尝试回答一个问题:“猫是否有智能?”不同的人往往会对给出不同的答案,因为没有一个普遍接受的测试来证明这个断言是否正确。如果你认为有-请尝试让你的猫进行智力测试...
✅ 想一想你如何定义智能。能通过迷宫并找到食物的乌鸦是否有“智能”?小孩子是否有“智能”。
当讨论通用人工智能(AGI),我们需要有某种办法判断我们是否已经创建了真正的智能系统。艾伦.图灵提出了一种叫做图灵测试的方法,它同时被当作“智能”的定义。图灵测试通过将给定的系统和某些本质上具有智能的智能体-真人进行比较,因为任何自动化比较都能够被计算机程序绕过,我们采用真人来询问。因此,如果人类无法在基于文本的对话中区分真人和一个计算机系统,那么这个系统就被认定为“智能”的。
圣彼得堡开发的一款叫做尤金.古斯曼特(Eugene Goostman)的聊天机器人,在2014年,凭借巧妙的个人技巧差点通过了图灵测试。它宣称他是一个13岁的乌克兰男孩,这可以解释它聊天过程中的某些知识的匮乏和文字方面的一些差异。经过5分钟的聊天后,30%的评委相信这个聊天机器人是一个人类,图灵认为这一指标在2000年就有机器能够通过。然而我们应该明白,这并不意味着我们已经创造了一个智能系统,或者说计算机系统愚弄了人类智者-这并不是系统愚弄了人类,而是聊天机器人的创造者愚弄了大家。
✅ 你是否曾经被聊天机器人愚弄,以至于你以为你正在与人类沟通?它是如何让你相信它的。
人工智能的不同实现方法
如果我们想让计算机表现的像一个人,我们需要在计算机上,以某种方式模拟我们的思维方式。因此,我们需要尝试明白是什么使人类变得聪明。
为了能够编程使机器“智能”,我们需要明白我们的决策过程是如何运作的。如果你做一点自我反省,你将会意识到,有一些决策过程在你潜意识中发生了--例如,我们能不经思索的分辨猫和狗--而其他的某些则需要推理。
解决这个问题有两种可能的方法:
自上而下的方法 (符号推理) | 自下而上的方法 (神经网络) |
自上而下的方法模拟人类推理解决问题的方式。它涉及从人类那里提取知识,并且以计算机能够理解的形式表示。同时我们还需要在开发一种在计算机内部推理建模的方式。 | 自下而上的方法模拟人类大脑的结构--由大量的叫做神经元的简易单元组成。每个神经元代表它的输入的加权平均值,我们可以通过提供训练数据来训练一组神经网络以解决有价值的问题 |
还有一些其他可能的方法来实现“智能”:
- 一个新兴的,协同的或者多智能体(agent)的方法是基于如下事实作为依据:大量的简单智能体的相互作用,可以获得复杂的智能行为。根据进化控制论,在元系统转变过程中,从更简单的、反应性的行为中可以产生“智能”。
- 进化方法、或者遗传算法是一种基于进化原理的优化过程。
我们将在课程的后续中考虑这些方法,但现在我们将重点关注以下两个主要方向:自上而下的方法(符号推理)和自下而上的方法(神经网络)
自上而下的方法
在自上而下的方法中,我们尝试对我们的推理进行建模。因为当我们推理时,我们能够跟踪我们的想法,并尝试规范化这个过程,并且在计算机上编程实现它。这被称为“符号推理”。人们脑海中往往有一些规则来指导他们的决策过程。例如,当一个医生在诊断病人时,他/她意识到如果病人发烧了,则他身体内可能存在炎症。通过应用大量规则来于特定的问题,医生能够得出最终的诊断结果。
这种方法高度依赖于知识表示和推理。从人类专家那里提取知识可能是最困难的部分,因为医生在很多情况下可能无法确切知道他/她自己根据什么给出特定的诊断结果。在某些情景下,他/她仅仅是凭潜意识给出诊断结果。某些任务,比如从照片确定一个人的年龄,无法分解成可实施的知识信息。
自下而上的方法
或者,我们可以尝试模拟我们大脑中最小的元素--神经元。我们能够在计算机内部构建一个所谓的“人工神经网络”,然后通过给它给它示例,来教它解决问题。这个过过程类似于人类新生儿通过观察来了解他周围的环境。
✅ 对婴儿如何学习进行一些研究。婴儿大脑的最基本组成元素是什么?
那么机器学习呢? | |
部分人工智能是基于计算机的对数据的学习来解决问题叫做“机器学习”。我们不会在这个课程中进行讨论--我们建议您学习独立的《机器学习入门》课程。 | |
人工智能简史
人工智能作为一个独立领域开始于二十世纪中期。最初,符号推理是最流行的方法,它引领了许多重要的成功,比如专家系统--一种在某些有限的问题领域能够作为专家的计算机程序。然而,很快我们就发现,这种方法无法很好的扩展。从专家那里提取知识,将其在计算机中进行表示,并保障知识库的准确性,是一个非常复杂的任务,并且在很多情况下因成本太高而不实用。这导致了直到1970年的所谓的人工智能之冬。
图像由Dmitry Soshnikov提供
随着时间推移,计算机资源变得更便宜,可用数据也越来越多,神经网络方法开始在计算机视觉和语音理解等很多领域与人类竞争时,表现出更出色的性能。在过去十年,“人工智能”一词几乎成为了“神经网络”的代名词,因为几乎所有的人工智能的成功,都是基于神经网络。
我们能够观察到人工智能使用的方法是如何改变的,例如,在创造国际象棋下棋程序时:
- 早期,国际象棋程序是基于搜索的--程序明确的估计对手在给定数量的下一步行动中可能采取的行动,并根据几次行动中可以达到的最佳位置,选择最佳行动。这引领了被称作“alpha-beta剪枝(alpha-beta pruning)”的搜索算法的研发。
- 搜索策略在游戏快结束时表现很好,因为此时搜索空间受到可移动空间很少的限制。然而,在游戏才开始时,搜索空间巨大,可以通过学习人类玩家之间的已有比赛,来改进算法。随后的经验产生了所谓的“基于案例的推理”(case-based reasoning)算法,程序通过在知识库中查找与现在游戏中当前位置最相似的样例来决策。
- 现代,战胜人类的程序都是基于“神经网络”和“强化学习”,程序通过长时间的与自己对弈,并从自己的错误中学习如何下国际象棋棋--就像人类学习下国际象棋那样。然而,计算机程序能够在更短的时间内,玩更多局游戏,因此计算机可以更快的学习。
✅ 对其他的人工智能参与的游戏进行一些研究。
同样的,我们能够发现实现创建“对话程序”的方法(可能通过图灵测试)是如何改变:
- 早期的这种程序,比如说Eliza,是基于非常简单的语法规则以及将输入的句子重新表述为问题。
- 当代的语音助手,(比如说Cortana, Siri or Google Assistant)都是混合系统,他们使用神经网络来将语音转换为文本,并识别我们的意图,然后使用推理或明确的算法来执行所需要的操作。
在未来,我们也许能够期待存在一个完整的基于神经网络的模型能够自行处理对话。最近的GPT和Turing-NLG系列神经网络在这方面取得了巨大的成功。
图像由 Dmitry Soshnikov提供
照片由Unsplash的 Marina Abrosimova提供
最近的人工智能研究
近年来,神经网络的研究的巨大增长始于2010年,当时大规模的公开数据集开始变得可用。一个大型图像数据集被称为 ImageNet,包含了大概1400万张带有注释的图像,由此诞生了ImageNet大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge)。
图像由Dmitry Soshnikov提供
在2012年,卷积神经网络(CNN)首次被应用于图像分类,分类的错误率显著下降(从近30%下降到16.4%)。在2015年,微软研究的ResNet架构实现了人类水准的准确度。
从那时候起,神经网络在很多任务中取得了很大的成功:
2015 | |
2016 | |
2018 | |
2020 |
过去的几年中,我们见证了BERT和GPT-3等大语言模型的巨大成功。这些成功的主要原因是,我们有非常多的可用通用文本数据,供我们用来训练模型来提取文本的结构和含义;在通用文本数据集上对模型进行预训练,然后再研究将这些模型用于更具体的任务。我们在本课程的后续部分将了解更多的关于自然语言处理(NLP)的知识。
浏览一下互联网,以确定您认为人工智能最有效的应用领域。是地图应用,还是某些语音转文本的服务,还是视频游戏?研究这些系统是如何构建的。
课后练习
复习与自学
通过阅读这篇,复习人工智能和机器学习的历史。从机器学习历史这节课或者本节课的顶部的草图概述中选择一个方向,对它进行更深入的研究,以理解其演进的文化背景。
作业
上一章:人工智能入门课程
下一章:二、知识表示(Knowledge Representation)和专家系统(Expert Systems)
更多章节:人工智能入门课程