Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)

東京大学 松尾研究室が主催する深層強化学習サマースクールの講義で今井が使用した資料の公開版です.
強化学習の基礎的な概念や理論から最新の深層強化学習アルゴリズムまで解説しています.巻末には強化学習を勉強するにあたって有用な他資料への案内も載せました.
主に以下のような強化学習の概念やアルゴリズムの紹介をしています.
・マルコフ決定過程
・ベルマン方程式
・モデルフリー強化学習
・モデルベース強化学習
・TD学習
・Q学習
・SARSA
・適格度トレース
・関数近似
・方策勾配法
・方策勾配定理
・DPG
・DDPG
・TRPO
・PPO
・SAC
・Actor-Critic
・DQN(Deep Q-Network)
・経験再生
・Double DQN
・Prioritized Experience Replay
・Dueling Network
・Categorical DQN
・Noisy Network
・Rainbow
・A3C
・A2C
・Gorila
・Ape-X
・R2D2
・内発的報酬
・カウントベース
・擬似カウントベース
・RND(Random Network Distillation)
・ICM(Intrinsic Curiosity Module)
・Go-Explore
・世界モデル(World Models)
・MuZero
・SimPLe
・NGU(Never Give Up)
・Agent57
・AlphaGo
・AlphaGo Zero
・AlphaZero
・OpenAI Five
・AlphaStar
・マルチエージェント強化学習

  • Be the first to comment

