強化学習勉強ノート1

スポンサーリンク

強化学習とは「設計者が設定した報酬の最大化」を実現する意思決定のルールを学習するアルゴリズム

*強化学習の勉強には森村哲郎先生の強化学習の本を使用しました.なのでもっと詳しく(厳密に)知りたい人はこの本を買ってみてください!

強化学習を構成する要素:「状態」「方策」「行動」「報酬」

強化学習は現在の「状態」と「方策」に従って選択した「行動」によって「報酬」が決まる系で,どんな方策立て行動をとっていくと報酬の期待値が最大化されるかを求めることを目的とする学問分野です.

強化学習を実施する上でよく行われる仮定:「マルコフ性」

スポンサーリンク

マルコフ性とは次の状態への遷移確率が一つ前の時刻の状態のみ依存する性質のこと

確率過程における仮定の厳しさ(右に行くほど条件が厳しいです)

\(\{過去全ての時間の状態に依存する過程\} \supset \{マルコフ過程\} \supset \{独立同一分布(i.i.d)に従う過程\}\)

状態が遷移する確率を考えます.このときある時刻tにおいて次の状態に遷移する確率は現在の状態やこれまでたどってきた状態の影響を受けます.

例えば次に履く靴(時刻t+1の状態)を決めるときに今履いている靴(時刻tの状態)やこれまで履いてきた靴(時刻t-i, i=1,…,n-1の状態)の影響を受けるイメージです.

過去全ての時間の状態に依存する過程

何も仮定しない場合は過去全ての状態の影響を受けるので条件付確率を使って書くと

\[\mathrm{Pr}(X_{t+1}=x | X_1=x_1, \dots, X_{t}=x_{t})\]

と書けます.

数式は時刻tまでの状態がそれぞれ\(x_1からx_t\)だった時に時刻tで状態がxになる確率という意味です.\(\mathrm{Pr}(A|B)\)は状態BだったときにAとなる確率という意味を表していて,条件付確率と呼ばれます.

マルコフ過程

時刻t+1の状態へ遷移するときの確率が時刻tの状態にのみ依存する性質をマルコフ性といい,マルコフ性に従う確率過程をマルコフ過程と呼びます.

マルコフ過程のいいところ:一つ前の時刻の状態だけ考えればいい

マルコフ性を仮定しない場合次の状態への遷移確率を考えることが時間が経過すればするほど複雑になり非常に扱いにくいです.その点マルコフ性を仮定すればどんなに時間が経過しても,常に一つ前の時刻の状態のみを考えればいいので問題がシンプルになります.

独立同一分布(i.i.d)に従う過程

どの時刻においても同じ確率分布に従う過程のことを独立同一分布といいます.どの時刻においても同じ分布に従うので一つ前の時刻の状態を考える必要もありません.

例えばサイコロを振った時に出た目の数を並べた確率過程とかは独立同一分布に従う過程です.一つ前に振ったサイコロで出た目とこれから振るサイコロで出る目には何の関係もないので.

マルコフ決定過程はマルコフ過程に「行動」と「報酬」,「方策」を組み入れた確率過程

任意のマルコフ決定過程\(M\)は状態の集合\(S\),選択可能な行動の集合\(A\)(方策),初期状態を決定する確率関数\(p_{s0}\),状態遷移確率関数\(p_{T}\),報酬関数\(g\),確率的方策\(\pi\)を使って

\[M(\pi) \equiv \{S,A,p_{s0},p_{T},g,\pi\} \]

と表記できます.

例題を使ったイメージ(毎日お酒を飲む人)

\[S=\{正常,二日酔い\}\]

\[A=\{少し飲む,たくさん飲む\}\]

のような状態Sと行動Aをもつマルコフ決定過程を考えます.

0. t=0のときの状態\(s_0\)(初期状態)を決めます.\(s_0 \sim p_{s0}\)mなので初期状態\(s_0\)は\(p_{s0}\)によってきまります.

例えば\(p_{s0}(正常)=0.9, p_{s0}(二日酔い)=0.1\)とすると初めに90%の確率で正常な状態,10%の確率で二日酔いの状態で始まります.

1. 状態\(s_t\)と方策\(\pi(\cdot | s_t)\)から行動\(a_t\)を選択します.

例えば現在の状態を「正常」とすると,\(\pi(少し飲む | 正常)=0.8\)と\(\pi(たくさん飲む | 正常)=0.2\)によってその日に少し飲むかたくさん飲むかを決定します.

2.方策に従って選択した行動\(a_t\)と状態\(s_t\)から関数\(g(s_t,a_t)\)によって報酬値\(r_t\)が決まります.そして行動の結果,状態遷移確率\(p_T(\cdot | s_t, a_t)\)に従って次の状態\(s_{t+1}\)に遷移します.

例えば正常状態でたくさん飲んだ場合は\(r_t=g(正常,たくさん飲む)=10\)を獲得し,状態遷移確率\(p_T(正常 | 正常, たくさん飲む)=0.4, p_T(二日酔い | 正常, たくさん飲む)=0.6\)に従って次の状態へ遷移します.

3.時間ステップを一つ進め手順1から繰り返します.

よく使われる目的関数「期待報酬」「期待割引累積報酬」

強化学習では目的関数の最大化を目指して方策等を変更していきますが特によく使われる目的関数として以下の二つがあります.

期待報酬

\[E[\lim_{T\rightarrow \infty} \frac{1}{T} \sum_{t=0}^{T-1} R_t| M(\pi)]\]

期待割引累積報酬

[E[\lim_{T\rightarrow \infty} \sum_{t=0}^{T-1} \gamma^t R_t| M(\pi)]]

\(\gamma \in [0,1)\)は割引率と呼ばれ,どのくらい前の報酬をまで重視するかを表すパラメータです.

マルコフ決定過程や強化学習の主な目的は上記の報酬の期待値等を最大化するような方策を求めることです.

そのような方策を求めることを逐次的意思決定問題を解くといいます.

強化学習では一般的に制御対象のシステムのことを環境,制御器や意思決定主体のことをエージェントといいます.

コメント

タイトルとURLをコピーしました