TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

AlphaStarの論文を読む その13(分析、AlphaStarの一般性)

分析

エージェントセット

  • 検証エージェント:メインエージェントのみを使用し、エクスプロイターを使用せずに訓練された17の戦略セットに対するリーグの堅牢性を検証し、zを手で精選された興味深い戦略セット(例:キャノンラッシュや初期飛行ユニット)に修正した。
  • アブレーションテストエージェント:アブレーションテストエージェントには、検証エージェント、および完全なリーグトレーニングによって作成された最初の(つまり弱い)20のメインおよび20のリーグエクスプロイトプロトスエージェントが含まれる。
  • 固定相手:RLアルゴリズムを評価するために、リーグトレーニングによって作成された最初の10人のリーグエクスプロイトプロトスエージェントで構成される均一な混合戦略に対する最良の応答を計算した。

図で使用されるメトリック

  • Eloレーティング:リーグの内部Eloレーティングを計算するために、組み込みのボットを追加し、それを使用して次のモデルでEloを推定した。


\displaystyle
\mathbb{P}[\mathrm{r}_{1} \text { beats } \mathrm{r}_{2}]=\frac{1}{1+e^{-\left(\mathrm{r}_{1}-\mathrm{r}_{2}\right) / 400}} \approx \Phi\left(\frac{\mathrm{r}_{1}-\mathrm{r}_{2}}{400}\right)

  • ここで、\mathrm{r}_{1}\mathrm{r}_{2}は両方のプレイヤーのEloレーティングである。
  • Eloレーティングには固有の絶対スケールがないため、組み込みのEliteボットのレーティングを0に設定することにより、Eloレーティングを接地する。
相対集団パフォーマンス
  • 相対集団パフォーマンス(Relative Population Performance; RPP)は、2つの集団(population)がナッシュ均衡に達した後の2つの集団間のメタゲームの予想される結果である*1
  • リーグAとBの、それぞれサイズNとMのすべてのエージェント間の利得行列が与えられた場合、P_{A B} \in[0,1]^{N \times M}


\displaystyle
\operatorname{RPP}\left(P_{A B}\right)=\operatorname{Nash}\left(P_{A B}\right)^{T} P_{A B} \operatorname{Nash}\left(P_{B A}\right)

  • ここで、\operatorname{Nash}(X) \in[0,1]^{K}は、サイズKのリーグXにおけるナッシュ均衡で各エージェントをプレイするために割り当てられた確率のベクトルである。
  • RPPが高いということは、リーグAがBからのエージェントを活用できる混合戦略を形成できるエージェントで構成されていることを意味する。

AlphaStarの一般性

ニューラルネットワークアーキテクチャコンポーネント
行動空間の定義
  • AlphaStarの行動空間は、型指定された引数を持つ関数のセットとして定義される。
  • 同様のAPIを定義するドメインはすべて、複雑で構造化された行動空間の同じ分解に取り組むことができ、その結合確率はチェーンルールによって分解される(たとえば、言語モデリング*2や定理証明に似ている)。
模倣学習
  • AlphaStarでの模倣学習には、効果的な人間による大量のデモンストレーションが必要であるため、このようなデモンストレーションセットを提供するドメインにのみ適用できる。
  • 潜在変数zを使用して探索を誘導することはStarCraftに固有ではないが、統計の特定の選択にはドメインの知識が必要だった。
  • 特に、StarCraftで序盤とユニットをエンコードするためにzを選択した。
  • 擬似報酬は、編集距離やハミング距離など、これらの統計の適切な距離メトリックに基づいている。
強化学習アルゴリズム
  • AlphaStarの基礎となる強化学習アルゴリズムは、どのRL環境にも適用できる。
  • また、より低い分散のベースラインと新しいコンポーネント(例えば、ハイブリッド方策オフ学習、UPGO、模倣ポリシーに向けた蒸留など)のために敵の観測を使用することも広く適用できる。
マルチエージェントトレーニン
  • 最後に、メインエージェントを強化することを目的とするさまざまな種類のエクスプロイターを使用した新しいマルチエージェントトレーニング体制を提案する。
  • 優先順位付きFSPとともに、これらはすべてマルチプレイヤードメインに適用可能な汎用技術である。

コードおよびデータの可用性と声明

プロフェッショナルプレーヤーの声明

  • 次の引用は、StarCraft IIプロプレイヤーであるDario “TLO” Wünsch(チームの一員であり、この論文の著者でもある)によるもので、インターフェイスと制限について説明している。
Dario “TLO” Wünschの声明
  • AlphaStarに設定されている制限は、1月の最初のショーマッチとは非常に異なると感じる。
    • AlphaStarには優れた正確な制御機能があるが、超人間的な感覚はない。
    • 人間が理論的に達成できないレベルではない。
    • 人間よりもいくつかの面で優れており、他の面でも悪化しているが、もちろんAlphaStarと人間のプレイヤーの間には避けられない違いがある。
  • DeepMindのシステムが人間のプレイヤーよりも不公平に優位にならないようにするために、AlphaStarチームに相談できることを嬉しく思った。
  • 全体として、StarCraftの「本物の」ゲームをプレイしており、非現実的な機能を備えているためにバランスが完全に失われておらず、非常に公平に感じる。
  • カメラの表示が制限されているため、マルチタスクを実行するときに常にすべてを同時に捕捉できるとは限らないため、その側面も非常に公平で人間らしく感じられる。

リプレイデータ

  • AlphaStarがオンラインでプレイしたすべてのゲームはファイルreplays.zip(Supplementary Data Replays)にあり、Battle.netの実験の生データはbnet.jsonSupplementary Data Battle.net)にある。

コード

感想

全体を読んでみて、個人的にポイントと思ったのは以下の点です。

  • 不完全情報ゲームのサイクル問題を回避するためリーグマッチによるマルチエージェントで学習している
  • リーグの対戦相手の選択を優先順位付きFSPで効率化している
  • 複雑な長期戦略を強化学習では学習できない
  • そのため人間のリプレイを利用する
  • ニューラルネットワークはLSTMを使用する
  • 入力は、トランスフォーマーでユニットを埋め込み表現にしている
  • 埋め込み表現にしたユニットを、畳み込みにスキャッター接続することで空間情報を保持して入力する
  • 行動の出力は、複数のアクション引数をネットワーク構成で表現している
  • 引数の出力に応じて、ポインターネットワークやアテンションが使用されている
  • 強化学習アルゴリズムは、アクタークリティックがベース
  • 方策の学習にはリプレイバッファを使用してV-Traceで方策オフで学習する
  • 加えてUPGOで自己模倣学習を行う
  • 価値の学習はTD(λ)を使用し方策オフの補正は行わない
  • 対戦条件は、操作頻度やカメラ操作を人間の条件に近づけて公平にしている

AlphaStarの論文を読む - TadaoYamaokaの開発日記
AlphaStarの論文を読む その2 - TadaoYamaokaの開発日記
AlphaStarの論文を読む その3 - TadaoYamaokaの開発日記
AlphaStarの論文を読む その4 - TadaoYamaokaの開発日記
AlphaStarの論文を読む その5(アーキテクチャ) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その6(アーキテクチャその2) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その7(アーキテクチャその3) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その8(教師あり学習、強化学習) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その9(マルチエージェント学習) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その10(リーグ構成) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その11(インフラ) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その12(評価) - TadaoYamaokaの開発日記
AlphaStarの論文を読む その13(分析、AlphaStarの一般性) - TadaoYamaokaの開発日記