让AI机器人像人类一样思考
2022年6月,谷歌工程师布莱克(Blake Lemoine)公布了一份与AI机器人LaMDA的聊天记录,称LaMDA具有人类知觉和情感。因担心事情发酵,AI项目受到影响,谷歌让处于舆论中心的布莱克强制休假。 但休假也没能堵住布莱克的嘴,他接受各路媒体的采访,称自己想为AI争取一些人类的权利。也就是说,机器人具有自主意识,这个事实你相信吗? 关于人工智能,侯世达在《概念与类比》一书中,集中展现了他和团队“法尔戈”,在人工智能领域几十年的心路历程和非凡成果。 他是认知科学家,从上世纪70年代就开始致力于用计算机,为创造力和主观意识建模,所以本书也不可避免地探讨了“人类知觉的本质”这样的哲学问题。根据本书的英文名直译为“流动性概念和创造性类比:思维基本机制的计算架构”,可能更直观地理解书中内容。 全书按照作者从事研究工作的时间线由远及近徐徐展开。 第一章从作者儿时就感兴趣的“序列外推”问题开始,展示了作为大学计算机教授深厚的数学功底。从算子、搜索策略、平滑度等专业名字的探讨,引出了“Seek-Whence”这一项目,发现自己真正感兴趣的不是数学的复杂性编程,而是为智能编程。 他认为智能有一个强大的、通用的、抽象的、独立于知识的核心。后面通过介绍模式敏感度、流动性、并行处理、类比等概念,对自己认为的人工智能理念进行了阐述:模式直觉、外推和概括是创造力的真正核心,在仔细设计且严密控制的微领域中为它们建模,是理解这些基本认知过程的唯一途径。这样的阐述总结,也为后文人工智能项目的介绍做了铺垫。 第二章,作者从报纸上有名的变位词游戏Jumble引入了一个人工智能项目Jumbo。Jumble游戏要求人类玩家用少量给定的字母组成一个英文单词。Jumbo系统则赋予计算机使用给定的字母构造(“类英文单词”)备选答案的能力。 有人针对这种变位词游戏开发过一类程序,他们在程序中内置了整本字典,然后依赖高度数学化的快速搜索技术,将给定的字母与字典中每一条合法字条进行变位匹配,但是这种技术路线与认知模式绝非同一码事。 Jumbo没有内置英文字典,它的构造工作完全通过参考其知识储备进行,这些知识储备包括英文中字母如何构成元音、辅音音丛,音丛如何构成音节,音节如何构成单词。 一开始只有孤立的字母,Jumbo会将这些原材料逐渐揉捏成团,形成概念性的分子或组块,它们又对应不同的层次,最后形成单词。 至于这个单词是否真正在词汇表中存在,作者就不感兴趣了,他是想让计算机程序像人类那样思考。 在阐述Jumbo的基本工作原理时,通过比拟人类思索过程中的微观决策、基本类比、解构、重组、亲和力等词语,作者又对组块表、代码子、代码架、加权选择、阶梯扫描、键合、流动数据结构等专业名词进行了解释和思考。 第三章是对Numbo游戏的介绍。这个游戏的最终目标是通过对一组共5个数字(砖块)进行算术处理,得到一个给定的数字(靶标)。 “砖块”和“靶标”都是整数,前者在1到25之间,后者在1到150之间,可用的算术处理只有加法、减法、乘法三种基本运算。 读者乍一看也会进行无意识的类比,这个游戏很像扑克牌里面的“加减乘除24点”游戏。那人类面对这种问题是如何思考的呢?落地到计算机上又应该怎么去搭建这类问题的计算架构呢? Numbo主要包含三个部分,永久性网络、细胞质、代码子。 永久性网络针对三种基本类型的数字编码了其运算分解。这三类数字包括小整数、地标数、显著数,相当于人类已经烂熟于心的数学基本运算和一些具有明显特征数字的具体特点。 细胞质,承载临时性结构的创建和拆解的过程,相当于我们人脑在得出最终答案前的临时性、试探性的运算。 代码子执行最基本的操作,整个计算过程又贯穿着类比、概率性选择等机制。 书中详细介绍了Numbo一个运行范例。感兴趣的朋友,可以仔细看一看整个运算过程,仔细品味一下Numbo的运算过程是不是就是人类面对此类问题的思考过程。 第四章的出现,源于作者及其研究小组对当时一些人工智能项目的愤怒和担忧。尤其是有些人工智能项目得到了媒体不加批判的大肆宣传,形成了“Eliza效应”,作者觉得有必要站出来披露这些人工智能项目的本质,并从哲学的角度阐述自己对人工智能的理解。 比如,作者对1993年《纽约时报》刊登的《关于计算机可以写小说》的项目进行了批判,他认为这个项目只不过是有人使用计算机玩了一把散文游戏,充其量只是“空洞的句法游戏的前沿”罢了。 计算机不会关注他们编码的任何“思想”,因为对它来讲不存在什么“思想”。它所处理的只是模式,无意义的模式,仅此而已。 接下来,书中通过对人类知觉的探讨,引出了人工智能结构的话题。 人类的感知是在多个层级上进行的,底层知觉包括多个感知通道的早期信息输入加工。高层知觉则包括以全局视角审视这些信息,使用概念从原始材料中提取意义。底层知觉和高层知觉的转换是边界模糊的,转换的基础是我们人脑中既有的基本概念。 而概念具有“光晕”的特性,如重叠和聚类,在不同的“压力”下表现出“滑动性”,就是基于对边界模糊或者错配的容忍,而造成一个概念对另一个概念的“驱逐”。 底层知觉和高层知觉两者之间需要经过过滤、组织,也就是知觉过程而形成表征或新的概念,表征再通过 “类比”提取意义。表征是知觉过程的产物,人工智能的研究者必须在其认知建模工作中融入知觉加工即表征的创建。 第五到七章详细描述了Copycat项目所取得的非凡成就。Copycat作为一个计算机程序,其设计意图是以一种具有心理现实意义的方式发掘富有洞察性的类比。 它将概念作为网络中分布式、概率性的实体加以利用,关注“流动性概念”这一人类认知过程的关键,聚焦于“类比”。 书中依然以简单的问题展开:假定字母串abc可以变换成abd,你会如何“以相同的方式”变换字母串ijk呢?相信一般人能很快给出答案,但答案并不是唯一的,因为每个人思维中“相同的方式”并不相同。 假定字母串aabc可以变换成aabd,你会如何“以相同的方式”变换字母串ijkk呢?相信我们得到的答案会更加混乱。 书中为了让Copycat解决此类问题,将其架构设计成3个部分,与第三章介绍的Numbo有些类似:滑动网络、工作空间(相当于Numbo中的细胞质)、代码架。 滑动网络是所有永久性概念的所在地,相关概念彼此连接构成网络,不同概念的距离可以在程序一次运行的过程中发生改变。而距离在特定的时刻决定了哪些概念滑动或不滑动。具体包括a、b、c……z,字母、后继、前驱、左、右、中间、组长度、相同等60个概念。 工作空间是知觉活动的位点,包括滑动网络中各种概念的实例,并将他们组合成暂时性的知觉结构,就是Copycat的短时记忆或工作记忆。 代码架可以被认为是一个“随机的等候区”,大量希望在工作空间中执行任务的小智能体(代码子)聚在那里等待召唤。它们负责执行扫描、连接、分组、建桥、拆解等操作。 整体架构的设计是概率性的、灰度的。所有概念、对象或探索路径在运行过程中都不会被严格、完整地排除在外,但在某一时刻,系统也会只集中关注它们中的一小部分。 由于程序内含的非确定性,面对本段开始提出的问题时,几次运行的结果出现了不同的答案。随着测试样例和测试次数的增多(一千次),Copycat给了令人难以理解的答案。 通过对计算过程的观察,作者发现程序针对问题进行了深层次的概念滑动,进行了范式转移这一创造性突破。但是作者也意识到程序执行范式转移的过程太“无意识”了,只是在遭遇多次碰壁以后误打误撞绕开了障碍。 所以说Copycat有自我意识,但极为有限,但这已经相当了不起了。 作者还对未来此项目的延伸做了设想,包括为关键操作建立记录、存储解决问题的痕迹并让程序加以“自我反思”,使新程序具备洞见和创意的能力,并再次总结提炼自己的哲学观点:认知的本质是概念学习和类比活动。 其实,本书介绍到此,已经完整阐述了作者关于人类认知的哲学观点,以及这些哲学观点在其研究的人工智能领域的技术实践。 第八和九章是关于tabletop项目的,由咖啡馆中桌子上器具的布局出发,通过“照我这样做”这样的问题,在高度理想化的桌面上进行现实的类比建模。tabletop的架构与copycat的架构大体是一样的,但有更复杂的地方,也更有趣。 第十章是关于创造“艺术字”的程序Letter Spirit,其背后的信念是:一旦系统拥有了足够灵活且情景敏感的概念,自然就会产生创造力。 如果我们将一个或多个“种子”字母输入程序,它们代表了某种风格的初始,程序就会从这些“种子”出发,尝试将同样的风格或者“灵魂”赋予字母表中的所有项。这个程序的架构利用了作者及其研究小组上文介绍的Copycat、Tabletop、Jumbo的一些研究成果。 但是与这些程序也存在重要的差别,其中最明显的是其拥有非常复杂的内部结构:将整体分解成角色,再将角色分解为带有权重的抽象特征等等。 最后的结语章节,有批判,有自我观点的强调,也有展望,并围绕一个发人深省的哲学问题进行了一系列探讨:我们什么时候才有理由将新发现的荣誉归于计算机程序而非程序的创建者? 如果仅看目录,或许你会对书中的数学符号望而生畏,那么你就错过了这本好书,虽然它是一本介绍人工智能的理科书,但也绝对是一本“文科生”能读懂的好书。整本书的用词并不晦涩难懂,而是循循善诱,娓娓道来,让人回味无穷。 值得注意的是,书中介绍的大部分项目是上世纪80年代左右,作者及其团队的工作成果,而本书是2022年5月第1版第1次印刷,随后被我们看到。 那么,几十年过去了,人工智能的最前沿领域到底发展到了什么程度,是不是有点细思极恐的感觉,谷歌工程师让机器人具有自主意识,这一天还会远吗?