Link Search Menu Expand Document

16. 方策勾配法

プランニングの最終講義として, 勾配上昇法の適用という形で方策探索を学ぶ. まず, いわゆる方策勾配定理を証明することから始める. 次にシミュレータが存在する場合に, ノイズは大きいが不偏な勾配を推定できる効率的な方法を示す. 勾配上昇法および確率的勾配上昇法(機械学習でよく見られるような損失または目的関数を最小化する場合とは異なり, ここでは報酬を最大化するため, 下降するのではなく目的に対して上昇する)の基礎となる考え方について簡単に議論する. そして,「完全な表現」(方策のクラスに制限がない, 表形式の場合)と完全な勾配情報の存在下でも生じる方策勾配法の限界について見ていく. この限界をモチベーションとして「自然方策勾配法」(NPG)と呼ばれる手法を学んでいこう. そして自然方策勾配とPolitexとの関係を明らかにする. 最後に、NPGとPolitexの結果を比較して, 講義は終了する。

方策勾配定理

固定された MDP $M=(\mathcal{S},\mathcal{A},P,r)$ と割引率$0\le \gamma <1$を考えよう. 前回の講義に引き続き $\theta\in \mathbb{R}^d$ について $\pi_\theta$ を確率的な方策: $\pi_\theta:\mathcal{S}\to \mathcal{M}_1(\mathcal{A})$ とする. さらに, 状態についての固定された分布$\mu \in \mathcal{M}_1(\mathcal{S})$を考えよう. ある方策$\pi:\mathcal{S}\to \mathcal{M}_1(\mathcal{A})$について

\[J(\pi) = \mu v^\pi\]

を$\mu$からランダムに選択された初期状態からスタートしたときの, $M$についての$\pi$の期待価値とする. 方策勾配法は

  • 写像$\theta \mapsto J(\pi_\theta)$が微分可能である場合の十分条件
  • $\frac{d}{dx} M_{\pi_x} q^{\pi_{\theta_0}}$の関数としての勾配のシンプルな表記

の2つを与える. 復習だが, 有限の(もしくは離散の)行動空間において, メモリーレス方策 $\pi$ と関数 $q:\mathbb{R}^{\mathcal{S}\times\mathcal{A}} \to \mathbb{R}$について, $M_{\pi} q$ は状態を実数に写像する関数であり,

\[(M_{\pi} q)(s) = \sum_a \pi(a\vert s) q(s,a)\,.\]

と定義される.

よって, その微分である$\frac{d}{dx} M_{\pi_x} q$はとてもシンプルになる. これは次を満たすような状態を$d$次元ベクトルに写像する関数なのだ

\[\frac{d}{dx} (M_{\pi_x} q)(s) = \sum_a \frac{d}{dx}\pi_x(a\vert s) q(s,a)\,.\]

今回見ていく定理は行動空間が無限の場合や方策が決定的な場合でも適用可能だ. これから見る定理では, 方策 $\pi$ について, $\tilde \nu_\mu^\pi$ が割引された状態の占有率であることを思い出そう. また, 関数 $f$ について, $f’$ をその微分として表記する.


定理 (方策勾配定理): 固定されたMDP $(\mathcal{S},\mathcal{A},P,r)$を考える. $x\in \mathbb{R}^d$について, 写像$f_\pi: x\mapsto \tilde\nu_\mu^\pi M_{\pi_x} q^\pi$ と $g_\pi: x \mapsto \tilde \nu_\mu^{\pi_x} v^\pi$を定義する. さらに, 固定された$\theta_0\in \mathbb{R}^d$を考える. そして, 次の2つの条件の内, 最低でも一つが満足されていると仮定する:

  1. $\theta \mapsto f_{\pi_\theta}’(\theta_0)$ が存在し, $\theta_0$の周りで連続であり, $g_{\pi_{\theta_0}}’(\theta_0)$が存在する;
  2. $\theta \mapsto g_{\pi_\theta}’(\theta_0)$ が存在し, $\theta_0$の周りで連続であり, $f_{\pi_{\theta_0}}’(\theta_0)$が存在する;

このとき, $x\mapsto J(\pi_x)$ は$x=\theta_0$ で微分可能であり,

\[\begin{align} \frac{d}{dx} J(\pi_x)|_{x=\theta_0} &= \frac{d}{dx} \tilde\nu_{\mu}^{\pi_{\theta_0}} M_{\pi_x} q^{\pi_{\theta_0}}|_{x=\theta_0} = \tilde\nu_{\mu}^{\pi_{\theta_0}} \frac{d}{dx} M_{\pi_x} q^{\pi_{\theta_0}}|_{x=\theta_0}\,, \label{eq:pgt} \end{align}\]

が成り立つ. ここで最後の等式は$\mathcal{S}$が有限のとき成立する.


2つ目の主張のために, $\frac{d}{dx} M_{\pi_x} q^{\pi_{\theta_0}}$ を $\mathrm{S}\times d$ 行列としよう. これは関数を”列ベクトル” (したがって $M_{\pi_x} q^{\pi_{\theta_0}}$ は$\mathrm{S}$次元のベクトル)として扱う上で便利だし, また, “ベクトル微分” が”列ベクトル”を形成する観点でも便利である.

上記について, 式中のパラメータに関して微分を動かした2番目の式は, 無限の状態空間において, 何らかの追加的な正則性の仮定が満たされたときのみ成立する。 例えば, \(s\mapsto\|\frac{d}{dx} (M_{\pi_x} q^{\pi_{\theta_0}})(s)|_{x=\theta_0}\|\) が $\tilde\nu_{\mu}^{\pi_{\theta_0}}$-可積分であるという仮定ならOKだ.

上の定理はわかりやすく言えば, 方策のパフォーマンスについての微分が, 方策の行動価値関数を含んだシンプルな微分を積分することで得られる, という主張をしている.

