当前位置:   article > 正文

人工智能的本质----无所不在的搜索 The UBIQUITY OF DISCOVERY

人工智能的本质----无所不在的搜索 The UBIQUITY OF DISCOVERY

原文翻译:Lenat, Douglas B. "The ubiquity of discovery."Artificial Intelligence9.3 (1977): 257-285. 原文链接在文末。

摘要:

科学家都非常热衷于研究「智能」的现象,本文从对人类建模开始,创建出一套理论,研究智能行为到底是如何产生的,然后开发了一些程序测试和验证这套理论。本文认为,人类是一个「符号信息处理系统」,该理论认为复杂的认知行为可以建模成「搜索」或「探索」。每个人的意识里都拥有一个巨大的启发/灵感/规则库,指引着他的搜索方向。所谓「智能」,来源于在海量搜索空间里快速的搜索出解决方案的能力。本文展示了一些使用该理论解决实际问题的程序,其中之一就是 AM,一个自动推理出数学概念和推论的电脑程序。AM使用了250条启发规则指引搜索。该程序运行并验证了本文提出的「智能」的理论。本文还有一个重要的发现,那就是「启发/规则指引搜索」的普适性:无论是日常问题解决、还是发明创造、无论是科研探索、还是艺术创作,其方法的核心都是「启发/规则指引的搜索」。

1. 介绍

我们平时称之为「智能」的行为,都或多或少涉及到「探索、发现」这个过程。在人类最富有创造性、最考验智商的行为中尤为明显(比如发现一种新的化学合成物、写一首十四行诗、推导出一个新的宇宙模型、总结一条新的理论、解《纽约时报》的字谜游戏……)。本文将展示,解决日常生活中的问题,其实也是同样的过程(切奶酪、规划去波士顿的路径、解决《匹斯堡时报》字谜……)。

1.1 科学中的建模

我们这些人工智能领域的研究者,总是想思考到底如何解决这些问题,如何理解「智能」的涵义。为了给这个问题一个科学的解答,首先我们必须提出一些假设,利用试验结果总结归纳出一个理论,然后将该理论应用到一些具体的、可验证的模型中去。这是科研的方法,我们都知道科研的方法是非常强大的。

在“硬核”科学里,专门的针对某个相对简单的场景收集客观数据,然后基于这个数据,使用数学语言构建简洁但是严谨、形式化的模型(比如电磁场的麦克斯韦模型)。但是在相对“软核”的学科,很难严谨的量化某个现象,或者说很难复现,或者很难独立出来专门讨论(比如人类的智能)。这些模型一般是描述性的,经常用日常的散文体描述(比如心理学中人格的理论)。

科学模型的作用有两种:(1)整合、总结海量的历史经验数据;(2)预测新的现象,并可以依次设计实验验证它。(对于同一个事物)物理学家的模型(他推导的那一堆公式)比心理学家的模型(他散文集一样的描述)要好,因为物理学家的模型可以借助数学的力量,让他的模型可精准的量化预测。

那什么样的模型可以描述探索和创新呢?越形式化的(也就是更加数学的,形式化的==数学的==逻辑的)模型蕴含着越强大的预测的潜力。但是人类太复杂了,人类的行为太世故了,很难用几行公式预测。相比之下,行星和原子的运动轨迹就规则多了。

所以,就只能这样了是吗?我们无法用数学公式描述人类的创造力,只能单纯用描述性的语言来为人类的创造建模;只能用华而不实的散文描述那神秘的灵感闪现与迸发的一刹那;只能用隐晦的比喻来勾勒这些画面(就好像爱因斯坦用反观内省的方式做报告一样)。不好意思,这些问题的答案,至今为止,都是肯定的。

1.2 选择科学方法

不同学科之间的区别不仅在于它们研究的客体不同,观察到的现象不同,而是在于它们研究的方法不同。

所以即使我们现在要研究的是人类,也要先选择一个研究的视角。

如果我们把人类看成是一个形态表演者,内心世界无法可视化,那么我们就可以被称为是“经典心理学家”,根据人类的外部行为来探究人类的内心世界。如果我们把人看成是一个大脑,以及承载这个大脑的硬件装置,那么我们就可以称得上是“生物学家”,研究神经生理学的反应机制(通过植入电极)。如果我们把人看成一个机器,那么我们就是作为“控制论学家”,研究简单组件组成的反馈网络的数学特性。如果我们把人看成是一堆原子的组合体,然后从这个细粒度上去研究智能,那就太傻了。。。

大概二十多年前(自文章发表时间1977年),来自工程学(Broadbent)、心理语言学(Chomsky)和计算机科学(Newell and Simon)这三个独立的学科的科学家,共同提出了一种视角,认为人类是一种“符号信息处理器”。如果从这个视角出发,并且对人类的记忆存储机制感兴趣的话,那我们就可以称为是“认知心理学家”。如果从这个视角出发,对人类思考的机制感兴趣的话,那我们就是“信息处理心理学家”。最后,如果我们把人类看作信息处理器,同时只想学习人类解决问题、探索创造的能力的话,那我们就是在研究“人工智能”。

1.3 人工智能的基石

