这是迄今为止,AlphaGo算法最清晰的解读!

2016年DeepMind团队(google旗下)的AlphaGo(一个围棋的AI)以4:1克服顶尖人类职业棋手李世石 。她到底是怎么下棋的?

这是迄今为止,AlphaGo算法最清晰的解读!

文章插图
AlphaGo在面对当前棋局时,她会模仿(推演棋局)N次,选取 模仿 次数最多的走法,这就是AlphaGo以为的最优走法 。
例如图中,所有没有落子的处所都是可能下子的,但在模仿中,右下那步走了79%次,就选那一步了,就那么简略 。后面你会发明,模仿 次数 最多 的走法就是统计上 最优 的走法 。
这是迄今为止,AlphaGo算法最清晰的解读!

文章插图
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)具体是什么?
这是迄今为止,AlphaGo算法最清晰的解读!

文章插图
Q看上去有点庞杂,其实就是模仿N次以后,AlphaGo以为她模仿这步博得平均概率 。
分母N是模仿这步棋的次数 。
分子是每次模仿赢的概率(V)的加和 。
其中V又包含两部分,value net对形势的断定 。和一个迅速模仿到终局,她赢的概率 。
value net是说她看这个这个局势,就要断定赢的概率,不准 往下几步想了 。value net下面详细讲 。
迅速模仿是说她看这个这个局势,自己和自己下完,看看黑白谁赢的概率高 。迅速模仿是我们这个大模仿中的一个小模仿 。
Q就是看当下(value net),也看未来(迅速模仿),来决议怎么模仿(对人来说就是往哪里想,对于棋手就是思考哪些可能的着法),下棋方(模仿中下棋方黑白都是AlphaGo)下那一步赢的概率高,从而决议模仿下那一步 。
5、u(bonus)具体是啥?
这是迄今为止,AlphaGo算法最清晰的解读!

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


推荐阅读