AlphaZeroでは局面に応じて「方策」「価値」を出力する「デュアルネットワーク」を使います。
ResNetの残差ブロックでゲームの盤面の特徴を抽出し、「ポリシー出力」と「バリュー出力」の2つに分岐させて、「方策」(次の一手)と「価値」(勝敗予測)の2つを推論します。
1 | # ==================== |
デュアルネットワークの作成手順は次の通りです。
- モデル作成済みの場合は何も処理しません。
- モデルを作成します。
入力層、畳み込み層、残差ブロック×16、プーリング層、ポリシー出力、バリュー出力、モデルと順番に作成します。 - モデルを保存します。
- モデルを破棄します。
1 | # デュアルネットワークの作成 |
実行すると、「./model.best.h5」ファイルが出力されます。
これはまだ未学習のモデルとなります。
参考
AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門 サポートページ