假设我们把人类看作是信息处理器,怎样把人类的智能建成一些可量化预测的数学模型,而不仅仅是华丽的语言描述呢?也许我们可以构建一些操作符模型,把我们想要描述的理论描述出来。为了实现这个,首先我们必须定义通用的符号处理系统,自动的处理信息的每一比特。

一个通用的信息处理系统,必须拥有以下功能(i)能够识别需要复制哪个处理过程,(ii)存储符号结构的内存,以及(iii)让这个处理过程真实发生的“引擎”。在这种信息处理系统发明出来以后,人工智能很快就问世了,这就是电脑。其实,AI更确切的说,应该被称为“机械智能”。

有了模型以后,可以用计算机直接执行一些动作(写十四行诗、研究天体物理、探索切奶酪的新角度、定义数学新概念、在城市里导航等等)。如果我们的计算机真的可以保质保量的完成设定的任务的话,那我们就认为对该任务执行过程所构建的模型得到了验证。

1.4 AI 研究的范例

我们这些AI 的研究人员已经完成了下面这些范例:

1)选择一些人类的认知活动(比如下棋、证明定理、理解英文语音),

2)分析完成该认知活动到底需要哪些信息处理流程,构建一系列假说,并最终形成理论;

3)将上一步得到的理论纳入电脑程序,形成模型。该电脑程序执行该认知活动,研究者观察执行效果;

4)通过实验测试程序,可以发现,我们所说的“智能”到底从何而来。

在这近二十年来,我们提出过很多复杂程度不同的假设,也验证了很多。很多成功了,当然也有很多失败——我们也从中汲取了不少教训。有一些实验下面(Section 3)会介绍,这里,我只想先介绍一个非常简单、但是非常核心的结论。

我们发现,相对多的认知活动(不管是解决问题、发明创造、还是模式识别),都可以被建模成「搜索」,或者说是「探索」,并且会使用大量非正式的、琐碎的经验来引导搜索的方向,这些经验规则,我们称之为”Heuristics”(启发、灵感、规则)。这还不是最重要的,更让我们震惊的是,这个简单的理论(「启发/灵感指引下的搜索 heuristic rule guided search」)不仅可以解释数学家的疯狂头脑风暴,以及一个随性的波士顿游客的行为,当我们建立更多模型的时候,我们发现它们都或多或少的遵循同样的规则。

在详细的论证该结论之前,我们来看看这条结论导致的两个现象:

(i)为了应对这个繁杂的世界,我们每个人,每天,都被迫(成功的)执行大量的“创造性研究”;

(ii)在进行创造性研究(比如科研或者艺术创作)时,需要用到大量的非正式的常识规则。

现在我已经把结论告诉你了,下面我来告诉你,这个结论是如何得到的。我会告诉你这条「灵感指引的搜索」是怎么验证,怎么被人们用来实现生活中的种种行为的,同时你还会发现有非常多的常识性经验。

2.1 理论

智能的实现,是有理论的。基于这个理论,模型——也就是计算机程序——被构建。这个理论大概是这个样子:

1). 人类的认知活动可以被看作搜索,随意的探索,直至达到某个目标,这个目标也许被定义的合理,也许不合理。

2). 在搜索的过程中,我们不是像机器一样机械的遍历所有可能,而是得到大量的、零零散散的经验指引——heuristics,启发。

3). 在任意一个场景下,我们都有可能得到很多相关的启发,我们要么 (a) 选择其中的一个作为指引,或者(b)快速的将几种相关的启发“编织”在一起,并且跟随这个“合并”的指引继续搜索。

就这么多。这听上去不太可信,事实上,这听上去简直不靠谱。但是依靠这个理论建立的模型已经可以完成相当多复杂的智能行为了:生物化学问题求解,有机化学研发,下棋,发现新的数学规则。

2.1.1 智能和信息

这套理论暗含了两个重要的假设:

— 人类是一个符号信息处理器;

— 人类在处理不同认知活动时表现出了“智能”。

我们现在来简要论证一下这两条假设,也就是说「智能」与信息处理有关。

27年前,Alan Turing 否认了“机器能思考吗?”这个问题,他设计了一个模仿游戏,来取代这个问题(这就是现在人们熟知的图灵测试)。游戏的一个版本就是:一名人类审查员独自待在一个密闭的房间里,房间里有一台电传打字机,通过这台打字机人类审查员可以和隔壁房间的人和电脑交流。隔壁房间有一个人,也有一台电脑。审查员通过打字机问一些问题,然后通过回答判断到底哪个是人,哪个是电脑。如果我们可以对电脑进行编程,让它能够迷惑审查员做出错误的判断,那我们就认为,这台电脑具有了“智能”。这个游戏相信大家早就已经熟知了,下面我来介绍另一个游戏。

13年前,Keith Gunderson 否认了“石头会思考吗?”这个问题,他设计了一个模仿游戏,来取代这个问题。一名人类审查员独自待在一个密闭的房间里,房间门的底部有一个小洞,足够让审查员伸出大半只脚到隔壁房间。隔壁房间有一个人,也有一块石头。有时这个人会踩审查员的脚,有时是石头落下来砸到审查员的脚。审查员必须分辨到底哪次是人踩的,哪次是石头砸的。如果我们雕琢这块石头,让它的形状足以迷惑审查员做出错误的判断,那我们就认为,这块石头具有了“智能”。

