強化学習

トップページ研究分野と周辺

強化学習(Reinforcement Learning)の基本的な枠組みは、図のようになる。エージェント(行動主体)は環境の状況に基づき或る行動を選択し、行動に基づき環境が変化する。環境の変化に伴って、何らかの報酬がエージェントに与えられ、エージェントはより良い行動の選択(意志決定)を学習していく。
教師あり学習が、完全な正解を示すのに対し、強化学習の報酬は、環境の一部の変化に基づく断片的な値でしかない場合が多い。
例えばサッカーの或る場面で、ボールを或る方向へ蹴ったら、味方にパスが渡ったか否か、といった評価が報酬となる。
脳内の快楽物質ドーパミンの放出(報酬)が、動物の行動選択に大きな影響を与える事はまさに強化学習の仕組みで、実際の脳との関連も盛んに研究されている。
強化学習は環境に関する完全な理解が無くても設計出来るため、実際の問題への応用範囲は広いと言えるだろう。
なお、強化学習のアルゴリズムは、あくまで枠組みを示したもので、環境・行動・報酬のデータ化、環境の状態観測、報酬の計算等のアルゴリズムは、応用する問題に応じて別途、設定する必要がある。

強化学習の概略

Q学習(Q-learning)

強化学習の代表例として、Q学習がある。これは、或る環境状態sの下で、行動aを選択する価値(行動の価値)Q(s,a)を学習する方法となる。
或る状態sのとき、Q(s,a)の最も高いaを最適な行動として選択すればよい。
しかし、最初は其々のsとaの組みあわせについて、正しいQ(s,a)の値は全く分かっていない。
そこで、試行錯誤により、或るsの下で様々な行動aを取り、その時の報酬を使って、正しいQ(s,a)を学習していく。
行動価値関数Q(s,a)の一般的な更新式は、以下のようになる。

Q学習の行動価値関数更新式

ここでs_t,a_tは、時刻tにおける環境と行動を表す。行動a_tにより、環境はs_t+1に変わる。
r_t+1は、その環境の変化によって貰える報酬(reward)だ。
maxの付いた項は、環境s_t+1の下で、最も(その時に分かっている)Q値の高い行動aを選んだ場合のQ値にγを掛けたものになる。
ここでγは、0<γ≦1(0.9~0.99くらいにする事が多い)のパラメータで、割引率と呼ばれる。αは学習係数で、やはり0<α≦1の範囲とする(0.1程度にする事が多い)。
この更新式は、環境sに於ける行動aの評価値Q(s_t,a_t)よりも、aによる次の環境状態に於ける最良の行動の評価値Q(s_t+1,maxa_t+1)の方が大きければ、Q(s_t,a_t)を大きくするし、逆に小さければ、Q(s_t,a_t)も小さくする事を示している。
つまり、或る状態に於ける或る行動の価値を、それによる次の状態に於ける最良の行動の価値に近づける。
但し、その差は割引率γと報酬r_t+1の在り方により変わっては来るが、基本的には、或る状態に於ける最良の行動の価値が、それに至る一つ前の状態に於ける行動の価値に伝播していく仕組みになっている。

Q学習のアルゴリズム

様々な方法が考えられ、以下は最も簡単な例となる。
・全ての状態とその時に取り得る行動s,aの組について、初期のQ(s,a)値をランダムに決める。
・状態を最初の状態s_0にセットする。t=0とする(1)。
・状態s_tから或る方法で行動a_tを選択し、上記の式に基づき、Q(s,a)を更新し、状態はs_t+1に移行する(2)。
・(2)を一定回数行なったら、sを最初の状態s_0に戻す(3)。
・(2)と(3)のセットを一定回数行なったら、オワる。
ここで、行動の選択方法として、ε-greedy法がよく使われる。これは一定の確率εで、或る環境sから取り得る行動のうち一つをランダムに選び、1-εの確率で或る環境sから最大のQ値を持つ行動aを選択する。
他には、遺伝的アルゴリズムで使われるルーレット選択と同じ方法で、或る行動の選ばれる確率をQ値の大きさに比例して決める方法もある。
常にQ値が最大のものばかり選んでいると、最初にランダムに与えたQ値の影響が大きく、学習が進展しない。
敢えて確率的に試行錯誤を行なう事が、学習を効率化させる働きをする。

Q学習の応用例(経路探索)

図のような経路探索問題を考える(勿論、このような簡単な経路探索は、強化学習よりも効率的な解法はあるが、ここでは強化学習の様子を見やすくするため、簡単な例とした)。
図の場所(丸印)が状態で、場所の移動(矢印)が行動に該当する。
最初のStart地点から選べる行動は、オレンジ色の矢印の二つしかない。場所によって、2~4つの行動が選択出来る。
報酬は、Goal地点に到達した場合のみ赤色の矢印に与えられ、他の地点に来ても一切出ないものとする。

Q学習の応用例(経路探索問題)

以下に、実験結果の一例を示す(ランダムな初期値や行動選択を用いるため、同じパラメータでも結果は変わる)。
各行動のQ値の初期値は、0~99の範囲の乱数で与えた。ε-greedy法のε=0.3、割引率γ=0.9、学習係数α=0.1、ゴールに到達した場合の報酬値は100とした。
10回の行動(場所の遷移)を行なうたびに、状態(場所)はStart地点に戻すようにし、総計10000回の行動で終了した。

Q学習の実験結果(経路探索問題)

各行動(経路)のQ値の累積値は、図のようになった。左右、上下のペアの経路で、Goalから遠ざかる方(右から左、又は上から下)が点数のいい誤った評価値は青数字で示している。
初期値はランダムに与えられるため、間違った評価値が多い。最大の数字を辿ると、途中で堂々巡りになり、Goalに着けない。
しかし、5000行動後は顕著に正しい評価値が増え、10000行動後には若干逆転も残っているものの概ね正しい評価値が得られ、Start地点から最短経路でGoalまで移動出来る(赤矢印:同点の経路もあるが長さは同じ)事が分かる。
一般的にQ学習では、割引率が効いて、報酬が貰える状態に近い行動程、得点が高くなり、効率的な行動の学習を可能とする。