強化学習

【書籍紹介】 強化学習 第2章 評価フィードバック

強化学習を読んでいこうと思います。

※ 数式展開は省略したので書籍で確認してください。すごく丁寧に展開されているので、わかりやすいです!

(今回からLeTexなるものを重い腰をあげて導入します。WPでLeTexを使う場合は、pluginのMathJax-LaTeXインストールして記事のどこかにと書いておけば後はルール通り書いておけば反映されます。)

はじめに

強化学習は、正しい行動を直接与えて教示するのではなく、実行した行動の評価を訓練情報として利用することです。評価フィードバックでは、行った行動がどれくらい良いのかが知らされます。(可能な行動の中で最良または最悪であるかについては知らされません。)一方、教示的フィードバックは実際に行われた行動とは無関係に、実行すべき正しい行動が指示されます。

ある単一の状況下でのみ行動を学ぶように単純化した設定で、強化学習の評価フィードバックの立場から解釈を検討します。(非連想的な問題設定)非連想的な評価フィードバック問題として、n本腕バンディット問題を単純化した例題を扱います。

n本腕バンディット問題

この名前の由来は「片腕のバンディット」とよばれている1本腕のスロットマシンからきている。

そのスロットマシンがn本腕で報酬を最大にしろという学習問題です。n本腕それぞれの行動に対して、その行動が選ばれた場合の報酬の期待値あるいは平均値が定まっています。この値を、行動の価値と呼ぶことにします。この価値が予め分かっていたら問題を解くのは簡単です。期待値が一番高いものだけを選べば良いです。

しかし、ここでは価値は予めわかるわけでないと仮定する。価値がわからない場合でも価値の推定値はわかります。行動価値の推定値を常に把握しておけば、どの時点でも、価値の推定値を最大にするような行動(グリーディな行動)が少なくとも1つ見つかります。

グリーディな行動を利用、グリーディでない行動を探索と呼びます。探索はより期待値が小さいかもしれないが、より高い期待値を探すためには必要です。探索は短期的には報酬が小さいですが、長期的には大きくなります。

利用と探索のいずれかを行わなければらないため、「競合」が発生します。教師あり学習は、探索を全く行わないため、この問題では低い性能しか発揮できません。

行動価値手法

$$Q_t(a)=\frac{r_1 + r_2 + ・・・ + r_{k_a}}{k_a}$$

\begin{align}
Q^* (a) & :行動aの真の価値 \\
Q_t (a) & :t番目のプレイでの推定量
\end{align}

$$t回目のプレイで、行動aがka回選択されていて、各回の報酬が、r_1, r_2, ・・・ , r_{k_a}とする。$$

単純平均なので、標本平均手法と呼びます。

グリーディ手法:最も高いと推定された行動価値を持つ行動を選択
εグリーディ手法:ほとんどいつも貪欲(グリーディ)に振る舞うが、たまに小さい確率εで行動価値推定量とは無関係に、一様に任意の行動を選ぶような方法

グリーディ手法が良い場合:報酬の分散が0のような淡彩を行う必要がなく最適な行動が直ちに見つかる時に有効。
εグリーディ手法が良い場合:報酬の分散が1から10に変わるような、変動の激しい報酬のもとで最適な行動を見出すときには探査が必要になるので有効。

強化学習は、実質的に非定常(行動の真の価値が時間とともに変化するような場合)である状況を扱う場合がほとんどなので、そのような時はεグリーディ手法が有効となります。

ソフトマックス行動選択

εグリーディ手法は、探査を行う際にすべての行動を等しく選択してしまいます。つまり、最悪の行動と最適の行動を選択する可能性が同じです。これを解決するのがソフトマックス行動選択規則です。

ソフトマックス行動選択規則は、グリーディな行動には最も高い選択確率を与え、他のすべての行動はその推定価値に従って重みをかけられ、ランク付けされます。

$$Q_t (a)=\frac{\mathrm{e}^{Q_t (a) / \gamma}}{\sum^n_{b=1} \mathrm{e}^{Q_t (b) / \gamma }}$$

$$ \gamma :温度と呼ばれる正定数 $$

温度が高い場合、全ての行動がほぼ同お手度に起こるように設定されます。温度が低い場合、推定された価値が異なるときの差が大きくなります。温度が0の極限の場合、ソフトマックスの行動選択は、グリーディ行動選択と一致します。

ソフトマックス行動選択とグリーディ行動選択のどちらが良いかはまだわかっていません。

評価と教示

ここまで見てきたのは、フィードバックが評価型で、何が最も良い選択は何かの情報はないが、どの程度良いかという情報はあるケースです。これは教示による学習ではなく、選択による学習です。

一方、教師あり学習はフィードバックとして、どんな行動をしてもどの行動を取るのが正しかったかが指示されます。教師あり学習は、環境に対して影響を与えるのではなく、自分が受け取る教示情報に従って行動します。