为什么第一个游戏不会像第二个游戏一样听上去那么傻,比“踩脚趾”更具备作为智能的判断依据呢?因为自由的对话是开放式的,要执行这个任务需要大量的知识、经验、认知能力、情绪和常识。而自由的踩脚趾则不需要这些。简单来说,第一个游戏需要信息处理能力,而第二个游戏不需要。如果你也赞同第一个实验才是真实的,第二个游戏是瞎扯的,那么就证明了「智能」确确实实和复杂的海量信息处理有一定关系。

因此,在研究人工智能时,用信息处理器的视角来看待人类是非常正确合理的。我们下面就用这个视角去建模,继续探索。

2.2 一些例子

下面我们来看看人们利用「启发指引的搜索」解决问题的例子,可以看一下它解决问题的适用性,普遍性和强大。然后我们会在第3章里看一下使用这种方法开发的真实AI程序,

2.2.1 日常问题求解

假设我们现在想从卡耐基梅隆大学(CMU)到麻省理工学院(MIT)。该怎么规划路径呢?也许应该找一张有详细信息的地图,然后开始搜索。有一些强大的规则,可以让我们快速的搜索出结果。我们首先查找几条主干道,可以把大部分路径都覆盖,然后再找一些细节“修补”主干道之间的路径(从CMU怎样上第一条主干道,从第一条主干道的末端怎样到第二条……直到到达MIT)。

这从抽象的层面来说就是「计划」的规则:先拿到初始的带有详细信息的地图(我们的“搜索空间”),然后只看最主要的路,忽略掉其他的细节。不消讲,这大大的简化了地图。我们还假设只要两条大路接近的地方,它们之间一定有小路连接;而且临近城市的大路,一定有小路通往城市。然后,我们在这个非常小的搜索空间(又称“抽象空间”)里搜索解决方案。最后,我们用得到的解决方案作为最终解决方案的核心(提纲),再进行一些细致的、微小的搜索(比如,到底如何从波士顿高速口到MIT校园),请注意所有的这些补充的搜索一定都是非常细微的、简单的,仅仅是核心解决方案的补充。使用「计划」的启发规则指引我们的搜索,让搜索极大的简化了。

这个简单的例子也许可以说明我们是如何将解决日常生活问题所用到的「智能」表示成「启发/灵感指引的搜索」。例子里是非常典型的问题,我们解释了怎样建模、怎样让计算机也能看懂并解决这个问题:暨,将问题投射成在某个巨大的搜索空间里进行的搜索任务,而人类常识的启发/规则,可以大大的缩小搜索的空间。下一节,我们会看到如何使用类似的解决问题方法进行头脑风暴的(我们将要发明一些新的厨具了)。

2.2.2 日常发明

假设我们现在遇到了下面这个问题:我们非常喜欢吃奶酪,但是每次用刀切奶酪刀时候,尤其是切的很薄很薄的时候,它很容易碎掉。当然你也可以就这么继续切下去,但是现在假设我们想发明一种工具来改进它。如果直接解的话,面临的就是一个在有无数种可能性的空间里搜索的任务,但是,我们思考一下,其实有很多启发可以指引我们。

1)有时候,在一个比现有需求更抽象、广泛的领域,已经有了某个很好的解决方案(可能是某个新发明);

2)思考一下,到底是哪种特性决定了现有技术的成败。去考虑这种特性的极端情况,寻找启发/灵感;

3)仔细思考问题的本质;也许这个问题根本不是个问题,或者说,我们对问题的定义太过详细了。

上面的一条规则(启发2)让我们去探索已知的某些特性的极端情况。那我们这个问题貌似和刀的厚度以及我们想要切的奶酪的厚度有关。所以我们也许可以考虑它们的极端情况,比如刀薄到极致的时候,就只有一个刀刃了……啊哈,恭喜你,发明了钢丝奶酪刀。或者我们想到了另外一种关系,大多数情况下奶酪好像在软的时候可以被切的更薄,我们就问问自己可不可以让奶酪变得非常非常软,那这个极端情况不就是让奶酪在与刀接触的那部分变得软到极致,也就是直接融化……啊哈,我们发明了热熔奶酪刀!把这个专利去拿给通用电气,没准很快就可以制造出成品了。

大家请注意,同样的启发规则产生了多种解决方案,这还只不过是一个极其简单的实例而已。现实生活中,我们可能有上百个启发规则可以使用。那我们把它们都告诉计算机,让计算机不眠不休的运行,那岂不是能产生出无穷无尽的创造!但是,请注意,其实几乎很少有创造能够这样仅需要很少的搜索就能被发明出来。在发明奶酪刀的例子中,每个启发规则都有可能很多种运用方式,但是只有极少是勉强有用的。

