ランダムAI相手に100%近い勝率を出すことを目標に約4日間学習を行いました。
ネットワークはResNetです。
reversi_main.pyを実行することで実際に学習を行い、学習過程のログを確認することができます。
play_reversi.pyを実行することでプレイヤーを2人選び、リバーシをプレイすることができます。
プレイヤーは以下の3人が用意されています。
- Random(ランダムに手を打つAI)
- DQN(今回学習させたモデル)
- Human(人間が盤面を見て手を選ぶことができます。)
上記のプレイヤーから2人を選び、任意の組み合わせで対戦させることができます。
最終的にはランダムAIに対しては100%近い勝率を達成することができました。
学習初期には合法手を全く認識することができませんでしたが約1日で合法手をほとんど完璧に認識できるようになりました。
訓練中のモデルは10エピソードごとにmodelsフォルダ直下に保存されます。
modelsフォルダにあるbest_modelフォルダには今までで一番性能の良かったモデルを格納してあります。