暇さえあればアルゴリズムいじり

暇があればアルゴリズムいじり

Obsessed with algorithms whenever I have a free moment.

AI & IT Engineer / Father of 3

"Dream shall be realized with dream — Always tinkering with algorithms"

探索を行う協調学習法MAVENの調査と実験

先日の協調学習の問題がうまく解けませんでした。 QMIXでも難しかった原因の仮説ですが、

  • 探索があまりされなかった
  • マルチエージェントはお互いの行動の積み重ねで寄り良い行動を探索する必要があるが、お互いの情報の梟雄不足

の2点が主要因と考えました。

この主要因に強い手法としてMAVEN(Multi-Agent Variational Exploration)というMARL手法が有効と考えました。 今回はMAVENについて説明、実装法について説明します。

概要

MAVENは、MARLにおける探索を強化するための手法です。
2019年に提案され、QMIXなどの価値分解型アルゴリズムと組み合わせて、協調行動の探索を効率化することを目的としています。

1. MAVENの基本アイデア

(1) 背景:QMIXの課題

  • QMIXはCTDE(集中学習・分散実行)でグローバルQ値を個別Q値に分解し、協調行動を学習します。
  • しかし、探索戦略が単純(ε-greedyなど) で、協調的な探索(チーム全体としてどう探索するか) を明示的に扱っていません。

(2) MAVENのアプローチ

  • 潜在変数(latent variable)z を導入し、探索方策を明示的にモデル化します。
  • 各エピソードごとに異なる z をサンプリングし、そのエピソード全体の探索方策を決定します。
  • これにより、チーム全体として多様な探索戦略を試すことができます。

2. MAVENの仕組み

(1) 潜在変数 z の役割

  • z はエピソード全体にわたる探索方策を表す潜在変数です。
  • 例:
    • z=0:積極的にボトルネックを通る戦略
    • z=1:慎重に待機する戦略
    • z=2:迂回してターゲットを目指す戦略
      など、チーム全体の行動スタイルを変えます。

(2) モデル構造

  • Mixing Network各エージェントのQネットワークが、潜在変数 z を入力として受け取ります。
  • これにより、z によって異なる協調行動パターンが学習されます。

(3) 学習方法

  • 変分推論(Variational Inference) を用いて、z の分布を学習します。
  • 目的は、z が与えられたときの行動が、高い報酬をもたらすように学習することです。
  • 同時に、z の多様性(エントロピー)を最大化し、さまざまな探索戦略を試すようにします。

3. MAVENの利点

  • 探索の多様性:潜在変数 z によって、チーム全体として多様な探索戦略を試せる。
  • 協調的な探索:個々のエージェントがバラバラに探索するのではなく、チームとして一貫した探索方策を取れる。
  • 局所解からの脱出:単一の探索戦略では陥りやすい局所解から、z を変えることで脱出しやすい。
  • QMIXとの互換性:QMIXのアーキテクチャに潜在変数を追加するだけで実装可能。

4. MAVENの課題

  • 実装の複雑さ:変分推論や潜在変数の扱いが必要で、実装がやや複雑。
  • 計算コスト:潜在変数のサンプリングや分布の学習に追加計算が必要。
  • z の解釈:学習された z がどのような探索戦略に対応するかを解釈するのが難しい場合がある。

5. 適用例

  • 協調ナビゲーション

    • z=0:両方が積極的にボトルネックを通る
    • z=1:片方が待機し、もう一方が先に通る
    • z=2:両方が迂回ルートを試す
      など、多様な協調戦略を探索できます。
  • マルチエージェントゲーム

    • チーム全体の攻撃スタイルや防御スタイルを z で切り替え、戦略の多様性を確保。

解決しようとした課題

MAVENが解決しようとした主な課題は、マルチエージェント強化学習(MARL)における「探索の貧困(exploration poverty)」 です。
具体的には、以下のような問題を対象としています。

1. 探索の貧困(Exploration Poverty)

(1) 単一の探索戦略に依存する問題

  • QMIXなどの従来のMARL手法では、ε-greedyボルツマン探索といった単一の探索戦略に依存しています。
  • これにより、特定の局所解(例:片方のエージェントが止まる戦略) に早期に収束し、他の協調戦略を試さないまま学習が停滞してしまうことがあります。

(2) 協調的な探索の欠如

  • 各エージェントが独立に探索するため、チーム全体として一貫した探索戦略を取ることが難しい。
  • 例:一方が積極的にボトルネックを通ろうとするとき、もう一方が待機するべきか、迂回するべきか、といった協調的な探索が自然に生まれにくい。

2. 非定常性(Non-Stationarity)による探索の困難

(1) 他エージェントの行動変化の影響

  • MARLでは、他エージェントの方策が変化するため、環境が非定常になります。
  • これにより、単純な探索戦略では協調行動の多様な組み合わせを試すことが難しくなります。

(2) 協調行動の組み合わせ爆発

  • エージェント数が増えると、行動の組み合わせが指数的に増加します。
  • 単一の探索戦略では、これらの組み合わせを網羅的に試すことが困難です。

