1700530717
通过再次观察人类和机器进行国际象棋对弈的方法,我们可以更深入地对比人类思维和传统计算机方法,从中获得新发现。这么做并不是想对国际象棋对弈的问题进行喋喋不休的阐述,而是因为对弈问题可以清楚地说明一组矛盾对比。卡内基–梅隆大学的人工智能专家拉杰·雷迪认为,国际象棋对弈研究在人工智能领域的地位就如同大肠杆菌研究在生物学领域的地位一般,它们都是各自领域中研究最基本问题的理想实验室。5计算机利用自己极快的速度分析由博弈树上生成的数量庞大的组合。虽然国际象棋程序可能会耍些小把戏(比如将所有国际象棋大师间的对弈开局储存好并提前计算出对弈结果),但本质上这些程序依赖的还是速度和精确性的组合。对比来看,即使是大师级的人类棋手,在速度上也极其缓慢,而且不精确。因此,我们要提前计算所有的棋局走步,这也是为什么大师的练就总需要长时间的修炼,其他领域也是如此。加里·卡斯帕罗夫把有限生命中的几十年都用来研究、体验国际象棋的下法。研究人员估计,一个非平凡领域的大师至少已经记住了5万个洞察理解“条块”。
1700530718
1700530719
当卡斯帕罗夫下棋的时候,如果他脑海中也会生成博弈树,那么人脑的运算速度和短期记忆的局限性将大大阻碍博弈树的扩展(每一步真正的移动),进而将步骤限制在几百步之内。而他的电子对手却可以储存几十亿种。因此,人类象棋大师不得不一个劲儿地运用精密的模式识别功能剪去无用的枝干,修剪脑海中的博弈树。他将棋盘上每一个棋子的位置——实际上的和想象中的,与几十万种经精确分析后的数据库匹配起来。
1700530720
1700530721
卡斯帕罗夫1997年战败之后,我们了解到“深蓝”计算机如何进行大规模数字运算的知识,而不是真如人类一样“思考”如何下棋。你可以说事情的对立面往往能说明问题,“深蓝”计算机的确可以通过博弈树的模式进行思考,而卡斯帕罗夫对弈时没有时间这么做。他主要是从事先考虑好的棋盘数据库中提取出最适应当下的走步。(当然,这要取决于每个人对思考的概念,这一点我在第三章当中已经探讨过了。)但如果人类下国际象棋的方法(基于神经网络的模式识别,并从各种事先分析完毕的情况数据库中提取当下可用的信息)可被当作一种切实的思考,那为什么计算机程序或者机器做同样的事情时就不思考了呢?
1700530722
1700530723
第三种方法
1700530724
1700530725
这就是我之前提到过的,在递归搜索中评估最后一片叶子的第三种思想学派。想想头脑简单派使用的方法,比如通过棋子价值的简单相加来评估某一个棋子位置。头脑复杂派则提倡更复杂耗时的逻辑分析法。我更支持第三种方法:将两种简单的模式结合起来——递归和神经网络,通过神经网络评估每一片最终树叶所处的位置。训练神经网络非常耗时,它要求大量的计算,但与“头脑简单”派的评估相比,在神经网络中完成一个已学习过的识别任务非常快速。虽然速度快,但神经网络利用了大量时间学习相关知识。因为在21世纪,我们将在网络上进行每一场大师级的对弈,所以可以利用由此生成的庞大数据库来训练神经网络,我们曾有过一次类似的训练,但是在线下完成的(也就是说,并不是在真正的游戏里)。经过训练的神经网络将会被用来评估每一片最终树叶的位置。这样一种系统不仅拥有计算机在速度方面几百万倍的优势,还能将此与人类的模式识别能力相结合,如此一来,人类需要竭尽一生钻研的模式,该系统几分钟便能掌握。
1700530726
1700530727
我将这一方法推荐给“深蓝”团队领头人默里·坎贝尔,他认为这种方法非常有趣,也很有吸引力。他承认自己也有些倦怠了,不想再亲自动手来修正树叶评估算法。我们商量着成立一支咨询团队来执行这一想法,但随后IBM取消了整个国际象棋项目。我认为评估人类智能多样性的关键元素之一,就是要以最佳方式把基本的模式结合起来。接下来,我将探讨如何进入进化算法的模式。
1700530728
1700530729
神经网络算法的非数学“伪代码”
1700530730
1700530731
以下是神经网络的基本模式。神经网络中可能会出现许多变量,系统设计者需要提供一些特定的关键参数和方法,细节如下:
1700530732
1700530733
神经网络算法
1700530734
1700530735
为一个问题创建神经网络解决方案包含以下几个步骤:
1700530736
1700530737
·定义输入值
1700530738
1700530739
·定义神经网络的拓扑结构(即神经元的层数以及神经元间的连接)
1700530740
1700530741
·用样本问题训练神经网络
1700530742
1700530743
·运行完成训练的神经网络,以解决新的问题案例
1700530744
1700530745
·向公众开放你的神经网络
1700530746
1700530747
这些步骤(除了最后一步)的详解见下:
1700530748
1700530749
问题输入
1700530750
1700530751
神经网络的问题输入由一系列数字组成。输入值可以是:
1700530752
1700530753
·在视觉模式识别系统中,一个二维数字阵列代表一幅图画的像素
1700530754
1700530755
·在听觉(比如语音)识别系统中,一个二维数字阵列代表一种声音,其中第一维度代表声音参数(如频率),第二维度代表不同时间点
1700530756
1700530757
·在任意模式识别系统中:一个N维数字阵列代表输入模式
1700530758
1700530759
定义拓扑结构
1700530760
1700530761
设置神经网络:
1700530762
1700530763
每个神经元的结构包括:
1700530764
1700530765
·多个输入,其中每个输入都与另一个神经元的输出或与初始输入值中的某一个值“连接”
1700530766
[
上一页 ]
[ :1.700530717e+09 ]
[
下一页 ]