Image Image Image Image Image

04

6月

人工智能的思考

  • By iangoo

AI: The right way?

CES Asia,直到2018年,我还是每年都会去——当然今年(2019年)应该不会去了。

在整个CES Asia的历史上,我作为从第一届看到2018年的老(伪)专业观众,不难总结出几个趋势,第一年,一堆无头苍蝇。第二年,一水的无人机。第三年,一水的VR/AR/MR……

但是,若是从中梳理真正的技术大趋势,不难看出人工智能在其中的戏份,那是很足的。

不过,从2018年的CES Asia回来之后,我就写了这篇文章。站在我一个外行人(对Tensor Flow、神经网络之类P都不懂)的角度,聊了聊我对人工智能的理解。


在CES上,我们可以看到很多关于AI的应用场景。

京东与吉利的“未来汽车之旅”可以让用户在车上呼叫家里的家电,让你在到家的时候享受舒舒服服的空调温度。华为的AI摄影早已大放异彩,通过识别拍摄对象来实时调整拍摄参数,让画面更加讨喜。而车载AI语音识别的进化则非常明显。我的破福克斯也支持语音命令,但是必须要一个字不差地将语音命令说出来才能算数。而到了NIO上的NOMI,只要说“我觉得太冷/太热”,它会根据语义调节空调和车窗。

更加接近我们生活的,比如Siri,以及后来迅速跟进的Cortana、Alexa,这就是我们目前生活中的AI——让机器表现得更像人

和你唠嗑的是谁?

其实这就是目前市场化的AI的发展方向——让机器拥有近乎与人类的交互效果

而这一思路的源头,正是计算机科学的先贤——Alan Turing。

I believe that in about fifty years’ time it will be possible to program computers, with a storage capacity of about 109, to make them play the imitation game so well that an average interrogator will not have more than 70% chance of making the right identification after 5 minutes of questioning.

——JSTOR: Mind, New Series, Vol. 59, No. 236, Oct. 1950, Alan Turing

早在1950年,Alan Turing就构思过在50年后(2000年),人类可以制造大容量的电脑,在很大的资料库的支持下,让这样的电脑和人类进行“对话游戏”,在不超过5分钟的对话之后,一位一般水平的人类能够辨别出对话的另一方是人类还是机器的概率将不超过70%。

所以,很多人将“通过图灵测试”作为机器是否拥有人工智能的标准,这一点并不准确。

首先,图灵测试是Alan Turing在1950年对50年后的计算机的计算能力的一种“预测”,而且实际上计算机的发展路线与Turing的预测存在一定的偏差——它从来就不是Turing对人工智能的某种“判定标准”。

其次,对于“5分钟”和“70%判定准确率”的预测,原文并没有给出任何支撑,联系到这是Turing的预测,这大概率是他拍脑袋想出来的。

最后,Turing对计算机的发展预期还是乐观了一些。事实上,直到2014年,由Vladimir Vesselov率领的俄罗斯团队开发的Eugene Goostman才在图灵测试层面上模拟了一位13岁男孩——这还是在计算机领域点出了“互联网”这个Bug级数据存量的基础上做出来的。

再看看手头iPhone里的Siri,Windows上的Cortana,它们的表现和真正的人类差距更大,即便是图灵测试,我们也有很长的路要走。

但是我们并不能怀疑图灵测试的意义。Alan Turing应该是第一个在正式场合思考“智能的标准”这个问题的人。而关于这个问题的论战,此后从未停止。

在Alan Turing的论文发表6年之后,Marvin MinskyJohn McCarthyClaude Shannon等大佬齐聚达特茅斯,这就是历史上极为重要的达特茅斯会议(Dartmouth Workshop),这次会议之后,Artificial Intelligence这个名字正式写入史书,这一年也就是人工智能元年。

人工智能发展史

自1956年人工智能作为一个独立学科成立之后,人工智能进入了高速发展阶段。50-60年代,人工智能的发展重点是逻辑推理能力的提升。一个名为Logic Theorist的程序证明了罗素《数学原理》中全部52条定理,其中一些证明甚至比罗素本人的原始证明更加巧妙。世人对“机器可以思考”几乎深信不疑。

就在这样的时代大背景下,科幻巨擘Issac Asimov创作了以会思考的机器人为核心的I, Robot系列小说,后来这一系列小说扩展为鸿篇巨著《银河帝国》系列。

不过,问题就在于:逻辑推理等于思考吗?

很显然,并不是。如同人类的大脑除了思考之外,还需要掌控记忆一样,进入80年代,数据的重要性开始显现出来。这一阶段,人工智能的发展集中于知识工程神经网络。知识工程在专家系统领域的运用为很多企业节约了成本。

所谓的“专家系统”,指的是一套可以积累某一专业领域的知识,模拟人类的推断过程来协助企业决策的软件系统。这一阶段,主要的限制来自两个:第一个是硬件性能的制约。神经网络需要大量的算力作为支撑,第二个则是数据本身的缺乏。

这样的制约导致了第二阶段的人工智能热潮的消退。不过,这一阶段的人工智能也开始逐渐走入大众视野。1997年,IBM的超级计算机Deep Blue战胜了人类国际围棋冠军卡斯帕罗夫。