3. 価値分解型アルゴリズム(QMIXなど)の限界

(1) グローバルQ値の分解のみに注目

  • QMIXはグローバルQ値を個別Q値に分解することに注力していますが、探索方策そのものは明示的にモデル化していません。
  • その結果、協調行動の学習は得意だが、協調的な探索は苦手というアンバランスが生じます。

(2) 探索と活用のバランス

  • QMIXでは探索と活用のバランスをε-greedyなどの単一パラメータで制御しますが、
    複雑な協調タスクでは多様な探索戦略が必要になります。

手法

MAVENの数学的な説明を、QMIXベースの価値分解型MARLを前提に整理します。
MAVENの核心は、潜在変数 z を導入して探索方策を明示的にモデル化し、変分推論で学習することです。

1. 記号の定義

  • エージェント数:NN
  • 状態:sSs \in \mathcal{S}(グローバル状態)
  • 各エージェントの観測:oiOio_i \in \mathcal{O}_i
  • 各エージェントの行動:aiAia_i \in \mathcal{A}_i
  • チーム報酬:r(s,a)r(s, \mathbf{a})a=(a1,,aN)\mathbf{a} = (a_1, \dots, a_N)
  • 潜在変数:zp(z)z \sim p(z)(探索方策を表す潜在変数)

2. QMIXの価値分解(ベースライン)

QMIXでは、グローバルQ値 Qtot(s,a)Q_{tot}(s, \mathbf{a}) を個別Q値 Qi(oi,ai)Q_i(o_i, a_i) に分解します:

Qtot(s,a)=fϕ(s,Q1(o1,a1),,QN(oN,aN))Q_{tot}(s, \mathbf{a}) = f_\phi\left(s, Q_1(o_1, a_1), \dots, Q_N(o_N, a_N)\right)

ここで fϕf_\phi はMixing Network(単調性を保証する重み付き和)です。
学習目標は、以下のTD誤差を最小化すること:

LQMIX=E(s,a,r,s)[(r+γmaxaQtot(s,a)Qtot(s,a))2]\mathcal{L}_{QMIX} = \mathbb{E}_{(s, \mathbf{a}, r, s')}\left[\left(r + \gamma \max_{\mathbf{a}'} Q_{tot}(s', \mathbf{a}') - Q_{tot}(s, \mathbf{a})\right)^2\right]

3. MAVENの拡張:潜在変数 z の導入

MAVENでは、潜在変数 z を導入し、Q値とMixing Networkが z に依存するようにします:

Qtot(s,a,z)=fϕ(s,z,Q1(o1,a1;z),,QN(oN,aN;z))Q_{tot}(s, \mathbf{a}, z) = f_\phi\left(s, z, Q_1(o_1, a_1; z), \dots, Q_N(o_N, a_N; z)\right)

  • 各エージェントのQネットワーク:Qi(oi,ai;z)Q_i(o_i, a_i; z)
  • Mixing Network:fϕ(s,z,)f_\phi(s, z, \cdot)

z の役割

  • 各エピソードごとに z をサンプリングし、そのエピソード全体の探索方策を決定します。
  • 例:z=0 → 積極的にボトルネックを通る戦略、z=1 → 慎重に待機する戦略、など。

4. 変分推論による z の学習

(1) 変分下限(ELBO)の導出

MAVENでは、変分推論を用いて z の分布 qψ(zs)q_\psi(z | s) を学習します。
目的は、z が与えられたときの行動が高い報酬をもたらすようにしつつ、z の多様性(エントロピー)を最大化することです。

ELBO(Evidence Lower Bound)は以下のように定義されます:

LMAVEN=Ezqψ(zs)[E(s,a,r,s)[logp(rs,a,z)]]βDKL(qψ(zs)p(z))\mathcal{L}_{MAVEN} = \mathbb{E}_{z \sim q_\psi(z|s)}\left[\mathbb{E}_{(s, \mathbf{a}, r, s')}\left[\log p(r | s, \mathbf{a}, z)\right]\right] - \beta \cdot D_{KL}\left(q_\psi(z|s) \| p(z)\right)

  • 第1項:z が与えられたときの報酬の対数尤度を最大化(=高い報酬をもたらす z を好む)
  • 第2項:KLダイバージェンスqψ(zs)q_\psi(z|s) が事前分布 p(z)p(z)(例:標準正規分布)から離れすぎないように正則化。
  • β\beta:トレードオフパラメータ(探索の多様性と報酬最大化のバランス)。

(2) 報酬モデルの近似

実際には p(rs,a,z)p(r | s, \mathbf{a}, z) を直接モデル化するのは難しいため、Q値のTD誤差を報酬の対数尤度の代理として用います:

logp(rs,a,z)(r+γmaxaQtot(s,a,z)Qtot(s,a,z))2\log p(r | s, \mathbf{a}, z) \propto -\left(r + \gamma \max_{\mathbf{a}'} Q_{tot}(s', \mathbf{a}', z) - Q_{tot}(s, \mathbf{a}, z)\right)^2

したがって、ELBOの第1項は実装上はQMIXのTD誤差を最小化することに対応します。

5. 学習アルゴリズムの概要

(1) サンプリング

  • 各エピソード開始時に、状態 ss から z をサンプリング:zqψ(zs)z \sim q_\psi(z | s)
  • エピソード中は同じ z を使い続け、一貫した探索戦略を取ります。

(2) パラメータ更新

  • QネットワークとMixing Network(ϕ\phi:TD誤差を最小化

    LTD=Ezqψ[(r+γmaxaQtot(s,a,z)Qtot(s,a,z))2]\mathcal{L}_{TD} = \mathbb{E}_{z \sim q_\psi}\left[\left(r + \gamma \max_{\mathbf{a}'} Q_{tot}(s', \mathbf{a}', z) - Q_{tot}(s, \mathbf{a}, z)\right)^2\right]

  • 変分分布 qψ(zs)q_\psi(z|s)ψ\psi:ELBOを最大化

    LELBO=Ezqψ[LTD]βDKL(qψ(zs)p(z))\mathcal{L}_{ELBO} = \mathbb{E}_{z \sim q_\psi}\left[-\mathcal{L}_{TD}\right] - \beta \cdot D_{KL}\left(q_\psi(z|s) \| p(z)\right)

(3) 再パラメータ化トリック

  • qψ(zs)q_\psi(z|s) をガウス分布と仮定し、再パラメータ化トリックを用いて勾配を計算します:

    z=μψ(s)+σψ(s)ϵ,ϵN(0,I)z = \mu_\psi(s) + \sigma_\psi(s) \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)

6. MAVENの効果

  • 探索の多様性:z の分布が多様になるため、チーム全体としてさまざまな探索戦略を試せる。
  • 協調的な探索:z によって一貫した協調行動パターンが学習される(例:z=0で両方が積極的、z=1で片方が待機)。
  • 局所解からの脱出:単一の探索戦略では陥りやすい局所解から、z を変えることで脱出しやすい。

例題:グリッドワールド上の協調収集タスク

MAVEN実装の練習とするため、簡単な協調学習が必要となる例題を解いてみます。 以下は、相手の位置(座標)を状態として含み、協調行動でより良い報酬が得られるマルチエージェント例題です。

環境設定

  • グリッドサイズ:3×3(例)
  • エージェント数:2(Agent 1, Agent 2)
  • 各エージェントの状態:自分の座標 (x, y)相手の座標 (x_other, y_other)
  • 行動空間:{上, 下, 左, 右, 待機} の5つ
  • 報酬:
    • 通常の移動:0
    • 資源の収集:+1(単独)
    • 協調収集:+2(両方が同時に資源に隣接)

資源の配置

  • グリッド上に「資源」が1つ固定で存在(例:中央 (1,1)
  • 資源は1ステップで消滅し、次のステップで再出現(常に同じ位置)

報酬ルール

  1. 単独収集

    • どちらか一方のエージェントが資源マスに隣接(上下左右)し、収集行動を取ると報酬 +1。
    • 例:Agent 1 が (0,1) にいて (1,1) に移動し、収集行動を取る → +1。
  2. 協調収集

    • 両エージェントが同じステップで資源マスに隣接し、両方が 収集行動を取ると報酬 +2(各エージェントに +2)。
    • 例:
      • Agent 1 が (0,1)、Agent 2 が (2,1) にいる
      • 両方が 収集行動を取る(Agent 1 は右、Agent 2 は左で資源に隣接)
      • → 各エージェントに +2
  3. 衝突ペナルティ

    • 同じマスに移動しようとすると衝突し、報酬 -0.1(軽いペナルティ)

タスクの目的

  • 各エージェントは、自分の位置と相手の位置を観測し、
    • 単独で資源を取るか
    • 相手と協調して同時に資源を取るか を判断しながら、累積報酬を最大化する。

環境コード、学習コードは以下レポジトリに保管しました。

https://github.com/Shinichi0713/Reinforce-Learning-Study/tree/main/miulti-agent/src/exe-5/maven

この問題は中央のマスの横にお互いに一緒に隣接した時に報酬を大きくするようにしています。

エージェント未学習

以下の絵のように協調した動作は行いません。

エージェント学習後

以下の絵のように中央のマスに同時に移動して、資源採集を一緒に行うようになります。想定した結果が得られました。

総括

  • MAVEの基本アイデアはQMIX。
  • マルチエージェントの問題で課題となる、複数エージェントの状態量が複雑になってしまうという課題を潜在空間を用いて解決。
  • 潜在空間が探索領域を代表することで探索に強くなる。(座標は違っても、"あっ、これは前のあのシチュエーションとおなじだ"というような)

今回調べてMAVENでQMIXでは解けなかった問題にMAVENを適用していきます。探索不足という課題に対しては十分な解決法となると期待しています。

関連記事

yoshishinnze.hatenablog.com