SlideShare a Scribd company logo
1 of 42
強くなるロボティック・
ゲームプレイヤーの作り方
@St_Hakky
強くなるロボティック・ゲーム
プレイヤーの作り方の3章を
やります
3章:強化学習
• 3.1 強化学習の背景
• 3.1.1 最適制御理論
• 3.1.2 動的計画法
• 3.2 強化学習の構成
• 3.3 マルコフ決定過程
• 3.4 最適政策関数
• 3.5 状態価値関数
• 3.6 状態・行動価値関数
• 3.7 動的計画法の問題点
3.1 強化学習の背景
• 強化学習の歴史は長い
• 1890年代後半
• 心理学における動物の「試行錯誤学習」・「報酬学習」の研究
• 1950年代後半
• 制御学における「最適制御理論」の研究
• 1980年代後半
• 上の分野における研究成果は、コンピュータに適応的学習を
実現するためのアイデアとして長く培われ、「強化学習」の基
礎となった。
強化学習のバイブルなるものがあるらしい
• 1998年
• R. S. SuttonとG. Bartoが強化学習のバイブルとも言える
「Reinforcement Learning: An Introduction」を出版
• これらにより強化学習は一躍注目を浴びるように
強化学習とは
• 強化学習
• 動物の行動学習を最適制御理論により定式化し、様々
な数値解析手法を用いてコンピュータで実現するため
の研究
3.1.1 最適制御理論
• 最適制御とは
• 制御対象の挙動の良し悪しを表す目的関数を最大化
または最小化するように制御則を求める設計手法。
• 最適制御の結果は目的関数をどのように設定す
るかに大きく依存
• エネルギー消費、コスト、利得などで設定
目的関数の例
この問題を解くことにより得られる𝑢∗
(𝑥)を「最適な制御則」といい、 𝑢∗
(𝑥)に対する
制御対象の状態𝑥 𝑡
∗
の軌跡を「最適経路」という.
𝑇:制御の終了時刻
𝑥 𝑡:時刻における制御対象の状態変数
𝑢(𝑥):状態𝑥における制御命令を出力する関
数(制御則)
𝑥′
= 𝑔(𝑥、𝑢):状態𝑥において制御命令𝑢を実
行した時に遷移する先の状態𝑥′を出力する関
数
𝑐𝑜𝑠𝑡(𝑥、𝑢):状態𝑥において制御命令𝑢を実行
するコストを出力する関数
コストを最小化する制御則は以下の目的関数を最小にする𝑢で与えられる
最適制御理論の問題点
• 最適制御問題は、実際には解析的に解くことが不
可能な場合が多い
• 「動的計画法」などのアルゴリズムを用いて数値解析的
に解く必要がある
3.1.2 動的計画法
• 「最適性原理」に基づき、最適化問題を部分問題
に分割し、各部分問題の解を求めて合わせること
により元の問題の解を得るというアルゴリズム
• 最適性原理とは
• 任意の初期状態に関して決定した最適な制御則は、最
適経路上における残りの期間においても最適であるこ
と。
最適性原理と動的計画法の例
• ここで最適性の原理と動的計画法の簡単な例を
紹介する。
最適性原理と動的計画法の例
• まず、最適制御問題を離散時間(時間ステップ
∆𝑡 = 1)で次のように表現。
𝐽0
∗
(𝑥0):状態𝑥0に関する時刻0から終了時刻𝑇までの
最小コストを出力する関数(最小コスト関数)
最適性原理と動的計画法の例
• 同様に、時刻𝑡における最小コスト𝐽𝑡
∗
(𝑥 𝑡)を考えれ
ば、最適性原理より次の関係が成り立つ。
𝐽0
∗
(𝑥0)の表現に時刻𝑡 = 1以降の最小コスト関数𝐽1
∗
(𝑥1)が現れるた
め、 𝐽0
∗
(𝑥0)の解𝑢∗
(𝑥)は、任意の初期状態𝑥0および時刻𝑡 = 1以降
の経路においても最適な制御則を持つ。
最適性原理と動的計画法の例
動的計画法のアルゴリズムは、一般的な数値
計算手法を用いて、最初に時刻𝑇の方程式を
解く
そして、再帰的に時刻𝑇 − 1、 𝑇 − 2、 … 、1,0の方程式を解き、最終的に最適
な制御則𝑢∗を求める
つまり、時刻𝑡での最適値𝐽𝑡
∗
(𝑥 𝑡)は、次の時刻
𝑡 + 1の最適値𝐽𝑡+1
∗
(𝑥 𝑡+1)を用いて表される
これは時間の経過と逆向きの漸化式となって
いる
同様の変形を再帰的に繰り返すと、目的関数は離散時間に対して次の部分問題
に分割することが出来る。
3.2 強化学習の構成
• ここでは強化学習の構成を、人間・動物とコン
ピュータで比較して見る
• 人間・動物における強化学習の主な構成は、大き
く分けて「脳」・「体」・「環境」の3つの要素から成る
強化学習の構成
1. 大脳皮質の感覚野にて、視覚や体性感覚
に基づき体の「状態」を得る
2. 大脳基底核にて「行動」を決定し、大脳皮質
の運動野から体に「命令」を送信
3. 命令を受けた体は「行動」を実行
4. 大脳基底核は新しい状態に対する「報酬」
(満足感や不快感など)に基づき神経細胞回路
を更新
この一連の流れを試行錯誤的に繰り返し、よ
り多くの満足度を得るように神経細胞回路を
構築
コンピューター上での実現
• これをコンピュータ上で実現するために、 「学習
者」、 「制御対象」、「環境」の3つの要素で構成さ
れるシステムを考える。
コンピューター上での実現
1. 学習者は環境から制御対象の「状態」を入
力
2. 行動選択器にて「行動を決定」し、制御対象
に行動の「命令」を出力
3. 命令を受けた制御対象は「行動」を実行
4. 学習者は行動の結果に対する評価として
「報酬」を環境から受け取り、報酬に基づき行
動選択器を更新
この一連の流れを試行錯誤的に繰り返し、よ
り多くの報酬を得るように行動選択器を学習
する
即時報酬と長期報酬
• 即時報酬
• 行動を取った直後に得られる報酬
• 長期報酬
• 将来的に得られる報酬
• 神経細胞回路・行動選択器を報酬に応じて更新す
る際に重要なのは、即時報酬だけではなく、長期
報酬も考慮することである
強化学習の目的
• 簡潔にまとめると、「将来得られる報酬が最大にな
るように行動選択器を学習する」ことと言える
マルコフ決定過程
• 強化学習の問題のモデル化
• ここでは、「有限マルコフ決定過程」を用いる
• モデル化における仮定
• 制御対象の「状態」と「行動」の数は有限で、かつ時間
が離散である
マルコフ決定過程
マルコフ性
• 有限マルコフ決定過程では、問題が「マルコフ性」
をもつ確率過程に従うものと仮定
• マルコフ性とは
• 将来の制御対象の状態は現在の状態と行動にのみ依
存し、過去の状態と行動の軌跡には依存しない性質
状態遷移関数
制御対象が状態𝑠𝑡+1にいる条件付き確率は、状態𝑠𝑡と行動
𝑎 𝑡にのみ依存する
マルコフ性が成り立つと仮定したとき次の性質が成立
状態遷移関数𝑃 𝑇は、時刻𝑡における状態𝑠𝑡と行動𝑎 𝑡が与えら
れたときの状態𝑠𝑡+1の条件付き確率として定義される
政策関数
政策関数𝜋は制御対象の状態𝑠に応じて行動𝑎を選択する
確率を出力する。
マルコフ決定過程は、政策関数を導入することにより、学
習者の「行動決定」による状態変化を考慮している
• 報酬関数𝑅(𝑠𝑡、 𝑎 𝑡、 𝑠𝑡+1):制御対象の挙動の評
価である報酬を出力する関数
• 制御対象が状態𝑠𝑡にいる時に、行動選択器により選択
された行動𝑎 𝑡を取り、そして制御対象の状態が𝑠𝑡+1に
遷移した際に、その評価として学習者に与えられる報
酬を記述する。
報酬関数
• 報酬関数は設計者(人間)が問題に合わせて設計
する。
• 犬型ロボットの歩行動作を学習する問題において
単純に移動距離を報酬とする場合
• 𝑑𝑖𝑠𝑡(𝑠、𝑠′
):状態𝑠と𝑠′
間の距離
• 前進した場合:正の報酬
• 後退した場合:負の報酬
報酬関数:犬型ロボットの例
• 割引率𝛾(∈ 0、1 ):将来の報酬を割り引いて評
価するための変数
• 「ある報酬を今すぐ貰うのと、将来貰うのでは、報酬の
量は同じでも価値は異なり、遠い将来程価値が低くな
る」という考え方に基づく
• 時刻𝑡後に貰える報酬𝑟𝑡の価値を𝛾 𝑡倍して割引
割引率
3.4 最適政策関数
• ここで、強化学習の目的をより具体的に「将来得ら
れる割引き報酬の総和が最大になるように政策関
数𝝅(𝒂|𝒔)を学習する」とする。
最適政策関数
→「将来得られる割引き報酬の総和の期待値」
→問題がマルコフ決定過程であることを表す
最適政策関数
• この最適化問題の解が強化学習において求めた
い最適政策関数になる
• 収益
• 政策に従った時に得られる割引報酬の総和
• 時刻𝑡以降の収益を、𝑅𝑡
𝜋
と表記する
収益
最適制御問題との違い
• 強化学習法
• 制御対象の挙動の良し悪しを報酬により評価し、その
評価を最大化するように政策関数を求める
• 最適制御問題と異なる点
• 制御対象の状態遷移および政策関数が確率分布とし
て定義されている点
• 強化学習では、単に収益を最大化するのではなく、
収益の「期待値」を最大化する問題として定式化さ
れている点が特徴
• 動的計画法を用いて最適政策関数を求める場合
を考える。まず、「状態価値関数」と呼ばれる関数
を導入する。
3.5 状態価値関数
• 状態価値関数𝑉 𝜋は、任意の状態𝑠から始まり、政
策𝜋に従った場合に得られる収益の期待値を出力
する関数と解釈できる。
• ここで𝑉∗(𝑠)は、最適な状態価値関数と呼ばれ、最
適性の原理に基づき、次のように変形することが
出来る。
最適な状態価値関数
• 強化学習の問題は次の部分問題に分割できる
• 最適制御問題の例と同様に時間の経過と逆向き
の漸化式である。問題のモデルが既知であると仮
定した場合、これらの漸化式を再帰的に解ける
動的計画法
動的計画法
• 状態価値関数𝑉 𝜋を拡張した「状態・行動価値関
数」と呼ばれる関数𝑄 𝜋を導入する
状態・行動価値関数
• 状態価値関数𝑉 𝜋との違い
• 状態𝑠に加え、行動𝑎を入力に取る点
• これは、現在の状態𝑠では与えられた行動𝑎を取り、
次のステップ(𝑡 = 1)から政策𝜋に従った場合に、
得られる収益の期待値を出力する関数と解釈する
ことが出来る。
状態価値関数𝑉 𝜋との違い
状態・価値関数と状態行動価値関数の
関係
• また、状態・価値関数と状態行動価値関数の間に
は次の関係が成立
• 状態・行動価値関数を用いる利点としては、任意
の行動に対する収益の期待値(行動の価値)が明
示的に得られる点である。
動的計画法の問題点
問題のモデル𝑀が既知の場合、動的計画法を用いて強化学習の最適化
問題を解くことが出来るが、実際に強化学習を用いて解きたい問題では、
モデルが未知の場合がほとんどである。
動的計画法の問題点
例えモデルが既知の場合でも、確率的な動的計画法では、期待値を計
算するために全ての状態と行動の遷移を考慮するため、状態空間𝑆また
は行動空間𝐴が大きい場合は、計算量が膨大になる。

More Related Content

Viewers also liked

スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章Hakky St
 
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPsDeep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPsHakky St
 
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節Hakky St
 
【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章
【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章
【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章Hakky St
 
Diet networks thin parameters for fat genomic
Diet networks thin parameters for fat genomicDiet networks thin parameters for fat genomic
Diet networks thin parameters for fat genomicHakky St
 
スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習hagino 3000
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章Hakky St
 
Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Yuichi Yoshida
 
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8Hakky St
 

Viewers also liked (9)

スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 1章
 
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPsDeep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
 
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
 
【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章
【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章
【機械学習プロフェッショナルシリーズ】グラフィカルモデル1章
 
Diet networks thin parameters for fat genomic
Diet networks thin parameters for fat genomicDiet networks thin parameters for fat genomic
Diet networks thin parameters for fat genomic
 
スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展
 
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
Hands-On Machine Learning with Scikit-Learn and TensorFlow - Chapter8
 

強くなるロボティック・ ゲームプレイヤーの作り方3章

Editor's Notes

  1. つまりマルコフ決定過程Μの要素である(𝑆、 Α、 𝑃 𝑇 、 𝑅、 𝛾、 𝜋)