ただのメモ

他の人に見せても良い方のメモ

Reinforcement Learning No.1

パラパラめくる強化学習

教材はこちら。

www.slideshare.net

 

強化学習の基礎

そもそも強化学習とは、、人工知能の部分技術の、機械学習のうち、意志決定則を学習する方法のこと。意志決定する脳みそをエージェントという。エージェントがある環境の中で、目標達成のための意志決定の戦略を定式化して学習する。どうやって意志決定するかと言うと、エージェントが環境から状態を知覚して、意志決定によって行った行動が、成功信号となる報酬と次の状態を知覚して、方策を学習する。いろいろ応用例があって、ロボット制御や囲碁、化学物質の設計、ニューラルネットワークの構造を探索など、様々。心理学では、刺激をもとに、特定の行動パターンが増えることを強化という。このときの刺激を強化子という。パブロフの犬、スキナーの箱は皆さんご存じかと。人間では、大脳基底核強化学習を行っているとされ、腹側被蓋野黒質緻密部のドーパミン作動精ニューロンから放出されるドーパミンが報酬、またはTD誤差と関わり、線条体が価値関数を表現するという仮説がある。ある意思決定問題を行う環境内で、エージェントが得る報酬の総和を最大化する方策を学習する。即時報酬ではなく、長期的な利益を見たいので、長期的な行動のあと、もらえる報酬の価値を表現する価値関数を基準にして行動する。また、強化学習の特徴として、データは自分で集めるので、エージェントが環境を探索して集める、明確な教師データは存在せず、報酬を教師信号にして、方策を決定する。また、報酬をもらえるのが遅延するので、どの時点の行動あるいは意志決定が報酬獲得に貢献したかわかりにくい。これを信用割り当て問題という。探索と活用をバランスよくしなければいけない。強化学習の問題例として、多腕バンディット問題があり、これはn個の一定確率でコインがでるスロットを用意して、引ける回数が上限があって、どう引けばいいかを探すもの。Upper Confidence BoundやThompson Samplingなどがある。強化学習の対象となる問題では、状態や行動の候補が非常に多く、扱いが困難である。環境に対して、マルコフ性を仮定してやることが多い。マルコフ性とは、現在の状態と行動にのみ依存して、次の時刻の状態が決まる性質のこと。マルコフ決定過程では、状態集合、行動集合、状態遷移確率、初期状態確率分布、報酬関数からなる。MDPでは、時間ステップ1つで、エージェントは一回行動して、次の状態と報酬を獲得する。エピソードはタスク開始から、終了までの時間のひとかたまりのこと。エピソード的タスクは終わりあり、連続タスクは終わりがない。また、部分観測マルコフ決定過程というものもある。マルコフ過程では、エージェントの状態Sが一意に特定出来る設定だったが、問題により、情報の一部の観測Oしか見れない可能性がある、その場合、現在の行動による結果が、過去の状態行動遷移に依存する。得られた観測Oから自分の状態Sを表すBelief Stateを更新して、学習する。RNN・LSTMを使うことがある。収益・目的関数とは、発散しないようにするため、割引報酬和が割引率γを導入して、報酬の総和を最大化していく。割引率が小さいと、短期的な収益を重視するようになる。強化学習は、価値関数、すなわち方策の良さを示す目的関数を用いる。状態価値関数Vとはある状態Sから方策πに従って行動したときに得る収益Rの期待値。行動価値関数Qとは、ある状態Sで行動Aを選び、そのあと方策πに従い行動した場合に得る収益Rの期待値。効用関数、Q値とも呼ばれる。方策πとは、ある状態Sで行動Aを選択する確率のこと。方策にはいろいろ種類があり、Greedy方策は、最もQ値が高い行動を選ぶ。ε-Greedy方策は確率εでランダム、他はGreedy。ソフトマックス方策では、ギプス分布に従う方策。探索と活用のトレードオフを意識した方策。価値関数が満たす再帰的な式をベルマン方程式という。行動価値関数に対しても再帰的なベルマン方程式は作れる。ベルマン方程式で、ある方策πを固定したときの様々な状態・行動に対する価値関数を求められる。方策の良さを計算出来る。良さの評価を受けて、方策を改善出来る。その改善の仕方は2種類ある。1つ目はプランニング。環境モデル、つまり遷移確率が既知で、状態行動遷移対を網羅的に生成して、価値関数の計算→方策改善を繰り返す。もう一つは強化学習。環境モデルが不明で環境内で方策を実行して、集めた経験で価値関数を計算して、方策改善を繰り返す。プランニングとは環境モデルが既知の時、モデルを用いて最適方策を求める手法である。状態遷移確率、報酬関数を使い、エージェント側で状態生成と行動実行、報酬獲得が出来ること。これらは、最適化問題を分割して再帰的に解く動的計画法を使うことが多い。

モデルの有無についてもう少し詰めて行きたい。次回触れることとする。