另外值得一提的是,同一个奶酪刀场景还可能有很多其他的启发,也会很有用。比如我们去考虑一下关于“切”的最新发明:也许可以直接拿激光刀来切奶酪?第三个启发告诉我们:其实还可以根本不用开发新型的刀,可以直接售卖已经切好的奶酪片啊;或者,还可以发明一个“奶酪压缩机”可以将切碎的奶酪重新压回成型……

2.2.2.1 评判价值 Judging “interestingness”

现在把我们的理论进行最严格的测试,让它去评判什么是有价值的,就像我们日常觉得某个事情有意思,某个事情不值得关注一样。这个问题貌似是属于跟逻辑、理性完全对立的范畴——直觉、情感、品味、审美观等。

如果这确实需要相当多“人性”的成分在里面的话,那么就不难理解为什么之前的推理规则无法做出这种判断了,因为之前的逻辑推理的建模,通常都是忽略「人性」的成分的。所以,就算能部分的实现“品味”的判断,也算是启发规则推理的一大胜利了。

这样的启发规则其实不难找。文学作品中充斥着创作的「规则」。对文学作品的评判往往是通过对称性、巧合、新颖、打破常规、和谐、均衡、实用、关联性等方面来考虑的。比如,一条经典的启发规则是:

  1. 如果:两个截然不同的事物突然被发现其实关系非常紧密,其实是一个整体,
  2. 那么:这不仅立刻同时增加了两者的价值/趣味性(interestingness),而且也增加这两个作为一个整体的趣味性/价值(interestingness).

这解释了文艺作品和影视作品中反复出现的经典套路。为什么反复出现的同一套叙事方式,稍微改变一下就可以长盛不衰(放在音乐界就是变奏曲“musical variations”)。狄更斯的成功就在于他的著作里大量的使用了这条启发规则(暨「巧合」),他的读者总是不断的欣喜的发现两个完全不相干的性格、维度、角色竟然最后发现是同一个人。这条启发规则同时也解释了为什么(抛开造价的因素)电热奶酪刀比激光奶酪刀要更容易被人接受(因为消费者已经熟悉电卷棒、电热毯、电热梳子等…所以他们一下子就适应了电热奶酪刀,甚至还有一丝欣喜,他的世界里又出现了一个电热的新玩意儿。)

2.2.3 科学问题求解

假设我们现在正在设计一个分子基因实验,要最终设计出一个合成生化产品。我们必须设计一系列非常复杂冗长的步骤(可能多达几千步),比如“将温度升至X”, “加入下列核苷酸”…等等。

如果我们能得到一些启发的话,设计出最终产品所需的搜索步骤(暨一条路径,可得到最终产品的一系列操作步骤)会大大简化。常见的方法有,忽略掉一些无关紧要的细枝末节,集中精力在最重要的几个关键步骤和关键中间产物。也就是说,我们首先将任务局限在一个非常小的搜索空间里来完成。然后,我们再添加很多细微条件来“修复”这几个中间关键步骤之间的关联(比如,再加上“某个步骤必须在12度下发生”,“另一个反应必须在25度下发生”等)。直到所有的步骤细节都敲定,才开始真正的执行。我们使用最常用的启发来解决这个问题:计划。计划的基本技术细节可以表述如下。

  1. 如果:你需要在一个很大的可能空间里进行搜索;而且在最终结果路径中,某些中间节点/中间态比其他节点更重要。
  2. 那么:试着去忽略这个问题的技术细节,简化这个问题。先解决这个简化后的问题,然后再将得到的解决方案扩展、细化成原本问题的解决方案。

在上面这个分子基因试验的例子里,我们一开始就忽略了「每一步化学反应的温度」这个因素。所用的启发和上一节从CMU 到MIT寻址的例子里用到的一样。这个启发的重复使用不是偶然发生的,它揭示了日常生活中解决问题和科研攻关时解决问题的一些共性。下一节将详细展示日常生活发明和科研探索时的共性,这也是本文的重点。

2.2.4 科学问题求解

假设我们遇到了下面这个问题:我们想要求得一个数的因子分解,但是往往会分解成很大很细碎的因子(比如,12可以分解成{1,12}, {1,2,6}, {1,3,4}, {1,2,2,3})。也许你觉得算到这一步就够了,有时我们还想改进求解的算法,或者只是想进一步探索因子分解。

实现后面两种探索需要在超大的空间里进行搜索。但是我们可以用一些规则来指引我们搜索的方向,比如在2.22节里提到的那三条规则。

其中一条提到在某些已知的规则/关系的极端情况中寻找灵感。这个例子里的关系就是“求约数”。这个关系将一个数映射成几个数的集合(比如12的约数就是{1,2,3,4,6,12})。一种极端情况就是把一个数映射到一种极端情况的集合,比如只含一个数的集合,只含两个数的集合,或者空集。换句话说就是,考虑一种没有约数的数、只有一个约数的数、以及只有两个约数的数。啊哈!我们发明了质数。请注意我们用的启发和2.22小节里Jed用来发明钢丝奶酪刀和加热奶酪刀的第二条启发一模一样。

2.2.4.1 判断发明的价值

就算「启发引导的搜索」理论可以发明质数,它可以用来解释科研人员如何知道这个发明有价值、值得被命名、值得被纪念的吗?

