強化学習の実適⽤に向けた課題と⼯夫
安本 雅啓 (Masahiro Yasumoto)
Araya Inc.
2020年2⽉4⽇
第50回 強化学習アーキテクチャ勉強会
©2020ARAYAInc.
Reinforcement Learning for Real Life ICML 2019 Workshop
2
• 2019年6⽉に、「Reinforcement Learning for Real Life」と呼ばれるworkshopがICMLで開催された。
• どうしたらRLを実世界の課題に適⽤できるか、に関して焦点を当てたworkshopであり、課題とその
解決策の検討や、実際に適⽤した事例の紹介に関する論⽂が集められている。
https://sites.google.com/view/RL4RealLife
©2020ARAYAInc.
Reinforcement Learning for Real Life ICML 2019 Workshop
3
このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。
Challenges of Real-World Reinforcement Learning
Park: An Open Platform for Learning Augmented Computer Systems
Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform
1
2
3
©2020ARAYAInc.
Reinforcement Learning for Real Life ICML 2019 Workshop
4
このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。
Challenges of Real-World Reinforcement Learning
Park: An Open Platform for Learning Augmented Computer Systems
Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform
1
2
3
©2020ARAYAInc.
概要
5
• タイトル
• Challenges of Real-World Reinforcement Learning
• 著者
• Gabriel Dulac-Arnold1, Daniel Mankowitz2, Todd Hester2
• 1: Google Research, Brain Team
• 2: DeepMind
• 概要
• 現在の強化学習研究は、(ゲームなどの)⼈⼯的な環境では成功をおさめており、また現実世界の
環境でも成功例が少しずつ出てきている。
• ⼀⽅、多くの強化学習研究は、実世界では満たすことのできない前提を置いている場合が依然と
して多い。
• そこで本論⽂では、現実世界の問題に強化学習を適⽤する際に直⾯する9個の課題を提⽰する。
• また、これら9つの課題に関連する既存研究をもとに、解決に向けてどのようなアプローチがある
かをまとめ、その評価⽅法についても検討を⾏う。
©2020ARAYAInc.
9つの課題
6
1. オフライン・バッチ学習
2. 限られたサンプルからの学習
3. ⾼次元かつ連続値の状態・⾏動空間
4. 安全に関する制約
5. 部分観測性
6. 報酬関数の特定とリスクの考慮
7. ポリシーの説明可能性
8. リアルタイム性
9. システムの遅延
©2020ARAYAInc.
問題設定
7
• ⼀般的なMarkov Decision Process (MDP) の定式化を⾏う。
• MDPは、 のタプルで表現される。
• S:状態空間
• A:⾏動空間
• P:遷移確率関数
• R:報酬関数
• 経験は、 のタプルで表現される。
• ポリシーπに基づいてアクションが⽣成される。
• 上記は離散的な系を前提としているが、連続的な系にも⼀般化は可能である。
• ポリシーを複数回のイテレーションで改善する場合があり、その場合はi番⽬のイテレーションにおけ
るポリシーを と記載する。
• 既存のシステムのポリシーは、behavior policyと呼び、 と記載する。
©2020ARAYAInc.
課題1: Batch Off-line and Off-Policy Training
8
• 課題の概要
• 現実世界とインタラクションをして直接学習するのではなく、既存のシステムのログから学習す
る場合が多い。このような状況における学習を、Off-line and Off-Policy Trainingと呼ぶ。
• 学習⽅法
• 既存のポリシー で⽣成された経験データ を考える。
• バッチ強化学習の⼀般的なフレームワークは以下となる(Scherrer et al., 2012)。
既存のポリシーで⽣成したデータから最初のポリシーπ0を学習
学習した新しいポリシーを⽤いて新しくデータを⽣成する
新しく⽣成したデータでポリシーを再学習する
©2020ARAYAInc.
課題1: Batch Off-line and Off-Policy Training
9
• 評価⽅法
• 実際のプロダクション環境で評価を⾏うのはコストが⾼く、また新しいポリシーが前のポリシー
よりも良いことを事前に保証したい。
• 実際の環境で評価を⾏わずにポリシーの性能を推定する⽅法はoff-policy evaluationと呼ばれる。
• Importance sampling (Precup et al., 2000)
• 重点サンプリングと呼ばれる⼿法。
• 次⾴で詳細を説明。
• Direct Method
• MDPの遷移モデルを、既存のデータから学習させ(s, aからrを予測するような回帰モデルを作成
する)、これを⽤いて新しいポリシーを評価する。
• 複雑な問題だと、よい回帰モデルを作成するのが困難。
• 分散は低いが、バイアスが⼤きい(low variance, high bias)。
©2020ARAYAInc.
課題1: Batch Off-line and Off-Policy Training
10
• Importance samplingとは
• データの分布が異なる場合の値の推定⽅法。
• 具体的には、分布dにおける値xを推定したいときに、異なる分布dʼからサンプリングされた値を
使って推定する際を想定。
←Importance sampling estimator
• ここで、dを新しいポリシー、dʼを既存のポリシー(behavior policy)とすると、既存のポリシーで
サンプリングされた値(s,aに対するrの値)を使うことで、新しいポリシーを評価できる。
• 直感的には、既存のポリシーではほとんど起きないが新しいポリシーではよく起きるものに対し
て⾼い重要度をつけることに相当。
©2020ARAYAInc.
課題1: Batch Off-line and Off-Policy Training
11
• 評価⽅法(続き)
• Doubly-robust estimators (Dudık et al., 2011; Jiang & Li, 2015)
• Importance SamplingとDirect Methodを組み合わせ、両⼿法のうちよい推定量を利⽤する。
• いずれか⼀⽅の⼿法の精度が⾼ければよい、という意味で、doubly-robustという名前。
• Contextual banditsでは、以下のように状態価値を推定する(強化学習にも容易に拡張可能)。
• 回帰モデルで推定した報酬 と実際の報酬との間の際が⼩さい場合(=回帰モデルの精度
が⾼い場合)は、②の項が限りなく⼩さくなり、実質①、すなわち推定した報酬のみを⽤いる。
• ⼀⽅、回帰モデルの精度が低い場合は、そのエラー値に対してimportance samplingを⾏うこと
で回帰モデルの精度の補償を⾏う。
• ただし、ρと は独⽴である(=別々のデータセットから推定する)必要がある。
回帰モデルで推定した報酬
① ②
©2020ARAYAInc.
課題1: Batch Off-line and Off-Policy Training
12
• 評価⽅法(続き)
• MAGIC (Thomas & Brunskill, 2016)
• model and guided importance sampling combined estimatorの略。
• More robust doubly robust off-policy evaluation (Farajtabar et al., 2018)
• 上記2つは、Importance SamplingとDirect Methodをいかにうまくバランスさせるかを⼯夫。
• 課題1のメトリクス
• 最初のポリシーπ0は、その後システムの所有者にシステムへのアクセスを許してもらえるかどう
かを決める重要なものであり、ある⼀定の期待された性能を満たす必要がある。
• そのため、以下の式で定義される、warm-start performanceが重要なメトリクスと考える。
• ここでRは、ポリシー を⽤いて得られる累積報酬を表す。
©2020ARAYAInc.
課題2: Learning On the Real System from Limited Samples
13
• 課題の概要
• 現実のシステムから得られる訓練データは少なく、また探索も限られている。
• そのため、少ないデータから学習可能である必要がある(sample-efficient)。
• アプローチ
• 1. Model Agnostic Meta-Learning(MAML) (Finn et al., 2017)
• 個別のタスクに⾼速に(=少ないデータ数、update数で)
アダプト可能なメタポリシーを学習する。
• 2. Bootstrap DQN (Osband et al., 2016)
• Q-networkのアンサンブルを学習した上で、Thompson Samplingを
⽤いて探索を促しサンプル効率を向上させる。
• 3. エキスパートデータを⽤いたブートストラップ(次⾴で説明)
• 4. モデルベースの⼿法
©2020ARAYAInc.
課題2: Learning On the Real System from Limited Samples
14
• 3. エキスパートデータを⽤いたブートストラップ
• Deep Q-learning from Demonstrations(Hester et al., 2018)
• デモンストレーションのデータを⽤いてネットワークを事前学習した後、実際の環境とインタ
ラクションして強化学習を⾏う。
事前
学習
強化
学習
事前学習:
デモンストレーションのデータのみを使い、以下の
Lossを使ってポリシーの学習を⾏う。
強化学習:
デモンストレーションのデータと環境とのインタラ
クションで得られたデータの両⽅をReplay Bufferに
⼊れて学習を⾏う。なお、デモデータは必ずReplay
Bufferに⼊れておくようにする。Lossは事前学習の
Lossにおけるλ2を0とおいたものを⽤いる。
1-step double
Q-learning loss
n-step double
Q-learning loss
Expert
loss
L2 loss
©2020ARAYAInc.
課題2: Learning On the Real System from Limited Samples
15
• 課題2のメトリクス
• ある性能の閾値に到達するまでに必要なデータの量を測定する。 は求められる性能の閾値。
©2020ARAYAInc.
課題3: High-Dimensional Continuous State and Action Spaces
16
• 課題の概要
• 多くの現実的な問題では、状態空間・⾏動空間が⼤きく、また連続値である。
• 例:youtubeにおけるレコメンデーション(Covington et al., 2016 )
• アプローチ
• 1. Deep Reinforcement Learning in Large Discrete Action Spaces
(Dulac-Arnold et al.)
• 候補となるアクションのベクトルを⽣成し、最近傍探索によって、最も
近い実際に可能なアクションを⾒つける。
• f : 状態sを⼊⼒として、n次元実数ベクトルのProto Actionを出⼒
• g : fが出⼒したProto Actionに最も近い、実際のアクション(離散)を探索
• Q : gが出⼒した離散アクションを⼊⼒として、その価値を出⼒
• fとQは、DDPGのフレームワークで学習を⾏う。
Q(s,a)
©2020ARAYAInc.
課題3: High-Dimensional Continuous State and Action Spaces
17
• アプローチ(続き)
• 2. Learn What Not to Learn: Action Elimination with Deep
Reinforcement Learning (Zahavy et al.)
• それぞれの状態sに関連のない⾏動を削除するために、
contextual banditを導⼊した、Action Elimination Deep Q
Network(AE-DQN)を提案。
• AEN(Action Elimination Network)とDQNは、いずれもDeep
Neural Networkで構築される。
• エージェントは、アクションatに対して、報酬rt、次の状態
st+1、およびelimination signal et( バイナリ値)を受け取る。
• AENはDQNに対して、Stに対して許容されるAʼを提供する。
• AENは、contextual multi-armed banditsを⽤いることで、
MDPとは独⽴して学習する。
• テキストゲームにて評価を実施。
©2020ARAYAInc.
課題3: High-Dimensional Continuous State and Action Spaces
18
• アプローチ(続き)
• 3. Deep Reinforcement Learning with a Natural Language Action Space (He et al.)
• 状態と⾏動をそれぞれ別のネットワークで処理して埋め込みベクトルを得た後、これらの内積
をとることでQ値を得る、Deep Reinforcement Learning Relevance Network(DRRN) を提案。
• テキストゲームにて評価を⾏い、既存⼿法を上回る性能を達成。
DRRN
©2020ARAYAInc.
課題3: High-Dimensional Continuous State and Action Spaces
19
• 課題3のメトリクス
• アクションの数と、アクション空間の質がメトリクスとして考えられる。
• よく整理された⾏動空間は、より理解・解釈がしやすい。
©2020ARAYAInc.
課題4:Satisfying Safety Constraints
20
• 課題の概要
• システムの安全性は、システムの運⽤時だけでなく、探索的な学習を⾏う際にも重要な要素。
• 安全性に関する考慮は、システムそのものに関するもの(システムの温度、最⼩のバッテリーレベ
ルを維持する、など)と、環境に関するもの(障害物を回避する、など)がある。
• アプローチ
• 1. Constrained MDPs(CMDPs)に基づく最適化
• CMDPsは、以下の制約付き最適化として定式化される。
• ここで、Rは、ポリシーπによって得られる累積報酬、Ck(π)は、ポリシーπによって被った制
約kのコストを表す。
©2020ARAYAInc.
課題4:Satisfying Safety Constraints
21
• 1. Constrained MDPs(CMDPs)に基づく最適化(続き)
• Safe Exploration in Continuous Action Spaces(Dalal et al.,2018)
• 以下のようにCMDPsを定式化。制約関数cは、例えばデータセンター内での温度など。
• 制約関数cを、アクションに関する⼀次近似で表現する。
• 関数g(s;wi)はNNで表現され、最初にランダムアクションを⾏いそこで得られた状態遷移(s, a,
sʼ)データから学習する。
• ポリシーの学習では、通常のDDPGで出⼒される出⼒の後にsafety layerを設ける(右下図)。
• safety layerは、以下の式を満たすようにアクションの調整を⾏う。制約関数ciを線形式で記述
したお陰で、この式のグローバル最適解は容易に求めることができる。
この制約関数は、前に学習したものを使⽤する。
©2020ARAYAInc.
課題4:Satisfying Safety Constraints
22
• 2. budgeted MDPs
• CMDPsでは、制約レベル(閾値)Vkは与えられるものとしているが、budgeted MDPsではこれが
未知であるとし、代わりに制約レベルの関数としてポリシーを学習する。
• これにより、ユーザーは制約レベルと期待報酬との間のトレードオフを調べ、最適なものを選択
することができるようになる。
• 3. その他の⼿法
• 安全なポリシーを学習するのにLyapunov関数を⽤いる⼿法(Chow et al., 2018)
• 近傍の状態の安全性を予測する⼿法(Turchetta et al., 2016; Wachi et al., 2018)
• 課題4のメトリクス
• それぞれの制約について、安全性が破られた回数をカウントし、この累積和を⽤いる。
K:制約の個数
©2020ARAYAInc.
課題5:Partial Observability and Non-Stationarity
23
• 課題の概要
• 現実世界のシステムのほとんどが部分的観測である、例えば物理的なシステムであれば、モー
ターの摩耗・損傷は観測できない。また推薦システムでは、ユーザーの⼼理状態は観測できない。
• 多くの場合、この部分観測性は、⾮定常性によるもの(モータの摩耗・損傷の例など)と、確率性
(ロボットの動きなど)によるものがある。
• 部分観測問題は通常、POMDPとして定式化される。通常のMDPとの違いとしては、エージェン
トの観測xが、状態sと切り離して存在し、観測関数O(x|s)が導⼊される。
• アプローチ
• 部分的観測の課題に対して、主に2種類の⼀般的なアプローチがある。
• 1. エージェントの観測に、履歴を⽤いる⼿法
• DQN(Mnih et al.,2015)でもとられた⼿法。DQNでは4フレームスタックを⾏う。
• 2. RNNを⽤いる⼿法
• 通常のDQNのアーキテクチャの最後にRNN(LSTM)を導⼊することで、1フレームだけを⼊⼒し
た場合でも、通常のDQNと同等の性能が出せることを⽰した(Hausknecht & Stone.,2015)。
©2020ARAYAInc.
課題5:Partial Observability and Non-Stationarity
24
• アプローチ(続き)
• シミュレーションから実際のシステムに学習したポリシーを転移する(sim2real)の⽂脈でも同様
の研究がなされている。
• simとrealとの差が観測できない、という点では部分的観測性の問題と捉えることができる。
• ⼀般的にrealなシステムは、確率的でノイズを含み、また遅延や外乱も発⽣し得る。
• ⼤きく3つのアプローチがある。
• 1. Robust MDP
• Robust MDPは、<S, A, P, r, γ>で定式化されるが、ここでPは遷移⾏列の集合(不確実性の集
合)として定義される。
• ⽬的は、worst caseでの価値関数を最適化することで、以下の式で定義される。
• 2. Domain randomization
• 様々な外乱を含む環境でエージェントを学習させる。次⾴で詳細を紹介。
©2020ARAYAInc.
課題5:Partial Observability and Non-Stationarity
25
• 2. Domain randomization
• Sim-to-Real Transfer of Robotic Control with Dynamics Randomization (Peng et al.,2018)
• シミュレーション上のロボットで学習させたモデルをそのまま実世界のロボットに適⽤。
• システムのダイナミクスのパラメータに、ある分布からサンプリングした値を⽤いることで、
様々なダイナミクスを持った環境を⽣成し、その上で学習を⾏う。
• また、センサーノイズを模擬するために、エージェントの観測値にガウシアンノイズを加える。
real simulator
Randomization
なし
Randomization
+LSTM
©2020ARAYAInc.
課題5:Partial Observability and Non-Stationarity
26
• アプローチ(続き)
• 3. System identification
• いま実⾏している環境を特定した上で、それに沿ってポリシーを修正可能なポリシーを学習さ
せる⽅法。代表的な⼿法としてMAML(Finn et al.,2017)がある。
• 課題5のメトリクス
• K個のテスト環境(それぞれ異なる摂動を発⽣)で試験し、その平均性能を計測する。
P:摂動を含むテスト環境の集合
©2020ARAYAInc.
課題6:Unspecified and Multi-Objective Reward Functions
27
• 課題の概要
• 強化学習は⼀般的に、ある1つのグローバルな報酬関数を最適化することが多いが、実際の問題は、
複数の次元のコストを最⼩化する問題であることが多い。
• また、多くのケースでは、システムや製品のオーナーは、何を最適化すべきかについて、明確な
答えを持ち合わせていない。
• 加えて、⼀般に強化学習では報酬の期待値を最適化するが、実際にはすべての試⾏においてよく
振舞う必要があると考えられる。
• つまり、例えば⼯場に導⼊されたロボットが平均的によく動くのではなく全てよく動く必要が
あるし、推薦システムは平均的によいのでなく全てのユーザに対してよくあるべきである。
• アプローチ
• 1. Conditional Value at Risk(CVaR) Objective (Tamar et al., 2015b)
• 報酬の期待値でなく、報酬分布のパーセンタイルを⾒る。Tamarらは、報酬分布のパーセンタ
イルを⽬的とすることで、ポリシーのworst-caseでの性能を改善できることを⽰した。
• 2. Distributional DQN (Dabney et al., 2018; Bellemare et al., 2017)
• 報酬の分布をモデル化。
©2020ARAYAInc.
課題6:Unspecified and Multi-Objective Reward Functions
28
• アプローチ(続き)
• 3. 逆強化学習
• デモンストレーションから報酬を推定する⼿法として、様々提案されている。
• Inverse reward design (Hadfield-Menell et al.,2017)
– 「デザインされた」報酬関数と学習⽤のMDPsが与えられた状態で、真に意図された報酬を
推定できるか検討し、新シナリオ上でエージェントが意図通りに動作することを確認。
– これにより、報酬の設計漏れによる影響や報酬ハッキングを防ぐことができる。
• 4. Hybrid reward architecture for reinforcement learning (Van Seijen et al.,2017)
• 報酬を分割することで複雑な価値関数を低次元で近似。Mc-PacManで⼈間を超える性能を達成
した。なお、Mc-PacManではゲームに登場する物体(pellet/fruit/ghost/blue ghost)毎にQ関数
を分割。
©2020ARAYAInc.
課題6:Unspecified and Multi-Objective Reward Functions
29
• 課題6のメトリクス
• 複数の⽬的を表現可能なシンプルなメトリクスを提案する。
• ここで、複数⽬的の報酬関数を扱う場合は、これらを独⽴に扱うことが重要である。こうするこ
とで、ステークホルダーは、⽬的間のトレードオフを理解し、選択することができるようになる。
• その他にも様々なメトリクス(CVaR、分布など)が考えられる。
K次元のベクトル
©2020ARAYAInc.
課題7:Explainability
30
• 課題概要
• ⼀般的に実世界のシステムは、⼈間によって所有されている。そのため、彼らに、コントロー
ラーの意図について安⼼してもらう必要がある。
• そのために、ポリシーの説明可能性は、実世界で動作するポリシーについては重要な課題となる。
• アプローチ
• Programmatically Interpretable Reinforcement Learning (Verma et all,2018)
• 学習したNNのポリシーを、探索によって、明⽰的なdomain-specificプログラミング⾔語に蒸
留する。これにより、より⼈間が理解しやすくなり、また検証も可能となる。
• その他にも、DNNの意図を引き出す⼿法は多数提案されており、これはPolicyNNにも適⽤できる。
• 課題7のメトリクス
• その表現を⼈間が理解しやすいかで評価できる。例えばA/Bテストなどが使える。
⾃動変換されたCartPoleのポリシー ⾃動変換されたMountainCarのポリシー
©2020ARAYAInc.
課題8:Real-Time Inference
31
• 課題概要
• RLをプロダクションシステムにデプロイするためには、ポリシーの推論がシステムの制御周期中
にリアルタイムで実⾏される必要がある。
• 例えば推薦システムであればmillisecondsのオーダーが求められる⼀⽅、ビルの制御システムで
はminutesオーダーでよい場合もある。
• アプローチ
• A Real-Time Model-Based Reinforcement Learning Architecture for Robot Control(Hester et
al. )
• モデルベースRLにおいて、サンプルベースのプランニングアルゴリズム、具体的にはMonte
Carlo Tree Search (MCTS) familyのアルゴリズムを⽤いた。
– AlphaGoで⽤いられた⼿法でもある。
• タスクから要求された段階で、その時点で最もよいと思われるアクションを返す。
• このアルゴリズムでは、サンプル回数が増えれば増えるほど、精度が向上する。
©2020ARAYAInc.
課題9:System Delays
32
• 課題の概要
• システムの遅延は、センサー、アクチュエーター、報酬フィードバックのいずれでも発⽣する。
• 例えば推薦システムでは、数週間の遅延の後に報酬が得られるといったことがあり得る。
• アプローチ
• 1. TEXPLORE: Real-Time Sample-Efficient Reinforcement Learning for Robots (Hester&Stone)
• 現在のアクションだけでなく、過去のアクションの履歴も⼊⼒として⼊れることで、遅延の影
響をモデルに学習させた。
• 2. Optimizing agent behavior over long time scales by transporting value (Hung et al., 2019)
• メモリーベースのエージェントを導⼊することで、遠い過去のイベントであっても、メモリー
からのその情報を引き出して、報酬を割り当てることができることを⽰した。
©2020ARAYAInc.
課題9:System Delays
33
• アプローチ(続き)
• 3. RUDDER Return Decomposition for Delayed Rewards (Arjona-Medina et al.,2018)
• 最終的な報酬から、各ステップの即時報酬を逆算、分配することで、遅延報酬に対しても対応
することができることを検証。
• 課題9のメトリクス
• 状態やアクションに遅延を加えた上で、どの程度累積報酬を獲得できるかを計測することで、ポ
リシーのロバスト性を評価する。
©2020ARAYAInc.
評価環境の作成
34
• DeepMind control suite(Tassa et al.,2018)に対して修正を加えることで、この論⽂で紹介した9つの
課題を評価できる環境を構築した。
• 特徴:
• ここでは例としてhumanoid taskを考える。
• 学習はバッチRLの環境で⾏う。学習に⽤いるデータは、別の既存アルゴリズム・ポリシーを⽤い
て収集したものを⽤いる。
• On-lineで学習を⾏う。つまり、トレーニングと評価というようなフェーズの分離はない。そのた
め学習中においても安全性や効率性が求められる。
• ⼊出⼒次元は(humanoid taskの例では)すでに⾼次元空間である。
• タスクのドメイン固有のパラメータ(例:摩擦、質量)に、あるい分布からサンプリングされた値
を⽤いることで、⾮定常性・部分観測性を取り⼊れることもできる。
• 動いた距離と移動に使ったエネルギーの2つを報酬としてみなすことができる。
• Worst-caseでの報酬も考慮し、エピソード毎の摂動に対する評価を⾏う。
• シミュレーションはリアルタイムで⾏われるためリアルタイム性を必要とする。
• またアクチューエーターに⼈⼯的な遅延を導⼊することで、遅延に対するロバスト性を評価する。
©2020ARAYAInc.
評価環境の作成
35
• 評価のメトリクス
©2020ARAYAInc.
Reinforcement Learning for Real Life ICML 2019 Workshop
36
このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。
Challenges of Real-World Reinforcement Learning
Park: An Open Platform for Learning Augmented Computer Systems
Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform
1
2
3
©2020ARAYAInc.
概要
37
• タイトル
• Park: An Open Platform for Learning-Augmented Computer Systems
• 著者
• Hongzi Mao1 et al.
• 1: MIT Computer Science and Artificial Intelligence Laboratory
• 概要
• Parkと呼ばれる、研究者がコンピュータシステムに対して強化学習の実験を⾏うためのプラット
フォームを提案。
• また、強化学習をコンピュータシステムに対して適⽤する際の課題についても議論する。
• 現在、Parkは12のタスクが実装されているが、これらに対して既存の強化学習アルゴリズムを適
⽤し、その結果と課題についても議論する。
©2020ARAYAInc.
Introduction
38
• コンピューターシステムは、連続的にdecision-makingを⾏うタスクが多い。よってこれらは⾃然に
MDPとして表現することが可能である。
• 現実世界のシステムは正確にモデル化するのが難しいため、現状のstate-of-the-artアルゴリズムは、
⼈間が瀬景したヒューリスティックなアルゴリズムをつかている場⾯が多く、改善する余地は⼤きい。
• さらに、これらの既存アルゴリズムは複雑であり、異なるシステムや環境を超えて適合させることは
難しい場合が多い。
• そこで、強化学習を適⽤することで、これらの改善を試みる研究が近年なされてきている。
• しかし、まだ研究の量は少なく、これはOpenAI Gymのような、アルゴリズムを評価するための良い
ベンチマークが存在しないことが原因と考えている。
• そこで本論⽂では、研究者のこの分野への参⼊障壁を下げるために、Parkと呼ばれるオープンなプ
ラットフォームを提案する。
©2020ARAYAInc.
適⽤分野1:Networking
39
• ネットワークの輻輳制御:
• ネットワークの各ホストは、トラフィックを送る速度を、ネットワークのキャパシティと他の
ユーザーのデマンドを考慮して決める必要がある。
• ビデオストリーミングにおけるビットレート最適化:
• コンテンツプロバイダーからビデオをストリーニングする際、各ビデオは複数のチャンクに分け
て送られる。⾒る際には、エージェントが、ネットワークの状況(帯域、レイテンシ)とビデオの
特性(ビデオの種類、エンコーディング⽅法など)を考慮して、それぞれのチャンクのビットレー
トを決める。
• ゴールは、ビデオのストール(停⽌)を避けながらも解像度を最⼤化すること。
©2020ARAYAInc.
適⽤分野2: Databases
40
• データのインデクシング:
• データベースにおいて、データに効率よくアクセスするために、データの取得パターンを考慮し
て適切にインデックスを設計することが重要である。
• エージェントは、クエリのパターンを観測して、データをどのように構造化し、保存すべきかを
決定する。
• クエリ最適化:
• モダンなクエリ最適化エンジンは、複雑なヒューリスティクスで構成されている。
• これには、複数のルールや、⼈間によって設計されたコストモデル、統計と、動的計画法などが
使⽤されている。
• ヒューリスティクスによってクエリの実⾏を並び替えし、短い時間で実⾏できるようにしている。
• ⼀⽅で、これらのアルゴリズムは、時間によって改善していくことはなく、また失敗から学習す
るようなこともない。
• そのため、強化学習で改善する余地があると考えられている。
©2020ARAYAInc.
適⽤分野3: Distributed systems
41
• ジョブのアサイン:
• 分散システムの処理を効率化するためには、ジョブスケジューラーは計算・メモリー資源をどの
ようにジョブにアサインすると、最も早く計算が終わるかを決める必要がある。
• エージェントは、ジョブの集合と計算リソースの状態(それぞれのジョブが現状どこにアサインさ
れているか)を観測し、ジョブをどの計算リソースに割り当てるかを決定する。
• ゴールは、ジョブをできるだけ早く完了することである。
©2020ARAYAInc.
適⽤分野4: Operating systems
42
• メモリ階層:
• コンピュータシステムは、⾼速なメモリーと⽐較的⼤きくて遅いストレージから構成される。
• OSは、アプリケーション間で限られたメモリリソースを多重化して利⽤することで、⾼い性能を
達成する。
• RLエージェントは、キャッシュ上の既存のオブジェクトと新しく⼊ってくるオブジェクトの両⽅
を観測することができ、古くなったオブジェクトをキャッシュから出して新しいオブジェクトを
キャッシュに載せるかどうかを判断する。
• このタスクのゴールは、キャッシュのヒット率を最⼤化することである。
• CPUの電源状態の管理:
• OSは、CPUのクロックスピードを上げることでアプリケーションの性能をブーストさせるか、低
いクロックスピードで省エネするかを制御する。
• RLエージェントは、各アプリケーションの実⾏状況に基づいて、動的にクロックスピードを調整
することが求められる。
• このタスクのゴールは、消費電⼒を削減しながら、⾼いアプリケーション性能を達成することで
ある。
©2020ARAYAInc.
課題1:状態⾏動空間
43
• The needle-in-the-haystack problem (⼲し草の中の⼀本の針)
• いくつかのコンピュータシステムにおける課題では、多くの状態⾏動空間上での違いは、最終的
な報酬に⼩さな違いしかもたらさないことが多い。
• これにより、RLの学習時に意味のある勾配を作ることができず、学習が進まないことがある。
• 例えばネットワークの輻輳制御のタスクにおいて、ネットワーク容量を超えてデータを送ろうと
すると、ネットワークは飽和してしまう。この状態でデータの送信周期を少し変えたとしても、
悪い報酬から抜け出すことはできない。抜け出すには、低い送信周期の状態を複数回連続して維
持する必要がある。
• このような課題に対しては、ドメイン知識を利⽤して探索空間を制限することで、よいポリシー
を学習できるようになる。また環境に特有のreward shapingを⾏う、既存のポリシーからブート
ストラップ的に学習する、といった⽅法も有効である。
• Representation of state-action space
• いくつかの問題では、⾏動空間が指数的に増加する場合や、⾏動空間のサイズが時間によって変
わる場合がある(例:ジョブをコンピュータに割り当てる問題など)。
• ドメイン固有の構造をとらえた適切な表現を⽤いることで、⼤きく学習効率と汎化性を向上可能。
• 例えばSparkのJobやTensorflowのコンポーネントのアサインタスクでは、Graph Convolutional
Neural Networks(GCNs)を⽤いることで⼤きく汎化性能を向上できた。
©2020ARAYAInc.
課題2:決定プロセス
44
• Stochasticity in MDP causing huge variance.
• 例えばキューイングシステムでは、確率的な⼊⼒プロセスによって決まる部分が⼤きい。このよ
うなプロセスでは、コントローラの決定よりも⼊⼒によって報酬が変わることが多く、報酬に⼤
きなバリアンスをもたらす。
• 例えばロードバランサにおける右図の例では、ある時刻t
でアクションをした後、重いジョブが突発的に⼤量に発
⽣した場合は報酬は低くなり(⾚⾊)、軽いジョブが⼤量発
⽣した場合は報酬が⾼くなる(緑⾊)。
• 問題は、これらの報酬は、時刻tのアクションとは独⽴で
あり、到着したプロセスのランダム性によって⼤きく変
わるという点である。
• Infinite horizon problems
• プロダクションのコンピュータシステムは⻑期にわたって実⾏し続ける。そのためinfinite
horizon MDPとなり、エピドード単位での学習が難しい。
• Average reward RL定式化は、1つの解決の⽅向性である。
©2020ARAYAInc.
課題3:Simulation-Reality Gap
45
• シミュレータとリアルの相違
• 例えばデータベースのクエリー最適化において、既存のシミュレータやクエリープランナーは、
オフラインのコストモデルをつかてクエリの実⾏時間を予測する。しかしコストモデルは、デー
タ分布の変化等によってクエリが複雑になることで、精度が急速に落ちることが知られている。
• 環境とのインタラクションにかかる時間
• 例えばビデオストリーミングでのビットレート制御では、ビデオチャンクがダウンロードされて
はじめて報酬が決まり、これは通常数秒かかるため、学習に⻑い時間を要する。
• ⾼いロバスト性
• 例えばロードバランシングのタスクにおいて、分布5(⼭が1つ)で学習させた結果は分布1(⼭が2
つ)で学習させた結果よりもロバストである。分布1で学習させると、⼩さいジョブのために空の
状態のサーバーを1つ予約しておくというポリシーが学習されるが、これは分布1にオーバー
フィットしており他の分布では性能劣化を引き起こす。
©2020ARAYAInc.
課題4:Understandability over Existing Heuristics
46
• 既存のヒューリスティクスアルゴリズム(例:FIFO)は理解しやすい。⼀⽅RLの⼿法は理解が難しく、
これをいかにヒューリスティクスな⼿法と同じくらい理解しやすくするかが問題となる。
• 解決策?の1つとして、既存のアルゴリズムとRLを組み合わせるということも考えられる。
• 例えば、普段は学習されたスケジューリングアルゴリズムで動作するが、⼊⼒の分布に⼤きなド
リフトが検知された時には、既存のヒューリスティクスアルゴリズムにフォールバックする、等。
©2020ARAYAInc.
Park Platform
47
• リアルな環境を使う場合とシミュレーション環境を使う場合の2通りがある。
• リアルな環境との接続においては、RPCs(remote procedure calls)を⽤いて環境とRL agentとの間の
通信を⾏う。
• ノンブロッキングなRPCを使う場合はエージェントが観測する状態情報は最新でないことになる、
⼀⽅ブロッキングなRPCを使う場合は、⾏動の算出に時間を要すると、システムの性能を損なう
可能性がある。
• シミュレーションは、OpenAI Gymスタイルのインタフェースを⽤意している。
©2020ARAYAInc.
Park Platformに現状実装されているタスク
48
©2020ARAYAInc.
ベンチマーク
49
DQNだけだと性能イマ
イチ。改善の余地あり。
探索空間を制限した
A2Cで既存⼿法に匹
敵する性能を実現。
©2020ARAYAInc.
ベンチマーク
50
状態のエンコードに
Graph convolutional
networks (GCN)を⽤い
ることでLSTMより5倍
⾼速に学習できた。
©2020ARAYAInc.
ベンチマーク
51
©2020ARAYAInc.
Reinforcement Learning for Real Life ICML 2019 Workshop
52
このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。
Challenges of Real-World Reinforcement Learning
Park: An Open Platform for Learning Augmented Computer Systems
Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform
1
2
3
©2020ARAYAInc.
概要
53
• タイトル
• Horizon: Facebookʼs Open Source Applied Reinforcement Learning Platform
• 著者
• Jason Gauci1 et al.
• 1: Facebook, Menlo Park, California, USA.
• 概要
• Horizonと呼ばれる、Facebookのオープンソースのapplied RLプラットフォームを提案した。
• このプラットフォームはRLの分野における初のend-to-endプラットフォームであり、膨⼤なデー
タセットや特徴量空間、遅いフィードバック等、実際にRLをプロダクションシステムにデプロイ
する上で重要な課題を解決するための要素が⼀通り取り揃えられている。
• このプラットフォームは、FacebookのPush Notifications、およびPage Administrator
Notificationsで利⽤されいてる。
©2020ARAYAInc.
ちなみに、
54
• いまは名前が変わっています。
• (旧)Horizon -> (新)ReAgent
• おそらくFacebookが始めたソーシャルVRサービスのHorizonと名称が被ったためと思われます。。
Horizon by Oculus
©2020ARAYAInc.
Horizonの特徴
55
• Horizonの特徴は、主にオフラインでのバッチRLを想定したときに必要となる、データの前処理や、
Counterfactual Policy Evaluation(つまりオフラインで性能を評価できる)の機能を備えている点であ
るといえる。
©2020ARAYAInc.
Horizonの機能
56
機能 説明
Data preprocessing Sparkのパイプラインで、ログデータを強化学習に必要なデータフォーマットに
変換する。
Feature Normalization 各データのデータタイプ(float, int, enumなど)に応じで、データの正規化を⾏う。
Data Understanding Tool 現実世界の課題はMDPを満たしているとは限らない。そこでRLアルゴリズムを
開発する前に、問題の定式の性質をチェックするツールを提供する。
Deep RL model
implementations
DQN、DDQN、DDPG、SACなどの⼿法を実装。また離散⾏動空間がとても⼤き
い場合に備えて、parametric action versionのアルゴリズムも準備されている。
Multi-Node and Multi-GPU
training
複数ノード、複数GPUノードの上で学習を⾏うことができる。
Counterfactual policy
evaluation
オフラインでポリシーの性能を評価できる。
Optimized Serving PyTorchで学習したモデルをCaffe2形式に変換する。Caffe2は性能とポータビリ
ティの観点で最適化されており、どのマシンにもデプロイすることができる。
Tested Algorithms 実装されているRLアルゴリズムは、Grid worldやOpenAI Gymの環境で常にテス
トされている。
©2020ARAYAInc.
Data Understanding Tool
57
• 解こうとしている課題の性質のチェックと、特徴量エンジニアリングのイテレーションを⾼速化する
ために、data understanding toolを開発した。
• まず、このツールは、定式化された環境のモデルを学習する。ここでは確率的⽣成モデルを⽤いる。
これは⾼次元⼊⼒と、状態遷移と報酬の確率性を考慮することができる。
• 具体的には、stateとactionを⼊⼒としたDNNを⽤いる。状態遷移と報酬の確率性を扱えるようにする
ため、DNNの最後のレイヤーにGaussian Mixture Model(GMM)レイヤーを⽤いる。これによりモデ
ルは、次の状態と報酬のGaussian mixture distributionを出⼒する。
• このモデルを⽤いて、まず特徴量の取捨選択が可能となる。重要な特徴量であれば、それをマスクし
たときのlossが⼤きく増加する。これにより必要な特徴量だけに絞り込むことができる。
(報酬についての確率P(rt|st,at)も
同様に記述できる)
©2020ARAYAInc.
Data Understanding Tool
58
• 問題の定式化が正しいかどうかのチェックも可能となる。
• 例えば次の状態を予測する際に、現在の状態の重要度が低い場合は、その環境には連続的な要素がな
いと考えられる。(下図①)
• また、例えば報酬を予測する際に、現在の状態の重要度が低い場合は、多腕バンディット問題となり、
⾏動に対する報酬のみを評価すればよいことになる。(下図②)
st
at
st+1 st
at
rt
②①
©2020ARAYAInc.
Counterfactual policy evaluation
59
• 以下の仮想的ポリシー評価⽅法が実装されている。
• Step-wise direct method estimator
• Step-wise importance sampling estimator (Horvitz & Thompson, 1952)
• Step-wise doubly-robust estimator (Dudık et al., 2011)
• Sequential doubly-robust estimator (Jiang & Li, 2016)
• Sequential weighted doubly-robust estimator (Thomas & Brunskill, 2016)
• MAGIC estimator (Thomas & Brunskill, 2016)
• これらの値は学習フェーズでも常にTensorboard上でモニタリングできるようになっている。
©2020ARAYAInc.
感想
60
• 3つの論⽂を読んだが、論じられている課題はかなり似ており、最初の論⽂で紹介した9つの課題は、
よく網羅されているのでは、と感じた。
• 現実世界への適⽤に向けた課題が沢⼭あることは分かったが、その中でもやはり優先順位が⾼いのは、
そもそもRLを適⽤することで既存アルゴリズムより⾼い性能を得られることを⾒せることではないか。
• そのために、シミュレーション上での評価、あるいはシミュレータがない場合には、ログデータを⽤
いた評価が重要になるはず。
• ⼀旦性能が⾼いことが⽰せれば、デプロイに向けた課題は、アルゴリズムでなくエンジニアリングに
よって解決できる部分も多いのではないかと思う。例:リアルタイム性、安全性など

