1700519950
所谓“试错”,就是开发程序让机器可以在某个可能的范围内系统地产生所有可能的结构。举例而言,假定你想有一台机器人可以在一条河上建造一座桥。最高效的编程方式就是执行一个特定的程序,先提前计划好,然后把木板和钉子精确地安置在特定的位置。当然,除非已经知道如何建造一座桥,否则你无法写出这样的程序。但想想下面这个备选方案,它有时被称为生成与测试法。它需要编写两部分程序。
1700519951
1700519952
生成(generate) :第一道程序就是一个接一个地生成木板和钉子所有可能的安排。开始时你可能会觉得这样的程序很难写,但它其实惊人地简单,只要你明白每种安排都不需要有什么道理就行!
1700519953
1700519954
测试(test) :程序的第二部分就是检查每种安排,看看问题是否得到了解决。如果目标是建造一座大坝,测试就是检查它有没有拦住水流。如果目标是建造一座桥,测试就是看它是否跨过了河流。
1700519955
1700519956
这种可能性让我们重新检查了所有关于智能和创造性的旧理念,因为它表明,至少从原则上,只要我们可以识别出解决方案,那些问题就都可以让机器来解决。然而,这并不太切实际。想想看,也许有上千种方法可以把两块板子连接在一起,要是把四块板子钉在一起,估计有十几亿种方法。要利用猜谜原则制造出可用的桥梁,所需的时间可能长得难以想象。但是从哲学上来说,这还是有帮助的,它消除了创造性在我们心中的神秘感,取而代之的是关于程序效率的更加具体而细致的问题。我们的造桥机器存在的主要问题就是生成器与测试之间缺乏联系。如果没有某种朝向目标的进展,那么比无思维的程序也好不到哪去。
1700519957
1700519958
1700519959
1700519960
1700519962
心智社会:从细胞到人工智能,人类思维的优雅解读 7.4 问题解决
1700519963
1700519964
从原则上来说,我们可以用“生成与测试”的方法,也就是试错的方法,来解决任何已经知道解决方案的问题。但在实际操作中,就算是最强大的计算机,要测试出可能的解决方案所需的时间也还是会太长。就算是用十几根木头组装一个简单的房子,要搜索完所有的可能性,一个孩子一生可能都试不完。下面是对盲目试错方法的一个改良版本。
1700519965
1700519966
进展原则(The Progress Principle) :如果我们拥有某种方法可以检测到“进展”,任何穷举搜索程序都可以在很大程度上简化。之后我们可以朝着解决问题的方向追踪,就像一个人可以在黑暗中攀登不熟悉的山峰一样,通过在每一步感觉四周来寻找上升坡度最大的方向。
1700519967
1700519968
许多简单的问题都可以通过这种方式来解决,但对于一个困难的问题,识别出“进展”几乎和解决问题本身一样难。如果没有更宽阔的视野,那个“登山者”可能会一直被困在某个小山丘上,永远也找不到顶峰。要避免这一点没有什么简单的方法。
1700519969
1700519970
目标与子目标(goal and subgoal) :想知道如何解决一个困难的问题,我们所知的最有力的方式就是想办法把这个问题拆分成若干个简单一些的问题,每个问题都可以分别解决。
1700519971
1700519972
在所谓的人工智能(Artificial Intelligence)领域,许多研究关注的都是找到一些方法可以把一个问题拆分成若干个子问题,然后如果有必要,再把这些子问题拆分成更小的问题。在接下来的几部分中,我们将会看到如何用“目标”的形式来表述问题,从而可以实现上述过程。
1700519973
1700519974
使用知识(using knowledge) :解决一个问题最高效的方法就是已经知道如何解决它。这样人们就可以避免检索所有可能性。
1700519975
1700519976
相应地,人工智能研究的另一个分支就是找到一些方法把知识收录到机器中去。但这个问题本身就分为几个部分:我们必须知道如何获得所需的知识,必须学会如何表述这些知识,最后必须开发一些程序以有效地利用这些知识。要完成所有这些事,记忆必须优先呈现那些对我们实现目标可能有帮助的关系,而不是大量的细枝末节。这类研究已经引领出许多可以实际操作的问题解决系统,它们都是“以知识为基础”的系统。其中有一些常常被称为“专家系统”,因为它们的基本原理就是模仿一些特别的从业人员的方法。
1700519977
1700519978
这类研究中还浮现出一个奇怪的现象。与大部分人认为很容易的问题相比,比如用儿童积木搭建一个玩具房子,让机器去解决一些只有受过教育的人努力思考才能解决的特殊问题反而更容易一些,比如下棋,或者证明逻辑或几何定理。这也是我在本书中常常强调“简单”问题的原因。
1700519979
1700519980
1700519981
1700519982
1700519984
心智社会:从细胞到人工智能,人类思维的优雅解读 7.5 学习与记忆
1700519985
1700519986
只有得到奖励我们才会学习,这是一个古老而盛行的理念。一些心理学家声称,人类的学习完全是以奖励的“强化”为基础的:就算训练自己不需要外部激励,我们仍然是为了奖励而学习,只不过这种奖励是来自我们内部的信号而已。但是如果一个论据的前提假设正是它要证明的内容,那么它并不可信。而且无论如何,当我们试图用这一理念来解释人们为什么学习解决困难的问题时,就会进入一个死循环。你首先必须有能力做某件事,才能因为做这件事得到奖励!
1700519987
1700519988
一个世纪前,伊万·巴甫洛夫研究条件反射的时候,这种死循环并不是什么大问题。因为在他的实验中,动物从不需要产生某些新行为,它们只需把新刺激与旧行为相联系就可以了。几十年后,哈佛心理学家B.F.斯金纳扩展了巴甫洛夫的研究,他发现更高级的动物有时确实会展示出新的行为,并将其称为“操作”。斯金纳的实验证实,如果某个特定的操作之后伴随着一个奖励的话,之后这个行为更有可能经常出现。他还发现,如果动物无法预测奖励将会在何时出现,这种学习的效果更好。斯金纳的发现被称为“操作性条件反射”或“行为调节”,这在心理学和教育学中产生了很大的影响力,但还是没能解释头脑究竟如何产生新行为。此外,这些动物实验也很少能说明人类是如何学会制订和执行复杂计划的,因为问题在于,那些动物几乎无法学会这样的事。奖励/成功和惩罚/失败,这些成对出现的理念不足以解释这一点:人类如何学会产生新的理念,让他们可以解决困难的问题。这些问题如果没有多年徒劳无益地试错是无法解决的。
1700519989
1700519990
答案一定是:学习更好的学习方法。为了讨论这些事,我们要开始使用一些普通的词汇,比如目标、奖励、学习、思考、识别、喜欢、想要、想象和记忆,所有这些词都基于古老而模糊的理念。我们会发现这里面的许多词都要用新的特性和理念来替换。但它们之间仍然有一些共性:要解决任何一个难题,我们都必须利用各种类型的记忆。在每个时刻,我们都要记录刚刚做了什么,否则可能会把同样的步骤重复一遍又一遍。此外,在某种程度上,我们还必须维持自己的目标,否则最终可能做的是无用功。最后,一旦问题得到解决,我们需要提取如何完成这件事的记录,当未来出现类似的问题就可以拿出来用。
1700519991
1700519992
本书中有很多内容都会涉及记忆,也就是对过去思维的记录。为什么、如何以及什么时候做这种记录呢?人类的头脑解决一个困难的问题时,好几百万的智能体和程序都参与其中。哪些智能体足够聪明,可以猜到那时需要做出什么改变呢?高级的智能体无法知道这种事,它们几乎不知道存在哪些低层级的程序。低层级的智能体也不知道自己的哪些行动帮助我们实现了高层级的目标,它们也几乎不知道高级目标的存在。负责移动我们腿部的智能组并不关心我们是往家走还是往工作场所走,负责目的地的智能体也完全不知道怎样控制肌肉单元。那么是思维中的哪个部分来判断哪些智能体应该表扬,哪些应该批评呢?
1700519993
1700519994
1700519995
1700519996
1700519998
心智社会:从细胞到人工智能,人类思维的优雅解读 7.6 强化与奖励
1700519999
[
上一页 ]
[ :1.70051995e+09 ]
[
下一页 ]