LoginSignup
1
2

More than 1 year has passed since last update.

【E資格・深層学習③】強化学習 重要なネットワーク(TD法、モンテカルロ法など)とその特徴

Last updated at Posted at 2021-10-21

1.初めに

JDLA主催のE資格(2021#2)の受験も終わり、学習した内容、自分自身が引っかかったポイントを本記事にまとめた。
特に本記事では強化学習(Reinforcement Learning)をスコープにしている。

参考として、E資格に関する自身の過去記事を以下に記載する。
【E資格・深層学習】画像処理 重要なネットワーク(AlexNetなど)とその特徴
【E資格・深層学習②】自然言語処理 重要なネットワーク(Word2Vecなど)とその特徴

2.手法

2-1.全体像

まず、価値ベースと方策ベースの2種類がある。

スクリーンショット 2021-10-20 23.48.37.png

その上で、
E資格の考え方では、Suttonの強化学習の分類に基づき、
・動的計画法
・TD法
・モンテカルロ法
の3種類に大別している。
スクリーンショット 2021-10-20 23.47.47.png

E資格のテスト対策だけを考えるならば、
1.価値反復法 (*)
2.方策反復法(*)
3.TD法(*)
4.モンテカルロ法(*)
5.Q学習(*)
6.SARSA(*)
7.DQN
8.REINFORCE(*)
9.Actor-Critic(*)
10.Multi-Step Learning法
11.TD(λ)法
を覚えれば良い。特に、(*)については数式も覚えておくべきである。

そもそもの強化学習の基礎概念(エージェント、環境、方策など)は、以下のページの解説が参考になる。
強化学習入門 ~これから強化学習を学びたい人のための基礎知識~

日常用語と同じ単語が多く、価値が特に覚えづらいが、
 価値:長期的な収益達成確率(将棋で勝つ確率)
と理解すると覚えやすい。

価値を算出し、Qテーブルを更新し、方策を更新する、が基本方針。

Qテーブルのわかりやすい説明は以下のリンクに記載あり。
【深層強化学習(DQN)】Q値で分かる深層強化学習

2-2.TD法

・価値ベースの手法。正式名称はTemporal Difference Learning。
・報酬を毎ステップでサンプリング。
・より未来の情報を重要視。結果ができるまでのパターン数が多い(=道のりが長い、寄り道が多い)ケースに重要。
・より未来の情報を使うほど真の値に近い、という仮定。
・モンテカルロ法のブートストラップ(サンプリング報酬R、状態価値関数Vt(s))からVt+1(s)を計算。
・デメリットとして、初期の価値が学習されにくい。
・行動をとるたびに、予測した報酬と、実際の報酬の差に基づいて価値関数に対する推定を更新する方法。
スクリーンショット 2021-10-20 23.51.34.png
スクリーンショット 2021-10-21 0.00.22.png
 

2-3.モンテカルロ法

・価値ベースの手法
・報酬を毎エピソードでサンプリング。
・一連の行動後、一連の報酬から状態価値関数V(s)、状態行動価値関数Q(s,a)を推定。
・時刻tが有限で終了する(エピソディック、episodic)の時に有効。
・囲碁のように終わりが決まっている場合は使えるが、テトリスのように負けなければ続くゲームは不適。
スクリーンショット 2021-10-20 23.49.36.png
スクリーンショット 2021-10-21 0.00.34.png

2-4.Q学習

・価値ベースの手法
・Policy-Off
 ・TD法の状態行動価値関数Q(s,a)バージョン。
 ・Q関数の収束が早い。すなわち、学習が安定する傾向がある。
 ・エピソード更新方策と価値関数更新方策は異なる。
スクリーンショット 2021-10-20 23.51.45.png
スクリーンショット 2021-10-21 0.01.00.png

2-5.SARSA

・価値ベースの手法
・Policy-On
・正式名称はState–action–reward–state–action
・Q学習では、max Q がある程度正確に予測できる必要がある。
・例えば、囲碁の強化学習では、初期値(どの手をさすか)が不明。
・その時点での最適な選択を探索しない代わりに、方策(Policy)に従い更新(Policy-On)
・エピソード更新方策と価値関数更新方策は同じ。価値関数の更新にランダム性を取り入れて、局所解を回避する。
・行動価値Qを更新する際、Qが小さい探索結果も反映しやすい。
・しかし、計算が不安定になりやすい。
・経験していない[状態sと行動aの組み合わせ]に対するQ(s,a)は更新されない。
スクリーンショット 2021-10-20 23.51.56.png

2-6.DQN

・価値ベースの手法。
・Qテーブルが複雑になる場合、例えばロボットの腕の位置など連続値の場合は、配列で表すことが困難になる。
・Q[state(s:状態)][action(a:行動)]=Q値(状態行動価値)

このテーブルで参照できない状態・行動を参照できるように、Q値を予測する関数をDeep Learningで表現したものがDQN。
・価値関数をパラメトリックに近似する方法。特に状態や行動のとりうる場合が多い場合。
・経験再生・・・経験(s(t),a,r,s(t+1))を逐次学習すると、前後関係も意図せず学習してしまう。経験をメモリに蓄積し、後でランダムに学習させる。
・Fixed Target Q-Network
・Reward Clipping・・・点数をスケール(-1,0,1)に標準化
・Huber Loss・・・MSEだと大きすぎる。DQNではHuber関数を使う。

2-7.REINFORCE

・方策ベースの手法。方策勾配法の1種。
スクリーンショット 2021-10-21 0.05.26.png

3.重要ワード

3-1.Bellmann方程式

・行動する際、「価値が最大」となるものを選択することが前提。
・価値が計算済みであることが前提。
スクリーンショット 2021-10-21 0.03.20.png

3-2.方策勾配定理

・どの行動をどのくらいの確率で選択すべき(方策)を直接予測することを方策勾配法という。
・その方策の関数(方策関数)のパラメータの変化が、どう利得に影響するかを把握する、すなわち、パラメータを最適化するように動かし、関数Jをパラメータで微分した結果を方策勾配定理と呼ぶ。
スクリーンショット 2021-10-21 0.01.19.png

3-3.ε-greedy方策

・確率εでランダムな行動aを選ぶ(ε<<1):探索
・確率1-εで、現状のQ関数の計算した行動aをとる。:利用
・現時点で推定される最適な方策πから外れた方策も、確率的に選ぶことで局所解に陥ることを回避する。

3-4.ソフトマックス方策

・ボルツマン分布、Actorの行動選択がBoltzmann分布によるSoftmax手法である場合、Q(s,a)が高いほど、行動aが選ばれる可能性が高い。
・全行動の集合Aから、行動aを選ばれる確率π(s,a)
・探索と搾取・利用のトレードオフを1/Tで決定。
・1/T:各ステップでの行動選択のランダム性を調整する。価値関数から最適な「行動」を決める際、価値関数間の差を調整する量

3-5.トンプソンサンプリング

・ベイズ戦略の1種。事後確率に従って、行動をランダムに選択する。
・報酬和の期待値を最大にする。

3-6.UCB1アルゴリズム

・最初に取りうる行動を一通り試したのちに、信頼区間の上限の値を加味して、最良のケースでの報酬期待値から最適な行動を決定し実行する。

4.まとめ

強化学習といっても、深層以前と以後に大別でき、深層学習以前の手法でも多数の手法があり、特徴を理解することに非常に苦労した。
まずは、Suttonの3分類と価値ベース・方策ベースで大別して理解すると、追いかけやすい。
ようやく強化学習のスタートラインに立ったような気がする。

5.参考リンク

方策勾配法の仕組みと学習のワークフロー
Policy Gradient Algorithms
A (Long) Peek into Reinforcement Learning
A Map of Reinforcement Learning<-個人的に、一番網羅的に整理されており参考になるWebsite。
A Structural Overview of Reinforcement Learning Algorithms

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2