強化学習の実適用に向けた課題と工夫

  • 1.
    強化学習の実適⽤に向けた課題と⼯夫 安本 雅啓 (MasahiroYasumoto) Araya Inc. 2020年2⽉4⽇ 第50回 強化学習アーキテクチャ勉強会
  • 2.
    ©2020ARAYAInc. Reinforcement Learning forReal Life ICML 2019 Workshop 2 • 2019年6⽉に、「Reinforcement Learning for Real Life」と呼ばれるworkshopがICMLで開催された。 • どうしたらRLを実世界の課題に適⽤できるか、に関して焦点を当てたworkshopであり、課題とその 解決策の検討や、実際に適⽤した事例の紹介に関する論⽂が集められている。 https://sites.google.com/view/RL4RealLife
  • 3.
    ©2020ARAYAInc. Reinforcement Learning forReal Life ICML 2019 Workshop 3 このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。 Challenges of Real-World Reinforcement Learning Park: An Open Platform for Learning Augmented Computer Systems Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform 1 2 3
  • 4.
    ©2020ARAYAInc. Reinforcement Learning forReal Life ICML 2019 Workshop 4 このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。 Challenges of Real-World Reinforcement Learning Park: An Open Platform for Learning Augmented Computer Systems Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform 1 2 3
  • 5.
    ©2020ARAYAInc. 概要 5 • タイトル • Challengesof Real-World Reinforcement Learning • 著者 • Gabriel Dulac-Arnold1, Daniel Mankowitz2, Todd Hester2 • 1: Google Research, Brain Team • 2: DeepMind • 概要 • 現在の強化学習研究は、(ゲームなどの)⼈⼯的な環境では成功をおさめており、また現実世界の 環境でも成功例が少しずつ出てきている。 • ⼀⽅、多くの強化学習研究は、実世界では満たすことのできない前提を置いている場合が依然と して多い。 • そこで本論⽂では、現実世界の問題に強化学習を適⽤する際に直⾯する9個の課題を提⽰する。 • また、これら9つの課題に関連する既存研究をもとに、解決に向けてどのようなアプローチがある かをまとめ、その評価⽅法についても検討を⾏う。
  • 6.
    ©2020ARAYAInc. 9つの課題 6 1. オフライン・バッチ学習 2. 限られたサンプルからの学習 3.⾼次元かつ連続値の状態・⾏動空間 4. 安全に関する制約 5. 部分観測性 6. 報酬関数の特定とリスクの考慮 7. ポリシーの説明可能性 8. リアルタイム性 9. システムの遅延
  • 7.
    ©2020ARAYAInc. 問題設定 7 • ⼀般的なMarkov DecisionProcess (MDP) の定式化を⾏う。 • MDPは、 のタプルで表現される。 • S:状態空間 • A:⾏動空間 • P:遷移確率関数 • R:報酬関数 • 経験は、 のタプルで表現される。 • ポリシーπに基づいてアクションが⽣成される。 • 上記は離散的な系を前提としているが、連続的な系にも⼀般化は可能である。 • ポリシーを複数回のイテレーションで改善する場合があり、その場合はi番⽬のイテレーションにおけ るポリシーを と記載する。 • 既存のシステムのポリシーは、behavior policyと呼び、 と記載する。
  • 8.
    ©2020ARAYAInc. 課題1: Batch Off-lineand Off-Policy Training 8 • 課題の概要 • 現実世界とインタラクションをして直接学習するのではなく、既存のシステムのログから学習す る場合が多い。このような状況における学習を、Off-line and Off-Policy Trainingと呼ぶ。 • 学習⽅法 • 既存のポリシー で⽣成された経験データ を考える。 • バッチ強化学習の⼀般的なフレームワークは以下となる(Scherrer et al., 2012)。 既存のポリシーで⽣成したデータから最初のポリシーπ0を学習 学習した新しいポリシーを⽤いて新しくデータを⽣成する 新しく⽣成したデータでポリシーを再学習する
  • 9.
    ©2020ARAYAInc. 課題1: Batch Off-lineand Off-Policy Training 9 • 評価⽅法 • 実際のプロダクション環境で評価を⾏うのはコストが⾼く、また新しいポリシーが前のポリシー よりも良いことを事前に保証したい。 • 実際の環境で評価を⾏わずにポリシーの性能を推定する⽅法はoff-policy evaluationと呼ばれる。 • Importance sampling (Precup et al., 2000) • 重点サンプリングと呼ばれる⼿法。 • 次⾴で詳細を説明。 • Direct Method • MDPの遷移モデルを、既存のデータから学習させ(s, aからrを予測するような回帰モデルを作成 する)、これを⽤いて新しいポリシーを評価する。 • 複雑な問題だと、よい回帰モデルを作成するのが困難。 • 分散は低いが、バイアスが⼤きい(low variance, high bias)。
  • 10.
    ©2020ARAYAInc. 課題1: Batch Off-lineand Off-Policy Training 10 • Importance samplingとは • データの分布が異なる場合の値の推定⽅法。 • 具体的には、分布dにおける値xを推定したいときに、異なる分布dʼからサンプリングされた値を 使って推定する際を想定。 ←Importance sampling estimator • ここで、dを新しいポリシー、dʼを既存のポリシー(behavior policy)とすると、既存のポリシーで サンプリングされた値(s,aに対するrの値)を使うことで、新しいポリシーを評価できる。 • 直感的には、既存のポリシーではほとんど起きないが新しいポリシーではよく起きるものに対し て⾼い重要度をつけることに相当。
  • 11.
    ©2020ARAYAInc. 課題1: Batch Off-lineand Off-Policy Training 11 • 評価⽅法(続き) • Doubly-robust estimators (Dudık et al., 2011; Jiang & Li, 2015) • Importance SamplingとDirect Methodを組み合わせ、両⼿法のうちよい推定量を利⽤する。 • いずれか⼀⽅の⼿法の精度が⾼ければよい、という意味で、doubly-robustという名前。 • Contextual banditsでは、以下のように状態価値を推定する(強化学習にも容易に拡張可能)。 • 回帰モデルで推定した報酬 と実際の報酬との間の際が⼩さい場合(=回帰モデルの精度 が⾼い場合)は、②の項が限りなく⼩さくなり、実質①、すなわち推定した報酬のみを⽤いる。 • ⼀⽅、回帰モデルの精度が低い場合は、そのエラー値に対してimportance samplingを⾏うこと で回帰モデルの精度の補償を⾏う。 • ただし、ρと は独⽴である(=別々のデータセットから推定する)必要がある。 回帰モデルで推定した報酬 ① ②
  • 12.
    ©2020ARAYAInc. 課題1: Batch Off-lineand Off-Policy Training 12 • 評価⽅法(続き) • MAGIC (Thomas & Brunskill, 2016) • model and guided importance sampling combined estimatorの略。 • More robust doubly robust off-policy evaluation (Farajtabar et al., 2018) • 上記2つは、Importance SamplingとDirect Methodをいかにうまくバランスさせるかを⼯夫。 • 課題1のメトリクス • 最初のポリシーπ0は、その後システムの所有者にシステムへのアクセスを許してもらえるかどう かを決める重要なものであり、ある⼀定の期待された性能を満たす必要がある。 • そのため、以下の式で定義される、warm-start performanceが重要なメトリクスと考える。 • ここでRは、ポリシー を⽤いて得られる累積報酬を表す。
  • 13.
    ©2020ARAYAInc. 課題2: Learning Onthe Real System from Limited Samples 13 • 課題の概要 • 現実のシステムから得られる訓練データは少なく、また探索も限られている。 • そのため、少ないデータから学習可能である必要がある(sample-efficient)。 • アプローチ • 1. Model Agnostic Meta-Learning(MAML) (Finn et al., 2017) • 個別のタスクに⾼速に(=少ないデータ数、update数で) アダプト可能なメタポリシーを学習する。 • 2. Bootstrap DQN (Osband et al., 2016) • Q-networkのアンサンブルを学習した上で、Thompson Samplingを ⽤いて探索を促しサンプル効率を向上させる。 • 3. エキスパートデータを⽤いたブートストラップ(次⾴で説明) • 4. モデルベースの⼿法
  • 14.
    ©2020ARAYAInc. 課題2: Learning Onthe Real System from Limited Samples 14 • 3. エキスパートデータを⽤いたブートストラップ • Deep Q-learning from Demonstrations(Hester et al., 2018) • デモンストレーションのデータを⽤いてネットワークを事前学習した後、実際の環境とインタ ラクションして強化学習を⾏う。 事前 学習 強化 学習 事前学習: デモンストレーションのデータのみを使い、以下の Lossを使ってポリシーの学習を⾏う。 強化学習: デモンストレーションのデータと環境とのインタラ クションで得られたデータの両⽅をReplay Bufferに ⼊れて学習を⾏う。なお、デモデータは必ずReplay Bufferに⼊れておくようにする。Lossは事前学習の Lossにおけるλ2を0とおいたものを⽤いる。 1-step double Q-learning loss n-step double Q-learning loss Expert loss L2 loss
  • 15.
    ©2020ARAYAInc. 課題2: Learning Onthe Real System from Limited Samples 15 • 課題2のメトリクス • ある性能の閾値に到達するまでに必要なデータの量を測定する。 は求められる性能の閾値。
  • 16.
    ©2020ARAYAInc. 課題3: High-Dimensional ContinuousState and Action Spaces 16 • 課題の概要 • 多くの現実的な問題では、状態空間・⾏動空間が⼤きく、また連続値である。 • 例:youtubeにおけるレコメンデーション(Covington et al., 2016 ) • アプローチ • 1. Deep Reinforcement Learning in Large Discrete Action Spaces (Dulac-Arnold et al.) • 候補となるアクションのベクトルを⽣成し、最近傍探索によって、最も 近い実際に可能なアクションを⾒つける。 • f : 状態sを⼊⼒として、n次元実数ベクトルのProto Actionを出⼒ • g : fが出⼒したProto Actionに最も近い、実際のアクション(離散)を探索 • Q : gが出⼒した離散アクションを⼊⼒として、その価値を出⼒ • fとQは、DDPGのフレームワークで学習を⾏う。 Q(s,a)
  • 17.
    ©2020ARAYAInc. 課題3: High-Dimensional ContinuousState and Action Spaces 17 • アプローチ(続き) • 2. Learn What Not to Learn: Action Elimination with Deep Reinforcement Learning (Zahavy et al.) • それぞれの状態sに関連のない⾏動を削除するために、 contextual banditを導⼊した、Action Elimination Deep Q Network(AE-DQN)を提案。 • AEN(Action Elimination Network)とDQNは、いずれもDeep Neural Networkで構築される。 • エージェントは、アクションatに対して、報酬rt、次の状態 st+1、およびelimination signal et( バイナリ値)を受け取る。 • AENはDQNに対して、Stに対して許容されるAʼを提供する。 • AENは、contextual multi-armed banditsを⽤いることで、 MDPとは独⽴して学習する。 • テキストゲームにて評価を実施。
  • 18.
    ©2020ARAYAInc. 課題3: High-Dimensional ContinuousState and Action Spaces 18 • アプローチ(続き) • 3. Deep Reinforcement Learning with a Natural Language Action Space (He et al.) • 状態と⾏動をそれぞれ別のネットワークで処理して埋め込みベクトルを得た後、これらの内積 をとることでQ値を得る、Deep Reinforcement Learning Relevance Network(DRRN) を提案。 • テキストゲームにて評価を⾏い、既存⼿法を上回る性能を達成。 DRRN
  • 19.
    ©2020ARAYAInc. 課題3: High-Dimensional ContinuousState and Action Spaces 19 • 課題3のメトリクス • アクションの数と、アクション空間の質がメトリクスとして考えられる。 • よく整理された⾏動空間は、より理解・解釈がしやすい。
  • 20.
    ©2020ARAYAInc. 課題4:Satisfying Safety Constraints 20 •課題の概要 • システムの安全性は、システムの運⽤時だけでなく、探索的な学習を⾏う際にも重要な要素。 • 安全性に関する考慮は、システムそのものに関するもの(システムの温度、最⼩のバッテリーレベ ルを維持する、など)と、環境に関するもの(障害物を回避する、など)がある。 • アプローチ • 1. Constrained MDPs(CMDPs)に基づく最適化 • CMDPsは、以下の制約付き最適化として定式化される。 • ここで、Rは、ポリシーπによって得られる累積報酬、Ck(π)は、ポリシーπによって被った制 約kのコストを表す。
  • 21.
    ©2020ARAYAInc. 課題4:Satisfying Safety Constraints 21 •1. Constrained MDPs(CMDPs)に基づく最適化(続き) • Safe Exploration in Continuous Action Spaces(Dalal et al.,2018) • 以下のようにCMDPsを定式化。制約関数cは、例えばデータセンター内での温度など。 • 制約関数cを、アクションに関する⼀次近似で表現する。 • 関数g(s;wi)はNNで表現され、最初にランダムアクションを⾏いそこで得られた状態遷移(s, a, sʼ)データから学習する。 • ポリシーの学習では、通常のDDPGで出⼒される出⼒の後にsafety layerを設ける(右下図)。 • safety layerは、以下の式を満たすようにアクションの調整を⾏う。制約関数ciを線形式で記述 したお陰で、この式のグローバル最適解は容易に求めることができる。 この制約関数は、前に学習したものを使⽤する。
  • 22.
    ©2020ARAYAInc. 課題4:Satisfying Safety Constraints 22 •2. budgeted MDPs • CMDPsでは、制約レベル(閾値)Vkは与えられるものとしているが、budgeted MDPsではこれが 未知であるとし、代わりに制約レベルの関数としてポリシーを学習する。 • これにより、ユーザーは制約レベルと期待報酬との間のトレードオフを調べ、最適なものを選択 することができるようになる。 • 3. その他の⼿法 • 安全なポリシーを学習するのにLyapunov関数を⽤いる⼿法(Chow et al., 2018) • 近傍の状態の安全性を予測する⼿法(Turchetta et al., 2016; Wachi et al., 2018) • 課題4のメトリクス • それぞれの制約について、安全性が破られた回数をカウントし、この累積和を⽤いる。 K:制約の個数
  • 23.
    ©2020ARAYAInc. 課題5:Partial Observability andNon-Stationarity 23 • 課題の概要 • 現実世界のシステムのほとんどが部分的観測である、例えば物理的なシステムであれば、モー ターの摩耗・損傷は観測できない。また推薦システムでは、ユーザーの⼼理状態は観測できない。 • 多くの場合、この部分観測性は、⾮定常性によるもの(モータの摩耗・損傷の例など)と、確率性 (ロボットの動きなど)によるものがある。 • 部分観測問題は通常、POMDPとして定式化される。通常のMDPとの違いとしては、エージェン トの観測xが、状態sと切り離して存在し、観測関数O(x|s)が導⼊される。 • アプローチ • 部分的観測の課題に対して、主に2種類の⼀般的なアプローチがある。 • 1. エージェントの観測に、履歴を⽤いる⼿法 • DQN(Mnih et al.,2015)でもとられた⼿法。DQNでは4フレームスタックを⾏う。 • 2. RNNを⽤いる⼿法 • 通常のDQNのアーキテクチャの最後にRNN(LSTM)を導⼊することで、1フレームだけを⼊⼒し た場合でも、通常のDQNと同等の性能が出せることを⽰した(Hausknecht & Stone.,2015)。
  • 24.
    ©2020ARAYAInc. 課題5:Partial Observability andNon-Stationarity 24 • アプローチ(続き) • シミュレーションから実際のシステムに学習したポリシーを転移する(sim2real)の⽂脈でも同様 の研究がなされている。 • simとrealとの差が観測できない、という点では部分的観測性の問題と捉えることができる。 • ⼀般的にrealなシステムは、確率的でノイズを含み、また遅延や外乱も発⽣し得る。 • ⼤きく3つのアプローチがある。 • 1. Robust MDP • Robust MDPは、<S, A, P, r, γ>で定式化されるが、ここでPは遷移⾏列の集合(不確実性の集 合)として定義される。 • ⽬的は、worst caseでの価値関数を最適化することで、以下の式で定義される。 • 2. Domain randomization • 様々な外乱を含む環境でエージェントを学習させる。次⾴で詳細を紹介。
  • 25.
    ©2020ARAYAInc. 課題5:Partial Observability andNon-Stationarity 25 • 2. Domain randomization • Sim-to-Real Transfer of Robotic Control with Dynamics Randomization (Peng et al.,2018) • シミュレーション上のロボットで学習させたモデルをそのまま実世界のロボットに適⽤。 • システムのダイナミクスのパラメータに、ある分布からサンプリングした値を⽤いることで、 様々なダイナミクスを持った環境を⽣成し、その上で学習を⾏う。 • また、センサーノイズを模擬するために、エージェントの観測値にガウシアンノイズを加える。 real simulator Randomization なし Randomization +LSTM
  • 26.
    ©2020ARAYAInc. 課題5:Partial Observability andNon-Stationarity 26 • アプローチ(続き) • 3. System identification • いま実⾏している環境を特定した上で、それに沿ってポリシーを修正可能なポリシーを学習さ せる⽅法。代表的な⼿法としてMAML(Finn et al.,2017)がある。 • 課題5のメトリクス • K個のテスト環境(それぞれ異なる摂動を発⽣)で試験し、その平均性能を計測する。 P:摂動を含むテスト環境の集合
  • 27.
    ©2020ARAYAInc. 課題6:Unspecified and Multi-ObjectiveReward Functions 27 • 課題の概要 • 強化学習は⼀般的に、ある1つのグローバルな報酬関数を最適化することが多いが、実際の問題は、 複数の次元のコストを最⼩化する問題であることが多い。 • また、多くのケースでは、システムや製品のオーナーは、何を最適化すべきかについて、明確な 答えを持ち合わせていない。 • 加えて、⼀般に強化学習では報酬の期待値を最適化するが、実際にはすべての試⾏においてよく 振舞う必要があると考えられる。 • つまり、例えば⼯場に導⼊されたロボットが平均的によく動くのではなく全てよく動く必要が あるし、推薦システムは平均的によいのでなく全てのユーザに対してよくあるべきである。 • アプローチ • 1. Conditional Value at Risk(CVaR) Objective (Tamar et al., 2015b) • 報酬の期待値でなく、報酬分布のパーセンタイルを⾒る。Tamarらは、報酬分布のパーセンタ イルを⽬的とすることで、ポリシーのworst-caseでの性能を改善できることを⽰した。 • 2. Distributional DQN (Dabney et al., 2018; Bellemare et al., 2017) • 報酬の分布をモデル化。
  • 28.
    ©2020ARAYAInc. 課題6:Unspecified and Multi-ObjectiveReward Functions 28 • アプローチ(続き) • 3. 逆強化学習 • デモンストレーションから報酬を推定する⼿法として、様々提案されている。 • Inverse reward design (Hadfield-Menell et al.,2017) – 「デザインされた」報酬関数と学習⽤のMDPsが与えられた状態で、真に意図された報酬を 推定できるか検討し、新シナリオ上でエージェントが意図通りに動作することを確認。 – これにより、報酬の設計漏れによる影響や報酬ハッキングを防ぐことができる。 • 4. Hybrid reward architecture for reinforcement learning (Van Seijen et al.,2017) • 報酬を分割することで複雑な価値関数を低次元で近似。Mc-PacManで⼈間を超える性能を達成 した。なお、Mc-PacManではゲームに登場する物体(pellet/fruit/ghost/blue ghost)毎にQ関数 を分割。
  • 29.
    ©2020ARAYAInc. 課題6:Unspecified and Multi-ObjectiveReward Functions 29 • 課題6のメトリクス • 複数の⽬的を表現可能なシンプルなメトリクスを提案する。 • ここで、複数⽬的の報酬関数を扱う場合は、これらを独⽴に扱うことが重要である。こうするこ とで、ステークホルダーは、⽬的間のトレードオフを理解し、選択することができるようになる。 • その他にも様々なメトリクス(CVaR、分布など)が考えられる。 K次元のベクトル
  • 30.
    ©2020ARAYAInc. 課題7:Explainability 30 • 課題概要 • ⼀般的に実世界のシステムは、⼈間によって所有されている。そのため、彼らに、コントロー ラーの意図について安⼼してもらう必要がある。 •そのために、ポリシーの説明可能性は、実世界で動作するポリシーについては重要な課題となる。 • アプローチ • Programmatically Interpretable Reinforcement Learning (Verma et all,2018) • 学習したNNのポリシーを、探索によって、明⽰的なdomain-specificプログラミング⾔語に蒸 留する。これにより、より⼈間が理解しやすくなり、また検証も可能となる。 • その他にも、DNNの意図を引き出す⼿法は多数提案されており、これはPolicyNNにも適⽤できる。 • 課題7のメトリクス • その表現を⼈間が理解しやすいかで評価できる。例えばA/Bテストなどが使える。 ⾃動変換されたCartPoleのポリシー ⾃動変換されたMountainCarのポリシー
  • 31.
    ©2020ARAYAInc. 課題8:Real-Time Inference 31 • 課題概要 •RLをプロダクションシステムにデプロイするためには、ポリシーの推論がシステムの制御周期中 にリアルタイムで実⾏される必要がある。 • 例えば推薦システムであればmillisecondsのオーダーが求められる⼀⽅、ビルの制御システムで はminutesオーダーでよい場合もある。 • アプローチ • A Real-Time Model-Based Reinforcement Learning Architecture for Robot Control(Hester et al. ) • モデルベースRLにおいて、サンプルベースのプランニングアルゴリズム、具体的にはMonte Carlo Tree Search (MCTS) familyのアルゴリズムを⽤いた。 – AlphaGoで⽤いられた⼿法でもある。 • タスクから要求された段階で、その時点で最もよいと思われるアクションを返す。 • このアルゴリズムでは、サンプル回数が増えれば増えるほど、精度が向上する。
  • 32.
    ©2020ARAYAInc. 課題9:System Delays 32 • 課題の概要 •システムの遅延は、センサー、アクチュエーター、報酬フィードバックのいずれでも発⽣する。 • 例えば推薦システムでは、数週間の遅延の後に報酬が得られるといったことがあり得る。 • アプローチ • 1. TEXPLORE: Real-Time Sample-Efficient Reinforcement Learning for Robots (Hester&Stone) • 現在のアクションだけでなく、過去のアクションの履歴も⼊⼒として⼊れることで、遅延の影 響をモデルに学習させた。 • 2. Optimizing agent behavior over long time scales by transporting value (Hung et al., 2019) • メモリーベースのエージェントを導⼊することで、遠い過去のイベントであっても、メモリー からのその情報を引き出して、報酬を割り当てることができることを⽰した。
  • 33.
    ©2020ARAYAInc. 課題9:System Delays 33 • アプローチ(続き) •3. RUDDER Return Decomposition for Delayed Rewards (Arjona-Medina et al.,2018) • 最終的な報酬から、各ステップの即時報酬を逆算、分配することで、遅延報酬に対しても対応 することができることを検証。 • 課題9のメトリクス • 状態やアクションに遅延を加えた上で、どの程度累積報酬を獲得できるかを計測することで、ポ リシーのロバスト性を評価する。
  • 34.
    ©2020ARAYAInc. 評価環境の作成 34 • DeepMind controlsuite(Tassa et al.,2018)に対して修正を加えることで、この論⽂で紹介した9つの 課題を評価できる環境を構築した。 • 特徴: • ここでは例としてhumanoid taskを考える。 • 学習はバッチRLの環境で⾏う。学習に⽤いるデータは、別の既存アルゴリズム・ポリシーを⽤い て収集したものを⽤いる。 • On-lineで学習を⾏う。つまり、トレーニングと評価というようなフェーズの分離はない。そのた め学習中においても安全性や効率性が求められる。 • ⼊出⼒次元は(humanoid taskの例では)すでに⾼次元空間である。 • タスクのドメイン固有のパラメータ(例:摩擦、質量)に、あるい分布からサンプリングされた値 を⽤いることで、⾮定常性・部分観測性を取り⼊れることもできる。 • 動いた距離と移動に使ったエネルギーの2つを報酬としてみなすことができる。 • Worst-caseでの報酬も考慮し、エピソード毎の摂動に対する評価を⾏う。 • シミュレーションはリアルタイムで⾏われるためリアルタイム性を必要とする。 • またアクチューエーターに⼈⼯的な遅延を導⼊することで、遅延に対するロバスト性を評価する。
  • 35.
  • 36.
    ©2020ARAYAInc. Reinforcement Learning forReal Life ICML 2019 Workshop 36 このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。 Challenges of Real-World Reinforcement Learning Park: An Open Platform for Learning Augmented Computer Systems Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform 1 2 3
  • 37.
    ©2020ARAYAInc. 概要 37 • タイトル • Park:An Open Platform for Learning-Augmented Computer Systems • 著者 • Hongzi Mao1 et al. • 1: MIT Computer Science and Artificial Intelligence Laboratory • 概要 • Parkと呼ばれる、研究者がコンピュータシステムに対して強化学習の実験を⾏うためのプラット フォームを提案。 • また、強化学習をコンピュータシステムに対して適⽤する際の課題についても議論する。 • 現在、Parkは12のタスクが実装されているが、これらに対して既存の強化学習アルゴリズムを適 ⽤し、その結果と課題についても議論する。
  • 38.
    ©2020ARAYAInc. Introduction 38 • コンピューターシステムは、連続的にdecision-makingを⾏うタスクが多い。よってこれらは⾃然に MDPとして表現することが可能である。 • 現実世界のシステムは正確にモデル化するのが難しいため、現状のstate-of-the-artアルゴリズムは、 ⼈間が瀬景したヒューリスティックなアルゴリズムをつかている場⾯が多く、改善する余地は⼤きい。 •さらに、これらの既存アルゴリズムは複雑であり、異なるシステムや環境を超えて適合させることは 難しい場合が多い。 • そこで、強化学習を適⽤することで、これらの改善を試みる研究が近年なされてきている。 • しかし、まだ研究の量は少なく、これはOpenAI Gymのような、アルゴリズムを評価するための良い ベンチマークが存在しないことが原因と考えている。 • そこで本論⽂では、研究者のこの分野への参⼊障壁を下げるために、Parkと呼ばれるオープンなプ ラットフォームを提案する。
  • 39.
    ©2020ARAYAInc. 適⽤分野1:Networking 39 • ネットワークの輻輳制御: • ネットワークの各ホストは、トラフィックを送る速度を、ネットワークのキャパシティと他の ユーザーのデマンドを考慮して決める必要がある。 •ビデオストリーミングにおけるビットレート最適化: • コンテンツプロバイダーからビデオをストリーニングする際、各ビデオは複数のチャンクに分け て送られる。⾒る際には、エージェントが、ネットワークの状況(帯域、レイテンシ)とビデオの 特性(ビデオの種類、エンコーディング⽅法など)を考慮して、それぞれのチャンクのビットレー トを決める。 • ゴールは、ビデオのストール(停⽌)を避けながらも解像度を最⼤化すること。
  • 40.
    ©2020ARAYAInc. 適⽤分野2: Databases 40 • データのインデクシング: •データベースにおいて、データに効率よくアクセスするために、データの取得パターンを考慮し て適切にインデックスを設計することが重要である。 • エージェントは、クエリのパターンを観測して、データをどのように構造化し、保存すべきかを 決定する。 • クエリ最適化: • モダンなクエリ最適化エンジンは、複雑なヒューリスティクスで構成されている。 • これには、複数のルールや、⼈間によって設計されたコストモデル、統計と、動的計画法などが 使⽤されている。 • ヒューリスティクスによってクエリの実⾏を並び替えし、短い時間で実⾏できるようにしている。 • ⼀⽅で、これらのアルゴリズムは、時間によって改善していくことはなく、また失敗から学習す るようなこともない。 • そのため、強化学習で改善する余地があると考えられている。
  • 41.
    ©2020ARAYAInc. 適⽤分野3: Distributed systems 41 •ジョブのアサイン: • 分散システムの処理を効率化するためには、ジョブスケジューラーは計算・メモリー資源をどの ようにジョブにアサインすると、最も早く計算が終わるかを決める必要がある。 • エージェントは、ジョブの集合と計算リソースの状態(それぞれのジョブが現状どこにアサインさ れているか)を観測し、ジョブをどの計算リソースに割り当てるかを決定する。 • ゴールは、ジョブをできるだけ早く完了することである。
  • 42.
    ©2020ARAYAInc. 適⽤分野4: Operating systems 42 •メモリ階層: • コンピュータシステムは、⾼速なメモリーと⽐較的⼤きくて遅いストレージから構成される。 • OSは、アプリケーション間で限られたメモリリソースを多重化して利⽤することで、⾼い性能を 達成する。 • RLエージェントは、キャッシュ上の既存のオブジェクトと新しく⼊ってくるオブジェクトの両⽅ を観測することができ、古くなったオブジェクトをキャッシュから出して新しいオブジェクトを キャッシュに載せるかどうかを判断する。 • このタスクのゴールは、キャッシュのヒット率を最⼤化することである。 • CPUの電源状態の管理: • OSは、CPUのクロックスピードを上げることでアプリケーションの性能をブーストさせるか、低 いクロックスピードで省エネするかを制御する。 • RLエージェントは、各アプリケーションの実⾏状況に基づいて、動的にクロックスピードを調整 することが求められる。 • このタスクのゴールは、消費電⼒を削減しながら、⾼いアプリケーション性能を達成することで ある。
  • 43.
    ©2020ARAYAInc. 課題1:状態⾏動空間 43 • The needle-in-the-haystackproblem (⼲し草の中の⼀本の針) • いくつかのコンピュータシステムにおける課題では、多くの状態⾏動空間上での違いは、最終的 な報酬に⼩さな違いしかもたらさないことが多い。 • これにより、RLの学習時に意味のある勾配を作ることができず、学習が進まないことがある。 • 例えばネットワークの輻輳制御のタスクにおいて、ネットワーク容量を超えてデータを送ろうと すると、ネットワークは飽和してしまう。この状態でデータの送信周期を少し変えたとしても、 悪い報酬から抜け出すことはできない。抜け出すには、低い送信周期の状態を複数回連続して維 持する必要がある。 • このような課題に対しては、ドメイン知識を利⽤して探索空間を制限することで、よいポリシー を学習できるようになる。また環境に特有のreward shapingを⾏う、既存のポリシーからブート ストラップ的に学習する、といった⽅法も有効である。 • Representation of state-action space • いくつかの問題では、⾏動空間が指数的に増加する場合や、⾏動空間のサイズが時間によって変 わる場合がある(例:ジョブをコンピュータに割り当てる問題など)。 • ドメイン固有の構造をとらえた適切な表現を⽤いることで、⼤きく学習効率と汎化性を向上可能。 • 例えばSparkのJobやTensorflowのコンポーネントのアサインタスクでは、Graph Convolutional Neural Networks(GCNs)を⽤いることで⼤きく汎化性能を向上できた。
  • 44.
    ©2020ARAYAInc. 課題2:決定プロセス 44 • Stochasticity inMDP causing huge variance. • 例えばキューイングシステムでは、確率的な⼊⼒プロセスによって決まる部分が⼤きい。このよ うなプロセスでは、コントローラの決定よりも⼊⼒によって報酬が変わることが多く、報酬に⼤ きなバリアンスをもたらす。 • 例えばロードバランサにおける右図の例では、ある時刻t でアクションをした後、重いジョブが突発的に⼤量に発 ⽣した場合は報酬は低くなり(⾚⾊)、軽いジョブが⼤量発 ⽣した場合は報酬が⾼くなる(緑⾊)。 • 問題は、これらの報酬は、時刻tのアクションとは独⽴で あり、到着したプロセスのランダム性によって⼤きく変 わるという点である。 • Infinite horizon problems • プロダクションのコンピュータシステムは⻑期にわたって実⾏し続ける。そのためinfinite horizon MDPとなり、エピドード単位での学習が難しい。 • Average reward RL定式化は、1つの解決の⽅向性である。
  • 45.
    ©2020ARAYAInc. 課題3:Simulation-Reality Gap 45 • シミュレータとリアルの相違 •例えばデータベースのクエリー最適化において、既存のシミュレータやクエリープランナーは、 オフラインのコストモデルをつかてクエリの実⾏時間を予測する。しかしコストモデルは、デー タ分布の変化等によってクエリが複雑になることで、精度が急速に落ちることが知られている。 • 環境とのインタラクションにかかる時間 • 例えばビデオストリーミングでのビットレート制御では、ビデオチャンクがダウンロードされて はじめて報酬が決まり、これは通常数秒かかるため、学習に⻑い時間を要する。 • ⾼いロバスト性 • 例えばロードバランシングのタスクにおいて、分布5(⼭が1つ)で学習させた結果は分布1(⼭が2 つ)で学習させた結果よりもロバストである。分布1で学習させると、⼩さいジョブのために空の 状態のサーバーを1つ予約しておくというポリシーが学習されるが、これは分布1にオーバー フィットしており他の分布では性能劣化を引き起こす。
  • 46.
    ©2020ARAYAInc. 課題4:Understandability over ExistingHeuristics 46 • 既存のヒューリスティクスアルゴリズム(例:FIFO)は理解しやすい。⼀⽅RLの⼿法は理解が難しく、 これをいかにヒューリスティクスな⼿法と同じくらい理解しやすくするかが問題となる。 • 解決策?の1つとして、既存のアルゴリズムとRLを組み合わせるということも考えられる。 • 例えば、普段は学習されたスケジューリングアルゴリズムで動作するが、⼊⼒の分布に⼤きなド リフトが検知された時には、既存のヒューリスティクスアルゴリズムにフォールバックする、等。
  • 47.
    ©2020ARAYAInc. Park Platform 47 • リアルな環境を使う場合とシミュレーション環境を使う場合の2通りがある。 •リアルな環境との接続においては、RPCs(remote procedure calls)を⽤いて環境とRL agentとの間の 通信を⾏う。 • ノンブロッキングなRPCを使う場合はエージェントが観測する状態情報は最新でないことになる、 ⼀⽅ブロッキングなRPCを使う場合は、⾏動の算出に時間を要すると、システムの性能を損なう 可能性がある。 • シミュレーションは、OpenAI Gymスタイルのインタフェースを⽤意している。
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
    ©2020ARAYAInc. Reinforcement Learning forReal Life ICML 2019 Workshop 52 このworkshopのBest Paper(全部で4本)のうち、以下の3本を紹介する。 Challenges of Real-World Reinforcement Learning Park: An Open Platform for Learning Augmented Computer Systems Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform 1 2 3
  • 53.
    ©2020ARAYAInc. 概要 53 • タイトル • Horizon:Facebookʼs Open Source Applied Reinforcement Learning Platform • 著者 • Jason Gauci1 et al. • 1: Facebook, Menlo Park, California, USA. • 概要 • Horizonと呼ばれる、Facebookのオープンソースのapplied RLプラットフォームを提案した。 • このプラットフォームはRLの分野における初のend-to-endプラットフォームであり、膨⼤なデー タセットや特徴量空間、遅いフィードバック等、実際にRLをプロダクションシステムにデプロイ する上で重要な課題を解決するための要素が⼀通り取り揃えられている。 • このプラットフォームは、FacebookのPush Notifications、およびPage Administrator Notificationsで利⽤されいてる。
  • 54.
    ©2020ARAYAInc. ちなみに、 54 • いまは名前が変わっています。 • (旧)Horizon-> (新)ReAgent • おそらくFacebookが始めたソーシャルVRサービスのHorizonと名称が被ったためと思われます。。 Horizon by Oculus
  • 55.
  • 56.
    ©2020ARAYAInc. Horizonの機能 56 機能 説明 Data preprocessingSparkのパイプラインで、ログデータを強化学習に必要なデータフォーマットに 変換する。 Feature Normalization 各データのデータタイプ(float, int, enumなど)に応じで、データの正規化を⾏う。 Data Understanding Tool 現実世界の課題はMDPを満たしているとは限らない。そこでRLアルゴリズムを 開発する前に、問題の定式の性質をチェックするツールを提供する。 Deep RL model implementations DQN、DDQN、DDPG、SACなどの⼿法を実装。また離散⾏動空間がとても⼤き い場合に備えて、parametric action versionのアルゴリズムも準備されている。 Multi-Node and Multi-GPU training 複数ノード、複数GPUノードの上で学習を⾏うことができる。 Counterfactual policy evaluation オフラインでポリシーの性能を評価できる。 Optimized Serving PyTorchで学習したモデルをCaffe2形式に変換する。Caffe2は性能とポータビリ ティの観点で最適化されており、どのマシンにもデプロイすることができる。 Tested Algorithms 実装されているRLアルゴリズムは、Grid worldやOpenAI Gymの環境で常にテス トされている。
  • 57.
    ©2020ARAYAInc. Data Understanding Tool 57 •解こうとしている課題の性質のチェックと、特徴量エンジニアリングのイテレーションを⾼速化する ために、data understanding toolを開発した。 • まず、このツールは、定式化された環境のモデルを学習する。ここでは確率的⽣成モデルを⽤いる。 これは⾼次元⼊⼒と、状態遷移と報酬の確率性を考慮することができる。 • 具体的には、stateとactionを⼊⼒としたDNNを⽤いる。状態遷移と報酬の確率性を扱えるようにする ため、DNNの最後のレイヤーにGaussian Mixture Model(GMM)レイヤーを⽤いる。これによりモデ ルは、次の状態と報酬のGaussian mixture distributionを出⼒する。 • このモデルを⽤いて、まず特徴量の取捨選択が可能となる。重要な特徴量であれば、それをマスクし たときのlossが⼤きく増加する。これにより必要な特徴量だけに絞り込むことができる。 (報酬についての確率P(rt|st,at)も 同様に記述できる)
  • 58.
    ©2020ARAYAInc. Data Understanding Tool 58 •問題の定式化が正しいかどうかのチェックも可能となる。 • 例えば次の状態を予測する際に、現在の状態の重要度が低い場合は、その環境には連続的な要素がな いと考えられる。(下図①) • また、例えば報酬を予測する際に、現在の状態の重要度が低い場合は、多腕バンディット問題となり、 ⾏動に対する報酬のみを評価すればよいことになる。(下図②) st at st+1 st at rt ②①
  • 59.
    ©2020ARAYAInc. Counterfactual policy evaluation 59 •以下の仮想的ポリシー評価⽅法が実装されている。 • Step-wise direct method estimator • Step-wise importance sampling estimator (Horvitz & Thompson, 1952) • Step-wise doubly-robust estimator (Dudık et al., 2011) • Sequential doubly-robust estimator (Jiang & Li, 2016) • Sequential weighted doubly-robust estimator (Thomas & Brunskill, 2016) • MAGIC estimator (Thomas & Brunskill, 2016) • これらの値は学習フェーズでも常にTensorboard上でモニタリングできるようになっている。
  • 60.
    ©2020ARAYAInc. 感想 60 • 3つの論⽂を読んだが、論じられている課題はかなり似ており、最初の論⽂で紹介した9つの課題は、 よく網羅されているのでは、と感じた。 • 現実世界への適⽤に向けた課題が沢⼭あることは分かったが、その中でもやはり優先順位が⾼いのは、 そもそもRLを適⽤することで既存アルゴリズムより⾼い性能を得られることを⾒せることではないか。 •そのために、シミュレーション上での評価、あるいはシミュレータがない場合には、ログデータを⽤ いた評価が重要になるはず。 • ⼀旦性能が⾼いことが⽰せれば、デプロイに向けた課題は、アルゴリズムでなくエンジニアリングに よって解決できる部分も多いのではないかと思う。例:リアルタイム性、安全性など