我们来看在得出“质数”这个发现之后,下面三条启发是如何发现这个发现是有价值的。

  1. 1. 如果:发现了一个概念C的极端情况,现在的任务是找到所有极端情况的实例,
  2. 那么,一个方法就是先去看看C的已知实例,它们可能本身就符合某种极端情况。
  3. 2. 如果:发现一个概念C的所有实例,同时也是另一个概念D的实例,而之前并不知道C是D的一个极端情况,
  4. 那么:推测C是D的一个极端情况,或者说特例,同时大幅提高这些概念的「价值 interestiness」.
  5. 3. 如果:发现一个概念的所有实例都符合一个很少使用的函数K中。
  6. 那么:有必要计算这个概念所有的K值,

比方说我们刚刚定义了没有约数的数的集合、只有一个约数的数字的集合、只有两个约数的数的集合、和只有三个约数的数的集合。刚刚给出的三条启发规则可以让我们很快的发现这些数的特殊性。假设把1~1000的所有数按上述的几种集合归类,则得到下面几组经验性结论:

  1. 没有约数的数:空集
  2. 只有一个约数的数:1
  3. 只有两个约数的数:2, 3, 5, 7, 11, 13, 17, 19, …
  4. 只有三个约数的数:4, 9, 25, 49, 121, 169, 289, …

然后我们就可以使用第二条启发规则:对得到的每一个集合,看看它是否有价值(if it’s interesting)。这样,我们很快就会发现最后一个集合,只有三个约数的集合,全部都是平方数。第三条启发指引我们计算该集合所有数的平方根,发现它们和第三个集合完美契合(也就是只有两个约数的数,暨质数)。那么第二条启发规则发现了这一点,同时大大的提高了「只有三个约数的数」和「质数」的价值(interestingness)。

所以我们可以把这种判断一个发现的价值的过程归为一套理论。请注意上述启发规则是非常宽泛的:它们可以用来判断艺术作品是否有价值、也可以用来衡量新型机械发明、也可以用来新的数学定理。在2.2.2.1小节,我们已经看到了第二条启发是如何评价《双城记》的价值和一种新型奶酪刀的价值。其他类似的启发,在各个学科有各种不同的名字。脱去“灵感”、“格调/调性”、“艺术品味”等等术语所笼罩的神秘的外衣,或许就是我们现在进行的AI研究的价值之一。

3. 模型

下面我将介绍一些基于「灵感指引的搜索」视角开发的人工智能实际代码。由于我们不希望太过偏离本文对主题,这里仅仅是对现有人工智能成果的惊鸿一瞥。

3.1 LT和 GPS

最早开发的AI应该数「逻辑学家 Logic Theorist (LT)」了。通过 Mathematica 不断的输入符号逻辑定理给它,然后它负责找到形式化的证明。LT拥有一些定理和推理规则。系统的搜索、穷尽所有遍历得到证明,确实是一件过于浩大的工程。但是LT知道几条启发/灵感,可以指引它的搜索:

“…… 选择原理可以仅审查所有可能空间的很小的一个子集,即可得到答案。Logic Theorist (LT)就使用了其中一个这样的原理,直接去找已经具备至少部分解决方案所需的特性的那些元素。LT的匹配过程使用的另一个选择原理是——在持续的搜索过程中获得的信息也很重要,利用这些信息指引接下来的搜索。在LT的相似性测试过程中使用的第三条选择原理是——将问题表达抽象,然后先去解决这个抽象后的问题。”

———[Newell and Simon 1972]. p. 137. 

在领略了LT中「启发/灵感指引的搜索」的强大能力以后,同一批研究人员又开发了一个系统叫GPS,General Problem Solver 「通用问题解决方案」。目的是为了将上述的启发规则应用到通用领域,也就是不限于某个特定专业的问题。他们希望GPS可以形式化表达所有的问题,然后提供形式化的解决方案。GPS使用了一些新的启发/灵感:

1. 方法分析:分析现有状态和目标状态的差距、选择可缩短该差距有关的操作、然后使用这些操作。这条启发规则使用前向搜索指引搜索向目标靠近;

2. 设定子目标/小目标:尤其是这种形式的小目标:“GPS想要使用操作X,所以 X 的前提条件必须首先被满足(暨值为 True)”。这条启发规则与“定位问题,分而治之”的哲学思想不谋而合。

3. 先解决最难的小目标,先缩短最重要的差距。

4. 在抽象空间里计划。建设性的忽略一些细节,此举可大大收敛搜索空间,也更容易找到解决方案。这个解决方案进而可作为原先那个巨大的搜索空间的指引,找到原问题的解决方案。

关于最后一个启发——计划,我再讲讲GPS在利用它解决自动定理证明时的应用。LT曾尝试实现自动定理证明却没有成功,我下面来讲讲GPS是如何利用「计划」来解决自动定理证明的。GPS是将所有定理、推理规则、和想要证明的定理输入,然后删掉它们之间的所有联系。然后把 Modus ponens 规则从“已知 P,和 P蕴含Q,得出Q”的形式转化成“已知P, ¬P∨Q ,得出Q”的形式。这样偶尔会得出似是而非的证明,或者证明过程中会丢失步骤。但是总体来说,它还是非常有效的,可以快速的解决其他方法无法解决的问题。在计划过程结束之后,仍然需要修复步骤之间的细节,这也是我们在上面的路径规划试验和分子生物基因试验里使用过的。

