付録E ネットワーク入力
ダイナミクス関数
- ダイナミクス関数への入力は、表現関数またはダイナミクス関数の以前の適用によって生成された隠れ状態であり、遷移の行動の表現と連結される。
- 行動は、隠れ状態と同じ解像度の面で空間的にエンコードされる。
- Atariでは、この解像度は6x6である(ネットワークアーキテクチャの節のダウンサンプリングの説明を参照)。
- ボードゲームでは、これはボードサイズと同じである(囲碁では19x19、チェスでは8x8、将棋では9x9)。
チェスの行動のエンコード
- チェスでは、行動をエンコードするために8つの面が使用される。
- 最初のワンホットプレーンは、駒の移動元の位置をエンコードする。
- 次の2つの面は、駒が移動された位置をエンコードする:ボード上にある場合、ターゲット位置をエンコードするワンホットプレーン、およびターゲットが(ボード上で)有効かどうかを示す2番目のバイナリプレーン。
- これは、簡単にするために方策の行動空間がすべての有効な行動(すべてが合法ではない)のスーパーセットを列挙するために必要である。 また、方策予測とダイナミクス関数入力をエンコードするために同じ行動空間を使用する。
- 残りの5つのバイナリプレーンは、プロモーションのタイプ(クイーン、ナイト、ビショップ、ルーク、なし)を示すために使用される。
将棋の行動のエンコード
付録F ネットワークアーキテクチャ
予測関数
- 予測関数
は、AlphaZeroと同じアーキテクチャを使用する。
- 1つまたは2つの畳み込み層で、解像度を維持しながら面の数を減らし、出力のサイズの全結合層が続く。
Atariでの価値と報酬の予測
- Atariでの価値と報酬の予測では、すべての実験において
の可逆変換
を使用してターゲットをスケーリングする。
- 次に、同等のカテゴリ表現を取得するために、スカラー報酬および価値ターゲットに変換
を適用する。
- サイズ601の個別サポート(関数の台)セットを使用し、-300〜300の整数ごとに1つのサポートを使用する。
- この変換では、各スカラーは2つの隣接するサポートの線形結合として表されるため、元の値は
によって復元できる。
- 例として、3.7のターゲットは、3のサポートでは0.3の重み、4のサポートでは0.7の重みとして表される。
- ネットワークの価値と報酬の出力も、サイズ601のsoftmax出力を使用してモデル化される。
- 推論中、実際の価値と報酬は、それぞれのsoftmax分布の下で最初に期待値を計算し、その後スケーリング変換を逆変換することによって取得される。
- 価値と報酬のスケーリングと変換はネットワーク側で透過的に行われ、アルゴリズムの残りの部分には見えない。
表現関数とダイナミクス関数
Atariの観測
- 観測の空間分解能が大きいAtariの場合、表現関数は、空間分解能を下げるためにストライド2の畳み込みのシーケンスから始める。
- 具体的には、解像度96x96および128の面(それぞれ3つのカラーチャネルの32の履歴フレーム、面にブロードキャストされる対応する32の行動と連結)の入力観測から始めて、次のようにダウンサンプリングする。
感想
AlphaZeroでは、8つの履歴局面を入力としていましたが、囲碁、将棋はAlphaZeroと同じで、チェスでは履歴局面の数が100に増やされています。
理由としては、引き分けを正確に予測するためと説明されています。
AlphaZeroでは、チェス、将棋では、繰り返し数が入力特徴量にありましたが、MuZeroではシミュレーション中の局面は、埋め込み表現に変換されるため正確に繰り返しを判断することができません。
そのため、必要な処置だったと推測できます。
将棋でも千日手があるので、履歴が8つでは足りないように思いますが、チェスの方がより引き分けにする戦略を多用するゲームのようなのでチェスだけ増やしたのではないかと思います。
チェス、将棋の移動先のエンコードで、移動元と移動先の組み合わせが合法かどうかを示すフラグが表現されています。
あまり詳細に書かれていないので推測ですが、MuZeroでは合法手の判断を行わないため、方策はすべての組み合わせを列挙するため、学習時に合法手を覚えさせるために必要だったと思われます。
ネットワーク構成は、ボードゲームではAlphaZeroと同じアーキテクチャとなっています。
Atariでは、ゲームによって価値と報酬の分布が異なるため、スケーリングしてカテゴリ化を行っています。
変換の説明にsupportという用語がでてきて、何かと思いましたが、数学の用語で日本語では「関数の台」というようです。
値をスカラではなくカテゴリ化してsoftmaxで出力するようにしています。
予測を容易にするために、値の解像度を落とすような操作をしていると理解できます。
次回は、訓練についてです。
(続く)