強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)

  1. 1. 東京大学松尾研究室 深層強化学習サマースクール 第1回 強化学習の基礎と 深層強化学習 東京大学 大学院工学系研究科 技術経営戦略学専攻 今井 翔太 Email:imais@weblab.t.u-tokyo.ac.jp Twitter:えるエル@ImAI_Eruel
  2. 2. この資料について  本資料は,東京大学 松尾研究室が主催する深層強化学習サマースクール2020 (https://deeplearning.jp/reinforcement_cource-2020s/)で今井が講義に 使用した資料の公開版です  公開にあたり,講義特有の記述など資料の一部内容を変更しています  こんな人にオススメ - 強化学習ってなに?教師あり学習や教師なし学習と何が違うの?深層学習との関係は? - Q学習とかSARSAってよく聞くけどあんまりわかってない - 深層強化学習のDQNって頭悪そうな名前だね - いろいろ強化学習のアルゴリズムは知ってるけど,各手法の強みとか関係がわからない - 深層強化学習の時代になってからついていけなくなった - 強化学習をもうちょっと理論の土台から理解したい - 強化学習勉強したいんだけど,なんかいい資料とか文献への案内ないかな - 強化学習の基礎から最新の深層強化学習アルゴリズムまで一気に追いたい Shota Imai | The University of Tokyo 2
  3. 3. 資料で使用する用語等  強化学習の用語の和訳,解説は『強化学習(森村)』または現在翻訳中の 『Reinforcement Learning, second edition: An Introduction』で使用されているものに 準拠 Shota Imai | The University of Tokyo 3
  4. 4. 自己紹介 今井 翔太(Shota Imai)  所属:東京大学大学院 工学系研究科 技術経営戦略学専攻  研究分野:強化学習、マルチエージェント,ゲームAI  最近の活動など - 深層強化学習サマースクール,高専AIサマースクール講師 - Sutton著『Reinforcement Learning』翻訳 - メディア記事執筆 - ゲームAIに関する書籍の執筆 Shota Imai | The University of Tokyo 4 Twitter:えるエル@lmAI_Eruel
  5. 5. 目次  第一部:強化学習の基礎 - 強化学習とは - 強化学習の定式化 - 基本的な強化学習のアルゴリズム  第二部:深層強化学習 - DQNとその発展手法(演習) - 分散型深層強化学習 - 内発的報酬の利用 - 様々な要素を組み合わせた深層強化学習の最新アルゴリズム - その他有名な深層強化学習手法 - 発展的な話題  文献,その他資料案内  まとめ Shota Imai | The University of Tokyo 5
  6. 6. この資料で学ぶこと  レベル1:強化学習をする人は知っておくべき - 環境,報酬,収益,行動,方策,価値関数等の基本概念 - 強化学習の探索と活用のジレンマ,遅延報酬などの基本的性質 - マルコフ決定過程の基本的な知識 - モデルフリー,モデルベース強化学習の違い - TD学習(特にQ学習) - 関数近似の導入 - 深層強化学習の基本,特にDeep Q-Networks(DQN)  レベル2:できれば覚えておいたほうがよい - ベルマン方程式 - プランニング - 方策勾配定理 - 方策オフと方策オンの違い  レベル3:発展的な話題 - 部分観測マルコフ決定過程 - 方策勾配法の具体的手法 - TD(λ),適格度トレース - 分散型深層強化学習 - 内発的報酬の概念  レベル4:必要になったら参照 - 深層強化学習の各手法の具体的性質 - 最新の手法の理解 - 資料末の発展的手法 6 Shota Imai | The University of Tokyo
  7. 7. この資料で解説する強化学習の主要アルゴリズム Shota Imai | The University of Tokyo 7
  8. 8. 特定のことを知りたい人への案内  強化学習を1から学びたい:このままp.9から  Q学習とかDQNとかよく聞くアルゴリズムを集中的に学びたい:p.28から  強化学習の基礎はわかるから,深層強化学習を中心に学びたい:p.46から  強化学習を勉強・研究するのにオススメの文献とか資料を知りたい:p.147から Shota Imai | The University of Tokyo 8
  9. 9. 第一部:強化学習の基礎 9
  10. 10. 第一部で解説する強化学習の主要アルゴリズム Shota Imai | The University of Tokyo 10
  11. 11. 強化学習 Shota Imai | The University of Tokyo  人工知能の部分技術である機械学習の中で,特に意思決定則(方策)を学習する手法  意思決定の主体となるエージェントが,ある環境(タスク)の中で目標を達成するため にどのように意思決定をして行動すればよいのかを定式化して学習  意思決定はエージェントが環境から知覚する状態をもとに行われ,意思決定により環境 に対して行った行動から成功信号となる報酬と次の状態を知覚して方策を学習 11
  12. 12. 強化学習の応用例 Shota Imai | The University of Tokyo 12 ロボットの制御(松尾研) (https://www.youtube.com/watch?v=dTRDPh7PFo4) ゲームで世界最強のプレイヤーに勝利 AlphaGo〜AlphaZero[Silver+] 良いニューラルネットワークの構造を探索 Neural Architecture Search[Zoph+] データセンターの冷却電力を効率化 (Google DeepMind https://deepmind.com/blog/article/deepmind-ai- reduces-google-data-centre-cooling-bill-40) Youtubeのコンテンツ推薦 の最適化[Chen+] 良い性質を持つ化学物質の設計 MolGAN[Cao+] https://www.bbc.com/news/technology-35785875
  13. 13. 強化学習の起源 / 心理学における「強化(Reinforcement)」  強化学習の基礎となる分野の一つである心理学では,刺激と応答の間に与えられる刺激 (強化子)を元に特定の行動パターンの発現が増強されることを指して 「強化(Reinforcement)」という語を使用  1960年代に試行錯誤による学習を工学的に議論する流れが始まり「強化学習」の語が  使われるようになり,最適制御の流れも後に合流して現在の強化学習へ 13 バラス・スキナー パブロフの犬 • ベルの音を聞かせて(条件刺激)エサを与え る(無条件刺激)という手順を繰り返す • ベルの音だけで唾液を分泌するように →条件反射 • 条件刺激-無条件刺激の関係が「強化」される • いわゆる古典的条件付けで,正確には 「学習」ではない スキナーの箱(報酬学習) • 箱内のレバーを下げるとエサが出てくるような箱 に空腹のネズミを入れる • ネズミは最初,レバーとエサの関連はわからない • 何らかの偶然でレバーを下げてエサが出てくると, レバーを下げるという行動とエサの関係を 学習し,レバーを下げる行動が「強化」される • いわゆるオペランド条件付け イワン・パブロフ Shota Imai | The University of Tokyo https://ja.wikipedia.org/ wiki/イワン・パブロフ https://ja.wikipedia.org/ wiki/バラス・スキナー
  14. 14. 強化学習と脳の関係/ 神経科学の視点から Shota Imai | The University of Tokyo 14  人の脳では,大脳基底核(Basal ganglia)にあたる部分が,強化学習を行っている部位 だと考えられている  腹側被蓋野(VTA),黒質緻密部(SNc)のドーパミン作動性ニューロンから放出され るドーパミンが報酬,またはTD誤差(後述)と関わり,線条体が価値関数を表現すると いうモデルが一般的(具体的な計算論との対応はいろいろ説がある) http://rail.eecs.berkeley.edu/deeprlcourse/ Sutton, 2018 http://incompleteideas.net/book/RLbook2020.pdfDoya, 1999, http://www.brain-ai.jp/jp/project-outline/
  15. 15. 強化学習の目的  目的:ある意思決定問題を行う環境内で目標を達成する意思決定則を得ること - 強化学習の定式化で考えると,エージェントが環境内で得る報酬の総和(収益)を最大化する 方策を学習することが目的 - 特に,長期的な利益を最大化させることを目指す - ある状態で行動を行う1ステップでもらえる即時報酬ではなく,長期的な行動を繰り返した後 にもらえる報酬の価値を表現する価値関数を基準に方策を学習する  長期的な利益を目指した意思決定を行う問題の例 - 制御 - ゲーム戦略 - 金融 - 経営 - 政策 - 人生 Shota Imai | The University of Tokyo 15 マイナスの報酬を与えれば, 悪い行動を抑制することも可能 ダンジョンを攻略して得る宝を報酬として,進み方を学習,シュートの経験を報酬として 蹴り方を学習,ビジネス 的な成功を報酬としてで仕事の仕方を学ぶなど,報酬をもとに した強化学習の例は様々 -1
  16. 16. 強化学習の特性  データは自分で集める - 学習に必要なデータは人間から与えられず,エージェント自身が環境で探索して集める必要 - 明確な教師データは存在せず,代わりに環境から得られる報酬を教師信号とする - 得られるデータが方策に依存する  遅延報酬 - 極めて多くの行動を繰り返した後でなければ大きな報酬があたえられない場合がある - 近視眼的な利益ではなく,短期的には損をしても長期的な利益で得をする行動をとる必要 - どの時点の意思決定・行動が報酬獲得に貢献したのかの評価が難しい (信用割り当て問題,貢献度割り当て問題; Credit assignment problem)  探索と活用のトレードオフ - 今もっとも良いと思われる行動を取り続けるだけでは,実は他にあるかもしれない最適行動を 見逃す可能性がある - 今最も良い行動を選ぶ(活用;Exploitation),別の行動を試してみる(探索; Exploration)をどちらも完璧に行うことはできないトレードオフがあり,バランスのよい アルゴリズムが必要 Shota Imai | The University of Tokyo 16
  17. 17. 強化学習の問題例 多腕バンディット問題(Multi-Armed Bandit Problem)  アームを引くと一定確率でコイン(報酬)が1枚出てくるようなスロットマシンが複数台 ある状況を考える  どのマシンがコインを出しやすいかわからない状態で,計100回マシンを回せる機会があ る場合,どのように回せばコインを最大化できるか?(状態数1の強化学習) - 方針1:全部10回ずつ(計30回)引き,出たコイン数を回数で 割った平均が大きいものを残りの70回引き続ける(右図) →試行10回程度だと,たまたま良かったり悪かったりする - 方針2:全部30回ずつ(計90回)引き, 同じく平均を出した後,大きいものを残り10回引き続ける →良いスロットを見つけても残り10回しか引けない  強化学習的な問題では探索と活用をバランス良く行う アルゴリズムを考える必要あり - UCB(Upper Confidence Bound),Thompson Sampling等, 様々なアルゴリズムが考案されている Shota Imai | The University of Tokyo 17 引く回数を増やせば確率 通りにいきそう 活用を重視 探索を重視 似たような実応用上の問題例 オンライン広告,推薦システム,A/Bテスト,医療の投薬等
  18. 18. 強化学習の問題例 戦略ゲーム  戦力を整えて,相手と戦う戦略ゲームを考えてみる - 状態:現在の自陣の戦力の大小 - 行動:相手陣地に攻め込むか or 戦力増強 - 報酬:相手または自陣への損害の度合い 1. 短期的な利益を考えて,ずっとプラス報酬を獲得できる方策(ずっと攻め 込む)だと,得られる報酬の期待値は1 2. 短期的には相手からの打撃を受けても,戦力増強してから相手陣に攻め込 むことを繰り返す方策だと報酬の期待値は3(遅延報酬) 18 ※『強化学習(森村)』p2 の問題を参考に例を作成 似たような実応用上の問題例 経営戦略,政策,金融トレード,システム制御等 戦略シミュレーションゲームを やったことがある人,経営者など は感覚がわかりやすいかも(?) 強化学習では,長期的な視点で得をする2のような方策を見つけ出す
  19. 19. 強化学習の定式化 マルコフ決定過程(Markov Decision Process; MDP) 強化学習の対象となる問題では考えられる状態や行動の候補が非常に多く,扱いが困難 →環境に対してマルコフ性を仮定し,これを満たすマルコフ決定過程を持つ問題で定式化  マルコフ性 - 現在の状態𝑠𝑡と行動𝑎 𝑡のみに依存して,次の時刻𝑡 + 1の状態𝑠𝑡+1(遷移確率)が決まる性質  マルコフ決定過程の構成要素 - 状態集合:環境内でエージェントが知覚する状態s(State)の集合 𝑆 = {𝑠1, 𝑠2, 𝑠3, … 𝑠 𝑁} - 行動集合:エージェントが環境に対して働きかける行動a(Action)の集合 𝐴 = {𝑎1, 𝑎2, 𝑎3, … , 𝑎 𝑀} - 状態遷移確率:状態𝑠tで行動𝑎 𝑡を取ってある状態𝑠𝑡+1に遷移する確率 𝑃(𝑠𝑡+1|𝑠𝑡, 𝑎 𝑡) - 初期状態確率分布:初期時刻における状態を確率的に規定するための分布 𝑆0~𝑃0(𝑠) - 報酬関数:状態𝑠tで行動𝑎 𝑡を取って状態𝑠𝑡+1を観測して得る報酬を規定 𝑟𝑡+1 = 𝑟(𝑠, 𝑎, 𝑠′)  MDPにおける時間の概念 - 時間ステップ:𝑡で表される時間の最小単位.時間1のステップ𝑡から𝑡 + 1で,エージェントは1回の行動𝑎 𝑡 を行って環境と相互作用し,次の状態𝑠𝑡+1と報酬𝑟𝑡+1を受け取る - エピソード:ある環境でのタスク開始から終了までの時間をまとめた単位.1つのエピソードで エージェントは環境内で複数ステップの状態遷移を行い,終端時刻𝑇でエピソードを終える • エピソード的タスク(episodic task):終端状態が存在し,𝑇が有限のタスク • 連続タスク(continuous task):𝑇 = ∞で無限にエピソードが継続するタスク Shota Imai | The University of Tokyo 19
  20. 20. マルコフ決定仮定の具体例 先ほどのスライドで紹介した戦略ゲームでの強化学習に,マルコフ決定過程の各要素を割り当てる  状態集合:𝑆 = {戦力中,戦力小,戦力大}  行動集合:𝐴 = {攻め込む,戦力増強}  状態遷移確率:𝑃 戦力小 戦力中, 攻め込む = 1等,この例は全状態遷移確率が決定論的(確率1)  初期状態確率分布:この戦略ゲームが戦力大,中,小それぞれでスタートする確率  報酬関数:𝑟 戦力大, 攻め込む, 戦力小 = 11など Shota Imai | The University of Tokyo 20
  21. 21. 部分観測マルコフ決定過程 (Partial Observable Markov Decision Process; POMDP)  マルコフ過程では,エージェントの状態Sが一意に特定できる設定だったが,問題によっ ては,真の状態ではなく情報の一部の観測Oしか観測できない可能性 →マルコフ性を満たさない(現在の行動による結果が,過去の状態行動遷移に依存する)  得られた観測Oから,自分がどの状態Sにいるか表す 信念状態(Belief State)を更新して学習に使う  有名な問題:Tiger(虎問題) - 左か右のどちらかのドアの向こうには虎がいて 開けるとマイナス報酬,もう片方は宝でプラス報酬 - 一度ドアを開けるとランダムで虎の位置初期化 - どちらにいるかわからない(真の状態が不明) - listenという行動をとると,75%の確率で虎のいる方から, 25%で虎のいない方から鳴き声が聞こえる - listenを使って信念状態(虎の位置)を更新できる  現在の深層強化学習では,RNN・LSTMを使って対応することが多い Shota Imai | The University of Tokyo 21
  22. 22. 強化学習の定式化 収益・目的関数 おさらい エージェントが環境内で得る報酬の総和𝑅𝑡(収益; return)を最大化する方策を学習する ことが強化学習の目的  単純な報酬和を取ると,無限ステップの行動で無限に報酬獲得が可能で発散してしまう ため,0〜1の割引率𝜸(discount factor)を導入して,以下の割引報酬和を考える - 割引率が小さいと短期的な収益,大きいと長期的な収益を重視  強化学習は,この収益に関連した目的関数を最大化する方策を学習する問題に帰着 - 具体的には,ある状態𝑠から方策𝜋に従って行動した場合に得る収益の期待値を示す価値関数 (Value Function)𝑽 𝝅 (𝒔)を,「方策の良さ」を示す目的関数として用いることが多い Shota Imai | The University of Tokyo 22 割引報酬和 𝑅𝑡 = 𝑟𝑡+1 + 𝛾𝑟𝑡+2 + 𝛾2 𝑟𝑡+3 … = 𝑘=0 ∞ 𝛾 𝑘 𝑟𝑡+𝑘+1 価値関数 𝑉 𝜋 (𝑠)=𝔼 𝑅𝑡+1 𝑆𝑡 = 𝑠]
  23. 23. 強化学習の定式化 価値関数と方策 方策を学習するための目的関数である価値関数と,方策の表現方法について整理  状態価値関数(Value Function):𝑉 𝜋(𝑠)=𝔼 𝜋 𝑅𝑡+1 𝑆𝑡 = 𝑠] - 一般的に価値関数とよばれているもの - ある状態𝑠から方策𝜋に従って行動した場合に得る収益の期待値  行動価値関数(Action Value Function): 𝑄 𝜋 = 𝔼 𝜋 𝑅𝑡+1 𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎] - ある状態𝑠で行動𝑎を選択して,そのあと方策𝜋したがって行動した場合に得る収益の期待値 - Q値,Q関数,または効用関数(Utility Function)とも呼ぶ  方策(Policy):𝜋(𝑠|𝑎) - ある状態𝑠で行動𝑎を選択する確率 - 行動価値関数をベースに表したり,関数近似でそのままパラメータ化したり様々  方策の種類 - Greedy方策(貪欲方策):ある状態で最も高いQ値を持つ行動を選択する決定的方策 - 𝝐 − 𝒈𝒓𝒆𝒆𝒅𝒚方策( 𝝐 貪欲方策):確率𝜖でランダムに行動し,それ以外でGreedy方策 - ソフトマックス方策:ギブス分布に従う方策𝜋 = exp(𝛽𝑞(𝑠,𝑎)) 𝑏∈𝐴 exp(𝛽𝑞(𝑠,𝑏)) (関数近似でよく使われる) 探索と活用のトレードオフを意識した方策が重要 Shota Imai | The University of Tokyo 23
  24. 24. 強化学習の定式化 ベルマン方程式  方策の目的関数である価値関数を最大化するため,価値関数が満たす式を明らかにする 必要がある  価値関数が満たす再帰的な式をベルマン方程式(Bellman Equation)という - ベルマン方程式は価値関数の定義から以下のようにして再帰的に導く 𝑉 𝜋 𝑠 =𝔼 𝜋 𝑅𝑡+1 𝑆𝑡 = 𝑠] = 𝔼 𝜋 𝑟𝑡+1 𝑆𝑡 = 𝑠] + 𝔼 𝜋 𝛾𝑟𝑡+2 + 𝛾2 𝑟𝑡+3 + 𝛾3 𝑟𝑡+4・・・ 𝑆𝑡 = 𝑠] 第一項: 𝔼 𝜋 𝑟𝑡+1 𝑆𝑡 = 𝑠] = 𝑎∈𝐴 𝜋(𝑎|𝑠) 𝑠′∈𝑆 𝑃 𝑠′ 𝑠, 𝑎 𝑟 𝑠, 𝑎, 𝑠′ 第二項:𝔼 𝜋 𝛾𝑟𝑡+2 + 𝛾2 𝑟𝑡+3 + 𝛾3 𝑟𝑡+4・・・ 𝑆𝑡 = 𝑠]= 𝑎∈𝐴 𝜋 𝑎 𝑠 𝑠′∈𝑆 𝑃 𝑠′ 𝑠, 𝑎 𝑉 𝜋 (𝑠′) 第一項と第二項をまとめて,価値関数𝑉 𝜋 𝑠 に関する以下の式を得る 行動価値関数も定義の𝑄 𝜋 = 𝔼 𝜋 𝑅𝑡+1 𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎]から同じようにして,以下の式を得る 24 ベルマン方程式 𝑉 𝜋 𝑠 = 𝑎∈𝐴 𝜋 𝑎 𝑠 𝑠′∈𝑆 𝑃(𝑠′ |𝑠, 𝑎) 𝑟 𝑠, 𝑎, 𝑠′ + 𝛾𝑉 𝜋 (𝑠′) 行動価値関数のベルマン方程式 𝑄 𝜋 = 𝑠′∈𝑆 𝑃 𝑠′ 𝑠, 𝑎 𝑟 𝑠, 𝑎, 𝑠′ + 𝛾 𝑎∈𝐴 𝜋 𝑎′ 𝑠 𝑄 𝜋 (𝑠′ , 𝑎′)
  25. 25. 強化学習の方策改善の流れ Shota Imai | The University of Tokyo 25  ベルマン方程式により,ある方策𝝅を固定したときの 様々な状態・行動に対する価値関数を具体的に求める ことが可能(方策の良さを計算可能)  つまり,ある方策で環境の状態行動遷移の価値関数を 計算(方策評価)→評価を受けて方策を改善・・・の 繰り返しで,続けて方策改善可能  方策改善のやり方で二つのやり方に分類 - プランニング:環境モデル(遷移確率)が既知で,状 態行動遷移対を網羅するように生成して価値関数の計 算→方策改善を繰り返す - 強化学習:環境モデルが不明で,環境内で方策を実行 して試行錯誤により集めた経験で価値関数計算→方策 改善を繰り返す 方策で環境内を探索 して経験集める or 環境モデルから状態 遷移を生成 価値関数計算 (方策評価) 評価に基づき 方策改善
  26. 26. プランニング  環境のモデルが既知の場合に,モデルを用いて最適方策を求める手法  環境モデルが既知とは - 環境のMDP(状態遷移確率,報酬関数)を使い,エージェント側で状態生成と行動実行,報酬獲得をできること (例:囲碁や将棋,内部プログラムがわかるゲーム等)  具体的なアプローチとしては最適化問題を分割して再帰的に解いてベルマン方程式の解 を求める動的計画法(Dynamic Programming; DP)を使うことが多い Shota Imai | The University of Tokyo 26 動的計画法の実装: 価値反復(Value Iteration) • 手順 1. 価値関数𝑉𝑘を定義 2. ベルマン方程式に従って価値を更 新し𝑉𝑘+1を得る 3. max 𝑠∈𝑆 |𝑉𝑘+1 − 𝑉𝑘|が閾値𝜖以下なら, greedy方策を求めて終了.それ以 外なら1~2を繰り返し 動的計画法の実装: 方策反復(Policy Iteration) • 手順 1. 方策𝜋 𝑘を固定 2. 方策𝜋 𝑘に従う行動価値𝑄 𝜋 𝑘を計算 (方策評価) 3. 𝜋 𝑘+1を𝑄 𝜋 𝑘に関してGreedyな方策 とする(方策改善) 以下,繰り返し Q学習やSARSAなどの強化学習アルゴリズムは環境モデルを持たず,探索から得た経験からDPを近似的に実行
  27. 27. モデルフリー強化学習とモデルベース強化学習 環境モデルの有無で,強化学習手法は以下の二つに分類可能  モデルフリー強化学習:環境モデルを持たず,環境から得たサンプルを使って方策学習  モデルベース強化学習:環境から得た経験で環境モデル自体を学習して方策改善に利用 Shota Imai | The University of Tokyo 27 モデルフリー強化学習 モデルベース強化学習 有名なアルゴリズム Q学習,SARSA, DQN,DDPG,R2D2等 有名なアルゴリズム AlphaGo, AlphaZero, Dyna,PILCO,MPC,R-max等 Sutton, 2018 http://incompleteideas.net/book/RLbook2020.pdf
  28. 28. テーブル形式の強化学習  方策学習のため環境内を探索して得た経験{𝑠𝑡, 𝑎 𝑡, 𝑟𝑡+1, 𝑠𝑡+1}を使って価値関数を推定する  このとき,価値関数は各状態の各行動(ここでは状態行動価値関数を想定)に対して値 を設定するため,ルックアップテーブルの関数とも呼ばれる  このように推定する価値関数をテーブル形式で表す手法をテーブル形式の強化学習, または単にテーブル形式手法とよぶ Shota Imai | The University of Tokyo 28 ルックアップテーブルで表現した推定行動価値関数 𝑄 𝜋 価値推定を行う環境
  29. 29. TD学習(Temporal-Difference Learning)  TD学習 - 強化学習で環境内で得た経験データ全てを蓄積して更新に用いるのは効率が悪い - ある時間ステップ𝑡で得た経験{𝑠𝑡, 𝑎 𝑡, 𝑟𝑡, 𝑠𝑡+1}を用いて価値関数を更新し,方策学習を行う手法  ある時間ステップ𝑡で得た経験で価値を更新する場合,以下のように定式化できる  アルゴリズムはTDターゲットの種類で分類される - Q学習:Yt = rt+1 + 𝛾max a 𝑄 𝜋 st+1, a′ 方策オフ型 - SARSA: Yt = rt+1 + 𝛾 𝑄 𝜋 st+1, 𝑎 𝑡+1 方策オン型 Shota Imai | The University of Tokyo 29 TD学習の更新式(行動価値を使う場合) 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 ← 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 + 𝛼𝛿𝑡 𝛿𝑡 = Yt − 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 𝜹 𝒕:時間的差分誤差(Temporal Difference Error)またはTD誤 差(TD Error).時刻tとt+1の予測値の差分(実際の報酬観測の 情報を含むt+1の情報の方がより正確) 𝒀 𝒕:TDターゲット(TD Target),ターゲット TD学習における教師信号の役割 𝜶:学習率 ※ 𝑄 𝜋などに付いている上部の「 ̂」は真の 価値関数ではなく,現在の推定価値関数で あることを示す
  30. 30. 方策オン(On-Policy) / 方策オフ(Off-Policy)  方策オン手法(On-Policy): - 改善しようとしている方策と同じ方策で得た経験で方策を改善する手法 - 更新前の昔の方策で集めたデータを学習に使えないため,サンプル効率は悪い - 同じ方策で得た経験で方策を改善するため,学習が安定している - SARSA,方策勾配法,後述の分散型深層強化学習手法A3Cなどはこの手法  方策オフ手法(Off-Policy) - 学習のために探索に使用している挙動方策(Behavior Policy)で得た経験を,改善対象の目的 方策(Target Policy)の改善に使える手法 - 昔の方策で集めた経験を学習に使えるため,サンプル効率がいい - 異なる方策で得たデータを学習に使うため,分散が大きく収束は遅い - Q学習や後述の経験再生を用いるDQNやその関連手法はこの手法 Shota Imai | The University of Tokyo 30
  31. 31. Q学習(Q-learning)  TD学習において,TDターゲットをYt = rt+1 + 𝛾max a 𝑄 𝜋 st+1, a′ とした手法 更新式: 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 ← 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 + 𝛼(rt+1 + 𝛾max a 𝑄 𝜋 st+1, a′ − 𝑄 𝜋 st, at ) - ターゲットは,greedy方策で最も高いQ値の行動をとったとしてmax a Q 𝜋 st+1, a′ を使う - 方策オフ型の手法 - おそらく一番有名な強化学習手法(まずはこれを覚えよう!) - 後ほど解説する深層強化学習のもっとも基本的な手法であるDQN(Deep Q-Network)もこの 手法を改良したもの  Q学習の更新式の導出(これは覚えなくてもいい) - 方策𝜋が最適方策𝜋∗のときの最適行動価値関数に関するベルマン方程式からターゲットを導出 - このとき,行動を方策𝜋で選択する部分は最もQ値が高い行動を決定的に選ぶmaxで置き換え 𝑄∗ = 𝑠′∈𝑆 𝑃 𝑠′ 𝑠, 𝑎 𝑟 𝑠, , 𝑎, 𝑎′ + 𝛾 𝑚𝑎𝑥𝑄 𝜋(𝑠′, 𝑎′) = 𝔼 𝑠′~𝑝 [ 𝑟 𝑠, 𝑎, 𝑎′ + 𝛾 𝑚𝑎𝑥𝑄 𝜋(𝑠′, 𝑎′) ] Shota Imai | The University of Tokyo 31
  32. 32. Q学習 / 実際にやってみる 32 現在「戦力中」にいるとし,攻め込むの行 動価値は3,戦力増強の価値は2なので, Greedy方策に従って,行動「攻め込む」を 選択 報酬は+4,現在の行動価値は 𝑄 𝜋 戦力中,攻め込む =3,学習率𝛼 =0.5,割引率𝛾 = 0.5とし,遷移先の戦力小において 最大の価値を持つ行動は「攻め込む」なのでmax a 𝑄 𝜋 st+1,a′ = 𝑄 𝜋 戦力小,攻め込む = 1となり,これをQ学習の更新式 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 ← 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 + 𝛼(rt+1 + 𝛾max a 𝑄 𝜋 st+1,a′ − 𝑄 𝜋 st, at ) に代入すると,右辺は, 3+0.5✖️(4+0.5✖️1-3)=3.75 よって,新しい行動価値 𝑸 𝝅 戦力中,攻め込む =3.75 𝝐 − 𝑮𝒓𝒆𝒆𝒅𝒚方策で,ラン ダム行動をしながらこの 手順を繰り返すと, ルックアップテーブルの 行動価値関数が収束して 正しい値になり,最適な 方策が求まる
  33. 33. SARSA  TD学習において,TDターゲットをYt = rt+1 + 𝛾Q 𝜋 st+1, 𝑎 𝑡+1 とした手法 更新式: 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 ← 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 + 𝛼(rt+1 + 𝛾 𝑄 𝜋 st+1, 𝑎 𝑡+1 − 𝑄 𝜋 st, at ) - この更新式では,状態行動対𝑠𝑡, 𝑎 𝑡と次の状態行動対𝑠𝑡+1, 𝑎 𝑡+1に遷移する場合に得られる5つの 要素{𝑠𝑡, 𝑎 𝑡, rt+1, 𝑠𝑡+1, 𝑎 𝑡+1}を使う →5要素の頭文字を取ってSARSAの名前がついた - Q学習と違いターゲットに現れるQ 𝜋 st+1, 𝑎 𝑡+1 の計算に方策で選択した実際の行動𝑎 𝑡+1を使う →更新対象の方策によって生成されたデータを方策改善に使う方策オン型の手法に分類  SARSAの導出 - 行動価値関数のベルマン方程式から導出可能 𝑄 𝜋 = 𝑠′∈𝑆 𝑃 𝑠′ 𝑠, 𝑎 𝑟 𝑠, , 𝑎, 𝑎′ + 𝛾 𝑎∈𝐴 𝜋 𝑎′ 𝑠 𝑄 𝜋(𝑠′, 𝑎′) = 𝔼 𝑠′~𝑝 𝑟 𝑠, , 𝑎, 𝑎′ + 𝛾𝔼 𝑠′~𝑝[𝑄 𝜋(𝑠′, 𝑎′)] Shota Imai | The University of Tokyo 33
  34. 34. TD(λ)/ 前方観測的な見方  1ステップの経験ではなく,複数nステップの経験を使って,収益(ターゲット)を求ること も可能  または,複数nステップの収益𝑌𝑡:𝑡+𝑛の重み付け平均値を用いる(例えば, 1 2 𝑌𝑡:𝑡+2 + 1 2 𝑌𝑡:𝑡+4)場合も,各収 益に対する重みの合計が1になるようにすることで可能  このやり方はある状態から前方,つまり未来の経験を使ったやり方なので前方観測的な見方 (forward view)と呼ぶ  このように𝜆を導入したTD法のアプローチを,後述の後方観測的な見方も含め𝑻𝑫(𝝀)法と呼ぶ Shota Imai | The University of Tokyo 34 nステップ打ち切り収益(n-step-truncated return) or nステップ収益(n-step return) 𝑌𝑡:𝑡+𝑛 = 𝑟𝑡+1 + 𝛾𝑟𝑡+2 + 𝛾2 𝑟𝑡+3 + ・・・ + 𝛾 𝑛 𝑉(𝑠𝑡+𝑛) 𝝀収益(𝝀 − 𝒓𝒆𝒕𝒖𝒓𝒏) 𝑌𝑡 𝜆 = (1 − 𝜆) 𝑛=1 𝑇−𝑡−1 𝜆 𝑛−1 𝑌𝑡:𝑡+𝑛 𝝀:トレース減衰パラメータ(trace-decay parameter)
  35. 35. TD(λ)/ 後方観測的な見方と適格度トレース  前方観測的なやり方では,現在の時刻tより未来の要素を使って更新を行おうとするため,価 値の更新に遅れが発生する →過去の要素を使って更新を行う後方観測的な見方(backward view)を導入  後方観測的な見方では,各状態sに関して,価値の更新を受ける「適格度」を示す要素である 適格度トレース(Eligibility Trace; エリジビリティ・トレース)を導入 (例えば,一度も訪問していない状態sに対しては価値の更新はしない,何度か訪問した状態に関しては信頼できるた め価値更新を大きくする,といった度合いを調整)  ある時刻の各状態sに対する適格度トレース𝑧𝑡,𝜆(s)は, 𝑧𝑡,𝜆(s)= 𝜏=0 𝑡 𝕀{𝑠 𝜏=𝑠} 𝜆𝛾 𝑡−𝜏 (𝕀{𝑠 𝜏=𝑠}は{}内が真なら1偽なら0を出力) と計算され,各状態sに対して, 𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿𝑧𝑡,𝜆(s) と更新する ※適格度トレースを使ったアプローチは理解が難しいので,例えば『強化学習(森村)』のp94〜p102,Suttonによる『強化学習(邦訳初版)』の適格度トレースの章を見たほうが よい(Sutton2版は関数近似を使った発展的なやり方が前半から出てくるため,むしろわかりにくい可能性あり) Shota Imai | The University of Tokyo 35 適格度トレースの訪問数による減衰のイメージ Sutton, 2018 http://incompleteideas.net/book/RLbook2020.pdf
  36. 36. テーブル形式学習の限界  状態数が多くなりすぎると,全ての状態行動対をテーブル形式で表現するのは難しい - 例1:ピクセル単位の移動で別の状態になるデジタルゲーム - 例2:連続値の状態入力がある実機制御  考えられる対策:人間が決めたやり方で状態を離散化し,状態空間を小さくする  欠点 - 区切り方は人間が決めるので,重要な状態の情報が落ちる可能性 - 隣り合う状態の類似性が無視されて個別に学習される Shota Imai | The University of Tokyo 36
  37. 37. 関数近似による強化学習  状態数が非常に多い課題でテーブル形式のやり方で価値などを管理すると,要素数が多 くなりすぎて学習が困難(例:ピクセル単位のズレで別の状態と認識されるデジタル ゲームなど)  入力から特徴抽出をして状態の類似性をとらえ,似た状態に対しては似た出力をしてく れるようなパラメータを持つ関数を学習することを考える →関数近似 Shota Imai | The University of Tokyo 37
  38. 38. いろいろな関数近似法 現在の強化学習の主要な課題は状態空間が極めて大きいものが一般的であるため, 大体の手法で関数近似を使う  方策の関数近似法の例 - 方策勾配法(Policy Gradients) - 自然勾配法(Natural Policy Gradients) - REINFORCE(モンテカルロ方策勾配法) - DPG(Deterministic Policy Gradients) - DDPG(Deep Deterministic Policy Gradients) - TRPO - PPO  価値関数の関数近似法の例 - Fitted Q Iteration - LSTD法,LSTDQ法,RLSTD法 - LSPI - GTD法 - Neural Fitted Q Iteration - Deep Q-Network,それ以降の派生手法 Shota Imai | The University of Tokyo 38 深層強化学習以後 深層強化学習
  39. 39. 方策勾配法(Policy Gradient Learning)とその利点 パラメータ𝜃の関数近似器(例えばニューラルネット )で方策を直接表現し, 方策パラメータ𝜃を勾配法により学習することを考える  行動価値を求めてから方策を表現する価値ベース手法の欠点 - 行動空間が連続の場合(行動候補が実機の制御値のように0.002451, 0.002452, 0.0024533…のように連続的な刻 み),ほぼ無限個の行動全てに対して状態行動価値を計算するのは難しく,最大の状態行動価値の行動選択不可 - 状態行動価値にハイパーパラメータ(例:𝜖 − 𝑔𝑟𝑒𝑒𝑑𝑦の𝜖 )を加えて確率的な方策にしているため, 人間の決め方によって結果が変わる  方策を直接求める方策ベースの手法(方策勾配)の利点 - 行動空間が連続的な場合でも,パラメータ化された方策を出力の制御値そのものとすることで, 行動を連続のまま扱える - 方策の確率的な部分を関数近似器の学習可能なパラメータでそのまま表現でき,ハイパーパラメータの 調整が必要ない Shota Imai | The University of Tokyo 39
  40. 40. 方策勾配法 / 方策勾配定理(Policy Gradient Theorem)  𝜃でパラメータ化された方策ベースの学習(方策勾配法)のやり方 →深層学習と同じように,パラメータ化された方策𝝅 𝜽からなる目的関数𝒇(𝝅 𝜽)(方策の良 さを表す)を定義し,その勾配をとって目的関数を最大化するパラメータを以下のように 更新すれば良い 𝜃 ← 𝜃 + 𝛼∇ 𝜃 𝑓(𝜋 𝜃) 上式の𝜵 𝜽 𝒇(𝝅 𝜽)を方策勾配とよぶ  実際には,上式の勾配を解析的には求められないため,以下のようなアプローチで計算 1. REINFORCE(モンテカルロ方策勾配法): 𝑄 𝜋 𝜃 (𝑠, 𝑎)を収益𝑅で置き換える 2. アクター・クリティック:価値ベース法のように行動価値𝑄 𝜋 𝜃 (𝑠, 𝑎)の関数近似器を使う Shota Imai | The University of Tokyo 40 • 方策勾配定理 方策勾配∇ 𝜃 𝑓(𝜋 𝜃)は以下の形で求めることができる ∇ 𝜃 𝑓(𝜋 𝜃)=𝔼 𝜋 𝜃 [∇ 𝜃 log 𝜋 𝜃 𝑎 𝑠 𝑄 𝜋 𝜃 (𝑠, 𝑎)]
  41. 41. REINFORCE(モンテカルロ方策勾配法)  方策勾配の式中の𝑸 𝝅 𝜽 (𝒔, 𝒂)を探索で得た収益𝑹で置き換える,一番単純な実装法  実際には収益の分散が大きいため,そのままRを使うのではなく,ベースラインと 言われる定数𝒃を引いた(𝑹 − 𝒃)を使う (ベースラインを引いても勾配の期待値には影響しない) よって,方策勾配∇ 𝜃 𝑓(𝜋 𝜃)の中にある行動価値関数𝑄 𝜋 𝜃 (𝑠𝑡, 𝑎 𝑡)を(𝑅𝑡 − 𝑏(𝑠𝑡))で置き換え た方策勾配法の更新式は以下のようになる 𝜃 ← 𝜃 + 𝛼 1 𝑇 𝑡=0 𝑇 (𝑅𝑡−𝑏 𝑠𝑡 )∇ 𝜃 log 𝜋 𝜃(𝑠𝑡, 𝑎 𝑡) ここで,収益𝑅𝑡は,ある探索したエピソードの状態行動遷移列 [𝑠0, 𝑎0, 𝑟𝑡+1, 𝑠1, … , 𝑠 𝑇−1, 𝑎 𝑇−1, 𝑟𝑇, 𝑠 𝑇]を使って以下のように計算する 𝑅𝑡 = 𝑘=𝑡 𝑇−1 𝑟𝑘 また,ここではベースライン𝑏 𝑠𝑡 として,平均報酬を用いた Shota Imai | The University of Tokyo 41
  42. 42. アクター・クリティック(Actor-Critic)  方策モデルと並行して,行動価値関数を近似する価値表現モデルも同時に学習し,方策 勾配の計算に使う手法 ※正確には,方策勾配を計算する場合に限らず,方策改善に価値評価を使う手法全般を指す  方策を表現するモデルをアクター(Actor),価値を表現するモデルをクリティック (Critic)と呼ぶことからこの名前が付いている  方策勾配の式中の𝑄 𝜋 𝜃 (𝑠, 𝑎)を,パラメータ化されて学習を行う価値関数近似器で 置き換える手法といえる  近年主流の深層強化学習で方策ベースの学習を行う場合,このアクター・クリティック を使うことが多い - DPG(Deterministic Policy Gradient) - DDPG(Deep Deterministic Policy Gradient) - A3C(Asynchronous Advantage Actor-Critic ) - SAC(Soft Actor-Critic) などいろいろ Shota Imai | The University of Tokyo 42 Sutton, 2018 http://incompleteideas.net/bo ok/RLbook2020.pdf
  43. 43. 方策勾配法の発展的手法 DPG DDPG, TD3  DPG(Deterministic Policy Gradient) - 方策が確率的ではなく,パラメトライズされた決定論的な方策𝜇 𝜃の場合にも成立する決定的方策勾配(DPG)が あることを示した - オフポリシーでも学習可能な方策勾配法 ∇ 𝜃 𝐽 𝜇 𝜃 = 𝔼 𝑠~𝑝 𝜇[∇ 𝜃 𝜇 𝜃 𝑠 ∇aQ 𝜇 𝑠, 𝑎 𝑎=𝜇 𝜃 𝑠 ]  DDPG(Deep Deterministic Policy Gradient ) - DPGの方法論を深層ニューラルネットワークを使って実現した手法 - オフポリシー手法であるため,後述のリプレイバッファを用いて大量の経験データを使い,決定論的方策を表す ネットワークの学習が可能 - Criticネットワークの出力𝑄(𝑠, 𝑎|𝜃 𝑄 )とActorネットワークの出力𝜇(𝑠|𝜃 𝜇 )を使い,リプレイバッファからサンプル したN個の経験データにより以下のように勾配計算 ∇ 𝜃 𝐽 𝜇 𝜃 ≈ 1 𝑁 𝑖 ∇aQ 𝜇 𝑠, 𝑎|𝜃 𝑄 𝑠=𝑠 𝑖,𝑎=𝜇 𝑠 𝑖 ∇ 𝜃 𝜇 𝜇 𝑠 𝜃 𝜇 𝑠 𝑖  TD3(Twin Delayed DDPG) - 決定論的方策勾配法の学習でも,後述のDQNと同じように価値の過大評価が起きていると考え, これを実験的に示した後に,DDPGを改良したアルゴリズムTD3を提案 - 二つの価値関数で価値の過大評価を抑制するClipped Double Q-Learning,価値の更新を何回か 行った後に方策を更新するDelayed Policy Update,価値を推定する行動にノイズを与えるTarget Policy Smoothingを導入してDDPGを改善 Shota Imai | The University of Tokyo 43
  44. 44. 方策勾配法の発展的手法 TRPO, PPO  TRPO(Trust Region Policy Optimization) - 方策勾配による方策の更新に制約を課して,単調向上が保証された区間(Trust Region)の範 囲でのみ更新するようにした - 具体的には,更新前の方策の分布と更新後の方策の分布のKLダイバージェンス(分布間の距 離)を𝛿以下にする制約をつけて方策を改善  PPO(Proximal Policy Optimization) - TRPOを改良した手法で,より実装を単純にし,強力にしたもの - 更新前の方策と新しい方策の確率密度比が,ある値1 − 𝜖, 1 + 𝜖の範囲に収まるよう制約をかけ て学習 Shota Imai | The University of Tokyo 44
  45. 45. 方策勾配法の発展的手法 SAC(Soft Actor-Critic)  SAC(Soft Actor-Critic) - 既存のアルゴリズムは,サンプル効率が悪い(オフポリシーでは昔の経験が使えない等), - 学習の収束が安定しないなどの問題があった - SACでは,1)オフポリシー(つまり昔の経験も含めて大量のサンプルが学習に使える)かつ, 2)目的関数に,方策のランダム具合を表すエントロピー項も導入することで,多様な探索を実 現する,という工夫で,難しい制御タスクでも高パフォーマンスに Shota Imai | The University of Tokyo 45 SACの目的関数: エントロピー項 • 目的関数の最大化には,エントロピー 項を大きくすることも含まれる • 方策のエントロピーが大きくなる →より多様な探索を実現 SACの学習結果(オレンジ).多くの制御タスクでPPO,DDPG,TD3を上回る
  46. 46. 第二部:深層強化学習 46
  47. 47. 第二部で解説する強化学習の主要アルゴリズム Shota Imai | The University of Tokyo 47
  48. 48. 深層強化学習(Deep Reinforcement Learning; DRL) Shota Imai | The University of Tokyo 48  現在,画像識別や,機械翻訳などの分野で,人を超える性能を発揮している 深層ニューラルネットワークによる深層学習(ディープラーニング; Deep Learning)を 強化学習にも適用  深層ニューラルネットワークの持つ高い関数近似能力によりエージェントの観測から 価値関数や方策を表現する  他の深層学習手法と同様に,ReLUやシグモイド関数のような活性化関数,損失関数を 定義してSGD,Adam,RMSProp等の最適化,誤差逆伝播による学習を行う  一般的にはDQN(Deep Q-Networks)以降に登場したニューラルネットワーク を使った手法全般を指す(それより前のNeural Fitted Q Iterationを含むことも) 入 力 出 力 ゲーム画面 物体制御の各部位の状態 状態行動価値𝑄(𝑠, 𝑎) 方策𝜋(𝑎|𝑠) など
  49. 49. さまざまな工夫によりゲーム攻略において人間を超えるスコアを出した初代深層強化学習 Deep Q-Networks(DQN)  深層学習ブームの中,2013年(Nature版は2015)に発表され,ゲーム攻略で人間以上の パフォーマンスを出した,深層強化学習アルゴリズムの祖といえる手法  既に画像認識で使われていた畳み込み処理をニューラルネットのアーキテクチャに採用 し,経験再生,ターゲットネットワークの使用,報酬のクリッピングなど,様々な工夫 により深層ニューラルネットワークを強化学習の関数近似器として使う手法の スタンダードを確立  ゲームの画像をネットワークへの入力とし,Q学習で使っていたQ値(状態行動価値)を 適切に出力するようにTD誤差から深層ニューラルネットワークを学習する,Q学習や SARSAと同じ価値ベースの手法 Shota Imai | The University of Tokyo 49
  50. 50. DQNの学習  ある状態の入力𝑠を入力したとき,その状態で可能な各行動𝑎の状態行動価値を出力する ような,パラメータ𝜃を持つ深層ニューラルネットワーク𝑄(𝑠, 𝑎; 𝜃)を考える  Q学習のQ値の更新式を一般的な深層学習で行うパラメータ更新の式に改良し,目的変数 (ターゲット)から損失関数を定義して勾配を求め,確立的勾配降下法で学習する 元のQ値 の更新式 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 ← 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 + 𝛼(rt+1 + 𝛾max a Q 𝜋 st+1, a′ − Q 𝜋 st, at ) ターゲット(普通の深層学習における正解データ)を以下のように定義する 𝑌𝑡 = rt+1 + 𝛾max a 𝑄 st+1, a′ ; 𝜃− そして,以下の二乗誤差の損失関数𝐿(𝜃)の最小化を行う 𝐿 𝜃 = 𝔼[ 𝑌𝑡 − 𝑄 𝑠𝑡, 𝑎 𝑡; 𝜃 2 ] あとはこの損失関数を𝜃で微分し,普通のニューラルネットと同じようにパラメータ更新 ∇ 𝜃 𝐿 𝜃 = 𝔼[(𝑌𝑡 − 𝑄(𝑠𝑡, 𝑎 𝑡; 𝜃))∇ 𝜃 𝑄(𝑠𝑡, 𝑎 𝑡; 𝜃))] Shota Imai | The University of Tokyo 50 ←なぜここが𝜃でなくて𝜃− なのかは後ほど説明
  51. 51. DQNの工夫 / ターゲットネットワーク(Target Network)の使用  Q 学習の更新式では,状態遷移時に得た報酬𝑟𝑡に,遷移先の 状態で最も高い値を持つ行動のQ値をテーブルから選択し, ターゲットとした 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 ← 𝑄 𝜋 𝑠𝑡, 𝑎 𝑡 + 𝛼(rt+1 + 𝛾max a Q 𝜋 st+1, a′ − Q 𝜋(st, at) 𝐿 𝜃 = 𝔼[ 𝑌𝑡 − 𝑄 𝑠𝑡, 𝑎 𝑡; 𝜃 2 ]  テーブルのない深層強化学習ではどうやってターゲットを 計算する? →次の状態𝒔 𝒕+𝟏を深層ニューラルネットワークに入力し, 最大Q値を持つ行動のQ値を選択 欠点:状態行動価値𝑄(𝑠𝑡, 𝑎 𝑡; 𝜃)を求めるのに使う𝜃をターゲッ トの出力にも使うと,予測値と正解データを同じモデルで出 力することになり,学習が安定しない →ターゲットを求めるため,更新前のパラメータ𝜃−をコピー したターゲットネットワーク(Target Network)を使用 Shota Imai | The University of Tokyo 51 Q学習のターゲット DQNのターゲット: 𝑌𝑡 = rt+1 + 𝛾max a 𝑄 st+1, a′ ; 𝜃− 𝐿 𝜃 = 𝔼[ 𝑌𝑡 − 𝑄 𝑠𝑡, 𝑎 𝑡; 𝜃 2 ] 𝑠𝑡 st+1 𝑌𝑡 = rt+1 + 𝛾max a 𝑄 st+1, a′ ; 𝜃− 古いパラメータ𝜽− に固定 されたターゲットネット ワーク 最新パラメータ𝜽を持つ ネットワーク
  52. 52. DQNの工夫 / 経験再生(Experience Replay)  リプレイバッファ(Replay Buffer)と呼ばれる機構に,環境内を探索して得た複数の 経験(𝑠𝑡, 𝑎 𝑡, 𝑟𝑡+1, 𝑠𝑡+1 )を保存し,深層ニューラルネットワークのバッチ学習を際に, このバッファからランダムに複数の経験を選択してミニバッチ学習=経験再生を行う  ここまで扱ってきたQ学習やSARSAなどの強化学習では,一度環境内で行動して得た 経験を一度だけのQ値の更新に使っていたが,DQNではすぐにQ値の更新に使わず,保存 しておいて後から使用  今までの強化学習における経験の使い方の問題 1. 一般的な確率的勾配降下法(SGD)で前提としているサンプル間の独立性が,時系列的な相関によって壊れる 2. 極めてレアな経験があったとしても,それを後で使えず捨ててしまう 52 𝑠1, 𝑎1 𝑟2, 𝑠2 𝑠2, 𝑎2 𝑟3, 𝑠3 ・・・ 𝑠𝑡, 𝑎 𝑡, 𝑟𝑡+1, 𝑠𝑡+1 経験(𝑠𝑡, 𝑎 𝑡, 𝑟𝑡+1, 𝑠𝑡+1) 行動:𝑎 𝑡 (ネットワークの出力から選択) 次の状態:𝑠𝑡+1 (次の時刻のネットワークの入力) 環境 深層ニューラルネット 経験再生 リプレイバッファからランダムサンプ リングした経験のミニバッチから損失 𝐿 𝜃 = 𝔼[ 𝑌𝑡 − 𝑄 𝑠𝑡, 𝑎 𝑡; 𝜃 2 ] を計算して学習 リプレイバッファ
  53. 53. DQNの工夫 / 畳み込みニューラルネットワーク(Convolutional Neural Network; CNN)の利用  人間の視覚に着想を得た畳み込み処理の機構をニューラルネットワークに使うことで, 画像認識でのブレークスルーのきっかけとなった畳み込みニューラルネットワーク (Convolutional Neural Network; CNN)を使用  機械にとっては,画像はRGBの数字の羅列だが,CNNにより強化学習の制御に必要な  画像上の重要特徴(敵,障害物の位置等)を捉えることができるようになった  従来のニューラルネットを使う強化学習では,画像をそのまま入力してもうまくいかず, 人が入力する特徴量を設計したり,別の機械学習モデル(オートエンコーダ)で得た低 次元特徴を入力して無理やり成功させていた(Neural Fitted Q Iterationなど) ※現在の深層強化学習では,CNNの発展系であるResNet等も使われる Shota Imai | The University of Tokyo 53 LeCun, Yann, et al. "Gradient-based learning applied to document recognition." Proceedings of the IEEE 86.11 (1998) 2278-2324.
  54. 54. 報酬のクリッピング  強化学習の課題となるゲームなどでは,アイテム獲得,敵を倒す,ゴールするなどで 得る様々なスコアを報酬とする  このスコアの値をそのまま報酬にした場合,課題によって他の学習機構をゲームに 合わせて毎回調整する必要が出てくる →全ての報酬を-1〜1の範囲におさめる Shota Imai | The University of Tokyo 54 報酬:-1〜1
  55. 55. 深層強化学習のベンチマーク Atari2600  強化学習では,より汎用的な性能を図るため,様々な動作が要求されるベンチマーク 環境で性能を図るのが望ましい  DQN発表前に,ALE(Arcade Learning Environment)という,レトロゲーム Atari2600のいくつかのゲームの学習環境が提案された  DQNでは横スクロール,シューティング,迷路攻略など,様々な動作が要求さるゲーム 49種類をベンチマークとした(なお選び方は適当) →この49ゲームに8個を加えた計57個のゲームは現在まで使用される,深層強化学習の 標準ベンチマーク Shota Imai | The University of Tokyo 55 • ALEのAtari環境は,強化学習環境を提供する ライブラリOpenAI gymで提供されており, 誰でもインストールして使用可能 • pip install gym, pip install “gym[atari]”で簡単 にインストール可(colabなどでは最初から 入っている) あとは, import gym env = gym.make(Breakout-v0) などとして,コードから環境作成
  56. 56. DQNの性能  ALEの49ゲームを使って, DQNの性能を評価  「プロフェッショナル」の 人間のゲームスコア(2時 間練習して5分のゲームプ レイを20回やったスコアの 平均)をどれだけのゲーム で,どれだけ大きく超えら れるかが重要  DQN以降,57ゲーム中い くつのゲームで人間超えを できるかが,強化学習の重 要な指標 Shota Imai | The University of Tokyo 56
  57. 57. DQN以降の発展  DQN +α←いまここ - Double DQN - Prioritized Experience Replay - Dueling Network - Categorical DQN(C51) - Noisy Network - Rainbow  分散型強化学習 - Gorila - A3C(A2C) - Ape-X - R2D2  内発的報酬の利用 - Count-Based - Pseudo Count-Based - Prediction Error  様々な要素を組み合わせた最新アルゴリズム - World Models - SimPLe - MuZero - NGU - Agent57 Shota Imai | The University of Tokyo 57
  58. 58. ここから解説するアルゴリズム / DQN +α Shota Imai | The University of Tokyo 58
  59. 59. 行動価値の過大評価による学習失敗を防ぐため,行動選択と行動の価値評価に使うネットワーク分離 Double DQN  Q学習やDQNなど,予測値の教師信号であるターゲットを求めて,予測値との誤差を小 さくするように学習するアルゴリズムでは,価値の過大評価による学習阻害の問題あり  これに対処するため,二つの関数近似器を用いて,「行動選択」と「価値評価」を行う 部分に分ける手法(Double Q-Learning)をDQNにも適用  具体的には,最大のQ値を持つ行動はパラメータ𝜽の現在のネットワークで選び,同じく 𝑠𝑡+1を入力とするターゲットネットワークで選んだ行動の価値を評価 DQNのターゲット:𝑌𝑡 𝐷𝑄𝑁 = rt+1 + 𝛾max a Q 𝜋 st+1, a′; 𝜃− DDQNのターゲット: 𝑌𝑡 𝐷𝑜𝑢𝑏𝑙𝑒𝐷𝑄𝑁 = rt+1 + 𝛾𝑄𝑡𝑎𝑟𝑔𝑒𝑡(𝑠𝑡+1, arg max 𝑎 𝑄 𝑠𝑡+1, 𝑎; 𝜃 ; 𝜃− ) 直感的には,二つのネットワークがどちらも価値評価を大きく間違える可能性は低いため, 仮に片方が価値の過大評価をしていても,違うパラメータを持つもう片方が正しい評価を していれば,それを抑制できるということ Shota Imai | The University of Tokyo 59 ターゲットネットワーク による行動価値評価 最新のネットワークによる 最大のQ値を持つ行動選択
  60. 60. Double DQNの効果  普通のDQNと,Double DQNで,一部ゲームの価値評価のズレと,実際に得られる報酬 の量を比較  DQNの方は学習を通して,価値を必要以上に高く評価  一方,DoubleDQNは価値評価を抑えて,本当の価値に近い推定  正確な価値評価を行うDouble DQNの方が高い性能 Shota Imai | The University of Tokyo 60
  61. 61. Double DQNのAtari57ゲームにおける評価  Double DQNから,現在の標準となる 57ゲームで評価  基本的にはDouble DQNの方がDQNよ り高性能 Shota Imai | The University of Tokyo 61
  62. 62. リプレイバッファ内の経験に優先度を付け,学習効果が高い経験再生 Prioritized Experience Replay  元のDQNでは,経験再生時にリプレイバッファに貯めた過去の経験からランダムサンプ リングをして学習  しかし,実際には経験データの中には学習効果が高い経験とそうでない経験が混ざって いるはずであり,学習効果が高い経験を優先的に学習に使いたい  Prioritized Experience Replay(優先度付き経験再生)では,各経験データに対して,TD 誤差が高いもの(=損失が大きくなるデータ)に対し大きい優先度を割り当てるよう,以 下のように優先度𝑝𝑖を付ける 𝑝𝑖 = |𝑟𝑡 + 𝛾max 𝑎 𝑄𝑡𝑎𝑟𝑔𝑒𝑡 𝑠𝑡+1, 𝑎 − 𝑄(𝑠𝑡, 𝑎 𝑡)| そして,𝑖番目の経験に対して,優先度が高いものが優先的に選択されるよう,選択確率を 以下のように計算する 𝑃𝑖 = 𝑝𝑖 𝛼 𝑗 𝑝𝑖 𝛼 (𝛼は優先度の程度を決めるハイパーパラメータ) Shota Imai | The University of Tokyo 62
  63. 63. Prioritized Experience Replay 優先度を付ける場合のバイアスへの対処  優先度を付けて経験をサンプリングすることで,経験データの分布に偏りを与えること によるバイアスが発生する  このバイアスにより,学習の収束解に変化が生じてしまう →バイアスへの対処として重点サンプリング(Importance Sampling)の導入 具体的には,損失に対して以下のように計算する重み係数をかける 𝑤𝑖 = 𝑁・𝑃 𝑖 −𝛽 max j wj - ここで,𝑁はリプレイバッファの大きさ(経験の保存量),𝛽はハイパーパラメータで, 𝛽 = 1 で本来の意味でのバイアス修正が可能だが,学習が進むにつれて0〜1まで補正量を増やす(ア ニーリング) - 学習の安定性のため,最大の重みmax j wjで正規化している Shota Imai | The University of Tokyo 63
  64. 64. DQN, Double DQNとの比較  DQNやDDQNとAtari57ゲームのスコア で比較 ※rank-basedはTD誤差の大きさの順位で優先度付けを行ったもの proportionalが先ほどまでで解説したもの  全体的に,Prioritizedのproportional が高パフォーマンス Shota Imai | The University of Tokyo 64
  65. 65. 状態行動価値を状態のみに依存する部分とそうでない部分に分離 Dueling Network  深層強化学習でネットワークが出力する状態行動価値 は,状態のみに依存する部分と,それ以外の行動で決 まる部分に分解できると考えられる  障害物を避けるゲームで,障害物がまったくないとこ ろを移動しているときは,どう動いても大して結果は 変わらないため,このような時の状態行動価値はほぼ 状態に依存する価値で構成  このような場合,行動で決まる部分を学習してもあま り意味がなく,従来のネットワークの構造では行動の 候補数が多いほど無駄な学習が発生してしまう  加えて,状態行動値の絶対値が大きく,各行動の価値 の差は小さい場合には,少量のノイズで最大の行動価 値が入れ替わってしまう  Dueling Networkでは,ネットワークの出力部分を以下 のように状態のみに依存する価値𝑉 𝑠 を出力する部分 と,行動で決まる価値𝑨 𝒔, 𝒂 (アドバンテージ)を 出力する部分を分けて学習効率化 𝑄 𝑠, 𝑎 = 𝑉 𝑠 + 𝐴 𝑠, 𝑎 Shota Imai | The University of Tokyo 65 𝑄 𝑠, 𝑎 𝐴 𝑠, 𝑎 𝑉 𝑠 𝑄 𝑠, 𝑎 通常のDQN Dueling Network 通常のDQNと同じ部分 Dueling Networkで 出力を分離した構造
  66. 66. Dueling Network / 可視化による直感的理解  AtariのレースゲームEnduroで状態価値とア ドバンテージがどのように分離されているか 可視化  障害物がない場合(上)では,障害物(対向 車)がいないため,状態価値のネットワーク は対向車が現れる方向に注意を払うものの, アドバンテージのネットワークは,何をして も変わらないため,特に注意がない  一方,障害物がある場合(下)では,行動の 選択が重大な影響を及ぼすため,アドバン テージのネットワークは障害物に反応 Shota Imai | The University of Tokyo 66
  67. 67. Dueling Network / 実装上の計算 ネットワークの共通部分のパラメータを𝜃, 状態依存の価値出力の部分をパラメータ𝛽,行 動価値の部分をパラメータ𝛼で表すと,状態行動価値を表す式は以下のように書ける 𝑄 𝑠, 𝑎; 𝜃, 𝛼, 𝛽 = 𝑉 𝑠; 𝜃, 𝛽 + 𝐴 𝑠, 𝑎; 𝜃, 𝛼  ただし,ネットワークの出力を𝑉 𝑠; 𝜃, 𝛽 と𝐴 𝑠, 𝑎; 𝜃, 𝛼 に分けても,これらは単なるパラ メータ化された推定値であり,上式のような分解は直ちに成立するわけではない  価値を分解する計算上のいくつかの制約を満たすため,最終的な𝑄 𝑠, 𝑎 の出力は以下の ように計算する 𝑄 𝑠, 𝑎; 𝜃, 𝛼, 𝛽 = 𝑉 𝑠; 𝜃, 𝛽 + 𝐴 𝑠, 𝑎; 𝜃, 𝛼 − 1 |𝐴| 𝑎′ 𝐴 𝑠, 𝑎′; 𝜃, 𝛼 Shota Imai | The University of Tokyo 67
  68. 68. Dueling Networkの性能  Prioritize Experience ReplayにDueling Networkのアーキテクチャを加えたものが, Atari57ゲームで大きな性能改善  Dueling NetworkのときからHumanで使われているスコアが更新され,2020年現在まで 使われている Shota Imai | The University of Tokyo 68
  69. 69. ただの期待収益ではなく収益の分布を予測する Categorical DQN(C51)  今までの手法では,ネットワークの予測はただ一つの未来の期待報酬を予測していた  しかし,ある行動をしたときにどれくらいの確率でどれくらいの報酬を得られるかを 示す分布をモデル化することで,学習に有用な表現を学習できると考えられる  従来の研究では,収益を分布で予測することで危険な行動選択を避けるリスク考慮型 強化学習という手法で,分布型強化学習(Distributional Reinforcement Learning)と して用いられてきた ※後述の分散型強化学習(“Distributed” Reinforcement Learning)とは違うので注意) Shota Imai | The University of Tokyo 69 入 力 出 力 各行動の 𝑄(𝑠, 𝑎) 入 力 出 力 ある行動を選択した場合の 収益の分布 従来の深層強化学習 Categorical DQN
  70. 70. Categorical DQN / 出力の離散分布の求め方 計算機で扱いやすいよう,出力となる状態行動価値の分布を離散化して扱う 1. あらかじめ,ハイパーパラメータとなるビン数𝑁と出力の最大値𝑉𝑚𝑎𝑥,最小値𝑉 𝑚𝑖𝑛を決 めておき,以下のようにビン間隔を計算 ∆𝑧 ≔ 𝑉𝑚𝑎𝑥 − 𝑉 𝑚𝑖𝑛 𝑁 − 1 2. 次に,各区切りの中で確率を出力する収益の代表値(Support)を以下のように決める 𝑧𝑖 ≔ Vmin + i∆𝑧 ∶ 0 < i < N 3. 各収益𝑧𝑖に対応するM次元ベクトル[𝑞1(𝑠, 𝑎), … , 𝑞 𝑀(𝑠, 𝑎) ]を出力するネットワークを用い て,離散分布𝑝𝑖(𝑠, 𝑎)を以下のように計算 𝑝𝑖 = exp(𝑞 𝑚(𝑠, 𝑎)) 𝑚=1 𝑀 exp(𝑞 𝑚′(𝑠, 𝑎)) Shota Imai | The University of Tokyo 70 出力する分布の例 • 各色は各行動(例えば黄:右に動く,緑:左に動く,紫:何 もしない)の分布に対応する • 各行動をどれくらいの確率でとるか,ではなく,各行動を とった場合に獲得できる収益の確率分布を出力していること に注意
  71. 71. Categorical DQN / 学習のやり方  先ほど求めた予測収益分布のターゲットとなる分布を求め,KL距離などから分布の差を 小さくするように予測分布を出力するネットワークの学習を行う  ターゲットとなる分布は,分布ベルマン作用素(Distributional Bellman Operator)を元 の出力分布に適用して得る  この辺の範囲は理論的にかなり込み入った話になるため,詳しくは 『機械学習プロフェッショナルシリーズ 強化学習(森村)』等を参照 Shota Imai | The University of Tokyo 71
  72. 72. Categorical DQNの性能とビン数の関係  出力となる離散分布をどれだけ詳細に求めるか(=区切りとなるビン数をどれだけ大き くするか)によって,Atariにおける性能が大きく変化する  実験からは,離散分布のビン数を51にしたものが最も高性能なことを確認  このことから,ビン数を51に固定して最高性能を発揮できるようにしたCategorical DQNをC51とも呼ぶ Shota Imai | The University of Tokyo 72
  73. 73. Categorical DQN(C51)の性能  ビン数を51にしたCategorical DQN(C51)をAtari57 ゲームで今までの手法と比較  Prioritized Experience Replay+Dueling Netよりもか なり高い性能を発揮 Shota Imai | The University of Tokyo 73
  74. 74. 探索を促進するためネットワークに学習可能なノイズを与え,効率的に探索方向を変える Noisy Network  DQNでは,各ステップで状態を入力したときの最大価値行動または 𝜖 − 𝑔𝑟𝑒𝑒𝑑𝑦法のように確率𝜖でランダムな行動を選択して探索し,経験データを集める  しかし,このやり方では各行動ステップで独立なランダムの摂動に依存しており,本当 に大規模な探索をするには単調すぎる →一貫して探索を偏った方向に変えるため,深層ニューラルネットワークのパラメータ そのものに対してノイズを与えることで,出力に対して長期の影響を与える 具体的には,以下の図のように,ネットワークの最終層の重みパラメータ𝜇 𝜔 とバイアス𝜇 𝑏 に対して,以下のようにノイズパラメータ𝜖とノイズの強さを調節するパラメータ𝜎の積を とったものを加算する Shota Imai | The University of Tokyo 74
  75. 75. Noisy Network / DQNへの適用  今まではDQNで探索を行う際,𝜖 − 𝑔𝑟𝑒𝑒𝑑𝑦探索を行なっていたが,Noisy Networkを適 用した場合は, 𝜖 − 𝑔𝑟𝑒𝑒𝑑𝑦探索を行わず,ノイズによる探索のみに置き換える  探索時に状態行動価値を出力するネットワークには,各ステップごとにノイズを与える  損失の計算時には,ターゲットネットワークにもノイズを加えて出力する ここで,各ステップでノイズパラメータ𝜖,損失計算時にターゲットに損失パラメータ𝜖′を 与えるときの損失は以下のように計算する その他,Dueling Networkや後述のA3Cにノイズを与える場合もあり,いずれも性能の向上 が確認されている(ここでは割愛) Shota Imai | The University of Tokyo 75
  76. 76. Noisy Networkの性能  DQN, Dueling, A3Cいずれにノイズを 与えた場合にも性能は向上 Shota Imai | The University of Tokyo 76
  77. 77. すべてのDQN拡張手法を組み合わせた全部混ぜ深層強化学習 Rainbow  DQNに対し,ここまで解説してきたDouble DQN, Prioritized Experience Replay, Dueling Networks, Categorical DQN, Noisy Network, これに加え,後ほど解説する A3Cのマルチステップ学習を取り入れた,全部混ぜアルゴリズム  ここまで解説したアルゴリズムを大きく超え,この論文発表時点ではAtari57ゲームで 最高の性能を発揮  また,上記の拡張手法のどれが一番パフォーマンス改善に影響があるかも分析 Shota Imai | The University of Tokyo 77 Rainbow + + + + + + Double DQN Prioritized Experience Replay Dueling Networks Categorical DQN Noisy Network Multi-Step Learning DQN
  78. 78. Rainbow / どの手法が効いているのか  各手法を個別にオフにした場合Rainbowのパフォーマンスがどれくらい変化するか分析  マルチステップ学習とPrioritized Experience Replayはオフにするとパフォーマンスが大 きく低下するため,貢献が大きい  Double DQNやDueling Networkは影響が小さい  Noisy NetworkやDistributional(Categorical DQN)をオフにすると,学習前半はあまり影 響がないが,後半にパフォーマンス低下 78 各手法をオフにした場合の学習曲線 各手法をオフにした場合の最終パフォーマンスをDQN, フルRainbowと比較
  79. 79. Rainbow / 全体的なパフォーマンス  人間と比較した場合のゲーム全体のパフォーマンスで は,2mフレームで,200m学習したDQNの最高点 まで到達  各ゲーム単体でみても,ほとんどのゲーム(28個) で,最高の性能  「全部組み合わせたら最強のアルゴリズムになった」 というシンプルな結論 Shota Imai | The University of Tokyo 79
  80. 80. ここから解説するアルゴリズム / 分散型深層強化学習 Shota Imai | The University of Tokyo 80
  81. 81. 分散型深層強化学習 (Distributed Deep Reinforcement Learning)  ここまでで紹介したアルゴリズムは,1つの深層ニューラルネットワークに一つの エージェントが対応し,一つの環境から経験を集める方式だった  しかし,深層学習で使えるCPUやGPU等の計算資源は「その気になれば」複数用意 (CPUなら一台のPCでも複数)でき,これら全ての計算資源を使えばさらに学習を 効率化できそう  深層強化学習でも各機構を複数計算機に分散させて学習を効率化 →分散型深層強化学習(Distributed Deep Reinforcement Learning) Shota Imai | The University of Tokyo 81 分散型深層強化学習のアーキテクチャの一例 ※実際にはCPUの数が数百に達することも
  82. 82. 並列の複数環境を探索して経験を集めて深層強化学習 Gorila(General Reinforcement Learning Architecture) Shota Imai | The University of Tokyo 82  DQNの登場後,すぐに考案された最初期の分散型深層強化学習アーキテクチャ  DQNを拡張し,並列環境から経験を集めるActorと,経験から勾配を計算するLearner, パラメータと勾配の情報を保存するParameter Serverに分けて学習する 分散型アーキテクチャにした手法  ざっくりというと,コンピュータ内の計算資源をフルに使い,学習を行う(損失を計算 する)部分と並列で環境から経験を集める部分を分け,それぞれ複数並列実行したら早 く学習できる,という発想  現在は,もっと計算効率のよい後述の手法が主流 通常のDQN Gorilaの分散型アーキテクチャ
  83. 83. Gorilaの性能  赤い色が,GorilaがDQNの性能を上回っ たゲームの個数とかかった日数を指す (青はGorilaの性能ピーク到達日数)  49ゲーム中,41個のゲームで,DQNを 上回るパフォーマンス  DQNは十分な学習に12日かかっていた のに対し,Gorilaは4日弱で41ゲームの DQN超えを達成 Shota Imai | The University of Tokyo 83
  84. 84. CPUも効果的に使って方策ベース,方策オンの分散型深層強化学習 A3C(Asynchronous Advantage Actor-Critic)  DQNのような価値ベースではなく,方策ベースのActor-Criticを使った分散型強化学習 の手法.名前の3つのAはそれぞれ - Asynchronous:複数エージェント(Actor)を分散させて並列に探索させ,非同期に方策パラメータ更新 - Advantage:方策勾配を計算する際にベースラインとして状態価値を使ったアドバンテージを使う - Actor-critic:方策勾配計算のアーキテクチャとしてActor-Criticを採用  Experience Replayを廃止し,各環境で並列に動く各Actorは個別に多様な探索を行う  Experience Replayを使わないため,より安定性が高い方策オン型のアルゴリズムに Shota Imai | The University of Tokyo 84 https://medium.com/emergent-future/simple-reinforcement-learning-with- tensorflow-part-8-asynchronous-actor-critic-agents-a3c-c88f72a5e9f2
  85. 85. A3C / Asynchronous  各環境で並列して動き,特有のパラメータ𝜃’(方策パラメータ) 𝜃𝑣 ′ (価値パラメータ) を持つエージェントが,自らの環境で集めた経験を使って勾配を計算し,計算した勾配 を中央のLearnerに送る  定期的に,中央のLearnerのグローバルパラメータ𝜃を各エージェントのパラメータにコ ピーする  Experience Replayによる経験サンプルを行わない手法であるため,安定したOn-Policy アルゴリズム(SARSA等)を使用でき,RNNやLSTMを方策ネットワークとして採用可  なお,A3Cの後継手法A2C(Advantage Actor-Critic)では,このAsynchronous部分が廃 止された Shota Imai | The University of Tokyo 85
  86. 86. A3C / Advantage, Actor-Critic  方策勾配を学習するアーキテクチャとして,Acto-Criticを使用した  具体的には,画像等を入力とするCNNを使い,出力を各行動の方策(各行動の出力のソフトマック スを取る)𝜋(𝑎 𝑡|𝑠𝑡; 𝜃)部分(Actor)と価値𝑉(𝑠𝑡; 𝜃𝑣)を出力する部分(Critic)に分けて,出力以外の パラメータは共有する 具体的には,以下のような方策勾配を計算する. ∇ 𝜃 ′ log 𝜋 𝑎 𝑡 𝑠𝑡; 𝜃′ 𝐴(𝑠𝑡, 𝑎 𝑡; 𝜃, 𝜃𝑣) ここで, 𝐴(𝑠𝑡, 𝑎 𝑡; 𝜃, 𝜃𝑣)はアドバンテージ(Advantage)関数であり,Criticの出力を使い, 𝑖=0 𝑘−1 𝛾 𝑖 𝑟𝑡+𝑖 + 𝛾 𝑘 𝑉 𝑠𝑡+𝑘; 𝜃𝑣 − 𝑉(𝑠𝑡; 𝜃𝑣) と計算する.  上式 𝑖=0 𝑘−1 𝛾 𝑖 𝑟𝑡+𝑖 + 𝛾𝑉 𝑠𝑡+𝑘; 𝜃𝑣 は,状態行動価値を表しており,最大で𝑡 𝑚𝑎𝑥ステップのマルチステッ プ学習を行う これは,𝑟𝑡+1 + 𝛾𝑟𝑡+2 + 𝛾2 𝑟𝑡+3 + ・・・ + 𝛾 𝑘 𝑉 𝑠𝑡+𝑘; 𝜃𝑣 と,数ステップにわたって環境から報酬を得 ることで,より正確な価値推定を行っている(以前に解説したnステップ打ち切り収益と同じ) Shota Imai | The University of Tokyo 86
  87. 87. A3CとA2C  A3CのAsynchronous(非同期)部分をsynchronousにした発 展系のアルゴリズムA2Cも提案されている  A2Cは何らかの論文で新しく提唱されたアルゴリズムでは なく,OpenAIが提供する深層強化学習手法の実装集”OpenAI Baselines”に関するブログ記事 “OpenAI Baselines:ACKTR&A2C” (https://openai.com/blog/baselines-acktr-a2c/)にて, 実装上は非同期部分を廃止しても問題ないとして提案 Shota Imai | The University of Tokyo 87
  88. 88. A3Cの性能 / 学習スピードとパフォーマンス  Atariの複数ゲームで,学習スピードと到達パフォーマンスを確認  他手法と比べて,A3C(黄色)は非常に学習が早く,到達パフォーマンスも高い Shota Imai | The University of Tokyo 88
  89. 89. A3C / 並列スレッド数と性能の関係  基本的には,並列で動かすエージェント-環境を増やした方が性能がよい(MAX16) Shota Imai | The University of Tokyo 89
  90. 90. 分散型深層強化学習にPrioritized Experience Replayを導入 Ape-X  環境から経験を集めるActor(CPU上)と,Actorが集めた経験)を蓄積するリプレイ バッファ,リプレイバッファからサンプルした経験から勾配を計算して学習するLearner (GPU上)に分けた分散型深層強化学習 ※なお,各Actorは独自にローカルバッファを持ち,全体で共有のリプレイバッファはリモートバッファとよぶ  リプレイバッファからの経験再生には,優先度をつけるPrioritized Experience Replayを 使う  2018年初期の時点で,Rainbowを超えてAtari57ゲームで最強の深層強化学習アルゴリズ ムだった Shota Imai | The University of Tokyo 90
  91. 91. Ape-X / 学習の流れ ここでは,DQNをApe-Xのアーキテクチャに対応させた場合について解説 1. Leanerから最新のパラメータを各Actorにコピー 2. 各Actorの環境を初期化し,探索+経験の収集を実行 3. 各Actorは各ステップで自分のローカルバッファに自分の経験を集める 4. ローカルバッファにいくつかの経験が貯まったらローカルバッファ内の経験に対して TD誤差(優先度)を計算する(リモートバッファに送り,経験を1度使用してからTD 誤差を計算する従来の方式だと,各Actorから次々と経験が送られてくるため直近の経 験しか高い優先度を持たなくなってしまうため) 5. TD誤差を計算したローカルバッファ内の各経験をリモートバッファに送る 6. Learnerはリモートバッファ内の経験を優先度にもとづいて経験再生(Prioritized Experience Replay)し,ネットワークのパラメータを更新 7. 更新したLearnerのパラメータを定期的にActorにコピー 以下繰り返し ※Learnerの学習にはRainbowで使っていたようなDQNの拡張手法をいくつか利用 Shota Imai | The University of Tokyo 91
  92. 92. Ape-Xの性能  Atari57ゲームで,この時点で最強だっ たRainbowを抜き去り圧倒的な結果  このApe-Xで分散型深層強化学習の 標準アーキテクチャが完成され,発展 系のR2D2,それ以降のアルゴリズムの 基礎となる Shota Imai | The University of Tokyo 92 青:Ape-X オレンジ:A3C 紫:Rainbow 緑:DQN
  93. 93. Ape-XにRNNを組み込んだ分散型深層強化学習の最終形態 R2D2( Recurrent Replay Distributed DQN )  Ape-Xの方策ネットワークにRNN(LSTM)を組み込み,その他様々な工夫を行った 分散型深層強化学習の最高パフォーマンスアルゴリズム  通常,経験再生を使った深層強化学習ではネットワークの勾配計算時に経験を保存した ときのRNNの隠れ状態を再現できないため,RNNを方策ネットワークで表現するのは難 しかったが,本手法では経験を得る時の状態の保存(Stored state)と経験再生に経験 データをいくつか流して隠れ状態を再現(Burn-in)してこれを解決 Shota Imai | The University of Tokyo 93 + Ape-X RNN(LSTM)
  94. 94. R2D2 / 深層強化学習でRNNを使うための工夫  深層強化学習におけるAtariなどでは,環境内でMDPが実質的に成立していない (POMDP)と仮説を立て,これに対してRNNを使う先行研究DRQN(Deep Recurrent Q-Networks)があったが,あまり成功せず  経験再生時には,経験を保存したタイミングのRNNの隠れ状態と,再生する時のネット ワークの隠れ状態が違うため,学習が困難  これを回避するため.二つの工夫を提案 1. Stored State:経験を保存する時の隠れ状態も保存し,経験再生時の初期状態とする 2. Burn-in:経験再生時に時系列的に連続した経験列を一定時間流し,続く経験を使って損失を計算 →実験(下図)の結果,Burn-inを大きくして,Stored Stateと併用すると高い効果 Shota Imai | The University of Tokyo 94
  95. 95. R2D2 / 経験データの集め方と経験再生のやり方  今までの経験再生は,経験の時系列的な並びを無視していた  R2D2ではBurn-inを行う場合に時系列に沿って経験を入力するため,経験再生時には 時系列的に連続した経験列をサンプリングする  Burn-inの時には,サンプリングした経験列(𝑙 = 80)の最初の経験を得たときに保存され たRNNの隠れ状態をセットし,決められた分だけのBurn-in(実験では40)を行って隠れ 状態の更新をした後,損失計算 Shota Imai | The University of Tokyo 95
  96. 96. R2D2の性能  Atari57ゲームの実験でApe-Xの3倍以上の性能を叩き出す など,圧倒的  学習速度に関しても,12時間足らずで,過去最高性能だっ たApe-Xを120時間学習したパフォーマンスを超える  52ゲームで人間のスコアを超えで,全部超えに極めて近く Shota Imai | The University of Tokyo 96
  97. 97. その他の分散型深層強化学習アルゴリズム  ACER:A3Cを方策オフ型で経験再生を利用できるように  IMPALA:V-traceと呼ばれる方策オフ化手法を使い,マルチタスク強化学習  UNREAL:複数の補助タスクを導入して,報酬以外の教師信号も利用  R2D3:R2D2をベースにエキスパートのデモデータも効果的に使用し高難度タスク攻略 現在の深層強化学習の最先端アルゴリズム(いわゆるState of the Artなアルゴリズム)は この分散型深層強化学習がベースになっているものが多い Shota Imai | The University of Tokyo 97 左:AlphaStar,右:OpenAI Fiveの計算資源 最新のアルゴリズムはGPUやTPUを数百個使って何十〜何百日の学習を行うなど,一般人の手に負えない領域に到達
  98. 98. 深層強化学習のここまでと課題  DQN〜分散型深層強化学習R2Dまでで,Atari57ゲームほとんどのゲームで人間超え  しかし,一部壊滅的なパフォーマンスのゲームが・・・ Shota Imai | The University of Tokyo 98 いろいろ加えて 最強化 ここまでやってもまだ人間に勝てない・・・
  99. 99. ここから解説するアルゴリズム / 内発的報酬を用いた強化学習手法 Shota Imai | The University of Tokyo 99
  100. 100. 深層強化学習の新たなパラダイム/ 内発的報酬による探索 現在攻略できないゲームは他のゲームと性質が違いすぎ,今までのように新しい機構を 次々くっつける方式では歯が立たなさそう  現在攻略できない課題の特徴 - 探索空間が大きすぎ,可能な状態が桁違い - ゲームの特性上,意味のある状態に到達するのが難しく,特殊な状態遷移が必要 - 上記をまとめて,強化学習に必要な報酬の獲得機会が極めて少ない報酬がスパースな課題 報酬がスパースな課題では,報酬の獲得が難しすぎることで, 価値関数がほとんど更新されず,意味のない探索が繰り返される 発想 - 今までの強化学習では,報酬は環境から与えられるものだったが,報酬を環境が 出してくれないのであれば,勝手に何かの基準で生成すればいいのでは - この基準は環境の意味のある場所の探索を促進するようなもの →内発的報酬の導入 Shota Imai | The University of Tokyo 100
  101. 101. 強化学習における外的報酬と内発的報酬 外発的報酬(Extrinsic Reward) - 環境で本来の目的を達成したときに獲得できる報酬𝑅 𝑒 内発的報酬(Intrinsic Reward) - 環境内で何らかの基準で,エージェント自身が勝手に生み出す報酬𝑅𝑖.探索ボーナス とも 最終的に受け取る報酬:𝑅 = 𝑅 𝑒 + 𝑅𝑖 エージェン ト 報酬 普通の強化学習 外的な報酬だけに頼った場合 でも,ランダム探索で現実的 な時間で学習可能 報酬がスパースな場合 ランダム探索では,いつまで たっても報酬到達しない →何らかの基準で内発的報酬 を生成し,探索に方向性,偏 りを与える 例)行ったことのない状態に 到達すると報酬生成 エージェント 報酬 101 報酬がスパースなタスクで はほとんどの場合0 報酬がスパースなタスクでも0になりにくく,外発 的報酬に代わって価値関数改善のきっかけとなる
  102. 102. Atariゲーム中,最高の難しさを誇るゲーム 最初の深層強化学習アルゴリズムDQNではスコア0でまったく攻略できず このゲームの攻略のため,内発的報酬を用いるRL手法が注目,発展 難しいタスクの例 / Montezuma’s Revenge • 計24個からなる全体マップ.各部屋も非常に広く,状態数も膨大 • 回り道→鍵入手→ロック解除など,一連の複雑な行動が必要 少 し の 刺 激 で 死 亡 す る 激 弱 主 人 公 102 Shota Imai | The University of Tokyo
  103. 103.  状態への訪問回数のカウントベース手法  間接的に状態への訪問回数を計算すつ擬似カウントベース手法(Pseudo count based)  予測器の予測誤差を用いた内発的報酬生成  その他 - 遷移確率の変化=環境に対する情報量の改善とみなして内発的報酬 - 2つのネットワーク間の蒸留と出力予測により内発的報酬生成 - Go-Explore 内発的報酬の生成方式 Shota Imai | The University of Tokyo 103 これは見たことない 状態では・・・!? (内発的報酬+1) 今回はあまり 役に立たない この分野については,私が以前作った資料も詳しいのでそちらも参照いただければ (https://www.slideshare.net/ShotaImai3/curiosity-reinforcement-learning-238344056) 強化学習エージェントの 好奇心のようなもの
  104. 104. 内発的報酬の例:カウントベースの内発的報酬  ある状態𝑠で選択した行動aの回数をカウントし,𝑛(𝑠, 𝑎)とする  𝑛(𝑠, 𝑎)に反比例して内発的報酬を与えると,𝑛(𝑠, 𝑎)が少ない (新規性が高い)状態遷移の 価値評価が高まる いままであまり選択しなかった行動を選択すると,内発的報酬は, 𝛽 𝑛(𝑠, 𝑎 𝑢𝑝) = 𝛽 1 𝛽 𝑛(𝑠, 𝑎𝑙𝑒𝑓𝑡) = 𝛽 2 と大きくなり,行動価値, 𝑄 𝑠, 𝑎 𝑢𝑝 や 𝑄 𝑠, 𝑎𝑙𝑒𝑓𝑡 は高く評価される 一方,今まで何度も選択した行動を選択すると,内発的報酬は, 𝛽 𝑛(𝑠, 𝑎 𝑑𝑜𝑤𝑛) = 𝛽 𝑛(𝑠, 𝑎 𝑟𝑖𝑔ℎ𝑡) = 𝛽 4 と小さくなり,行動価値, 𝑄 𝑠, 𝑎 𝑢𝑝 や 𝑄 𝑠, 𝑎𝑙𝑒𝑓𝑡 は低く評価される 内発的報酬𝑅𝑖𝑛 𝑛(𝑠, 𝑎 𝑟𝑖𝑔ℎ𝑡)=4𝑛(𝑠, 𝑎𝑙𝑒𝑓𝑡)=2 𝑛(𝑠, 𝑎 𝑑𝑜𝑤𝑛)=4 𝑛(𝑠, 𝑎 𝑢𝑝)=1 Shota Imai | The University of Tokyo 104
  105. 105. 人間が,ある種の探索課題をクリアする場合も内発的報酬を用いた 探索に似たようなこ とをしている 【ゲームのダンジョン探索の例】  複数進行方向の候補がある  今まで1度行ったことがある方向(青色矢印)は 目的地にたどり着かなかったので除外  今まで行ったことがない方向(赤色矢印)の方向を 目指せばゴールにたどり着けそう カウントベースの内発的報酬による探索のうれしさ(直観的に) 1回 1回 0回 ドラゴンクエスト2 ロンダルキアの洞窟 Shota Imai | The University of Tokyo 105
  106. 106.  状態数があまりにも多すぎたり,状態空間が連続の場合は,ほとんどの状態カウントが ゼロになり,意味をなさない  この性質上,最近の強化学習主要ベンチマークである物体制御タスクや,Atariゲームで はほとんど意味がない カウントベース手法の欠点 Atariゲーム:状態数が多すぎる物体制御:状態が連続値 106 Shota Imai | The University of Tokyo
  107. 107. 疑似カウントベース手法(Pseudo-Count) 一つ一つの状態の訪問回数を直接カウントせず,画像ピクセル単位で見た状態の類似度, 発生確率から,疑似的に状態カウント 状態のハッシュ化を用いたカウントベース手法 状態をハッシュを用いて変換して抽象化し,似た状態をまとめてカウント カウントベースを改良した手法 Shota Imai | The University of Tokyo 107
  108. 108.  観測𝑥𝑡と,その時選択する行動𝑎 𝑡から,次の観測𝑥𝑡+1がどうなるか予測するモデル 𝑓(𝑥𝑡, 𝑎 𝑡)を考える(順モデル)  モデルの出力と実際に𝑥𝑡で𝑎 𝑡を選択した場合の次の観測𝑥𝑡+1を用いて二乗誤差を計算し, NNを学習  既に観測した遷移は予測精度が高くなり(二乗誤差が小さくなる),観測が少ない遷移 は予測精度が低くなる(二乗誤差が大きい) →この予測誤差を内的報酬とすれば,未知状態への探索を促進可 予測誤差による内発的報酬生成 Shota Imai | The University of Tokyo 108
  109. 109. NoisyTV problem  Unity(ゲームエンジン)で作った強化学習環境に,次々と違う映像が映し出されるテレ ビを設置し,内発的報酬による探索をさせてみた →エージェントの動きが止まってしまう 理由 - 常に観測がランダム変化することで,予測器の学習が意味をなさず,TVを観測する状態に高 い報酬が生成されるため 環境内の無意味な情報を無視できる 特徴抽出が必要 Shota Imai | The University of Tokyo 109 エージェント視点 壁のTVに映し出される画像が高速で切り替わり続ける ↑常に変化 ↑どれだけ学習 しても予測でき ない
  110. 110. エージェントにとって意味のある観測  エージェントの観測には以下のものが含まれる (1)エージェントに影響を与え,エージェントによって コントロールできるもの →マリオ本体 (2)エージェントに影響を与えるが,エージェントが直 接的にコントロールできないもの →クリボーなどの敵 (3)エージェントに影響を与えず,エージェントがコン トロールすることもできないもの(だけど予測誤差 には影響を与えてしまう) →画面上部のコインのピカピカ  (3)は無視して,(1)と(2)のみに注目したい →無駄なものを無視する特徴抽出器を使用した予測誤差 Shota Imai | The University of Tokyo 110 (1) (3) (2 )
  111. 111.  エージェントの行動に関係があるもののみに注目する特徴抽出器を逆モデルを用いて学 習し,予測誤差により内発的報酬を生成する機構をつける ICM (Intrinsic Curiosity Module) 意図的にランダムノイズを入れたゲーム画面からでも, うまく特徴抽出して学習可 Shota Imai | The University of Tokyo 111
  112. 112.  環境に対する情報量の改善=好奇心とし,情報量が改善されるような状態遷移に対して 多くの内発的報酬を付与  情報量の改善は,状態遷移前後の遷移確率の分布の分布間のKLダイバージェンス  𝜉𝑡 = {𝑠1, 𝑎1, . . . , 𝑠𝑡}:時刻𝑡までの状態と行動による遷移の列  𝑠𝑡:時刻tにおける状態  𝑎 𝑡:時刻tでとった行動  𝑝 𝑠𝑡+1 𝑠𝑡, 𝑎 𝑡; 𝜃 :𝑠𝑡で行動𝑎 𝑡を選択したとき状態𝑠𝑡+1に遷移する確率 その他の内発的報酬生成方式 / 情報量の改善による内発的報酬 VIME Shota Imai | The University of Tokyo 112
  113. 113. その他の内発的報酬生成方式 / 二つのネットワークの蒸留と出力予測 RND(Random Network Distillation)  二つのネットワーク,ターゲットネットワーク,予測ネットワークを用意  両ネットワークに,評価したい状態を入力  予測ネットはターゲットの出力を真似るよう学習を行い,両出力の二乗誤差が内的報酬 となる →新しく観測した状態に大しては内発的報酬が大きくなる Shota Imai | The University of Tokyo 113
  114. 114. RNDがMontezuma’s Revengeで 初めて人間の平均スコア超え ↑DQNの悲惨なスコアから, 3年でここまで発展 Shota Imai | The University of Tokyo 114
  115. 115. Montezuma’s Revengeのその後 Go-Exploreの登場 Shota Imai | The University of Tokyo 115
  116. 116. Go-Explore/大まかな手法の概要 2つのフェーズに分けてエージェントの学習を行う  フェーズ1:目標状態到達まで探索 - 探索をしながら,特定の状態”Cell”をArchiveに追加 - 探索のスタート時にArchiveからランダムにCellを選択し, その状態まで移動 - その状態からスタートしてランダム探索(繰り返し)  フェーズ2:方策のロバスト化 - フェーズ1で得られた軌道のうち目標に到達した軌道を 通るような方策を模倣学習で獲得 Shota Imai | The University of Tokyo 116 ここまで解説してきた内発的報酬とは本質的に関係がなく,特殊な手法
  117. 117. ここから解説するアルゴリズム 様々な要素を組み合わせた最新の深層強化学習アルゴリズム Shota Imai | The University of Tokyo 117
  118. 118. 様々な要素を組み合わせた深層強化学習の最新アルゴリズム  モデルベース強化学習:World Models, SiMPLe  モデルベース強化学習+木探索:MuZero  分散型深層強化学習+内発的報酬+複数方策学習:Never Give UP  分散型深層強化学習+内発的報酬+複数方策学習+ バンディットアルゴリズム:Agent57 Shota Imai | The University of Tokyo 118
  119. 119. 世界モデル(World Models)  ここでは,2018年に発表されたHaらの論文“World Models”で紹介された手法を指す  以下の3要素から構成される - Vモデル:環境から得た観測をVAE(Variationa Auto-Encoder)で圧縮した潜在表現を得る - Mモデル:Vモデルの潜在変数とCモデルの行動を入力としたMDN-RNNで未来予測 - Cモデル:V,Mモデルの入力を元に行動し,環境からの報酬でCMA-ESにより方策最適化  エージェント内部で世界をモデル化し,空間情報の圧縮とそれを元に時間方向の予測, つまり世界のシミュレーションを行っているとみなせる Shota Imai | The University of Tokyo 119 実際の環境の状態(左)と,世界モデルの潜在表現から再構成された状態(右)
  120. 120. ゲームの動きを予測する世界モデルを構築し,少ない試行で良い方策を学習 SiMPLe(Simulated Policy Learning)  ただ単にAtariのゲームを攻略することだけに注目するのではなく,どれくらい効率的に 学習できるかに注目したモデルベース強化学習手法  近年のAtari攻略アルゴリズムは学習が成功すれば凄まじいパフォーマンスを発揮するが, 学習成功のためには,凄まじい量の環境との相互作用が必要 →ゲーム内の事象を予測(シミュレート)できる世界モデルを構築し,少ない試行の 方策学習に利用 Shota Imai | The University of Tokyo 120
  121. 121. 環境モデル学習と木探索を組み合わせて圧倒的な性能に MuZero  AlphaGo〜AlphaZeroのアルゴリズムでは,囲碁や将棋等のボードゲームの環境モデルは 既知として扱っていた  MuZeroではそれらの環境モデルも一から違う形で学習し,情報を圧縮した状態表現上で 木探索をして先読み後に行動を実行  ボードゲームに関する完全な知識がないにもかかわらず,Alpha系列のアルゴリズムと同 等かそれ以上の強さに到達し,Atariでも52ゲームで人間超え Shota Imai | The University of Tokyo 121
  122. 122. 内発的報酬の大きさを使い分けて方策を学習し探索と活用の割合を調整 Never Give Up(NGU)  Agent57の前身となったアルゴリズム  エピソード内で新規性を判定するモジュール「episodic novelty module 」とエピソー ドをまたいで新規性を判定するモジュール「life-long novelty module」を導入し、各モ ジュールで生成した報酬の合計を最終的な内発的報酬とする  内発的報酬の係数βを複数用意し、各βをかけた内発的報酬と外発的報酬の和で学習さ れた方策セットを用意することで、探索と活用の割合を調節 122 Shota Imai | The University of Tokyo

×