• 精选
  • 会员

机器棋手的学习过程

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

机器棋手的学习过程

当实际结果与V做出的预测出现矛盾时,由此获得的信息成为塞缪尔的国际跳棋程序的“学习”素材。Vs)是棋局s的预测值,也就是说,Vs)是对从棋局s出发所能得到的最好结局的预测。如果经过若干步骤后得到棋局s',它的预测值Vs')与Vs)不同,那么机器棋手则认为预测有误(见图4-3)。例如,假定V为棋局s赋值Vs)=+4,从s出发,5步后所到达状态s'Vs')=-2。显而易见,V所预测的值和实际最终值不一致。

 

图4-3 国际跳棋程序通过预测进行学习

塞缪尔采纳了一个常识,博弈越临近尾声,局势就越明朗。基于这个观点,在上面这个例子中,早前的预测Vs)=+4的可信度要低于后来的预测Vs')=-2。为解决这个问题,对于先前的棋局s,国际跳棋程序应该调整V的权重,使Vs)为-2,而非+4。在未来的博弈中,如果国际跳棋程序遇到了特征值和s相同的棋局,那么它就会尽量避免这个棋局,因为该棋局的权重被赋予了负值。

当然,后来的预测Vs')=-2也可能是错误的。但最终我们会面临这样的情况,即s'是博弈的终局。这时,国际跳棋程序就可以得到博弈如何终结的确切信息。V被调整并赋予一个数值,我们能够确信该数值是根据正确信息得到的,能够真实反映博弈的实际情况。

如果不考虑细节信息,我们可以看到我们的目标就是调整V,使其最终能够做出可靠的预测。当然,这种理想状态永远无法在实践中完全实现,但这的确提供了一个可靠的指导原则。国际跳棋程序在博弈过程中不断修正V,以使先前的预测和后面的实际情况相匹配。根据该原则,当s临近博弈终局时,V首先可以“稳定”下来。一旦Vs)成为状态s处的精确预测,那么s就能扮演s'的角色,为前面步骤的调整提供可靠的预测值。反复多次,前面步骤的调整就可以逐步产生关于最终结果的可靠预测。也就是说,随着机器棋手不断积累经验,可靠的预测将博弈树的叶节点向根部移动。

我们很难证明,使用这个方法就能够得到确实有效的策略,比如最大最小策略,并且这个方法的应用还存在着一些困难(参见后面“改变权重,涌现能力的核心”部分)。但这个观点似乎是合理的,而且塞缪尔的研究也证明它在实践中行之有效。机器棋手不仅学会了连续击败国际跳棋高手塞缪尔,还学会了在决战中战胜冠军棋手。

如何使学习过程运转起来

关于机器棋手如何随着经验的积累不断改进评估函数V进行学习,我们已经有了一个通用的指导原则。但在实践中如何应用这个原则呢?

塞缪尔通过在开始时固定特征集{vi}简化了这个难题。换言之,他把特征当作机器棋手“感觉器官”中固定的部分。这种简化模仿了有机体中固定的感觉器官,它们只能对周围环境中有限的部分产生感觉,做出相应的反应。例如,灵长类动物只能看到一定波长的光波,看不见红外线和紫外线,只能听到50~20 000赫兹这一频率范围内的声波,它们只能对探测到的事物做出反应。同样,塞缪尔的国际跳棋程序只能对其特征集{vi}识别出的情况做出反应。这个约束使得整个学习过程变成了处理V的权重变化。

如果接受这个限制条件(参见第5章“状态与策略”部分),问题就更为具体了:究竟怎样修正权重?经过观察我们注意到,多数情况下只有少数特征具有非零的权重。比如,领先棋子数这个特征值只有在平局时才会被赋值为0,如果一方在棋子数上领先另一方,则不可能出现平局。正是这些具有较大权重(正或负)的特征,刻画了某一特定棋局(状态)的特点。

当预测失败时,由于是那些具有较大权重的特征决定了预测值,因此它们必须“承担”预测失败的责任。试想在一次博弈中,棋子的“中心力矩”这个特征一直具有较大的特征值(比如3),但在当前棋局中却突然获得一个较小的特征值(比如0),那么这个瞬时特征会导致机器棋手做出过于乐观的预测,致使它落入陷阱。在这种情况下,国际跳棋程序能够通过减小该瞬时特征的权重,来避免这个问题。这样,瞬时特征在早先棋局中对V的作用将会被削减,但是当前棋局对应的V值将不会有多大改变,因为它已经具有一个较小的特征值。通过这种方式,V在早先棋局中做出的预测将逐渐与在当前棋局中的预测相一致。对于在早先棋局中其值为绝对值较大的负数的那些特征,我们也可以得出同样的结论,它们在当前棋局中也会具有绝对值较小的特征负值。

一般来说,那些先前具备较大权重后来具有较小权重的特征,都和预测失败相关。正确的做法是,改变这些相关特征的权重,使早先的值接近于当前值。这是唯一的方法!

EMERGENCE

这个程序的作用,以及它对作为积木块的特征的依赖,都可以借助数学公式来精确表示。如果特征vis)的值接近0,那么它不会对Vs)做出的预测产生多少影响,因为这个特征将不会对总和产生多大影响。即使权重wi的值很大,如果vis)接近0,则wivis)的值接近0,除非wi的值极大,但这种情况不可能出现。因为对于s来说,只有具备较大特征值的特征才会对Vs)有贡献,正是这些特征对预测起着决定作用。

塞缪尔借助以上结论,来确定需要改变的权重。以棋局s为例,从s出发可以得到s'Vs')<<Vs)。这意味着,沿着V所选择的路径,在s处通过Vs)所做的预测的值要远大于随后预测的值——在s'处的Vs')。遵循塞缪尔富有启发性的观点,我们希望通过减小Vs)使早先的预测与后来的预测一致。减小Vs)=∑iwivis)的一种有效方法是,改变特征vis)的权重,因为vis)在s处具有较大的值。如果特征vis)具有较大的正值,减小它的权重,就可以减小Vs)的值;如果这个特征值为负,则增加它的权重,就会增加从总和中减去的相应数值。减小s处的预测值,Vs)的值会相应减小,会使其与后面较小的Vs')值更加趋于一致。

这种修正权重的方法通常比较可靠,但执行起来还需格外注意。如果特征vis'处也具备一个绝对值较大的特征值,那么权重wi的任何变化将导致棋局s'处的Vs')=∑iwivis')的巨大改变。Vs)和Vs')同时改变,会破坏用Vs)来准确预测Vs')的目标。不过这种方法做出了这样一个修正:我们可以只改变那些在s处具有较大值,但在s'处具有较小值的特征权重。那么,Vs)中引起较大变化的权重不会在s'处有太大影响,因为这些特征在s'处具有较小的值,并且对总和也没有太大的影响(见图4-3)。直观来说,正是这些在s处具有较大值,但在s'处具有较小值的特征,将ss'的情况区分开来。

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

0000