卡斯帕罗夫的强大可能今天的年轻人没有概念——两年后的1999年,MSN举办了一个很“不公平”的比赛,卡斯帕罗夫以一人之力,对抗来自全球75国、超过5万名参与者组成的“万国队”,经过长达四个月的车轮战,万国队实在是下不过,弃权。

自卡斯帕罗夫落败之后,不论是专业领域还是民间,都有这样的说法:国际象棋还是简单了一些。真正的挑战——围棋,在可以预见的时间内,电脑还是无法战胜人类的。毕竟围棋棋局千变万化,无从穷举。然而十几年之后……

2017年,DeepMind的AlphaGo Master以3:0完胜排名第一的人类棋手柯洁。

战胜李世石的AlphaGo、战胜柯洁的AlphaGo Master,都没有用蠢笨的穷举法对抗人类——这在事实上是不可能的。DeepMind的做法是让AlphaGo对各种路数进行“评价”,然后用一种类似人类直觉的算法评价下子的优劣。评价的标准则来自喂给AlphaGo的海量的棋谱与AlphaGo自我博弈得到的数据。

就在人们为AlphaGo Master的强大瞠目结舌的时候,AlphaGo竟然在不到半年之后以0:100输得颜面皆无。是谁如此强悍?

并非人类。能战胜围棋AI的是另一个更强大的围棋AI——AlphaGo Zero。AlphaGo Zero并没有输入任何棋谱,而是从围棋的规则当中自己推演走法,在超过500万局的自我博弈当中将棋力提高到了远远凌驾于AlphaGo Master的地步。

所谓的“神仙打架”大概就是这个概念。

包括AlphaGo在内,今天我们所处的是第三次人工智能热潮。这一次热潮的基础是2006年Geoffrey Hinton提出的深度学习理论。所谓的深度学习,就是让计算机通过大量处理某一类型的数据,让它从中寻找到特定的规律。比如人脸,通过海量的数据对比,可以让计算机像人一样辨认脸型、五官的位置、比例,从而认出某张脸是属于谁的。

这其中涉及到的计算,不算复杂,但是大量重复。

这样的任务,完全就是给GPU量身定做的。GPU与CPU各有专精,CPU可以理解为一个数学专家,可以解决复杂度很高的问题,来一个偏微分方程组,交给他没错。但是如果要算一车100以内加减法,那还是来五百小学生——那就是GPU的定位。

嗯,其实所谓的GPU,说得更直白一些,就是你玩游戏用的显卡。

深度学习并不涉及什么特异的算法,自然也不需要什么特异的计算机,堆显卡就可以了——所以,看到一台电脑里塞着4块RTX1080Ti,这台电脑八成不是用来玩游戏的,而是用来做深度学习的。

深度学习可以让电脑辨认图像、让电脑听懂人说的话。但是问题随之而来——深度学习是指向人工智能的正确道路吗?

一间会说话的屋子

1980年,John R. SearleMinds, Brains and Programs一书当中提出了一个耐人寻味的概念——Chinese House(中文屋)。

众所周知,中文是全球被围观的难度最高的语言,比中文难度更高的一层级的只有“天书”。作为土生土长的美国人,Searle并不懂中文。但是,他立志于搞事情,于是盖了一间小屋子坐在里面,屋子里有一个屏幕,可以显示输入的内容,有一个投信口,可以让他把对应的输出内容丢出去。当然,还有一个东西很重要——一本厚厚的《如何不懂装懂之Chinese》的指南,这本指南使用的语言是英文。

这本《指南》并不是一本汉英辞典,而是一对对的图形,告诉Searle看到什么样的输入,就按图索骥找到什么样的输出丢出去,完完全全的按图索骥。理论上,只要数据足够大,涵盖的规则足够完备,这件小黑屋就仿佛是懂中文一样,有来言有去语,能够和一个中文使用者聊起天来。

但是聊完了之后Searle却摔门而出:你们在说啥我听不懂啊?

显然,理想的Chinese House是可以通过中文版的图灵测试的,但是其中的Searle却并不能“理解”对话的含义是什么。

就此,Searle提出了自己的观点:形式符号不可以代表语义。这对于图灵的理论“Computing Machine Thinking”是一记暴击。以图灵机为理论基础的现代计算机处理的是形式符号(Syntactical Symbols)——这也是现代一切计算机(包括正在发展中的量子计算机)的理论基础。现在Searle直接宣布:别想了,用现在的这些计算机,不可能捣鼓出人工智能出来的。——也就是说,必须要使用超计算(Hyper Computing)模型。

不过,Searle的观点争议非常大。有人就在他发表演说的时候直接让他下不来台:“你能不能听得懂又有什么关系,如果可以的话可以把你从屋子里请出去,换成一个自动的机械臂来干这些事。只要整个屋子表现得像懂中文就可以了。”

这恰恰是John McCarthy在达特茅斯会议上对“人工智能”下的定义:

人工智能就是要让机器的行为看起来就像是人类所表现出的智能行为一样。

