Connect Three

DQNでゼロから学習させたAIと対戦できます。仕組みの解説 →

AIを読み込んでいます...
CPU (赤・先攻)
あなた (橙・後攻)

このAIについて

5×5盤面・重力あり(コネクトフォア型)の3目並べを、DQN(Deep Q-Network) で ゼロから学習させたAIです。人間の棋譜は一切使わず、勝ったか負けたかという結果だけを 手がかりに、20,000回の対戦を通じて自力で戦い方を身につけました。

対戦相手を選ぶ

上のボタンで、学習途中のAIを対戦相手に選べます。 Lv.0 は学習前(ランダムに打つだけ)、Lv.3 は学習完了後のAIです。 同じ設計・同じネットワークのまま、学習量だけが違います。 弱いレベルから順に対戦すると、学習が進むにつれて何ができるようになったのかが分かります。

※ 表示している勝率は、ルールベースAIと400戦させて実測した値です (開幕の数手をランダムにした条件。同じ相手・同じ条件でレベル間を比較しています)。

構成とハイパーパラメータ

ネットワーク: 入力 (3,5,5) → Conv(3→32) → Conv(32→64) → 全結合(1600→256) → 出力 (5)

手法DQN(CNN + 経験再生 + ターゲットネットワーク)
パラメータ数430,533
学習率5e-4(Adam)
割引率 γ0.99
ε(開始→終了)1.0 → 0.10(減衰率 0.99990)
バッファ容量20,000(経験再生のプール)
バッチサイズ128
ターゲット更新間隔500ステップ
報酬設計勝敗のみ(±1.0、中間報酬なし)

もっと詳しく

強化学習の枠組み、Q値とベルマン方程式、DQNの学習の仕組み、 そして実際に学習させて分かったことをブログ記事にまとめています。

ブログ記事:DQNで対戦AIを作る
ソースコード(GitHub)