SlideShare a Scribd company logo
1 of 146
Download to read offline
1
Chubu University
MACHINE PERCEPTION AND ROBOTICS GROUP
深層強化学習
~ 強化学習の基礎から応用まで ~
Tsubasa Hirakawa
Machine Perception & Robotics Group・Chubu University
深層強化学習
~ 強化学習の基礎から応⽤まで ~
2021.6.10
平川 翼(中部⼤学)
2
強化学習が注目され始めた理由(1)
• Deep Q-Network (DQN) の登場 [Minh+, 2013, 2015]
- 強化学習 + 深層学習
- Atari 2600ゲームで人間のスコアを超える
http://urx.blue/NSDm
http://urx.blue/NSGu
3
強化学習が注目され始めた理由(2)
• AlphaGoの登場 [Silver+, 2016]
- 囲碁の世界チャンピオンに勝利
http://y2u.be/WCfgaqfRwZY
従来では扱えなかった複雑なタスクに強化学習を適用可能
4
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ
モデルフリー
モデルベース(ゲームAI)
Monte-Carlo
Tree Search
Alpha o Alpha o ero Alpha ero
Alpha ol AlphaStar
M ero
※厳密には
モデルフリー
※厳密には
モデルフリーが導入されている
信頼区間法に基づく方策改善
並列化
LSTMの導入
並列化
近接勾配法に基づく方策改善
決定的方策勾配への変更
Off-Policy化
深層学習の導入
並列化・Advantageの導入
補助タスクの導入
データ収集と学習の分割
方策のエントロピー最大化による
探索の効率化
Off-Policy化
Experience Replay
複数のtarget networkの導入
価値評価のための
別モデル導入
Advantageの導入
報酬の期待値を計算
ノイズ付与による
探索の効率化
サンプリングの優先順位を導入
深層学習の導入
デモンストレーションによる事前学習
全てを統合 並列化 LSTMの
導入
内部報酬による
探索の効率化
2つを統合
内部報酬と
並列化
Meta-Controller
5
おことわり
• 強化学習の中で様々な分類方法が存在し,それぞれに対して手法が存在しています
- 一つの分類方法だけでも,記載していない多数のアプローチがあります
• 深層強化学習ではネットワーク構造はあまり変わらない
- 学習方法そのものを改良することがほとんどです
• 同じネットワークで学習方法を変えて精度比較
• 様々な定理・証明・数理モデルから導き出されています
- 本質的な理解のためには,数理モデルの理解が必要
- チュートリアルの時間内で全てを説明するのは難しい
6
本チュートリアルの目的とコンセプト
• 深層強化学習について俯瞰的に理解する
- 深層学習の基本的な知識はあるものとして解説します
• コンセプト
- できるだけ数式は使わない(※本質的な理解のためには必須です)
• マルコフ決定過程(Markov Decision Process; MDP)
• ベルマン方程式(Bellman Equation)
- 深層強化学習手法の分類方法を理解する
• モデルベース・モデルフリー
• On-Policy・Off-Policy
• Value-based・Policy-based・Value + Policy
- 深層強化学習の発展のポイントとなった手法・考え方を抑えて最新手法に到達するまでを理解する
7
本発表(70分)
1. 強化学習の基本的な考え方
2. 深層強化学習のアルゴリズム
- 価値ベース
- 方策ベース
3. 深層強化学習の応用例・活用のポイント
補足資料(動画)
a. 深層強化学習のアルゴリズム
- 本発表で紹介できなかった手法
- 価値 + 方策 (Actor-Critic)
b. 深層強化学習を使うためのツール・フレームワーク
目次
8
強化学習の基本的な考え方
機械学習における位置づけ
強化学習の用語
報酬
探索
9
教師ラベル:dog
強化学習の位置付け(1)
• 入力と出力の関係を学習
- 教師(正解)が存在する
- 教師と同じ答えを出力するようなモデルを学習
• 畳み込みニューラルネットワーク など
機械学習
教師なし学習 強化学習
教師あり学習
教師あり学習
10
強化学習の位置付け(2)
• データの構造を学習
- 教師(正解)は存在しない
- 類似したパターンのグループを見つけるような問題
• クラスタリング など
赤色の成分
物体の丸さ
データの集合
クラスタリング
機械学習
教師なし学習 強化学習
教師あり学習
11
強化学習の位置付け(3)
• 報酬を最大化するような行動を学習
- 教師(正解)が存在しない
- 代わりに報酬が与えられる
• 報酬を手掛かりに学習
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
機械学習
教師なし学習 強化学習
教師あり学習
12
強化学習の用語(1)
• エージェント:行動する主体
(ロボット)
• 環境:エージェントが働きかける対象
(ロボットが移動する迷路)
• 状態:エージェントが置かれている環境
(迷路の中での位置)
• 行動:エージェントの環境に対する働きかけ
(隣接するマスへの上下左右移動)
• 方策:エージェントの行動規範
(今の状態でどこへ移動すれば良いか)
• 報酬:行動の結果の良さを表す値
(壁にぶつかると-1点,ゴールすると+100点)
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
13
強化学習の用語(2)
• 行動価値 (Q値) :エージェントの行動の良さを表す数値・指標
(ゴールへ近づく方向への移動では+10,離れる方向への移動は-1 )
• 状態価値 (V値):状態がどの程度良いかを表す数値・指標
(ゴール付近のマス(状態)では+8,壁のマスでは-10 )
• エピソード:行動の開始 ~ 終了までの一連の動作
(スタートからゴールに到達するまで)
(スタートから壁にぶつかって終了するまで)
G G
S S
G G
S S
Q( ↓ ) = +10 Q( ← ) = -1
V = +8 V = -10
G G
S S
スタート ~ ゴール
(目的を達成して終了)
スタート ~ 壁に衝突
(目的を達成せず終了)
14
• 以下の動作を繰り返すことで,目的を達成しようとする
1. 現在の状態を観測
2. 観測を踏まえて行動を選択・行動
a. 状態が変化
b. 報酬を受け取る
強化学習の処理の流れ
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
15
- 環境:囲碁の盤面
- 行動:石を置く(19 x 19 = 361種類)
- エピソード:対局開始から終局までの行動
• AlphaGo
- エージェント:プレイヤー(AlphaGo)
- 状態:現在の盤面(白石・黒石の位置など)
- 報酬:勝利すれば+1点,負ければ-1点
その他の強化学習の例
エージェント
(ex. AlphaGo)
環境
(ex. 盤面)
状態観測部
行動選択
状態s
状態s’
観測
行動
報酬
https://www.nihonkiin.or.jp/
16
報酬について(1)
• (今は低くても)後で高い報酬が得られる可能性がある
- 即時報酬 … ある行動をとった直後に得られる報酬
- 価値(遅延報酬)… その後に得られる報酬を合計したもの
- 割引報酬和 … 未来の不確実性を報酬から割り引いた収益
• 𝛾 = 0 の場合(今が良ければそれで良い)
• 𝛾 = 0.9 の場合(将来のことを考えて行動する)
※ 𝛾 : 割引率
𝑅! = '
"#$
%
𝛾"
𝑟!&" = 𝑟! + 𝛾𝑟!&' + 𝛾(
𝑟!&( + ⋯
𝑅! = 𝑟!
𝑅! = 𝑟! + 0.9𝑟!&' + 0.81𝑟!&( + ⋯
17
探索
• より高い報酬が得られる行動をみつけるために探索(試行錯誤)を行う
- いろいろな状態とその時の行動パターンを試しながら,学習を行う
G
S
G
S
G
S
G
S
強化学習の目的
探索を繰り返して将来にわたって得られる報酬(価値)を最大化するような行動を学習
… … …
18
(深層)強化学習のアルゴリズム
モデルベース・モデルフリー
On-Policy・Off-Policy
価値ベース
方策ベース
価値 + 方策 (Actor-Critic)
19
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ
モデルフリー
モデルベース(ゲームAI)
Monte-Carlo
Tree Search
Alpha o Alpha o ero Alpha ero
Alpha ol AlphaStar
M ero
※厳密には
モデルフリー
※厳密には
モデルフリーが導入されている
信頼区間法に基づく方策改善
並列化
LSTMの導入
並列化
近接勾配法に基づく方策改善
決定的方策勾配への変更
Off-Policy化
深層学習の導入
並列化・Advantageの導入
補助タスクの導入
データ収集と学習の分割
方策のエントロピー最大化による
探索の効率化
Off-Policy化
Experience Replay
複数のtarget networkの導入
価値評価のための
別モデル導入
Advantageの導入
報酬の期待値を計算
ノイズ付与による
探索の効率化
サンプリングの優先順位を導入
深層学習の導入
デモンストレーションによる事前学習
全てを統合 並列化 LSTMの
導入
内部報酬による
探索の効率化
2つを統合
内部報酬と
並列化
Meta-Controller
20
● ロボットの位置
? 現在の状況
モデルベースとモデルフリー (1)
• モデルベース(モンテカルロ木探索・AlphaGo など)
- 環境からモデル(迷路の構造)を学習する
• 与えられた状況・選択肢の中で何が起こるかを考えて行動を決定する
• 探索した行動パターンからモデルの推定精度を改善していく
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
下移動を選択
? ? ?
下移動 右移動 上移動
…
…
…
右移動
?
壁にぶつかりそう…
下移動
?
その先にも道が続いていそう
21
? 現在の状況(状態)
● ロボットの位置
モデルベースとモデルフリー (2)
• モデルフリー(Deep Q-Network・Policy Gradient など)
- モデル(迷路全体がどんな構造になっているか)は学習せず,環境からのインタラクションで学習
• 今の状態でどの行動を取れば良いかを方策で直接決定
• 探索した行動パターンから方策を学習・改善していく
方策
右へ移動
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
モデルフリーを中心に説明します
22
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ 価値ベース・方策ベース ~
モデルフリー
今回のチュートリアルでは,価値ベースと方策ベースの分類に着目して順番に説明していきます
23
価値(Value)ベースの強化学習
24
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ 価値ベース・Q学習とSARSA ~
• 価値ベース手法の基本的な考え方
• 探索の方法(ε-greedy法)
• Off-PolicyとOn-Policy
- Q学習とSARSAの違い
25
価値ベース強化学習の考え方(1)
• 行動価値関数(Q関数)を用いて学習・行動決定
- ある状態で行動をとった時の良さを行動価値関数(Q関数)という
• 全ての状態と行動のペアに価値を付ける
- Q関数はテーブルとして表されている
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
■:スタート
■:ゴール
■:障害物(壁)
状態\行動 ↑ ↓ ← →
1,A 0 0 0 0
2,A 0 0 0 0
3,A 0 0 0 0
4,A 0 0 0 0
5,A 0 0 0 0
⋮ ⋮ ⋮ ⋮ ⋮
5,D 0 0 0 0
⋮ ⋮ ⋮ ⋮ ⋮
5,E (Goal) -- -- -- --
学習前の価値(全て価値0で初期化)
5x5の迷路 → 25個の状態(位置)
26
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
■:スタート
■:ゴール
■:障害物(壁)
価値ベース強化学習の考え方(3)
• 各ペアの価値を更新する
- 報酬が与えられる状態(ゴール)から徐々に価値を更新していく
状態\行動 ↑ ↓ ← →
1,A 7 34 6 3
2,A 0 0 0 0
3,A 10 13 7 36
4,A 11 7 32 41
5,A 14 45 35 12
⋮ ⋮ ⋮ ⋮ ⋮
5,D 24 50 32 31
⋮ ⋮ ⋮ ⋮ ⋮
5,E (Goal) -- -- -- --
学習後の価値
27
価値の更新方法
• 次の式に従い状態価値(Q値)を更新する
- 現在の価値にTemporal Difference誤差(TD誤差)を加える
• Temporal Difference誤差の計算方法
- Q学習 [Watkins and Dayan, 1992]
- SARSA [Rummery and Niranjan, 1994]
𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼Δ𝑄 ※ 𝑠 : 現在の状態
現在の価値 TD誤差 ※ 𝑎 : 現在の状態で取る行動
※ 𝛼 : 学習率
Δ𝑄 = 𝑟′ + 𝛾 max
!!
𝑄 𝑠′, 𝑎′ − 𝑄 𝑠", 𝑎"
Δ𝑄 = 𝑟′ + 𝛾𝑄 𝑠′, 𝑎′ − 𝑄 𝑠", 𝑎"
※ 𝑠′ : 次の状態
※ 𝑎′ : 次の状態で取る行動
※ 𝛾 : 割引率
※ 𝑟′ : 行動𝑎の結果得られる報酬
両者の違いは後ほど説明します
28
TD誤差の考え方(Q学習の場合)
- TD誤差が正(+):思っていたよりも良い行動だった
• 今とった行動の価値が高くなるように更新
- TD誤差が負(−):思っていたよりも悪い行動だった
• 今とった行動の価値が低くなるように更新
実際に行動してみた後の価値 - 自分が行動する前に思っていた行動の価値
Δ𝑄 = 𝑟"#$ + 𝛾 max
!!
𝑄 𝑠"#$, 𝑎% − 𝑄 𝑠", 𝑎"
現在の価値
となりの状態(マス)の中の最大の価値
29
利用と探索
• ε-greedyアルゴリズム
- 確率εを設定(例:ε=0.9)
- 確率1-εで価値が最大の行動を選択
- 確率ε/3で他の行動をランダムに選択
状態\行動 ↑ ↓ ← →
1,A 0 2 1 0
2,A 0 0 0 0
3,A 3 4 2 9
4,A 2 4 8 10
5,A 4 10 11 2
⋮ ⋮ ⋮ ⋮ ⋮
5,D 8 14 4 6
⋮ ⋮ ⋮ ⋮ ⋮
5,E (Goal) -- -- -- --
確率 1-ε で ← を選択
確率 ε/3 で ↑ を選択
確率 ε/3 で ↓ を選択
確率 ε/3 で → を選択
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
■:スタート
■:ゴール
■:障害物(壁)
30
1,A 2,A 3,A 4,A 5,A
1,B 2,B 3,B 4,B 5,B
1,C 2,C 3,C 4,C 5,C
1,D 2,D 3,D 4,D 5,D
1,E 2,E 3,E 4,E 5,E
On-PolicyとOff-Policy ~ SARSAとQ学習の違い ~(1)
• SARSAとQ学習でTD誤差を計算
SARSA
Q学習
Δ𝑄 = 𝑟′ + 𝛾 max
)!
𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎
状態\行動 ↑ ↓ ← →
1,A 0 2 1 0
2,A 0 0 0 0
3,A 3 9 2 6
4,A 2 4 8 10
5,A 4 10 11 2
⋮ ⋮ ⋮ ⋮ ⋮
Δ𝑄 = 𝑟* + 𝛾𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎
𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼Δ𝑄
𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼Δ𝑄
現在の状態𝑠で選択した行動𝑎
ε-greedyで選択した行動𝑎′
Δ𝑄 = 0 + 10 − 6 = 4
𝑄 ← 6 + 0.5 × 4 = 8
Δ𝑄 = 0 + 4 − 6 = −2
𝑄 ← 6 + 0.5 × −2 = 5
※ 割引率𝛾 = 1,学習率𝛼 = 0.5として計算
31
On-PolicyとOff-Policy ~ SARSAとQ学習の違い ~(2)
• 実際の行動(方策)に従って価値を更新
- ε-greedyで行動𝑎′を決定
- 行動𝑎′対するQ値を用いてTD誤差を計算
• On-Policy型の手法(後ほど紹介)
- SARSA, Policy Gradient, TRPO, PPO, Actor-Critic, …
• 実際の行動と価値更新に用いる行動が異なる
- ε-greedyで行動𝑎′を決定
- Q値が最大の行動𝑎′に基づいてTD誤差を計算
• Off-Policy型の手法(後ほど紹介)
- Q学習, DQNとその改良手法たち, DPG, DDPG, …
On-Policy(方策オン型) Off-Policy(方策オフ型)
価値ベースの深層強化学習ではOff-Policy(Q学習)が主流
Δ𝑄 = 𝑟′ + 𝛾 max
)!
𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎
Δ𝑄 = 𝑟*
+ 𝛾𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎
SARSA Q学習
32
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ 価値ベース・Q学習とSARSA ~
モデルフリー
モデルベース(ゲームAI)
Monte-Carlo
Tree Search
Alpha o Alpha o ero Alpha ero
Alpha ol AlphaStar
M ero
※厳密には
モデルフリー
On-Policy Off-Policy
※厳密には
強化学習が導入されている
33
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ Deep Q-Networkの登場 ~
• ニューラルネットワークによるQ関数(Qテーブル)の関数近似
• Deep Q-Network
• 深層強化学習の難しいところ
- 難しさを改善する基本の工夫
34
Q学習の問題点
• 大規模・複雑な問題では学習が難しい
- 取りうる状態の数を考えてみる
テーブルを作成して全ての価値を更新することは難しい
100 100の迷路 画像
(Atari・ブロック崩し)
84 84 pixels の グレースケール画像
5 5の迷路 囲碁
5 5 = 25 100 100 = 10000 256 84 84 約10 360
35
1,A 2,A 3,A 4,A 5,A
1,B 2,B 3,B 4,B 5,B
1,C 2,C 3,C 4,C 5,C
1,D 2,D 3,D 4,D 5,D
1,E 2,E 3,E 4,E 5,E
Q-Network [Tesauro, 1995]
• ニューラルネットワークでQ関数を表現
- 従来のQ学習:テーブルで全パターンの価値を保持
- Q-Network:ある状態の時の価値をニューラルネットワークで演算
状態 行動↑ 行動↓ 行動← 行動→
1,A 0 2 1 0
2,A 0 0 0 0
3,A 3 9 2 6
4,A 2 4 8 10
5,A 4 10 11 2
⋮ ⋮ ⋮ ⋮ ⋮
入力層 出力層
中間層
…
36
Q-Networkの処理の流れ(1)
• 入力:ある状態
• 出力:入力した状態での各行動の価値
入力層 出力層
中間層
↑の価値
↓の価値
←の価値
→の価値
1列目にいるかどうか
2列目にいるかどうか
3列目にいるかどうか
A行目にいるかどうか
B行目にいるかどうか
C行目にいるかどうか
D行目にいるかどうか
E行目にいるかどうか
4列目にいるかどうか
5列目にいるかどうか
…
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
37
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
Q-Networkの処理の流れ(2)
• 入力:ある状態
• 出力:入力した状態での各行動の価値
入力層 出力層
中間層
↑の価値
↓の価値
←の価値
→の価値
1列目にいるかどうか
2列目にいるかどうか
3列目にいるかどうか
A行目にいるかどうか
B行目にいるかどうか
C行目にいるかどうか
D行目にいるかどうか
E行目にいるかどうか
4列目にいるかどうか
5列目にいるかどうか
…
3列・A行にいる時
3列・A行にいる時の
38
• CartPoleの状態は4種類の連続値(※ ここでは値は全て-1.0 ~ 1.0とする)
- カートの位置
- カートの速度
- 棒の角度
- 棒の角速度
• 行動は2種類(右・左移動)
CartPoleにおけるQ-Networkの例(1)
状態 行動
カートの
位置
カートの
速度
棒の
角度
棒の
角速度
← →
+ + + + 0 0
+ + + − 0 0
+ + − + 0 0
+ + − − 0 0
+ − + + 0 0
+ − + − 0 0
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
カートの位置 カートの速度
棒の角度
棒の角速度
それぞれの数値を正負で分割した場合(量子化数=2)
状態数 = 24 = 16
39
• CartPoleの状態は4種類の連続値(※ ここでは値は全て-1.0 ~ 1.0とする)
- カートの位置
- カートの速度
- 棒の角度
- 棒の角速度
• 行動は2種類(右・左移動)
CartPoleにおけるQ-Networkの例(2)
状態 行動
カートの
位置
カートの
速度
棒の
角度
棒の
角速度
← →
-1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 0 0
-1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 0 0
-1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 0.0 ~ 0.5 0 0
-1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 0.5 ~ 1.0 0 0
-1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 -1.0 ~ -0.5 0 0
-1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 -0.5 ~ 0.0 0 0
-1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 0.0 ~ 0.5 0 0
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
それぞれの数値を4分割した場合(量子化数=4)
状態数 = 44 = 256
カートの位置 カートの速度
棒の角度
棒の角速度
40
• CartPoleの状態は4種類の連続値(※ ここでは値は全て-1.0 ~ 1.0とする)
- カートの位置
- カートの速度
- 棒の角度
- 棒の角速度
• 行動は2種類(右・左移動)
CartPoleにおけるQ-Networkの例(3)
入力層 出力層
中間層
←の価値
→の価値
カートの位置
カートの速度
棒の角度
棒の角速度
連続値で表現された状態を扱うことが可能
カートの位置 カートの速度
棒の角度
棒の角速度
41
Q-Networkの学習
• ネットワークの各層パラメータを更新
- ゴールへたどり着ける価値が出力されるパラメータを求める
確率的勾配降下法でパラメータ更新
…
↑の価値
↓の価値
←の価値
→の価値
1番にいるかどうか
2番にいるかどうか
3番にいるかどうか
25番にいるかどうか
順伝播 現在のパラメータで入力された状態に対する行動価値を出力
逆伝播 誤差をもとにパラメータを更新する
42
誤差の計算方法
• おさらい:強化学習には教師(正解)は存在しない
• TD誤差を使ってパラメータを更新する
𝜃 ← 𝜃 − 𝛼∇'𝐿'
𝛻'𝐿' = − 𝑟′ + 𝛾 max
!!
𝑄'(𝑠%, 𝑎%) − 𝑄' 𝑠, 𝑎 ∇'𝑄' 𝑠, 𝑎
※ 𝛼 : 学習率
TD誤差
TD誤差からの勾配の算出
パラメータの更新
※ 𝜃 : ネットワークのパラメータ
43
Deep Q-Network (DQN) [Mnih+, 2013 and 2015]
• Q-Networkに近年の深層学習の技術を導入
- 畳み込みニューラルネットワーク(CNN)を適用
- 局所解に陥らない最新の最適化手法を使用
深層学習技術の登場やGPUの性能向上で多層のネットワークが扱えるようになった
→ より複雑なタスクを解くことが可能に
44
深層強化学習の難しいところ
• 単純な学習アルゴリズムでは学習が難しい
- 学習が収束しない(終わらない)
- 学習が終了しても,望んだ動作が得られない
• なぜ学習が難しいのか?
- あらゆる状況を経験しなければいけない
- パラメータの更新が難しい
- 報酬がなかなか得られない場合(報酬が疎な場合)がある(後ほど説明します)
45
安定した学習をするために
• 様々な工夫を取り入れている
- Experience replay
• たくさんの経験を蓄積してからランダムに学習に使用する
- Target Q-Network
• 目標値を計算するネットワークのパラメータを固定
- Reward Clipping
• 報酬のスケールを一定にする
46
Experience replay [Lin, 1992]
• 過去に経験した行動パターンを保存
- 行動遷移(経験)をreplay bufferに沢山ため込む
(現在の状態,選択した行動,行動後の状態,もらえる報酬)を1セットにしたもの
- 蓄積した行動セットをランダムに複数選択して学習に使用
• 画像認識のミニバッチ学習と同じ処理
• 過学習を抑制
パラメータの学習
…
Replay buffer
経験を蓄積
ランダムに選択
47
Target Q-Network(1)
• 目標値を計算するネットワークのパラメータを固定して学習
- 目標値が常に同じものが出力される
- 一定の更新回数で固定値を同期(例:10000回に1回)
…
↑の価値:4
↓の価値:5
←の価値:8
→の価値:10 … 𝑄 𝑠!, 𝑎!
…
↑の価値:11
↓の価値:10
←の価値:15
→の価値:20 … max
"!
𝑄 𝑠!#$, 𝑎%
Δ𝑄 = 𝑟!&' + 𝛾 max
)!
𝑄 𝑠!&', 𝑎*
− 𝑄 𝑠!, 𝑎!
例)学習1~10000回目
最新のパラメータ
(学習で更新し続ける)
学習1回目のパラメータで固定
48
Target Q-Network(2)
• 目標値を計算するネットワークのパラメータを固定して学習
- 目標値が常に同じものが出力される
- 一定の更新回数で固定値を同期(例:10000回に1回)
…
↑の価値:4
↓の価値:5
←の価値:8
→の価値:10 … 𝑄 𝑠!, 𝑎!
…
↑の価値:11
↓の価値:10
←の価値:15
→の価値:20 … max
"!
𝑄 𝑠!#$, 𝑎%
Δ𝑄 = 𝑟!&' + 𝛾 max
)!
𝑄 𝑠!&', 𝑎*
− 𝑄 𝑠!, 𝑎!
例)学習10001~20000回目
最新のパラメータを使用
(学習で更新し続ける)
学習10001回目の
パラメータで固定
49
Reward clipping
• 報酬を[-1, 1]の範囲にclip
- 報酬が負 … -1
- 報酬が正 … 1
- 目標値の急激な増大を抑制される
• 大きくパラメータを更新することがなくなる
• デメリット
- 報酬の大小を区別できなくなる
Δ𝑄 = 𝑟!&' + 𝛾 max
)!
𝑄 𝑠!&', 𝑎*
− 𝑄 𝑠!, 𝑎!
ゴールで+100点もらえるとしても+1点にする
50
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ 分散強化学習と効率的な経験の活用 ~
• 分散強化学習
- GORILA
• Prioritized Experience Replay
• それらを組み合わせた手法
- Ape-X
51
Prioritized experience replay [Schaul+, 2016]
• Experience replayの問題点
- 学習に使う経験(データ)をランダムに選択
- 学習に役立つ経験を選ぶのに時間がかかる
• Replay bufferにある経験に優先順位をつける
- 優先順位に従って学習に使う経験を選択
- 重要な経験を頻繁に再生することで学習を効率化
従来のExperience replay
経験1
経験2
経験3
経験4
replay buffer
ランダムに選択
…
経験2
経験3
経験4
経験1
replay buffer
優先順位1:
優先順位2:
優先順位3:
優先順位4:
Prioritized experience replay
…
優先順位が高いものから選択
52
深層強化学習の計算時間
• 強化学習は学習(計算)に非常に時間がかかります…
- エージェントを動かして様々な経験を蓄積する必要がある
- 小さいGPUサーバーでは数ヶ月の学習が必要になる場合も
• 通常のDQNでAtari 2600ゲームを学習すると10日以上はかかる
replay buffer
蓄積
一つずつ入力∼蓄積を繰り返す
大量の経験を蓄積するのに時間がかかる
…
1つだけネットワークを用意して学習する場合(Experience replay)
入力
53
環境 エージェント
環境 エージェント
環境 エージェント
環境 エージェント
GORILA [Nair+, 2015]
• DQNの並列化(分散学習)
- Actorを複数作成し,高速に大量の経験を収集
Back prop.
更新したパラメータ
を保存
パラメータをActorにコピー
経験を保存
学習に使う経験をランダムに選択
replay buffer
…
パラメータサーバ
パラメータを保存する場所
Actor (Worker)
様々な経験を収集する場所
Replay buffer
Actorで収集した経験を保存する場所
Learner
学習(パラメータ更新)する場所
54
APE-X [Horgan+, 2018]
• 分散処理にPrioritized Experience Replayを導入
- 分散処理で大量にデータを収集して有用なデータを活用
パラメータサーバ
パラメータを保存する場所
環境 エージェント
環境 エージェント
環境 エージェント
環境 エージェント
Actor (Worker)
様々な経験を収集する場所
Replay buffer
Actorで収集した経験を保存する場所
Learner
学習(パラメータ更新)する場所
Back prop.
更新したパラメータ
を保存
パラメータをActorにコピー
経験を保存
学習に使う経験を
優先順位に従い選択
経験2
経験3
経験1
replay buffer
1:
2:
N:
…
55
分散強化学習の効果 ~ APE-Xの結果 ~
• DQNをベースにAPE-Xを適用
- 学習速度,スコアも大幅に改善
全体精度 各ゲームのスコア(報酬)の学習推移
学習時間 [hours]
人間のスコアを1
とした時の各手法のスコア
(全てのゲームの中央値)
ー DQN
ー Rainbow
ー A3C(分散学習)
ー Ape-X(分散学習)
※ 分散学習では横軸は学習時間で示される
大量に経験を集めて,有用な経験を使うことが重要
56
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ 内部報酬の活用と人間を超えたスコアの達成 ~
• 内部報酬の考え方
• 内部報酬を導入した手法
- ICM
- RND
- NGU
- Agent57
57
深層強化学習の難しいところ(再掲)
• 単純な学習アルゴリズムでは学習が難しい
- 学習が収束しない(終わらない)
- 学習が終了しても,望んだ動作が得られない
• なぜ学習が難しいのか?
- あらゆる状況を経験しなければいけない
- パラメータの更新が難しい
- 報酬がなかなか得られない場合(報酬が疎な場合)がある
58
報酬が疎な例
ゴールにたどりつかいないと
報酬が得られない
報酬が得られる状況に出会えるように,効率的かつ大規模な探索が必要
Montezuma's Revenge
迷路の例
(ゴールにのみ報酬)
途中の報酬を手掛かりに
ゴールへ り着けそう
迷路の例
(ゴールと途中に報酬)
Atariの中でも難しいゲーム
(すぐに死んでしまう・報酬がほとんど得られない)
※通常のDQNではスコア0
報酬が密
(頻繁に報酬が得られる)
報酬が疎
(報酬ほとんど得られない)
59
内部報酬(好奇心)の導入
• 新しい状況に出会うと自発的に報酬が得られる様な機構をエージェント内部に導入
- 環境から受け取る報酬(外部報酬)と内部報酬を用いて学習
エージェント
(ex. ロボット)
環境
(ex. 迷路)
状態観測部
行動選択
状態s
状態s’
観測
行動
外部報酬
内部報酬
の機構
内部報酬
内部報酬によって効率的な探索を実現する
※ 価値ベース以外の強化学習手法を使用している手法もありますが,内部報酬は強化学習の分類(価値・方策ベース)には該当しません.
話の都合上,ここで内部報酬をまとめて紹介しています.
60
Intrinsic Curiosity Module (ICM) [Pathak+, 2017] (1)
• 特徴ベクトルの差から内部報酬を計算
1. 状態 𝑠!, 𝑠!&' から特徴量 𝜙 𝑠! , 𝜙(𝑠!&') を抽出
2. 行動 𝑎! と 𝜙 𝑠! から次の状態(の特徴量) 𝜙(𝑠!&') の予測結果 A
𝜙(𝑠!&') を出力
3. 特徴量 𝜙 𝑠! , 𝜙(𝑠!&') から行動 𝑎! の予測結果 B
𝑎! を出力
4. 特徴量 𝜙(𝑠!&')と A
𝜙(𝑠!&') の差を内部報酬として出力
• L2ノルムを計算
1
2 3
4
61
Intrinsic Curiosity Module (ICM) [Pathak+, 2017] (2)
• 特徴ベクトルの差から内部報酬を計算
1. 状態 𝑠!, 𝑠!&' から特徴量 𝜙 𝑠! , 𝜙(𝑠!&') を抽出
2. 行動 𝑎! と 𝜙 𝑠! から次の状態(の特徴量) 𝜙(𝑠!&') の予測結果 A
𝜙(𝑠!&') を出力
3. 特徴量 𝜙 𝑠! , 𝜙(𝑠!&') から行動 𝑎! の予測結果 B
𝑎! を出力
4. 特徴量 𝜙(𝑠!&')と A
𝜙(𝑠!&') の差を内部報酬として出力
• L2ノルムを計算
• Self-Supervisedな方法でモジュールを学習
a. 行動 𝑎! と ̂
𝑎"(クロスエントロピー誤差)
b. 特徴量 𝜙(𝑠!&') と A
𝜙(𝑠!&')(平均二乗誤差)
a
b
62
Random Network Distillation (RND) [Bruda+, 2019]
• ランダムな重みのパラメータ(Random Network)の知識を蒸留(Distillation)
- 2つのネットワーク(Target Network・Predictor Network)を作成
• Target Netはランダムな重みのまま固定
- 状態𝑠!を2つのネットワークに入力し,特徴ベクトル𝑓!&', E
𝑓+&'を抽出
• 2つの特徴ベクトルの差(L2ノルム)を内部報酬𝑟!
,
とする
• 内部報酬(誤差)𝑟!
,
を用いてPredictor Networkを学習
- 学習初期
• パラメータが違うので…違う特徴ベクトルが出力
• 差(内部報酬)が大きい
- 学習後期
• 学習したデータでは類似した特徴ベクトルが出力
• 差(内部報酬)が小さい
𝑠"#$
Target
Network
Predictor
Network
𝑓!#$
+
𝑓!#$
− 𝑟"
(
63
Never Give Up (NGU) [Baida+, 2020] (1)
• Life-long novelty module
- RNDと同じ
- 生涯(学習期間全体)で新しい状況に出会うと高い内部報酬を出力
• Episodic novelty module
- 1エピソード内で訪れた状態をエピソード記憶(Episodic memory)に保持
- エピソード内で新しい状況に出会うと高い内部報酬を出力
• 各モジュールからの値を以下の式で統合
• 外部報酬𝑟"
)
と内部報酬𝑟"
(
の和を全体の報酬とする
embedding network
RND predi tion network
RND r ndom network
epi odi memor
k ne re t
neig bor
ontro b e t te
epi odi no e t
mod e
i e ong no e t
mod e
m tip i ti e
mod tion
𝑟!
,
= 𝑟!
-.,/01-
× min(max 𝛼!, 1 , 𝐿)
𝑟! = 𝑟!
-
+ 𝛽𝑟!
,
※ 𝛽:内部報酬の重み
64
Never Give Up (NGU) [Baida+, 2020] (2)
• Woker毎に異なる内部報酬の割合𝛽と割引率𝛾を指定して経験を集めている
- これらから得られた経験をReplay Bufferへ蓄積して学習
パラメータサーバ
パラメータを保存する場所
Replay buffer
Actorで収集した経験を保存する場所
Learner
学習(パラメータ更新)する場所
Back prop.
更新したパラメータ
を保存
パラメータをActorにコピー
経験を保存
学習に使う経験を
優先順位に従い選択
経験2
経験3
経験1
replay buffer
1:
2:
N:
…
Actor (Worker)
様々な経験を収集する場所
Worker 1
𝛽 = 0, 𝛾 = 0.997
Worker 2
𝛽 = 0.1, 𝛾 = 0.996
Worker 3
𝛽 = 0.2, 𝛾 = 0.995
Worker N
𝛽 = 1.0, 𝛾 = 0.990
…
65
Agent57 [Baida+, 2020] (1)
• NGUの問題点を改善し,全てのAtariゲームで人間を上回るスコアを達成
1. 行動価値関数の分割
- 外部報酬に基づくネットワークと内部報酬に基づくネットワークの2つを作成
• ネットワーク構造は同一・パラメータは別々
Q 𝑠, 𝑎; 𝜃) , 𝜃( = 𝑄 𝑠, 𝑎; 𝜃) + 𝛽𝑄(𝑠, 𝑎; 𝜃()
外部報酬 内部報酬
𝑠
外部報酬
内部報酬
𝑄(𝑠, 𝑎; 𝜃-)
𝑄(𝑠, 𝑎; 𝜃,)
𝑄(𝑠, 𝑎; 𝜃-, 𝜃,)
𝛽
+
66
Agent57 [Baida+, 2020] (2)
• NGUの問題点を改善し,全てのAtariゲームで人間を上回るスコアを達成
2. Meta-Controller
- NGUでは異なる内部報酬の割合𝛽と割引率𝛾を持つ全てのWorkerを等しく用いていた
• 学習初期は𝛽は大きめが良さそう(色々探索したい)
• 学習後期は𝛽は小さめが良さそう(不要な探索を減らしたい)
- 適切なパラメータのworkerを選択するMeta-Controllerを導入
• 各Workerで独立したMeta-Controllerを使用
• より良いパラメータの組み合わせ𝐽2を選択
• 多腕バンディット問題の考え方を活用
(詳細は割愛)
Meta-controller
𝑘個のパラメータの組み合わせから一つ選択
𝐽"={0.0, 0.997} 𝐽#={0.1, 0.996} 𝐽$={0.2, 0.995} 𝐽%={1.0, 0.990}
…
𝛽 = 0.1, 𝛾 = 0.996
67
Agent57 [Baida+, 2020] (3)
• 過去の学習で選択した𝐽*と得られた報酬のパターンをもとにパラメータセット𝐽*を選択
- 直前の数回の経験から報酬が一番高そうなパラメータセット𝐽2を選択
• 学習が進むにつれて最適な𝐽2が変化するため
Worker
𝑅
Meta-controller
𝐽"={0.0, 0.997} 𝐽#={0.1, 0.996} 𝐽$={0.2, 0.995} 𝐽%={1.0, 0.990}
…
これまでに得られたパラメータと
報酬のパターン(経験)
𝐽& (𝛽 = 0.1, 𝛾 = 0.996)
これまでの経験から一番報酬が高そうな𝐽を選択
1回前:𝑅 𝐽$ = 2
2回前:𝑅(𝐽&) = 9
3回前:𝑅 𝐽$ = 4
4回前:𝑅 𝐽' = 7
⋮
N回前:𝑅 𝐽& = 12
⋮
Sliding-Window
Upper Confidence Bound (UCB) 法
新たなパターンとして経験を蓄積
68
価値ベースで扱われるタスク
• 離散的な行動を選択するタスクが扱われる
• Atari2600のゲームがベンチマーク
- 深層強化学習における「ImageNet」に相当
- 人間がプレイしたスコアを1(100%)としてスコアを比較
https://gym.openai.com/
69
Agent57 [Baida+, 2020] (4)
• Agent57では,全てのAtariゲームで人間を上回るスコアを達成
https://deepmind.com/blog/article/Agent57-Outperforming-the-human-Atari-benchmark
70
方策(Policy)ベースの強化学習
71
GORILA R D
DQ D
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
強化学習アルゴリズムマップ ~ 方策ベースの強化学習 ~
• ここで学ぶこと
- 方策ベースの強化学習の考え方
• Policy Gradient
• REINFORCE
• TRPO
• PPO
72
方策ベースの強化学習の考え方(1)
• 方策勾配法(Policy gradient)
- 各状態でとる行動の確率を付ける
状態\行動 ↑ ↓ ← →
1,A 25 25 25 25
2,A 25 25 25 25
3,A 25 25 25 25
4,A 25 25 25 25
5,A 25 25 25 25
⋮ ⋮ ⋮ ⋮ ⋮
5,D 25 25 25 25
⋮ ⋮ ⋮ ⋮ ⋮
5,E (Goal) -- -- -- --
学習前の行動の確率 [%](全て価値25%で初期化)
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
■:スタート
■:ゴール
■:障害物(壁)
73
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
■:スタート
■:ゴール
■:障害物(壁)
方策ベースの強化学習の考え方(3)
• 方策勾配法(Policy gradient)
- 各状態でとる行動の確率を付ける
- 確率を更新する
状態\行動 ↑ ↓ ← →
1,A 2 97 1 0
2,A 25 25 25 25
3,A 0 4 1 95
4,A 0 0 2 98
5,A 0 99 1 0
⋮ ⋮ ⋮ ⋮ ⋮
5,D 0 100 0 0
⋮ ⋮ ⋮ ⋮ ⋮
5,E (Goal) -- -- -- --
学習後の行動の確率 [%]
74
方策の更新方法
• 1エピソード毎に方策を更新
- 目的を達成するまでに多くとった行動の確率を上げる
- 目的を達成するまでにあまりとらなかった行動の確率を下げる
• 目的を達成した場合の行動は良い行動が多いと仮定
Δ𝜋 ∼ {𝑁 𝑠, 𝑎( − 𝜋 𝑎(|𝑠 𝑁 𝑠, @
𝑎 }/𝑇
𝜋 𝑎"|𝑠" ← 𝜋 𝑎"|𝑠" + 𝛼Δ𝜋
※ 𝑁(𝑠, 𝑎'):状態𝑠で行動𝑎'を選択した回数
𝑁(𝑠, 5
𝑎):状態𝑠で何らかの行動を選択した回数
𝜋(𝑎'|𝑠):状態𝑠で行動𝑎'を選択する確率
𝑇:行動した回数
1,A 2,A 3,A 4,A 5,A
1,B 2,B 3,B 4,B 5,B
1,C 2,C 3,C 4,C 5,C
1,D 2,D 3,D 4,D 5,D
1,E 2,E 3,E 4,E 5,E
状態\行動 ↑ ↓ ← →
1,A 12 51 16 21
2,A 25 25 25 25
3,A 13 31 11 45
4,A 7 12 28 55
5,A 9 56 23 13
⋮ ⋮ ⋮ ⋮ ⋮
Δ𝜋 = (2 − 0.45 ∗ 2)/20 = 0.055
𝜋 𝑎→ 𝑠4,6 ← 0.45 + 1.0 ∗ 0.55 = 0.505 (50.5%)
※ 𝛼 = 1.0
3番のマス・→の行動の確率の更新
75
NNを用いた方策ベースの強化学習
• ニューラルネットワークで方策関数を表現
- 従来の方策勾配法:テーブルで全パターンの行動の確率を保持
- ニューラルネット版:ある状態の時の行動確率をNNで演算
• 確率を出力するので,最後にsoftmaxを適用
- 学習は誤差逆伝播法でパラメータを更新する
1 2 3 4 5
A 1,A 2,A 3,A 4,A 5,A
B 1,B 2,B 3,B 4,B 5,B
C 1,C 2,C 3,C 4,C 5,C
D 1,D 2,D 3,D 4,D 5,D
E 1,E 2,E 3,E 4,E 5,E
入力層 出力層
中間層
1列目にいるかどうか
2列目にいるかどうか
3列目にいるかどうか
A行目にいるかどうか
B行目にいるかどうか
C行目にいるかどうか
D行目にいるかどうか
E行目にいるかどうか
4列目にいるかどうか
5列目にいるかどうか
…
3列・A行にいる時
↑の確率
↓の確率
←の確率
→の確率
3番にいる時の
softmax
76
方策ベースの誤差関数(1)
• 更新式は価値ベース(Q-Network)とほぼ同じ
• 方策勾配の計算方法
- (いわゆる)方策勾配法
- REINFORCE [Williams, 1992]
• 𝑇ステップからなるエピソードを𝑀回行なった結果を使う
𝜃 ← 𝜃 − 𝛼∇7𝐽(𝜃) ※ 𝜃 : ネットワークの パラメータ
𝛻7𝐽(𝜃) ≈ '
8#'
9
'
!#'
:
𝑟!
8
− 𝑏 ∇7 ln 𝜋7 (𝑎!
8
|𝑠!
8
)
方策勾配(誤差)
𝑏 =
1
𝑀
'
8#'
9
1
𝑇
'
!#'
:
𝑟!
8
𝛻7𝐽(𝜃) ≈ 𝔼 '
!#'
:
𝑄 𝑠!, 𝑎! ∇7 ln 𝜋7 (𝑎!|𝑠!) ※ 𝑇:あるエピソードの行動回数
77
方策ベースの誤差関数(2)
• 方策勾配の考え方
- 強化学習の目的のおさらい
- 方策ベースは行動の確率が出力される
• その行動を確率的に選択した時に貰える報酬の期待値を最大化
• 割引報酬和の期待値 𝔼[∑!(𝛾!
𝑟!)] を目的関数として
• ネットワークパラメータについて最大化(詳細は割愛)
• 対数尤度の最大化と同じ考え方
将来にわたって得られる報酬(価値)を最大化するような行動を学習
𝛻8𝐽(𝜃) ≈ 1
9:;
<
1
=:;
>
𝑟=
9 − 𝑏 ∇8 ln 𝜋8 (𝑎=
9|𝑠=
9)
𝛻8𝐽 𝜃 = 𝔼 1
=:;
>
𝑄 𝑠=, 𝑎= ∇8 ln 𝜋8 (𝑎=|𝑠=)
78
深層強化学習の難しいところ(再掲)
• 単純な学習アルゴリズムでは学習が難しい
- 学習が収束しない(終わらない)
- 学習が終了しても,望んだ動作が得られない
• なぜ学習が難しいのか
- あらゆる状況を経験しなければいけない
- パラメータの更新が難しい
- 報酬がなかなか得られない場合(報酬が疎な場合)がある
方策ベースの主な問題点
79
なぜパラメータの更新が難しいのか?
• 一度良くない方策に陥ると抜け出すのが難しい
- 方策が「劣化」する
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
学習初期の方策
• ↑の確率:24%
• ↓の確率:27%
• ←の確率:26%
• →の確率:23%
ランダムに行動を選択
良くない方策
• ↑の確率:70%
• ↓の確率:15%
• ←の確率:8%
• →の確率:7%
うまく学習できないと…
ここから抜け出すためには…
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
→(7%)を頑張って選択して,
行動→の確率を上げる
うまく選択することが難しい
80
Trust Region Policy Optimization [Schulman+, 2015]
• 報酬が高くなることが信頼できる範囲でパラメータを更新
- 信頼領域法の考え方を導入
• ロボットの制御などで用いられる手法
- 更新前後の方策の「比」を導入
- 更新前後の方策𝜋のKLダイバージェンスが𝛿以下とする制約を導入
• 更新前後で方策を変えすぎない
一度にパラメータ更新できる量に制限をかけている
大きく更新しすぎて,良くない方策に更新することを防いでいる
maximize7𝔼
𝜋7 𝑎 𝑠
𝜋70;1
𝑎 𝑠
𝑄70;1
𝑠, 𝑎
subject to 𝔼 𝐷<=(𝜋7./0
(⋅ |𝑠)||𝜋7 ⋅ 𝑠 ) ≤ 𝛿
81
maximize7𝔼
𝜋7 𝑎 𝑠
𝜋70;1
𝑎 𝑠
𝑄70;1
𝑠, 𝑎
Proximal Policy Optimization (PPO) [Schulman+, 2017](1)
• 方策の「比」が大きくなりすぎるのを防ぐ
- TRPOだとまだ更新量が大きすぎる
- Clip関数を導入して切り取ってしまう
• 比を[1-ε,1+ε]の範囲に制限する
TRPOの目的関数
PPOの目的関数
maximize 𝐽>>? 𝜃 = 𝔼 min(𝑟(𝜃; 𝑠, 𝑎) 𝐴7 𝑠, 𝑎 , clip 𝑟 𝜃; 𝑠, 𝑎 , 1 − 𝜖, 1 + 𝜖 𝐴7(𝑠, 𝑎))
82
Proximal Policy Optimization (PPO) [Schulman+, 2017](2)
• TRPOの他の問題点も改善
- アルゴリズムが複雑で実装が難しい
• PPOは実装が容易
- Dropoutが使えない
• Dropoutが使える
- Actor-Criticという手法(詳細は後述)に応用できない
• PPOはActor-Criticに応用可能
- パラメータ共有(分散学習)ができない
• PPOなら分散学習も可能
83
方策ベースで扱われるタスク
• (価値ベースと同様に)Atari2600がベンチマークとして用いられる
• 細かな連続値制御が必要なタスク
- 3次元の環境における2足歩行を獲得するタスク
• ロボット制御などへの応用が期待される
http://u0u0.net/NYI7
https://openai.com/blog/openai-baselines-ppo/
TRPOの結果 PPOの結果
84
深層強化学習の応用例・活用のポイント
画像認識タスクへの応用
産業応用(制御・最適化)
活用のポイント
85
CVタスクへの応用:Neural Architecture Search (NAS)
• Neural Architecture Search with Reinforcement Learning [Zoph+, 2016]
- ネットワークの構造を決定するための強化学習エージェントを学習
• エージェント:RNN Controller
• 行動:各層のパラメータ(順番に出力)
• 環境:ネットワークの探索空間
• 報酬:RNN Controllerが決定したアーキテクチャでの認識精度
- RLベースのNASに関するサーベイ
https://www.sciencedirect.com/science/article/abs/pii/S0262885619300885
86
CVタスクへの応用: Data Augmentation
• AutoAugment: Learning Augmentation Policies from Data [Cubuk+, 2018]
- 最適なAugmentationを強化学習で選択
• 従来は手動で設計
- 認識性能が大きく向上(2018年当時にSoTA)
元画像
We formulate the problem of finding the best augment
In our search space, a policy consists of 5 sub-policies
operations to be applied in sequence, each operation is al
the probability of applying the operation, and 2) the mag
Figure 1 shows an example of a policy with 5-sub-polici
specifies a sequential application of ShearX followed by
is 0.9, and when applied, has a magnitude of 7 out of 10.
The Invert operation does not use the magnitude informat
applied in the specified order.
3 AutoAugment
We formulate the problem of finding the best augmentation policy as a discrete sear
In our search space, a policy consists of 5 sub-policies, each sub-policy consisting o
operations to be applied in sequence, each operation is also associated with two hyperpa
the probability of applying the operation, and 2) the magnitude of the operation.
Figure 1 shows an example of a policy with 5-sub-policies in our search space. The firs
specifies a sequential application of ShearX followed by Invert. The probability of appl
is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Invert with proba
The Invert operation does not use the magnitude information. We emphasize that these o
applied in the specified order.
3 AutoAugment
We formulate the problem of finding the best augmentation policy as a d
In our search space, a policy consists of 5 sub-policies, each sub-policy c
operations to be applied in sequence, each operation is also associated with
the probability of applying the operation, and 2) the magnitude of the opera
Figure 1 shows an example of a policy with 5-sub-policies in our search sp
specifies a sequential application of ShearX followed by Invert. The probab
is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Inve
The Invert operation does not use the magnitude information. We emphasize
applied in the specified order.
3 AutoAugment
We formulate the problem of finding the best augmentation policy as a d
In our search space, a policy consists of 5 sub-policies, each sub-policy c
operations to be applied in sequence, each operation is also associated with t
the probability of applying the operation, and 2) the magnitude of the operat
Figure 1 shows an example of a policy with 5-sub-policies in our search spa
specifies a sequential application of ShearX followed by Invert. The probabi
is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Inver
The Invert operation does not use the magnitude information. We emphasize t
applied in the specified order.
3 AutoAugment
We formulate the problem of finding the best augmentation policy as a discrete search problem.
In our search space, a policy consists of 5 sub-policies, each sub-policy consisting of two image
operations to be applied in sequence, each operation is also associated with two hyperparameters: 1)
the probability of applying the operation, and 2) the magnitude of the operation.
Figure 1 shows an example of a policy with 5-sub-policies in our search space. The first sub-policy
specifies a sequential application of ShearX followed by Invert. The probability of applying ShearX
is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Invert with probability of 0.8.
The Invert operation does not use the magnitude information. We emphasize that these operations are
applied in the specified order.
強化学習で自動的にAugmentationした画像
87
産業応用の例:ロボット制御
• 千切りキャベツの把持 [Robotcom Corp.]
- 決められた分量の把持がむずかしい
• 強化学習で把持動作を獲得
https://www.youtube.com/watch?v=dTRDPh7PFo4
88
産業応用の例:制御
• 建造物の制振 [大林組・Laboro.AI]
- マスダンパーを強化学習で自動制御することで建造物の揺れを抑制
- 環境:建造物・エージェント:制振装置(マスダンパー)
https://laboro.ai/case/obayashi/
89
産業応用の例:最適化・効率化
• 石油の輸送計画の最適化 [出光興産]
- 国内の製油所 油槽所 小売・家庭(ガソリンスタンドなど)
- 最適な輸送のために考慮すべき要因(パラメータ)や制約が無数に存在
• 石油の在庫,従業員の労働時間,天候など
• 人手による最適化にはコストがかかる
- 強化学習で輸送計画を最適化
• 輸送に関わる環境をシミュレータ上に構築・学習
• 計画に要する時間を削減
• 輸送に必要な燃料(効率)も20%改善
タンカー タンクローリー
https://www.idemitsu.com/jp/news/2020/200630_1.html
90
産業応用の例:最適化・効率化
• 化学プラント運転の効率化 [三井化学]
- 生産量や生産品を変更する操作を効率化
• 手動操作では時間を要する
• その間の原料やエネルギーが無駄になってしまう
- 現実のプラントを再現するようなシミュレータを構築
• 実際のプラントのセンサを取得
• 強化学習エージェントが最適な行動(操作)を決定
- 手動操作と比較し,操作時間を40%短縮
https://jp.mitsuichemicals.com/jp/release/2020/2020_1116.htm
91
産業応用の例:そのほかの応用例
• ゲームのバランス調整 [甲野ら, デジタルプラクティス2019]
- https://www.ipsj.or.jp/dp/contents/publication/38/S1002-S05.html
• クラウドリソースの最適制御 [Mao+, 2016]
- https://people.csail.mit.edu/alizadeh/papers/deeprm-hotnets16.pdf
• 広告配信の最適化
- NaviPlusリコメンド [ナビプラス]
• https://www.naviplus.co.jp/recommend.html
- 広告文の自動生成 [上垣外ら, WebDB Forun 2019]
• https://developers.cyberagent.co.jp/blog/archives/25099/
92
深層強化学習を活用するためのポイント
• 強化学習の枠組みに落とし込む
- 環境・エージェント・状態・行動
• 行動の種類に応じて適切な手法を選択する
- 離散値の行動 … 価値ベース
- 連続値の行動 … 方策ベース
• 適切な報酬設計
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
93
実問題への応用における報酬設計(1)
• 強化学習の目的
- 探索を繰り返して将来にわたって得られる報酬(価値)を最大化するような行動を学習
• 手法やアルゴリズム以上に報酬の設計が重要
- 手法やアルゴリズムは既存手法を使用するところから始めれば良い
- 報酬は自動的に決まらない
• 人間が決定する必要がある
エージェント
(ロボット)
環境
(迷路)
状態観測部
行動選択(方策)
状態 𝑠!
状態 𝑠!"#
観測
行動
報酬
94
実問題への応用における報酬設計(2)
• 報酬設計の基準(一部)
1. とある行動を取った直後に目指すべき結果があるタスクかどうか
• 例:千切りキャベツの把持 … 一度に把持したいキャベツの量(一定の重さ)
• 例:広告配信 ... エージェントが決定した広告がクリックされたかどうか
2. 複数の行動を続けた結果として目指すべき値があるタスク
• 例:化学プラント … 目標の状態に至るまでに要した時間(短いほど良い)
3. 望ましくない行動が存在するタスク
• 負の報酬を設計する
• 例:自動運転制御で対向車に向かって移動する
タスクに応じて適切な基準は他にも考えられるため,慎重に報酬設計する必要がある
95
強化学習を活用する際の難しさ
• 実環境における問題
- ロボットの破損
- 環境の初期化(ロボットを元の位置に戻す)
• 学習中に人間が面倒を見ないといけない
• シミュレータ活用時の問題
- シミュレータで学習したエージェントが実空間ではうまく動作しない
- 実空間 ~ シミュレータのギャップを埋める対策が必要
• 高精細(高精度)なシミュレータを開発する
• ギャップを吸収する様な工夫を強化学習へ入れ込む
[Levine, et al., 2016]
実空間
シミュレータ
96
強化学習と相性の良い問題
• 実空間で動作しない問題・応用先
- (先ほど紹介した事例の中では) web関連・ゲーム関連
• 強化学習を行うことができる様に改良すること自体は必要
• シミュレータで同様の環境が構築可能な問題・応用先
- (先ほど紹介した事例の中では)石油の輸送計画や化学プラント
• 高精度なシミュレーション環境を構築し・実環境と並行して動作させている(デジタルツイン)
強化学習の専門家だけでなく対象とする環境を開発する専門家も必要となる
97
まとめ
• 深層強化学習について紹介
- 強化学習の基礎
- 深層強化学習のアルゴリズム
• 価値ベース
• 方策ベース
- 強化学習の応用例・活用のポイント
• 補足資料(動画)
- 深層強化学習のアルゴリズム
• 本発表で紹介できなかった手法
• 価値 + 方策 (Actor-Critic)
- 深層強化学習を使うためのツール・フレームワーク
1
深層強化学習
~ 強化学習の基礎から応⽤まで ~
2021.6.10
平川 翼(中部⼤学)
(補⾜資料)
2
目次
a. 深層強化学習のアルゴリズム
- チュートリアルで紹介できなかった手法
- 価値 + 方策 (Actor-Critic)
b. 深層強化学習を使うためのツール・フレームワーク
3
価値ベースの強化学習
(紹介できなかった手法)
4
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ DQNの発展手法 ~
• 基本のDQNを改良した手法
- Double DQN
- Dueling DQN
- Categorical DQN
- Rainbow
5
Double DQN [Hasselt+, 2016](1)
• 2つのネットワークを用いて誤差を計算
- 1つ目のネットワーク:行動を決める役割
- 2つ目のネットワーク:目標値を計算する役割
…
↑の価値:4
↓の価値:5 … 𝑄 𝑠!, 𝑎!, 𝜃"
←の価値:8
→の価値:10
…
↑の価値:11
↓の価値:10
←の価値:15
→の価値:20 … max
!!
𝑄 𝑠"#$, 𝑎%
, 𝜃#
ネットワーク1
…
↑の価値:10
↓の価値:7
←の価値:3
→の価値:2
↓に行動してみる
→行動が良い行動らしい
2つ目のネットワーク
は悪い行動と評価
ネットワーク2
目標値が異なる
6
Double DQN [Hasselt+, 2016](2)
• 2つのネットワークを用いて誤差を計算
- 1つ目のネットワーク:行動を決める役割
- 2つ目のネットワーク:目標値を計算する役割
• TD誤差の計算式
- 通常のDQN
- Double DQN Δ𝑄 = 𝑟!"# + 𝛾𝑄(𝑠!"#, argmax$&𝑄 𝑠!"#, 𝑎; 𝜃!
"
, 𝜃!
%
) −𝑄 𝑠!, 𝑎!, 𝜃"
Δ𝑄 = 𝑟!"# + 𝛾 max
$&
𝑄 𝑠!"#, 𝑎&
− 𝑄 𝑠!, 𝑎!
現在の価値
(ネットワーク1の出力)
目標値
(ネットワーク1からの出力)
現在の価値
(ネットワーク1の出力)
目標値
(ネットワーク1で選んだ行動と同じ行動を取った時のネットワーク2の出力)
7
Dueling DQN [Wang+, 2015](1)
• 価値とアドバンテージ
- 行動価値:行動がどのくらい良いかを表す値
• 𝑄(𝑠, 𝑎)で表される
- 状態価値:今の状態がどのくらい良いかを表す値
• 𝑉(𝑠)で表される
- アドバンテージ:行動がどのくらい多くの報酬につながるかを表す値
• 𝐴(𝑠, 𝑎)で表される
𝐴(𝑠, 𝑎) = 𝑄 𝑠, 𝑎 − 𝑉(𝑠)
行動価値 状態価値
アドバンテージ
8
Dueling DQN [Wang+, 2015](2)
• 状態の価値,行動の価値,アドバンテージを分けて学習
入力層 出力層
中間層
…
通常のDQN
入力層 出力層
中間層
…
Dueling DQN
9
Dueling DQN [Wang+, 2015](3)
• 状態の価値,行動の価値,アドバンテージを分けて学習
- 出力の一つ手前で状態価値𝑉(𝑠)とアドバンテージ𝐴(𝑠, 𝑎)を出力
- 𝑉(𝑠)と𝐴(𝑠, 𝑎)から行動価値Q(𝑠, 𝑎)を計算
𝑄 𝑠, 𝑎 = 𝐴(𝑠, 𝑎) + 𝑉(𝑠)
出力層
𝑄(𝑠, ↑)
𝑄(𝑠, ↓)
𝑄(𝑠, ←)
𝑄(𝑠, →)
𝐴(𝑠, ↑)
𝐴(𝑠, ↓)
𝐴(𝑠, ←)
𝐴(𝑠, →)
𝑉(𝑠)
10
Dueling DQN [Wang+, 2015](4)
• Dueling DQNの意味
- 状態によってその後にもらえる報酬が決まる状況がある
ブロック崩しの例
板を左に移動すれば打ち返せそう
(行動が報酬に影響を与えている)
ブロックを崩してさらに報酬を貰えそう
(良い状態)
頑張って左に移動しても間に合わない
(どんな行動を取っても意味がない)
ゲームが終了してこれ以上報酬が貰えない
(悪い状態)
今の状態を考慮して行動価値を出力することが可能
11
NoisyNet [Fortunato+, 2017](1)
• 利用と探索(ε-greedy)のおさらい
- 確率1-εで価値が最大の行動を選択
- 確率ε/(N-1)でそれ以外の行動をランダムに選択
• ε-greedyの限界
- 簡単な問題なら十分な探索が可能
• 例)Q学習 + 5x5の迷路
- 難しい問題ではパターンが多すぎて探索しきれない
• 例)DQN + Atari 2600ゲーム
※ N:行動の数
(DQNのような)広大な空間を探索するには
ε-greedyは不十分
12
NoisyNet [Fortunato+, 2017](2)
• ネットワークの重みにノイズを与えて探索する
- ノイズを与えて計算することで出力(行動の価値)が変化する
• 出力をノイズで変化させることで探索する
- 論文では出力の直前だけノイズを与えて実験している
通常のネットワーク NoisyNet
出力層
1.81
0.85
1.4
1.5
0.8
0.5 + 0.2
0.1 – 0.1
0.2 + 0.3
0.6 – 0.3
0.2 + 0.1
0.9 – 0.4
出力層
1.16
1.76
1.4
1.5
0.8
0.5
0.1
0.2
0.6
0.2
0.9
ノイズを追加
13
Categorical DQN [Bellemare+, 2017](1)
• 通常のDQNの出力
- 各行動に対する価値
• Categorical DQNの出力
- 各行動により得られる報酬の確率
• 報酬の値のパターンは決まっている
- 各状況でどのように判断しているかがわかる
https://youtu.be/yFBwyPuO2Vg
確率
貰える報酬の値
報酬0の可能性が高い
(取らないほうが良い行動)
ある程度報酬が
貰える可能性がある
Noop(何もしない)は報酬が貰えそうだが,報酬0の可能性も少しある
14
Multi-step Learning(N-step Learning)
• 数ステップ(Nステップ)先までを考慮した学習
- 通常の1ステップの学習(𝑁 = 1)
- Nステップの学習(𝑁 = 3の場合)
Δ𝑄 = 𝑟!"# + 𝛾 max
$'()
𝑄 𝑠!"#, 𝑎!"# − 𝑄 𝑠!, 𝑎!
Δ𝑄 = 𝑟!"# + 𝛾𝑟!"' + 𝛾'𝑟!"( + 𝛾( max
$'(*
𝑄 𝑠!"(, 𝑎!"( − 𝑄 𝑠!, 𝑎!
将来にわたって得られる報酬を考慮した学習が可能
大きすぎる𝑁の設定バイアスが大きくなる(選ばれた行動パターンに学習が偏る)ので注意が必要
一つ先での行動価値を考える
三つ先での行動価値を考える
+
途中で得られた(割引)報酬も考える
15
Rainbow [Hessel+, 2017](1)
• 今まで紹介したテクニックを組み合わせた手法
- DQN
- Double DQN
- Prioritized experience replay
- Dueling DQN
- NoisyNet
- Categorical DQN
- Multi-step learning
• N-step先まで行動して学習
- 7種類使っているため「rainbow」
16
Rainbow [Hessel+, 2017](2)
• 従来手法を圧倒
- DQNのスコアを7M 回で上回る
- 他の手法の中で一番良いDistributional (Categorical) DQNも44M 回で上回る
Rainbow: Combining Improvements in Deep Reinforcement Learning
Matteo Hessel
DeepMind
Joseph Modayil
DeepMind
Hado van Hasselt
DeepMind
Tom Schaul
DeepMind
Georg Ostrovski
DeepMind
Will Dabney
DeepMind
Dan Horgan
DeepMind
Bilal Piot
DeepMind
Mohammad Azar
DeepMind
David Silver
DeepMind
Abstract
The deep reinforcement learning community has made sev-
eral independent improvements to the DQN algorithm. How-
ever, it is unclear which of these extensions are complemen-
tary and can be fruitfully combined. This paper examines
six extensions to the DQN algorithm and empirically studies
their combination. Our experiments show that the combina-
tion provides state-of-the-art performance on the Atari 2600
benchmark, both in terms of data efficiency and final perfor-
mance. We also provide results from a detailed ablation study
that shows the contribution of each component to overall per-
formance.
Introduction
The many recent successes in scaling reinforcement learn-
ing (RL) to complex sequential decision-making problems
were kick-started by the Deep Q-Networks algorithm (DQN;
Mnih et al. 2013, 2015). Its combination of Q-learning with
convolutional neural networks and experience replay en-
abled it to learn, from raw pixels, how to play many Atari
2298v1
[cs.AI]
6
Oct
2017
学習回数 [millions]
ゲームのスコア(人間のスコアが100%)
17
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ DQNの発展手法 ~
• 再帰型ニューラルネットワークを導入した手法
- DRQN
- R2D2
18
Deep Recurrent Q-Network (DRQN) [Hausknecht and Stone, 2015]
• 通常のDQN
- 直近4フレームの情報をまとめて入力
FC
状態価値 𝑄(𝑠, 𝑎)
CNN
• DRQN
- 状態の時系列変化を考慮するためにLSTMを導入
𝑡 − 3
𝑡 − 2
𝑡 − 1
𝑡
LSTM
CNN
FC
LSTM
CNN
FC
LSTM
CNN
FC
LSTM
CNN
FC
状態価値 𝑄(𝑠, 𝑎)
…
𝑡
𝑡 − 1
𝑡 − 2
𝑡 − 𝑇
そこまで大きな性能改善はないが,RNN(LSTM)を取り入れた最初の手法
19
Recurrent Replay Distributed DQN (R2D2) [Kapturowski+, 2018]
• Ape-X(分散学習)にRecurrentな層(LSTM)を追加
- LSTMを用いる際に起こりうる問題点を解決
1. Experience Replayの状態遷移を系列データとして収集蓄積
2. Burn-in
- Replay Bufferの経験を用いる際のLSTMの隠れ状態の初期値をうまく決める方法
• 最初の数ステップは学習せず,データを入力するだけ(Burn-in)
• 尤もらしい隠れ状態を生成する
• 残りの系列データで学習を行う
LSTM
CNN
FC
LSTM
CNN
FC
LSTM
CNN
FC
LSTM
CNN
FC
…
!
! − 1
! − 2
! − %
Burn-in
データを入力するだけで学習はしない 通常通り学習
20
Q-Learning
Double Q-Learning
Deep Learning
Deep
Q-Network
Double DQN
GORILA
DRQN
Prioritized
Experience Replay
Dueling DQN
Categorical DQN
Noi yNet
Rainbow APE- NG
R D
R D
DQ D
IC
P eudo
Count-ba ed RND
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
価値ベース
強化学習アルゴリズムマップ ~ デモンストレーションの活用 ~
• ここで学ぶこと
- デモンストレーションデータを用いた強化学習の考え方
• DQfD
• R2D3
21
Deep Q-learning from Demonstrations (DQfD) [Hester+, 2017] (1)
• 人間がプレイしたデータ(デモンストレーション)を用いて事前学習
1. Replay bufferにデモンストレーションを蓄積し学習(事前学習)
• 誤差関数を工夫(Large Margin Classification Loss)
人の経験1
人の経験2
replay buffer
…
人のプレイしたデータ
(デモンストレーション)
Step 1. デモンストレーションを用いた学習
𝐽(𝑄) = 𝐽)*(𝑄) + 𝜆# 𝐽+ (𝑄) + 𝜆' 𝐽,(𝑄) + 𝜆( 𝐽-'(𝑄)
𝐽, 𝑄 = 𝑚𝑎𝑥$∈/ 𝑄 𝑠, 𝑎 + 𝑙 𝑎,, 𝑎 − 𝑄(𝑠, 𝑎,)
※ 𝜆 ),*,+ :重み
通常のTD誤差
(𝑁 = 1)
N-Step Learning
(𝑁 = 10)
L2正則化
エキスパートと違う行動を選択した場合に定数を追加する(同じ場合は0)
→ デモンストレーションに含まれていない行動に対しても学習を促す
22
Deep Q-learning from Demonstrations (DQfD) [Hester+, 2017] (2)
• 人間がプレイしたデータ(デモンストレーション)を用いて事前学習
1. Replay bufferにデモンストレーションを蓄積し学習(事前学習)
• 誤差関数を工夫(Large Margin Classification Loss)
2. 通常の(Prioritized)Experience Replayと同様の方法でネットワークを学習
• デモンストレーションの経験は削除しない
人の経験1
人の経験2
replay buffer
…
人のプレイしたデータ
(デモンストレーション)
人の経験1
人の経験2
経験1
経験2
replay buffer
…
…
Step 1. デモンストレーションを用いた学習 Step 2. Prioritized Experience Replayによる学習
23
R2D2 from Demonstrations (R2D3) [Paine+, 2019] (1)
• R2D2(分散学習 + Prioritized Exp. Replay + LSTM)にデモデータを導入
- Demo ratio 𝜌 に従い,デモデータとエージェントの行動データをサンプリング
• デモデータ:𝜌
• エージェントの行動データ:1 − 𝜌
従来のR2D2
デモデータの追加
24
R2D2 from Demonstrations (R2D3) [Paine+, 2019] (2)
• 探索が困難な8種類のタスク(Hard-Eight Task)を作成・実験
- 各タスクは複数のサブタスクから構成
- 人がプレイした結果と同程度 or 高精度な結果を達成
25
価値+方策ベースの強化学習
26
Double Q-Learning Double DQN
GORILA
DRQN
Prioritized
Experience Replay Rainbow APE- NG
R D
R D
DQ D
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
強化学習アルゴリズムマップ ~ 価値+方策ベース ~
• 価値+方策ベースの強化学習の考え方
- Actor-Critic
- A3C
- IMPALA
27
価値ベースと方策ベース
• 価値ベース
- ある状態である行動をとった時に得られる行動の価値を学習
- デメリット
• 行動価値の変化が行動選択に大きく影響
• 方策ベース
- ある状態での行動を出力する関数・モデル(方策)を学習
- デメリット
• 一度良くない方に方策が陥ると抜け出すのが難しい
28
Actor-Critic [Konda and Tsitsiklis, 2000]
• 状態の価値と行動を同時に出力する手法
- Actor … 行動を出力
- Critic … 状態の価値を出力
• Actor-Criticのメリット
- 連続値の行動を扱うことが可能(Actorが得意)
- 行動とは別に誤差計算をするので学習が安定する(Criticが得意)
• 方策勾配定理(詳細は割愛)
入力層 出力層
中間層
行動
(Actor)
状態価値
(Critic)
誤差計算に使用
行動の決定に使用
29
A3C [Minh, et al., 2016](1)
• Asynchronous (分散学習)
• Advantage
- 2ステップ以上先の報酬まで考慮して目標値(誤差)を計算
従来
Advantage
• Actor-Critic
- Actor-Criticネットワークを使用
𝑄 𝑠, 𝑎 → 𝑟! + 𝛾 max 𝑄 𝑠!"#, 𝑎
𝑄 𝑠, 𝑎 → 𝑟! + 𝛾𝑟!"# + 𝛾$ max 𝑄(𝑠!"$, 𝑎)
30
https://medium.com/emergent-future/
A3C [Minh, et al., 2016](2)
1. Global Network (Parameter server) からパラメータをコピー
2. スレッドで行動を獲得・蓄積
- 各スレッドで行動を蓄積する
- Replay bufferは存在しない
3. 蓄積した行動から勾配を求める
4. 勾配をGlobal Networkに渡す
5. Global Networkのパラメータを更新
6. 1. へ戻る
31
Importance Weighted Actor-Learner Architecture (IMPALA) [Espeholt+, 2018] (1)
• データ収集(Actor)と学習(Learner)に役割を分離
- ActorからLearnerへ受け渡す情報を観測データに置き換え
• A3Cは勾配情報を受け渡していた(データ量が大きく通信効率が悪い)
• 複数のLearnerを用いることでGPUを効率的に使用できる
32
Importance Weighted Actor-Learner Architecture (IMPALA) [Espeholt+, 2018] (2)
• データ収集と学習が分離したため,ActorとLearnerの方策に食い違いが生じる
- V-Traceという方法を提案
𝑣% − 𝑉& 𝑥% ∇&𝑉&(𝑥%)
状態価値に対する勾配
𝜌%∇' log 𝜋' 𝑎% 𝑥% 𝑟% + 𝛾𝑣%"# − 𝑉& 𝑥%
方策に対する勾配
−∇'Σ(𝜋' 𝑎 𝑥% log 𝜋' (𝑎|𝑥%)
方策が局所解に陥ることを防ぐためのエントロピー損失(から得られる勾配)
33
UNREAL [Jaderberg, et al., 2016](1)
• A3Cをベースに補助タスクを同時に学習
https://deepmind.com/blog/reinforcement-learning-unsupervised-auxiliary-tasks/
タスク(3Dの迷路)の実行画面 補助タスク(3種類)の様子
34
UNREAL [Jaderberg, et al., 2016](2)
• A3Cをベースに補助タスクを同時に学習
- Pixel Control … 画像の画素値が大きく変動する動きを学習
- Value Function Replay … 過去の経験をシャッフルして学習
- Reward Prediction … 現在の状態から報酬を予測
35
Double Q-Learning Double DQN
GORILA
DRQN
Prioritized
Experience Replay Rainbow APE- NG
R D
R D
DQ D
Agent
AR A
Actor-Critic A C NREAL
ACER I PALA
AC
D
RPO PPO
Policy Gradient
REIN ORCE
DPG DDPG
価値 + 方策
(Actor-Cr t c
方策ベース
強化学習アルゴリズムマップ ~ 決定的方策勾配に基づく手法 ~
• 確率的方策勾配と決定的方策勾配の違い
- DPG
- DDPG
- TD3
- Soft Actor-Critic
36
Deterministic Policy Gradient (DPG) [Silver+, 2014] (1)
• Stochastic Policy Gradient
- ある状態𝑠に対して行動𝑎が確率的に決まる方策
• Deterministic Policy Gradient
- ある状態𝑠に対して行動𝑎が一意(決定的)に決まる方策
𝛻0𝐽(𝜃) ≈ 𝔼 G
!1#
2
𝑄 𝑠!, 𝑎! ∇0 ln 𝜋0 (𝑎!|𝑠!)
𝛻0𝐽(𝜃) ≈ 𝔼 G
!1#
2
∇$𝑄 𝑠!, 𝑎! ∇0𝜇0(𝑠!) ※ 𝜇0 𝑠1 :決定論的方策
(状態𝑠'に対して一意に決定した行動を出力)
※ 𝜋0 𝑎1|𝑠1 :確率的方策
(状態𝑠'が与えられた時にある行動𝑎'を出力する確率)
37
Deterministic Policy Gradient (DPG) [Silver+, 2014] (2)
• DPGのメリット
- 期待値の計算が必要ない
• 報酬に関連する計算が効率的になる → 学習の計算が効率的
• DPGのデメリット(難しいところ)
- 一意に行動が決まるため十分な探索が難しい(色々な行動を選択する余地がない)
- 実際に行動を決める役割(𝜇)と誤差を計算する役割(𝑄)の二つを学習
• 実際の行動と報酬計算の行動(の基準)が異なるため,Off-Policy
• 行動と価値を別々に出力するため,Actor-Critic型の強化学習手法
𝛻0𝐽(𝜃) ≈ 𝔼 G
!1#
2
∇$𝑄 𝑠!, 𝑎! ∇0𝜇0(𝑠!)
38
Deep Deterministic Policy Gradient (DDPG) [Lillicrap+, 2015]
• DPGを深層学習(Deep)で表現した手法
- Experience Replayを活用
- Target Networkを作成してMain Networkを学習
• Actor(行動決定部分)は方策勾配で学習
• Critic(価値推定部分)は誤差𝐿で学習
Actor
Critic
𝑠
Actor
Critic
Main Network
Target Network
経験2
経験3
経験1
replay buffer
1:
2:
N:
…
方策勾配
∇0𝐽 𝜃
誤差
𝐿 = 𝔼 𝑟 + 𝛾𝑄 𝑠123451
6 , 𝜇123451(𝑠123451
6 ) − 𝑄 𝑠′, 𝑎′
*
パラメータ更新
パラメータ更新
39
Twin Delayed DDPG (TD3) [Fujimoto+, 2018]
• 「価値の過大評価」を改善する3つ工夫を提案
1. 2つのtarget networkを用意して,価値の小さい方を学習に採用(Twin)
2. Soft Policy Smoothing
• 決定した行動にノイズを付与することで,targetの行動を平滑化
• 価値の急激な変動や外れ値を抑制
3. Delayed Policy Update
• 価値(Critic)の更新を複数回した後に,方策(Actor)を1回更新する
𝑟 + 𝛾𝑄 𝑠!$345!
&
, 𝜇!$345!(𝑠!$345!
&
) − 𝑄 𝑠′, 𝑎′
DDPG
𝑟 + 𝛾min
61#,'
𝑄6 𝑠!$345!
&
, 𝜇!$345!(𝑠!$345!
&
) + 𝑐𝑙𝑖𝑝(𝒩 0, 𝜎 , −𝑐, 𝑐) − 𝑄 𝑠′, 𝑎′
TD3
価値の過大評価を抑制して安定した学習を実現
40
Soft Actor-Critic [Haarnoja+, 2018]
• DPGの「十分な探索が難しい」という問題を改善した手法
𝐽 𝜃 = 𝔼 G
!
𝛾!𝑟!
𝐽 𝜃 = 𝔼 G
!
𝛾!
𝑟! + 𝛼𝐻(𝑎|𝑠)
= 𝔼 G
!
𝛾!
𝑟! + 𝛼 − log 𝜋(𝑎|𝑠)
通常の目的関数 … 報酬の期待値を最大化
SACの目的関数 … 報酬の期待値と方策のエントロピーを最大化
方策のエントロピーが大きい → 行動選択のランダム性が高い
多様な探索を実現しながら学習を行う
41
深層強化学習を使うための
ツール・フレームワーク
42
強化学習を行うために
• エージェントと行動する環境が必要
エージェント
(ex. ロボット)
環境
(ex. 迷路)
状態観測部
行動選択
状態s
状態s’
観測
行動
報酬
深層学習のフレームワーク
• Chainer
• Tensorflow
• Keras
• PyTorch
シミュレータ
• OpenAI Gym
• ゲームエミュレータ
• ロボットのシミュレータ
43
OpenAI Gym
• 強化学習用シミュレーションプラットフォーム
- OpenAIが開発・公開
• AI研究を行う非営利団体
- オープンソース
- Pythonライブラリとして公開
https://gym.openai.com/
44
OpenAI Gym
• 様々な環境が用意されている
Robotics
MuJoCo
Atari
Classic control
CartPole Pong Breakout Boxing
Humanoid Picking Hand manipulate
https://gym.openai.com/
45
MuJoCo
• 物理演算エンジン
- 3次元シミュレーション等に使用
http://www.mujoco.org/
46
MuJoCo
• 物理演算エンジン
- 3次元シミュレーション等に使用
- OpenAI Gym内で利用可能
• Python 3.* 推奨
https://gym.openai.com/
47
DeepMind Lab
• DeepMindが開発した3D AI学習環境
- 一人称視点映像の3Dゲーム
- 大きく分けて3種類のゲームが存在
• 細かい設定でゲーム内容が変化
https://github.com/deepmind/lab
maze
迷路の中でゴールを探索
seekavoid
特定のアイテムだけを取得
horseshoe
ステージ内の敵を倒す
(First Person Shooting; FPS)
48
深層強化学習のライブラリ (1)
• TensorFlowベース
- Coarch(https://github.com/IntelLabs/coach)
- RLLab(https://github.com/rll/rllab)
- OpenAI baselines(https://blog.openai.com/openai-baselines-dqn/)
- Dopamine(https://github.com/google/dopamine)
• PyTorchベース
- RLLib(https://docs.ray.io/en/latest/rllib.html)
• TensorFlowとPyTorchの両方をサポート
49
深層強化学習のライブラリ (2)
• Chainerベース
- ChainerRL(https://github.com/chainer/chainerrl)
• Kerasベース
- Keras-RL(https://github.com/keras-rl/keras-rl)
自分が使用しているフレームワーク・使用したいアルゴリズムに応じて選択

More Related Content

What's hot

「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究についてMasahiro Suzuki
 
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめたKatsuya Ito
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)Shota Imai
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
強化学習その2
強化学習その2強化学習その2
強化学習その2nishio
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイcvpaper. challenge
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...Deep Learning JP
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from PixelsDeep Learning JP
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷Eiji Sekiya
 
[DL輪読会]Inverse Constrained Reinforcement Learning
[DL輪読会]Inverse Constrained Reinforcement Learning[DL輪読会]Inverse Constrained Reinforcement Learning
[DL輪読会]Inverse Constrained Reinforcement LearningDeep Learning JP
 

What's hot (20)

「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
 
A3C解説
A3C解説A3C解説
A3C解説
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷
 
[DL輪読会]Inverse Constrained Reinforcement Learning
[DL輪読会]Inverse Constrained Reinforcement Learning[DL輪読会]Inverse Constrained Reinforcement Learning
[DL輪読会]Inverse Constrained Reinforcement Learning
 

Similar to SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜

"Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning""Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning"mooopan
 
1017 論文紹介第四回
1017 論文紹介第四回1017 論文紹介第四回
1017 論文紹介第四回Kohei Wakamatsu
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめsleepy_yoshi
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingYasunori Ozaki
 
分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み
分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み
分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試みSusumuOTA
 
ACL2011読み会: Query Weighting for Ranking Model Adaptation
ACL2011読み会: Query Weighting for Ranking Model AdaptationACL2011読み会: Query Weighting for Ranking Model Adaptation
ACL2011読み会: Query Weighting for Ranking Model Adaptationsleepy_yoshi
 
SIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to RankSIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to Ranksleepy_yoshi
 
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習Yusaku Kawaguchi
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1ssuser0bebd2
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用Nobuaki Oshiro
 
Hive/Pigを使ったKDD'12 track2の広告クリック率予測
Hive/Pigを使ったKDD'12 track2の広告クリック率予測Hive/Pigを使ったKDD'12 track2の広告クリック率予測
Hive/Pigを使ったKDD'12 track2の広告クリック率予測Makoto Yui
 
機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning
機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning 機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning
機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning Yuko Ishizaki
 
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​SSII
 
Learning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value GradientsLearning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value Gradientsmooopan
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learningDeep Learning JP
 
Tf勉強会(4)
Tf勉強会(4)Tf勉強会(4)
Tf勉強会(4)tak9029
 
北大調和系 DLゼミ A3C
北大調和系 DLゼミ A3C北大調和系 DLゼミ A3C
北大調和系 DLゼミ A3CTomoya Oda
 
Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...
Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...
Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...Keisuke Nakata
 
SIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to RankSIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to Ranksleepy_yoshi
 

Similar to SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜 (20)

"Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning""Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning"
 
1017 論文紹介第四回
1017 論文紹介第四回1017 論文紹介第四回
1017 論文紹介第四回
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
 
分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み
分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み
分散型強化学習手法の最近の動向と分散計算フレームワークRayによる実装の試み
 
ACL2011読み会: Query Weighting for Ranking Model Adaptation
ACL2011読み会: Query Weighting for Ranking Model AdaptationACL2011読み会: Query Weighting for Ranking Model Adaptation
ACL2011読み会: Query Weighting for Ranking Model Adaptation
 
SIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to RankSIGIR2011読み会 3. Learning to Rank
SIGIR2011読み会 3. Learning to Rank
 
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用
 
Hive/Pigを使ったKDD'12 track2の広告クリック率予測
Hive/Pigを使ったKDD'12 track2の広告クリック率予測Hive/Pigを使ったKDD'12 track2の広告クリック率予測
Hive/Pigを使ったKDD'12 track2の広告クリック率予測
 
機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning
機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning 機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning
機械学習 論文輪読会 Hybrid Reward Architecture for Reinforcement Learning
 
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
 
Learning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value GradientsLearning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value Gradients
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
Rainbow
RainbowRainbow
Rainbow
 
Tf勉強会(4)
Tf勉強会(4)Tf勉強会(4)
Tf勉強会(4)
 
北大調和系 DLゼミ A3C
北大調和系 DLゼミ A3C北大調和系 DLゼミ A3C
北大調和系 DLゼミ A3C
 
Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...
Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...
Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement ...
 
SIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to RankSIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to Rank
 

More from SSII

SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII
 
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII
 
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用SSII
 
SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線SSII
 
SSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディングSSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディングSSII
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII
 
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...SSII
 
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理SSII
 
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用SSII
 
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術SSII
 
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII
 
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用SSII
 
SSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメント
SSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメントSSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメント
SSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメントSSII
 

More from SSII (20)

SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
 
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
 
SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線
 
SSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディングSSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディング
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
 
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
 
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
 
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
 
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
 
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
 
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
 
SSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメント
SSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメントSSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメント
SSII2021 [OS1-03] エネルギーの情報化:需要家主体の分散協調型電力マネージメント
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜

  • 1. 1 Chubu University MACHINE PERCEPTION AND ROBOTICS GROUP 深層強化学習 ~ 強化学習の基礎から応用まで ~ Tsubasa Hirakawa Machine Perception & Robotics Group・Chubu University 深層強化学習 ~ 強化学習の基礎から応⽤まで ~ 2021.6.10 平川 翼(中部⼤学)
  • 2. 2 強化学習が注目され始めた理由(1) • Deep Q-Network (DQN) の登場 [Minh+, 2013, 2015] - 強化学習 + 深層学習 - Atari 2600ゲームで人間のスコアを超える http://urx.blue/NSDm http://urx.blue/NSGu
  • 3. 3 強化学習が注目され始めた理由(2) • AlphaGoの登場 [Silver+, 2016] - 囲碁の世界チャンピオンに勝利 http://y2u.be/WCfgaqfRwZY 従来では扱えなかった複雑なタスクに強化学習を適用可能
  • 4. 4 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ モデルフリー モデルベース(ゲームAI) Monte-Carlo Tree Search Alpha o Alpha o ero Alpha ero Alpha ol AlphaStar M ero ※厳密には モデルフリー ※厳密には モデルフリーが導入されている 信頼区間法に基づく方策改善 並列化 LSTMの導入 並列化 近接勾配法に基づく方策改善 決定的方策勾配への変更 Off-Policy化 深層学習の導入 並列化・Advantageの導入 補助タスクの導入 データ収集と学習の分割 方策のエントロピー最大化による 探索の効率化 Off-Policy化 Experience Replay 複数のtarget networkの導入 価値評価のための 別モデル導入 Advantageの導入 報酬の期待値を計算 ノイズ付与による 探索の効率化 サンプリングの優先順位を導入 深層学習の導入 デモンストレーションによる事前学習 全てを統合 並列化 LSTMの 導入 内部報酬による 探索の効率化 2つを統合 内部報酬と 並列化 Meta-Controller
  • 5. 5 おことわり • 強化学習の中で様々な分類方法が存在し,それぞれに対して手法が存在しています - 一つの分類方法だけでも,記載していない多数のアプローチがあります • 深層強化学習ではネットワーク構造はあまり変わらない - 学習方法そのものを改良することがほとんどです • 同じネットワークで学習方法を変えて精度比較 • 様々な定理・証明・数理モデルから導き出されています - 本質的な理解のためには,数理モデルの理解が必要 - チュートリアルの時間内で全てを説明するのは難しい
  • 6. 6 本チュートリアルの目的とコンセプト • 深層強化学習について俯瞰的に理解する - 深層学習の基本的な知識はあるものとして解説します • コンセプト - できるだけ数式は使わない(※本質的な理解のためには必須です) • マルコフ決定過程(Markov Decision Process; MDP) • ベルマン方程式(Bellman Equation) - 深層強化学習手法の分類方法を理解する • モデルベース・モデルフリー • On-Policy・Off-Policy • Value-based・Policy-based・Value + Policy - 深層強化学習の発展のポイントとなった手法・考え方を抑えて最新手法に到達するまでを理解する
  • 7. 7 本発表(70分) 1. 強化学習の基本的な考え方 2. 深層強化学習のアルゴリズム - 価値ベース - 方策ベース 3. 深層強化学習の応用例・活用のポイント 補足資料(動画) a. 深層強化学習のアルゴリズム - 本発表で紹介できなかった手法 - 価値 + 方策 (Actor-Critic) b. 深層強化学習を使うためのツール・フレームワーク 目次
  • 9. 9 教師ラベル:dog 強化学習の位置付け(1) • 入力と出力の関係を学習 - 教師(正解)が存在する - 教師と同じ答えを出力するようなモデルを学習 • 畳み込みニューラルネットワーク など 機械学習 教師なし学習 強化学習 教師あり学習 教師あり学習
  • 10. 10 強化学習の位置付け(2) • データの構造を学習 - 教師(正解)は存在しない - 類似したパターンのグループを見つけるような問題 • クラスタリング など 赤色の成分 物体の丸さ データの集合 クラスタリング 機械学習 教師なし学習 強化学習 教師あり学習
  • 11. 11 強化学習の位置付け(3) • 報酬を最大化するような行動を学習 - 教師(正解)が存在しない - 代わりに報酬が与えられる • 報酬を手掛かりに学習 エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬 機械学習 教師なし学習 強化学習 教師あり学習
  • 12. 12 強化学習の用語(1) • エージェント:行動する主体 (ロボット) • 環境:エージェントが働きかける対象 (ロボットが移動する迷路) • 状態:エージェントが置かれている環境 (迷路の中での位置) • 行動:エージェントの環境に対する働きかけ (隣接するマスへの上下左右移動) • 方策:エージェントの行動規範 (今の状態でどこへ移動すれば良いか) • 報酬:行動の結果の良さを表す値 (壁にぶつかると-1点,ゴールすると+100点) エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬
  • 13. 13 強化学習の用語(2) • 行動価値 (Q値) :エージェントの行動の良さを表す数値・指標 (ゴールへ近づく方向への移動では+10,離れる方向への移動は-1 ) • 状態価値 (V値):状態がどの程度良いかを表す数値・指標 (ゴール付近のマス(状態)では+8,壁のマスでは-10 ) • エピソード:行動の開始 ~ 終了までの一連の動作 (スタートからゴールに到達するまで) (スタートから壁にぶつかって終了するまで) G G S S G G S S Q( ↓ ) = +10 Q( ← ) = -1 V = +8 V = -10 G G S S スタート ~ ゴール (目的を達成して終了) スタート ~ 壁に衝突 (目的を達成せず終了)
  • 14. 14 • 以下の動作を繰り返すことで,目的を達成しようとする 1. 現在の状態を観測 2. 観測を踏まえて行動を選択・行動 a. 状態が変化 b. 報酬を受け取る 強化学習の処理の流れ エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬
  • 15. 15 - 環境:囲碁の盤面 - 行動:石を置く(19 x 19 = 361種類) - エピソード:対局開始から終局までの行動 • AlphaGo - エージェント:プレイヤー(AlphaGo) - 状態:現在の盤面(白石・黒石の位置など) - 報酬:勝利すれば+1点,負ければ-1点 その他の強化学習の例 エージェント (ex. AlphaGo) 環境 (ex. 盤面) 状態観測部 行動選択 状態s 状態s’ 観測 行動 報酬 https://www.nihonkiin.or.jp/
  • 16. 16 報酬について(1) • (今は低くても)後で高い報酬が得られる可能性がある - 即時報酬 … ある行動をとった直後に得られる報酬 - 価値(遅延報酬)… その後に得られる報酬を合計したもの - 割引報酬和 … 未来の不確実性を報酬から割り引いた収益 • 𝛾 = 0 の場合(今が良ければそれで良い) • 𝛾 = 0.9 の場合(将来のことを考えて行動する) ※ 𝛾 : 割引率 𝑅! = ' "#$ % 𝛾" 𝑟!&" = 𝑟! + 𝛾𝑟!&' + 𝛾( 𝑟!&( + ⋯ 𝑅! = 𝑟! 𝑅! = 𝑟! + 0.9𝑟!&' + 0.81𝑟!&( + ⋯
  • 19. 19 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ モデルフリー モデルベース(ゲームAI) Monte-Carlo Tree Search Alpha o Alpha o ero Alpha ero Alpha ol AlphaStar M ero ※厳密には モデルフリー ※厳密には モデルフリーが導入されている 信頼区間法に基づく方策改善 並列化 LSTMの導入 並列化 近接勾配法に基づく方策改善 決定的方策勾配への変更 Off-Policy化 深層学習の導入 並列化・Advantageの導入 補助タスクの導入 データ収集と学習の分割 方策のエントロピー最大化による 探索の効率化 Off-Policy化 Experience Replay 複数のtarget networkの導入 価値評価のための 別モデル導入 Advantageの導入 報酬の期待値を計算 ノイズ付与による 探索の効率化 サンプリングの優先順位を導入 深層学習の導入 デモンストレーションによる事前学習 全てを統合 並列化 LSTMの 導入 内部報酬による 探索の効率化 2つを統合 内部報酬と 並列化 Meta-Controller
  • 20. 20 ● ロボットの位置 ? 現在の状況 モデルベースとモデルフリー (1) • モデルベース(モンテカルロ木探索・AlphaGo など) - 環境からモデル(迷路の構造)を学習する • 与えられた状況・選択肢の中で何が起こるかを考えて行動を決定する • 探索した行動パターンからモデルの推定精度を改善していく エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬 下移動を選択 ? ? ? 下移動 右移動 上移動 … … … 右移動 ? 壁にぶつかりそう… 下移動 ? その先にも道が続いていそう
  • 21. 21 ? 現在の状況(状態) ● ロボットの位置 モデルベースとモデルフリー (2) • モデルフリー(Deep Q-Network・Policy Gradient など) - モデル(迷路全体がどんな構造になっているか)は学習せず,環境からのインタラクションで学習 • 今の状態でどの行動を取れば良いかを方策で直接決定 • 探索した行動パターンから方策を学習・改善していく 方策 右へ移動 エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬 モデルフリーを中心に説明します
  • 22. 22 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ 価値ベース・方策ベース ~ モデルフリー 今回のチュートリアルでは,価値ベースと方策ベースの分類に着目して順番に説明していきます
  • 24. 24 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ 価値ベース・Q学習とSARSA ~ • 価値ベース手法の基本的な考え方 • 探索の方法(ε-greedy法) • Off-PolicyとOn-Policy - Q学習とSARSAの違い
  • 25. 25 価値ベース強化学習の考え方(1) • 行動価値関数(Q関数)を用いて学習・行動決定 - ある状態で行動をとった時の良さを行動価値関数(Q関数)という • 全ての状態と行動のペアに価値を付ける - Q関数はテーブルとして表されている 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E ■:スタート ■:ゴール ■:障害物(壁) 状態\行動 ↑ ↓ ← → 1,A 0 0 0 0 2,A 0 0 0 0 3,A 0 0 0 0 4,A 0 0 0 0 5,A 0 0 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 5,D 0 0 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 5,E (Goal) -- -- -- -- 学習前の価値(全て価値0で初期化) 5x5の迷路 → 25個の状態(位置)
  • 26. 26 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E ■:スタート ■:ゴール ■:障害物(壁) 価値ベース強化学習の考え方(3) • 各ペアの価値を更新する - 報酬が与えられる状態(ゴール)から徐々に価値を更新していく 状態\行動 ↑ ↓ ← → 1,A 7 34 6 3 2,A 0 0 0 0 3,A 10 13 7 36 4,A 11 7 32 41 5,A 14 45 35 12 ⋮ ⋮ ⋮ ⋮ ⋮ 5,D 24 50 32 31 ⋮ ⋮ ⋮ ⋮ ⋮ 5,E (Goal) -- -- -- -- 学習後の価値
  • 27. 27 価値の更新方法 • 次の式に従い状態価値(Q値)を更新する - 現在の価値にTemporal Difference誤差(TD誤差)を加える • Temporal Difference誤差の計算方法 - Q学習 [Watkins and Dayan, 1992] - SARSA [Rummery and Niranjan, 1994] 𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼Δ𝑄 ※ 𝑠 : 現在の状態 現在の価値 TD誤差 ※ 𝑎 : 現在の状態で取る行動 ※ 𝛼 : 学習率 Δ𝑄 = 𝑟′ + 𝛾 max !! 𝑄 𝑠′, 𝑎′ − 𝑄 𝑠", 𝑎" Δ𝑄 = 𝑟′ + 𝛾𝑄 𝑠′, 𝑎′ − 𝑄 𝑠", 𝑎" ※ 𝑠′ : 次の状態 ※ 𝑎′ : 次の状態で取る行動 ※ 𝛾 : 割引率 ※ 𝑟′ : 行動𝑎の結果得られる報酬 両者の違いは後ほど説明します
  • 28. 28 TD誤差の考え方(Q学習の場合) - TD誤差が正(+):思っていたよりも良い行動だった • 今とった行動の価値が高くなるように更新 - TD誤差が負(−):思っていたよりも悪い行動だった • 今とった行動の価値が低くなるように更新 実際に行動してみた後の価値 - 自分が行動する前に思っていた行動の価値 Δ𝑄 = 𝑟"#$ + 𝛾 max !! 𝑄 𝑠"#$, 𝑎% − 𝑄 𝑠", 𝑎" 現在の価値 となりの状態(マス)の中の最大の価値
  • 29. 29 利用と探索 • ε-greedyアルゴリズム - 確率εを設定(例:ε=0.9) - 確率1-εで価値が最大の行動を選択 - 確率ε/3で他の行動をランダムに選択 状態\行動 ↑ ↓ ← → 1,A 0 2 1 0 2,A 0 0 0 0 3,A 3 4 2 9 4,A 2 4 8 10 5,A 4 10 11 2 ⋮ ⋮ ⋮ ⋮ ⋮ 5,D 8 14 4 6 ⋮ ⋮ ⋮ ⋮ ⋮ 5,E (Goal) -- -- -- -- 確率 1-ε で ← を選択 確率 ε/3 で ↑ を選択 確率 ε/3 で ↓ を選択 確率 ε/3 で → を選択 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E ■:スタート ■:ゴール ■:障害物(壁)
  • 30. 30 1,A 2,A 3,A 4,A 5,A 1,B 2,B 3,B 4,B 5,B 1,C 2,C 3,C 4,C 5,C 1,D 2,D 3,D 4,D 5,D 1,E 2,E 3,E 4,E 5,E On-PolicyとOff-Policy ~ SARSAとQ学習の違い ~(1) • SARSAとQ学習でTD誤差を計算 SARSA Q学習 Δ𝑄 = 𝑟′ + 𝛾 max )! 𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎 状態\行動 ↑ ↓ ← → 1,A 0 2 1 0 2,A 0 0 0 0 3,A 3 9 2 6 4,A 2 4 8 10 5,A 4 10 11 2 ⋮ ⋮ ⋮ ⋮ ⋮ Δ𝑄 = 𝑟* + 𝛾𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎 𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼Δ𝑄 𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼Δ𝑄 現在の状態𝑠で選択した行動𝑎 ε-greedyで選択した行動𝑎′ Δ𝑄 = 0 + 10 − 6 = 4 𝑄 ← 6 + 0.5 × 4 = 8 Δ𝑄 = 0 + 4 − 6 = −2 𝑄 ← 6 + 0.5 × −2 = 5 ※ 割引率𝛾 = 1,学習率𝛼 = 0.5として計算
  • 31. 31 On-PolicyとOff-Policy ~ SARSAとQ学習の違い ~(2) • 実際の行動(方策)に従って価値を更新 - ε-greedyで行動𝑎′を決定 - 行動𝑎′対するQ値を用いてTD誤差を計算 • On-Policy型の手法(後ほど紹介) - SARSA, Policy Gradient, TRPO, PPO, Actor-Critic, … • 実際の行動と価値更新に用いる行動が異なる - ε-greedyで行動𝑎′を決定 - Q値が最大の行動𝑎′に基づいてTD誤差を計算 • Off-Policy型の手法(後ほど紹介) - Q学習, DQNとその改良手法たち, DPG, DDPG, … On-Policy(方策オン型) Off-Policy(方策オフ型) 価値ベースの深層強化学習ではOff-Policy(Q学習)が主流 Δ𝑄 = 𝑟′ + 𝛾 max )! 𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎 Δ𝑄 = 𝑟* + 𝛾𝑄 𝑠′, 𝑎′ − 𝑄 𝑠, 𝑎 SARSA Q学習
  • 32. 32 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ 価値ベース・Q学習とSARSA ~ モデルフリー モデルベース(ゲームAI) Monte-Carlo Tree Search Alpha o Alpha o ero Alpha ero Alpha ol AlphaStar M ero ※厳密には モデルフリー On-Policy Off-Policy ※厳密には 強化学習が導入されている
  • 33. 33 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ Deep Q-Networkの登場 ~ • ニューラルネットワークによるQ関数(Qテーブル)の関数近似 • Deep Q-Network • 深層強化学習の難しいところ - 難しさを改善する基本の工夫
  • 34. 34 Q学習の問題点 • 大規模・複雑な問題では学習が難しい - 取りうる状態の数を考えてみる テーブルを作成して全ての価値を更新することは難しい 100 100の迷路 画像 (Atari・ブロック崩し) 84 84 pixels の グレースケール画像 5 5の迷路 囲碁 5 5 = 25 100 100 = 10000 256 84 84 約10 360
  • 35. 35 1,A 2,A 3,A 4,A 5,A 1,B 2,B 3,B 4,B 5,B 1,C 2,C 3,C 4,C 5,C 1,D 2,D 3,D 4,D 5,D 1,E 2,E 3,E 4,E 5,E Q-Network [Tesauro, 1995] • ニューラルネットワークでQ関数を表現 - 従来のQ学習:テーブルで全パターンの価値を保持 - Q-Network:ある状態の時の価値をニューラルネットワークで演算 状態 行動↑ 行動↓ 行動← 行動→ 1,A 0 2 1 0 2,A 0 0 0 0 3,A 3 9 2 6 4,A 2 4 8 10 5,A 4 10 11 2 ⋮ ⋮ ⋮ ⋮ ⋮ 入力層 出力層 中間層 …
  • 36. 36 Q-Networkの処理の流れ(1) • 入力:ある状態 • 出力:入力した状態での各行動の価値 入力層 出力層 中間層 ↑の価値 ↓の価値 ←の価値 →の価値 1列目にいるかどうか 2列目にいるかどうか 3列目にいるかどうか A行目にいるかどうか B行目にいるかどうか C行目にいるかどうか D行目にいるかどうか E行目にいるかどうか 4列目にいるかどうか 5列目にいるかどうか … 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E
  • 37. 37 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E Q-Networkの処理の流れ(2) • 入力:ある状態 • 出力:入力した状態での各行動の価値 入力層 出力層 中間層 ↑の価値 ↓の価値 ←の価値 →の価値 1列目にいるかどうか 2列目にいるかどうか 3列目にいるかどうか A行目にいるかどうか B行目にいるかどうか C行目にいるかどうか D行目にいるかどうか E行目にいるかどうか 4列目にいるかどうか 5列目にいるかどうか … 3列・A行にいる時 3列・A行にいる時の
  • 38. 38 • CartPoleの状態は4種類の連続値(※ ここでは値は全て-1.0 ~ 1.0とする) - カートの位置 - カートの速度 - 棒の角度 - 棒の角速度 • 行動は2種類(右・左移動) CartPoleにおけるQ-Networkの例(1) 状態 行動 カートの 位置 カートの 速度 棒の 角度 棒の 角速度 ← → + + + + 0 0 + + + − 0 0 + + − + 0 0 + + − − 0 0 + − + + 0 0 + − + − 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ カートの位置 カートの速度 棒の角度 棒の角速度 それぞれの数値を正負で分割した場合(量子化数=2) 状態数 = 24 = 16
  • 39. 39 • CartPoleの状態は4種類の連続値(※ ここでは値は全て-1.0 ~ 1.0とする) - カートの位置 - カートの速度 - 棒の角度 - 棒の角速度 • 行動は2種類(右・左移動) CartPoleにおけるQ-Networkの例(2) 状態 行動 カートの 位置 カートの 速度 棒の 角度 棒の 角速度 ← → -1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 0 0 -1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 0 0 -1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 0.0 ~ 0.5 0 0 -1.0 ~ -0.5 -1.0 ~ -0.5 -1.0 ~ -0.5 0.5 ~ 1.0 0 0 -1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 -1.0 ~ -0.5 0 0 -1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 -0.5 ~ 0.0 0 0 -1.0 ~ -0.5 -1.0 ~ -0.5 -0.5 ~ 0.0 0.0 ~ 0.5 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ それぞれの数値を4分割した場合(量子化数=4) 状態数 = 44 = 256 カートの位置 カートの速度 棒の角度 棒の角速度
  • 40. 40 • CartPoleの状態は4種類の連続値(※ ここでは値は全て-1.0 ~ 1.0とする) - カートの位置 - カートの速度 - 棒の角度 - 棒の角速度 • 行動は2種類(右・左移動) CartPoleにおけるQ-Networkの例(3) 入力層 出力層 中間層 ←の価値 →の価値 カートの位置 カートの速度 棒の角度 棒の角速度 連続値で表現された状態を扱うことが可能 カートの位置 カートの速度 棒の角度 棒の角速度
  • 42. 42 誤差の計算方法 • おさらい:強化学習には教師(正解)は存在しない • TD誤差を使ってパラメータを更新する 𝜃 ← 𝜃 − 𝛼∇'𝐿' 𝛻'𝐿' = − 𝑟′ + 𝛾 max !! 𝑄'(𝑠%, 𝑎%) − 𝑄' 𝑠, 𝑎 ∇'𝑄' 𝑠, 𝑎 ※ 𝛼 : 学習率 TD誤差 TD誤差からの勾配の算出 パラメータの更新 ※ 𝜃 : ネットワークのパラメータ
  • 43. 43 Deep Q-Network (DQN) [Mnih+, 2013 and 2015] • Q-Networkに近年の深層学習の技術を導入 - 畳み込みニューラルネットワーク(CNN)を適用 - 局所解に陥らない最新の最適化手法を使用 深層学習技術の登場やGPUの性能向上で多層のネットワークが扱えるようになった → より複雑なタスクを解くことが可能に
  • 44. 44 深層強化学習の難しいところ • 単純な学習アルゴリズムでは学習が難しい - 学習が収束しない(終わらない) - 学習が終了しても,望んだ動作が得られない • なぜ学習が難しいのか? - あらゆる状況を経験しなければいけない - パラメータの更新が難しい - 報酬がなかなか得られない場合(報酬が疎な場合)がある(後ほど説明します)
  • 45. 45 安定した学習をするために • 様々な工夫を取り入れている - Experience replay • たくさんの経験を蓄積してからランダムに学習に使用する - Target Q-Network • 目標値を計算するネットワークのパラメータを固定 - Reward Clipping • 報酬のスケールを一定にする
  • 46. 46 Experience replay [Lin, 1992] • 過去に経験した行動パターンを保存 - 行動遷移(経験)をreplay bufferに沢山ため込む (現在の状態,選択した行動,行動後の状態,もらえる報酬)を1セットにしたもの - 蓄積した行動セットをランダムに複数選択して学習に使用 • 画像認識のミニバッチ学習と同じ処理 • 過学習を抑制 パラメータの学習 … Replay buffer 経験を蓄積 ランダムに選択
  • 47. 47 Target Q-Network(1) • 目標値を計算するネットワークのパラメータを固定して学習 - 目標値が常に同じものが出力される - 一定の更新回数で固定値を同期(例:10000回に1回) … ↑の価値:4 ↓の価値:5 ←の価値:8 →の価値:10 … 𝑄 𝑠!, 𝑎! … ↑の価値:11 ↓の価値:10 ←の価値:15 →の価値:20 … max "! 𝑄 𝑠!#$, 𝑎% Δ𝑄 = 𝑟!&' + 𝛾 max )! 𝑄 𝑠!&', 𝑎* − 𝑄 𝑠!, 𝑎! 例)学習1~10000回目 最新のパラメータ (学習で更新し続ける) 学習1回目のパラメータで固定
  • 48. 48 Target Q-Network(2) • 目標値を計算するネットワークのパラメータを固定して学習 - 目標値が常に同じものが出力される - 一定の更新回数で固定値を同期(例:10000回に1回) … ↑の価値:4 ↓の価値:5 ←の価値:8 →の価値:10 … 𝑄 𝑠!, 𝑎! … ↑の価値:11 ↓の価値:10 ←の価値:15 →の価値:20 … max "! 𝑄 𝑠!#$, 𝑎% Δ𝑄 = 𝑟!&' + 𝛾 max )! 𝑄 𝑠!&', 𝑎* − 𝑄 𝑠!, 𝑎! 例)学習10001~20000回目 最新のパラメータを使用 (学習で更新し続ける) 学習10001回目の パラメータで固定
  • 49. 49 Reward clipping • 報酬を[-1, 1]の範囲にclip - 報酬が負 … -1 - 報酬が正 … 1 - 目標値の急激な増大を抑制される • 大きくパラメータを更新することがなくなる • デメリット - 報酬の大小を区別できなくなる Δ𝑄 = 𝑟!&' + 𝛾 max )! 𝑄 𝑠!&', 𝑎* − 𝑄 𝑠!, 𝑎! ゴールで+100点もらえるとしても+1点にする
  • 50. 50 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ 分散強化学習と効率的な経験の活用 ~ • 分散強化学習 - GORILA • Prioritized Experience Replay • それらを組み合わせた手法 - Ape-X
  • 51. 51 Prioritized experience replay [Schaul+, 2016] • Experience replayの問題点 - 学習に使う経験(データ)をランダムに選択 - 学習に役立つ経験を選ぶのに時間がかかる • Replay bufferにある経験に優先順位をつける - 優先順位に従って学習に使う経験を選択 - 重要な経験を頻繁に再生することで学習を効率化 従来のExperience replay 経験1 経験2 経験3 経験4 replay buffer ランダムに選択 … 経験2 経験3 経験4 経験1 replay buffer 優先順位1: 優先順位2: 優先順位3: 優先順位4: Prioritized experience replay … 優先順位が高いものから選択
  • 52. 52 深層強化学習の計算時間 • 強化学習は学習(計算)に非常に時間がかかります… - エージェントを動かして様々な経験を蓄積する必要がある - 小さいGPUサーバーでは数ヶ月の学習が必要になる場合も • 通常のDQNでAtari 2600ゲームを学習すると10日以上はかかる replay buffer 蓄積 一つずつ入力∼蓄積を繰り返す 大量の経験を蓄積するのに時間がかかる … 1つだけネットワークを用意して学習する場合(Experience replay) 入力
  • 53. 53 環境 エージェント 環境 エージェント 環境 エージェント 環境 エージェント GORILA [Nair+, 2015] • DQNの並列化(分散学習) - Actorを複数作成し,高速に大量の経験を収集 Back prop. 更新したパラメータ を保存 パラメータをActorにコピー 経験を保存 学習に使う経験をランダムに選択 replay buffer … パラメータサーバ パラメータを保存する場所 Actor (Worker) 様々な経験を収集する場所 Replay buffer Actorで収集した経験を保存する場所 Learner 学習(パラメータ更新)する場所
  • 54. 54 APE-X [Horgan+, 2018] • 分散処理にPrioritized Experience Replayを導入 - 分散処理で大量にデータを収集して有用なデータを活用 パラメータサーバ パラメータを保存する場所 環境 エージェント 環境 エージェント 環境 エージェント 環境 エージェント Actor (Worker) 様々な経験を収集する場所 Replay buffer Actorで収集した経験を保存する場所 Learner 学習(パラメータ更新)する場所 Back prop. 更新したパラメータ を保存 パラメータをActorにコピー 経験を保存 学習に使う経験を 優先順位に従い選択 経験2 経験3 経験1 replay buffer 1: 2: N: …
  • 55. 55 分散強化学習の効果 ~ APE-Xの結果 ~ • DQNをベースにAPE-Xを適用 - 学習速度,スコアも大幅に改善 全体精度 各ゲームのスコア(報酬)の学習推移 学習時間 [hours] 人間のスコアを1 とした時の各手法のスコア (全てのゲームの中央値) ー DQN ー Rainbow ー A3C(分散学習) ー Ape-X(分散学習) ※ 分散学習では横軸は学習時間で示される 大量に経験を集めて,有用な経験を使うことが重要
  • 56. 56 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ 内部報酬の活用と人間を超えたスコアの達成 ~ • 内部報酬の考え方 • 内部報酬を導入した手法 - ICM - RND - NGU - Agent57
  • 57. 57 深層強化学習の難しいところ(再掲) • 単純な学習アルゴリズムでは学習が難しい - 学習が収束しない(終わらない) - 学習が終了しても,望んだ動作が得られない • なぜ学習が難しいのか? - あらゆる状況を経験しなければいけない - パラメータの更新が難しい - 報酬がなかなか得られない場合(報酬が疎な場合)がある
  • 59. 59 内部報酬(好奇心)の導入 • 新しい状況に出会うと自発的に報酬が得られる様な機構をエージェント内部に導入 - 環境から受け取る報酬(外部報酬)と内部報酬を用いて学習 エージェント (ex. ロボット) 環境 (ex. 迷路) 状態観測部 行動選択 状態s 状態s’ 観測 行動 外部報酬 内部報酬 の機構 内部報酬 内部報酬によって効率的な探索を実現する ※ 価値ベース以外の強化学習手法を使用している手法もありますが,内部報酬は強化学習の分類(価値・方策ベース)には該当しません. 話の都合上,ここで内部報酬をまとめて紹介しています.
  • 60. 60 Intrinsic Curiosity Module (ICM) [Pathak+, 2017] (1) • 特徴ベクトルの差から内部報酬を計算 1. 状態 𝑠!, 𝑠!&' から特徴量 𝜙 𝑠! , 𝜙(𝑠!&') を抽出 2. 行動 𝑎! と 𝜙 𝑠! から次の状態(の特徴量) 𝜙(𝑠!&') の予測結果 A 𝜙(𝑠!&') を出力 3. 特徴量 𝜙 𝑠! , 𝜙(𝑠!&') から行動 𝑎! の予測結果 B 𝑎! を出力 4. 特徴量 𝜙(𝑠!&')と A 𝜙(𝑠!&') の差を内部報酬として出力 • L2ノルムを計算 1 2 3 4
  • 61. 61 Intrinsic Curiosity Module (ICM) [Pathak+, 2017] (2) • 特徴ベクトルの差から内部報酬を計算 1. 状態 𝑠!, 𝑠!&' から特徴量 𝜙 𝑠! , 𝜙(𝑠!&') を抽出 2. 行動 𝑎! と 𝜙 𝑠! から次の状態(の特徴量) 𝜙(𝑠!&') の予測結果 A 𝜙(𝑠!&') を出力 3. 特徴量 𝜙 𝑠! , 𝜙(𝑠!&') から行動 𝑎! の予測結果 B 𝑎! を出力 4. 特徴量 𝜙(𝑠!&')と A 𝜙(𝑠!&') の差を内部報酬として出力 • L2ノルムを計算 • Self-Supervisedな方法でモジュールを学習 a. 行動 𝑎! と ̂ 𝑎"(クロスエントロピー誤差) b. 特徴量 𝜙(𝑠!&') と A 𝜙(𝑠!&')(平均二乗誤差) a b
  • 62. 62 Random Network Distillation (RND) [Bruda+, 2019] • ランダムな重みのパラメータ(Random Network)の知識を蒸留(Distillation) - 2つのネットワーク(Target Network・Predictor Network)を作成 • Target Netはランダムな重みのまま固定 - 状態𝑠!を2つのネットワークに入力し,特徴ベクトル𝑓!&', E 𝑓+&'を抽出 • 2つの特徴ベクトルの差(L2ノルム)を内部報酬𝑟! , とする • 内部報酬(誤差)𝑟! , を用いてPredictor Networkを学習 - 学習初期 • パラメータが違うので…違う特徴ベクトルが出力 • 差(内部報酬)が大きい - 学習後期 • 学習したデータでは類似した特徴ベクトルが出力 • 差(内部報酬)が小さい 𝑠"#$ Target Network Predictor Network 𝑓!#$ + 𝑓!#$ − 𝑟" (
  • 63. 63 Never Give Up (NGU) [Baida+, 2020] (1) • Life-long novelty module - RNDと同じ - 生涯(学習期間全体)で新しい状況に出会うと高い内部報酬を出力 • Episodic novelty module - 1エピソード内で訪れた状態をエピソード記憶(Episodic memory)に保持 - エピソード内で新しい状況に出会うと高い内部報酬を出力 • 各モジュールからの値を以下の式で統合 • 外部報酬𝑟" ) と内部報酬𝑟" ( の和を全体の報酬とする embedding network RND predi tion network RND r ndom network epi odi memor k ne re t neig bor ontro b e t te epi odi no e t mod e i e ong no e t mod e m tip i ti e mod tion 𝑟! , = 𝑟! -.,/01- × min(max 𝛼!, 1 , 𝐿) 𝑟! = 𝑟! - + 𝛽𝑟! , ※ 𝛽:内部報酬の重み
  • 64. 64 Never Give Up (NGU) [Baida+, 2020] (2) • Woker毎に異なる内部報酬の割合𝛽と割引率𝛾を指定して経験を集めている - これらから得られた経験をReplay Bufferへ蓄積して学習 パラメータサーバ パラメータを保存する場所 Replay buffer Actorで収集した経験を保存する場所 Learner 学習(パラメータ更新)する場所 Back prop. 更新したパラメータ を保存 パラメータをActorにコピー 経験を保存 学習に使う経験を 優先順位に従い選択 経験2 経験3 経験1 replay buffer 1: 2: N: … Actor (Worker) 様々な経験を収集する場所 Worker 1 𝛽 = 0, 𝛾 = 0.997 Worker 2 𝛽 = 0.1, 𝛾 = 0.996 Worker 3 𝛽 = 0.2, 𝛾 = 0.995 Worker N 𝛽 = 1.0, 𝛾 = 0.990 …
  • 65. 65 Agent57 [Baida+, 2020] (1) • NGUの問題点を改善し,全てのAtariゲームで人間を上回るスコアを達成 1. 行動価値関数の分割 - 外部報酬に基づくネットワークと内部報酬に基づくネットワークの2つを作成 • ネットワーク構造は同一・パラメータは別々 Q 𝑠, 𝑎; 𝜃) , 𝜃( = 𝑄 𝑠, 𝑎; 𝜃) + 𝛽𝑄(𝑠, 𝑎; 𝜃() 外部報酬 内部報酬 𝑠 外部報酬 内部報酬 𝑄(𝑠, 𝑎; 𝜃-) 𝑄(𝑠, 𝑎; 𝜃,) 𝑄(𝑠, 𝑎; 𝜃-, 𝜃,) 𝛽 +
  • 66. 66 Agent57 [Baida+, 2020] (2) • NGUの問題点を改善し,全てのAtariゲームで人間を上回るスコアを達成 2. Meta-Controller - NGUでは異なる内部報酬の割合𝛽と割引率𝛾を持つ全てのWorkerを等しく用いていた • 学習初期は𝛽は大きめが良さそう(色々探索したい) • 学習後期は𝛽は小さめが良さそう(不要な探索を減らしたい) - 適切なパラメータのworkerを選択するMeta-Controllerを導入 • 各Workerで独立したMeta-Controllerを使用 • より良いパラメータの組み合わせ𝐽2を選択 • 多腕バンディット問題の考え方を活用 (詳細は割愛) Meta-controller 𝑘個のパラメータの組み合わせから一つ選択 𝐽"={0.0, 0.997} 𝐽#={0.1, 0.996} 𝐽$={0.2, 0.995} 𝐽%={1.0, 0.990} … 𝛽 = 0.1, 𝛾 = 0.996
  • 67. 67 Agent57 [Baida+, 2020] (3) • 過去の学習で選択した𝐽*と得られた報酬のパターンをもとにパラメータセット𝐽*を選択 - 直前の数回の経験から報酬が一番高そうなパラメータセット𝐽2を選択 • 学習が進むにつれて最適な𝐽2が変化するため Worker 𝑅 Meta-controller 𝐽"={0.0, 0.997} 𝐽#={0.1, 0.996} 𝐽$={0.2, 0.995} 𝐽%={1.0, 0.990} … これまでに得られたパラメータと 報酬のパターン(経験) 𝐽& (𝛽 = 0.1, 𝛾 = 0.996) これまでの経験から一番報酬が高そうな𝐽を選択 1回前:𝑅 𝐽$ = 2 2回前:𝑅(𝐽&) = 9 3回前:𝑅 𝐽$ = 4 4回前:𝑅 𝐽' = 7 ⋮ N回前:𝑅 𝐽& = 12 ⋮ Sliding-Window Upper Confidence Bound (UCB) 法 新たなパターンとして経験を蓄積
  • 68. 68 価値ベースで扱われるタスク • 離散的な行動を選択するタスクが扱われる • Atari2600のゲームがベンチマーク - 深層強化学習における「ImageNet」に相当 - 人間がプレイしたスコアを1(100%)としてスコアを比較 https://gym.openai.com/
  • 69. 69 Agent57 [Baida+, 2020] (4) • Agent57では,全てのAtariゲームで人間を上回るスコアを達成 https://deepmind.com/blog/article/Agent57-Outperforming-the-human-Atari-benchmark
  • 71. 71 GORILA R D DQ D AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 強化学習アルゴリズムマップ ~ 方策ベースの強化学習 ~ • ここで学ぶこと - 方策ベースの強化学習の考え方 • Policy Gradient • REINFORCE • TRPO • PPO
  • 72. 72 方策ベースの強化学習の考え方(1) • 方策勾配法(Policy gradient) - 各状態でとる行動の確率を付ける 状態\行動 ↑ ↓ ← → 1,A 25 25 25 25 2,A 25 25 25 25 3,A 25 25 25 25 4,A 25 25 25 25 5,A 25 25 25 25 ⋮ ⋮ ⋮ ⋮ ⋮ 5,D 25 25 25 25 ⋮ ⋮ ⋮ ⋮ ⋮ 5,E (Goal) -- -- -- -- 学習前の行動の確率 [%](全て価値25%で初期化) 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E ■:スタート ■:ゴール ■:障害物(壁)
  • 73. 73 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E ■:スタート ■:ゴール ■:障害物(壁) 方策ベースの強化学習の考え方(3) • 方策勾配法(Policy gradient) - 各状態でとる行動の確率を付ける - 確率を更新する 状態\行動 ↑ ↓ ← → 1,A 2 97 1 0 2,A 25 25 25 25 3,A 0 4 1 95 4,A 0 0 2 98 5,A 0 99 1 0 ⋮ ⋮ ⋮ ⋮ ⋮ 5,D 0 100 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 5,E (Goal) -- -- -- -- 学習後の行動の確率 [%]
  • 74. 74 方策の更新方法 • 1エピソード毎に方策を更新 - 目的を達成するまでに多くとった行動の確率を上げる - 目的を達成するまでにあまりとらなかった行動の確率を下げる • 目的を達成した場合の行動は良い行動が多いと仮定 Δ𝜋 ∼ {𝑁 𝑠, 𝑎( − 𝜋 𝑎(|𝑠 𝑁 𝑠, @ 𝑎 }/𝑇 𝜋 𝑎"|𝑠" ← 𝜋 𝑎"|𝑠" + 𝛼Δ𝜋 ※ 𝑁(𝑠, 𝑎'):状態𝑠で行動𝑎'を選択した回数 𝑁(𝑠, 5 𝑎):状態𝑠で何らかの行動を選択した回数 𝜋(𝑎'|𝑠):状態𝑠で行動𝑎'を選択する確率 𝑇:行動した回数 1,A 2,A 3,A 4,A 5,A 1,B 2,B 3,B 4,B 5,B 1,C 2,C 3,C 4,C 5,C 1,D 2,D 3,D 4,D 5,D 1,E 2,E 3,E 4,E 5,E 状態\行動 ↑ ↓ ← → 1,A 12 51 16 21 2,A 25 25 25 25 3,A 13 31 11 45 4,A 7 12 28 55 5,A 9 56 23 13 ⋮ ⋮ ⋮ ⋮ ⋮ Δ𝜋 = (2 − 0.45 ∗ 2)/20 = 0.055 𝜋 𝑎→ 𝑠4,6 ← 0.45 + 1.0 ∗ 0.55 = 0.505 (50.5%) ※ 𝛼 = 1.0 3番のマス・→の行動の確率の更新
  • 75. 75 NNを用いた方策ベースの強化学習 • ニューラルネットワークで方策関数を表現 - 従来の方策勾配法:テーブルで全パターンの行動の確率を保持 - ニューラルネット版:ある状態の時の行動確率をNNで演算 • 確率を出力するので,最後にsoftmaxを適用 - 学習は誤差逆伝播法でパラメータを更新する 1 2 3 4 5 A 1,A 2,A 3,A 4,A 5,A B 1,B 2,B 3,B 4,B 5,B C 1,C 2,C 3,C 4,C 5,C D 1,D 2,D 3,D 4,D 5,D E 1,E 2,E 3,E 4,E 5,E 入力層 出力層 中間層 1列目にいるかどうか 2列目にいるかどうか 3列目にいるかどうか A行目にいるかどうか B行目にいるかどうか C行目にいるかどうか D行目にいるかどうか E行目にいるかどうか 4列目にいるかどうか 5列目にいるかどうか … 3列・A行にいる時 ↑の確率 ↓の確率 ←の確率 →の確率 3番にいる時の softmax
  • 76. 76 方策ベースの誤差関数(1) • 更新式は価値ベース(Q-Network)とほぼ同じ • 方策勾配の計算方法 - (いわゆる)方策勾配法 - REINFORCE [Williams, 1992] • 𝑇ステップからなるエピソードを𝑀回行なった結果を使う 𝜃 ← 𝜃 − 𝛼∇7𝐽(𝜃) ※ 𝜃 : ネットワークの パラメータ 𝛻7𝐽(𝜃) ≈ ' 8#' 9 ' !#' : 𝑟! 8 − 𝑏 ∇7 ln 𝜋7 (𝑎! 8 |𝑠! 8 ) 方策勾配(誤差) 𝑏 = 1 𝑀 ' 8#' 9 1 𝑇 ' !#' : 𝑟! 8 𝛻7𝐽(𝜃) ≈ 𝔼 ' !#' : 𝑄 𝑠!, 𝑎! ∇7 ln 𝜋7 (𝑎!|𝑠!) ※ 𝑇:あるエピソードの行動回数
  • 77. 77 方策ベースの誤差関数(2) • 方策勾配の考え方 - 強化学習の目的のおさらい - 方策ベースは行動の確率が出力される • その行動を確率的に選択した時に貰える報酬の期待値を最大化 • 割引報酬和の期待値 𝔼[∑!(𝛾! 𝑟!)] を目的関数として • ネットワークパラメータについて最大化(詳細は割愛) • 対数尤度の最大化と同じ考え方 将来にわたって得られる報酬(価値)を最大化するような行動を学習 𝛻8𝐽(𝜃) ≈ 1 9:; < 1 =:; > 𝑟= 9 − 𝑏 ∇8 ln 𝜋8 (𝑎= 9|𝑠= 9) 𝛻8𝐽 𝜃 = 𝔼 1 =:; > 𝑄 𝑠=, 𝑎= ∇8 ln 𝜋8 (𝑎=|𝑠=)
  • 78. 78 深層強化学習の難しいところ(再掲) • 単純な学習アルゴリズムでは学習が難しい - 学習が収束しない(終わらない) - 学習が終了しても,望んだ動作が得られない • なぜ学習が難しいのか - あらゆる状況を経験しなければいけない - パラメータの更新が難しい - 報酬がなかなか得られない場合(報酬が疎な場合)がある 方策ベースの主な問題点
  • 79. 79 なぜパラメータの更新が難しいのか? • 一度良くない方策に陥ると抜け出すのが難しい - 方策が「劣化」する 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 学習初期の方策 • ↑の確率:24% • ↓の確率:27% • ←の確率:26% • →の確率:23% ランダムに行動を選択 良くない方策 • ↑の確率:70% • ↓の確率:15% • ←の確率:8% • →の確率:7% うまく学習できないと… ここから抜け出すためには… 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 →(7%)を頑張って選択して, 行動→の確率を上げる うまく選択することが難しい
  • 80. 80 Trust Region Policy Optimization [Schulman+, 2015] • 報酬が高くなることが信頼できる範囲でパラメータを更新 - 信頼領域法の考え方を導入 • ロボットの制御などで用いられる手法 - 更新前後の方策の「比」を導入 - 更新前後の方策𝜋のKLダイバージェンスが𝛿以下とする制約を導入 • 更新前後で方策を変えすぎない 一度にパラメータ更新できる量に制限をかけている 大きく更新しすぎて,良くない方策に更新することを防いでいる maximize7𝔼 𝜋7 𝑎 𝑠 𝜋70;1 𝑎 𝑠 𝑄70;1 𝑠, 𝑎 subject to 𝔼 𝐷<=(𝜋7./0 (⋅ |𝑠)||𝜋7 ⋅ 𝑠 ) ≤ 𝛿
  • 81. 81 maximize7𝔼 𝜋7 𝑎 𝑠 𝜋70;1 𝑎 𝑠 𝑄70;1 𝑠, 𝑎 Proximal Policy Optimization (PPO) [Schulman+, 2017](1) • 方策の「比」が大きくなりすぎるのを防ぐ - TRPOだとまだ更新量が大きすぎる - Clip関数を導入して切り取ってしまう • 比を[1-ε,1+ε]の範囲に制限する TRPOの目的関数 PPOの目的関数 maximize 𝐽>>? 𝜃 = 𝔼 min(𝑟(𝜃; 𝑠, 𝑎) 𝐴7 𝑠, 𝑎 , clip 𝑟 𝜃; 𝑠, 𝑎 , 1 − 𝜖, 1 + 𝜖 𝐴7(𝑠, 𝑎))
  • 82. 82 Proximal Policy Optimization (PPO) [Schulman+, 2017](2) • TRPOの他の問題点も改善 - アルゴリズムが複雑で実装が難しい • PPOは実装が容易 - Dropoutが使えない • Dropoutが使える - Actor-Criticという手法(詳細は後述)に応用できない • PPOはActor-Criticに応用可能 - パラメータ共有(分散学習)ができない • PPOなら分散学習も可能
  • 83. 83 方策ベースで扱われるタスク • (価値ベースと同様に)Atari2600がベンチマークとして用いられる • 細かな連続値制御が必要なタスク - 3次元の環境における2足歩行を獲得するタスク • ロボット制御などへの応用が期待される http://u0u0.net/NYI7 https://openai.com/blog/openai-baselines-ppo/ TRPOの結果 PPOの結果
  • 85. 85 CVタスクへの応用:Neural Architecture Search (NAS) • Neural Architecture Search with Reinforcement Learning [Zoph+, 2016] - ネットワークの構造を決定するための強化学習エージェントを学習 • エージェント:RNN Controller • 行動:各層のパラメータ(順番に出力) • 環境:ネットワークの探索空間 • 報酬:RNN Controllerが決定したアーキテクチャでの認識精度 - RLベースのNASに関するサーベイ https://www.sciencedirect.com/science/article/abs/pii/S0262885619300885
  • 86. 86 CVタスクへの応用: Data Augmentation • AutoAugment: Learning Augmentation Policies from Data [Cubuk+, 2018] - 最適なAugmentationを強化学習で選択 • 従来は手動で設計 - 認識性能が大きく向上(2018年当時にSoTA) 元画像 We formulate the problem of finding the best augment In our search space, a policy consists of 5 sub-policies operations to be applied in sequence, each operation is al the probability of applying the operation, and 2) the mag Figure 1 shows an example of a policy with 5-sub-polici specifies a sequential application of ShearX followed by is 0.9, and when applied, has a magnitude of 7 out of 10. The Invert operation does not use the magnitude informat applied in the specified order. 3 AutoAugment We formulate the problem of finding the best augmentation policy as a discrete sear In our search space, a policy consists of 5 sub-policies, each sub-policy consisting o operations to be applied in sequence, each operation is also associated with two hyperpa the probability of applying the operation, and 2) the magnitude of the operation. Figure 1 shows an example of a policy with 5-sub-policies in our search space. The firs specifies a sequential application of ShearX followed by Invert. The probability of appl is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Invert with proba The Invert operation does not use the magnitude information. We emphasize that these o applied in the specified order. 3 AutoAugment We formulate the problem of finding the best augmentation policy as a d In our search space, a policy consists of 5 sub-policies, each sub-policy c operations to be applied in sequence, each operation is also associated with the probability of applying the operation, and 2) the magnitude of the opera Figure 1 shows an example of a policy with 5-sub-policies in our search sp specifies a sequential application of ShearX followed by Invert. The probab is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Inve The Invert operation does not use the magnitude information. We emphasize applied in the specified order. 3 AutoAugment We formulate the problem of finding the best augmentation policy as a d In our search space, a policy consists of 5 sub-policies, each sub-policy c operations to be applied in sequence, each operation is also associated with t the probability of applying the operation, and 2) the magnitude of the operat Figure 1 shows an example of a policy with 5-sub-policies in our search spa specifies a sequential application of ShearX followed by Invert. The probabi is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Inver The Invert operation does not use the magnitude information. We emphasize t applied in the specified order. 3 AutoAugment We formulate the problem of finding the best augmentation policy as a discrete search problem. In our search space, a policy consists of 5 sub-policies, each sub-policy consisting of two image operations to be applied in sequence, each operation is also associated with two hyperparameters: 1) the probability of applying the operation, and 2) the magnitude of the operation. Figure 1 shows an example of a policy with 5-sub-policies in our search space. The first sub-policy specifies a sequential application of ShearX followed by Invert. The probability of applying ShearX is 0.9, and when applied, has a magnitude of 7 out of 10. We then apply Invert with probability of 0.8. The Invert operation does not use the magnitude information. We emphasize that these operations are applied in the specified order. 強化学習で自動的にAugmentationした画像
  • 87. 87 産業応用の例:ロボット制御 • 千切りキャベツの把持 [Robotcom Corp.] - 決められた分量の把持がむずかしい • 強化学習で把持動作を獲得 https://www.youtube.com/watch?v=dTRDPh7PFo4
  • 88. 88 産業応用の例:制御 • 建造物の制振 [大林組・Laboro.AI] - マスダンパーを強化学習で自動制御することで建造物の揺れを抑制 - 環境:建造物・エージェント:制振装置(マスダンパー) https://laboro.ai/case/obayashi/
  • 89. 89 産業応用の例:最適化・効率化 • 石油の輸送計画の最適化 [出光興産] - 国内の製油所 油槽所 小売・家庭(ガソリンスタンドなど) - 最適な輸送のために考慮すべき要因(パラメータ)や制約が無数に存在 • 石油の在庫,従業員の労働時間,天候など • 人手による最適化にはコストがかかる - 強化学習で輸送計画を最適化 • 輸送に関わる環境をシミュレータ上に構築・学習 • 計画に要する時間を削減 • 輸送に必要な燃料(効率)も20%改善 タンカー タンクローリー https://www.idemitsu.com/jp/news/2020/200630_1.html
  • 90. 90 産業応用の例:最適化・効率化 • 化学プラント運転の効率化 [三井化学] - 生産量や生産品を変更する操作を効率化 • 手動操作では時間を要する • その間の原料やエネルギーが無駄になってしまう - 現実のプラントを再現するようなシミュレータを構築 • 実際のプラントのセンサを取得 • 強化学習エージェントが最適な行動(操作)を決定 - 手動操作と比較し,操作時間を40%短縮 https://jp.mitsuichemicals.com/jp/release/2020/2020_1116.htm
  • 91. 91 産業応用の例:そのほかの応用例 • ゲームのバランス調整 [甲野ら, デジタルプラクティス2019] - https://www.ipsj.or.jp/dp/contents/publication/38/S1002-S05.html • クラウドリソースの最適制御 [Mao+, 2016] - https://people.csail.mit.edu/alizadeh/papers/deeprm-hotnets16.pdf • 広告配信の最適化 - NaviPlusリコメンド [ナビプラス] • https://www.naviplus.co.jp/recommend.html - 広告文の自動生成 [上垣外ら, WebDB Forun 2019] • https://developers.cyberagent.co.jp/blog/archives/25099/
  • 92. 92 深層強化学習を活用するためのポイント • 強化学習の枠組みに落とし込む - 環境・エージェント・状態・行動 • 行動の種類に応じて適切な手法を選択する - 離散値の行動 … 価値ベース - 連続値の行動 … 方策ベース • 適切な報酬設計 エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬
  • 93. 93 実問題への応用における報酬設計(1) • 強化学習の目的 - 探索を繰り返して将来にわたって得られる報酬(価値)を最大化するような行動を学習 • 手法やアルゴリズム以上に報酬の設計が重要 - 手法やアルゴリズムは既存手法を使用するところから始めれば良い - 報酬は自動的に決まらない • 人間が決定する必要がある エージェント (ロボット) 環境 (迷路) 状態観測部 行動選択(方策) 状態 𝑠! 状態 𝑠!"# 観測 行動 報酬
  • 94. 94 実問題への応用における報酬設計(2) • 報酬設計の基準(一部) 1. とある行動を取った直後に目指すべき結果があるタスクかどうか • 例:千切りキャベツの把持 … 一度に把持したいキャベツの量(一定の重さ) • 例:広告配信 ... エージェントが決定した広告がクリックされたかどうか 2. 複数の行動を続けた結果として目指すべき値があるタスク • 例:化学プラント … 目標の状態に至るまでに要した時間(短いほど良い) 3. 望ましくない行動が存在するタスク • 負の報酬を設計する • 例:自動運転制御で対向車に向かって移動する タスクに応じて適切な基準は他にも考えられるため,慎重に報酬設計する必要がある
  • 95. 95 強化学習を活用する際の難しさ • 実環境における問題 - ロボットの破損 - 環境の初期化(ロボットを元の位置に戻す) • 学習中に人間が面倒を見ないといけない • シミュレータ活用時の問題 - シミュレータで学習したエージェントが実空間ではうまく動作しない - 実空間 ~ シミュレータのギャップを埋める対策が必要 • 高精細(高精度)なシミュレータを開発する • ギャップを吸収する様な工夫を強化学習へ入れ込む [Levine, et al., 2016] 実空間 シミュレータ
  • 96. 96 強化学習と相性の良い問題 • 実空間で動作しない問題・応用先 - (先ほど紹介した事例の中では) web関連・ゲーム関連 • 強化学習を行うことができる様に改良すること自体は必要 • シミュレータで同様の環境が構築可能な問題・応用先 - (先ほど紹介した事例の中では)石油の輸送計画や化学プラント • 高精度なシミュレーション環境を構築し・実環境と並行して動作させている(デジタルツイン) 強化学習の専門家だけでなく対象とする環境を開発する専門家も必要となる
  • 97. 97 まとめ • 深層強化学習について紹介 - 強化学習の基礎 - 深層強化学習のアルゴリズム • 価値ベース • 方策ベース - 強化学習の応用例・活用のポイント • 補足資料(動画) - 深層強化学習のアルゴリズム • 本発表で紹介できなかった手法 • 価値 + 方策 (Actor-Critic) - 深層強化学習を使うためのツール・フレームワーク
  • 99. 2 目次 a. 深層強化学習のアルゴリズム - チュートリアルで紹介できなかった手法 - 価値 + 方策 (Actor-Critic) b. 深層強化学習を使うためのツール・フレームワーク
  • 101. 4 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ DQNの発展手法 ~ • 基本のDQNを改良した手法 - Double DQN - Dueling DQN - Categorical DQN - Rainbow
  • 102. 5 Double DQN [Hasselt+, 2016](1) • 2つのネットワークを用いて誤差を計算 - 1つ目のネットワーク:行動を決める役割 - 2つ目のネットワーク:目標値を計算する役割 … ↑の価値:4 ↓の価値:5 … 𝑄 𝑠!, 𝑎!, 𝜃" ←の価値:8 →の価値:10 … ↑の価値:11 ↓の価値:10 ←の価値:15 →の価値:20 … max !! 𝑄 𝑠"#$, 𝑎% , 𝜃# ネットワーク1 … ↑の価値:10 ↓の価値:7 ←の価値:3 →の価値:2 ↓に行動してみる →行動が良い行動らしい 2つ目のネットワーク は悪い行動と評価 ネットワーク2 目標値が異なる
  • 103. 6 Double DQN [Hasselt+, 2016](2) • 2つのネットワークを用いて誤差を計算 - 1つ目のネットワーク:行動を決める役割 - 2つ目のネットワーク:目標値を計算する役割 • TD誤差の計算式 - 通常のDQN - Double DQN Δ𝑄 = 𝑟!"# + 𝛾𝑄(𝑠!"#, argmax$&𝑄 𝑠!"#, 𝑎; 𝜃! " , 𝜃! % ) −𝑄 𝑠!, 𝑎!, 𝜃" Δ𝑄 = 𝑟!"# + 𝛾 max $& 𝑄 𝑠!"#, 𝑎& − 𝑄 𝑠!, 𝑎! 現在の価値 (ネットワーク1の出力) 目標値 (ネットワーク1からの出力) 現在の価値 (ネットワーク1の出力) 目標値 (ネットワーク1で選んだ行動と同じ行動を取った時のネットワーク2の出力)
  • 104. 7 Dueling DQN [Wang+, 2015](1) • 価値とアドバンテージ - 行動価値:行動がどのくらい良いかを表す値 • 𝑄(𝑠, 𝑎)で表される - 状態価値:今の状態がどのくらい良いかを表す値 • 𝑉(𝑠)で表される - アドバンテージ:行動がどのくらい多くの報酬につながるかを表す値 • 𝐴(𝑠, 𝑎)で表される 𝐴(𝑠, 𝑎) = 𝑄 𝑠, 𝑎 − 𝑉(𝑠) 行動価値 状態価値 アドバンテージ
  • 105. 8 Dueling DQN [Wang+, 2015](2) • 状態の価値,行動の価値,アドバンテージを分けて学習 入力層 出力層 中間層 … 通常のDQN 入力層 出力層 中間層 … Dueling DQN
  • 106. 9 Dueling DQN [Wang+, 2015](3) • 状態の価値,行動の価値,アドバンテージを分けて学習 - 出力の一つ手前で状態価値𝑉(𝑠)とアドバンテージ𝐴(𝑠, 𝑎)を出力 - 𝑉(𝑠)と𝐴(𝑠, 𝑎)から行動価値Q(𝑠, 𝑎)を計算 𝑄 𝑠, 𝑎 = 𝐴(𝑠, 𝑎) + 𝑉(𝑠) 出力層 𝑄(𝑠, ↑) 𝑄(𝑠, ↓) 𝑄(𝑠, ←) 𝑄(𝑠, →) 𝐴(𝑠, ↑) 𝐴(𝑠, ↓) 𝐴(𝑠, ←) 𝐴(𝑠, →) 𝑉(𝑠)
  • 107. 10 Dueling DQN [Wang+, 2015](4) • Dueling DQNの意味 - 状態によってその後にもらえる報酬が決まる状況がある ブロック崩しの例 板を左に移動すれば打ち返せそう (行動が報酬に影響を与えている) ブロックを崩してさらに報酬を貰えそう (良い状態) 頑張って左に移動しても間に合わない (どんな行動を取っても意味がない) ゲームが終了してこれ以上報酬が貰えない (悪い状態) 今の状態を考慮して行動価値を出力することが可能
  • 108. 11 NoisyNet [Fortunato+, 2017](1) • 利用と探索(ε-greedy)のおさらい - 確率1-εで価値が最大の行動を選択 - 確率ε/(N-1)でそれ以外の行動をランダムに選択 • ε-greedyの限界 - 簡単な問題なら十分な探索が可能 • 例)Q学習 + 5x5の迷路 - 難しい問題ではパターンが多すぎて探索しきれない • 例)DQN + Atari 2600ゲーム ※ N:行動の数 (DQNのような)広大な空間を探索するには ε-greedyは不十分
  • 109. 12 NoisyNet [Fortunato+, 2017](2) • ネットワークの重みにノイズを与えて探索する - ノイズを与えて計算することで出力(行動の価値)が変化する • 出力をノイズで変化させることで探索する - 論文では出力の直前だけノイズを与えて実験している 通常のネットワーク NoisyNet 出力層 1.81 0.85 1.4 1.5 0.8 0.5 + 0.2 0.1 – 0.1 0.2 + 0.3 0.6 – 0.3 0.2 + 0.1 0.9 – 0.4 出力層 1.16 1.76 1.4 1.5 0.8 0.5 0.1 0.2 0.6 0.2 0.9 ノイズを追加
  • 110. 13 Categorical DQN [Bellemare+, 2017](1) • 通常のDQNの出力 - 各行動に対する価値 • Categorical DQNの出力 - 各行動により得られる報酬の確率 • 報酬の値のパターンは決まっている - 各状況でどのように判断しているかがわかる https://youtu.be/yFBwyPuO2Vg 確率 貰える報酬の値 報酬0の可能性が高い (取らないほうが良い行動) ある程度報酬が 貰える可能性がある Noop(何もしない)は報酬が貰えそうだが,報酬0の可能性も少しある
  • 111. 14 Multi-step Learning(N-step Learning) • 数ステップ(Nステップ)先までを考慮した学習 - 通常の1ステップの学習(𝑁 = 1) - Nステップの学習(𝑁 = 3の場合) Δ𝑄 = 𝑟!"# + 𝛾 max $'() 𝑄 𝑠!"#, 𝑎!"# − 𝑄 𝑠!, 𝑎! Δ𝑄 = 𝑟!"# + 𝛾𝑟!"' + 𝛾'𝑟!"( + 𝛾( max $'(* 𝑄 𝑠!"(, 𝑎!"( − 𝑄 𝑠!, 𝑎! 将来にわたって得られる報酬を考慮した学習が可能 大きすぎる𝑁の設定バイアスが大きくなる(選ばれた行動パターンに学習が偏る)ので注意が必要 一つ先での行動価値を考える 三つ先での行動価値を考える + 途中で得られた(割引)報酬も考える
  • 112. 15 Rainbow [Hessel+, 2017](1) • 今まで紹介したテクニックを組み合わせた手法 - DQN - Double DQN - Prioritized experience replay - Dueling DQN - NoisyNet - Categorical DQN - Multi-step learning • N-step先まで行動して学習 - 7種類使っているため「rainbow」
  • 113. 16 Rainbow [Hessel+, 2017](2) • 従来手法を圧倒 - DQNのスコアを7M 回で上回る - 他の手法の中で一番良いDistributional (Categorical) DQNも44M 回で上回る Rainbow: Combining Improvements in Deep Reinforcement Learning Matteo Hessel DeepMind Joseph Modayil DeepMind Hado van Hasselt DeepMind Tom Schaul DeepMind Georg Ostrovski DeepMind Will Dabney DeepMind Dan Horgan DeepMind Bilal Piot DeepMind Mohammad Azar DeepMind David Silver DeepMind Abstract The deep reinforcement learning community has made sev- eral independent improvements to the DQN algorithm. How- ever, it is unclear which of these extensions are complemen- tary and can be fruitfully combined. This paper examines six extensions to the DQN algorithm and empirically studies their combination. Our experiments show that the combina- tion provides state-of-the-art performance on the Atari 2600 benchmark, both in terms of data efficiency and final perfor- mance. We also provide results from a detailed ablation study that shows the contribution of each component to overall per- formance. Introduction The many recent successes in scaling reinforcement learn- ing (RL) to complex sequential decision-making problems were kick-started by the Deep Q-Networks algorithm (DQN; Mnih et al. 2013, 2015). Its combination of Q-learning with convolutional neural networks and experience replay en- abled it to learn, from raw pixels, how to play many Atari 2298v1 [cs.AI] 6 Oct 2017 学習回数 [millions] ゲームのスコア(人間のスコアが100%)
  • 114. 17 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ DQNの発展手法 ~ • 再帰型ニューラルネットワークを導入した手法 - DRQN - R2D2
  • 115. 18 Deep Recurrent Q-Network (DRQN) [Hausknecht and Stone, 2015] • 通常のDQN - 直近4フレームの情報をまとめて入力 FC 状態価値 𝑄(𝑠, 𝑎) CNN • DRQN - 状態の時系列変化を考慮するためにLSTMを導入 𝑡 − 3 𝑡 − 2 𝑡 − 1 𝑡 LSTM CNN FC LSTM CNN FC LSTM CNN FC LSTM CNN FC 状態価値 𝑄(𝑠, 𝑎) … 𝑡 𝑡 − 1 𝑡 − 2 𝑡 − 𝑇 そこまで大きな性能改善はないが,RNN(LSTM)を取り入れた最初の手法
  • 116. 19 Recurrent Replay Distributed DQN (R2D2) [Kapturowski+, 2018] • Ape-X(分散学習)にRecurrentな層(LSTM)を追加 - LSTMを用いる際に起こりうる問題点を解決 1. Experience Replayの状態遷移を系列データとして収集蓄積 2. Burn-in - Replay Bufferの経験を用いる際のLSTMの隠れ状態の初期値をうまく決める方法 • 最初の数ステップは学習せず,データを入力するだけ(Burn-in) • 尤もらしい隠れ状態を生成する • 残りの系列データで学習を行う LSTM CNN FC LSTM CNN FC LSTM CNN FC LSTM CNN FC … ! ! − 1 ! − 2 ! − % Burn-in データを入力するだけで学習はしない 通常通り学習
  • 117. 20 Q-Learning Double Q-Learning Deep Learning Deep Q-Network Double DQN GORILA DRQN Prioritized Experience Replay Dueling DQN Categorical DQN Noi yNet Rainbow APE- NG R D R D DQ D IC P eudo Count-ba ed RND Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 価値ベース 強化学習アルゴリズムマップ ~ デモンストレーションの活用 ~ • ここで学ぶこと - デモンストレーションデータを用いた強化学習の考え方 • DQfD • R2D3
  • 118. 21 Deep Q-learning from Demonstrations (DQfD) [Hester+, 2017] (1) • 人間がプレイしたデータ(デモンストレーション)を用いて事前学習 1. Replay bufferにデモンストレーションを蓄積し学習(事前学習) • 誤差関数を工夫(Large Margin Classification Loss) 人の経験1 人の経験2 replay buffer … 人のプレイしたデータ (デモンストレーション) Step 1. デモンストレーションを用いた学習 𝐽(𝑄) = 𝐽)*(𝑄) + 𝜆# 𝐽+ (𝑄) + 𝜆' 𝐽,(𝑄) + 𝜆( 𝐽-'(𝑄) 𝐽, 𝑄 = 𝑚𝑎𝑥$∈/ 𝑄 𝑠, 𝑎 + 𝑙 𝑎,, 𝑎 − 𝑄(𝑠, 𝑎,) ※ 𝜆 ),*,+ :重み 通常のTD誤差 (𝑁 = 1) N-Step Learning (𝑁 = 10) L2正則化 エキスパートと違う行動を選択した場合に定数を追加する(同じ場合は0) → デモンストレーションに含まれていない行動に対しても学習を促す
  • 119. 22 Deep Q-learning from Demonstrations (DQfD) [Hester+, 2017] (2) • 人間がプレイしたデータ(デモンストレーション)を用いて事前学習 1. Replay bufferにデモンストレーションを蓄積し学習(事前学習) • 誤差関数を工夫(Large Margin Classification Loss) 2. 通常の(Prioritized)Experience Replayと同様の方法でネットワークを学習 • デモンストレーションの経験は削除しない 人の経験1 人の経験2 replay buffer … 人のプレイしたデータ (デモンストレーション) 人の経験1 人の経験2 経験1 経験2 replay buffer … … Step 1. デモンストレーションを用いた学習 Step 2. Prioritized Experience Replayによる学習
  • 120. 23 R2D2 from Demonstrations (R2D3) [Paine+, 2019] (1) • R2D2(分散学習 + Prioritized Exp. Replay + LSTM)にデモデータを導入 - Demo ratio 𝜌 に従い,デモデータとエージェントの行動データをサンプリング • デモデータ:𝜌 • エージェントの行動データ:1 − 𝜌 従来のR2D2 デモデータの追加
  • 121. 24 R2D2 from Demonstrations (R2D3) [Paine+, 2019] (2) • 探索が困難な8種類のタスク(Hard-Eight Task)を作成・実験 - 各タスクは複数のサブタスクから構成 - 人がプレイした結果と同程度 or 高精度な結果を達成
  • 123. 26 Double Q-Learning Double DQN GORILA DRQN Prioritized Experience Replay Rainbow APE- NG R D R D DQ D Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 強化学習アルゴリズムマップ ~ 価値+方策ベース ~ • 価値+方策ベースの強化学習の考え方 - Actor-Critic - A3C - IMPALA
  • 124. 27 価値ベースと方策ベース • 価値ベース - ある状態である行動をとった時に得られる行動の価値を学習 - デメリット • 行動価値の変化が行動選択に大きく影響 • 方策ベース - ある状態での行動を出力する関数・モデル(方策)を学習 - デメリット • 一度良くない方に方策が陥ると抜け出すのが難しい
  • 125. 28 Actor-Critic [Konda and Tsitsiklis, 2000] • 状態の価値と行動を同時に出力する手法 - Actor … 行動を出力 - Critic … 状態の価値を出力 • Actor-Criticのメリット - 連続値の行動を扱うことが可能(Actorが得意) - 行動とは別に誤差計算をするので学習が安定する(Criticが得意) • 方策勾配定理(詳細は割愛) 入力層 出力層 中間層 行動 (Actor) 状態価値 (Critic) 誤差計算に使用 行動の決定に使用
  • 126. 29 A3C [Minh, et al., 2016](1) • Asynchronous (分散学習) • Advantage - 2ステップ以上先の報酬まで考慮して目標値(誤差)を計算 従来 Advantage • Actor-Critic - Actor-Criticネットワークを使用 𝑄 𝑠, 𝑎 → 𝑟! + 𝛾 max 𝑄 𝑠!"#, 𝑎 𝑄 𝑠, 𝑎 → 𝑟! + 𝛾𝑟!"# + 𝛾$ max 𝑄(𝑠!"$, 𝑎)
  • 127. 30 https://medium.com/emergent-future/ A3C [Minh, et al., 2016](2) 1. Global Network (Parameter server) からパラメータをコピー 2. スレッドで行動を獲得・蓄積 - 各スレッドで行動を蓄積する - Replay bufferは存在しない 3. 蓄積した行動から勾配を求める 4. 勾配をGlobal Networkに渡す 5. Global Networkのパラメータを更新 6. 1. へ戻る
  • 128. 31 Importance Weighted Actor-Learner Architecture (IMPALA) [Espeholt+, 2018] (1) • データ収集(Actor)と学習(Learner)に役割を分離 - ActorからLearnerへ受け渡す情報を観測データに置き換え • A3Cは勾配情報を受け渡していた(データ量が大きく通信効率が悪い) • 複数のLearnerを用いることでGPUを効率的に使用できる
  • 129. 32 Importance Weighted Actor-Learner Architecture (IMPALA) [Espeholt+, 2018] (2) • データ収集と学習が分離したため,ActorとLearnerの方策に食い違いが生じる - V-Traceという方法を提案 𝑣% − 𝑉& 𝑥% ∇&𝑉&(𝑥%) 状態価値に対する勾配 𝜌%∇' log 𝜋' 𝑎% 𝑥% 𝑟% + 𝛾𝑣%"# − 𝑉& 𝑥% 方策に対する勾配 −∇'Σ(𝜋' 𝑎 𝑥% log 𝜋' (𝑎|𝑥%) 方策が局所解に陥ることを防ぐためのエントロピー損失(から得られる勾配)
  • 130. 33 UNREAL [Jaderberg, et al., 2016](1) • A3Cをベースに補助タスクを同時に学習 https://deepmind.com/blog/reinforcement-learning-unsupervised-auxiliary-tasks/ タスク(3Dの迷路)の実行画面 補助タスク(3種類)の様子
  • 131. 34 UNREAL [Jaderberg, et al., 2016](2) • A3Cをベースに補助タスクを同時に学習 - Pixel Control … 画像の画素値が大きく変動する動きを学習 - Value Function Replay … 過去の経験をシャッフルして学習 - Reward Prediction … 現在の状態から報酬を予測
  • 132. 35 Double Q-Learning Double DQN GORILA DRQN Prioritized Experience Replay Rainbow APE- NG R D R D DQ D Agent AR A Actor-Critic A C NREAL ACER I PALA AC D RPO PPO Policy Gradient REIN ORCE DPG DDPG 価値 + 方策 (Actor-Cr t c 方策ベース 強化学習アルゴリズムマップ ~ 決定的方策勾配に基づく手法 ~ • 確率的方策勾配と決定的方策勾配の違い - DPG - DDPG - TD3 - Soft Actor-Critic
  • 133. 36 Deterministic Policy Gradient (DPG) [Silver+, 2014] (1) • Stochastic Policy Gradient - ある状態𝑠に対して行動𝑎が確率的に決まる方策 • Deterministic Policy Gradient - ある状態𝑠に対して行動𝑎が一意(決定的)に決まる方策 𝛻0𝐽(𝜃) ≈ 𝔼 G !1# 2 𝑄 𝑠!, 𝑎! ∇0 ln 𝜋0 (𝑎!|𝑠!) 𝛻0𝐽(𝜃) ≈ 𝔼 G !1# 2 ∇$𝑄 𝑠!, 𝑎! ∇0𝜇0(𝑠!) ※ 𝜇0 𝑠1 :決定論的方策 (状態𝑠'に対して一意に決定した行動を出力) ※ 𝜋0 𝑎1|𝑠1 :確率的方策 (状態𝑠'が与えられた時にある行動𝑎'を出力する確率)
  • 134. 37 Deterministic Policy Gradient (DPG) [Silver+, 2014] (2) • DPGのメリット - 期待値の計算が必要ない • 報酬に関連する計算が効率的になる → 学習の計算が効率的 • DPGのデメリット(難しいところ) - 一意に行動が決まるため十分な探索が難しい(色々な行動を選択する余地がない) - 実際に行動を決める役割(𝜇)と誤差を計算する役割(𝑄)の二つを学習 • 実際の行動と報酬計算の行動(の基準)が異なるため,Off-Policy • 行動と価値を別々に出力するため,Actor-Critic型の強化学習手法 𝛻0𝐽(𝜃) ≈ 𝔼 G !1# 2 ∇$𝑄 𝑠!, 𝑎! ∇0𝜇0(𝑠!)
  • 135. 38 Deep Deterministic Policy Gradient (DDPG) [Lillicrap+, 2015] • DPGを深層学習(Deep)で表現した手法 - Experience Replayを活用 - Target Networkを作成してMain Networkを学習 • Actor(行動決定部分)は方策勾配で学習 • Critic(価値推定部分)は誤差𝐿で学習 Actor Critic 𝑠 Actor Critic Main Network Target Network 経験2 経験3 経験1 replay buffer 1: 2: N: … 方策勾配 ∇0𝐽 𝜃 誤差 𝐿 = 𝔼 𝑟 + 𝛾𝑄 𝑠123451 6 , 𝜇123451(𝑠123451 6 ) − 𝑄 𝑠′, 𝑎′ * パラメータ更新 パラメータ更新
  • 136. 39 Twin Delayed DDPG (TD3) [Fujimoto+, 2018] • 「価値の過大評価」を改善する3つ工夫を提案 1. 2つのtarget networkを用意して,価値の小さい方を学習に採用(Twin) 2. Soft Policy Smoothing • 決定した行動にノイズを付与することで,targetの行動を平滑化 • 価値の急激な変動や外れ値を抑制 3. Delayed Policy Update • 価値(Critic)の更新を複数回した後に,方策(Actor)を1回更新する 𝑟 + 𝛾𝑄 𝑠!$345! & , 𝜇!$345!(𝑠!$345! & ) − 𝑄 𝑠′, 𝑎′ DDPG 𝑟 + 𝛾min 61#,' 𝑄6 𝑠!$345! & , 𝜇!$345!(𝑠!$345! & ) + 𝑐𝑙𝑖𝑝(𝒩 0, 𝜎 , −𝑐, 𝑐) − 𝑄 𝑠′, 𝑎′ TD3 価値の過大評価を抑制して安定した学習を実現
  • 137. 40 Soft Actor-Critic [Haarnoja+, 2018] • DPGの「十分な探索が難しい」という問題を改善した手法 𝐽 𝜃 = 𝔼 G ! 𝛾!𝑟! 𝐽 𝜃 = 𝔼 G ! 𝛾! 𝑟! + 𝛼𝐻(𝑎|𝑠) = 𝔼 G ! 𝛾! 𝑟! + 𝛼 − log 𝜋(𝑎|𝑠) 通常の目的関数 … 報酬の期待値を最大化 SACの目的関数 … 報酬の期待値と方策のエントロピーを最大化 方策のエントロピーが大きい → 行動選択のランダム性が高い 多様な探索を実現しながら学習を行う
  • 139. 42 強化学習を行うために • エージェントと行動する環境が必要 エージェント (ex. ロボット) 環境 (ex. 迷路) 状態観測部 行動選択 状態s 状態s’ 観測 行動 報酬 深層学習のフレームワーク • Chainer • Tensorflow • Keras • PyTorch シミュレータ • OpenAI Gym • ゲームエミュレータ • ロボットのシミュレータ
  • 140. 43 OpenAI Gym • 強化学習用シミュレーションプラットフォーム - OpenAIが開発・公開 • AI研究を行う非営利団体 - オープンソース - Pythonライブラリとして公開 https://gym.openai.com/
  • 141. 44 OpenAI Gym • 様々な環境が用意されている Robotics MuJoCo Atari Classic control CartPole Pong Breakout Boxing Humanoid Picking Hand manipulate https://gym.openai.com/
  • 143. 46 MuJoCo • 物理演算エンジン - 3次元シミュレーション等に使用 - OpenAI Gym内で利用可能 • Python 3.* 推奨 https://gym.openai.com/
  • 144. 47 DeepMind Lab • DeepMindが開発した3D AI学習環境 - 一人称視点映像の3Dゲーム - 大きく分けて3種類のゲームが存在 • 細かい設定でゲーム内容が変化 https://github.com/deepmind/lab maze 迷路の中でゴールを探索 seekavoid 特定のアイテムだけを取得 horseshoe ステージ内の敵を倒す (First Person Shooting; FPS)
  • 145. 48 深層強化学習のライブラリ (1) • TensorFlowベース - Coarch(https://github.com/IntelLabs/coach) - RLLab(https://github.com/rll/rllab) - OpenAI baselines(https://blog.openai.com/openai-baselines-dqn/) - Dopamine(https://github.com/google/dopamine) • PyTorchベース - RLLib(https://docs.ray.io/en/latest/rllib.html) • TensorFlowとPyTorchの両方をサポート
  • 146. 49 深層強化学習のライブラリ (2) • Chainerベース - ChainerRL(https://github.com/chainer/chainerrl) • Kerasベース - Keras-RL(https://github.com/keras-rl/keras-rl) 自分が使用しているフレームワーク・使用したいアルゴリズムに応じて選択