AlphaGo两次提前30分钟确信必胜 残局计算是关键
- 来源:互联网
- 作者:newtype2001
- 编辑:newtype2001
5、人类/机器是怎么自学提高自己呢?
理论上如果计算和存储资源足够,比如最后10步可以精确计算,那么我们就可以存储所有10步之内结束的局面的结果(有点像残局库),但是这个局面太多,只能用一个模型来“压缩”这些结果,提取一些重要的feature来代表局面,这些feature可能就是我们说的势啊,厚薄等等(当然也可能机器学到的feature完全不同)。假设这个模型能99%的准确率预测最终得分。然后再计算11步的所有局面(用的是模型来打分,因此准确率99%),然后又得到更多的训练数据,重新调整模型,这个时候可能就只有98%的准确率了(因为局面变多),再加上之前累计的误差,总的准确率是99% * 98%,...,然后不断的反向传播到开局。如果这么一算,我们开局第一步能算准的概率基本就是0了。
所以我们人类这么几千年这样学习得出的一些经验会经常被推翻,几十年前认为好的开局可能现在认为不好,但过几十年可能又认为好。说白了就是我们离上帝的距离有些太远。
6、AlphaGo强在哪?
从上面的AlphaGo原理的分析来看,AlphaGo比人类强的也只是在计算力上面,但是围棋的分支因子太大,步数又多,而且估值函数太复杂,所以只能在残局上体现出计算力的优势。而开局甚至中局计算力都不行,因此早期基于mini-max(alpha-beta)的搜索根本不行,后来出现了MCTS,但开局和中局亏得太多,所以基本没到残局就游戏结束了。
AlphaGo的特点是开局和中局模拟人类,从上帝的角度来说不一定好,但是至少在人类高手看来还可以(即使会下一些人类认为“业余”的走法,但也不至于太离谱),只要不在残局前崩盘,输得不太多,那么残局它总是能追回来。
7、MCTS和深度神经网络(CNN)哪个重要?
因为深度神经网络非常火,大家可能觉得它是AlphaGo能赢的关键,其实我觉得不是这样。
根据Tian yuandong和AlphaGo的论文,如果不做任何搜索,只是根据“棋感”(其实就是估值函数),CNN最好能达到KGS 3d的水平,我估计也就业余1段的水平。而MCTS算法在没有Value Network的情况下在9*9的棋盘上能战胜人类高手,其实这也间接印证了AlphaGo在残局的实力是搜索(计算)起重要作用。原来基于搜索的软件在开局和中局就崩盘或者亏太多了,所以就不能体现搜索的优势了,另外AlphaGo使用了Value Network,这保证即使搜索有一些小问题,从人类学来的棋感也能保证不至于偏差太大。
AlphaGo的特点是:开局和中局依靠人类的棋谱学习棋感(可以理解为背棋谱,不过比死记硬背好一点,有一定的泛化能力),然后残局的计算能力碾压人类,就好像以前的李昌镐,前面看不出什么好来,但官子你就是下不过他,没办法,不服不行。
8、AlphaGo能成为围棋上帝吗?
我认为AlphaGo离上帝(最优解)其实还是差得老远的,尤其是开局和中局。
其实这也间接的说明人类在开局上其实也离最优解差得太远。人类几千年也下不了多少盘棋(而且水平越差的人的棋对整个人类围棋没有太大帮助),我们认为一个开局是否好,只能更加水平相似的高手下这个布局的胜率来推测它的好坏。但如果我们在最后50步的时候误差就很大,那么往前传播时积累的误差就更大了,我们可能经常忽略了一个看起来不好的走法,而这个走法可能就是“支持”这个开局的关键。
当然AlphaGo的残局比人厉害,那么就可以通过自己对弈来学习,然后往前传播误差。
但是由于这个问题本质是NP的,即使它用了MCTS的方法来避免“明显不好”的走法。但是由于围棋的复杂性,可能某个“看起来不好”的走法可能恰恰是一个关键的胜负手呢?另外根据之前的分析,即使每步都能99%的准确,那么往前推100步准确的可能性也基本是0了。
因此如果人类不能解决NP问题,不能提出计算能力超过图灵机的计算模型,那么人类制造的机器也是不太可能解决这个问题的(当然这只是我的直觉,不知道能不能数学上证明)。不过即使这样,能制造和人类一样,虽然质不能超越人类,但量能超越人类的机器也是很有意义的。
9、怎么能验证这些看法?
新闻说AlphaGo提前30分钟认为自己必胜,这是个很强有力的证据,我们看看30分钟还有多少棋,可以估算AlphaGo自认为能算准多少步。
方法一,看接下来3盘棋,如果都是人类觉得李世石走得还可以或者稍微领先,最后都翻盘,那么就是一个证据。
方法二,人类和AlphaGo下开局和中局,然后到了AlphaGo认为可以比较准确计算的时候让它来评估好坏。
方法三,找一盘人类认为可以但是被翻盘的局面,然后人类和AlphaGo换个颜色来下,如果还是AlphaGo获胜,那么也是一个证据。
方法四,看AlphaGo对自己的打分,是不是有出现过认为自己落后,后来又领先。
那么作为人类选手,应该怎么和AlphaGo下棋呢?
我觉得可以试试的策略就是中前期利用自己超一流的棋感尽量占优,然后残局导向简单变化的局面。开局不要被怪招吓到,我们认为是弱手就要严厉打击,我觉得机器的开局不怎么样。当然我不懂围棋,只是从程序员的角度的个人看法。
玩家点评 (0人参与,0条评论)
热门评论
全部评论