一切都看的是表现,而不管它是通过什么原理来表现的。

由弱到强

目前,这种“看起来像有脑子”的机器已经离我们不远了。不信打开手机和Siri聊两句。

不过,我们仍然会纠结这样的问题:“看起来像人”和真正的“像人一样思考”,究竟是不是一回事呢?

Searle认为:不是。他在1980年提出了一个概念:强人工智能。强人工智能指的是能够和人类一样思考、决策的机器智能。Searle认为,这样的机器一定不可能从图灵机当中出现。

什么是图灵机?图灵机是Alan Turing提出的一种计算机理论模型。简单粗暴点说,我们目前所有的电子计算设备——计算器、各类计算机、工作站、服务器,都属于图灵机。图灵机又是什么?

一个图灵机的模型

图灵机,从某种程度上说,其实是对人类使用纸笔进行运算的模拟。

使用纸笔计算的时候,人类做的事情其实就是三个:

  1. 在纸上读取一些东西
  2. 或者写下一些东西
  3. 读取的东西转入大脑,写在纸上的东西亦来自于大脑
  4. 注意力不断从纸上的一处转移到另一处

在这样的基础上,Alan Turing设计了一个机器:可以使用无限长的纸带,纸带每一格对应一个状态,机器可以从纸带上读取信息以修改自己的状态,或者将状态写入到纸带上。纸带可以在机器上移动,机器也可以什么都不做。

但是图灵机有其局限性——纸上的状态和机器的内态,都必须用符号来表述。因此图灵机只能用于处理形式符号。若按照Searle的理论即形式符号不能代表语义,那么图灵机不可能像人一样理解语义。

这就将目前几乎所有的人工智能学科分支糊墙上了——包括深度学习。

硅脑

深度学习在应用领域大放异彩的时候,科学界已经走得更远了。

目前HBP和Synapse都在尝试制造一颗“硅脑”,这类“硅脑”芯片不是诺依曼结构,但是依然属于图灵机。

另一个流派是,与其纠结图灵机能不能最终搞定人工智能,还不如道法自然——要模拟人脑,你得先弄明白人脑是怎么回事。

CPU通过高低电平识别0和1来执行机器码,而人脑则是通过神经突出的组合范式来工作。

问题在于,人类现在已经能够制造CPU,但是对人脑的理解——有人说人类对深海的理解比对月球的理解还要少,但是对人脑的理解还不如深海。

人脑和电脑之间的区别其实也很有趣。

比如对不同类型的任务的处理。人脑对辨认、识别类型的任务手到擒来,但是做数值运算就比较费劲。电脑则正好相反。

比如功耗。人脑待机的时候功耗就巨大,但是开始运转之后功耗的上升却并不会随着任务的复杂度上升而升高太多。电脑恰好相反,待机可以非常省电,但是只要加点任务,功耗就飞速上升。

再从架构上说,人脑铁定不是诺依曼结构,它的存储、记忆和处理区域无法区分,而电脑,存储(硬盘)、记忆(内存)和处理(CPU)泾渭分明——当然有人会说CPU内部也有记忆(Cache),但是Cache和运算核心总还是可以分开的。

所以人工智能究竟会从什么技术基础造出来,现在不得而知。

我是谁?

我们回归达特茅斯会议的定义,他们将人工智能的定义确立为让机器表现得像人。不少人认为这样的定义过于浅白,从而尝试从机器的手段去复制一个“人”的思维方式。

但是我却认为,这样的定义,实在是妙。它是最唯物主义的定义了。

我们现在回归到图灵测试当中。假设,通过图灵测试的机器已经存在。那么,现在来了一位,和你谈笑风生,你能不能分辨出面前的是机器还是人类?

答案:无法判定。

好,现在我告诉你这是一个机器,那你认为它有没有理解你的“意思”?(如果Searle是对的话)

答案:没有。

OK,我是诓你的。这其实是一个人类,那你认为它有没有理解你的“意思”?

答案:应该……可能是理解了吧?

好,那么问题来了,明明你面前这位,反应和人类毫无二致,凭什么你认为机器理解不了而人类就能理解?

再说了,就算他确实是个人类,你确定TA理解的就和你想要表述的完全一致?

我们面对一个对象——不管ta是人类还是机器,评判ta有没有智能的依据只有一个——反应。我们并不能切开ta的脑壳,看看里面的电路是怎么工作的或者神经元是怎么连接的,那并没有什么用。

所以,从某种程度上来说,拿图灵测试当成AI的标准,并非没有道理。毕竟我们连什么是“智能”都还无法做出一个有效的定义,那还不如先从实用角度搞一些有用的东西。

反正Siri和Cortana都有些用。

我们所熟知的“知其然而不知其所以然”的领域,量子力学算一个,各种应用如火如荼,但是“塌缩”/“退相干”是怎么回事至今都众说纷纭。

人工智能算是另一个,从我那Ford上人工智障一样的语音命令发展到今天Siri/Cortana/MONI那种程度,已经是质的飞跃了。但是究竟怎么才能制造一个真正的人工智能,依然在根本上存在分歧。

最后猜一猜,这篇文章是人写的还是机器写的?