Q学習

Q学習（Qがくしゅう、英: Q-learning）は、機械学習分野における強化学習の一種である。 Q学習は強化学習の方策オフ型時間差分法の一つである。概念自体は古くから存在するが、Q学習（Q-learning）という名前で今日の手法がまとめられたのは、1989年のクリストファー・ワトキンズ（Christopher J.C.H. Watkins）の博士論文に端を発する。 TD学習は R t + 1 + γ V ( S t + 1 ) {\displaystyle R_{t+1}+\gamma V(S_{t+1})} になるように学習させるが、Q学習はこれを R t + 1 + γ max a Q ( S t + 1 , a ) {\displaystyle R_{t+1}+\gamma \max _{a}Q(S_{t+1},a)} に置き換えたものである。状態価値関数 V ( s ) {\displaystyle V(s)} の代わりに、行動価値関数 Q ( s , a ) {\displaystyle Q(s,a)} を使用する。 Q学習は有限マルコフ決定過程において全ての状態が十分にサンプリングできるようなエピソードを無限回試行した場合、最適な評価値に収束することが理論的に証明されている。実際の問題に対してこの条件を満たすことは困難ではあるが、この証明はQ学習の有効性を示す要素の一つとして挙げられる。 Q学習では実行するルールに対しそのルールの有効性を示す行動価値のQ値（Q-value）という値を持たせ、エージェントが行動するたびにその値を更新する。ここでいうルールとはある状態とその状態下においてエージェントが可能な行動を対にしたものである。例えばエージェントの現在の状態を S t {\displaystyle S_{t}} とし、この状態で可能な行動が A {\displaystyle A} , B {\displaystyle B} , C {\displaystyle C} , D {\displaystyle D} の4通りあるとする。このとき、エージェントは4つのQ値、 Q ( S t , A ) {\displaystyle Q(S_{t},A)} 、 Q ( S t , B ) {\displaystyle Q(S_{t},B)} 、 Q ( S t , C ) {\displaystyle Q(S_{t},C)} 、 Q ( S t , D ) {\displaystyle Q(S_{t},D)} を元に行う行動を決定する。 行動価値関数Qは、ある状態である行動を行った際、現在および将来に得られる報酬になるように学習させる。ただし、将来分の報酬は、経済学でも使われる割引率をかけた物を使用する。経済学と同じく、割引率をかけることで将来分の報酬が発散することを防ぎ、直近に得られる報酬に重きを置いている。 行動の決定方法は理論上では無限回数試行するならランダムでも行動価値関数Qの収束は証明されているが、現実には収束を早めるため、なるべくQ値の大きな行動が高確率で選ばれるように行う。選択方法としては、ある小さな確率 ε {\displaystyle \varepsilon } でランダムに選択し、それ以外ではQ値の最大の行動を選択する ε {\displaystyle \varepsilon } -グリーディ手法や、遺伝的アルゴリズムで使用されているルーレット選択、以下のようなボルツマン分布を利用したソフトマックス手法などが使用されている。 π ( S t , a ) = exp ⁡ ( Q ( S t , a ) / T ) ∑ a ′ ∈ A exp ⁡ ( Q ( S t , a ′ ) / T ) {\displaystyle \pi (S_{t},a)={\frac {\exp(Q(S_{t},a)/T)}{\sum _{a'\in {\mathcal {A}}}\exp(Q(S_{t},a')/T)}}} ここで T {\displaystyle T} は正の定数、 A {\displaystyle {\mathcal {A}}} は状態 S t {\displaystyle S_{t}} でエージェントが可能な行動の集合である。 行動を決定した場合、次にその状態と行動の行動価値関数Qを更新する。状態 S t {\displaystyle S_{t}} のエージェントが行動 A t {\displaystyle A_{t}} を選び、報酬 R t + 1 {\displaystyle R_{t+1}} を得て、状態が S t + 1 {\displaystyle S_{t+1}} に遷移したとする。このとき行動価値関数 Q ( S t , A t ) {\displaystyle Q(S_{t},A_{t})} を次の式で更新する。 Q ( S t , A t ) ← ( 1 − α ) Q ( S t , A t ) + α [ R t + 1 + γ max a Q ( S t + 1 , a ) ] {\displaystyle Q(S_{t},A_{t})\leftarrow (1-\alpha )Q(S_{t},A_{t})+\alpha \left[R_{t+1}+\gamma \max _{a}Q(S_{t+1},a)\right]} ここで α {\displaystyle \alpha } は学習率といい、 0 < α < 1 {\displaystyle 0<\alpha <1} とし、後述のように時間と共に減衰させても良い。 γ {\displaystyle \gamma } は割引率といい、 0 < γ < 1 {\displaystyle 0<\gamma <1} な定数である。上記の更新式は現在の状態から次の状態に移ったとき、そのQ値を（報酬＋割引率×次の状態で最も高いQ値）に近づけることを意味している。このことにより、ある状態で高い報酬を得た場合はその状態に到達することが可能な状態にもその報酬が更新ごとに伝播することになる。これにより、最適な状態遷移の学習が行われる。 Q学習は報酬が有界で、学習率 α t {\displaystyle \alpha _{t}} が以下の条件を満たすとき（つまりこの条件で時間と共に減衰させたとき）、全てのQ値は確率1で最適な値に収束することを1992年にChristopher J. C. H. Watkins等が証明した。（この条件を満たさないと収束しないという意味では無く、定数でも収束するときは収束する） 0 ≤ α t < 1 {\displaystyle 0\leq \alpha _{t}<1} ∑ t = 0 ∞ α t → ∞ {\displaystyle \sum _{t=0}^{\infty }\alpha _{t}\to \infty } ∑ t = 0 ∞ α t 2 < ∞ {\displaystyle \sum _{t=0}^{\infty }\alpha _{t}^{2}<\infty } この収束性の良さのためQ学習に関する多くの研究がなされているが、いくつかの問題点も指摘されている。例えばQ学習による理論的保証は値の収束性のみであり、収束途中の値には具体的な合理性が認められないため、（価値反復法の）Q学習は方策勾配法と比べると学習途中の結果を近似解として用いにくい。また、パラメータの変化に敏感でありその調整に多くの手間が必要である、などがある。 Watkins, Christopher J.C.H. (1989). Learning from Delayed Rewards. PhD thesis, Cambridge University, Cambridge, England. PDFダウンロード 松本啓之亮、黄瀬浩一、森 直樹、『知能システム工学入門』、コロナ社、2002年、ISBN 4-339-02392-2 大内 東、山本雅人、川村秀憲『マルチエージェントシステムの基礎と応用』、コロナ社、2002年、ISBN 4-339-02388-4 ^ Christopher J. C. H. Watkins. “PhD Thesis: Learning from Delayed Rewards”. cs.rhul.ac.uk. 30 November 2023閲覧。 ^ Richard S. Sutton; Andrew G. Barto (2018). Reinforcement Learning, second edition: An Introduction. Bradford Books. ISBN 978-0262039246. http://incompleteideas.net/book/the-book-2nd.html  ^ Watkins, Christopher J. C. H.; Dayan, Peter (1992-05-01). “Q-learning”. Machine Learning 8 (3): 279–292. doi:10.1007/BF00992698.  強化学習 時間差分学習（TD学習） SARSA法 Deep Q-Network