これは自ら環境をコントロールする方法を学んでいることとは異なります。環境を思ったように動作させるように働きかけるのではなく、自らの行動が環境による教示と同じになるように努力するものです。

漸進的手法による実装

式2.1の問題点は記憶と計算量が際限なく増大することです。実際には別の方法で小さな計算量で平均を求めるような、漸進型の更新式を簡単に作れます。

\begin{align}
Q_k + 1 & = \frac{1}{k + 1} \sum_{i=1}{k+1} \gamma_i\\
& = Q_k + frac{1}{k+1}[\gamma_{k+1} – Q_\gamma
\end{align}

\begin{align}
Q_k & :kこの報酬の平均を表すもの(Q_k (a)すなわちk番目のプレイにおける行動aの平均報酬と混合しないように注意)\\
r_k + 1 & :(k+1)番目の報酬
\end{align}

一般化すると以下のようになります。

$$ NewEstimate ← OldEstimate + StepSize[Target – OldEstimate] $$

ステップサイズ・パラメータは時間とともに変化します。k番目の報酬を扱う場合、ステップサイズ・パラメータとして、1/kが使われます。省略してαと記載されます。

非定常問題への追従

平均化手法は定常環境での動作に適したものでした。非定常化問題に対応させるために工夫をする必要があります。最も行われているのは、定数値のステップサイズ・パラメータを使う方法です。

$$ Q_{\gamma + 1} = Q_k + \alpha [\gamma_{k + 1} – Q_k] $$

ステップサイズ・パラメータαは0 < α ≦ 1の定数値でです(1/kではない)。Qkは過去の報酬と最初の推定量Q0の加重平均となります。

\begin{align}
Q_k & = Q_{k-1} + \alpha [\gamma_k – Q_{k-1}]
& = (1 – \alpha)^k Q_0 + \sum_{i=1}{k} \alpha (1 – \alpha)^{k – i} \gamma_i
\end{align}

ステップサイズ・パラメータをステップ毎に変化させる方法もあります。

オプティミスティック初期値

ここまでの方法は全て行動価値の初期値Q0(a)にある程度依存しています。統計学では初期値にバイアスがあるとよく言われています。初期値に楽観的な(オプティミスティックな)値を設定することで(予測される期待値を大きく上回る値を設定することで)、探査行動を促す作用があります。楽観的な初期値のため、グリーディな行動を取ったとしても結果に満足できず、探索をする方向に促します。

オプティミスティック初期値は、定常問題で効果的である簡単な方法の一つですが、探索を促進する一般的な手法でない。初期状態に特別に焦点をあてるような方法は一般の非定常問題には役立ちません。

強化比較

報酬の大小を判断するための標準をリファレンス報酬と呼びます。今までに受け取った報酬の平均値を使うのが自然です。このリファレンス報酬を使った学習方法を強化比較というます。強化比較手法では、行動価値推定量は持たず、その代わりに全体的な報酬レベルを保持します。

次のようなソフトマックス手法により、優先度から行動選択確率を導けます。

$$ \pi_t(a) = \frac{ \sum_{b=1}^n \mathrm{e}^{p_t(b)} }{ \mathrm{e}^{p_t(a)} } $$

$$ \pi_t(a):t回目のプレイにおける行動aの選択確率 $$

強化比較はこの行動優先度を更新するために使われます。毎回プレイ後、rtとrtバーとの差を使って次式で更新します。

$$ \beta:正のステップサイズ・パラメータ $$

高い報酬を得た場合、その行動を再選択する確率を増やします。低い報酬を得た場合、その行動を再選択する確率を減らします。

リファレンス報酬は以下の式で平均するだけ。

$$ \bar{\gamma}{t+1} = \bar{\gamma}_t + \alpha [ \gamma{t+1} – \bar{\gamma}_t] $$

αは定数値がよいです。強化比較は行動価値手法よりもはるかに良い能力を発揮します。

追跡手法

行動価値推定と行動優先度の両方を利用します。優先度は現在の行動価値推定に従ったグリーディな行動を「追いかける」目的で使われます。毎回のプレイの直後、グリーディな行動が選ばれる可能性がより高くなるように確率値が更新される。グリーディな行動は以下の式で確率1に向かって更新。

\begin{align}
\pi_{t + 1} (\alpha^{t+1}) = \pi{t} (\alpha^{t+1}) + \beta[1 – \pi{t} (\alpha^*_{t+1})]
\end{align}

グリーディでない行動は以下の式で確立0に向かって更新。

$$ \pi_{t + 1} (\alpha) = \pi_{t} (\alpha) + \beta[1 – \pi_{t} (\alpha)] $$

連想探索

一般的な強化学習のタスクでは扱う状況は1つ以上あり、目標は方策(状況からその状況での最良行動への写像)の学習となります。裁量行動を試行錯誤学習により探索する部分と、最良行動(それが最良となる)の状況とを関係づける部分の両方を持っています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です