经过十几年的研究,我们发现,大部分问题确实可以转化为GPS能够解决的形式,但是GPS的通用启发规则还是无法达到完全像人类一样解决问题的水平。

3.2 DENDRAL: 科学问题求解

下面介绍的这一领域的巨大成就是由Ed Feigenbaum 和 Joshua Lederberg [Lederberg 1964],以及后来很快加入他们的Bruce tUichanan [Buchanan et al 1969]完成的。他们发现了以往工具所缺少的:专业水平。人类需要在某一特定领域经过长期的训练,才能成为专家,能够解决任一难题。这个现象不应该仅仅反映了人类大脑的脆弱,它还揭示了在解决复杂领域的问题时的必备条件。

1965年,他们开发了一个新的电脑程序,同时也开创了AI一个全新的途径:解决非常高深的科研难题。具体来说,通过分析光谱仪数据和核磁共振数据,遍历识别器官里所有分子的化学键。他们开发的程序,DENDRAL,使用了不是几条,而是几十条启发规则。有一些是像LT 一样非常通用的,但是绝大多数是从化学家(包括行业顶尖专家)那里挖取出来的、极其专业的、不是非常正式的专家经验。这些启发是仅限该领域的,如果拿它们来做图像识别,可能就行不通。除了它们极高的专业性以外,还有一点就是它们的强大:这些规则可以极大的收敛搜索区间(搜索的空间被极大的压缩了,搜索的时间也极大的缩短了。因此,启发、灵感(用来限制搜索空间)就是力量(更高效的搜索))。

该项研究的成功证实了Newell, Shaw, 和Simon的一个结论:用通用性换取能力,启发指引的重要性。看来 Feigenbaum, Lederberg, and Piiichanan 愿意牺牲通用型,来换取专业领域的能力。

3.3 科研探索

现在我们跳转到现在最新的研究进展,由作者本人开发的。这个进展采用了上百个启发规则,应用在人类科研最高深最前沿的领域。这个案例里,它的任务是探索发现应用数学领域新概念,包括形成新的科研理论,和开辟新的科研课题。相对于 DENDRAL 的解决科研问题,这个工具进行的是科研发明和创造。(Dendral 和 AM 的区别不是“inductive 和 deductive” 的区别,Dendral 和本文作者开发的AM都是 inductive 归纳任务。区别在于Dendral 是给定科研问题的(比如输入光谱数据去分析),而AM是开放性的,没有任何目标的限制。)

AM 的启发规则指引着它去发现新的定义,探索新的概念,同时判断发现的价值。AM能够注意到概念之间的连接,因此是理论提出者,但是它不具备自动证明的能力。如果需要AM证明自己提出的理论的话,还需要增加另一些启发规则。定义所需的概念,然后发掘算术底层的规律,和推测出定理以后再去证明它,是截然不同的两件事。

3.3.1 基于「启发引导的搜索」的数学发明

AM的任务就是发现新的数学概念,以及这些数学概念之间的联系。AM底层遵循的理论如下所示:

1) 开放式的数学探索是一种搜索过程,在部分定义的概念空间里探索;它的目的是尽可能的使所得的发现价值(interestingness)最大化。

2) AM是由几百条启发规则引导的。这些规则都是比较抽象、泛化的,指引着机器发现和研究可能有价值的定义。

3)在每一个状态下,AM探索每一个可能有用的启发/灵感,找出哪个是确实有用的,然后跟随这个。

比如,AM中有一条规则是说“如果 f 是一个有价值(interesting)的关系,那么就去看看它的逆过程。”这条规则是AM在研究乘法一段时候后触发的(暨发现其有用,并采用)。这条规则指引着AM定义并学习到了“除数”这个关系(比如“12 的除数是{1,2,3,4,6,12}”)。后来又触发了一条启发规则是“如果 f 是A到B的一个关系,那么有必要去研究一下B的极端情况下时,对应的A的值。”这是我们在2.2.2小节介绍过的第二条启发规则的一个版本,在这个例子里,f 对应“除数”,A就是“数”,B是“数的集合”。「B的极端情况」可以是“一个非常非常小的数集”,这条启发规则就指引AM定义出了“一个没有除数的数的集合”、“只有一个除数的数的集合”、还有“只有两个除数的数的集合”。然后发现,最后一个集合是非常非常重要的一个定义——质数(详见2.2.4小节)。这条启发规则还指引AM发掘出了“有非常非常多除数的数的集合”,结果发现这些“超级集成的数”也非常有研究价值(无论是对AM,还是对作者,还是专业的数学家来说)。2.2.4.1 小节提到的这些启发规则指引 AM 快速的发掘出「质数」这个定义的价值(interestingness)。

3.3.2 数学知识的表达

