2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

2
Last updated at Posted at 2021-10-21

1.初めに

本記事では強化学習(Reinforcement Learning)について基本事項と、自分自身が引っかかったポイントを本記事にまとめた。

2.基本事項

2-1.全体像

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

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

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

体系的に学ぶ場合は、
1.価値反復法 (*)
2.方策反復法(*)
3.TD法(*)
4.モンテカルロ法(*)
5.Q学習(*)
6.SARSA(*)
7.DQN
8.REINFORCE(*)
9.Actor-Critic(*)
10.Multi-Step Learning法
11.TD(λ)法
を覚えれば良い。特に、(*)については数式も覚えておくべきである。

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

2-2.基礎概念

2-2-1.価値

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

強化学習の計算では実際には
・状態価値関数V(s)
・行動価値関数Q(s,a)
が使われている。

参考文献

2-2-2. 状態価値観数V(s)

・ある時刻tにおける状態sから、エピソード終了まで得られる累積報酬の期待値。
 将棋のある局面から終局までにあるすべてのルートの累積報酬の平均値、をイメージするとよい。

2-2-3. TD誤差

ある状態や行動の価値の見積もりと、その次の状態や行動の価値の見積もりの差
TD誤差=(1ステップ後の状態価値)ー(現状の状態価値)
   = 即時報酬 + 割引率 * V(s') - V(s)
は、状態価値関数の値や方策の更新によく使われるので、覚えておくとよい。

2-2-4.Qテーブル

価値を算出し、Qテーブルを更新し、方策を更新する、が基本方針。
Qテーブルのわかりやすい説明は以下のリンクに記載あり。
【深層強化学習(DQN)】Q値で分かる深層強化学習

2-2-5.モデルフリー・モデルベース

強化学習における「モデル」は、主に以下の2つの要素(関数)で構成される「脳内シミュレータ」のことです。

状態遷移モデル P(s(t+1) | s(t), a(t))
「ある状態 s(t) で、ある行動 a(t) を取ったら、次はどんな状態 s(t+1) になるか?」を予測するもの。
例:車を右にハンドルを切ったら、画像(状態)がどう変化するかを予測する。

報酬モデル R(s(t), a(t))
「その行動の結果、どれくらいの報酬(スコア)が得られるか?」を予測するもの。

モデルフリー
DQNなどのモデルフリーとされる手法では、「モデル」を持ちません。エージェントは「なぜそうなるか」を考えず、ひたすら「この状況ではこの行動が期待値(Q値)が高い」という反応だけを覚えます。
例: 目を瞑って、何度も転びながら自転車の乗り方を体に染み込ませるようなものです(反射的な学習)。

モデルベース
世界モデルなどのような手法では「モデル」を学習します。エージェントは現実で動く前に、頭の中に「世界はこう動くはずだ」というシミュレータを構築します。
例: 頭の中で「右に曲がったら壁にぶつかるな」とシミュレーションしてから、安全な道を選ぶようなものです(論理的な思考)。

3. 具体的なアルゴリズム

3-1.TD法

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

3-2.モンテカルロ法

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

3-3.Q学習

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

3-4.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

3-5.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関数を使う。

3-6.REINFORCE

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

4.重要な応用的技術用語

4-1.Bellmann方程式

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

4-2.方策勾配定理

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

4-3.ε-greedy方策

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

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

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

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

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

4-6.UCB1アルゴリズム

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

5.まとめ

強化学習といっても、深層以前と以後に大別でき、深層学習以前の手法でも多数の手法があり、特徴を理解することに非常に苦労した。
まずは、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

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?