• 精选
  • 会员

机器学习的困难

2024年12月25日  来源:涌现 作者:约翰·霍兰德 提供人:It8933......

1955年时,塞缪尔已构建出一个可运行的模型,让人印象深刻。尽管人们经常引用塞缪尔于1959年发表的关于该模型的论文,但很少有人对其基本理念展开详细论述。事实上,他的基本理念并不属于常规的人工智能范畴。然而,塞缪尔的国际跳棋程序为他的研究理念做出了具体且精彩的诠释,这些理念对于理解涌现现象非常重要。

为什么说这些理念重要呢?我们先来看看塞缪尔开始尝试研究机器学习时遇到的一连串相互关联的问题。

· 程序化的机器棋手必须处理博弈过程中无穷无尽的未知与新奇。

在博弈过程中,可能出现的棋局是多种多样的,我们无法对可能遇到的每种棋局做出反应,进行编程。

· 在无法及时得到反馈,从而判断所选择的棋步是否正确的情况下,机器棋手必须学习如何在博弈过程中做出正确选择。

在国际跳棋程序中,博弈结束时的胜负是棋手得到的唯一回报。博弈过程中大部分情况下,我们很难判断哪些棋步是制胜奇招。也正因如此,博弈才妙趣横生。随着博弈的推进,大量信息不断浮现:棋子的移动、形成的棋局等。无论怎样,机器棋手必须通过这些信息来实现子目标,比如拥有比对手更多的王,以争取更大的获胜概率。

· 机器棋手必须学习掌握一些提前布局的招数,从而使后续博弈局势明显对自己有利。

要在博弈中取得胜利,布局非常重要,设“陷阱”就是一个典型的例子,它为后面走出明显的好棋提供了可能,比如三连跳。通常,有经验的棋评家能够描述出那些决定棋局的“陷阱”或者其他使棋局发生转变的关键步骤。但是,无须棋评家的帮助,任何人类棋手都可以掌握和运用这些知识。机器棋手必须能够模仿这个过程。例如,它必须识别出那些后续能够促成有利局势的布局和招数。

· 机器棋手必须为对手的行动建模。

若想赢得博弈的胜利,机器棋手必须能够预测出各种情形下对手的最佳选择。

塞缪尔希望他的程序能够利用从博弈过程中获得的经验,学习解决上述交融在一起的难点。精彩博弈的涌现正是塞缪尔研究的目标。

塞缪尔的解决方案

了解了这些问题,现在我们来看看塞缪尔采取了哪些措施来解决它们(见图4-1)。我会先简单描述他的每个观点,然后详细介绍他的每个观点如何转化为对应的技术,从而使机器棋手克服上述种种障碍。

图4-1 国际跳棋程序的解决方法

1.他根据棋局具有的共同特征,分别把它们归并到若干集合里,以此来解决棋局种类纷繁所带来的问题。

“领先棋子数”就是一个典型的棋局特征。它是指在国际跳棋程序中,机器棋手比其对手多出的棋子数目。很多棋局可能都具备“领先一枚棋子”这种特征,也同样具有其他经过精心挑选的特征。与具体棋局不同的是,这些特征在博弈过程中反复出现。这样一来,受特征引导的机器棋手就不必再去处理那些无穷无尽的新棋局。正如建模一样,发现有用特征的关键在于剔除不相干的细节。这些选定的特征就相当于建模所需的积木块,机器棋手可以借助它们重新构建遇到的一些重要棋局的关键特征。

2.机器棋手并没有得到针对某一步具体走法的有价值提示,它是通过如下步骤进行学习的:a.预测某个行为过程(走法)产生的影响;b.如果在采取相应的行为后,预测没有得到证实,那么就修正所采取的行动。

这种“根据失败的预测进行修正”的办法,并不需要在每一步之后由专家面授机宜。这显然是一种很自然的学习方法。然而实现这个想法却需要敏锐的洞察力。塞缪尔的技巧是,使用不同较短棋步序列终结状态的特征,来预测这些终结状态的值。比如,经过4步之后,棋局发生了变化,“领先棋子数”这个特征值由0变为2,那么这一棋步序列将被赋予较高的预测值。一旦做了预测,经过比较以后,通向最佳预测结果的棋步序列将会得到执行。如果预测与实际结果一致,那么这个预测就是有效的。反之,相应特征在未来的预测中将会被赋予较小的权重。因为当类似情况再度发生时,这些特征无益于策略的选择。随着经验的不断积累,顺利经过这些“降级测试”的特征将会产生“满意的结果”。它们成为博弈过程中机器棋手所寻找的子目标。

3.为了便于实施设局的招数,塞缪尔再次使用了预测技术。他为这些设局招数的特征赋予一定的权重,使它们能够预测出博弈终点的“最佳结果”。

设局的走法可以概括为一种看似无用甚至是自寻死路的走法,却是通向既定目标的最初一步,这种走法非常精妙。例如,机器棋手可能会“牺牲”一枚棋子,以换得随后的三连跳,从而使“领先棋子数”这一特征值增加3。设局招数的特征和确定明显有利的走法的特征,并不是密切相关的。从一定位置开始,提前预测即将展开的博弈序列,即展望(lookahead),我们有可能发现设局的招数。只有在假定对手总是做出最佳选择的前提下,进行的相关预测才是有意义的;否则,预测将是危险的。显然,这种方法涉及随后要讲到的技术:为对手建模。一旦选定了棋步序列,塞缪尔的程序就会为那些预测出有利结果的初始状态特征赋予较大权重。

4.在为对手建模时,塞缪尔的方法简单又巧妙。他假定对于优势特征以及有利的走法,对手有着和机器棋手一样的认识。

为了实现这一设想,塞缪尔的国际跳棋程序假设对手完全了解同样权重的特征,并且能够采取机器棋手针对这些特征而采取的所有措施。如果机器棋手占据优势,对手的模型则会避免做出过于乐观的预测。最终,这个方法引出了著名的最大最小策略(minimax strategy):使对手可能带来的最大破坏最小化。

对手的自定向建模(self-directed modeling),是塞缪尔的研究成果中最经常被其他研究者忽视的部分。这可能是由模型的形式所导致的。该模型是一个函数,是通过为特征赋予表征其重要程度的权重而形成的函数。感知机(perceptron)诞生于20世纪60年代,用以进行模式识别,它就是基于类似的赋权特征函数设计制造的。感知机的能力非常有限(Minsky, Papert, 1988),在人工智能领域并没有得到重视。有的研究者可能因此推断,不管塞缪尔的尝试多么卓有成效,感知机的缺陷会同样出现在他为对手建模的过程中。这个推断肯定是错误的。在塞缪尔的研究工作中,这个赋权特征函数发挥着完全不同的作用:它定义了策略。

具有为对手策略建模的能力,是塞缪尔的国际跳棋程序成功的关键。正是这种非凡的能力使程序的学习机制运行起来。机器棋手不断积累经验,持续改进对手策略的模型。如今,由于我们不断尝试对市场、生态系统、免疫系统等适应性主体系统进行研究(Cowan, et al., 1994),因此为对手策略建模显得更具吸引力。在国际跳棋程序中,这些主体在获得的经验基础上,不断改进它们的策略,由此而产生的复杂性和塞缪尔面临的问题相似,而机器棋手的设计为理解这些复杂性提供了途径。

下面,我们重点讨论塞缪尔对权重的处理。

如涉及版权,请著作权人与本网站联系,删除或支付费用事宜。

0000