🎲
アルファ碁!説明しよう!
話すこと
- 無理と言われてた碁でチャンピオンに勝った"アルファ碁"の中身解説
読者対象
- イ・セドルの対戦動画で、棋士の涙を見て、感動した人
- 強化学習の対戦での活用例を理解したい人
- 強化学習で○○えもんを作りたい人
碁が難しい理由
- 探索範囲が広い(chessでさえしらみつぶし探索は無理だが、さらに広い)
- 盤面の評価が難しい(初心者ではどっちが勝っているかわからない)
部品
-
手を選ぶpolicy network SL(教師あり学習),RL(強化学習),Rollout(弱いが速い版)
強い人の棋譜を正解にして、学習する(汎化性能を得る)、速い版も作る
さらにそれを自己対戦のデータ使って強化学習する -
盤面評価のvalue network
こちらも自己対戦のデータ使って強化学習する
-
先読みするモンテカルロ木探索
打つ手の勝率と多様性を考慮しながら、探索する手を選ぶ
ある場面の良さを判断するために勝負つくまで打ち続ける -
以下の手順で探索木が成長する。
- (選択)MCTの勝率と状態価値と探索回数が少ないほど高い手を選ぶ
- (展開)探索ノード数が閾値超えたら、子ノード展開
- (評価)勝負付くまで手を打つ
- (記録)勝敗を各ノードに記録しながら、木を登る
ざっくり作成手順
- 強い人の棋譜を正解にして、SL policy network , Rollout policy network 作る
- 自己対戦して、勝った手を選びやすくするように policy , Value network学習
- できたネットワークを評価して強くなっていたら更新する
モンテカルロ木探索でやってる意味
生きているなかで、ある選択をしたあと、あれうまくいかなさそうだなと先に進むと
よりうまくいくかどうかわかってくる。恋愛、仕事、学習なんでも言える。
人生ではやり直し何回もできないけど、碁では探索、自己対戦で何回もできる。
探索で良い手がわかってきたら、ネットワークも学習して精度よくなる。
好循環を繰り返してめっちゃ強くなるってことだと思う!
参考文献
- Mastering the game of Go with deep neural networks and tree search
- 最強囲碁AI アルファ碁 解体新書
- ゲームから学ぶAI
——環境シミュレータ×深層強化学習で広がる世界
あとがき
付け足すか、続編書いていきたい
alphagozero,alphazero,muzero,alphastar,alphafold は書いていきたい
DQNからatari57とかも
記事よかったら、いいね♡ ボタン押してね!
Discussion