对于一段代码 AM 来说,当我们说它“定义了一个概念”,到底意味着什么呢?首先,这意味着AM用某种方式表示出了这个概念,某一种数据结构,对应着,或者说蕴含着这个概念。因为知识表达不是本文的重点,所以我们就大略的看一下AM是怎么定义和探索一个概念的吧。

  1. NAME : Prime Number*, Primes, Numbers-u'itli-2- Divisors
  2. DEFINITIONS:
  3. ORIGIN: Number-of-divisor*~of(x) - ?.
  4. PRKI>.-GAI,0|II,1IS: PrimeU) * (V./.)(/|x -> z=l XOH /,«x)
  5. ITERATIVE: (for x>l): For i from 2 to x-1, -(.|x)
  6. EXAMPLES: 2,3,5,7,11,13,17
  7. BOUNDARY: 2, 3
  8. lUHINDAKY-TAIITKKS: 0, 1
  9. KA1UIKKS: 12
  10. CKNKRAUZATIONS: Numbers, Numbers with an even no. of divisors, Niimlx is with a prime no. of divisors
  11. SPECIALIZATIONS: Prime, pairs, Prime uniquely-addablrs
  12. C.ON.JKC'.S: Unique faelorr/.at ion, Coldbaeh's conjecture
  13. ANALOGIES: Maximally-divisible number* are converse extremes of Divisors-of
  14. INTEREST: Conject tying Primes to Times, to Divisors-of, and to other closely related operations
  15. WORTH: 800

这个概念的知识表示就是几条记录,每一条记录一个事实,对应某个值。比如「质数」这个概念的价值(worth)对应的记录就是800。在2.1节给出了另外一条概念「集合Sets」的记录。

3.3.3 控制流 Flow of Control

起初,AM有115个核心概念,每个概念只有几条纪录。AM反复不断的选择一些概念的某些事实,试图给这些概念添补上一些新的事实。所以,也可以说AM的任务不过就是执行「微科研」,寻找一些简单的发现。它的主要任务——找到有意思/有价值的概念或推断——可能是经过上百次毫无所获的微型搜索实现的。为了确定下一步的任务,AM有一套任务执行表,按优先级排序的全局队列。比如,一个任务可以是“添补质数的实例”,一个任务执行表有上百条这样的任务。AM不断的从任务执行表中选取优先级最高的那个执行。这就是整套控制逻辑了!当然,我们还要解释AM是如何在任务执行表中创建看似合理的任务的,如何选择要执行的任务,以及如何执行任务。

只有能引领AM离目标更近的启发规则,才能称得上是与任务「相关」的。根据每条启发规则存储的位置,赋予一个潜在的相关度指数 priori。比如说,一个所处领域为“Compose 合成物”的规则就被认为与“补充分类化合物”任务有潜在的关联。然后再根据所有潜在关联的规则的左侧条件(IF…)来确定该规则是否确实与任务相关。

每当AM从任务执行表中获得一条任务后,就会收集所有有潜在关联的启发/灵感规则,经验证确实相关的才会被执行,然后AM在继续执行下一条任务……当执行一条规则的时候,有三种可能情况会发生。

1)扩充某些概念的属性(比如,可能真的找到了一些质数的例子,然后填充到「质数」概念下的「实例」属性里);

2)定义新的概念(比如,发现了一个概念「由另外两个质数相加得到的质数」,可能有点价值/有点意思);

3)给任务执行表里增加新的任务(比如,现阶段搜索过程中发现了也许应该探索下面这个任务“泛化质数这个概念。”)

任务执行表这个概念当然不是什么新的,很久以前人们就用了。但是AM的任务执行表里有一个性能是新的——那就是——每个任务都有一列半符号化的规则来解释它为什么有价值,为什么是看似正确的。每条规则都必须为每一项任务自带解释。

在AM中,每一条任务的解释列表有三种用法:

1)当任务执行表里已经有的任务又一次被添加,AM需要审查添加的理由:如果这次添加的理由是新的,那么该任务的优先级会被提升;但是如果理由和上次一样,那么它的优先级不会变化。

2)当一个任务被选择的时候,AM会审查它的解释列表,计算应该允许它占用多少运算时间和内存,超出该界限就会放弃,执行新的任务。

3)向人类观察者解释,AM为什么执行现在正在执行的任务。

AM的所有250条启发/灵感规则都归属于被认为最合适的一条最上层、最抽象的概念 C。概念C所有实例都继承了启发规则的相关性。比如说,一条可以逆转所有关系的启发规则被归类为「关系Relation 」这个概念,但是它显然也同时可以用来逆转所有排列(permutation)。如果没有单独的哪条规则专门描述后者,那么AM将根据抽象、泛化的关系链向上追溯,从「排列(permutation)」到「映射(projection)」 到「函数(function)」再到「关系(relation)」,寻找逆转的方法。当然,越上层越抽象的概念方法,比下层具体概念的方法能力更弱。

换句话说,概念之间的抽象/继承关系与启发规则的抽象/继承关系图结构类似,这种「继承性」可以很快找到潜在相关的启发规则。

3.3.4 本规则系统的表现