定理での2つの条件の内, 1つ目の条件は比較的簡単に確かめられる. 特に, $x\mapsto f_{\pi_x}$が$x=\theta_0$で連続微分可能であることは簡単に示せる. $x\mapsto g_{\pi_x}$ が $x=\theta_0$ で微分可能であることを示すには, 全微分性の証明を思い出そう. ある関数の偏微分が存在し, その偏微分について連続であれば, 関数は全微分可能であった. ここで, $\tilde \nu_\mu^{\pi_x} v = \sum_{t=0}^\infty \gamma^t \nu P_{\pi_x}^t v$ であり, その(例えば)$x_1$についての微分可能性は$x\mapsto \nu M_{\pi_x} P v$が$x=\theta_0$で連続微分可能であれば成立する. 実質的に, 有限な状態行動空間では, $\theta_0$ での微分可能性は次のときに成り立つ (そして定理の条件も次のときに成立する): 「どの状態行動対$(s,a)$についても, 写像$x\mapsto \pi_x(a|x)$が連続な偏微分を$x=\theta_0$で持っている」

証明: 証明は簡単な計算からスタートする. まず, 価値の差分$v^{\pi_x}-v^{\pi_{\theta_0}}$と等価な式を書き, 右側から$\mu$をかけ, 微分を取って$x=\theta_0$とする.

詳しく見ていこう: $f = f(u,v)$ が次の条件の少なくとも1つを満たすとする:

  1. \(z\mapsto \frac{\partial}{\partial v} f(z,x)\) が存在し, $z=x$の周りで連続であり, \(\frac{\partial}{\partial u} f(u,x)\vert_{u=x}\) が存在する;
  2. \(z\mapsto \frac{\partial}{\partial u} f(x,z)\) が存在し, $z=x$の周りで連続であり, \(\frac{\partial}{\partial v} f(x,v)\vert_{v=x}\) が存在する.

このとき $z \mapsto f(z,z)$ は$z=x$で微分可能であり,

\(\begin{align} \frac{d}{dx} f(x,x) = \frac{\partial}{\partial u} f(x,x) + \frac{\partial}{\partial v} f(x,x)\,. \label{eq:c101} \end{align}\) である (これはCalculus 101で学んだはずだ).

$\pi’,\pi$ を2つのメモリーレス方策とする. 価値の差分は以下の形で書ける:

\[\begin{align*} v^{\pi'}- v^{\pi} & = (I-\gamma P_{\pi'})^{-1} [ T_{\pi'} v^\pi - v^\pi] \\ & = (I-\gamma P_{\pi'})^{-1} [ M_{\pi'} q^\pi - v^\pi]\,, \end{align*}\]

ここで, 最後の等式は$T_{\pi’} v^\pi = M_{\pi’} (r+\gamma P v^\pi) = M_{\pi’} q^{\pi}$を使った. $\pi’ = \pi_x$, $\pi = \pi_{\theta_0}$ とし, 価値差分に左から$\mu$をかけると,

\[\begin{align} \mu( v^{\pi_x}- v^{\pi_{\theta_0}}) = \tilde \nu_\mu^{\pi_x} [ M_{\pi_x}q^{\pi_{\theta_0}} - v^{\pi_{\theta_0}}]\,. \label{eq:vdi2} \end{align}\]

を得る.

右辺の第一項に目を向けよう.

\(\begin{align} f(u,v) = \tilde \nu_\mu^{\pi_u} M_{\pi_v}q^{\pi_{\theta_0}}\,. \label{eq:fdef} \end{align}\) とする.

$f$ が$(x,x)$の周りで十分正則化されているならば?(後で議論する), \eqref{eq:c101} は以下を与える:

\[\begin{align*} \frac{d}{dx} f(x,x) = \frac{d}{du} \tilde \nu_\mu^{\pi_u} M_{\pi_x}q^{\pi_{\theta_0}}|_{u=x} + \frac{d}{dv} \tilde \nu_\mu^{\pi_x} M_{\pi_v}q^{\pi_{\theta_0}}|_{v=x} \end{align*}\]

\eqref{eq:vdi2} の両辺を$x$について微分を取り, 上の表記を使えば, 以下を得る:

\[\begin{align*} \frac{d}{dx} J(x) = \frac{d}{dx} \mu( v^{\pi_x}- v^{\pi_{\theta_0}}) = \frac{d}{du} \tilde \nu_\mu^{\pi_u} M_{\pi_x}q^{\pi_{\theta_0}}|_{u=x} + \frac{d}{dv} \tilde \nu_\mu^{\pi_x} M_{\pi_v}q^{\pi_{\theta_0}}|_{v=x} + \frac{d}{dx} \tilde \nu_\mu^{\pi_x} v^{\pi_{\theta_0}}\,. \end{align*}\]

$x = \theta_0$としよう. このとき, $M_{\pi_x}q^{\pi_{\theta_0}} = M_{\pi_{\theta_0}}q^{\pi_{\theta_0}} = v^{\pi_{\theta_0}}$である. よって, 上述の第一項と第三項は打ち消し合い,

\(\begin{align*} \frac{d}{dx} J(\pi_x)|_{x=\theta_0} = \frac{d}{dv} \tilde \nu_\mu^{\pi_{\theta_0}} M_{\pi_v} q^{\pi_{\theta_0}}|_{v=\theta_0}\,. \end{align*}\) を得る.

最後に, \eqref{eq:c101}を\eqref{eq:fdef}の$f$に適用する条件は$f_\pi$ と$g_\pi$についての仮定で満足されている. 以上で証明は終わりだ. \(\qquad \blacksquare\)

行動空間が離散で$\pi_\theta$が確率的な方策のとき, 上で得たものを更に変形できる. つまり,

\[\begin{align*} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = \sum_{a} \pi_x(a\vert s) q^{\pi_{\theta_0}}(s,a) \end{align*}\]

であり, 有限な$\mathcal{A}$では,

\[\begin{align} \frac{d}{dx} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = \sum_{a} \frac{d}{dx} \pi_x(a\vert s) q^{\pi_{\theta_0}}(s,a)\,. \label{eq:basicpg} \end{align}\]

である. これは勾配を評価(推定)する基本だが, $\pi_x(a\vert s)>0$の場合にはもう一つの選択肢が存在する. この場合, 連鎖律から

\[\begin{align*} \frac{d}{dx} \log \pi_x(a\vert s) = \frac{\frac{d}{dx} \pi_x(a\vert s)}{\pi_x(a\vert s)}\,. \end{align*}\]

である. これを\eqref{eq:basicpg}で使うと,

\[\begin{align} \frac{d}{dx} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = \sum_{a} \pi_x(a\vert s) \left(\frac{d}{dx} \log \pi_x(a\vert s)\right) q^{\pi_{\theta_0}}(s,a)\,, \label{eq:basicpga} \end{align}\]

となるが, これは嬉しい性質を持っている. これは行動価値関数に相関する方策マップのスコア関数?を行動について期待値を取った形になっているのだ.

次に行く前に, 上で $q^{\pi_{\theta_0}}(s,a)$ を $\theta_0$ や $s$ に依存するが $a$ には依存しない任意の定数でシフトしても, 等価な式が得られることを指摘しておこう. 実際, $\sum_a \pi_x(a\vert s) b(s,\theta_0) = b(s,\theta_0)$より, 両辺を$x$について微分すると$\sum_a \frac{d}{dx}\pi_x(a\vert a) b(s,\theta_0)=0$となる. よって, 次の式も成り立つ.

\[\begin{align} \frac{d}{dx} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = \sum_{a} \pi_x(a\vert s) \left(\frac{d}{dx} \log \pi_x(a\vert s)\right) (q^{\pi_{\theta_0}}(s,a)-b(s,\theta_0))\,. \label{eq:basicpga2} \end{align}\]

このことは, 勾配の評価にシミュレーションを用いる場合に重要になるだろう. 勾配の推定値の分散を小さくするために, 適切な「バイアス」項を使用することができるからだ. シミュレーションの話をする前に, 行動空間が無限大の場合についても触れておく.

行動空間が加算無限である場合は, \eqref{eq:basicpg} が成立しない可能性がある. これを回避する簡単な十分条件は \(\sum_{a} \|\frac{d}{dx} \pi_x(a\vert s)\|\, |q^{\pi_{\theta_0}}(s,a)|\) が加算可能であるか, もしくは, \(\|\frac{d}{dx} \log \pi_x(a\vert s)\|\, |q^{\pi_{\theta_0}}(s,a)|\) が $\pi_x(\cdot\vert s)$-加算/可積分であることだ.

行動空間が非加算無限の場合は, 少し変えれば上の条件が成立する. 大体の場合で, $\pi_\theta(\cdot\vert s)$ は $\mathcal{A}$ 上の測度であり, その微分はベクトルの値を取る測度である. 上の定式化(例えば\eqref{eq:basicpga2}) は, 和の部分を積分に変えれば, $\pi_\theta(\cdot\vert s)$ が$\mathcal{A}$での固定された測度$\lambda$についての密度関数の場合も成立する:

\[\begin{align} \frac{d}{dx} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = \int_{\mathcal{A}} \pi_x(a\vert s) \left(\frac{d}{dx} \log \pi_x(a\vert s)\right) (q^{\pi_{\theta_0}}(s,a)-b(s,\theta_0)) \lambda(da)\,. \label{eq:basicpga3} \end{align}\]

実際, これはより一般的な形なのだ: \eqref{eq:basicpga2} は \eqref{eq:basicpga3} の特別な場合であり, $\lambda$ が$\mathcal{A}$の要素を数える測度の場合に成り立つ.

\(\pi_{\theta}(\cdot\vert s) = \delta_{f_{\theta}(s)}(\cdot)\) ($f_{\theta}(s)$でのディラック関数)の特別な場合, つまり, 方策が決定的であり$f$が$\theta$について微分可能であるときについては, 定理で示した式から始めるのが良いだろう.

この場合は,

\[\begin{align*} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = q^{\pi_{\theta_0}}(s,f_\theta(s)) \end{align*}\]

であるから,

\[\begin{align*} \frac{d}{dx} (M_{\pi_x} q^{\pi_{\theta_0}})(s) = \frac{d}{dx} q^{\pi_{\theta_0}}(s,f_x(s)) \end{align*}\]

よって, $\mathcal{S}$ が有限もしくは適切な正則化条件があるなら,

\[\begin{align*} \frac{d}{dx} J(\pi_x)|_{x=\theta_0} &= \tilde\nu_{\mu}^{\pi_{\theta_0}} \frac{d}{dx} q^{\pi_{\theta_0}}(\cdot,f_x(\cdot))|_{x=\theta_0} \end{align*}\]

である.

$a\mapsto q^{\pi_{\theta_0}}(s,a)$ が微分可能であり, $x\mapsto f_x(s)$ も全ての$s$について$x=\theta_0$で微分可能であるなら

\(\begin{align*} \frac{d}{dx} J(\pi_x)|_{x=\theta_0} &= \tilde\nu_{\mu}^{\pi_{\theta_0}} \frac{\partial}{\partial a} q^{\pi_{\theta_0}}(\cdot,f_{\theta_0}(\cdot)) \frac{d}{dx} f_x(\cdot)|_{x=\theta_0}\,, \end{align*}\) である. これは “決定的方策勾配”として知られている.

勾配法

勾配法の基本的な考え方をおさらいしよう. 勾配法では, 最大化されるべき目的関数の勾配方向に, パラメータ空間内で小さなステップだけ進む. 方策探索の文脈では, 次のような仕組みになる:

$x_i\in \mathbb{R}^d$ を$i$ラウンド目のパラメータベクトルとすれば,

\[x_{i+1} = x_i + \alpha_i \nabla_x J(\pi_x)|_{x=x_i}\,,\]

ここで微分可能な$f$について, $\nabla_x f = (\frac{d}{dx} f)^\top$はその”勾配”である(微分の転地だ). 上の式で, $\alpha_i$は正のチューニングパラメータであり, 更新の”ステップサイズ”と呼ばれる. 関数の向上が期待できる方向を”勾配”が指し示すというわけだ. 実際, 定義から,

\[f(x') =f(x) + f'(x) (x'-x) + o(\|x'-x\|)\]

であり, $x’ = x+ \delta (f’(x))^\top$なら,

\[f( x+ \delta (f'(x))^\top ) = f(x)+\delta \| f'(x)\|_2^2 + o(|\delta|)\,,\]

もしくは

\[\frac{f( x+ \delta (f'(x))^\top ) - f(x)}{\delta} = \| f'(x)\|_2^2 + o(1)\,,\]

である.

$o(1)$ が (絶対値について) $| f’(x)|_2^2$より小さくなるような任意の 十分小さな$\delta$について, 右辺は正になり, 左辺も同様に正になるのだ. この単純な事実が, 膨大な数のアルゴリズムの基礎となっている. 追加の構造がない場合, 定常点の近傍で終了することが勾配法に期待できる. 追加の構造がある場合(例えば, 最大化される関数が凹型の場合), 大域的な最大値への収束が保証される.

どのような場合でも, 勾配法の成功の鍵はステップサイズの適切な選択である. これらの選択は, 勾配の方向に向かうことの有効性を示す上記の単純な議論に基づいている. また, 収束を「早める」方法もある. より洗練された反復(2つの反復が同時に更新されるものだ)を使用すれば, 収束を大幅に早めることができる. こうした勾配法の様々な側面を説明するテキストは世の中に広く存在するので, ここではこれ以上掘り下げることはしない. 巻末で参考文献をいくつか紹介しよう.

ここで注目すべきは, $J$の勾配が容易に入手できないことだ. 次善の策として, $\nabla_x J(\pi_x)$ の推定値 $G$ の構築を試みる. プランニングの設定では, シミュレータを使用してこの勾配の妥当な推定値を得ることができるかどうかが問題となる.

勾配推定

一般的にいうと, 勾配の推定値を出す場合に二種類の誤差が存在する. 一つ目は純粋にランダムなものだが, そしてもう一つはそうではない. $g(x) = \mathbb{E}[G]$と定義すると$b(x)=\nabla_x J(\pi_x) - g(x)$は勾配の推定値のバイアスをはかる事になるが, 一方で$G-g(x)$はノイズである. stepsizeを減少させていく勾配手法は自然にノイズを平均(averaging outの和訳is 何?)にする. これが可能な勾配手法の型は確率的勾配法と呼ばれる. 当然ながら, これらの手法はノイズが大きい時には学習が遅く, 一般的にノイズを平均化させるよりも早く収束させることはできない. 特に, 持続性のあるノイズ(例. 分散がゼロにならないノイズ)では, 確率的勾配法における最良レートは$O(1/\sqrt{t})$である. これはノイズなしで達成しうるよりも遅くなりうるが, もしも反復コストが重要な数量について多項式であるならば, ε>0の定常点を達成するための全体コストはこれらの数量と$1/\varepsilon^2$に多項式でバウンドできる.

勾配推定値がバイアスを持っている時, そのバイアスは総じて勾配法がどれだけ定常点に近づけるかに制限を加える. 一般的にゼロバイアスはノンゼロバイアスよりも好まれるけれども, 勾配($\langle b(x),\nabla_x J(\pi_x) \rangle\ge 0$)に正に沿っているノンゼロバイアスは損なうことはない(再び, 小さいstepsizeで考えている). バイアスが勾配に正に沿っていることを保証する方法がないとき, バイアスの大きさが勾配の大きさよりも比較的小さいことを保証することで制御できるようになるかもしれない.

次の質問はもちろん, 勾配をどうやって推定するのかである. このために多くのアプローチが文献で提案されてきた. シミュレーターが利用可能であれば, 我々の場合と同じく, 率直な方法は方策勾配定理から始めることである. 加えて, mild regularity condition(例えば, 有限個の状態が存在する場合)下では\eqref{eq:pgt}と\eqref{eq:basicpga3}から以下の式が与えられる.

\[\begin{align} \frac{d}{dx} J(\pi_x) = \int_{\mathcal{S}} \tilde \nu_\mu^{\pi_x}(ds) \int_{\mathcal{A}} \pi_x(a\vert s) \left(\frac{d}{dx} \log \pi_x(a\vert s)\right) (q^{\pi_{x}}(s,a)-b(s,x)) \lambda(da)\,. \end{align}\]

ここで \((1-\gamma) {\tilde{\nu}}_{\mu}^{\pi_x}\) は \(\mathcal{S}\) における確率測度であることを述べておく.

\(S_0,A_0,S_1,A_1,\dots\) を \(S_0 \sim \mu\) から始めた方策 \(\pi_x\) をシミュレートすることで得られる状態行動対の無限長系列とする. 特に, 任意の \(t \ge 0\) について \(A_t \sim \pi_x(\cdot|S_t)\) 及び \(S_{t+1}\sim P_{A_t}(S_t)\) .加えて, \(T_1,T_2\) をお互いに独立かつ, 軌跡 \(S_0, A_0,S_1,A_1, \dots\) からも独立であり, パラメータ \(1-\gamma\) の幾何分布を持つと定義する. 続いて

\[G = \frac{1}{1-\gamma} \frac{d}{dx} \log \pi_x(A_{T_1}\vert S_{T_1}) \left(\sum_{t=0}^{T_2-1} r_{A_{T_1+t}}(S_{T_1+t}) -b(S_{T_1},x)\right)\]

はバイアスのない$\frac{d}{dx} J(\pi_x)$の推定値である.:

\[\mathbb{E}[G] = \frac{d}{dx} J(\pi_x)\,.\]

これを示すための議論は以前にLecture 8で部分的に与えている. $G$を取得するための労力の期待値が$O(\frac{1}{1-\gamma})$であることを示すのと同様に$G$が有限の共分散行列を持つことを示せる.

Vanilla policy gradients (PG) with some special policy classes

過去の講義で示された厳密な結果を考慮すると, 方策のクラスに依存しない方法で方策探索を行う場合に目的関数の大域的最適解を見つけられるような勾配手法あるいは任意の他の手法は存在しない. 計算効率を保証するために,

1.大域的最適解に収束することを諦める, または 2.一般性を諦める. 例えば, ある方策のクラスあるいは方策のパラメータ化においては機能しないことを許容する.

良い方策を見つけるための勾配上昇法(“普通の方策勾配法”)はこれらの制限に直面した際にでもとりうる方法の一つである. 実際には, いくつかのケースにおける勾配上昇法は大域的最適解を見つけるだろう.

とりわけ, 十分に小さいstepsizeの勾配上昇法は大域解へ合理的な速度で収束することが広く知られている. ここでは二つの条件を保持しているとする.

  1. 目的関数$f$がsmoothであること(その導関数はリプシッツ連続である)
  2. 目的関数がgradient dominated(例. ある定数$c>0$, $p \ge 1$が存在して, fが任意の$x’\in \mathbb{R}^d$について\(\sup_x f(x)-f(x')\le c \| f'(x') \|_2^p\)を満たす.)

これらの条件の両方が満たされている例の一つはdirect policy parameterizationであり, これは任意の圧縮は許容されずそれ自体は役に立たないが, 方策勾配がどの程度押し出されることができるかを見るためのテストケースを提供できる.

この場合, パラメータベクトル$\theta$は$\mathrm{S}\mathrm{A}$次元である. “二次元配列”を許容することで, $\pi_{\theta}(a\vert s)=\theta_{s,a}$, すなわち, パラメータが行動選択確率を直接埋め込む事になる. この場合, $\theta$の要素が確率を表現するため, その値は非負であり適切な要素では合計した値が1になっている必要がある. したがって, 許容される要素の集合 $\Theta \subset [0,1]^{\mathrm{S}\mathrm{A}}$について$\theta\in \Theta$ である必要がある. よって, 勾配上昇法を変化させる必要がある.

これは以下のようになされる:提案された更新がパラメータベクトルを$\Theta$の外に動かす場合, 提案された更新パラメータベクトルは$\Theta$に”逆投影”される. 投影についてはたくさんの合理的な選択肢があり, 標準的なユークリッド距離における近傍の点で$\Theta$に入るものを選ぶような方法がある. この変形により, 勾配上昇法はこの場合には合理的な速度で収束していくことを示すことができる. これはテーブル形式で作られた手法(方策反復, 価値反復)に相当する. 実際に, このアルゴリズムは”よりsmoothである”, 方策反復の漸進的なバージョンとみなすことができる. このアルゴリズムは個別の行動に対する確率を徐々に調整していく. i番目の方策を示すために \(\pi_i\) を用いると, 方策勾配定理から以下の式が得られる.

\[\tilde \pi_{i+1}(a\vert s ) = \pi_i(a\vert s) + \alpha_i \tilde \nu_\mu^{\pi_i}(s) q^{\pi_i}(s,a) \,,\]

そして

\[\pi_{i+1}(\cdot\vert s) = \arg\min_{p\in \mathcal{M}_1(\mathcal{A})} \| p - \pi_{i+1}(\cdot\vert s) \|_2, \qquad s\in \mathcal{S}\,.\]

したがって, ある状態における行動の確率は状態の価値に比例して増加する.

状態$s$における行動$a$の行動価値は$\mu$から始まり方策πを用いることで挿入される状態sの割引付き占有率が掛け算されるということは少し驚きである. 特に, もしもある状態が方策$\pi_i$の下で到達できない場合は, 相当する確率は更新されない. 実際に, このために上の反復は準最適方策に行き詰まるかもしれない.(The reader is invited to construct an example when this holds. :訳がわからんかった) これを防ぐためには, 以下を満たすような定数$C>0$ が存在すれば十分であるとわかる.

\[\begin{align} \tilde \nu_\mu^{\pi^*}(s)\ge C \mu(s)\,, \qquad \text{for all } s\in \mathcal{S}\,, \label{eq:exploinit} \end{align}\]

ここでは\(\pi^*\)は最適方策であるとする. $\mu$は両辺に出現し, 最適方策\(\pi^*\)は未知であるため, この条件は役に立たないように見える. ところが, $\mu$があらゆる場所で正であるように選べば, この条件ははっきりと満たされる. 任意のケースで, \eqref{eq:exploinit}が満たされる場合, gradient dominanceとsmoothnessの両方が保証できる. これは次に上記の更新が幾何学的速度で収束することを示唆しており, 幾何学的速度は$H_\gamma = 1/(1-\gamma)$や状態行動空間のサイズに関する多項式バウンドを持たないinstance dependent constantを含む. いうまでもなくこれは非常によろしくない.

方策勾配法は方策がどのようにパラメータ化されるかに敏感になりうる. 説明のために, “テーブル形式”をまた考慮して, メモリーレス方策が表現される方法だけを今から変更させよう. 一つ目の可能性はボルツマンを使うことであり, これはソフトマックス表現としてもしられる. この場合, $\theta\in \mathbb{R}^{\mathcal{S}\times \mathcal{A}}$であり, そして以下の式が得られる.

\[\begin{align*} \pi_{\theta}(a\vert s) = \frac{\exp( \theta_{s,a})}{ \sum_{a'} \exp( \theta_{s,a'})}\,, \qquad (s,a)\in \mathcal{S}\times\mathcal{A}\,. \end{align*}\]

素直に計算すると以下の式が得られる.

\[\begin{align*} \frac{\partial}{\partial \theta_{s,a}} \log \pi_\theta( a'\vert s' ) = \mathbb{I}(s=s',a=a') - \pi_{\theta}(a\vert s) \mathbb{I}(s=s') \end{align*}\]

したがって

\[\begin{align*} \frac{\partial}{\partial\theta_{(s,a)}} J(\pi_{\theta}) & = \sum_{s'} \tilde \nu_\mu^{\pi_\theta}(s') \sum_{a'}\pi_\theta(a'\vert s) \frac{\partial}{\partial \theta_{s,a}} \log \pi_\theta( a'\vert s' ) q^{\pi_\theta}(s',a')\\ & = \nu_\mu^{\pi_\theta}(s,a) \left( q^{\pi_\theta}(s,a)-v^{\pi_\theta}(s) \right)\,, \end{align*}\]

ここで$\nu_\mu^{\pi}$が初期状態分布が$\mu$で方策$\pi$の状態行動についての割引付き状態占有率であることを思い出そう. 右辺の式のカッコ内の差分は行動$a$のアドバンテージとして知られており. したがって以下の関数が得られる.

\[\mathfrak{a}^{\pi} = q^\pi-v^\pi\,,\]

これは状態行動対から実数へ写像する関数であり, 方策$\pi$におけるアドバンテージ関数と呼ばれる. この学術用語を正当化するために, 方策反復法が各状態で”アドバンテージ”を最大化する行動を選ぶものであるとみなせることを述べておく. したがって, 行動分布内の“確率質量”がより大きなアドバンテージを持つ行動の方にシフトすると方策がより良くなることを期待する. アドバンテージ(上記で定義した)は負にもなりうるし, 実際に方策が最適であれば全ての行動は非負のアドバンテージのみを持つことになるということを述べておく.

この勾配上昇法の則は以下の式でかける

\[\theta_{i+1} = \theta_i + \alpha_i \nu_\mu^{\pi_{\theta_i}} \circ \mathfrak{a}^{\pi_{\theta_i}}\,,\]

ここで$\circ$はアダマール積を示す. これは以前の更新と似ているが, パラメータの意味は大きく異なる. 実際に, あるパラメータが上昇することだけで, 必ずしも対応する行動の確率の増加を意味しない. これはもしもこのパラメータの増加が”同じ状態”で他のパラメータの増加を超えた場合にのみ発生する. $\pi_i = \pi_{\theta_i}$という形で少し略記すると, 以下の式が得られる.

\[\begin{align} \pi_{i+1}(a\vert s) \propto \pi_i(a\vert s) \exp( \alpha_i \nu_\mu^{\pi_i}(s,a) \mathfrak{a}^{\pi_i}(s,a))\,. \label{eq:softmaxtab} \end{align}\]

過去の更新規則と同様に, 占有率が更新に”重み付け”しているとみれる. これは必ずしも役に立つとは限らず, それどころか再び任意の方策勾配法について話すことになる. そしてこれは最適方策を見つけるための方策勾配法を完全に停止させることはないが, またしても, その速度が幾何学的である, けれども以前と同じく, アルゴリズムは関連する数量に多項式時間より多くかかる. この証明なしで与えたこの定理では$H_\gamma = 1/(1-\gamma)$であることを思い出そう.


Theorem (PG is slow with Boltzmann policies): ある普遍定数$\gamma_0,c,C>0$が存在する. 全ての$\gamma_0<\gamma<1$について, $\mathrm{S}>C H_\gamma^6$であれば$\mathrm{S}$の状態と$3$の行動を持つ割引付きMDPを見つけることができる. このMDPでは$\mu$を一様分布, $\pi_0$が一様なランダム方策になるようにパラメータを初期化する, さらにsoftmax PGを定数のステップサイズ$\alpha>0$で適用すると, 少なくとも

\[\frac{c}{\alpha} \mathrm{S}^{2^{\Omega({H_\gamma})}}\]

回の操作を必要とする.


圧縮なしで選択されたプランナーが合理的に振る舞うことを期待したので, この結果は普通の方策勾配法を締め出す.

自然方策勾配法 (Natural Policy Gradient (NPG) methods)

実のところ,勾配上昇法には,収束するスピードが使用するパラメトライゼーションに強く依存するという非常に不満足な性質がある. 同じ方策クラスであっても,選択されたパラメトライゼーションによって,多くの可能な「勾配方向」が存在するのである. あるパラメトライゼーションにとっての勾配方向が,別のパラメトライぜーションにとっての勾配方向であるとは限らない. しかし,これらの方向に沿って無限小のステップを進めば,目的関数を上昇させることが保障されていることは共通である. 実際,あるパラメトライゼーションで得られた方向が,他のパラメトライゼーションでどのような方向を与えるか見ることもできる. 幾らかの秩序を得るために,これらの方向性全てを直接的なパラメトライゼーションに対応する空間に変換することを考える. ある適切なパラメトライゼーションを考えることで,全ての可能な方向がそのパラメトライゼーションの勾配方向から90度以内に収まることを示すのは,そう難しくない.

より一般に,パラメトライゼーションに関わらず,勾配方向から90度以内の全ての方向は上昇方向となる. このことは,ステップサイズ $\alpha_i$ をスカラー値から行列 $A_i$ に変更することを動機づける. 明らかに,元の勾配方向 $g$ と変換後の方向 $A_i g$ の間の角度を90度以下にするためには,$g^\top A_i g\ge 0$ が成立する必要がある. $A_i$ が対称行列の場合,これは「ステップサイズ」行列の集合を正定値行列の集合に制限する(それでも大きな集合である).

ステップサイズ行列を選択する方法は数多くある. ニュートン法 は,関数をその局所的な二次近似で置き換えた場合に,方向が「最善」になるように選ぶ. これは,目的関数が “ill-conditioned” である場合に,反復回数を減らすために明らかに役立つが,全てのステップサイズ行列法は反復ごとに追加のコストを導入するため,多くの場合,利益が相殺される.

もう一つのアイデアは,分布問題を扱うことの多い統計的な問題から来るもので,距離が相対エントロピーによって計測される分布の空間において,最急降下法を直接使った場合に得られる方向と一致する更新方向を見つけることである. 単なる経験的な証拠しかないが,「自然方策勾配」と呼ばれるこの方法の方が,良い結果をもたらすケースもある.

結局のところ,このアプローチで使用するステップサイズ行列は,いわゆるフィッシャー情報行列の(擬似)逆行列である. 我々の文脈では,全ての状態に対して,行動上の分布がある. 状態 $s$ を固定すると,フィッシャー情報行列は次のようになる.

\[F_x(s) = \frac{d}{dx} \log \pi_x(\cdot\vert s)\, \frac{d}{dx} \log \pi_x(\cdot\vert s)^\top\,.\]

状態に対する「情報レート(翻訳?)」を得るために,これらの行列を合計し,$\mu$ and $\pi_x$ の下にある割引状態占有率(翻訳?)で重み付けすると,次のようになる.

\[F(x) := \nu_\mu^{\pi_x} F_x \,.\]

更新則は次のような形になる.

\[x_{i+1} = x_i + \alpha_i F(x_i)^{\dagger} \nabla_x J(\pi_x)\,,\]

ここで,正方行列 $A$ に対して,$A^{\dagger}$ は $A$ の擬似逆行列である. 興味深いことに,$F$ を計算して逆行列を計算することなく,更新方向を得ることができる.


Proposition: 以下が成り立つ.

\[\begin{align*} (1-\gamma) F(x)^{\dagger} \nabla_x J(\pi_x) = \arg\min_{w\in \mathbb{R}^d} \nu_\mu^{\pi_x} \left( w^\top \nabla_x \log \pi_x(\cdot\vert \cdot)- \mathfrak{a}^{\pi_x}\right)^2\,, \end{align*}\]

ただし, $\mathfrak{a}^{\pi_x} =q^{\pi_x}-v^{\pi_x}$ であり,$\arg\min$ は複数の最小解がある時, \(\|\cdot\|_2\)-ノルムが最小になるものを選ぶ.


Proof: 最小二乗問題の解を与える公式を思い出すだけで良い. 詳細は読者に任せる. \(\qquad \blacksquare\)

物事がどのように見えるかの例として, $\pi_x$ がボルツマン方策の形を取る場合を考える.

\[\pi_x(a\vert s) \propto \exp(x^\top \phi(s,a))\,,\]

ただし, $\phi:\mathcal{S}\times \mathcal{A}\to \mathbb{R}^d$ は特徴マップである. ここで,高々加算個の行動が存在すると仮定する.

\[\nabla_x \log \pi_x(a\vert s) = \underbrace{\phi(s,a)- \sum_{a'} \pi_x(a'\vert s) \phi(s,a')}_{\psi_x(s,a)}\,.\]

この時,自然方策勾配法の更新式は以下のような形をとる.

\[x_{i+1} = x_i + \alpha_i w_i\,,\]

ただし,

\[w_i = \arg\min_{w\in \mathbb{R}^d} \nu_\mu^{\pi_x} \left( w^\top \psi_x - \mathfrak{a}^{\pi_{x_i}}\right)^2.\]

テーブル形式の場合, $(d=\mathrm{S}\mathrm{A}$, 圧縮なし),

\[w_i(s,a) = \mathfrak{a}^{\pi_{x_i}}(s,a)\]

であり,

\[\pi_{i+1}(a\vert s) \propto \pi_i(a\vert s) \exp( \alpha_i \mathfrak{a}^{\pi_i}(s,a) ) = \pi_i(a\vert s) \exp( \alpha_i q^{\pi_i}(s,a) )\,.\]

この更新規則では,以前見た $\nu_\mu^{\pi_i}(s,a)$ の項を削除していることに注意 (cf. \eqref{eq:softmaxtab}).

NPGはリーズナブルな更新速度を保つことが知られており,これにより計画時間が完全に多項式となる. これは期待が持てる. なお,テーブル形式ではない場合,同様の結果は存在しない.

なお,上の $\psi_x$ を $\phi$ に,$a^{\pi_x}$ を $q^{\pi_x}$ に置き換えて,$w_i$ の定義を(任意に)変更すると,文献上Q-NPGと呼ばれているものが得られる.

\[w_i = \arg\min_{w\in \mathbb{R}^d} \nu_\mu^{\pi_x} \left( w^\top \phi - q^{\pi_x}\right)^2\,.\]

なお,Q-NPGとPolitexの唯一の違いは,Politexでは以下を用いていることである.

\[w_i = \arg\min_{w\in \mathbb{R}^d} \hat \nu \left( w^\top \phi - q^{\pi_x}\right)^2\,,\]

ただし, $ \hat \nu$ はG-最適計画問題を解いて得られた計量である.

Q-NPGにおいて,$\hat \nu$ を用いず $\nu_\mu^{\pi_x}$ を用いた代償として,Q-NPGの近似誤差は次のようになる.

\[\frac{C\varepsilon}{(1-\gamma)^{1.5}}\]

ただし,

\[C = \left\| \frac{d\tilde\nu_\mu^{\pi^*} }{d\mu} \right\|_\infty\]

は 分布 $\mu$ から最適方策 $\pi^*$ に従った時に得られる分布と $\mu$ がどの程度異なるかについての上界を与える. 先に論じたように,方策勾配法が局所解に「嵌らない」ためには, $C$ が有限であることが必要である. しかし,$C$ は有限状態行動MDPであっても任意に大きくなりうる. 実際,$C$ の存在が直接パラメトライゼーションによる方策勾配法を遅いアルゴリズムにしているのである.

対照的に, Politexにおける同じ量は以下で表される.

\[\frac{\sqrt{d}\varepsilon}{1-\gamma}\,.\]

制御不能な定数 $C$ が取り除かれただけでなく,プランニングホライズンへの依存性も改善された. これらの違いを除けば,Q-NPGの結果はPolitexと同様であり,実際,結果を得るための証明方法も同じである.

式101の結果の証明

完全性のために,ここに \eqref{eq:c101} の証明を示す. 証明のために,関数 $g:\mathbb{R}^d \to \mathbb{R}$, $\frac{d}{dx} g(x_0)$ は以下を満たす唯一の線形オペレータ(ユークリッド空間の場合,行ベクトル)であることを思い出して欲しい.

\[\begin{align*} g(x)=g(x_0)+\frac{d}{dx} g(x_0) (x-x_0) + o( \|x-x_0\|) \text{ as } x\to x_0\,. \end{align*}\]

従って,次のことを示せば十分である.

\[\begin{align*} f(x',x') = f(x,x) + \left( \frac{\partial}{\partial u} f(u,x)\vert_{u=x} + \frac{\partial}{\partial v} f(x,v)\vert_{v=x} \right) (x'-x) + o( \|x'-x\|)\,. \end{align*}\]

散らかりを抑えるために, $\frac{\partial}{\partial u} f(u,x)\vert_{u=x’}$ を $\frac{\partial}{\partial u} f(x’,x)$ と書く (同様に,$\frac{\partial}{\partial v} f(x,v)\vert_{v=x’}$ を $\frac{\partial}{\partial v} f(x,x’)$ と書く).

定義より,

\[\begin{align*} f(x',x') = f(x',x) + \frac{\partial}{\partial v} f(x',x) (x'-x) + o( \| x'-x\| ) \end{align*}\]

また

\[\begin{align*} f(x',x) = f(x,x) + \frac{\partial}{\partial u} f(x,x) (x'-x) + o( \| x'-x\| )\,. \end{align*}\]

これらを組み合わせて,

\[\begin{align*} f(x',x') & = f(x,x) + \left( \frac{\partial}{\partial v} f(x',x) + \frac{\partial}{\partial u} f(x,x) \right) (x'-x) + o( \|x'-x\|) \\ & = f(x,x) + \left( \frac{\partial}{\partial v} f(x,x) + \frac{\partial}{\partial u} f(x,x) \right) (x'-x) \\ & \qquad\qquad\,\,+ \left( \frac{\partial}{\partial v} f(x',x) - \frac{\partial}{\partial v} f(x,x)\right) (x'-x) + o( \|x'-x\|) \\ & = f(x,x) + \left( \frac{\partial}{\partial v} f(x,x) + \frac{\partial}{\partial u} f(x,x) \right) (x'-x) + o( \|x'-x\|) \,. \end{align*}\]

ここで,最後の等式は $x’\to x$ で $\frac{\partial}{\partial v} f(x’,x) - \frac{\partial}{\partial v} f(x,x) = o(1)$ である時成り立つ. すなわち,$x’=x$ で $x’\mapsto \frac{\partial}{\partial v} f(x’,x)$ が連続である時である.

類似の議論によって, $x’=x$ で $x’\mapsto \frac{\partial}{\partial u} f(x,x’)$ が連続であるという過程のもと,上記の結果は同様に成り立つ. \(\qquad \blacksquare\)

まとめ

方策勾配法は依然として非常に人気があり,方策集合の中を直接探索するというアイデアは魅力的ではあるが,現時点では理論的な裏付けがないばかりか,理論的な結果から,方策勾配法が代替案と競合するような設定を見つけることは困難であると思われる. 少なくとも,方策勾配法では方策のパラメトライゼーションを慎重に選択する必要があり,その場合でも,上で見たように,効率と効果を保証するために更新ルールを変更する必要があるかもしれない. アルゴリズム設計のアプローチとして,方策勾配法の主な利点は,一般性と様々なソフトウェアライブラリによる強力なサポートだろう. 通常の「動的計画」法と比較すると,より小さく,漸進的に方策を更新することができ,これは有用なように思われる. しかしこれは,Politexのように「上界最小化」によって導き出された方法でも達成されている. これは,勾配に従うよりもアドホックに見えるかもしれないが,実際には,勾配に従う方が良い性能を保証できないので,よりアドホックであると主張することができるだろう. しかし,ここで最も重要なことは,ある手法がどのように導かれたか,あるいはどのような「解釈」をするか(Politexは勾配アルゴリズムか?これは重要か?)については,あまり気にしない方が良いということであろう. 重要なのは結果である:この場合,その方法がどのくらいの性能を発揮するかである. 現在のアルゴリズムには性能を向上させる余地が多く残されているため,あらゆる可能性のあるアルゴリズム設計の方法について学ぶことが賢明である.

Notes

TBA

References

  • Sutton, R. S., McAllester, D. A., Singh, S. P., and Man-sour, Y. (1999). Policy gradient methods for reinforce-ment learning with function approximation. InNeuralInformation Processing Systems 12, pages 1057–1063.
  • Silver, David, Guy Lever, Nicolas Heess, Thomas Degris, Daan Wierstra, and Martin Riedmiller. 2014. “Deterministic Policy Gradient Algorithms.” In ICML. http://hal.inria.fr/hal-00938992/.
  • Bhandari, Jalaj, and Daniel Russo. 2019. “Global Optimality Guarantees For Policy Gradient Methods,” June. https://arxiv.org/abs/1906.01786v1.
  • Agarwal, Alekh, Sham M. Kakade, Jason D. Lee, and Gaurav Mahajan. 2019. “On the Theory of Policy Gradient Methods: Optimality, Approximation, and Distribution Shift.” arXiv [cs.LG]. arXiv. http://arxiv.org/abs/1908.00261.
  • Mei, Jincheng, Chenjun Xiao, Csaba Szepesvari, and Dale Schuurmans. 2020. “On the Global Convergence Rates of Softmax Policy Gradient Methods.” arXiv [cs.LG]. arXiv. http://arxiv.org/abs/2005.06392.
  • Zhang, Junyu, Alec Koppel, Amrit Singh Bedi, Csaba Szepesvari, and Mengdi Wang. 2020. “Variational Policy Gradient Method for Reinforcement Learning with General Utilities.” arXiv [cs.LG]. arXiv. http://arxiv.org/abs/2007.02151.
  • Bhandari, Jalaj, and Daniel Russo. 2020. “A Note on the Linear Convergence of Policy Gradient Methods.” arXiv [cs.LG]. arXiv. http://arxiv.org/abs/2007.11120.
  • Chung, Wesley, Valentin Thomas, Marlos C. Machado, and Nicolas Le Roux. 2020. “Beyond Variance Reduction: Understanding the True Impact of Baselines on Policy Optimization.” arXiv [cs.LG]. arXiv. http://arxiv.org/abs/2008.13773.
  • Li, Gen, Yuting Wei, Yuejie Chi, Yuantao Gu, and Yuxin Chen. 2021. “Softmax Policy Gradient Methods Can Take Exponential Time to Converge.” arXiv [cs.LG]. arXiv. http://arxiv.org/abs/2102.11270.