🎲

アルファ碁!説明しよう!

2024/08/04に公開

話すこと

  • 無理と言われてた碁でチャンピオンに勝った"アルファ碁"の中身解説

読者対象

  • イ・セドルの対戦動画で、棋士の涙を見て、感動した人
  • 強化学習の対戦での活用例を理解したい人
  • 強化学習で○○えもんを作りたい人

碁が難しい理由

  • 探索範囲が広い(chessでさえしらみつぶし探索は無理だが、さらに広い)
  • 盤面の評価が難しい(初心者ではどっちが勝っているかわからない)

部品

  • 手を選ぶpolicy network SL(教師あり学習),RL(強化学習),Rollout(弱いが速い版)
     強い人の棋譜を正解にして、学習する(汎化性能を得る)、速い版も作る
     さらにそれを自己対戦のデータ使って強化学習する

  • 盤面評価のvalue network
    こちらも自己対戦のデータ使って強化学習する

  • 先読みするモンテカルロ木探索
      打つ手の勝率と多様性を考慮しながら、探索する手を選ぶ
      ある場面の良さを判断するために勝負つくまで打ち続ける

  • 以下の手順で探索木が成長する。

  1. (選択)MCTの勝率と状態価値と探索回数が少ないほど高い手を選ぶ
  2. (展開)探索ノード数が閾値超えたら、子ノード展開
  3. (評価)勝負付くまで手を打つ
  4. (記録)勝敗を各ノードに記録しながら、木を登る

ざっくり作成手順

  1. 強い人の棋譜を正解にして、SL policy network , Rollout policy network 作る
  2. 自己対戦して、勝った手を選びやすくするように policy , Value network学習
  3. できたネットワークを評価して強くなっていたら更新する

モンテカルロ木探索でやってる意味

生きているなかで、ある選択をしたあと、あれうまくいかなさそうだなと先に進むと
よりうまくいくかどうかわかってくる。恋愛、仕事、学習なんでも言える。
人生ではやり直し何回もできないけど、碁では探索、自己対戦で何回もできる。
探索で良い手がわかってきたら、ネットワークも学習して精度よくなる。
好循環を繰り返してめっちゃ強くなるってことだと思う!

参考文献

あとがき

付け足すか、続編書いていきたい
alphagozero,alphazero,muzero,alphastar,alphafold は書いていきたい
DQNからatari57とかも

記事よかったら、いいね♡ ボタン押してね!

Discussion