
本文只代表个人观点,且本文不允许任何转载,看见请帮忙举报。
前有:
- Mastering the Game of Go with Deep Neural Networks and Tree Search
- Mastering the game of Go without human knowledge
- 不再用SL,完全用DRL,而且是MCTS上的DRL。
后有:
- Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
于是乎 新闻媒体开始 铺天盖地 地 报道。我冷静一下,理性分析。
AlphaGo刚出来的那阵子我大学还没有毕业,那段时间只是感觉李世石输得很惨 。随后便是DeepMind一发不可收拾的paper海战术,从DQN开始,Double DQN,Prioritized Experience Replay,Dueling Network,DDPG, A2C, A3C, UNREAL, ACER, ACKTR,TRPO,DPPO,再到近期的 Rainbow 以及 AlphaGo Zero。
最后说一下前天的paper, Alpha Zero。各种文章和报道有分析过的就不想多说了,再随便扯几点别的。。。
0X01 计算资源
5000个第一代TPU进行self-play(以及少量的Evaluator)和64个第二代TPU进行training
Alphago Zero 用了2000+的TPU,到了Alpha Zero 变成了5000,算一笔小帐:
姑且算 1 个 TPU \approx 10颗 GTX 1080TI 好了,批发价我们算5000RMB一块?10×5000=5W 5000个TPU就是:5W×5000=25000W=2.5E
去掉七七八八杂碎,良心价打个折,去掉零头,2亿 软妹币 好了,但愿我数学没算错???亲娘,真的有这么多钱吗?亲爹,反正拿不到这么多机器就对了啦。(听说有句名言叫做: 有钱不仅可以任性,还可以为所欲为??)
0X02 MCTS vs. Alpha-Beta
老实说之前我还真的没有觉得MCTS可以取代Alpha-Beta,毕竟除了围棋之外,象棋,西洋棋,黑白棋,将棋这些棋类的AI还都是以Alpha-Beta+大量的heuristic的程序为主导。AlphaGo Zero出来的时候,确实是惊叹了一下在MCTS上面进行RL training能够取得如此好的效果。可能大家不知道Stockfish有多强,去它的官网看看,或者去github上面看看源码吧,从2008年第一版到现在怎么说也快10年了吧。于心不忍的是Stockfish本来是强到没朋友的,被Alpha Zero说打爆就打爆啊。真的惨。
0X03 关于Input 和 Output

比较有意思的是shogi。将棋总有8种棋子,加上升变后的6种,共有14种,另外需要考虑盘面的重复出现情况,4次就要判和棋。还有被吃掉的子的数量,以及总move数量。总共是 (14+14+3+7+7)*8+1+1=362 乘以8是记录前后8手,这个和alphago zero的做法一样。

再看output,首先是要确定要动哪一个位置的棋子( 9*9 ),然后再确定要动到哪里去(这点是和围棋最不同的地方)。

升变前,除去桂马有两个位置的特殊走法,其他任何子都可以是右边这种走法的子集合,除去自己的位置,上下左右,以及斜对角线,各有8个位置可以到达所以共有 8*8=64 个位置,再加上升变后的情况以及除去将以外可以有其他7种棋子可以重新被拿回到场上,所以是64+2+64+2+7=139 种
那output就是 9*9*139=11259
换句话说就是对应11259类,这比ImageNet的1000类要多得多,不过通过这种方式还是降低了一些。暴力中又没有那么暴力了。但是说实话在DeepMind没有这样做之前,我并不认为这么高的维度居然也会work。
0X04 关于paper作者
我想不光只看到AlphaGo的Leader David Silver,还有诸如 Julian Schrittwieser,在deepmind做过星际争霸2,Ioannis Antonoglou 很早就做过DQN,Prioritized Experience ReplayMatthew Lai 的 硕士论文就是写的Giraffe (这也是为什么他们随随便便就做西洋棋的原因之一)反正这一票DRL相关的东西他们都做过就对了。233
0X05 其他
反正现在各种复现,各种open source涌出。。。。效果上面和deepmind还是根本没法比。。。
就是在瞎扯,其他没什么了。
没有评论:
发表评论