围棋吧 关注:339,013贴子:10,268,303
  • 2回复贴,共1

用中学生都能看懂的语言简述一下阿发狗是怎么下棋的

只看楼主收藏回复

本人是计算机行业从业人员,以前做过人工智能的一些相关开发。这里看到吧友对狗的下棋有一些误解,
比如穷举啥的,想用一些通俗的说法描述一下,有不对的地方请批评指正,计算机基础好的朋友请略过此文。
拟人描述法:
阿发狗下棋时,其实后面有两个团队,即大师团队(神经网络)和验证团队(搜索算法)。
大师团队有两个很牛的大师,一个落子大师(策略网络),一个形势评估大师(价值网络),
这两个大师牛的地方在于之前已经看过了几百上千万的棋局,甚至可以说把古今中外公开的棋局
全部都看过了一遍,甚至无聊的时候自己还和自己下了很多很多遍的棋。
通过这海量的学习得到了极为深厚的棋局经验。
在狗下子前,先由这两个大师给出一些意见,比如落子大师说我觉得下这几个地方比较好,
然后评估大师说我觉得下哪几个地方形势会更好。大师的意见出来后,验证团队就开始上阵。
验证团队可以认为是由成千上万的棋手帮忙验证大师的意见,团队中的人分别走大师给出的几种下发,
然后一直下到结束,看看到底哪一步最好,最后把结果交给狗。


1楼2016-03-12 10:34回复
    简化描述法:
    所谓的大师就是学出来的网络,或者简化可以认为是一套公式,类似于y=3x这种,
    公式的输入就是当前的局面,每个位置是白、黑还是空,然后输出就是后面所有可能下法的一个评分,
    只是这个公式很是复杂,参数很多很多,比y=3x这种只有一个参数的公式要复杂的多。
    那么这个公式是怎么来的呢,就是用棋谱不断学出来的,就像y=3x这个公式,开始可能我不知道这个参数是3,
    就知道是y=?x,但是我看到一个输入是2的时候,输出是6,这个是实际验证过的,因此我可以反推出?就是3
    网络学围棋的公式也是一样,不断的给输入,给输出,反着推里面的参数是什么,经过上千万局的学习
    (据说价值网络学了两千万局),终于把这个公式拟合的不错了。
    最后狗来参加比赛的时候带来的就是这个公式,而没有棋谱,这时候已经不需要棋谱了。
    通过公式就可以得到较好的解了,而且它是两个公式可以相互印证。此后再用暴力搜索(蒙特卡洛树搜索)对
    这几个有限下法做实时判定,最后给出它计算出来的统计意义上的最优解。
    注:
    1、据说现在狗用的神经网络宽度还不是很宽,受限于使用硬件的计算能力,如果在更大规模或更高计算能力的硬件上,采用更宽的网络,
    学习出来的公式将会更加精确;
    2、这套方法很容易并行化,简单点说如果放在更大规模的超算上跑的话,棋力还会进一步大幅升级。


    2楼2016-03-12 10:34
    回复
      这是知识贴。


      IP属地:浙江3楼2017-05-29 08:54
      回复