AM最初是由关于有限集论(finite set theory)的寥寥几百条规则组成。运行不久,一些浅显明了的集论规则就被发现了,比如 De-Morgan’s law,单集(singleton),但是至今为止从来没有发现过复杂的定理。相反,AM 倒是发现了自然数的定义,以及一些基本的数学定理。很快,AM发现了基本算术运算操作(因为它们与集论的操作非常像),进而发现了质数对、丢番图方程(Diophantine equation)、质数因式分解的方法——以及到最后——哥德巴赫猜想。但是,还有一些我们认为非常重要的概念,它至今为止都没有发现,比如余数、最大公约数、大于、无限、证明,等。

AM不是无限运行下去的,以上这些结果是它运行1小时得出的结果( Interlisp + 100k, SUMEX PDP-10 KI)。一共200多条任务被添加进任务执行表并执行,平均下来每条任务被分配了30 cpu seconds,但实际只消耗了18 cpu seconds。每一条任务,平均被认为有35条启发规则潜在关联,最后大概有十几个确认有关联并被执行。开局时,AM有115条规则,结束时,规则增长到了有三倍之多,搜索合成的定义有一半是垃圾的、无用的(无论是作者本人还是AM都认同)。

尽管从多种指标来看, AM 表现的不错,但是它也有很多问题。随着AM运行的时间越来越长,它发现的概念偏离初始出发点越来越远;尽管初始赋予它的集合论的启发规则对处理质数和算术概念是非常有帮助的,但是它们的指引太宽泛了、太抽象、太弱了。最主要的缺陷是,没有元规则(meta rules),也就是激发和修改其他启发规则的启发规则。我们试图在 Eurisko 里修复这个问题。

AM确实证明了,科学发现可以用「启发/灵感指引的搜索」,在寥寥几百条规则的指引下,机械化自动完成。这是对2.1节的「智能」的定义的强有力的证明。

3.4 其他的启发规则……探索平台

还有很多其他的类似AM的「启发/灵感指引下的搜索」,暨配备大批启发规则的「基于知识的专家系统」。

——MYCIN系统[Aikms 1977] [Shortliffe 1974]:拥有几百条从医生那里挖掘出来判断规则,可以完成血液感染和脑膜炎的诊断。

——TF.IRES1AS [Davis 1977]:用「元规则 meta-level knowledge rules」来帮助人类专家把知识转化成代码。它最初用来帮助人类医生往MYCIN系统里添加规则。

——MOLGEN [Martin et .al 1977]:2.2.3小节里提到的,设计分子生物试验的。

——META-DENDRAL [Buchanan and Mitchell 1977]:自动定理形成程序,分析光谱数据,纠正定义,将数据抽象成新的、碎片化的规则,形成新的光谱理论。这些规则可以被用在Dendral 程序上,就好像人类专家抽取出来的一样。

——PECOS 程序 [Barstow 1977]:包含电脑编程的规则,是自动程序生成系统的核心组成部分。

——UT-ITP [Bledsoe and Tyson 1975]: 自动推论演绎系统,由一系列形式化证明时用到的判断规则指引。

——PROSPECTOR [Duda et al 1977]: 根据航空拍摄的图片进行地质勘测,协助人类专家勘测评估地下矿藏情况。它所用的规则是从地理学家那里挖掘出来的,就好像MYCIN 的规则是从医生那里挖掘出来的一样。

——M-Method [Zaripov 1975]:根据一系列乐理知识规则,给定一段旋律,即兴创作变奏曲。

——PUFF [Feigenbaum 1977]:是一个医学专家系统,和MYCIN类似,只不过它专治肺部疾病。“PUFF所知的所有肺部诊断知识,都包含在(现在是)55条’如果……就……’形式的规则里。”

——EURISKO [Lenat et al 1977]:也许是迄今为止最有雄心的系统,它试图发掘新的启发/灵感。说它“最有雄心”是因为,哪怕是人类科学家也不是那么容易创造——或者仅仅是发现——新的启发或灵感的。EURISKO发现和创造新的启发/灵感的方法就是,不要去区分概念和灵感/启发;暨,每一个启发/灵感最初都是以完整的概念/定义的形式存在的。打个比方说,任何一条启发规则,能够知道什么时候应该总结出新的概念/定义,或者该忘掉某些概念的,也都知道什么时候应该总结出新的启发规则,或者该忘掉某些规则。任意一个能够从旧有的已知的概念中总结规律、定义出新的概念的方法,都可以用来从已知的启发规则/灵感中发掘出新的。对新的规则的判断评估,就好像判断评估一个新的概念一样:在实际运行中观察它们的表现。

通常,发现一条有价值的启发/灵感,都足以掀起一场科技革命了[Kuhn 1970]。比如,爱因斯坦发现的规则“任何违法直觉的数学系统,通常都反应了物理事实。”前不久掀起了物理学的一场新思潮,暨“违反数学常识的系统,通常是对的,而且是值得研究的 interesting”,同时在15年前,也在地质学掀起了一场革命。

原文链接见百度网盘:

链接: https://pan.baidu.com/s/14yp-aP9WZp91UReMnyVZ0Q?pwd=rxhe

提取码: rxhe

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/669768
推荐阅读
相关标签
  

闽ICP备14008679号