Presentation is loading. Please wait.

Presentation is loading. Please wait.

電機情報工学専門実験 6. 強化学習シミュレーション

Similar presentations


Presentation on theme: "電機情報工学専門実験 6. 強化学習シミュレーション"— Presentation transcript:

1 電機情報工学専門実験 6. 強化学習シミュレーション

2 強化学習(Reinforcement Learning: RL)
環境 報酬 r Agent 状態 s (観測) 行動 a 方策(行動の取り方) π に 従って行動選択

3 ○ RL Agent の目的 ・・・ 最終的に得られる総報酬を最大化すること
「上の目的を達成できるよう方策 π を最適化」 π は一般的に                  で表現される 条件付き確率: 時刻 t でAgent の状態が s である下で、 行動 a を取る確率 総報酬(収益) (T :最終時間ステップ) ただし、T = ∞ で も ∞ となるので、通常は の最大化を考える(      ;  :割引率)

4 マルコフ決定過程(MDP) 通常、得られる報酬は Agent の過去の振舞に依存 過去の全行動を考慮することは困難
多くの RL 問題では、マルコフ決定過程(MDP)下の環境を取扱う MDP ・・・ 次状態 st+1 は、st と at “のみ”で決まる MDP における状態遷移確率   、報酬の期待値   は以下で表される

5 とすると、 方策 π に従う Agent が状態 s で行動 a を取ると、 以降得られる報酬は 行動価値関数 以降の行動も π に従うとすると、 と書ける に関する Bellman 方程式

6 RL では      を最大とするようなある π (最適方策)を知りたい!
二つの方策 π と π’ がある時、全状態で ならば、 π は π’ と同等か、それ以上 他の全方策より良い or 同等の方策 ・・・ 最適方策 π*                          (必ず一つ以上存在) π* の持つ最適行動価値関数は、 で計算可能(Bellman 最適方程式)

7 DP ・・・ (1) 環境のモデル( と )が存在すること (2) 環境がMDPでモデル化
を求める方法 ○ 動的計画法(Dynamic Programming: DP) ○ RL ー 最適方策獲得の条件 - DP ・・・ (1) 環境のモデル(  と  )が存在すること       (2) 環境がMDPでモデル化 多くのRL ・・・ (1) 環境がMDPでモデル化

8 動的計画法(DP) DP ・・・ Agent が経験し得る全状態の価値関数を、反復動作 によって獲得する手法 ○ 価値関数更新の手順
     によって獲得する手法 ○ 価値関数更新の手順 全ての s において V(s) の値を V0(s) へ初期化(通常は0) 全ての s において以下を実行 全ての s において計算した | Vk(s) – Vk-1(s) | の最大値が任意の小さな値δ未満となるまで2. を繰り返し

9 RL (Q-learning) RL ・・・ 環境のモデル( , )を必要とせず、試行錯誤 的に最適方策を学習する手法 大別すると・・・
方策オン型 : sarsa, sarsa(λ) 方策オフ型 : TD法, TD(λ) 実験では、方策オフ型の代表的手法である、 Q-learning (TD(0)) を取り上げる

10 Q-learning のアルゴリズム1 Q-learning では、DPのように環境のモデルが既知でなくても、
以下の条件が満たされる状況において、無限大の繰り返しを経て 最適方策へ収束することが保障されている 挙動方策(テキスト参照)が、全状態行動対を選択する可能性を確保している 学習率αが以下の式を満たす ※ 条件2. は、学習率が漸進的に減少することを意味しているが、 実験では簡単のため、αの値は一定とする

11 Q-learning のアルゴリズム2 Q-learning におけるQ値(Q(s, a)) の更新手順 Q(s, a) を任意の値へ初期化
挙動方策(例:ε-グリーディ方策など)に従って行動選択 行動 a を選択した結果、報酬 r と次状態 s’ を観測した時、以下の更新式に従ってQ値を更新 s が終端状態(最終的な目標状態)ならば終了して、2. へ戻り学習を繰り返し。学習自体の終了条件を満たしている場合は学習を終了

12 C 言語によるプログラムについて ・ コンパイルは、cc 、または gcc を用いて下さい。
 例) test1.c というファイルをコンパイルして、test1run という     実行ファイルを作る場合は、            cc –o test1run test1.c [Return]     と入力     このファイルを実行する場合は、            ./test1run (つまり、 ./実行ファイル名)     と入力すれば良い ・ C言語によるプログラミングに関する参考サイト  「0から始めるC言語学習帳」:       「C言語講座」:     

13 E-mail が一番確実(すぐ返信できるとは限りません)
実験時間外の質問・問い合わせについて が一番確実(すぐ返信できるとは限りません) 居室まで直接来てもらっても構いません(2号館2階220A) (曜日、時間帯によっては不在の場合も) 実験情報に関するHP:

14 演習室でのブラウザ利用について まず、proxy の設定を行ってください
Firefox を開く(マウスの右クリックメニューで選択 or “firefoxl” とキーボードから入力) メニューの「編集」→「設定」→「詳細」を選択し、表示されたウィンドウの「ネットワーク」タブを選択 「接続設定」をクリックして、HTTPプロキシを    proxy-b.mains.nitech.ac.jp    ポートを    8080   に設定する


Download ppt "電機情報工学専門実験 6. 強化学習シミュレーション"

Similar presentations


Ads by Google