人工智能(AI)已经走入了普通大众的视野,我们在生活中可以看到很多跟 AI 相关的产品。比如 Siri、AI 美颜、AI 换脸…
虽然大家听得多,但是大部分人并不了解 AI,甚至存在一些误解。这个文档不涉及任何技术细节,只帮助理解人工智能的本质。
什么是人工智能?
很多人对人工智能都会存在一些误解:
- 电影里的机器人就是人工智能的典型代表
- 人工智能好像是无所不能的
- 人工智能未来会威胁到人类的生存
- ……
大家之所以对人工智能存在很多误解,主要是因为大家只是看到一些人的言论,但是并不了解 AI 的基本原理。
我们用传统软件和人工智能进行比较,有了参照系就更容易理解一些。
传统软件 VS 人工智能
传统软件
传统软件是“if-then”的基本逻辑,人类通过自己的经验总结出一些有效的规则,然后让计算机自动的运行这些规则。传统软件永远不可能超越人类的知识边界,因为所有规则都是人类制定的。
简单的说:传统软件是“基于规则”的,需要人为的设定条件,并且告诉计算机符合这个条件后该做什么。
这种逻辑在处理一些简单问题时非常好用,因为规则明确,结果都是可预期的,程序员就是软件的上帝。
但是现实生活中充满了各种各样的复杂问题,这些问题几乎不可能通过制定规则来解决,比如人脸识别通过规则来解决效果会很差。
人工智能
人工智能现在已经发展出很多不同分支,技术原理也多种多样,这里只介绍当下最火的深度学习。
深度学习的技术原理跟传统软件的逻辑完全不同:
机器从“特定的”大量数据中总结规律,归纳出某些“特定的知识”,然后将这种“知识”应用到现实场景中去解决实际问题。
这就是人工智能发展到现阶段的本质逻辑。而人工智能总结出来的知识并不是像传统软件一样,可以直观精确的表达出来。它更像人类学习到的知识一样,比较抽象,很难表达。
人工智能是一种工具
AI 跟我们使用的锤子、汽车、电脑……都一样,其本质都是一种工具。
工具必须有人用才能发挥价值,如果他们独立存在是没有价值的,就像放在工具箱里的锤子一样,没有人挥舞它就没有任何价值。
人工智能这种工具之所以全社会都在说,是因为它大大扩展了传统软件的能力边界。之前有很多事情计算机是做不了的,但是现在人工智能可以做了。
但是不管怎么变,传统软件和人工智能都是工具,是为了解决实际问题而存在的。这点并没有变化。
目前人工智能只解决特定问题
《终结者》《黑客帝国》…很多电影里都出现了逆天的机器人,这种电影让大家有一种感觉:人工智能好像是无所不能的。
实际情况是:现在的人工智还处在单一任务的阶段。
单一任务的模式
打电话用座机、玩游戏用游戏机、听音乐用MP3、开车用导航…
多任务模式
这个阶段类似智能手机,在一台手机上可以安装很多 App,做很多事情。
但是这些能力还是相互独立的,在旅行App上定好机票后,需要自己用闹钟App定闹钟,最后需要自己用打车App叫车。多任务模式只是单一任务模式的叠加,离人类智慧还差的很远。
融会贯通
你在跟朋友下围棋,你发现朋友的心情非常不好,你本来可以轻松获胜,但是你却故意输给了对方,还不停的夸赞对方,因为你不想让这个朋友变得更郁闷,更烦躁。
在这件小事上,你就用到了多种不同的技能:情绪识别、围棋技能、交流沟通、心理学…
但是大名鼎鼎的 AlphaGo 绝对不会这么做。不管对方处在什么情况下,哪怕输了这盘棋会丧命,AlphaGo 也会无情的赢了这场比赛,因为它除了下围棋啥都不会!
**只有将所有的知识形成网状结构,才能做到融会贯通。**例如:商业领域可以运用军事上的知识,经济学也可以用到生物学的知识。
知其然,但不知所以然
当下的人工智能是从大量数据中总结归纳知识,这种粗暴的“归纳法”有一个很大的问题是:
并不关心为什么
庞氏骗局类的诈骗手段就充分利用了这一点!
-
它利用超高的回报来吸引韭菜,然后让早起参与的所有人都赚到钱;
-
当旁观者发现所有参与者都真实赚到了钱,就简单的归纳为:历史经验说明这个靠谱。
-
于是越来越多的人眼红,加入,直到有一天骗子跑路。
当我们用逻辑来推导一下这个事情就能得出骗子的结论:
-
这么高的回报并不符合市场规律
-
稳赚不赔?我不需要承担高回报的高风险?好像不太合理
-
为什么这么好的事情会落在我头上?好像不太对劲
正是因为当下的人工智能是建立在“归纳逻辑”上的,所以也会犯很低级的错误
也正是因为归纳逻辑,所以需要依赖大量的数据。数据越多,归纳出来的经验越具有普适性。
人工智能的发展历史
从1950年至2017年之间,人工智能领域出现的一些里程碑式的事件。总结下来会分为3大阶段:
第一次浪潮(非智能对话机器人)
20世纪50年代到60年代
1950年10月,图灵提出了人工智能(AI)的概念,同时提出了图灵测试来测试 AI。
图灵测试提出没有几年,人们就看到了计算机通过图灵测试的“曙光”。
1966年,心理治疗机器人 ELIZA 诞生
那个年代的人对他评价很高,有些病人甚至喜欢跟机器人聊天。但是他的实现逻辑非常简单,就是一个有限的对话库,当病人说出某个关键词时,机器人就回复特定的话。
第一次浪潮并没有使用什么全新的技术,而是用一些技巧让计算机看上去像是真人,计算机本身并没有智能。
第二次浪潮(语音识别)
20世纪80年代到90年代
在第二次浪潮中,语音识别是最具代表性的几项突破之一。核心突破原因就是放弃了符号学派的思路,改为了统计思路解决实际问题。
在《人工智能》一书中,李开复详细介绍了这个过程,他也是参与其中的重要人物之一。
第二次浪潮最大的突破是改变了思路,摒弃了符号学派的思路,转而使用了统计学思路解决问题。
第三次浪潮(深度学习+大数据)
21世纪初
2006年是深度学习发展史的分水岭。杰弗里辛顿在这一年发表了《一种深度置信网络的快速学习算法》,其他重要的深度学习学术文章也在这一年被发布,在基本理论层面取得了若干重大突破。
之所以第三次浪潮会来主要是2个条件已经成熟:
2000年后互联网行业飞速发展形成了海量数据。同时数据存储的成本也快速下降。使得海量数据的存储和分析成为了可能。
GPU 的不断成熟提供了必要的算力支持,提高了算法的可用性,降低了算力的成本。
在各种条件成熟后,深度学习发挥出了强大的能力。在语音识别、图像识别、NLP等领域不断刷新纪录。让 AI 产品真正达到了可用(例如语音识别的错误率只有6%,人脸识别的准确率超过人类,BERT在11项表现中超过人类…)的阶段。
第三次浪潮来袭,主要是因为大数据和算力条件具备,这样深度学习可以发挥出巨大的威力,并且 AI 的表现已经超越人类,可以达到“可用”的阶段,而不只是科学研究。
人工智能3次浪潮的不同之处
- 前两次热潮是学术研究主导的,第三次热潮是现实商业需求主导的。
- 前两次热潮多是市场宣传层面的,而第三次热潮是商业模式层面的。
- 前两次热潮多是学术界在劝说政府和投资人投钱,第三次热潮多是投资人主动向热点领域的学术项目和创业项目投钱。
- 前两次热潮更多时提出问题,第三次热潮更多时解决问题。
人工智能的能力边界
人工智能的3个级别
弱人工智能
弱人工智能也称限制领域人工智能(Narrow AI)或应用型人工智能(Applied AI),指的是专注于且只能解决特定领域问题的人工智能。
例如:AlphaGo、Siri、FaceID……
强人工智能
又称通用人工智能(Artificial General Intelligence)或完全人工智能(Full AI),指的是可以胜任人类所有工作的人工智能。
强人工智能具备以下能力:
-
存在不确定性因素时进行推理,使用策略,解决问题,制定决策的能力
-
知识表示的能力,包括常识性知识的表示能力
-
规划能力
-
学习能力
-
使用自然语言进行交流沟通的能力
-
将上述能力整合起来实现既定目标的能力
超人工智能
假设计算机程序通过不断发展,可以比世界上最聪明,最有天赋的人类还聪明,那么,由此产生的人工智能系统就可以被称为超人工智能。
我们当前所处的阶段是弱人工智能,强人工智能还没有实现(甚至差距较远),而超人工智能更是连影子都看不到。所以“特定领域”目前还是 AI 无法逾越的边界。
人工智能的能力边界是什么?
从理论层面来解释 AI 的能力边界,就要把图灵大师搬出来了。图灵在上世纪30年代中期,就在思考3个问题:
- 世界上是否所有数学问题都有明确的答案?
- 如果有明确的答案,是否可以通过有限的步骤计算出答案?
- 对于那些有可能在有限步骤计算出来的数学问题,能否有一种机械,让他不断运动,最后当机器停下来的时候,那个数学问题就解决了?
图灵****还真设计出来一套方法,后人称它为图灵机。今天所有的计算机,包括全世界正在设计的新的计算机,从解决问题的能力来讲,都没有超出图灵机的范畴。
通过上面的3个问题,图灵已经划出了界限,这个界限不但适用于今天的 AI ,也适用于未来的 AI 。
- 世界上有很多问题,只有一小部分是数学问题
- 在数学问题里,只有一小部分是有解的
- 在有解的问题中,只有一部分是理想状态的图灵机可以解决的
- 在后一部分(图灵机可解决的部分),又只有一部分是今天的计算机可以解决的
- 而 AI 可以解决的问题,又只是计算机可以解决问题的一部分。
在一些特定场景中, AI 可以表现的很好,但是在大部分场景中,AI 并没有什么用。
哪些工作会被人工智能替代?
李开复提出过一个判断依据:
如果一项工作,它做决策的时间在 5 秒钟以内,那么大概率是会被人工智能取代的。
这种工作有4个特点:
- 做决策所需要的信息量不大
- 做决策的过程并不复杂,逻辑简单
- 能独自完成,不需要协作
- 重复性工作
科学家总结出了3个人工智能很难替代的技能:
- 社交智慧(洞察力、谈判技巧、同理心…)
- 创造力(原创力、艺术审美…)
- 感知和操作能力(手指灵敏度、协调操作能力、应付复杂环境的能力…)
机器学习 – machine learning | ML
机器学习、人工智能、深度学习是什么关系?
1956 年提出 AI 概念,1959亚瑟·塞缪尔(Arthur Samuel )就提出了机器学习的概念:
Field of study that gives computers the ability to learn without being explicitly programmed.
机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。
所以,机器学习不是某种具体的算法,而是很多算法的统称。
机器学习包含了很多种不同的算法,深度学习就是其中之一,其他方法包括决策树,聚类,贝叶斯等。
深度学习的灵感来自大脑的结构和功能,即许多神经元的互联。人工神经网络(ANN)是模拟大脑生物结构的算法。
不管是机器学习还是深度学习,都属于人工智能(AI)的范畴。所以人工智能、机器学习、深度学习可以用下面的图来表示:
什么是机器学习?
机器学习的基本思路
- 把现实生活中的问题抽象成数学模型,并且很清楚模型中不同参数的作用
- 利用数学方法对这个数学模型进行求解,从而解决现实生活中的问题
- 评估这个数学模型,是否真正的解决了现实生活中的问题,解决的如何?
无论使用什么算法,使用什么样的数据,最根本的思路都逃不出上面的3步!
当我们理解了这个基本思路,我们就能发现:
不是所有问题都可以转换成数学问题的。那些没有办法转换的现实问题 AI 就没有办法解决。同时最难的部分也就是把现实问题转换为数学问题这一步。
机器学习的原理
下面以监督学习为例,给大家讲解一下机器学习的实现原理。
假如我们正在教小朋友识字(一、二、三)。我们首先会拿出3张卡片,然后便让小朋友看卡片,一边说“一条横线的是一、两条横线的是二、三条横线的是三”。
不断重复上面的过程,小朋友的大脑就在不停的学习。
当重复的次数足够多时,小朋友就学会了一个新技能——认识汉字:一、二、三。
我们用上面人类的学习过程来类比机器学习。机器学习跟上面提到的人类学习过程很相似。
-
上面提到的认字的卡片在机器学习中叫——训练集
-
上面提到的“一条横线,两条横线”这种区分不同汉字的属性叫——特征
-
小朋友不断学习的过程叫——建模(训练模型)
-
学会了识字后总结出来的规律叫——模型
通过训练集,不断识别特征,不断建模,最后形成有效的模型,这个过程就叫“机器学习”!
机器学习的训练方法
机器学习根据训练方法大致可以分为3大类:
监督学习
非监督学习
强化学习
监督学习是指我们给算法一个数据集,并且给定正确答案。机器通过数据来学习正确答案的计算方法。
举个栗子:
我们准备了一大堆猫和狗的照片,我们想让机器学会如何识别猫和狗。当我们使用监督学习的时候,我们需要给这些照片打上标签。
我们给照片打的标签就是“正确答案”,机器通过大量学习,就可以学会在新照片中认出猫和狗。
这种通过大量人工打标签来帮助机器学习的方式就是监督学习。这种学习方式效果非常好,但是成本也非常高。
非监督学习中,给定的数据集没有“正确答案”,所有的数据都是一样的。无监督学习的任务是从给定的数据集中,挖掘出潜在的结构。
举个栗子:
我们把一堆猫和狗的照片给机器,不给这些照片打任何标签,但是我们希望机器能够将这些照片分分类。
通过学习,机器会把这些照片分为2类,一类都是猫的照片,一类都是狗的照片。虽然跟上面的监督学习看上去结果差不多,但是有着本质的差别:
非监督学习中,虽然照片分为了猫和狗,但是机器并不知道哪个是猫,哪个是狗。对于机器来说,相当于分成了 A、B 两类。
强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
最典型的场景就是打游戏。
2019年1月25日,AlphaStar(Google 研发的人工智能程序,采用了强化学习的训练方式) 完虐星际争霸的职业选手职业选手“TLO”和“MANA”。
机器学习实操的7个步骤
机器学习在实际操作层面一共分为7步:
- 收集数据
- 数据准备
- 选择一个模型
- 训练
- 评估
- 参数调整
- 预测(开始使用)
假设我们的任务是通过酒精度和颜色来区分红酒和啤酒,下面详细介绍一下机器学习中每一个步骤是如何工作的。
步骤1:收集数据
我们在超市买来一堆不同种类的啤酒和红酒,然后再买来测量颜色的光谱仪和用于测量酒精度的设备。
这个时候,我们把买来的所有酒都标记出他的颜色和酒精度,会形成下面这张表格。
颜色
酒精度
种类
610
5
啤酒
599
13
红酒
693
14
红酒
…
…
…
这一步非常重要,因为数据的数量和质量直接决定了预测模型的好坏。
步骤2:数据准备
在这个例子中,我们的数据是很工整的,但是在实际情况中,我们收集到的数据会有很多问题,所以会涉及到数据清洗等工作。
当数据本身没有什么问题后,我们将数据分成3个部分:训练集(60%)、验证集(20%)、测试集(20%),用于后面的验证和评估工作。
步骤3:选择一个模型
研究人员和数据科学家多年来创造了许多模型。有些非常适合图像数据,有些非常适合于序列(如文本或音乐),有些用于数字数据,有些用于基于文本的数据。
在我们的例子中,由于我们只有2个特征,颜色和酒精度,我们可以使用一个小的线性模型,这是一个相当简单的模型。
步骤4:训练
大部分人都认为这个是最重要的部分,其实并非如此~ 数据数量和质量、还有模型的选择比训练本身重要更多(训练知识台上的3分钟,更重要的是台下的10年功)。
这个过程就不需要人来参与的,机器独立就可以完成,整个过程就好像是在做算术题。因为机器学习的本质就是将问题转化为数学问题,然后解答数学题的过程。
步骤5:评估
一旦训练完成,就可以评估模型是否有用。这是我们之前预留的验证集和测试集发挥作用的地方。评估的指标主要有 准确率、召回率、F值。
这个过程可以让我们看到模型如何对尚未看到的数是如何做预测的。这意味着代表模型在现实世界中的表现。
步骤6:参数调整
完成评估后,您可能希望了解是否可以以任何方式进一步改进训练。我们可以通过调整参数来做到这一点。当我们进行训练时,我们隐含地假设了一些参数,我们可以通过认为的调整这些参数让模型表现的更出色。
步骤7:预测
我们上面的6个步骤都是为了这一步来服务的。这也是机器学习的价值。这个时候,当我们买来一瓶新的酒,只要告诉机器他的颜色和酒精度,他就会告诉你,这是啤酒还是红酒了。
经典机器学习算法
-
卷积神经网络(CNN)
-
循环神经网络(RNN)
-
线性回归
-
逻辑回归
-
线性判别分析
-
决策树
-
朴素贝叶斯
-
K邻近
-
学习向量量化
-
支持向量机
-
随机森林
-
AdaBoost
-
高斯混合模型
-
限制波尔兹曼机
-
K-means 聚类
-
最大期望算法