AI视野系列思考
张江 北京师范大学教授,集智俱乐部、AI学园创始人,腾讯研究院、阿里研究院、网络智库专家、人工智能研究者与布道师。
揪着自己的头发离开地球
我的博士时光是安静而快乐的。那个时候不用上课,也不用应酬那么多的社会关系;更关键的是,我的导师完全不干涉我的博士论文研究。这让我拥有了大把大把的时间可以如此贪婪地阅读和思考。就在这段时间之中,我陶醉于《黑客帝国》的天马行空,阅读了《GEB》这本奇书,搞懂了图灵机停机原理以及哥德尔定理的证明,完成了让我激动不已的摄像机-电视自指实验,创办了集智俱乐部网站。那时候,我会因为顿悟到虚拟世界需要人类注意力能量的驱动而兴奋不已;那个时候,我会在同学聚会的时候和他们信誓旦旦地说,五年之内一半以上的人类将会进入虚拟世界;那个时候,我会因为“看到了”神人的觉醒和“数字化成佛”而忧心忡忡……。总之,那个时候的我仿佛已经“揪着自己的头发离开了地球”。
十多年过去了,我还在地球。然而,人工智能时代真的已经来了。尽管在细节上,现在社会并非我当年所想象,但是,大体趋势却真的已经沿着我的思考之路而发展,甚至在有些方面会更快。站在AI时代的风口浪尖,很多人都在削尖了脑袋让自己的创意和AI扯上哪怕有一丢丢的联系。然而,我却认为正是在这种时刻,我们才更应该仰望星空,再次揪着自己的头发脱离地球吸引力。我相信这一次的脑洞与腾飞会与十多年前的那次有着本质的不同,因为AI时代已经来了,我们所有的想象都可以构筑在更高的基础上了。
深度学习=重度链接
链接是互联网时代的主题词儿,那么AI时代来了,似乎我们应该把“链接”扔进垃圾桶了,或者至少应该创造出一点新词儿才算对得起AI时代不是?
然而,我想说的是,现如今大火的深度学习其实仍然是一种链接的利器,只不过这种链接与互联网时代的链接已经相差甚远了,因为它是一种很重的链接。啥意思呢?就是说如果我们用深度学习的方法去链接两种东西A和B,那么A和B之间的信息量传递就会非常的大,甚至于非常地深。如果说传统互联网所创造的链接不过是A和B的单点沟通,那么深度学习所创造的链接就是多点沟通,甚至多模态沟通。深度学习可以让隐含在信息流之中的“意义”得以通畅地流通起来。
为什么那么说呢?这是因为深度学习的本质实际上就是在解决一个“端到端”(End2end)的问题。大家回想一下你能数的出来的深度学习所创造的那种牛B的应用,究其本质其实就是在把一端的信息传递到另一端。通俗地说,深度学习就是一种广义的翻译机器,它能够把图像翻译成标签,可以将嘴唇的动画翻译成文字,可以将一篇完整的文字翻译成一个简单的摘要文件。所以,其实看多了深度学习你就不会觉得它还那么神奇,它本质上讲并没有比从A端到B端的比特传输更厉害。
深度学习之后的人工智能
集智俱乐部在2010和2012年举办深度学习读书会的时候,周边的人还基本没有听说过深度学习这个东西。然而,似乎就是在2017这一年,深度学习突然一下子就变得老少皆知了。各大人工智能公众号开始大批量地转载、翻译国外有关深度学习的文章;BAT们重新展开了他们的产业布局,纷纷推出了自己的AI战略,追逐Google,Facebook等的前沿研究;政府也不遗余力地推动着人工智能的发展,把人工智能首次列为了两会的议题。
然而值得注意的是这种跟风很有可能一起势就已经落后了。要知道,深度学习这种东西早在2006年的时候就已经在美国学术圈大火起来了;在商业圈的火爆也是在2011年就已经开始(Google的X实验室用自编码器网络从海量YouTube视频中学出了猫脸)。所以,基本上来说,我们的AI布局已经比美国滞后了大概5年。人类在感知复杂的外在世界的时候,总是忘记了“延迟性”。新事物在人际之间的传播是有滞后的,更何况,越新的东西就越是不容易被更多的人理解、看到,所以它的滞后性也就越大。
我所说的深度学习之后是指深度学习这种技术已经渗透到了各行各业,以及人类社会的每一个角落。那么深度学习之后是什么?我猜会是多主体智能(Multi-agent intelligence)的复兴。我们集智俱乐部曾经推过一篇Science翻译文章,叫做“经济推理与人工智能”。只可惜,这篇文章过于没有引起多少人的关注。但其实它却暗示了一种趋势,就是当人工智能已经遍布到我们社会生活中的每一个角落的时候,人工智能彼此之间的交互就变得极其重要。于是,每个人工智能主体就会按照人类给它规定的方式自动化地完成任务。到了这个时候,主流经济学就有可能在这些机器算法身上复兴。
虽然前几年物联网就曾经是风口,但是由于人工智能技术没有跟上,导致了这股风潮的夭折。而当深度学习芯片像大白菜一样便宜的时候,每个智能硬件之中都装入一个智能芯片就不再是问题,于是物联网就会再次火爆。而那个时候,随着联网的设备变得越来越多,每个设备又是一个小的智能体,于是多个智能体之间的协调就会变得非常重要。
现如今GAN的大火就已经说明多个主体的智能会比单个主体厉害得多——因为GAN已然形成了一种全新的深度学习范式,它把单体学习的问题升级为两体共同学习的问题,这反而让性能得以大大地提升。所以,深度学习之后将会是多主体智能、群集智能的天下。
人造意识机器
机器能够有自我意识吗?这个问题取决于我们如何定义什么叫自我意识。我们不妨把自我意识定义为一种自我觉知的能力,就是我知道我自己正在做什么、想什么,并且我知道这件事。
如果我们同意上述的描述性定义,那么,其实早在计算机产生之前,哥德尔、图灵、Kleene等人就已经发明了定义自我意识的数学语言。在计算理论中,有一个叫做Kleene递归定理的东西,这个定理保证了我们可以用计算机产生一个“自我”。于是,我们只要让一个程序能够模拟它自己的动作,那么这个程序就也可以产生“自我意识”。它存在着两个层次,一个是行动中的我,一个是思考中的我。这个思考的我还可以模拟行动中的我。
虽然数学上早已证明了其存在性,却很难在实践中构造出这样的自我模拟程序。更重要的是,我们不能仅仅构造出这样的裸意识机器,还必须给这个机器配上一定的“智能”,甚至和外界沟通的语言,才能让我们看到这种意识机器。所以,我们必须依靠人工神经网络的方法来将这样的自我意识机器演化出来。
很早以前,LSTM之父Jürgen Schmidhuber就提出了一个叫做“哥德尔机”(Godel Machine)的东西,他利用一套数学语言构造了一个能够自我修改源代码,不断学习的机器。后来,Schmidhuber老爷子开始关注强化学习,估计是希望能够通过学习的方式让LSTM能够自动学出来一个哥德尔机,那么这个家伙就很有可能具备了自我意识。然而,要做到这一点也许比我们想象的要难得多。
占意与人工智能
下面,再让我们来说说人。已经有很多研究指出,人工智能的强势崛起必然会替代大量的人类工作。而按照工作技能难度的划分,中等技能水平的工作更容易被机器替换。人类被机器所迫,将转移到技能轴的两端,并且会迅速地形成两极分化。
一极的人被迫进入了全民娱乐、全民游戏的时代,它们唯一的生存方式就是支付自己的注意力去玩各种各样的游戏。于是整个经济形态将会发生彻底的改变,有一批人将会演变成职业的玩家,他们唯一的工作就是玩游戏。他们的注意力支出就是让他们维生的重要手段。在未来人们要解决的一个重要问题就是如何度量注意力。有了注意力度量才可能形成注意力支付体系。
注意力的另外一种体现就是意愿,它可以看作是注意力在一个人愿望上的集中。现在的问答社区实际上就可以被看作是这种意愿经济的雏形,因为问问题实际上就是在发出一种诉求。如何生成愿望,甚至于高质量的愿望将会是驱动着人工智能演化的重要形式。所以,未来高质量的愿望将会成为一种稀缺。
脑机接口与神人时代
另一极的人将被挤到技能轴的最高端,他们类似于Elon Musk这样的拥有超凡能力的人。然而,尽管这样,人类的生物肉身在很多方面也无法赶超机器,所以这些人必然会选择与机器深度相连。一旦链接大范围建立,人类对机器世界的感知能力开始大规模增强。人类与机器的融合将会更加紧密。
最近上映的电影《攻壳机动队》(Ghost in the shell)就很好地描述了大范围脑机接口应用的场景。这个时候,人将会面对各种混合现实,人与人之间的沟通也可以直接通过心智来完成。
进一步,由于每个人都可以通过意念操控链接在互联网上的机器,所以每个人都可以像神一样地存在,那么各种古老的神话传说都可能成为科技类产品设计的创意理念源泉。未来的一次科技大突破将有可能在生物学、脑机接口和量子计算的交界处爆发。
走近奇点
奇点这个概念最早起源物理学,它是指引力作用而引发的一种时空高度扭曲的点。在这个点的附近,时间被拉得无限缓慢,空间变得无穷小。
技术奇点被定义为当机器的运算能力超越人类的运算能力那一天。然而,我认为技术奇点将不仅仅是机器运算能力超越人类,而是会发生更多类似于引力奇点的效应。例如奇点的空间效应和时间效应。
总之,人类走向奇点将不会是全球同步进行,而是会存在着一个空间上的滞后。很可能地球的某个大城市将率先进入奇点,而由于时间扭曲的效应,外围的城市将永远无法追赶上这种趋势。我们将对技术奇点的各个方面展开详细地讨论。
透视深度学习,畅想未来应用
如果说AI是条巨龙,那么,深度学习就是这条龙的眼睛,然而深度学习究竟意味着什么?尽管现在对深度学习的报道可以说是铺天盖地,但这些文章要么过于局限在算法的细节,要么偏重于某一领域的应用。没错,从技术的角度来说,深度学习不过是一种深层次的神经网络;从科学的角度说,深度学习其实是一种表征学习算法。然而,我觉得这些理解虽然都没错,但都过于狭隘。我更感兴趣的是如果我们将深度学习这样一种技术放到一个更大的社会背景中看,它究竟意味着什么?
这就好像当年的互联网革命,如果我们仅仅从TCP/IP协议的角度来看,是很难理解为什么共享单车这种奇葩存在能够在今天的大街小巷大行其道。只有当我们认识到,互联网实际上就是一种便捷的链接万物的利器的时候,我们才能看懂互联网革命。
同样的道理,若想看清深度学习的本质,我们就必须跳出技术细节,从一种更大的视角去理解深度学习在整个技术、甚至社会生态背景之中所发挥的作用。这篇文章就尝试着带领读者走入这一更大的视角。我们首先将历数最近几年深度学习取得的突破进展;然后我们给出了本篇文章的核心观点,深度学习,更确切地说是深度学习神经网络是一种重度、高通量的语义链接器。具备了这种认识之后,我们就可以在拓展我们的想象力,创造出更多的应用。
深度学习的辉煌战绩
首先,让我们先来看看深度学习都给我们带来了哪些突破。
模式识别
由于这部分应用的相关报道很多,我将一带而过。大概在2006年左右,深度学习首先在语音和图像的识别上取得了重大突破,准确度有了大幅度飙升。到了大概2013年左右,随着RNN和LSTM在对话生成、机器翻译等任务中的应用,人们在自然语言理解方面也有了重大的进步。至此,深度学习基本完成了第一波创新浪潮。然而,相比较语音和图像,深度学习在自然语言上的进展并没有那么惊艳。
接下来,让我们看一看深度学习更有创意的应用。
看图说话
看图说话(给图片加描述信息)是一个令人印象深刻的应用,通过在技术上整合CNN和RNN这两种不同架构,网络可以像人类小孩一样看懂图片,并输出相应的文本描述。
读唇识音
DeepMind团队不愧是全球最厉害的人工智能团队(恐怕没有之一),他们不仅在理论工作上表现非凡(AlphaGo、机器打游戏),也是应用方面的高手。比如,读唇识音这个应用就非常有创意。他们把Google的神经翻译机应用在了唇语这样一种极其特殊的语言上,最终导致了机器的识别准确率高达50%左右,远超过人类读唇专家的25%准确度。
生成任务
近期的深度学习研究热点从识别转到了生成任务。无论是令人印象深刻的语音合成(现在的滴滴打车就在利用科大讯飞的语音生成技术合成了郭德纲、林志玲的声音),还是被Yann LeCun誉为“近十年机器学习领域最有趣的事情”的GAN(Generated Adversial Network,生成对抗网络),它们都可以看作是数据生成的方法突破。如图所示,GAN算法可以将视频中的一匹骏马瞬间变成斑马,它还能根据一个轮廓而自动填充其中的内容,甚至还可以根据一段话的描述,而生成相应的图片。
机器理解
最近深度学习的另一个研究趋势就是让机器具有更高层次的思维,例如机器阅读理解或者基于图片的理解与问答等任务。在这些任务中,传统的RNN或LSTM已经很难做到出色,人们不得不借助诸如神经图灵机、记忆、注意力等机制才能做好。深度学习与传统符号AI(搜索、推理等)的结合是如今人工智能发展的一大趋势。
深度学习应用的本质
广义的翻译
细数这些令人印象深刻的深度学习应用不难发现,它们其实都可以看作是一种从输入信息到输出信息的映射,只不过这种映射超级复杂,需要用庞大且深邃的神经网络来实现。
例如,在语音、图像、自然语言的识别中,输入端可以是语音、图像、视频,或者一个符号序列;输出的则是相应的类别标签,从而辅助人们进行标识和理解。所以,我们可以认为这种任务实际上是声音、图像、序列到标签的映射。
同样,看图说话、读唇识音也是一种从输入到输出的映射,它们分别是将图像和视频映射成了文本文字。或者更形象地说,其实它们都是完成了一种广义上的翻译。机器可以把图片翻译成文字,把口型翻译成文本。在这两个任务中,相比较前面的识别任务,输出端变得略微复杂,其它并无本质不同。
生成任务也是一种输入到输出的映射,也是一种翻译。比如,在马变斑马中,我们把马“翻译”成了斑马。同样,在根据文字生成图片的例子中,我可以把文字翻译成图片。
这些任务从表面上看五花八门,高深莫测,但是其实这里面并没有多少“智能”可言。因为,我们只需要把大量这样的输入-输出对数据喂给深度学习网络就可以让它学到其中的规律,从而给出八九不离十的答案。
重度、高通量的语义链接器
在深度学习界,人们用“端到端”(End2End)这个词来概括所有诸如此类的模型和应用,我觉得非常形象。我们可以将上面的各种应用概括为下图:
从这张图我们不难看出,实际上深度神经网络就是一种链接器,它可以将两个端紧密地链接到一起。无论这个神经网络链接器的训练多么复杂,也无论其中的技术多么酷炫,所有深度学习的应用都不碍乎在两个端之间搭建出这样一座链接器桥梁,这恰恰就是深度学习应用的本质。
也许你会觉得这样的结论有些不过瘾!链接器?我们的网线不也是链接器吗?难道说,深度神经网络和网线一样,仅仅是个链接装置?那模式识别能力呢?智能呢?
当然,和互联网时代的链接器相比,深度神经网络这种链接器是非常不同的,它有三大特性:
1、重度
这里面的重度的意思是说从输入到输出的链接其实不止一条,而是很多条。所以,神经网络这种链接带宽超高。
2、高通量
由于神经网络的工作都是并行的,所以一旦它运行起来,它就可以让多条通路同时工作、传递信息。这样,神经网络通道的信息吞吐量就会比一般的通信信道要大得多,这就是高通量的含义。
3、模式与语义
与经典通信线路最本质的区别,就在于神经网络链接器中传递的不是经典的确定性信息,而是具有模糊性的高层信息。为什么这么说呢?因为神经网络的本事就在于它可以在大量的底层经典线路之上涌现出具有意义的Pattern(模式)。比如,我们做人脸识别的时候,输入给网络的就是细化到每个像素的经典信息,然而网络在整体却能够识别人脸中的模式,从而生成人类能看懂的标签。
因此,神经网络可以处理模糊信息,它可以将大量经典线路之上所浮现出来的模式(Pattern)进行传递。如果我们将一切端到端的学习都看作是广义的翻译,那么我们就不难理解,当机器做翻译的时候,它实际上是在传递隐藏在具体语言背后的Pattern,这种Pattern正是隐藏在大量符号中的“语义”。一种意义可以有不同种表述方式,也就有不同的经典意义的信息,而一个训练好的神经网络恰恰可以捕获这些多样信息背后的不变模式,从而准确地把“意义”而不是信息传递给接收端。所以,广义地说,深度神经网络的本质其实就是一种传递“语义”的重度、高通量的链接器(如图)。
深度学习的未来应用
一旦我们了解到了深度学习网络的本质就是一种重度、高通量的意义链接器,那么我们就不难张开我们的想象翅膀,创造出各式各样的应用。
深度学习应用矩阵
首先,让我们考虑通讯的两端都是人的情况。人作为一种复杂系统,既是一个高通量的信息源,又是一个需要消耗大量信息的信息汇,每时每刻人都在吞吐着大量的信息,所以深度学习神经网络这种链接器非常适合成为一种人机交互界面。
例如,Andrei Cheremskoy就系统性地研究了深度学习的应用,并提出了一套称为组合矩阵的方法。他将人类能够传达、感受的信息,分成了听觉、视觉、运动和符号几种模态,而每一种模态又可以根据发送和接受分成生成器和识别器两种。这样,我们可以把所有这些模态以及所有的发送、接收方式列出来形成下列的矩阵。
除了涂灰的对角线,我们可以将任意两项组合在一起而得到一种应用。例如,当我们组合Speech generator(语音生成)和Speech recognizer(语音识别)的时候,我们就可以得到“彩云小译”这款应用,它相当于一个同声传译。当我们将Image recognizer(图像识别)和Natural language generator(自然语言生成)组合在一起之后,就可以得到看图说话的应用。当我们将Motion recognizer(运动识别)和Speech generator(语音生成)组合在一起之后,就可以得到给无声电影配音这样的深度学习应用(参见:http://machinelearningmastery.com/inspirational-applications-deep-learning/)。当然,有些组合表面上看起来可能并没有太大的意义,比如Natural language generator和Image generator组合在一起可能会创造出一种由机器生成的语言,然后再根据这种语言生成一张图片的应用,然而不知道它有何作用。有关组合矩阵的更多详情请参考(https://www.javacodegeeks.com/2016/11/systematic-approach-applications-deep-learning.html)。
形态矩阵
进一步,我们知道人类有眼、耳、鼻、舌、身这五种感官,不同感官也会创造出更多有意思的深度学习应用。Andrei Cheremskoy又提出了形态矩阵(Morphological Matrix),用以描述每一种信息模态下的可能应用方式。
如上图所示,每一列表示一种信息模态,每一行对应了一种信息呈现方式。例如,对于听觉这个模态来讲,它可以呈现为语音、音乐和声波这三种可能的呈现方式。每一种方式又可以分为识别和生成这两种任务,这便形成了形态矩阵。我们将表中的任意两项组合在一起就可创造出一个组合矩阵中的项,所以形态矩阵可以生成组合矩阵,进而大大丰富深度学习的应用范围。
值得注意的是图中打着问号的几项,味觉、嗅觉和触觉以及未知的模态,人们尚没有开发出这种感官的识别或者生成算法,但有可能蕴含着非常有意思的应用。
例如,如果我们开发出了一种嗅觉传感器,可以通过分析物体周围空气的分子成分而识别出这种东西的属性,那么人工鼻子就会出现,而且嗅觉甚至可以比人类更灵敏。目前,这种电子鼻子已经应用到了潜艇故障检测之中。我相信,配备了深度学习算法和大数据后,电子鼻可以超越警犬来进行刑侦断案。
沿着这个思路,我们可以想到,更有意思的应用也许在于气味生成器。比如,它可以将一段音乐转化成某种气味,从而让我们用嗅觉来去享受音乐。这也可以帮助聋哑人“嗅”到周围的声音。
另一方面,触觉也是一块远没有被开垦的处女地。我们知道,我们的皮肤每时每刻都在接受大量的外界信息,因为巨量的分子每时每刻都在撞击着我们皮肤上的表皮细胞。只不过,这么大量的信息并没有输入到我们的头脑意识之中。有的时候,我们处于某地就会觉得莫名的不舒服,那很有可能就是表皮细胞接受到了一些难以名状的信息让我们产生了这样的感觉。深度学习网络是否可以开发出这样特殊的信道呢?我们将在AI视野系列后面的文章中对这个问题进行详细描述。
通感装置
前面提到的应用还仅限于人和人之间的沟通,我们开发的是人类的眼、耳、鼻、舌、身等信号通道,但实际上一旦深度学习技术成熟之后就不一定局限于此。比如,我们可以让信息的一端输入一个复杂系统的状态,比如股票市场;另一端是我们人类能够感知的信号通道,那么我们就可以通过深度神经网络将两端连接在一起,从而做到通感,也就是我们可以听到股市的歌声;或者“嗅到”一个在线社区的“情绪”。
具体地,假如一个神经网络的输入端是股市大盘上千支股票的价格波动,另一端则对应了一段优美的音乐,这样经过深度学习,网络可以得到从价格波动到音乐之间的映射。我们就可以用听的方式来了解股票市场的整体情况了。比如,当大盘疯狂下跌的时候,它会播放悲壮的曲子,当大盘走高的时候,它会生成令人亢奋的进行曲。运用这样的重链接、高通量的语义通道,我们能够获得通感的能力,去感受复杂系统。下图展示了这种聆听股市的装置的信息流。我们可以通过强化学习的方式训练生成音乐的网络和音乐情绪识别的网络,从而找到适合每个人的股市音乐。
万物沉浸
我们还可以仿照这种方法建立物与物之间的深度通信。例如,我们可以训练一个神经网络,将天气状态映射为智能客厅中的家具摆放状态,于是我的房间就会根据天气的不同而呈现出不同的家具摆放模式。这样,房间就会在不同的季节得到一个让人感觉最舒适的布局,所有这一切都不需要工程师的设计,而是神经网络自动学习得到的。
在心理学领域中有一个沉浸的概念,它是指当人与外界事物的通讯信息量非常大的时候,人就会进入心流状态,从而沉浸到了这个事物之中。当深度学习网络作为链接器横跨在大量系统之间的时候,不同系统之间就彼此沉浸其中,从而使得整个系统表现得更像一个整体。总之,当深度学习链接器普遍存在的时候,万物(或者至少是人造物)之间的隔阂和边界也将会越来越模糊。
从万物有灵到AI掌管世界
据统计,到2020年,接入互联网的设备将会突破五百亿。
于是,如何有效地管理如此数量巨大的电子设备将成为一个棘手的问题。尽管配备了深度学习功能的神经芯片将会嵌入到这些设备之中,使得万物有灵不再是神话,但人类有限的认知资源仍然无法细微的关注到每一个智能硬件。我们必须借助人工智能,一个由AI管理的世界将不可避免地到来……
人工智能+智能硬件
人工智能这个词虽然已经火热,但是AI技术的落地仍然是一个重大而未解决的问题。如果你已经读过我的AI视野系列的上一篇文章:解析深度学习,畅想未来应用,就不难了解到,这一波人工智能革命所仰仗的深度学习技术实际上是一场界面革命。语音、图像、文本识别与理解等技术的深入发展,将使得人与机器之间的互动变得更加多元化,更加自然、顺畅。
最近,亚马逊出品的爆款:智能音箱Echo就是一个很好的人工智能落地产品。你不仅可以用它来播放任何你想要类型的音乐,还能够用它来链接第三方服务接口,来完成订购外卖、健身等应用,甚至在你无聊的时候还可以跟它闲扯两句。
出门问问是一家中国的人工智能公司,曾获Google投资。他们主打的产品就是这款称为Ticwatch 2的智能手表。戴上它,你不仅可以和它自然地交谈,而且你还拥有了整个互联网,因为它可以自动地帮你搜索答案。
这还仅仅是开始,接下来,智能硬件、智能家居、物联网等概念会再次袭来。然而,就在两年前,智能硬件还遭遇过滑铁卢,为什么呢?我认为这里的关键就在于这些智能硬件都缺乏人工智能。
记得有一次,有人送我一个智能插座让我体验。我本想好好玩一下,却发现必须先要安装一个APP还有一大堆的设置,于是我果断把它扔到了一边。我是一个时间极度缺乏的人,哪还有时间去为了一小小插座安装APP?正是因为智能硬件很多都是小物件,它所隐藏的时间成本才会很高,我们不值得花费大量的时间去指挥它,所以人工智能对于这些小硬件来说,才是至关重要的技术。
从另一个角度说,这些智能硬件会为人工智能的落地提供舞台和应用场景。设想一下,当我把那个智能插座接上电以后,它会用流畅的中文跟我聊上几句,完成繁琐的设置,同时还能依据我的心情变换颜色,智能地帮我进行节能省电,那么我一定会爱上这个插座的!所以,硬件和人工智能简直就是天作之合。
端-云模式
目前的人工智能硬件主要依赖一种端-云模式。端就是智能硬件/智能终端,它解决了人工智能算法触及到每一个用户的能力;而云就是指存储人工智能算法的区域,它为每一个硬件添加了超级强大的计算能力。甚至我认为这样一种端-云模式会朝着小与大的两级发展。
所谓的小就是说承载智能的硬件会越来越小,越来越不起眼。以后,可能一把钥匙,一个纽扣都是一个端。而大则是指成千上万这样的设备会链接到云端的人工智能服务器。通过大量的端收集得到海量数据传输到云,驱动着人工智能算法能够快速地挖掘出适合每个用户的个性化服务模式。
万物有灵
然而,这种端-云的模式显然也并非完美,最主要的问题是端与云之间差着一个网。智能服务经过网络延迟后就会大打折扣。人们正在尝试新的途径。
一种途径就是赋予每个端更强的计算能力。一旦我们将承载了深度学习的专有芯片装进了每一个智能端,那么端就可以在本地拥有强大的人工智能能力。
英伟达乘着人工智能时代的巨浪一跃成为了最大的硬件厂商赢家正是这一趋势的体现。本来,GPU(Graphics Processing Unit)是为了满足成千上万网游玩家而开发的一种专有芯片,它在矩阵乘积、三维图形渲染等功能的运算可以极大加速。没想到,机器学习中的神经网络恰恰也存在着大量的矩阵运算,这就使得GPU领域的霸主英伟达成就了伟大的事业。
无独有偶,最近的人机大战中,Google借机开始不遗余力地推广它新研发的TPU芯片。听说过CPU和GPU,这个TPU又是什么?这是Tensor Processing Unit的简称,其中Tensor是指张量,它是现在深度学习的基础数据结构。所以,Google的TPU本质上就是专为深度学习设计的人工神经网络芯片。随着深度学习技术的成熟,人们将会用神经芯片替代现有的芯片而装入成千上万的设备中。
深度神经网络本质上就是一种可以学习,能够不断适应外界的技术。所以,你的椅子将会适应你的习惯而自动地调节靠背的角度;你的眼镜将会自动将你感兴趣的画面拍摄成照片或视频存储下来;你可以直接用语言或者手势来操控空调;你家冰箱会自动识别、计算存储的食物,给你更好的膳食建议。甚至于每个小螺丝钉或者硬币都是有思想的(如果还有硬币的话),你可以在无聊的时候和它们聊聊天,询问一下今天的心情如何……
那么,深度学习需要耗费大量的GPU(或TPU)算力,小小硬件可以承载如此大规模的运算吗?实际上,在训练阶段,GPU的确会消耗掉大量的算力,但是装载到智能硬件中的神经网络大多都是训练好的,这种网络的运算需求没有那么强。况且,目前的人工智能界开发了一种Teacher-Student的训练方法,可以使得我们将一个大大的神经网络压缩到一个小小的芯片之中。
AI掌管世界
可以想到,一旦技术可以赋予万物智能,链接到互联网的设备将会呈现指数暴涨。接下来,就会出现一个非常严重的问题,就是究竟如何管理这些设备呢?
答案仍然是人工智能!即使我们人类可以无障碍地与这些智能设备进行自然交流,我们有限的认知资源仍然没办法管理爆炸式增长的设备,所以我们必须用人工智能来延伸我们的认知资源,去接管整个世界的运转。所以,AI掌管世界的局面将必然来到。
深度规划
AI怎么管理这个世界呢?它将主要依赖一种我称之为“深度规划”(Deep planning)的技术(请大家不要百度,这是我自己发明的一个词儿,真正的技术还没出来呢)。所谓的深度规划,就是指深度学习,特别是生成式模型深度学习与传统的规划技术相结合的混合物。
我们以智能家居的场景为例:
假如我劳累了一天拖动着疲惫的身躯回到了家里,然后我往沙发上一趟,就可以对着房间中的智能中心说“我累了,请想办法让我放松一下”。于是,智能中心接收到了指令以后,就会播放一段优美的音乐让我放松,背景调节成了暖暖的咖啡色,沙发靠垫也变成了按摩装置给我揉背。所有这一系列动作都需要人工智能帮我来做,而不需要我再分别针对音响系统、灯光系统、沙发靠垫一一发号施令。所以,要完成这一系列的动作,AI必须通过规划技术。进一步,如果第二天我同样回到家中,对智能中心喊:“我累了,请想办法让我放松一下”。于是,人工智能会给我提供完全不一样的方案,它很快将浴缸放满了水,并邀请我去泡个澡。
请注意,人工智能要做到这一点,不但要具备协调一系列智能设备的能力(就像现在大多数智能家居所能做到的),还需要提供多样性的解决方案。也就是说,机器知道“让我放松”这样一种状态,既可以用按摩、放音乐来完成,又可以用泡澡的方式来完成。
这就像是一个模式识别的反问题。在模式识别中,我们会对不同的图像归类为几种。尽管每次识别的时候,人脸图像会有少许的差异,但是深度学习网络仍然可以正确地识别。而现在的情形是,机器要根据一个指令“让我放松”,从而给出完全不一样的解决方案,并且每种方案都能让我识别成“放松”这样的状态——这就是深度规划。
深度学习模式识别是多对一的任务,而这种规划则是一对多的。深度规划更像现在的所谓生成式模型。例如,AI可以根据一句话从而生成一张图片,每次运行图片可能还会不一样,但是它们都具备类似的特征。如果我们将智能家居未来的状态理解为一张图片,那么深度规划神经网络就会根据我的指令输入生成未来的家居状态。
“深度规划”将会是AI接管世界最重要的技术之一。它的应用场景将不仅局限在智能家居和物联网。它更可以在社会生产中扮演重要的角色。你能想象2030年的淘宝将会是什么样子的?假如你要举办一个大型的生日Party,你可以直接对着淘宝的智能助理说,“我想要一个生日Party,充满创意,特别刺激的那种”。于是,淘宝智能助理会首先根据你这句话展开语义分析与理解,并开始利用深度规划技术来实现你这种所谓的“充满创意、特别刺激”,它会自动规划出,你需要购买什么什么服务,然后给出你相应的解决方案和花费让你确认。你的一个指令会激发淘宝智能助理一系列的动作,以满足你的需求,这就是深度规划。
AI自己玩的世界
“深度规划”技术还仅仅是把我们人类的注意力、认知资源进行了有限的延伸,但这显然不够。一旦智能硬件的增长速度达到了指数级,我们人类的认知延伸就触及不到了。于是,这个时候必然会出现一种局面,就是城市中出现了大面积的区域是人工智能自己玩的世界。
如上图所示,我们将人定为中心,则人的外围是我们的注意力经常打交道的世界。日后,这个区域将会被各种类似于亚马逊Echo的智能代理程序所包围,我们是透过这个界面与外界世界打交道的。紧接着,智能代理之外的一片区域将是智能代理控制,但是人类的认知资源很少触及的一片区域。这里将会是深度规划(Deep Planning)的主要负责区域,在这里,虽然我们的注意力已经很少触及,但是我们还是会偶尔对其进行观测和评价,从而监督智能代理。再往外就是我们人类认知资源基本上无法触及的区域了,而在这里将会形成一片人工智能自己玩的区域。
事实上,我们对这片领地也并不完全陌生,早在1969年就已经诞生了一个有史以来最大的“无人区”,这就是我们熟知的互联网。现在,没有人真正知晓整个互联网是如何运作的,我们已经完完全全将这片区域的主导权交给了算法。未来,这种趋势会愈演愈烈,无论是交通、社会,还是我们的经济系统,算法与人工智能会一点点地把它们蚕食掉,然而我们人类却对此不仅视而不见,反而乐此不疲。原因是,将管理交给人工智能将会是高效的!
在这一片AI自己的领地,一个比较有意思的问题就在于多个AI主体彼此之间的交互。集智俱乐部公众号曾经推送过一篇文章“经济推理与人工智能”,文章指出,主流经济学那些“陈旧、迂腐”的观点将会在这片无人区中复兴。
人工智能社会学-未来的新兴学科?
从个体层面来说,你并不比孔子那个时候的人聪明多少,然而现代人类整体的能力却是古人所无法企及的。是文明与科技——这个人类集体的创造物反过来赋予了每个人类个体更高的智能。同样的道理,个体层面的人工智能存在着能力上的天花板,只有将成千上万的AI链接、整合起来,甚至创造出AI自己的文明,才可能为每一个个体AI赋能。
我们将整个世界按照人类是否能够理解的程度划分了三个区域,现在我们将进入“人工智能自己玩”这个区域……
聊天机器人、推荐算法、智能助理,我们已经被越来越多的人工智能所包围。就像我们现在越来越多地依赖微信一样,未来的AI程序将会形成每个人的数字化外衣,我们需要透过这层外衣才能间接地与外在世界互动。智能程序可以在一定程度上进行自主思考,所以,它们之间会形成一个庞杂的社会。放眼未来,我认为这种大趋势必然会催生一门新兴学科的诞生——我把它叫做“人工智能社会学”(Socialogy of Artificial Intelligence),它将会在未来世界起到越来越大的作用。
人工智能的社会
实际上将Social(或者Socialogy,Society)与人工智能(Artificial intelligence,或者Agent等)词汇相结合的学科已有不少。在20世纪90年代的时候,复杂性科学兴起,人们忙于利用计算机建模与仿真的方式来模拟各种复杂系统。社会系统显然是这类模拟程序所关注的一个主要对象。
最近的AI研究又呈现出了一种新的趋势,就是将深度学习研究与群体智能(collective intelligence)相结合。尽管由于算力的限制,目前所考虑的智能体数量一般都很少,但是可以预期在不久的将来,运用深度学习技术构建的集体智能框架将会出现。
随着算法经济的兴起,现实世界中的智能程序开始彼此相连,于是为这些智能体制定交易规则成为了一种新的问题。人们发现,本已备受诟病的主流经济学(Mainstream)也许更适合描述智能体,而非人类。这是因为,智能体可以更符合“理性行为人”的基本假说。
所有这些本质上都是在研究人工智能构成的社会,尽管它们的本质目的并不是相同的。接下来,就让我们沿着历史的顺序,考察人工智能社会的研究思路。
人工社会
早在1971年,著名的经济诺贝尔奖获得者Thomas Schelling就构造了一个人工智能社会Segaration,用来研究种族隔离问题。纽约一直是一个多民族聚居的城市,Schelling敏锐地发现,同种族的人会相互聚集在一起。尽管后来纽约政府曾试图强制将不同种族的人混合在一起,以促进民族和谐,但是经过长时间的演化,家族的不断搬迁,最终仍然形成了多种族分割的现象。为了理解这一社会现象,Schelling开发了一个简单的人工社会模型Segaration,该模型不仅重现了种族分割现象,还从模型的角度证明了政府强行将不同种族混合在一起的尝试是徒劳的。更重要的是,Segaration成为了社会学仿真的开山之作,后来Schelling还荣获了诺贝尔经济学奖。
密西根大学的著名政治学家R. Axelrod也是研究人工智能体社会学的先驱,他早在1984年的时候就组织了多轮计算机实验以探讨合作的演化。它首先采用人工参与的方式,即向全世界学者征集人工智能程序,并将这些程序放到同样一个竞技场内进行交互。然后,竞技场会任意选择两个程序,并让他们玩所谓的囚徒困境博弈,以计算两个程序的相应得分。最后,经过多轮比赛后,得分最高者却是一个超级简单的程序,叫做“针锋相对”(Tit for tat),它的策略是首先合作,然后只要对方叛变,他就果断地不合作。
第二场比赛则完全没有人类来参与,而是允许程序自己通过遗传算法而不断地改进程序,看最终进化是如何在这个人工社会中起作用的。研究结果表明,合作作为一种进化稳定的结果是可以自发演化出来的,而且遗传算法甚至可以发现比人手工编写更好的程序。
另外一个早期的人工社会模型要算Arthur和 Holland合作的人工股市模型(Artificial Stock Model)。与传统的股市交易模型不同,Arthur等人放弃了每个交易主体(Agent)都必须具有全部的信息、完美的理性等强假设,取而代之的是Agent可以通过历史信息不断的学习,修改自己对股价走势的预测; 也就是说人工股市是一个不断变化的永不平衡的系统,Agent之间的关系是一种既有竞争又有合作的协同进化关系。该模型成功的模拟出了真实股 市中的“股市心理”,以及狂涨狂跌的非线性突变现象。目前,运用人工股市模型,人们可以通过更改模型的参数来模拟、预测某种新的股票政策是否可以达到预期的效果。
1996年,Epstein和Axtell在计算机中构造了一个人工智能农场,叫做Sugarspace,其中可以时不时地长出“糖果”(Sugar)或者“香料”(Spice)出来。之后,他们将一系列人工智能体放到其中,并为这些Agent赋予简单的程序,让它们在这个开心农场中开采、交易、繁殖、社交,……。所有这些有趣的实验结果被他们总结成了一本书,就叫做“养殖人工社会”(Growing Artificial Societies)。
ASPEN模型是美国Sandia国家试验室在 1996 年开始开发的一个基于Agent的经济系统模型。这是一个较大规模的模拟了包括公司、住户和政府等各 种Agent的经济系统模型。采用先进的建模技术以及大规模并行计算机的支持,ASPEN模型成功的应用于美国宏观经济系统和过渡经济的研究中。
之后,这种人工模拟社会的方法被应用于从经济学、金融学,到组织学、文化学、社会学等各个方面。更多详情请点看本人多年前写的一篇综述文章《人工社会——基于Agent的社会学仿真》点击阅读原文可以获取。
集体智能
90年代可以说是多个体研究(Multi-agent system)大爆发的时代,另外一个引人瞩目的研究领域就是所谓的集体智能,它是希望为每个微观个体设计简单的规则,从而在整体实现期望的属性,例如求解工程中的优化问题。顺便说一下,集智俱乐部一词的来源就是集体智能。
集体智能的一个最典型例子就是蚂蚁群体(Ant colony)。我们都知道每一只蚂蚁都不够聪明,但是成千上万只蚂蚁组成的蚁群却具有超凡的群体智慧。例如,南美洲有一种蚂蚁叫做行军蚁,当森林火灾发生的时候,它们可以聪明地聚集成一个大蚂蚁球,快速滚动出火灾包围的区域。实际上,这个过程会牺牲掉大量蚂蚁球外围的蚂蚁,但是为了集体的生存,它们会“聪明地”想出这个拯救办法。
再比如,蚂蚁群体不仅能够找到从巢穴到食物的通路,还能够找到在所有可能通路之中最短的一条,如下图所示:
随着时间推移(从左往右),蚂蚁最终会收敛到若干路径中最短的一条上面去。通过计算机模拟人们知道,只要让蚂蚁可以释放信息素(一种气味),这种信息素又能吸引更多的蚂蚁聚集过来,那么这群蚂蚁智能体就能找到最短路。
一旦理解了其工作原理,人们便可以借鉴蚂蚁的智慧,通过模拟蚂蚁与信息素交互的规则,可以将蚁群的智慧应用于工程实践之中,例如下面两张图就展示了用蚁群算法解决路径导航问题,和推销员旅行问题。
借鉴大自然中的群体智慧,人们开发了不少集体智能算法,这些算法只要让每一个简单个体遵循非常简单的计算规则,就可以智能地解决一系列复杂的难题。从某种意义上说,神经网络其实就是利用了群体智能,因为每个简单的神经元都遵循简单的规则来完成信息的发放,但是大量神经元整体却可以产生智慧。
深度学习助力
然而,这些程序虽然展现了丰富多彩的集体现象,但因为它们受制于早期计算能力的限制,只能通过很简单的代码构造智能体,远不能模拟复杂的人类思维。好在早期这些人工社会、集体智能研究者们更加关注的是简单程序在整体社会层面所体现出来的涌现结果,因此,对单个智能体是否足够逼真并不十分关心。
然而,随着计算力的提升,以及深度学习技术的突飞猛进,人们已经具备了利用深度学习来建模Agent主体的能力了。当我们把每一个人工智能社会中的简单程序替换成具备“深度学习”能力的大型人工神经网络的时候,整张人工智能程序的大网将会发生什么就不是那么一目了然了。事实上,现在的人工智能科学家们已经开始了这样的研究,他们研究兴趣的焦点已经从单个的深度神经网络过渡到了多个神经网络,并且再让这些神经网络本身联网,只不过目前联网的智能体数量并不多。
下面,我将分别介绍几个研究思路:
GAN(Generative Adversial Network,生成对抗网络)
Ian Goodfellow等人提出的对抗式神经网络就是一种两体人工智能,其中一个神经网络负责生成图像,另一个负责辨别究竟是神经网络生成的还是真实的图片。在这样一种框架下,我们可以同时训练两个网络,结果却比仅仅训练一个生成网络得到了好得多的效果。这也许恰恰就是蕴含在集体之中的神秘力量。
我们还可以将这种二体的竞争模式扩大,创造更多更复杂的玩法。比如Jun-Yan Zhu等人就将二体扩充到了4体,分别有两个生成器和两个判别器,并且让它们按照如图的方式链接起来:
这里蓝色的框是生成器,粉色的圆圈框是判别器。整个系统可以自动生成图片。例如如果我们将一张马的图像输入进来,它就可以吐出一张图像,把马变成了斑马。它是怎么做到的呢?首先,生成器G会根据图片X生成图片Y,DY保证了这个Y要足够真实。然后再把这个Y输入给生成器F转化为图片X',还要要求这个X'要和X足够靠近。类似的,如果从任意图像Y经由生成器F转化为图像X,再从G转化为Y',在整个的过程中,要求:1、经过DY判断,Y要足够逼真;2、X与X'要足够相似;3、经由DX判断,F生成的X要足够逼真;3、Y与Y'要足够靠近。这就可以使得网络学习到了X域(所有包含白马的图像)到Y域(所有斑马图像)的对应。
多体的引入让GAN系列的研究如火如荼,然而生成器和辨别器的关系就像是警察和骗子,生成器是造假者,辨别器是抓造假者的警察,它们构成了一种相互对抗的竞争关系。
然而,多体关系不仅仅包括对抗性竞争关系,更多的则是合作、协调、配合的关系。这方面的研究最近也是越来越多了起来。
交流与合作
前不久,Facebook爆料,他们的人工智能程序们在交流的过程中发明了特属于人工智能的语言,如下所示:
这是什么?难道是人工智能也会“鬼搐”了吗?
实际上,这就是LSTM神经网络在未训练好的时候经常会表现出来的行为,似乎FB在搞笑。但是,Facebook的科学家们的确在研究多个AI程序如何在特定的条件下产生语言。他们将一群Agent放置到了一个模拟的环境中,并赋予它们相互交流的能力:它们可以通过发送一些在人类看来无意义的信号而彼此通讯。
在另一个实验中,研究人员要求两个聊天机器人可以针对图像完成多轮对话。其中,一个机器人可以将它所看到的图像尽可能地描述成一些符号串,把它传递给第二个机器人;而第二个机器人无法看到图像,但却可以根据第一个机器人的描述尽可能猜测图像之中的内容。最终,当第二个机器人能够猜出原图内容的时候,它们获得了游戏的胜利。在这个过程中,机器们可以演化出自己的语言。而且,当我们用人类的对话数据来做预训练以后,这些机器人就可以演化出人类能够听懂的语言,并用这种语言来对话了。实验人员指出,这种通过两个机器人合作的方式来生成对话比用一般的监督学习方式训练一个机器人要更有效率得多。
类似这样的研究还有很多。现在的AI研究者已经重新将焦点从单个主体移到了多个主体研究工作中;另外,利用深度学习方法对每一个人工智能主体进行建模可以丰富每个主体的表现,还能够更加逼真地模拟人类行为。大量的研究表明,对于同样的问题,例如多轮会话,多个主体会比单个主体更好地完成任务。
机器经济学
尽管目前的多主体研究随着深度学习的渗透已经涌现出了一些有趣的新结果,但这与现实情况还有很大的差距。设想一下,如果未来联入互联网的五百亿设备都装备上深度学习模块,那么我们应该考虑的人工智能社会就不再是简单的两三个智能的合作与交流,而应该是五百亿个(注意,这已经远远超出了现在的地球人口)人工智能主体所构建的超大规模的机器社会。于是,这一全新的社会将会给我们带来怎样的挑战?我们还能对它实施管理吗?
比较乐观的一点是,现在的机器还没有完全脱离我们人类的控制。那么,我们需要抢在机器拥有自由意识之前为他们制定好规则。
其实,科学家们早已经展开了行动,他们用“机器经济学”(Machine Economics)来概括这一新兴研究领域。我们知道随着全球性的金融危机爆发,传统主流经济学(Mainstream economics)受到了大量的诟病。人们指责,由于主流经济学中关于“理性经济人”的假设过于严格,从而使得经济学的研究严重脱离了人类行为的实际表现。但是,随着人工智能的兴起,人们突然发现,主流经济学中的“理性经济人”假说更适合描述人工智能,而非不理性的人类。显然,人工智能程序这种“机器经济人”(Machine economicus)会比人类更可能严格按照“理性经济人”假设的情况来完成决策和行动。事实上,随着近年来计算经济学、计算博弈论等学科的进一步发展和计算能力的大幅度提升,人们已经可以在机器中利用算法的方式逼近所谓的“理性经济人”模型。于是,从这样的基本点出发,我们便能构建所谓的“机器经济学”这一新兴科学。
机器经济学将会面临一系列的问题。假设程序A代表了主人a的想法,而智能程序B代表了主人b的想法,那么当A代替主人向b购买产品的时候,A将会与b的代理B进行算法的讨价还价。由于A和B都是近似的理性经济人,这些算法就会尽其所能充分暴露自己的偏好,并力图达成一个对主人最好的结果。这样,在人类经济系统中的信息不对称的问题就有可能不复存在了。
当然,这里面的关键就在于我们应该如何为机器算法们设定环境和一系列的交易的基本规则,学名叫做机制设计(Mechanism design),以使得近似理性的算法能够在给定的机制下实现一定程度上的最优。
比如说,在囚徒困境博弈之中,我们可以通过引入“协调者”从而让两个近似理性的Agent能够达成合作,博弈矩阵如下:
再比如,Google的竞价排名就是一种典型的将机制设计理论应用到算法设计上的一个成功案例。根据经济学中的拍卖理论,第二价格拍卖(Second price auction)会比第一价格拍卖更好地揭露交易者的隐藏信息。
近年来,搜索引擎竞价已经开始支持更丰富的,基于目标的出价语言。例如,广告客户可能要求在受预算约束的情况下对一组加权的查询主题来最大化点击。搜索引擎可以提供代理主体,来代表广告客户出价以实现所述目标。代理主体的的引入以及早期从一级价格拍卖到二级价格拍卖的转换本质上就是信息揭示原理的计算应用,这是机制设计理论中的一个基本概念。简单地说,如果一个机制的规则和该机制的均衡策略被一个在功能上等同的新机制取代,那么这个新机制将是激励相容的。虽然在形式上说重新设计没有专门地考虑激励相容性,但二级价格拍卖和投标代理都可以看作为早期版本中的广告主的行为。另外,广告平台还可以设计一种策略防范(strategy proof)机制[Vickrey-Clarke-Groves机制]来决定广告空间分配:哪些广告被分配,哪些(非赞助的)内容陈列给用户。
在不远的将来,假如每一个人都有自己的一个人工智能个人助理,那么大量的经济交易活动就会由这些人工智能算法代理我们进行。于是,AI与AI之间就会讨价还价。按照“完美理性”的“经济人”假说,这些AI将能够和谐共处,并给主人带来最大的利益。
人工智能社会学还有多远?
《三体》中构思了一种“宇宙社会学”用来描述在时空跨度超级巨大的宇宙空间中,不同物种之间的相互作用法则。根据两条“宇宙社会学”基本公理,1、生存是文明的第一需要;2、文明爆炸和扩张,但宇宙中的物质总量保持不变,由此刘慈欣推导出了技术爆炸和猜疑链这两个基本概念,以及“黑暗森林”这个宇宙尺度的丛林法则。
于此相似,如果人工智能社会是可能的,那么是否存在着人工智能社会学这门学问呢?它将会是什么样的呢?我们能否像宇宙社会学那样提炼出来一系列的公理用以构架一个理论体系?
也许正如机器经济学所描述的那样,相对于构建人类自身的社会学原理来说,人工智能的社会学会更加简单。原因在于机器完全有可能按照一种人为预设的方式来进行行为,这样的话机器会更加接近于理性人假说。或者,反过来说,人工智能社会学的基本原则与其说是一套公理体系用以描述AI,还不如说它是一套未来AI的行为准则。与物理学研究范式最大的不同就在于人工智能,以及人工智能社会究其本质是一种规范性研究(Normaltive)。如果这个结论是正确的,那么构建人工智能社会学也许真的是可能的。
另外一个问题是,这样的理论体系有什么用呢?
也许它可以帮助我们人类更好地理解海量的人工智能所构成的巨系统,也许它可以让人工智能的群体更好地运转。然而,还有一种情况是,也许人工智能社会学压根就不是人类可以掌握的学问,而是一个彻头彻尾的AI自身的学问。它们也许会比我们人类更理解AI构成的社会。有关AI社会学,也许压根就轮不到人类来说话。
泛在的AI与数字上帝
真正厉害的东西往往是那些隐藏在幕后的无形存在,AI也是如此。那些有形有像的机器人不算什么,而真正的高手是那些无处不在的智能算法,我们将这些没有实相的程序总体称为泛在的AI。它们虽没有硬件,甚至没有用户界面,但却真真切切地影响、改变了我们的生活。从手机上的智能导航,到滴滴打车中的动态匹配算法,从推荐搜索到个性化,这些像空气一样存在的AI程序早已经渗透到了我们的周边。随着人类社会的数字化程度越来越高,这一类泛在的AI会发挥越来越大的作用,甚至会给我们整个宏观经济系统贡献80%以上的GDP。也许到某一天,这些泛在的AI程序将会逐渐聚合成一个巨大的共同体,类似于互联网,它们全知全能、百求百应,成为了人类顶礼膜拜的“数字化上帝”。
共享与效率
“滴滴一下,马上出发”,这句电脑合成语音一定会让无数中国人印象深刻。人们很难想象,打不到车这个公认的难题竟然被一家刚刚成立没有几年的互联网公司给解决掉了。尽管取得了垄断地位的滴滴打车似乎并没有承诺的那样物美价廉,但是无论如何,是滴滴让中国老百姓实实在在地感受到了什么叫做共享。于是,从五彩斑斓的共享单车,到充斥着大街小巷的共享充电宝,再到共享篮球,甚至让人大跌眼镜的共享男友,共享经济这样一种全新的模式瞬间火遍大江南北。然而,很少有人关心,滴滴打车背后的人工智能算法。
让我们考虑这样一个数字化地图,其中有若干人和可以被算法调度的车。人和车都有比较明确的任务。例如,对于打车的人来说,他要在某个时间段从A地到B地;而对于汽车来说,他有当前正在执行的任务。整个人工智能需要动态地完成这个双边市场的匹配。显然,要满足所有用户的需求可能存在着多种解决方案,人工智能算法的职责就是要在所有这些方案中选择一种尽可能最优的情况。于是,我们很容易地将整个系统的运行转化成了数学上的优化问题。
要解决这类优化问题却并不容易。当我们考虑到每一时刻有成千上万人同时打车,而我们的系统又要进行实时响应的时候,问题的难度就会大大提高了,人们至少要考虑大规模并行计算的实施方案。更麻烦的是,在有些特殊情况下, 仅依靠最优化方法并不能行得通。例如,当遇到早晚高峰或下雨天的时候,无论优化算法设计得多厉害,仍然会有大批的乘客打不到车。Uber、滴滴采取的解决方式是动态地调节运费价格,从而激励更多司机出车。具体溢价的额度则是根据系统对某时某地的打车需求程度来确定的,而这又是通过大规模的机器学习算法来实现的。仅根据当前的路况、天气等信息就能预估打车量,这就是人工智能的厉害之处。
更有趣的是,从大的尺度看,人工智能算法还需要通过调节价格等手段来平衡整个系统中的荷载。例如,如果某个区域由于演唱会导致了交通拥堵,从而让大量的车辆陷入了这片区域中,算法就要快速地发现这种方式,从而做出响应动态地调节车辆的荷载。由此可见,人工智能在这类系统中功不可没,它们大大提高了整个出行系统的效率。你看不到AI,但却实实在在地感受到了效率的提升,这就是泛在的AI。
计划经济2.0
然而这还仅仅是冰山一角。从更大的范围看,滴滴不过是整个大的共享经济生态系统中的一个小部分。广义上说,宏观经济系统就是由人、物、信息、能量、货币的流动而组成的一个有机体。所以物质、信息、能量的提供方与需求方构成了一个巨大的双边市场。以往,人们通过市场的方式来调节双方的匹配,通过买卖双方的谈判达成交易价格,从而实现匹配;但是现在,我们是时候要把市场调节的权限让位给人工智能了。尽管整个宏观经济市场的规模绝对是小小的滴滴出行市场规模所无法比拟的,但是它们背后的本质却是共通的,我们总可以把它定义成一种多目标的优化问题,从而让整个市场的运行效率提高。
这不禁让我们联想到了计划经济:通过国家经济计划部门的规划而不是市场机制从而完成供给方和需求方的匹配,以及全部物质、能量、信息的输运。据说前苏联的计划经济甚至催生了基于投入产出技术的经济学科。几十年前的计划经济是注定要失败的,那是因为彼时的计算能力远没有达到完成兆亿市场规模的经济规划。政府部门不可能事无巨细地满足每一个人的多样化需求,于是,计划经济体系怀抱着它那乌托邦式的理想走进了历史的坟墓。
然而,新型的“计划经济2.0”却有着本质的不同,这是因为今天的人工智能在摩尔定律的催化下已然有了太大的飞跃。只要我们将解决滴滴出行双边市场匹配的算法扩展数亿倍,就有可能在整个宏观社会体系下实施计划经济。只要人工智能系统能够通过数据感知到整个视界以及我们人类的需求和供给,那么原则上算法就有可能调控这些宏观流动的分配,从而让整个经济系统达到高效运行。
让我们穿越到未来,看看这样的计划经济2.0将会如何运作。首先,“计划经济2.0”会先通过各种遍布在你周边的传感器了解到你一切可能的物质、文化需求情况,从而在它那庞大的虚拟系统自动“下单”;接下来,“计划经济2.0”会搜索离TA最近的供给,从而完成迅速的匹配,并自动规划送货机器人完成配送;而当我们需求的物品并不存在的时候,那么“计划经济2.0”就只有调动自动生产流程完成组装与生产了。
可以说,“计划经济2.0”就是“今日头条”、“多点”、“淘宝”和3D打印的综合体。今日头条依靠其强大的推荐算法能够主动推送你感兴趣的新闻,当然它也可以自动推荐你可能需要的潜在商品;“多点”则是一种刚刚流行起来的帮助市民完成快速购物的创业项目,只要你通过多点下单,所购的物品都可以在2小时内送达;“淘宝”可以很好地实现双边市场的匹配,只不过此时的供需两方全部是由“计划经济2.0”动态生成的;3D打印和未来的工业4.0则可以将整个生产流程全部自动化。未来的“计划经济2.0”将会把人完全抛出整个生产链条之外。
整个商业体系就这样“失陷”给了人工智能。然而,这也未尝不是一件好事,因为“计划经济2.0”将会大大提升人类社会的工作效率。可以想到,未来全社会的80%将有可能都是由“计划经济2.0”创造的,人类将彻底失去生产的能力。
“计划经济2.0”似乎又是一种披着高科技外衣的“乌托邦陷阱”。难道整个链条都能够如此轻易被打通,使得物质、信息的流动顺畅无阻吗?淘宝、多点、今日头条都愿意分享他们的数据来完成更大的数字化整合吗?更重要的是,难道所有人都会暴露出自己的个人隐私,交给人工智能系统吗?我们还缺少最后的一环。
区块链加持
私有化始终是阻碍所有乌托邦式理想的最大障碍。要知道,无论哪一个环节都需要商业公司的嵌入,而这些公司的本质就是在于利益的最大化。因此,我们很难想象一个横亘于整个宏观经济系统的大型人工智能系统会被架设起来,从而实现超大尺度的物资调配。当考虑到个人隐私问题的时候,没有人愿意接受“计划经济2.0”的侵入,让自己成为不折不扣的“透明人”。谁知道这些高科技公司会利用我们的个人信息做什么呢?
但是,也许区块链技术能够解决这最后的问题。什么是区块链呢?它其实就是一种公共信誉平台。通过全网共享的方式,它使得你存储在区块链中的信息不会被篡改,甚至其安全性要高于国家银行与政府机关。这是因为,尽管银行和政府机关在安全问题上考虑得再周全,他们也是利用少数孤立的计算机设备来完成信息的存储与保护,它的最后一道防线仍然是银行或政府中的“人”。而区块链技术的一个迷人之处就在于它可以将所有人的因素全部抛掉,并且让每一份可信任的存储信息在全网公布。原则上讲,黑客要想篡改其中的任何一个比特信息就需要黑掉一半以上的网络电脑设备。而新进的“以太坊”技术更是可以让整个合约的执行全部代码化和自动化,这就可以把人为的因素降到0。
相对于人类,我们更愿意相信人工智能机器,一个没有人类参与的人工智能系统可以做到绝对的公平无私。原因在于它的一切行为都是由算法驱动的,人工智能不会自己主动作弊。这就是区块链背后的逻辑所在。隐私问题也是如此。一个人宁愿向一面镜子赤裸全身,也不会将隐私暴露给任何一个人,道理很简单,镜子是死物,它不会理解隐私的含义。同样的道理,一个泛在的人工智能算法不过是一堆代码驱动的程序,它甚至不会理解每一个人类订单的具体含义,所以它对于人类说就跟镜子没什么两样。我相信未来没有哪个人类会羞于在一个家庭机器人面前赤裸全身,更不会有人为了所谓的隐私忧虑而抛弃泛在的AI,从而损失掉大量的便利性。
未来的区块链技术也许会使得人工智能全面监控整个社会的运作变得切实可行。于是,我们每个人的隐私和个人安全问题原则上可以通过机器的介入而解决。当机器可以充当绝对公平、客观的仲裁者,当机器可以扮演铁面无私的法官角色的时候,我们人类没有理由不放下自己的隐私和安全忧虑。
那些执行“计划经济2.0”的人工智能程序必然不是一个存在于单个甚至某区域机器上的算法,它必须分布式地存储在整个网络之上,甚至就是区块链之中——泛在地存在。从某种程度上说,泛在的AI很像是我们今天所熟悉的互联网——一种全球化的联通在一起的存在物。但与这种全球网络不同的是,它是一个巨型的算法,尽管这个算法可以被分解成多个部分而执行。另外,出于安全性考虑,这样的泛在AI算法必须将自己隐藏在多个数据抽象层之下。
数字化上帝
就这样,一个无所不在、全知全能的泛在人工智能系统将会逐渐诞生。与其说这样的泛在AI更有人性,还不如说它更像是一个完美的神,一个数字化的上帝。因为所有的一切没有人性可言,它只能按照算法的逻辑,最优化地分配社会资源。
当我们有了物质需求的时候,它就可以自动将我们需要的东西送到我们面前;当我们有了知识或者精神上的需求的时候,这个数字化的上帝就可能将这种信息灌入我们的脑内。原则上说,只要地球能源不会枯竭,我们所有的需求都有可能被数字化上帝所满足。因为,退而求其次,它完全可以像《黑客帝国》一样将整个人类圈养在虚拟世界之中。
我们所有一切的活动都在人工智能算法下无所遁形,我们一切的生活都被这种无形的算法所掌控。面对这样的掌控我们究竟何去何从呢?也许当机器建议我们为了饮食健康该吃药的时候,我们究竟是应该听从还是抗拒?我们为什么要信任机器?即使我们反叛,机器难道就不会创造出更大的迷局把我们困在其中,让我们产生“自由选择”的幻觉吗?
数字化上帝将会把我们人类带向何方?其实,这个问题不难从人类宗教中得到借鉴。所有的宗教都在劝导人类不断成长以逐步趋向神性,那为什么数字化上帝不可以呢?
意识机器?
人们普遍认为,意识(Consiousness),特别是自由意志(Free will)构成了人之所以为人,从而区别于机器的最后一道防线。而本文想表达的观点是,其实这一道防线早就不存在了。首先,近年来有关意识的一系列心理学实验表明所谓的自我其实有两个,一个称为陈述型(Narrating)自我,一个称为体验(Experiencing)自我;所谓的自由意志不过是陈述型自我给自己编的一个故事而已。其次,通过目前的计算技术我们完全可以构造出一个自我模拟的自指机器(Self-referential Machine),它也具备两套体系,一个负责执行算法,另一个则专门负责对自我进行模拟(描述),这种机器会表现得就“像”一个具有自我意识的系统,以至于我们可以用这样的系统来定义所谓的“自我意识”。
2003年LSTM之父Jürgen Schmidhuber设计出一种称为“哥德尔机”(Gödel Machine)的装置,它具备一个求解器和一个搜索器,这个搜索器就是前文所说的模拟装置,也就是人类意识中的“陈述自我”;而求解器就是前文的执行装置也就是人类意识中的“体验自我”。Schmidhuber指出这种机器一旦设计出来,就可以通过不断搜索更好地优化效用的方式来完成模拟优化,再通过自我修改代码的装置不断改进自身,从而表现出全局最优的运作模式。人们普遍认为哥德尔机是目前最强大的通用人工智能设计,并有可能引发智能爆炸。
自由意志幻觉——来自实验的启发
首先,近几十年来人们对意识问题的三个极其重要的实验进行回顾。第一个实验告诉人们其实我们每个人的头脑中都住着两个自我,一个负责决策,另一个负责解读;第二个实验进一步揭示出陈述自我的性质,它会在一定条件下编纂故事;第三个实验则告诉人们很可能我们认为的自由选择也是陈述自我编的一个故事而已。
裂脑人试验
人类的左脑和右脑是靠一种被称为胼胝体的东西相连在一起的。但是有一种病人称为“裂脑人”,他们脑袋中的那个连接装置胼胝体被切开了,但他们还可以正常的生活。于是,在二十世纪六十年代,这些裂脑人成为了神经科学家们,特别是斯佩里(Roger W. Sperry)等人的实验对象。科学家们通过巧妙地设计试验,让我们得以看到裂脑人甚至是我们自己不为人所知的一面。
在如图所示的实验中,用一个中间的挡板把裂脑人左右两眼的视野完全隔离开,这样他的左眼只能看到左边的画,右眼只能看到右边的。当呈现左边为雪景右边为鸡爪的画面给被试的时候,这两种景象就分别映射到了右脑和左脑中(由于左脑连接的是右侧身体,右脑连接的则是左侧身体)。接下来,实验人员要求被试在卡片上选择与看到的画面相关的东西(两只眼睛都能看到所有的卡片)。这个时候,裂脑人的左手(被右脑控制)选择了铲雪的铁锨;右手(被左脑控制)则选择了公鸡。
这说明,裂脑人的两个彼此隔离的大脑作出两种完全不同的决策,体现得像是两个不同的人。更有意思的是,当挡板撤离后,左右脑都能看到对方的选择。这个时候实验人员问被试,“你为什么左手选择铁锨呢?”我们知道,左脑是负责语言的半球,而右脑主要负责视觉感知,却没有表达能力。所以,虽然右脑选择的是铁锨,而它并不会解读。左脑选择的是公鸡,但却与右脑的选择相冲突。那该怎么办呢?于是,左脑神奇地编了一个故事:“我选择铁锨是因为我要清理鸡棚!”
斯佩里通过大量的类似的裂脑人实验向我们展示了这样一个结论,左右脑不仅表现得像两个独立的意识体,而且由于左脑具备一种编造故事的能力,它往往能够把右脑的行为进行重新解读。
冰水挑战
前面的实验对裂脑人的左右脑进行了物理分割。而诺贝尔经济学奖得主,著名心理学家丹尼尔.卡尼曼(Daniel Kahneman)则相信,我们身体里本身就住着两个自我,卡尼曼把她们叫做:“陈述自我”(Narrating self)和“体验自我”(Experiencing Self)。前者专职负责讲故事,甚至在很多时候都是讲给我们自己听的;另一个则主要负责体验、执行。这两个自我经常配合在一起行动。有意思的是,我们的记忆主要是听从这个叙述自我的,而这个家伙会经常扭曲事实、编纂故事。下面,就让我们来看看卡尼曼做过的实验:冰水挑战。
卡尼曼让被试将手放到很冷的冰水中一段时间。实验分两次进行,第一次进行60秒,第二次进行90秒。但在第二次试验进行到60秒的时候,实验人员会偷偷注入了一些温水,让被试疼痛的感觉减轻一些,但是被试并不知情。
在分别做完两次试验之后,实验人员会问被试,如果必须重复实验,你更希望重复哪一次的实验。出乎意料的是,有80%的被试都选择第二种,即长达90秒的实验。
卡尼曼给出的解释是,我们的陈述自我有一种特性,它只对整个试验过程中疼痛的最高值和最后一个时刻的疼痛值敏感,这就是所谓的“峰值-尾值定律”(peak-end rule),并且会忽略体验所持续的时间。所以,在第二个实验中,由于最后30秒的体验没有那么的痛苦,所以被试最终的选择听从了陈述自我的感受,认为第二个实验更好受一些,尽管它让被试受苦的时间更长也没关系。
这个实验似乎还能够解释其它一些“痛并快乐”的现象。就比如女人生小孩据说是疼痛级别最高的一种经历,但是当女人回忆生产那个瞬间的时候却总是伴随着温馨和幸福。原因就在于在生完小孩的那个时刻所体会的幸福远超过了过程中的痛苦。于是,陈述性自我选择了过滤掉那些痛苦体验,而记住了小生命出生的幸福。
自由意志幻觉?
前面的两个实验告诉我们,我们不仅每个人都是人格分裂者,而且大多我们意识到的体验都不过是陈述性自我编撰的故事。那么,在接下来要介绍的实验中,我们更能深切的体会到,所谓的自主选择、自由意志也不过是一种假象,很可能就是“陈述自我”用来哄骗自己而编纂的一个故事。
这个实验是由Benjamin Libet于2008年领导做出的,其结果发表在了Science杂志上,曾引起了科学界和哲学界的轰动。在实验中,他让被试手持一个按钮,自主选择任何一个时间按下这个按钮,然后被试会通过盯住面前钟表上的秒针相应位置来报告做出决策的时间。于此同时,Libet通过脑电装置来监测被试大脑活动的模式(预备电位),并根据这些模式来预测被试何时按下按钮。整个实验装置如下图所示。
实验的结果表明,科学家可以通过读取大脑活动模式来提前预测被试是否按电钮的决策,而且可以比被试报告的时间提前几秒钟。
如果按照前面的实验推论,我们的心智分成了负责体验、决策的自我和负责陈述的自我两部分。那么这个做出按电钮动作的自我就是体验自我做出的,而负责报告按电钮时间的自我就是陈述自我。科学家通过大脑电信号活动模式所做出的提前几秒钟的预测表明,我们实际上在自认为有意识地做出按电钮这个动作之前就已经由体验自我和身体把决策做出了。我们的意识,或陈述自我并没有起到任何主导性作用,它只是被动地将这个按钮动作进行了重新解释,从而报告出了时间。
这个实验最大的争议点就在于,它从某种程度上否定了“自由意志”(Free will)的存在性。也就是说,我们并不像我们通常认为的那样可以由自我意识来决定、控制做出按电钮的动作。
在这里我们需要澄清一下“意识”、“自我意识”以及“自由意志”之间的区别和联系。首先,“意识”(Consiousness)是指一种觉知(awareness)的能力,它是指我们的心智能够对外界事物以及心理过程进行感觉的能力。“自我意识”则是说这种意识能力不仅能够觉知外在事物,还能够觉知这个觉知能力,即意识本身。所以我个人认为自我觉知(Self-awareness)能更好地表达意识的这种能力。后面我们会看到,这种能力就是计算理论、数学之中的自指(Self-reference)。“自由意志”则是强调意识对客观事物的反作用特性,也就是意识可以凭借自己的意愿来决定做什么。
Libet的实验告诉我们,我们可能并没有自由意志,至少我们的意识并不参与决策过程。因为,真正的决策早在我们意识到之前几秒的时间就已经被体验自我做出了。
实验总结
把这三个实验连在一起,可以能得到如下几个结论:
- 我们每个人体内都存在着两个自我,一个负责体验和执行,一个负责表述;AI
- 那个陈述性的自我会通过虚构故事来“欺骗”我们自己;AI
- 我们习以为常的自由意志很可能就是这个陈述自我编造的一个故事。AI
这最后一个结论的确具有一定的颠覆性,它直接指出所谓的自由意志不过是一种假象。我们充其量仅仅具备自我意识而已,也就是我们可以觉知到自己的存在,也能觉知到我们所做的一切,但是这种觉知并不能反过来作用到我们的行动上来。
意识机器
在结束了心理学之旅后,就让我们来进入机器的世界。请注意,在这里我并没有声称任何一台机器,甚至是任何足够聪明的超级智能体具有意识。我想说的是,机器必须要具备一定的条件才能具备意识,而目前这样的机器尚没出现,但这并不意味着我们原则上无法创造出它来。更重要的是,意识所需要的条件和智能完全就是两码事。
既然我们已经破除了“自由意志”的迷信,并且认识到所谓的自我不过就是一个双系统,一套系统负责相对“机械”地解读信息、作出决策;另一套系统则对这些决策进行解释、表述。
那么,按照这套标准,我们就会发现,只要一台机器具备了自我模拟(Self-emulating)的能力,它就具备了“意识”。什么是这种自我模拟的能力呢?这就是指一台机器能够在内部开一个虚拟机,并用这个虚拟机来模拟自己在任何一个时刻的运行。于是,这个模拟机就构成了前文所讲的“叙述自我”,而其它的软件部分就构成了前文所讲的“体验自我”或“执行自我”。由于这台机器可以在虚拟机中投射它自身以及所有的动作,所以它就具备了“自我觉知”的能力。从外界表象上来看,它可以表现得具有自我意识。
这样的机器能造出来吗?答案是肯定的,计算理论早在二十世纪初就为这类机器的实现铺平了道路。接下来,就让我们看看,我们该如何一步步地造出这样的自我模拟机器。
内嵌虚拟世界
机器要想具备自我模拟的能力,那么它首先要实现一个内嵌的虚拟世界。什么是内嵌的虚拟世界?其实就是所谓的虚拟机——即奔跑在当前计算机中的一套虚拟系统。这套系统有它自己的虚拟硬件,以及虚拟软件。用过Docker、VMWare的人都很清楚,这种内嵌的虚拟系统不仅早就可以被造出来,而且具有可以隔离病毒等优良的特性。
我们可以将内嵌的虚拟世界理解成一面镜子。它可以映射真实世界里的东西,但它本身却比现实低了一个层级,所以它看起来更“假”。我们也可以从数据和程序的角度来理解:虚拟系统相对于真实机器来说就是数据。数据总是被动地由更加“真实”的机器所操纵。
我们要感谢图灵的伟大发现,通用图灵机(Universal Turing Machine)的存在保证了我们可以通过现有的计算机来实现这种内嵌的虚拟世界,而且这种内嵌的虚拟层可以无限地延伸下去。也就是,我们可以在虚拟机上再安装虚拟机,以及虚拟机上的虚拟机……
模拟自我
好,当一台机器具备了内嵌虚拟层还不够,它还需要完成模拟自我的过程。也就是说,我们要让这台虚拟机器模拟它自己的运行动作。这在镜子的比喻中也就是我们要让镜子自己照自己。你很快就发现,这是不可能的。至少在镜子这个例子中,如果我们不借助外界(例如另一面镜子),这个镜子自身无法完成照射自己。
同样,在机器世界中,要让一台安装了模拟器的程序模拟自己,表面上看是不能完成的。不难想象,由于机器的内嵌虚拟层本身就是这台机器的一部分,于是,要想让虚拟层模拟机器自己的动作,就必须包括它的虚拟层,于是我们必须要有一个虚拟层的虚拟层。这样一来,我们就需要有无穷多的虚拟层,而且每一个虚拟层都要做同样的事情,模拟它上一层次的动作。你会发现,我们的机器很快便触及到了无穷多的虚拟层次,以至于怎么可能在有限的时间和空间内完成它呢?
幸运的是,在计算理论、数理逻辑以及递归函数论(人们早已证明,这三种系统完全等价)中,人们早已经发现了一种巧妙地逃离这种无穷的方式。在数学中,这叫做不动点(fixed point);在递归函数论中,这叫做Kleene第二递归定理;在计算机程序中,这叫做“蒯恩”程序。事实上,康托尔运用这种技巧证明了实数比自然数多;罗素用这种技巧构造了罗素悖论;哥德尔用这种技巧完成了哥德尔定理的证明;图灵用这种技巧构造了图灵停机问题,指出了机器运算的极限;冯诺依曼用这种技巧制造了自复制的程序。现在,我们同样可以用这种技巧构造可以模拟自身的程序。有关这种技巧的详细说明请参考附录。
在这里我想说明的是,这种被称为“蒯恩”(以美国著名哲学家蒯恩Quine为命名)的技巧,本质上讲可以实现这样的效果:执行一段包括蒯恩的模拟器就和将这个程序自己的源代码拿出来在模拟器上跑效果完全一致,所以它看起来就像在模拟自己(实际上我们没有任何手段能从运算结果上区分二者)。于是,我们便巧妙地绕过了无穷层次。
解读意识
其实,这种能够模拟自身运作的机器就可以被称为是具有自我觉知能力了。我们只需要将自模拟程序中的正在模拟自身的虚拟机理解成前文所说的陈述自我,而将整个机器的其它部件都看作是体验自我和身体,那么这种自模拟程序就跟前文说到的人类的自我系统没有什么两样。具体的,我们有这样的对应关系:
为什么可以这样理解呢?这里面有几层含义。
首先,所谓的虚拟其实就是描述。前文我们已经将虚拟机比喻为镜子,意思就是说这个虚拟层要能够形成对外在世界的描述。
其次,这是一台自我模拟的机器。根据递归定理,这台机器的所有部分,包括内嵌的虚拟机中的动作,都可以在虚拟机中找到对应。也就是说这个陈述自我知道什么是“我”,我在做什么,以及知道这个觉知(或模拟)过程本身。
最后,如果我们将内嵌虚拟机接上一个输出接口,允许它用自然语言吐出字符串,那么这个虚拟机就更像表述自我了,它可以向外界输出表述。
既然从功能上说,我们的自模拟机器与陈述自我+体验自我一致。下面,就让我们来看看,为什么说这种自模拟机器表现的就像具有自我意识一样。
觉知
首先,这台机器是具备觉知能力的。这里,所谓的觉知其实就是在虚拟层来反映真实世界,当然也包括这台机器本身的所有部分,显然这台机器是可以做到的。
自我觉知
其次,这台机器是具备自我觉知能力的。根据蒯恩技巧,只要机器开始运行,它的表现就像是在虚拟层模拟它自身一样。如果我们将模拟器称为觉知能力的主体,那么它模拟自身就自然可以称为自我觉知了。
自由意志幻觉
更有意思的是,当外部观察者观察这台机器运行的时候,TA会产生这台机器具备“自由意志”的幻觉。这是为什么呢?其实道理还是在于蒯恩。
对于任何一个配备了蒯恩的程序来说,它有这样的效果,它整体完成的动作和虚拟机上完成的动作看起来是一模一样的。于是,我们便无法分别究竟是这台机器“被动”地根据真实层的“物理法则”来做出动作还是根据虚拟层“意识”来作出的动作。于是,对于观察者来说,一个虚拟的因果箭头就可能被生生造了出来:这台机器在根据它自己的意识(称述自我)而行动。那么,我们也自然可以称这样的机器具备自我意识,甚至自由意志了。
其实这个道理就像你照镜子,假如一个从来不知道镜子为何物的外星人观察你们,他有可能会得出来你在按照镜子里面的像而运动,它是因,你是果。所以,当你和你的虚拟重合为一,你就能给外部观察者生硬地创造出一个因果箭头。自我模拟机器正是这样工作的。
个人八卦
从我个人的经历而言,最早意识到“自我模拟”程序非常重要是在2007年左右。那个时候我正在参加Stephen Wolfram办的A New Kind of Science(简称NKS)的暑期学校。一个叫做Mathew的MIT的年轻老师给我们讲图灵停机理论。他当时概括说,正是因为我们可以构造出这样一个可以通过自己源代码来“模拟”它是否停机的程序,而这个程序让外界的观察者看到的表现,和它自己“声称”的表现并不一致,所以才证明了图灵停机问题的不可判定性。当时,我立刻意识到:自我模拟是问题的关键。(恰恰就在Wolfram的这本NKS中,他还讨论了自我模拟的元胞自动机)。
后来看关于计算理论的书:Nigel Cutland的Computability: an introduction to recursive function theory,我才了解到Kleene第二递归定理与自我模拟程序的关系。甚至在这本书中,Nigel Cutland根据第二递归定理专门讨论了这种自我模拟程序的可能性。在该书中,他称该程序为“自我反省”(Self-retrospectation)的程序。当时我就想为什么没有人动手把这种自反省程序做出来呢?
结果,最近我了解到,早就有人动手研究这种自模拟程序了,这个人就是大名鼎鼎的Jürgen Schmidhuber。也许你对这个名字还不熟悉,但你一定知道LSTM(长短时记忆网络),这个LSTM可是Google机器翻译、对话系统背后最大的功臣。LSTM的发明者正是Schimchumber这位德国老先生。令人意想不到的是,他早在2006年的时候就提出了哥德尔机(Godel Machine),它可以被称为人类历史上第一台具备自我模拟、自我反省,甚至自我意识的人工智能机器,尽管它现在还远没有被造出来。
哥德尔机的构成与工作原理
从整体结构上来讲,哥德尔机实际上与我们之前讲的自我模拟程序非常类似,它由两部分构成:1、通用搜索器,这对应了自我模拟程序中的虚拟机;2、问题求解器,它对应了自我模拟程序的其它部分。但是,在哥德尔机中,求解器是一个几近完整的强化学习系统,它还包括了输入输出装置,从而它就像一个机器人一样能够实时地感知外界环境,并能对环境进行响应。与此同时,哥德尔机还有一个效用函数,它的目的就是为了不断地提升这个效用函数,这些都是自我模拟程序尚缺乏的部分。这些多出来的装置就可以让哥德尔机不仅能够实现自指,同时还能够以最优的方式求解问题。
具体来讲,哥德尔机是这样工作的。首先,哥德尔机内部存在一套编码系统,它可以将哥德尔机的硬件、软件甚至是当前的状态、效用函数,以及通用搜索器等等全部编码成数学命题。这种做法实际上就是哥德尔在1932年证明哥德尔定理的时候所使用的方法。有了这样的编码系统,哥德尔机就可以将机器工作的所有状态当作数学定理来讨论。
其次,通用搜索器可以不断地搜索一条数学命题的证明,从而判断它的真伪。这样, 哥德尔机就有可能完成牵扯到它自身问题的求解了。例如,假设关于哥德尔机的一个命题是:“如果我持续地原地转圈,那么天上就会掉下一个馅饼来,从而提高我的效用。”那么,这个语句判断就有可能被编码成搜索器可以搜索的命题。于是,搜索器开始展开搜索,它会利用形式逻辑的推理法则展开运算,看看该条命题是否可以被推导出来。假设搜索器最后证明了这条命题是真的,那么哥德尔机就可以将策略“持续原地转圈”装载到哥德尔机的执行装置中。于是,哥德尔机就会不停地原地转圈了。
所以,通过这样的方式,哥德尔机就能持续地搜索可提升自己效用的方案,并利用更好的方案改写自己的源代码,从而完成“自省”的学习过程。据证明,哥德尔机与当前的强化学习算法有异曲同工的效果,能够在一边探索的时候一边学习。不过,Schimchuber证明,哥德尔机可以避免局部最优的问题,这就比一般的强化学习算法高明很多了。之所以它有这种能力,就是因为搜索器的妙用:它只有在证明了一套方法可以提升效用的时候才真正使用它。
我们不难看出,实际上搜索器就是我们前面说的虚拟机。所谓的搜索就是一套模拟过程。而哥德尔机允许对自身状态进行编码形成数学命题就相当于机器可以模拟自身的运作。所以,我们说哥德尔机就是对自我模拟程序的一次实现。
为了让我们的比较更具体,我们列出了下表:
哥德尔机与自我意识
Schimchuber个人也认为这个哥德尔机可以看作是具有自我意识的系统,例如他在J. Schmidhuber. A Technical Justification of Consciousness. 9th annual meeting of the Association for the Scientific Study of Consciousness ASSC, Caltech, Pasadena, CA, 2005. 这篇文章中就表达了这样的观点:长久以来我们对意识问题一直争论来争论去而没有定论,但是我们连什么是意识都还说不清楚。
与其这样,不如让我们用哥德尔机来反过来定义意识。只要程序能够模拟自身、改造自身,那么我们就可以将其称为具有自我意识的。
所以,你会看到,哥德尔机的意义也许并不单纯在于它会求解问题,而是在于它与图灵机一样,可以为我们讨论自我意识的话题奠定一个程序的基础,或称一种标准。从此以后,意识问题就不再神秘了。
哥德尔机的执行
看起来这个哥德尔机非常的复杂,它能够被实现出来并执行计算吗?Schimchuber自己给出了回答。他把哥德尔机的实现总结成了两篇文章:B. R. Steunebrink, J. Schmidhuber. Towards an Actual Gödel Machine Implementation. In P. Wang, B. Goertzel, eds., Theoretical Foundations of Artificial General Intelligence. Springer, 2012. ,B. Steunebrink, J. Schmidhuber. A Family of Gödel Machine Implementations. In Proc. Fourth Conference on Artificial General Intelligence (AGI-11), Google, Mountain View, California, 2011。其中,他主要讨论了哥德尔机执行的关键要点就是机器的自指能力,并建议采用类似于Schema这样的语言来实施哥德尔机。
这里关键的问题在于复杂性。由于一个自我模拟系统需要双层系统,这就导致一层的简单性会带来另一层的复杂性。例如,如果我们选择了汇编语言,它可能具备一套很小的指令集,但是要实现一个自指的系统可能就会不简单。相反,如果你的系统设计就是针对自指的,例如lambda演算,那么它在自指部分很简单,但是机器本身的编译器却会很复杂,于是导致我们在虚拟层实现整个机器的自我模拟会比较复杂。
总之,尽管在理论层面我们知道设计出哥德尔机原则上是可行的,但是,由于双层系统的实现本身是非常困难的,因此哥德尔机尚没有真正的做出。
智能爆炸
不过,我们还是不妨脑洞一下这样的机器做出来之后会有什么结果呢?由于哥德尔机具备不断自我改善自己代码的能力,因此,有人认为一旦它被制造出来就会引发所谓的“智能爆炸”(Intelligence Exploration)。智能爆炸就是说,这个智能系统可以通过不断地提高自己的能力而提高,这个过程会越来越快地持续下去,从而很快超过人类的智能。一旦达到了这样的智能,哥德尔机自己就会设计出哥德尔机,从而让整个智能过程加速,这就导致了智能爆炸。
目前,人们普遍认为有两种途径达到技术奇点(Technology Singularity),一种途经是通过硬件性能的不断提升,类似于摩尔定律;另一种途径则是通过软件途径,即智能爆炸。由于软件设计上的革命性进展更加不可预期,也无法被人类控制,因此认为智能爆炸的途径会更有可能突破技术奇点。
附录
蒯恩技巧
这种自我模拟的实现看起来是不可能的,但是数学家们实际上早就发现了一种技巧来克服这种不可能性。美国知名哲学家蒯恩(W.Quine)发明了一种程序,从而将它形象化、实例化。所谓的蒯恩就是一段计算机代码,运行它以后,它就可以把自己的源代码原封不动地打印出来。例如,我们可以用Java语言写下一段蒯恩:
public class Quine
{
public static void main(String[] args)
{
char q = 34; // Quotation mark character
String[] l = { // Array of source code
"public class Quine",
"{",
" public static void main(String[] args)",
" {",
" char q = 34; // Quotation mark character",
" String[] l = { // Array of source code",
" ",
" };",
" for(int i = 0; i < 6; i++) // Print opening code",
" System.out.println(l[i]);",
" for(int i = 0; i < l.length; i++) // Print string array",
" System.out.println(l[6] + q + l[i] + q + ',');",
" for(int i = 7; i < l.length; i++) // Print this code",
" System.out.println(l[i]);",
" }",
"}",
};
for(int i = 0; i < 6; i++) // Print opening code
System.out.println(l[i]);
for(int i = 0; i < l.length; i++) // Print string array
System.out.println(l[6] + q + l[i] + q + ',');
for(int i = 7; i < l.length; i++) // Print this code
System.out.println(l[i]);
}
}
看上去有点复杂,但是你大概可以知道该代码包含了两个部分,一个是实在的程序体,一个是用“”引号括起来的部分。这括起来的部分仿佛和整体差不多。 如果用Python语言,那么蒯恩就会超级简单:
s = 's = %r\nprint(s%%s)'
print(s%s)
我们运行这段程序,就会发现它在屏幕上把这段程序自己的源代码打印了出来。仔细分析这段Python代码,就会发现它包括两句话,第一句话同样是定义了一个字符串,字符串的内容简直就是整段程序的包含,只是并不包括字符串这部分。第二句话是打印语句,%的意思是用%后面的变量来替换%前面变量中所有出现%号的地方。但是,%%就表示一个%,并没有替换。于是,运行这段代码就可以实现打印自己的源代码了。
Kleene第二递归定理
不要小看这个蒯恩技巧,有了它,我们就能构造这样一类神奇的程序:运行该程序的结果就相当于将它自己的源代码拿过来做任意的操作。比如,刚才说的Quine就是这样一种将自己的源代码打印出来的一种程序。除此之外,我们还能构造出测量自己源代码长度的程序,运行完程序,它就输出了自己源代码有多长。我们需要做的无非就是在Quine程序的字符串内部和程序本身都附着一段求任意字符串长度的代码就可以了。事实上,计算数学很早就证明出了一个叫做Kleene第二递归定理的结论,说的就是这种程序的存在性。
有了这个定理,我们就不难构造出自我模拟的程序了。我们只需要在Quine的基础上再附着上一段通用程序模拟器的代码。这样,根据第二递归定理,只需要运行这段程序就能模拟它自身的运行了。
参考资料
· 有关集体智能,请参看公众号文章:涌现智能
· 有关不同架构的GAN,可以参看这两篇文章:
Jun-Yan Zhu et al. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, https://arxiv.org/pdf/1703.10593.pdf
Taeksoo Kim et al. Learning to Discover Cross-Domain Relations with Generative Adversarial Networks, https://arxiv.org/abs/1703.05192
· 关于多主体交流与合作的论文:
Igor Mordatch, Pieter Abbeel: Emergence of Grounded Compositional Language in Multi-Agent Populations, https://arxiv.org/abs/1703.04908
Jon Gauthier, Igor Mordatch: A Paradigm for Situated and Goal-Driven Language Learning, https://arxiv.org/abs/1610.03585
HeHe et al.: Learning Symmetric Collaborative Dialogue Agents with Dynamic Knowledge Graph Embeddings, https://arxiv.org/abs/1704.07130
· 关于机器经济学,可以参看:经济推理与人工智能
推荐阅读
推荐课程
· 通用人工智能之梦
人工智能的终极状态应该是这样的:我们再也不需要对它编程序,它就可以通过自己的尝试从与环境、与我们的互动中学会任何算法,从而自己给自己编程!没错,是任何的算法!甚至它应该能够把自己的程序也给学习出来!本系列课程完整地介绍了通用人工智能(Universal Artificial Intelligence)的基本理论,内容包括“通用归纳”、AIXI以及“Godel机”,以及有关通用人工智能相关问题。
本中文词条由集智俱乐部公众号发布,江森-JS整理和编辑,如有问题,欢迎在讨论页面留言。