More Related Content
Similar to 人工知能2018 6 強化学習の基礎
Similar to 人工知能2018 6 強化学習の基礎 (20)
More from Hirotaka Hachiya
More from Hirotaka Hachiya (16)
人工知能2018 6 強化学習の基礎
- 4. 機械学習手法の種類
9
問題(データの条件など)と目的に合わせて適切な
機械学習方法を選択する必要がある
問題 定義 代表的な方法 応用例
教師あり学習 入力と出力のデータに基づき、
入力を出力に変換する関数を
学習
SVM, 最小二乗法、
決定木、ランダム
フォーレストなど
スパム分類、顔検出、一
般物体認識、将棋局面
の評価など
教師なし学習 入力のみの事例に基づき、
入力の特性 (パターン、構造)
を学習
PCA, LDA、HMMなど データの可視化
(クラスタリング、次元圧
縮)
半教師学習 入力のうち部分的に付与された
出力の事例に基づき
入力を出力に変換する関数を
学習
transductiveSVM,
Laplacian SVMなど
画像、音声、Webログな
どの大量データで、コス
トの問題で一部のデータ
のみしか出力(答え)が
付与されていない場合
強化学習 入力と、出力に対する報酬
(評価)のデータに基づき、
入力を出力に変換する関数を
学習
Q-learning、policy
iteration, policy
gradient
ロボット制御、Web広告
選択、マーケティング
- 6. 制御の例:Ball in a cup(けん玉)
11
目標:ロボットにボールをカップの中に入れる方策𝜋𝜋 𝑠𝑠 を獲得
ボール
カップ
ロボットアーム
- 12. 機械学習手法の種類
17
問題(データの条件など)と目的に合わせて適切な
機械学習方法を選択する必要がある
問題 定義 代表的な方法 応用例
教師あり学習 入力と出力のデータに基づき、
入力を出力に変換する関数を
学習
SVM, 最小二乗法、
決定木、ランダム
フォーレストなど
スパム分類、顔検出、一
般物体認識、将棋局面
の評価など
教師なし学習 入力のみの事例に基づき、
入力の特性 (パターン、構造)
を学習
PCA, LDA、HMMなど データの可視化
(クラスタリング、次元圧
縮)
半教師学習 入力のうち部分的に付与された
出力の事例に基づき
入力を出力に変換する関数を
学習
transductiveSVM,
Laplacian SVMなど
画像、音声、Webログな
どの大量データで、コス
トの問題で一部のデータ
のみしか出力(答え)が
付与されていない場合
強化学習 入力と、出力に対する報酬
(評価)のデータに基づき、
入力を出力に変換する関数を
学習
Q-learning、policy
iteration, policy
gradient
ロボット制御、Web広告
選択、マーケティング
- 16. 動物の行動学習:試行錯誤学習
21
心理学の行動主義者の学習の定義
行動や反応の変化として表れ、外部から観察できる現象
試行錯誤学習
Edward Thorndike(1874年‒1949年)
迷路のような箱の中で,猫は試行錯誤的に様々な行動を取る。
偶然にでも外に出る行動を取り,それを何度か繰り返すと,
やがて同じ行動が出現する頻度が高くなることを実験的に確認
猫が様々な行動をとる 偶然に外に出られた
強くなるロボティック・ゲームプレイヤーの作り方 八谷、杉山 2016
また箱にいれる
試行錯誤の過程を経て何度か繰り返すと、やがて同じ行動が出現する頻度が高くなる
【猫の問題箱実験】
行動後の「満足」または「不快」の度合いに応じて、
行動の出現頻度が学習の過程を経て変化
- 17. 動物の行動学習:報酬学習
22
報酬学習 【スキナーの箱実験】
何度か繰り返すと、レバーを押す頻度が高くなる
Burrhus Frederic Skinner(1904年‒1990年)
レバーを押すと餌が出る仕組みになっている箱の中で,ラット
が偶然にでもレバーを押し,餌を得ることを何度か繰り返すと,
ラットはレバーの近くにいることが多くなり,やがてレバーを押
す行動を取る頻度が高くなるのを実験的に確認
ラットが様々な行動をとる レバーを押す 餌が出る
満足を「餌」という「報酬」で明示的に与えた「試行錯誤学習」。
報酬に応じて行動の自発頻度が変化していく:報酬学習
強くなるロボティック・ゲームプレイヤーの作り方 八谷、杉山 2016
- 21. 強化学習の定式化
26
𝜋𝜋, 𝑅𝑅, 𝑃𝑃𝑇𝑇 に従う確率過程(マルコフ決定過程)を考える
価値関数:ステップ𝜏𝜏から始まる報酬和の期待値
目的:価値関数を最大化する方策𝜋𝜋∗
を獲得
𝑃𝑃𝑇𝑇 𝑋𝑋1
|𝑋𝑋0
, 𝑌𝑌0
状態𝑋𝑋0
で行動𝑌𝑌0
をとったとき状態𝑋𝑋1
に遷移する状態遷移確率
状態𝑋𝑋1
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
状態𝑋𝑋0
で行動𝑌𝑌0
を
選択する方策関数
𝑦𝑦1
行動𝑌𝑌0
𝑦𝑦2
𝑦𝑦3
𝜋𝜋 𝑌𝑌1|𝑋𝑋1
状態𝑋𝑋1
に遷移したときの報酬
𝑉𝑉𝜋𝜋
𝜏𝜏
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
��
𝑡𝑡=𝜏𝜏
𝑁𝑁
𝛾𝛾𝑡𝑡−𝜏𝜏 𝑅𝑅 𝑋𝑋𝑡𝑡, 𝑌𝑌𝑡𝑡, 𝑋𝑋𝑡𝑡+1 𝑋𝑋𝜏𝜏 = 𝑥𝑥
𝛾𝛾 ∈ (0,1] :割引率
遠い先の報酬ほど割り引く
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
初期状態𝑋𝑋0
𝑟𝑟1
= 𝑅𝑅 𝑋𝑋1
, 𝑌𝑌1
, 𝑋𝑋2
状態𝑋𝑋 𝑁𝑁+1
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
𝑟𝑟0
= 𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
状態𝑋𝑋2
に遷移したときの報酬
𝜋𝜋∗ = argmax
𝜋𝜋
𝑉𝑉𝜋𝜋
0
(𝑥𝑥)
- 22. 期待値の定義
27
1変数𝑋𝑋の場合:
2変数𝑋𝑋と𝑌𝑌の和の場合:
変数𝑌𝑌が𝑦𝑦と観測された場合:
E
𝑃𝑃 𝑋𝑋|𝑌𝑌(𝑋𝑋|𝑌𝑌)
|𝑌𝑌 + 𝑋𝑋 𝑌𝑌 = 𝑦𝑦 = ∑𝑗𝑗 𝑦𝑦 + 𝑥𝑥𝑗𝑗 𝑃𝑃𝑋𝑋|𝑌𝑌 𝑥𝑥𝑗𝑗|𝑦𝑦
E
𝑃𝑃 𝑋𝑋(𝑋𝑋)
𝑋𝑋 = �
𝑗𝑗
𝑥𝑥𝑗𝑗 𝑃𝑃𝑋𝑋 𝑋𝑋 = 𝑥𝑥𝑗𝑗
E
𝑃𝑃 𝑋𝑋(𝑋𝑋)
𝑋𝑋
確率変数
確率分布関数
期待値の記号
(Expectation)
E
𝑃𝑃 𝑋𝑋(𝑌𝑌)
𝑃𝑃 𝑋𝑋|𝑌𝑌(𝑋𝑋|𝑌𝑌)
𝑌𝑌 + 𝑋𝑋 = ∑𝑖𝑖 ∑𝑗𝑗 𝑦𝑦𝑖𝑖 + 𝑥𝑥𝑗𝑗 𝑃𝑃𝑋𝑋|𝑌𝑌 𝑥𝑥𝑗𝑗|𝑦𝑦𝑖𝑖 𝑃𝑃𝑌𝑌 𝑦𝑦𝑖𝑖
- 23. 価値関数の例
28
各ステップの価値関数
開始ステップが異なるが関数の形は同じ
𝑉𝑉𝜋𝜋
0
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
��
𝑡𝑡=0
𝑁𝑁
𝛾𝛾𝑡𝑡−0
𝑅𝑅 𝑋𝑋𝑡𝑡
, 𝑌𝑌𝑡𝑡
, 𝑋𝑋𝑡𝑡+1
𝑋𝑋0
= 𝑥𝑥
𝑉𝑉𝜋𝜋
1
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
��
𝑡𝑡=1
𝑁𝑁
𝛾𝛾𝑡𝑡−1 𝑅𝑅 𝑋𝑋𝑡𝑡, 𝑌𝑌𝑡𝑡, 𝑋𝑋𝑡𝑡+1 𝑋𝑋1 = 𝑥𝑥
𝑉𝑉𝜋𝜋
2
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
��
𝑡𝑡=2
𝑁𝑁
𝛾𝛾𝑡𝑡−2 𝑅𝑅 𝑋𝑋𝑡𝑡, 𝑌𝑌𝑡𝑡, 𝑋𝑋𝑡𝑡+1 𝑋𝑋2 = 𝑥𝑥
ステップ0:
ステップ1:
ステップ2:
- 24. 価値関数の漸化式表現
29
価値関数は漸化式で表現可能
𝑉𝑉0
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
��
𝑡𝑡=0
𝑁𝑁
𝛾𝛾𝑡𝑡
𝑅𝑅 𝑋𝑋𝑡𝑡
, 𝑌𝑌𝑡𝑡
, 𝑋𝑋𝑡𝑡+1
𝑋𝑋0
= 𝑥𝑥
= Ε
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
𝑃𝑃𝑇𝑇(𝑋𝑋1|𝑋𝑋0,𝑌𝑌0)
�𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
+ Ε
𝜋𝜋 𝑌𝑌𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
�
𝑡𝑡=1
𝑁𝑁
𝛾𝛾𝑡𝑡
𝑅𝑅 𝑋𝑋𝑡𝑡
, 𝑌𝑌𝑡𝑡
, 𝑋𝑋𝑡𝑡+1
𝑋𝑋0
= 𝑥𝑥
= Ε
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
𝑃𝑃𝑇𝑇(𝑋𝑋1|𝑋𝑋0,𝑌𝑌0)
�𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
+ 𝛾𝛾 Ε
𝜋𝜋 𝑌𝑌𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
��
𝑡𝑡=1
𝑁𝑁
𝛾𝛾𝑡𝑡−1
𝑅𝑅 𝑋𝑋𝑡𝑡
, 𝑌𝑌𝑡𝑡
, 𝑋𝑋𝑡𝑡+1
𝑋𝑋1
𝑋𝑋0
= 𝑥𝑥
= Ε
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
𝑃𝑃𝑇𝑇(𝑋𝑋1|𝑋𝑋0,𝑌𝑌0)
|𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
+ 𝛾𝛾𝑉𝑉1
(𝑋𝑋1
) 𝑋𝑋0
= 𝑥𝑥
𝑉𝑉1(𝑋𝑋1)
- 25. 各ステップの価値関数
30
ステップ
0
𝑉𝑉𝜋𝜋
0
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
𝑃𝑃𝑇𝑇(𝑋𝑋1|𝑋𝑋0,𝑌𝑌0)
|𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
+ 𝛾𝛾𝑉𝑉𝜋𝜋
1
(𝑋𝑋1
) 𝑋𝑋0
= 𝑥𝑥
ステップ
N
𝑉𝑉𝜋𝜋
𝑁𝑁
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑁𝑁|𝑋𝑋 𝑁𝑁
𝑃𝑃𝑇𝑇(𝑋𝑋 𝑁𝑁+1|𝑋𝑋 𝑁𝑁,𝑌𝑌 𝑁𝑁)
|𝑅𝑅 𝑋𝑋 𝑁𝑁
, 𝑌𝑌 𝑁𝑁
, 𝑋𝑋 𝑁𝑁+1
𝑋𝑋 𝑁𝑁
= 𝑥𝑥
ステップ
1
𝑉𝑉𝜋𝜋
1
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌1|𝑋𝑋1
𝑃𝑃𝑇𝑇(𝑋𝑋2|𝑋𝑋1,𝑌𝑌1)
|𝑅𝑅 𝑋𝑋1
, 𝑌𝑌1
, 𝑋𝑋2
+ 𝛾𝛾𝑉𝑉𝜋𝜋
2
(𝑋𝑋2
) 𝑋𝑋1
= 𝑥𝑥
𝑉𝑉𝜋𝜋
𝑁𝑁−1
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑁𝑁−1|𝑋𝑋 𝑁𝑁−1
𝑃𝑃𝑇𝑇(𝑋𝑋 𝑁𝑁|𝑋𝑋 𝑁𝑁−1,𝑌𝑌 𝑁𝑁−1)
|𝑅𝑅 𝑋𝑋 𝑁𝑁−1
, 𝑌𝑌 𝑁𝑁−1
, 𝑋𝑋 𝑁𝑁
+ 𝛾𝛾𝑉𝑉𝜋𝜋
𝑁𝑁
(𝑋𝑋 𝑁𝑁
) 𝑋𝑋 𝑁𝑁−1
= 𝑥𝑥ステップ
N-1
次のステップの
価値関数を参照
状態𝑋𝑋1
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
𝜋𝜋 𝑌𝑌1
|𝑋𝑋1
𝑅𝑅 𝑋𝑋1, 𝑌𝑌1, 𝑋𝑋2
𝑃𝑃𝑇𝑇 𝑋𝑋1
|𝑋𝑋0
, 𝑌𝑌0𝑦𝑦1𝜋𝜋 𝑌𝑌0
|𝑋𝑋0
行動𝑌𝑌0
𝑦𝑦2
𝑥𝑥3
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
初期状態𝑋𝑋0
𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
𝑉𝑉𝜋𝜋
0
(𝑥𝑥) 𝑉𝑉𝜋𝜋
1
(𝑥𝑥) 𝑉𝑉𝜋𝜋
𝑁𝑁
(𝑥𝑥)
状態𝑋𝑋 𝑁𝑁+1
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
𝑅𝑅 𝑋𝑋 𝑁𝑁
, 𝑌𝑌 𝑁𝑁
, 𝑋𝑋 𝑁𝑁+1
状態𝑋𝑋 𝑁𝑁
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
𝜋𝜋 𝑌𝑌 𝑁𝑁
|𝑋𝑋 𝑁𝑁 𝑃𝑃𝑇𝑇 𝑋𝑋 𝑁𝑁+1|𝑋𝑋 𝑁𝑁, 𝑌𝑌 𝑁𝑁𝑦𝑦1
行動𝑌𝑌 𝑁𝑁
𝑦𝑦2
𝑥𝑥3
- 26. 2状態チェーンウォーク問題
31
決定的な方策関数
確率「1」でどちらかの行動(𝐿𝐿または𝑅𝑅)を選択
各状態に行動が2種類あるので、方策は以下の4種類
状態:𝑋𝑋 ∈ 𝐴𝐴, 𝐵𝐵 行動:𝑌𝑌 ∈ 𝐿𝐿, 𝑅𝑅
𝐴𝐴 𝐵𝐵
𝐿𝐿 𝑅𝑅:右に移動
𝑅𝑅
𝐿𝐿:左に移動
報酬関数:𝑅𝑅 𝐵𝐵, 𝑅𝑅, 𝐵𝐵 = 1
それ以外は0
状態遷移確率
割引率:γ = 0.9
次の状態
ステップ数:𝑁𝑁 =2 初期状態確率:𝑃𝑃𝐼𝐼 A = 1
𝜋𝜋1 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋1 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐵𝐵 = 1
𝜋𝜋2 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋2 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐵𝐵 = 1
𝜋𝜋3 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋3 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐵𝐵 = 1
𝜋𝜋4 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋4 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐵𝐵 = 1
決定的な遷移:行動を取った方向に移動
部屋 部屋
A B
𝑃𝑃𝑇𝑇 � |A, L 1 0
𝑃𝑃𝑇𝑇 � |A, R 0 1
𝑃𝑃𝑇𝑇 � |B , L 1 0
𝑃𝑃𝑇𝑇 � |B, R 0 1
- 27. 価値関数の計算
32
方策𝜋𝜋1の場合:𝜋𝜋 𝐿𝐿 𝐴𝐴 = 1、𝜋𝜋 𝑅𝑅 𝐵𝐵 = 1
A B
𝑃𝑃𝑇𝑇 A, L,� 1 0
𝑃𝑃𝑇𝑇 A , R,� 0 1
𝑃𝑃𝑇𝑇 B , L,� 1 0
𝑃𝑃𝑇𝑇 B , R,� 0 1
状態:𝑋𝑋 ∈ A,B 行動:𝑌𝑌 ∈ L, R
𝐴𝐴 B
L R
RL
報酬関数:𝑅𝑅 𝐵𝐵, 𝑅𝑅, B = 1
それ以外は0
状態遷移確率
割引率:γ = 0.9
次の状態
ステップ数:𝑁𝑁 = 2 初期状態確率:𝑃𝑃𝐼𝐼 A = 1
𝑉𝑉𝜋𝜋1
2
𝐵𝐵 = Ε
𝜋𝜋1 𝑌𝑌2|𝑋𝑋2
𝑃𝑃𝑇𝑇(𝑋𝑋3|𝑋𝑋2,𝑌𝑌2)
|𝑅𝑅 𝑋𝑋2
, 𝑌𝑌2
, 𝑋𝑋3
𝑋𝑋2
= 𝐵𝐵
ステップ
2
𝑉𝑉𝜋𝜋1
2
𝐴𝐴 = Ε
𝜋𝜋1 𝑌𝑌2|𝑋𝑋2
𝑃𝑃𝑇𝑇(𝑋𝑋3|𝑋𝑋2,𝑌𝑌2)
|𝑅𝑅 𝑋𝑋2, 𝑌𝑌2, 𝑋𝑋3 𝑋𝑋2 = 𝐴𝐴
= 𝜋𝜋1 𝑅𝑅|A 𝑅𝑅 𝐴𝐴, 𝑅𝑅, 𝐵𝐵 𝑃𝑃𝑇𝑇 𝐵𝐵|𝐴𝐴, 𝑅𝑅 + 𝜋𝜋1 𝐿𝐿|𝐴𝐴 𝑅𝑅 𝐴𝐴, 𝐿𝐿, A 𝑃𝑃𝑇𝑇 𝐴𝐴|𝐴𝐴, 𝐿𝐿
=0 =1 =1=0 =0 =0
= 0
= 𝜋𝜋1 𝑅𝑅|𝐵𝐵 𝑅𝑅 𝐵𝐵, 𝑅𝑅, 𝐵𝐵 𝑃𝑃𝑇𝑇 𝐵𝐵|𝐵𝐵, 𝑅𝑅 + 𝜋𝜋1 𝐿𝐿|𝐵𝐵 𝑅𝑅 𝐵𝐵, 𝐿𝐿, 𝐵𝐵 𝑃𝑃𝑇𝑇 𝐵𝐵|𝐵𝐵, 𝐿𝐿
=1 =0 =1=1 =1 =0
= 1
行動Rをとる場合 行動Lをとる場合
行動Rをとる場合 行動Lをとる場合
- 28. 価値関数の計算 2
33
方策𝜋𝜋1の場合:𝜋𝜋 𝐿𝐿 𝐴𝐴 = 1、𝜋𝜋 𝑅𝑅 𝐵𝐵 = 1
状態:𝑋𝑋 ∈ A,B 行動:𝑌𝑌 ∈ L, R
𝐴𝐴 B
L R
RL
状態遷移確率
割引率:γ = 0.9
次の状態
ステップ数:𝑁𝑁 = 2 初期状態確率:𝑃𝑃𝐼𝐼 A = 1
𝑉𝑉𝜋𝜋1
1
𝐴𝐴 = Ε
𝜋𝜋1 𝑌𝑌1|𝑋𝑋1
𝑃𝑃𝑇𝑇(𝑋𝑋2|𝑋𝑋1,𝑌𝑌1)
�𝑅𝑅 𝑋𝑋1
, 𝑌𝑌1
, 𝑋𝑋2
+ 𝛾𝛾𝑉𝑉𝜋𝜋1
2
(𝑋𝑋2
) 𝑋𝑋1
= 𝐴𝐴
ステップ
1
𝑉𝑉𝜋𝜋1
1
𝐵𝐵 = Ε
𝜋𝜋1 𝑌𝑌1|𝑋𝑋1
𝑃𝑃𝑇𝑇(𝑋𝑋2|𝑋𝑋1,𝑌𝑌1)
�𝑅𝑅 𝑋𝑋1
, 𝑌𝑌1
, 𝑋𝑋2
+ 𝛾𝛾𝑉𝑉𝜋𝜋1
2
(𝑋𝑋2
) 𝑋𝑋1
= 𝐵𝐵
= 𝜋𝜋1 𝐿𝐿|𝐴𝐴 𝑅𝑅 𝐴𝐴, 𝐿𝐿, A + 𝛾𝛾𝑉𝑉𝜋𝜋1
2
𝐴𝐴 𝑃𝑃𝑇𝑇 𝐴𝐴|𝐴𝐴, 𝐿𝐿 = 1 ∗ 0 + 0.9 ∗ 0 ∗ 0 = 0
行動Lをとる場合
= 𝜋𝜋1 R|B 𝑅𝑅 𝐵𝐵, 𝑅𝑅, 𝐵𝐵 + 𝛾𝛾𝑉𝑉𝜋𝜋1
2
𝐵𝐵 ∗ 𝑃𝑃𝑇𝑇 𝐵𝐵|𝐵𝐵, 𝑅𝑅 = 1 ∗ 1 + 0.9 ∗ 1 ∗ 1 = 1.9
行動Rをとる場合
A B
𝑃𝑃𝑇𝑇 � |A, L 1 0
𝑃𝑃𝑇𝑇 � |A, R 0 1
𝑃𝑃𝑇𝑇 � |B , L 1 0
𝑃𝑃𝑇𝑇 � |B, R 0 1
報酬関数:𝑅𝑅 𝐵𝐵, 𝑅𝑅, B = 1
それ以外は0
- 29. 課題1
34
方策𝜋𝜋1のステップ0の価値関数を求め、方策𝜋𝜋1について
考察しなさい。
𝜋𝜋 𝐿𝐿 𝐴𝐴 = 1、𝜋𝜋 𝑅𝑅 𝐵𝐵 = 1
状態:𝑋𝑋 ∈ A,B 行動:𝑌𝑌 ∈ L, R
𝐴𝐴 B
L R
RL
状態遷移確率
割引率:γ = 0.9
次の状態
ステップ数:𝑁𝑁 = 2 初期状態確率:𝑃𝑃𝐼𝐼 A = 1
ステップ0
𝑉𝑉𝜋𝜋
0
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
𝑃𝑃𝑇𝑇(𝑋𝑋1|𝑋𝑋0,𝑌𝑌0)
|𝑅𝑅 𝑋𝑋0, 𝑌𝑌0, 𝑋𝑋1 + 𝛾𝛾𝑉𝑉𝜋𝜋
1
(𝑋𝑋1) 𝑋𝑋0 = 𝑥𝑥
𝑉𝑉𝜋𝜋1
1
𝐴𝐴 = 0 𝑉𝑉𝜋𝜋1
1
𝐵𝐵 = 1.9
ステップ1の価値関数:
A B
𝑃𝑃𝑇𝑇 � |A, L 1 0
𝑃𝑃𝑇𝑇 � |A, R 0 1
𝑃𝑃𝑇𝑇 � |B , L 1 0
𝑃𝑃𝑇𝑇 � |B, R 0 1
報酬関数:𝑅𝑅 𝐵𝐵, 𝑅𝑅, B = 1
それ以外は0
- 30. 価値の列挙法
36
決定的な方策と、価値を列挙し、最大価値の方策を選択
必要な演算数(価値関数の計算回数)
3ステップ2状態チェインウォークの場合:(2×2)×2×3=24回
実問題では状態数が膨大
(状態数×行動数) × 状態数 × ステップ数
方策の数 各方策で計算する価値の数
ゲーム 局面の数
将棋 10の226乗
囲碁 10の360乗
方策 価値
𝜋𝜋1 𝑉𝑉𝜋𝜋1
0
𝐴𝐴 = 0, 𝑉𝑉𝜋𝜋1
0
𝐵𝐵 = 2.71
𝜋𝜋2 𝑉𝑉𝜋𝜋2
0
𝐴𝐴 = 0, 𝑉𝑉𝜋𝜋2
0
𝐵𝐵 = 0
𝜋𝜋3 𝑉𝑉𝜋𝜋3
0
𝐴𝐴 = 0, 𝑉𝑉𝜋𝜋3
0
𝐵𝐵 = 0
𝜋𝜋4 𝑉𝑉𝜋𝜋4
0
𝑥𝑥 = 1.71, 𝑉𝑉𝜋𝜋4
0
𝑥𝑥 = 2.71
最大の価値
状態:𝑋𝑋 ∈ A,B 行動:𝑌𝑌 ∈ L, R
𝐴𝐴 B
L R
RL
割引率:γ = 0.9
ステップ数:𝑁𝑁 = 2 初期状態確率:𝑃𝑃𝐼𝐼 A = 1
𝜋𝜋1 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋1 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐵𝐵 = 1
𝜋𝜋2 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋2 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐵𝐵 = 1
𝜋𝜋3 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋3 𝑌𝑌 = 𝐿𝐿 𝑋𝑋 = 𝐵𝐵 = 1
𝜋𝜋4 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐴𝐴 = 1 𝜋𝜋4 𝑌𝑌 = 𝑅𝑅 𝑋𝑋 = 𝐵𝐵 = 1
報酬関数:𝑅𝑅 𝐵𝐵, 𝑅𝑅, B = 1
それ以外は0
- 32. 動的計画法
38
価値関数の最大化を2ステップずつ解く
𝑁𝑁ステップ目の価値を計算し、最大の価値𝑉𝑉𝜋𝜋∗
𝑁𝑁
𝑥𝑥 を選択
次の1と2を𝑡𝑡 = 𝑁𝑁 − 1, 𝑁𝑁 − 2, … , 2,1,0と繰り返す
1. 𝑡𝑡ステップの価値𝑉𝑉𝜋𝜋
𝑡𝑡
(𝑥𝑥)を、 𝑡𝑡+1ステップの最大価値𝑉𝑉𝜋𝜋∗
𝑡𝑡+1
𝑥𝑥 を用いて計算
2. 最大の価値𝑉𝑉𝜋𝜋∗
𝑡𝑡
𝑥𝑥 を選択
𝑉𝑉𝜋𝜋
𝑡𝑡
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑡𝑡|𝑋𝑋𝑡𝑡
𝑃𝑃𝑇𝑇(𝑋𝑋𝑡𝑡+1|𝑋𝑋𝑡𝑡,𝑌𝑌𝑡𝑡)
|𝑅𝑅 𝑋𝑋𝑡𝑡, 𝑌𝑌𝑡𝑡, 𝑋𝑋𝑡𝑡+1 + 𝛾𝛾𝑉𝑉𝜋𝜋∗
𝑡𝑡+1
(𝑋𝑋𝑡𝑡+1) 𝑋𝑋𝑡𝑡+1 = 𝑥𝑥
𝑉𝑉𝜋𝜋
𝑁𝑁
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌 𝑁𝑁|𝑋𝑋 𝑁𝑁
𝑃𝑃𝑇𝑇(𝑋𝑋 𝑁𝑁+1|𝑋𝑋 𝑁𝑁,𝑌𝑌 𝑁𝑁)
|𝑅𝑅 𝑋𝑋 𝑁𝑁, 𝑌𝑌 𝑁𝑁, 𝑋𝑋 𝑁𝑁+1 𝑋𝑋 𝑁𝑁 = 𝑥𝑥
- 33. 動的計画法の例
39
価値の計算回数は12回、最適な方策は𝜋𝜋 R 𝐴𝐴 = 1、𝜋𝜋 𝑅𝑅 𝐵𝐵 = 1
𝑉𝑉𝜋𝜋
2
𝐴𝐴 = 0
𝑉𝑉𝜋𝜋′
2
𝐴𝐴 = 0
𝐴𝐴
ステップ2
𝐵𝐵 𝑉𝑉𝜋𝜋′
2
𝐵𝐵 = 1
𝑉𝑉𝜋𝜋
2
𝐵𝐵 = 0
𝑉𝑉𝜋𝜋∗
2
𝐴𝐴 = 0
𝑉𝑉𝜋𝜋
1
𝐴𝐴 = 0
𝑉𝑉𝜋𝜋′
1
𝑥𝑥 = 0.9
𝑉𝑉𝜋𝜋′
1
𝑥𝑥 = 1.9
𝑉𝑉𝜋𝜋
1
𝑥𝑥 = 0
𝑉𝑉𝜋𝜋∗
1
𝐵𝐵 = 1.9
𝑉𝑉𝜋𝜋∗
1
𝐴𝐴 = 0.9
𝑉𝑉𝜋𝜋∗
2
𝐵𝐵 = 1
𝐴𝐴
𝐵𝐵
ステップ3
𝐴𝐴
𝐵𝐵
ステップ1
𝑉𝑉𝜋𝜋
0
𝐴𝐴 = 0.81
𝑉𝑉𝜋𝜋′
0
𝑥𝑥 = 1.71
𝑉𝑉𝜋𝜋′
0
𝑥𝑥 = 2.71
𝑉𝑉𝜋𝜋
0
𝑥𝑥 = 0.81
𝑉𝑉𝜋𝜋∗
1
𝐵𝐵 = 2.71
𝑉𝑉𝜋𝜋∗
1
𝐴𝐴 = 1.71
𝐴𝐴
𝐵𝐵
ステップ0
状態:𝑋𝑋 ∈ A,B 行動:𝑌𝑌 ∈ L, R
𝐴𝐴 B
L R
RL
報酬関数:𝑅𝑅 𝐵𝐵, 𝑅𝑅, B = 1
それ以外は0
状態遷移確率
割引率:γ = 0.9
次の状態
ステップ数:𝑁𝑁 = 2 初期状態確率:𝑃𝑃𝐼𝐼 A = 1
𝑉𝑉𝜋𝜋
𝑡𝑡
(𝑥𝑥) = Ε
𝜋𝜋 𝑌𝑌0|𝑋𝑋0
𝑃𝑃𝑇𝑇(𝑋𝑋1|𝑋𝑋0,𝑌𝑌0)
|𝑅𝑅 𝑋𝑋0
, 𝑌𝑌0
, 𝑋𝑋1
+ 𝛾𝛾𝑉𝑉𝜋𝜋
𝑡𝑡+1
(𝑋𝑋𝑡𝑡+1
) 𝑋𝑋𝑡𝑡
= 𝑥𝑥
A B
𝑃𝑃𝑇𝑇 � |A, L 1 0
𝑃𝑃𝑇𝑇 � |A, R 0 1
𝑃𝑃𝑇𝑇 � |B , L 1 0
𝑃𝑃𝑇𝑇 � |B, R 0 1