強化学習の基礎中の基礎
強化学習の枠組みとは何か?
強化学習の学習とは?
人間が学習するように学習すること,すなわち, ある特定のtaskにおいて,その報酬のTD誤差をその情報を認識したときの報酬予測システムのパラメーター調整として利用するということである.
強化信号とはそうしたパラメーター調整として利用できる情報である.
つまり,強化学習の枠組みは信号を利用した人間の様な,または人間を超える学習を実現するということにある.
そしてその中でも, MTにならない学習がRLと呼ばれる.
前提
この枠組みの中では主に環境の情報をagentは知らない.つまり,state,actionの全体を知ることはない.しかし,非特定の行動を選択可能であり,かつそれによって遷移したstateの報酬を知ることができる. (POMDPの場合は一部,観測できない.)
はじめはランダムに行動することと,行動の種類をいずれかの段階で全て知ることができることとは同じことであるので,現実的には全ての可能なactionを知っている仮定を置く.どこかの状態で特別に取れるactionはルールとして設定すればよい.
しかし,これらの情報を予め知っていることを前提とした強化学習も存在する.
それらは価値反復法と,政策反復法が挙げられる.これらはplanningと呼ばれ,繰り返し,全actionと全stateを参照することで累積報酬を近似する.
model freeとmodel baseの違いはここにある.すなわち, いつでも,その手法(環境モデルを仮定したRL)を利用することができる実装をしている場合, model baseであり, そうでない場合, model freeである. 例えば,重要度サンプリングに関してもこれはmodel baseである.一般にmodel freeの手法はmodel baseを組み合わせることができるので用語の定義に皆,混乱しているようである. MDPを仮定することはmodel baseの手法であるが, Q学習の近似方法というのはmodel freeであるということである.(収束を保証したりするので.)
強化学習の最大の性質とは
(1): 自分で環境情報をsamplingする.そして,agentがmodel freeである以上, dataの取り方は連続的なものになり, 一般的な機械学習のiidを仮定できない.そこでexperience replayなどの手法が出てくることになる.
(2): 機械学習のアルゴリズム複数(深層学習も含めて), RL独自のアルゴリズム複数, 教師あり学習, その他のヒューリスティック手法を組み合わせて,一つのgameを学習させるという規模の大きさ.
これからも強化学習が進歩するにつれて, 機械学習よりもTPUを消費することになるだろう.
(3): MDPの仮定.
よく, 言われるが,正確には主に定常な離散時間有限マルコフ過程,すなわち,遷移確率が時間によって変化しない, 有限のマルコフ過程を考えている. 他にPOMDPやセミマルコフ過程などが類似カテゴリにある.
観測が連続的な範囲で行われるセミマルコフ過程のユースケースとして,不具合発生時の迅速な判断決定などが挙げられるので,そちらも研究されている.
まとめ
ここまで,本当に基礎を語ってきた.
これは強化学習の枠組みのほんの一部である.
とても詳細を語りつくせないので今回で基礎用語の解説は終了したいと思う.
よりコアな専門的な部分の詳細を綴っていきたいと思います.
間違っている部分はあると思うのでその時はコメントしてください.