AlphaGo怎么下围棋的

AlphaGo通过模拟自己和自己下棋,选取模拟次数最多的走法作为最优策略。它结合了policy net(选点)和value net(形势判断)进行决策。在模拟过程中,AlphaGo会考虑棋局的多种可能,利用深度学习技术提高选点和形势判断的准确性。通过监督学习、增强学习等方法,AlphaGo不断自我提升,以强大的计算能力打破了围棋的复杂性挑战。
摘要由CSDN通过智能技术生成

【原创】AlphaGo怎么下围棋的

 

 

最近DeepMind团队(google旗下)的AlphaGo(一个围棋的AI)以4:1战胜顶尖人类职业棋手李世石。她到底是怎么下棋的?
AlphaGo在面对当前棋局时,她会模拟(推演棋局)N次,选取“模拟”次数最多的走法,这就是AlphaGo认为的最优走法。
例如图中,所有没有落子的地方都是可能下子的,但在模拟中,右下那步走了79%次, 就选那一步了,就那么简单。后面你会发现,“模拟”次数“最多”的走法就是统计上“最优”的走法。





1. 啥是模拟?

模拟就是AlphaGo自己和自己下棋,相当于棋手在脑袋中的推演,就是棋手说的”计算“。
AlphaGo面对当前局面,会用某种(下面会讲)策略,自己和自己下。其中有两种策略:往后下几步(提前终止,因为AlphaGo有一定判断形势的能力);或者一直下到终局(终局形势判断相对简单,对于棋手简单,对于机器还有一定难度,但是这个问题已经基本解决)。对于棋手来说就是推演棋局。
AlphaGo会模拟多次,“不止一次”。越来越多的模拟会使AlphaGo的推演“越来越深”(一开始就1步,后来可能是几十步),对当前局面的判断“越来越准”(因为她知道了后面局面变化的结果,她会追溯到前面的局面,更新对前面局面的判断),使后面的模拟“越来越强”(更接近于正解,她后面模拟出来的着法会越来越强)。怎么做到的?看她怎么模拟的。
注意,这里的模拟是下棋(线上)时的模拟,后面还会有个学习时的模拟,不要混淆了。


2.AlphaGo怎么模拟的?

每次模拟中,AlphaGo自己和自己下。每步中由一个函数决定该下哪一步。函数中包括了以下几个方面:这个局面大概该怎么下(选点:policy net),下这步会导致什么样的局面,我赢得概率是多少(形势判断:value net 和rollout小模拟),鼓励探索没模拟过的招法。这些英文名词后面会有解释。
模拟完一次后,AlphaGo会记住模拟到棋局,比如几步以后的棋局。并且计算这时policy,value。因为这时已经更接近终局了,这时的值会更加准确(相对于前面的模拟或局面)。AlphaGo还会用这些更准的值更新这个函数,函数值就越来越准了,所以模拟的每一步越来越接近正解(最优的下法),整个模拟越来越接近黑白双方的最优下法(主变化,principle variation),就像围棋书上的正解图一样。到此为止,你已经大概了解AlphaGo她怎么工作的了,下面只是一些细节和数学了。



3. 那个函数是啥, 好神奇?


这个函数,分为两个部分。



Q 是action value, u是bonus。Q其实就是模拟多次以后,AlphaGo计算走a这步赢的概率,其中会有对未来棋局的模拟(大模拟中的小模拟),和估计。u中包括两个部分。一方面根据局面(棋形)大概判断应该有那几步可以走,另一方面惩罚模拟过多的招法,鼓励探索其他招法,不要老模拟一步,忽略了其他更优的招法。


4.Q(action value)具体是什么?



Q看上去有点复杂,其实就是模拟N次以后,AlphaGo认为她模拟这步赢得平均概率。 
分母N是模拟这步棋的次数。
分子是每次模拟赢的概率(V)的加和。
其中V又包括两部分,value net对形势的判断。和一个快速模拟到终局,她赢的概率。
valuenet是说她看这个这个局面,就要判断赢的概率,“不准”往下几步想了。value net下面详细讲。
快速模拟是说她看这个这个局面,自己和自己下完,看看黑白谁赢的概率高。快速模拟是我们这个大模拟中的一个小模拟。
Q就是看当下(value net),也看未来(快速模拟),来决定怎么模拟(对人来说就是往哪里想,对于棋手就是思考哪些可能的着法),下棋方(模拟中下棋方黑白都是AlphaGo)下那一步赢的概率高,从而决定模拟下那一步。



5.u(bonus)具体是啥?



u中包括两个部分。
分子是AlphaGo根据当前局面判断(policy net),不模拟,比如棋手根据棋形大概知道应该有哪几步可以走。
分母是模拟到现在走当前步的累加,越大下次模拟越不会走这了。
一句话,(Q+u)就是决定模拟中,下棋方会走(模拟)哪里。
到此,我们大概了解了AlphaGo的两大神器:value net(形势判断:模拟中,我走这步,我赢的概率是多少)和policynet(选点:模拟中,这个局面我走那几步最强)。下面会揭开他们神秘的面纱。


6. 为什么选模拟次数最多的一步?

根据以上的函数可知,模拟次数最多一步,其实就是在多次模拟中,AlphaGo认为那一步最可能赢的次数的累加(或平均,除以总模拟次数)。


7. 为什么要分为policy net(选点)和value net(形势判断)呢,选点和形势判断不是一个东西吗?

确实,选点和形势判断是互相嵌套的。首先,围棋的形势判断是非常困难的。在围棋直播中我们经常看到,职业9段也不能准确判断当前局面,除非地域已经确定,没有什么可以继续战斗的地方,一般也就是接近终局(官子阶段)。即使职业棋手,选点和判断也是定性的成分偏多,定量的成分偏少。以前说中国顶级棋手古力能推演到50步,已经非常强了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值