マルコフゲーム入門
強化学習若手の会 Advent Calendar 2021 20日目
1. マルコフゲームって?
通常の強化学習では、エージェントは一人しかおらず、世界は固定されています。 遷移確率Pは変化しません。 この設定では、エージェントは例えば期待割引報酬和 を最大化するような方策を学習します。
一方で、学習するエージェントがいくつかいる場合はどうでしょうか? すると、エージェントがもらえる期待報酬和は他のエージェントの方策に依存してしまいます。 では、を最大化すればいいのかというと、必ずしもそうではありません。 利害関係が対立する場合があるからです。 このような場合に対し、どのように学習の目標を設計し、また実際に学習することができるのでしょうか?
このブログでは、このようなマルチエージェント設定での学習を扱うフレームワークの一つであるマルコフゲームに注目し、その性質について概観します。特に、
- MDPにおける価値関数の基本定理のナッシュ均衡解への拡張
- Hannan consistent
- 協力ゲームの一般化であるMarkov Potential GameとそのMDPへの帰着 について扱います。 論文については適宜ポインタを示しますが、以下の2つの論文/ブログ記事については広範に参照しています。
- Multi-Agent Reinforcement Learning: A Selective Overview of Theories and Algorithms
- Recent Progresses in Multi-Agent RL Theory
MDPについての説明はアルバータ大学の講義資料およびその日本語訳を参照しています。
なお、このブログは自分が勉強用に書いたものなので、やや不親切な記述があるかと思いますが、ご了承願います。
2. マルコフ決定過程と基本定理
マルコフゲームの説明に入る前に、一人で学習する設定であるマルコフ決定過程 (Markov Decision Process, 以後MDPと呼ぶ)を使って、少しウォーミングアップしましょう。
定義1: MDP
MDP は、以下から成る。
- (有限)状態集合
- (有限)行動集合
- 状態遷移確率
- は上の確率分布の空間(確率単体)
- 状態で行動をとったときに遷移する確率をと書く
- 報酬関数
- 状態で行動をもらえる即時報酬をと書く
- 割引報酬率
- 初期状態分布
いま、エージェントとして、「記憶のない」方策を考え、により状態で行動をとる確率を表記します。 ある方策を固定したとき、エージェントがもらう報酬の期待値を以下のように書きます。
定義2: 状態価値関数 ・状態行動価値関数 ・期待リターン
$$ \begin{align*} V^\pi(s) &= \mathbb{E}_{\pi} \left[\sum_{t = 0} ^\infty \gamma^t r(S_t, A_t)\right] \\ &= \sum_{a \in \mathcal{A}} \pi(a|s)\left(r(s, a) + \gamma \sum_{s'\in\mathcal{S}} P(s'|s,a) V^\pi(s)\right) \\ Q^\pi(s, a) &= r(s, a) + \gamma \sum_{s' \in \mathcal{S}} P(s'|s,a) V^\pi(s) \\ G^\pi &= \sum_{s \in \mathcal{S}} \mu(s) V^\pi(s) \end{align*} $$ここで、は時刻での状態・行動に対応する確率変数です。 このとき、(割引)報酬和の期待値を最大化することがエージェントの目標であり、その目標を達成する方策を最適方策と書きます。
を求めるための非常に強力な道具がベルマン作用素(Bellman operator)と呼ばれる一連のオペレーターです。
定義3: 方策についてのベルマン演算子
を任意の価値関数とする。このとき、方策に付随するベルマン演算子はをに写像する。は以下のように与えられる。
これだけだとだから何?という感じがしますが、この演算子は一回の適用で真のとの差1が(最大ノルムにおいて)ずつ縮まるという性質を持っているので、 これを繰り返し適用するとを得ることができます。 少しやってみましょう。
を次元のベクトルだとみなすと、最大ノルムの差が縮まります。↩