読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

AlphaGoまとめ

AlphaGo Fan AlphaGo Lee AlphaGo Master AlphaGo Zero (20b) AlphaGo Zero (40b) AlphaZero (20b) ELF OpenGo PhoenixGo
評価ハードウェア 1202 CPU & 176 GPU 48 TPU v1 4 TPU v1 4 TPU v1 4 TPU v1 4 TPU v1 1 V100 Tesla P40
HW指標 1TPUで1600simに0.4秒と思われる 80k simに50秒(1600simに1秒)
レーティング 3144 3739 4858 4350? 5185 ~4800 推定4100
実績 Fan Huiに5戦5勝 李世乭に5戦4勝1敗 トッププロに60戦60勝。柯洁に3戦3勝。AlphaGo Teachデータ生成 AlphaGo Masterに100戦89勝11敗 韓国トッププロに14戦14勝 第1回貝瑞基因杯世界AI囲碁大会優勝
アルゴリズム ポリシーとバリューネットワークとロールアウトのハイブリッドMCTS 同左 ポリシーバリューデュアルネットワークとロールアウトのハイブリッドMCTS ポリシーバリューデュアルネットワークでのMCTS 同左 同左 同左
フィーチャー シチョウを含む48(49)プレーン 同左 シチョウを含むnプレーン(推定、n不明) 8手前までの盤上配置と手番(17プレーン) 同左 同左 8手前までの盤上配置と手番(18プレーン) 8手前までの盤上配置と手番(17プレーン)
ネットワーク 192フィルタ * 12 CNN * 2 256フィルタ * 12 CNN * 2 20ブロック ResNet 256フィルタ * 20ブロック ResNet 256フィルタ * 40ブロック ResNet 256フィルタ * 20ブロック ResNet(推定) 224フィルタ * 20ブロック ResNet 20ブロック(batch normとactivationの位置がモダン)
学習 教師あり学習+強化学習 同左 同左 強化学習 同左 強化学習 強化学習 強化学習
自己対戦ハードウェア 50 GPU 2000 TPU v1 2000 TPU v1 5000 TPU v1 2000 V100 WeChat CPU server
学習ハードウェア 64 GPU & 19 CPU 64 GPU & 19 CPU 64 TPU v2
自己対戦時一手sim数 1,600 1,600 800
ミニバッチサイズ 2,048 同左 4,096
ミニバッチ内容 直近500k局からランダム局面 同左 4,096
ミニバッチ処理 バッチサイズ32で64ワーカーを動かして2,048を処理 同左
1ステップ当たり自己対戦数 25 25 30
NN選択のためのステップ数 1k 1k 選択なし
総ミニバッチ 700k 3.1M 700k 639,200
総自己対戦数 (自己対戦から30M局面を抽出) 4.9M 29M 21M
自己対戦期間 1日+1週間 数ヶ月 3日 40日 34時間 2週間

AlphaGo Masterの強さは手作りのフィーチャーにあります。20ブロックのMasterを超えるためにZeroは40ブロック要しました。
一番の要因はシチョウが読めるかどうかと想像しています。20ブロックのZeroでは盤を横断するシチョウが直感できないのではないでしょうか。20ブロックのELF OpenGoがそれを実証しています。
"without Hunman Knowledge"に拘らなければ、シチョウを含めたフィーチャーで強化学習するのが一番ですね。
残る疑問は、シチョウフィーチャーあり40ブロックで強化学習した場合AlphaGo Zero(40b)を超えるのかどうか。