強化学習とは
機械学習の用語整理
モデルとよばれるパラメータを持った数式のパラメータを,与えられたデータに応じて調整することを学習と呼ぶ.
モデルの一種としてニューラルネットワーク(NN)があり,多層にしたものがディープニューラルネットワーク(DNN)となる.
モデルのパラメータを調整する手法として教師あり学習,教師なし学習,強化学習がある.
機械学習
- 「機械」= モデル
- ニューラルネットワーク
- ディープニューラルネットワーク
- ニューラルネットワーク
- 「学習」(方法)
- 教師あり学習
- 教師なし学習
- 強化学習
強化学習とは
強化学習では,データを与えられる教師あり学習,教師なし学習とは異なり環境が与えられる.
- 環境:行動と行動に応じた状態が定義されており,ある状態への到達に対し報酬が与えられる空間のこと
強化学習では,環境で報酬が得られるようにモデルのパラメータを調整する.環境の開始から終了までの期間を1エピソードとよび,1エピソードで得られる報酬を最大化することが学習の目的となる.
問題設定
マルコフ性(遷移先の状態は直前の状態とそこでの行動のみに依存する)に従うマルコフ決定過程(MDP)を考える. MDPの構成要素は,以下の4つである.
- $s$:状態
- $a$:行動
- $T$:状態遷移確率
状態と行動を引数に遷移先と遷移確率を出力する関数 - $R$:報酬関数
状態と遷移先を引数に報酬を出力する関数
ここで,ロボット(エージェント)は状態を受け取り行動を出力する関数とみなすことができる.この関数のことを方策$\pi$とよび,報酬をもとに方策を更新していくことで最適な方策を発見する.
参考
久保隆宏,"Pythonで学ぶ強化学習 入門から実践まで"
Tags: