什么是人工智能?什么是神经网络?什么是深度学习?人工智能会威胁人类吗?人工智能会是泡沫吗?本文简要介绍了人工智能和机器学习的发展历程,适用于非人工智能专业领域,但对该领域有所好奇的群体。本文许多内容引用自南京大学周志华教授的《机器学习》及相关材料。
1.1 人工智能是什么
人工智能(artifical intelligence, AI)是让机器完成那些让人来做则需要智能的科学。要了解人工智能是什么,首先需要知道智能是什么。那什么是智能呢?是 IQ?是记忆力?还是计算能力?在这些方面,计算机都已经远超过了一般意义上的人类,但是我们并不认为这些计算机具有智能。事实上,我们能够列举出若干的行为或表现是智能的,例如可以通过视觉和声音对外界环境进行感知、能语言沟通、能够独立进行决策等等,但是无法直接定义什么是智能。这么说来,人工智能研究了几十年,结果连最基础的智能是什么都搞不清楚?
如果非要定义出“智能”是什么,我们将会陷入哲学的纠缠中。没关系,我们可以绕开这个问题,比如规定一个测试,这是一个可操作的标准,通过这个测试就认为具有了智能。比如说,我们难以直接定义什么是具有驾驶能力,但是我们可以定义一个驾照考试,通过考试就认为具备驾驶能力。图灵(Turing)测试有助于躲避试图定义“智能”的哲学泥沼。在介绍图灵测试之前,请允许我怀着激动的心情介绍计算机科学领域最重要的人物——图灵。
现在我们来看看图灵测试是什么:
这个定义看上去好像有点绕,举个例子。晚上你一个人在和陌生的“队友”在匹配吃鸡,玩着玩着你发现这个“队友”操作有点奇怪,你想知道这个“队友”是真人还是机器人。于是你通过游戏聊天系统问这个“队友”一系列问题,如果你问了半天还是搞不清楚对方是真人还是机器人,说明机器通过了图灵测试。
能否认为通过图灵测试就具有了智能?最近图灵测试被一些媒体炒的比较热,时不时会有新闻报道某产品通过或接近通过了图灵测试。图灵测试的本质是从表现评判智能:如果机器表现得具有智能,我们就认为它具有智能。Searle(希尔勒)的中文屋子实验(Chinese room argument)说明即使通过测试,也未必具有智能:
为什么选中文是当时西方世界觉得中文是十分难学的语言。在中文屋子实验中,西尔勒博士扮演计算机中的CPU,房子内的英语的指令手册相当于程序,把中文答案写在纸上相当于写在存储器上。虽然,看起来他能处理输入的中文问题,并给出正确答案(如同一台计算机通过了图灵测试,但是,他实际上对那些问题毫无理解,不理解其中的任何一个词。现在的机器翻译系统就是这样,机器可以将一种语言翻译为另一种语言,但是它并不理解句子的含义,只是在执行程序,我们不认为这样的机器翻译系统真正具有智能。
另一方面,图灵测试存在“人为陷阱”,有的问题机器很容易回答而人类则答不上来,因此计算机还需要知道人类的智能水平,要在一些场合故意表现得“笨”一些才能通过图灵测试,这已经超过了数学和计算机科学的研究范围。总之,通过图灵测试对于严肃的人工智能来说不是一个明智的研究和发展目标。即使能制造这样的机器,还会认为这不是智能的。另一方面,这个目标本身能否通过还有待哲学家进一步思考。现在有许多哲学系的教授也在研究人工智能,发表了一些论文或者有一些公开演讲,我们计算机科学家和他们的立场不一样,关心和思考的问题因此也不一样。
那么,人工智能的目标是什么?人工智能的研究者不是一拨人,大致可分为两拨人:(1). 强人工智能(general AI,有人简称为GAI或者AGI),其目的是研制出达到甚至超越人类智慧水平的机器,具有心智和意识、能根据自己的意图开展行动。(2). 弱人工智能(weak AI):借鉴人类的智能行为,研制出更好的工具以减轻人类智力劳动,让机器做事情时聪明一点。需要注意的是,强人工智能和弱人工智能是相互独立的关系,并不是现在我们实现弱人工智能,未来有更多的计算资源或其他因素再追求强人工智能。国际主流人工智能学界所持的目标是弱人工智能。人工智能技术现在所取得的进展和成功,是原于弱人工智能而不是强人工智能的研究。弱人工智能研究的主要目的并不是人造智能,而是受智能启发的计算(intelligence-inspired computing)。事实上,强人工智能还涉及科学研究的伦理问题,这也是主流人工智能学界不往这个方向努力的原因之一。强人工智能具有自主意识,能力全面超越人类,将不再是能被人类控制的工具,无法保证它的 “利益” 与人类一致。
是否应该担心所谓的人工智能的奇点和人工智能威胁论?现在虽然人工智能在图像识别、语音识别、棋类游戏等一些领域达到甚至超越人类水平,但它们都是在考虑特定类型的智能行为,它们能并且只能完成这些特定类型的智能行为,不具有也无需考虑自主心智、独立意识、甚至情感。人工智能的研究受到了人类智能行为的启发,就像飞机的研究受到鸟飞行的启发一样,担心人工智能威胁人类就像是担心造出来的飞机会不会像鸟一样下蛋、会不会生出小鸟一样。现在宣传人工智能的奇点和人工智能威胁论的人中,有人因为不了解、有人因为个人名望、而有人故意宣传。现在需要担心的反而是另一方面,现在的人工智能技术还不够强大和可靠,过早地将自主驾驶车辆、电网管理、自主武器系统等高风险决策交予计算机将存在隐患,只要机器学习组件中存在一点错误,人工智能技术的过早部署都将可能导致重大的生命损失。人工智能只是一个工具,像是一把西瓜刀,对人类造福还是灾难取决于用它的人。
读者可能继续会问,虽然AlphaGo只能下围棋,但是深蓝(Deep Blue)可以下象棋,其他领域还有其他领域领先的人工智能技术,把它们都综合起来,功能都放到一台电脑里,是不是就可以天下无敌了呢?答案是否定的,对人工智能来说,每个问题的解决方案(专业的说法叫算法)是根据这个问题量身打造的,即使把这些最优秀的技术都组装到同一台电脑中,这些技术也是各干各的事情,谁也不听谁的,没有合作协调的能力。毕竟计算机只能执行设定好的程序。
此外,有读者可能听说过AlphaGo的升级版已经不需要人类棋谱,单纯靠自己和自己对下,就可以达到世界领先的水平。这种左右互搏,主要目的是为了积累数据,其基础算法没有改变,左右再互搏,AlphaGo也只能下围棋。
1.2 人工智能发展的三个时期
1956 年夏美国达特茅斯会议标志人工智能学科诞生,这个会议参加者包括McCarthy、Minsky、香农(Shannon)等。本文会顺便简要介绍人工智能领域的图灵奖得主。读者都知道诺贝尔奖,由于诺贝尔的时代早了一点,那个时候还没有计算机,所以没有诺贝尔计算机科学奖。图灵奖是计算机科学领域的最高奖项。
随后,人工智能的发展经历了三个时期,并且中间穿插两次寒冬期。
推理期
第一次寒冬
知识期
第二次寒冬
学习期
似乎和直觉相违背,人工智首先能解决的是逻辑推理这种“高难度”人工智能,而现在反而专注解决看图片、听声音这种几岁小朋友就可以做到的“低难度”人工智能。这个现象称作莫拉维克悖论(Moravec's paradox)。计算机很擅长完成有规则固定、目标明确、需要理性的任务,而由于语义鸿沟(semantic gap)现象,计算机理解图像、理解声音很难。人类的“听说看”,看似是一种直觉和本能,实际上经过了十分漫长和复杂的进化。
人工智能会出现第三次寒冬吗?在计算机科学的所有分支中,人工智能可能是公众最感兴趣的。但由于科普程度不够,在每一次大发展之后,社会上往往对其抱有不切实际的幻想。当那些超前的设想在技术上遇到困难时,过高的期望转变为普遍的质疑,整个研究领域也随之遇冷。前两次人工智能遇到寒冬的原因大致如此。蒸汽机和电力技术一定程度上将人类从繁重的体力劳动中解放出来从而集中于智力劳动,人工智能目标将人类从重复性强的简单智力劳动中解放出来,从事更高层次的智力活动。未来可能人工智能不像现在这么举世瞩目,但这个趋势是不可逆转的。
机器学习(machine learning, ML)旨在通过计算的手段,利用经验(数据)来改善系统自身的性能。机器学习目前成为热潮的原因?现在人类社会的各个角落都积累了大量的数据,亟需能有效地对数据进行分析利用的计算机算法。机器学习恰好顺应了大时代的这个迫切需求。机器学习本身作为“突破知识工程瓶颈”利器出现,但发展到今天主要研究智能数据分析(利用计算机分析数据)的理论和算法,其影响力和意义可能已经超过人工智能本身。大数据时代的三大关键技术:机器学习(数据分析)、云计算(数据处理)、众包(数据标记)。
什么场景不适合机器学习?太“简单”或太“困难”的问题不适合用机器学习。太“简单”的问题包括:(1). 可以手工计算出或利用计算机得出问题的解。例如找到两点之间的最短路径。太“困难”的问题包括:(1). 特征信息不充分。例如重要特征信息没有获得。(2). 样本信息不充分。例如仅有很少的数据样本。(3). 问题本身不存在潜在规律。例如预测下次抛硬币是正面还是反面。
1.3 机器学习与相关领域
机器学习和统计、统计学习的区别和联系?传统统计学往往醉心于理论的优美而忽略实际效用,统计学的研究成果通常需要经由机器学习的研究来形成有效的学习算法。机器学习是人工智能中的一个领域,统计学习只是只是利用机器学习解决人工智能问题的一种手段。另一方面,统计学习中一部分研究者是统计学家,他们关注的是如何把统计学中的理论和方法变成可以在计算机上有效实现的算法。而并不关心这样的算法对人工智能中的什么问题有用。
模式识别(pattern recognition)使用计算机算法来自动地发现数据中的规律,并利用这些规律进行决策。传统机器学习很少关注数据采集过程,而通过对数据进行数学上的假设和约束来设计学习算法。模式识别关注从数据采集、特征提取/学习、模型学习、评估和部署的全过程,其中机器学习为模式识别提供数据分析技术。
2.1 机器学习的三个流派
符号主义(symbolism)
统计学习(statistical learning)
连接主义(connectionism)
2.2 深度学习
人工神经网络和生物神经网络的联系和区别?早期的人工神经网络设计确实受到生物神经网络的启发,但有效的人工神经网络学习算法大多以数学推理为支撑。可以将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数相互嵌套代入而得。就像研制飞机需要的是物理中的空气动力学而不是鸟的生物学知识,人工神经网络的研究更需要计算机科学和数学知识,而不是认知科学和神经科学知识。另一方面,现在人类对大脑的研究还处于十分初步的阶段,人类大脑都还没有研究清楚,就想仿造一个人工大脑出来,这是不可能的。
人工神经网络的可塑性-稳定性窘境是什么?可塑性(plasticity)是指神经网络要有学习新知识的能力,稳定性(stability)是指神经网络在学习新知识时要保持对旧知识的记忆。通俗讲,可塑性-稳定性窘境是学了新的忘了旧的,现在让你回忆中学时候的三角函数、圆锥曲线大多数都想不起来了。
人工神经网络发展的几起几落及原因?
事实上,神经网络的几次高潮和数据储量和计算设备的发展有很大关系。神经网络第一次高潮得益于二十世纪五十年代现代电子计算机的广泛应用,第二次高潮得益于Intel x86系列微处理器与内存条技术的广泛应用,而第三次高潮得益于图形计算单元(graphics processing units,GPU)的广泛应用。相比之下,神经网络是相对最容易利用新增计算能力的机器学习方法。
深度学习目前成为热潮的原因?(1). 大量的数据。深度学习模型容量大、过拟合风险高。大数据是最简单有效的缓解过拟合的方法。(2). 强力的计算设备(例如GPU)。能够训练如此复杂的模型。(3). 有效的算法(例如使用修正线性函数(rectified linear unit,ReLU)替代Sigmoid 激活函数、合适的参数初始化等)。事实上,因果关系应该是反过来,我们要用深度学习,所以才会考虑上面这些因素。
深度学习为什么要深?增加隐层数目是提高神经网络容量的一个简单方法。虽然通过单纯增加神经元数目也可以增加模型复杂度,但实际上加深网络(增加隐层数目)比加宽网络(增加隐层神经元数目)更有效。这是因为加深网络不仅增加了拥有激活函数的神经元数目,还增加了激活函数嵌套的层数。在现实任务中如何设计隐层神经元个数仍是个未决问题,通常靠试错法(trial-by-error),我们通常会用一个非常深的神经网络来保证足够的网络容量。
人工神经网络的万有逼近定理:当隐层神经元个数足够多时,单隐层前馈神经网络能以任意精度逼近任意复杂度的连续函数。
深度学习有效的原因?其表示学习(representation learning)的能力。深度学习的多隐层堆叠、每层对上一层的输出进行处理的机制,可以看做是对输入样本进行加工,从而把初始的、与输出标记之间联系不太密切的输入表示,转化成与输出目标联系更密切的表示,之后用简单模型即可完成复杂的学习任务。以往机器学习用于现实任务时,描述样本的特征通常需由人类专家来设计,这称为特征工程(feature engineering)。特征的好坏对泛化性能有至关重要的影响,人类专家设计出好特征也并非易事。特征学习则通过机器学习技术自身来产生好特征,这使得机器学习向全自动数据分析又前进了一步。简而言之,深度学习能有效进行表示学习的原因在于: 逐层处理、特征变换、足够的模型复杂度。
端到端学习是否应该是我们追求的目标?不应该。是否要采用端到端学习(end-to-end learning)的一个重要考虑因素是: 有没有足够的数据对应端到端的过程,以及我们有没有一些领域知识能够用于整个系统中的一些模块。
参考文献
上一篇:抖音音乐推广,怎么推?