Upgrade to Pro — share decks privately, control downloads, hide ads and more …

誰でもわかる強化学習

 誰でもわかる強化学習

本資料は,東京大学松尾研究室で開催された強化学習セミナーの講義資料をもとに,講演目的でより初学者向けに内容を調整したものです.特に強化学習で最も基本的かつ最重要手法であるQ学習や,それの深層強化学習版のDQN(Deep Q-Network)を中心に解説しています.
昨今,ChatGPT等の大規模言語モデル(LLM)の開発に強化学習が使用(RLHF等)され,さらに強化学習をLLMに本格的に組み込んだAI( GoogleのGemini,OpenAIのQ*等)の出現が予想されることから,強化学習の知識の普及のため公開しました.

今井翔太(えるエル)

November 24, 2023
Tweet

Transcript

  1. 資料公開にあたって n本資料は,東京⼤学松尾研究室で開催された強化学習セミナーの講義資料 をもとに,講演⽬的でより初学者向けに内容を調整したものです - 本資料はどちらかというと初学者向けに作成したため,Q学習などの解説はこちらの ⽅が詳しいです n特に強化学習で最も基本的かつ最重要⼿法であるQ学習や,それの深層強 化学習版のDQN(Deep Q-Network)を中⼼に解説しています n昨今,ChatGPT等の⼤規模⾔語モデル(LLM)の開発に強化学習が使⽤

    (RLHF等)され,さらに強化学習をLLMに本格的に組み込んだAI ( GoogleのGemini,OpenAIのQ*等)の出現が予想されることから, 強化学習の知識の普及のため公開しました n本資料のベースになった東⼤の⽅での講義資料は以下 (これも追記・修正の上,近⽇中にSpeakerdeckに移⾏する可能性があります) https://www.slideshare.net/ShotaImai3/rlssdeepreinforcementlearning Shota Imai | The University of Tokyo 2
  2. 資料の内容 東京⼤学の⽅で開催した松尾研の強化学習サマースクールの講義内容を ベースに,強化学習の基礎〜深層強化学習の導⼊まで解説します n第⼀部:強化学習の基礎 - 強化学習とは - 強化学習の定式化 - 基本的な強化学習のアルゴリズム

    - Q学習の実践 n第⼆部:深層強化学習 - DQN - DQNの発展系アルゴリズム - その他発展的な深層強化学習アルゴリズム n第三部:最近の研究(時間があれば) Shota Imai | The University of Tokyo 3
  3. 強化学習 Shota Imai | The University of Tokyo nAIの部分技術である機械学習の中で,意思決定則(⽅策)を学習する⼿法 nエージェントが,ある環境(タスク)の中で⽬標を達成するために

    どのように意思決定をして⾏動すればよいのかを定式化して学習 nエージェントは環境を探索して得た状態遷移や報酬のデータを元に⽅策を 学習 5
  4. 強化学習の応⽤例 Shota Imai | The University of Tokyo 6 ロボットの制御(松尾研)

    (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
  5. 強化学習の起源 / ⼼理学における「強化(Reinforcement)」 n⼼理学では,刺激と応答の間に与えられる刺激(強化⼦)を元に特定の⾏ 動の発現が増強されることを「強化(Reinforcement)」という n1960年代に試⾏錯誤による学習を⼯学的に議論する流れが始まり, 最適制御の流れも後に合流して現在の強化学習へ 9 バラス・スキナー パブロフの⽝

    • ベルの⾳を聞かせて(条件刺激)エサを与え る(無条件刺激)という⼿順を繰り返す • ベルの⾳だけで唾液を分泌するように →条件反射 • 条件刺激-無条件刺激の関係が「強化」される • いわゆる古典的条件付けで,正確には 「学習」ではない スキナーの箱(報酬学習) • 箱内のレバーを下げるとエサが出てくるような箱 に空腹のネズミを⼊れる • ネズミは最初,レバーとエサの関連はわからない • 何らかの偶然でレバーを下げてエサが出てくる と,レバーを下げるという⾏動とエサの関係を 学習し,レバーを下げる⾏動が「強化」される • いわゆるオペランド条件付け イワン・パブロフ Shota Imai | The University of Tokyo https://ja.wikipedia.org/ wiki/イワン・パブロフ https://ja.wikipedia.org/ wiki/バラス・スキナー
  6. 強化学習と脳の関係/ 神経科学の視点から Shota Imai | The University of Tokyo 10

    n⼈の脳では,⼤脳基底核(Basal ganglia)にあたる部分が,強化学習を ⾏っている部位だと考えられている n腹側被蓋野(VTA),⿊質緻密部(SNc)のドーパミン作動性ニューロン から放出されるドーパミンが報酬,またはTD誤差(後述)と関わり,線 条体が価値関数を表現するというモデルが⼀般的 http://rail.eecs.berkeley.edu/deeprlcourse/ Sutton, 2018 http://incompleteideas.net/book/RLbook2020.pdf Doya, 1999, http://www.brain-ai.jp/jp/project-outline/
  7. 強化学習の⽬的 n⽬的:ある意思決定問題を⾏う環境で⽬標を達成する意思決定則を得る - 強化学習の定式化で考えると,エージェントが環境内で得る報酬の総和(収益)を 最⼤化する⽅策を学習することが⽬的 - 特に,⻑期的な利益を最⼤化させることを⽬指す - ある状態で⾏動を⾏う1ステップでもらえる即時報酬ではなく,⻑期的な⾏動を繰り 返した後にもらえる報酬の価値を表現する価値関数を基準に⽅策を学習する

    n⻑期的な利益を⽬指した意思決定を⾏う問題の例 - 制御 - ゲーム戦略 - ⾦融 - 経営 - 政策 - ⼈⽣ Shota Imai | The University of Tokyo 11 マイナスの報酬を与えれば, 悪い⾏動を抑制することも可能 ダンジョンを攻略して得る宝を報酬として,進み⽅を学習,シュートの経験を報酬として 蹴り⽅を学習,ビジネス 的な成功を報酬としてで仕事の仕⽅を学ぶなど,報酬をもとに した強化学習の例は様々 -1
  8. 強化学習の特性 nデータは⾃分で集める - 学習に必要なデータは⼈間から与えられず,エージェント⾃⾝が環境で探索して集める 必要 - 明確な教師データは存在せず,代わりに環境から得られる報酬を教師信号とする - 得られるデータが⽅策に依存する n遅延報酬

    - 極めて多くの⾏動を繰り返した後でなければ⼤きな報酬があたえられない場合がある - 近視眼的な利益ではなく,短期的には損をしても⻑期的な利益で得をする⾏動をとる必 要 - どの時点の意思決定・⾏動が報酬獲得に貢献したのかの評価が難しい (信⽤割り当て問題,貢献度割り当て問題; Credit assignment problem) n探索と活⽤のトレードオフ - 今もっとも良いと思われる⾏動を取り続けるだけでは,実は他にあるかもしれない最適 ⾏動を⾒逃す可能性がある - 今最も良い⾏動を選ぶ(活⽤;Exploitation),別の⾏動を試してみる(探索; Exploration)をどちらも完璧に⾏うことはできないトレードオフがあり,バランスのよ いアルゴリズムが必要 Shota Imai | The University of Tokyo 12
  9. 強化学習の問題例 戦略ゲーム n戦⼒を整えて,相⼿と戦う戦略ゲームを考えてみる(初期状態は戦⼒中) - 状態:現在の⾃陣の戦⼒の⼤⼩ - ⾏動:相⼿陣地に攻め込む or 戦⼒増強 -

    報酬:相⼿または⾃陣への損害の度合い 13 各状態でどのように⾏動を決定するか,つまり,どのような⽅策であれば ⻑期的な報酬を最⼤化できるか?
  10. 強化学習の問題設定 マルコフ決定過程 RLの対象問題は考えられる状態や⾏動の候補が⾮常に多く,扱いが困難 →環境に対してマルコフ性を仮定し,これを満たすマルコフ決定過程を持 つ問題で定式化 nマルコフ性 - 現在の状態𝑠! と⾏動𝑎! のみに依存し,次の時刻𝑡

    + 1の状態𝑠!"# (遷移確率)が決定 n マルコフ決定過程の構成要素(先ほどの戦略ゲームを例に) - 状態集合:𝑆 = {戦⼒中,戦⼒⼩,戦⼒⼤} - ⾏動集合:𝐴 = {攻め込む,戦⼒増強} - 状態遷移確率:𝑃 戦⼒⼩ 戦⼒中, 攻め込む = 1など,この例は全状態遷移確率が決定論的(確率1) - 初期状態確率分布:この戦略ゲームが戦⼒⼤,中,⼩それぞれでスタートする確率 - 報酬関数:𝑟 戦⼒⼤, 攻め込む, 戦⼒⼩ = 17など 14
  11. モデルフリー強化学習とモデルベース強化学習 環境モデルの有無で,強化学習⼿法は以下の⼆つに分類可能 n モデルフリー強化学習:環境モデルを持たず,環境から得たサンプルを使って⽅策学習 n モデルベース強化学習:環境から得た経験で環境モデル⾃体を学習して⽅策改善に利⽤ Shota Imai | The

    University of Tokyo 18 モデルフリー強化学習 モデルベース強化学習 有名なアルゴリズム Q学習,SARSA, DQN,DDPG,R2D2等 有名なアルゴリズム AlphaGo, AlphaZero, Dyna,PILCO,MPC,R-max等 Sutton, 2018 http://incompleteideas.net/book/RLbook2020.pdf 今⽇はこちらメイン
  12. 強化学習の定式化 収益・⽬的関数(価値) おさらい エージェントが環境内で得る報酬の総和𝑅! (収益; return)を最⼤化する⽅策を学習する ことが強化学習の⽬的 n 単純な報酬和を取ると,無限ステップの⾏動で無限に報酬獲得が可能で発散してしまう ため,0〜1の割引率𝜸(discount

    factor)を導⼊して,以下の割引報酬和を考える - 割引率が⼩さいと短期的な収益,⼤きいと⻑期的な収益を重視 n 強化学習は,この収益に関連した⽬的関数を最⼤化する⽅策を学習する問題に帰着 - 具体的には,ある状態𝑠から⽅策𝜋に従って⾏動した場合に得る収益の期待値を⽰す価値関数 (Value Function)𝑽𝝅(𝒔)を,「⽅策の良さ」を⽰す⽬的関数として⽤いることが多い Shota Imai | The University of Tokyo 20 割引報酬和 𝑅" = 𝑟"#$ + 𝛾𝑟"#% + 𝛾%𝑟"#& … = - '() * 𝛾'𝑟"#'#$ 価値関数 𝑉$(𝑠)=𝔼 𝑅!"# 𝑆! = 𝑠]
  13. 強化学習の定式化 価値関数と⽅策 ⽅策を学習するための⽬的関数である価値関数と,⽅策の表現⽅法について整理 n 状態価値関数(Value Function):𝑉$(𝑠)=𝔼$ 𝑅!"# 𝑆! = 𝑠]

    - ⼀般的に価値関数とよばれているもの - ある状態𝑠から⽅策𝜋に従って⾏動した場合に得る収益の期待値 n ⾏動価値関数(Action Value Function): 𝑄$ = 𝔼$ 𝑅!"# 𝑆! = 𝑠, 𝐴! = 𝑎] - ある状態𝑠で⾏動𝑎を選択して,そのあと⽅策𝜋したがって⾏動した場合に得る収益の期待値 - Q値,Q関数,または効⽤関数(Utility Function)とも呼ぶ n ⽅策(Policy):𝜋(𝑠|𝑎) - ある状態𝑠で⾏動𝑎を選択する確率 - ⾏動価値関数をベースに表したり,関数近似でそのままパラメータ化したり様々 n ⽅策の種類 - Greedy⽅策(貪欲⽅策):ある状態で最も⾼いQ値を持つ⾏動を選択する決定的⽅策 - 𝝐 − 𝒈𝒓𝒆𝒆𝒅𝒚⽅策( 𝝐 貪欲⽅策):確率𝜖でランダムに⾏動し,それ以外でGreedy⽅策 - ソフトマックス⽅策:ギブス分布に従う⽅策𝜋 = +,-(/0(1,3)) ∑!∈# +,-(/0(1,6)) (関数近似でよく使われる) 探索と活⽤のトレードオフを意識した⽅策が重要 Shota Imai | The University of Tokyo 21
  14. テーブル形式の強化学習 n ⽅策学習のため環境内を探索して得た経験{𝑠!, 𝑎!, 𝑟!"#, 𝑠!"# }を使って価値関数を推定する n このとき,価値関数は各状態の各⾏動(ここでは状態⾏動価値関数を想定)に対して値 を設定するため,ルックアップテーブルの関数とも呼ばれる

    n このように推定する価値関数をテーブル形式で表す⼿法をテーブル形式の強化学習, または単にテーブル形式⼿法とよぶ Shota Imai | The University of Tokyo 23 ルックアップテーブルで表現した推定⾏動価値関数 7 𝑄7 価値推定を⾏う環境
  15. TD学習(Temporal-Difference Learning) n TD学習 - 強化学習で環境内で得た経験データ全てを蓄積して更新に⽤いるのは効率が悪い - ある時間ステップ𝑡で得た経験{𝑠" , 𝑎"

    , 𝑟" , 𝑠"#$ }を⽤いて価値関数を更新し,⽅策学習を⾏う⼿法 n ある時間ステップ𝑡で得た経験で価値を更新する場合,以下のように定式化できる n アルゴリズムはTDターゲットの種類で分類される - Q学習:Y8 = r8#$ + 𝛾max 9 7 𝑄7 s8#$ , a: ⽅策オフ型 - SARSA: Y8 = r8#$ + 𝛾 7 𝑄7 s8#$ , 𝑎"#$ ⽅策オン型 Shota Imai | The University of Tokyo 24 TD学習の更新式(⾏動価値を使う場合) 7 𝑄7 𝑠" , 𝑎" ← 7 𝑄7 𝑠" , 𝑎" + 𝛼𝛿" 𝛿" = Y8 − 7 𝑄7 𝑠" , 𝑎" 𝜹𝒕 :時間的差分誤差(Temporal Difference Error)またはTD誤 差(TD Error).時刻tとt+1の予測値の差分(実際の報酬観測の 情報を含むt+1の情報の⽅がより正確) 𝒀𝒕 :TDターゲット(TD Target),ターゲット TD学習における教師信号の役割 𝜶:学習率 ※ 7 𝑄7などに付いている上部の「 ̂」は真の 価値関数ではなく,現在の推定価値関数で あることを⽰す
  16. Q学習(Q-learning) n TD学習において,TDターゲットをY% = r%"# + 𝛾max & ; 𝑄$

    s%"#, a' とした⼿法 更新式: ! 𝑄G 𝑠H , 𝑎H ← ! 𝑄G 𝑠H , 𝑎H + 𝛼(rIJK + 𝛾max L ! 𝑄G sIJK , aM − ! 𝑄G sI , aI ) - ターゲットはgreedy⽅策で最も⾼いQ値の⾏動をとったとしてmax & Q$ s%"#, a' を使う - おそらく⼀番有名な強化学習⼿法(まずはこれを覚えよう!) - 後ほど解説する深層強化学習のもっとも基本的な⼿法であるDQN(Deep Q- Network)もこの⼿法を改良したもの - ベルマン⽅的式から導かれる Shota Imai | The University of Tokyo 25
  17. Q学習の式の意味 Shota Imai | The University of Tokyo 26 !

    𝑄> 𝑠? , 𝑎? ← ! 𝑄> 𝑠? , 𝑎? + 𝛼(r@AB + 𝛾max C ! 𝑄> s@AB , aD − ! 𝑄> s@ , a@ ) TD誤差 実際に⾏動をして得た報酬r8#$ と遷移先の状態でもっともよい⾏ 動の価値max 9 7 𝑄7 s8#$ , a: を⾜したものから予測していた⾏動価値 7 𝑄7 s8 , a8 を引いて,差分を計算している • 状態遷移が予測していたものよりよければ,プラスになる (予想よりもいい⾏動だった) • 状態遷移が予測していたものより悪ければ,マイナスになる (予測よりも悪い⾏動だった) 予測していた ⾏動価値 TD誤差(価値の予測と実際の 良し悪しの差分)をもとの予 測値に⾜すことで,実際の経 験にもとづいて正しいQ値に 近づける
  18. Q学習 戦⼒中から攻めこむを選択し戦⼒⼩に遷移した場合の学習 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ←

    $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟎 + 𝟎. 𝟓 𝟑 + 𝟎. 𝟗×𝟎 − 𝟎 = 𝟏. 𝟓 更新後の⾏動価値:= 𝑸𝝅 戦⼒中, 攻め込む = 1.5 Shota Imai | The University of Tokyo 28 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0 戦⼒中 0 0 戦⼒⼤ 0 0 𝒓𝐭#𝟏 =3 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =0 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =0
  19. Q学習 / 更新後のQ関数 Shota Imai | The University of Tokyo

    29 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0 戦⼒中 1.5 0 戦⼒⼤ 0 0
  20. Q学習 戦⼒⼩から戦⼒増強を選択し戦⼒中に遷移した場合の学習 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ←

    $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟎 + 𝟎. 𝟓 −𝟏 + 𝟎. 𝟗×𝟏. 𝟓 − 𝟎 = 𝟎. 𝟏𝟕𝟓 更新後の⾏動価値:= 𝑸𝝅 戦⼒⼩, 戦⼒増強 = 0.175 Shota Imai | The University of Tokyo 30 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0 戦⼒中 1.5 0 戦⼒⼤ 0 0 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =1.5 𝒓𝐭#𝟏 =-1 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =0
  21. Q学習 / 更新後のQ関数 n即時報酬は-1だが,遷移先の価値を 考慮して価値はプラスになる Shota Imai | The University

    of Tokyo 31 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.175 戦⼒中 1.5 0 戦⼒⼤ 0 0
  22. ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.175 戦⼒中 1.5 0

    戦⼒⼤ 0 0 Q学習 戦⼒中から攻め込むを選択し戦⼒⼩に遷移した場合の学習2 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ← $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟏. 𝟓 + 𝟎. 𝟓 𝟑 + 𝟎. 𝟗×𝟎. 𝟏𝟕𝟓 − 𝟏. 𝟓 = 𝟐. 𝟑𝟐𝟗 更新後の⾏動価値:= 𝑸𝝅 戦⼒中, 攻め込む = 2.329 Shota Imai | The University of Tokyo 32 𝒓𝐭#𝟏 =3 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =0.175 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =1.5
  23. Q学習 / 更新後のQ関数 n同じ状態遷移を繰り返すことで 少しずつ真の価値に近づく Shota Imai | The University

    of Tokyo 33 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.175 戦⼒中 2.329 0 戦⼒⼤ 0 0
  24. ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.175 戦⼒中 2.329 0

    戦⼒⼤ 0 0 Q学習 戦⼒⼩から戦⼒増強を選択し戦⼒中に遷移した場合の学習2 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ← $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟎. 𝟏𝟕𝟓 + 𝟎. 𝟓 −𝟏 + 𝟎. 𝟗×𝟐. 𝟑𝟐𝟗 − 𝟎. 𝟏𝟕𝟓 = 𝟎. 𝟔𝟑𝟔 更新後の⾏動価値:= 𝑸𝝅 戦⼒⼩, 戦⼒増強 = 0.636 Shota Imai | The University of Tokyo 34 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =2.329 𝒓𝐭#𝟏 =-1 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =0
  25. Q学習 / 更新後のQ関数 Shota Imai | The University of Tokyo

    35 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.636 戦⼒中 2.329 0 戦⼒⼤ 0 0
  26. ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.636 戦⼒中 2.329 0

    戦⼒⼤ 0 0 Q学習 戦⼒中から戦⼒増強を選択し戦⼒⼤に遷移した場合の学習 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ← $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟎 + 𝟎. 𝟓 −𝟏 + 𝟎. 𝟗×𝟎 − 𝟎 = −𝟎. 𝟓 更新後の⾏動価値:= 𝑸𝝅 戦⼒中, 戦⼒増強 = -0.5 Shota Imai | The University of Tokyo 36 𝒓𝐭#𝟏 =-1 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =0 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =0 確率𝜺で最も⾼い⾏動価値以外の ⾏動がランダムに選ばれる
  27. Q学習 / 更新後のQ関数 Shota Imai | The University of Tokyo

    37 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.636 戦⼒中 2.329 -0.5 戦⼒⼤ 0 0
  28. ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.636 戦⼒中 2.329 -0.5

    戦⼒⼤ 0 0 Q学習 戦⼒⼤から攻め込むを選択し戦⼒⼩に遷移した場合の学習 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ← $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟎 + 𝟎. 𝟓 𝟏𝟕 + 𝟎. 𝟗×𝟎. 𝟔𝟑𝟔 − 𝟎 = 𝟖. 𝟕𝟖𝟔 更新後の⾏動価値:= 𝑸𝝅 戦⼒⼤, 攻め込む = 8.786 Shota Imai | The University of Tokyo 38 𝒓𝐭#𝟏 =17 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =0 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =0.636
  29. Q学習 / 更新後のQ関数 Shota Imai | The University of Tokyo

    39 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.636 戦⼒中 2.329 -0.5 戦⼒⼤ 8.786 0
  30. ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.636 戦⼒中 2.329 -0.5

    戦⼒⼤ 8.786 0 Q学習 戦⼒⼩から戦⼒増強を選択し戦⼒中に遷移した場合の学習3 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ← $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:𝟎. 𝟔𝟑𝟔 + 𝟎. 𝟓 −𝟏 + 𝟎. 𝟗×𝟐. 𝟑𝟐𝟗 − 𝟎. 𝟔𝟑𝟔 = 𝟎. 𝟖𝟔𝟔 更新後の⾏動価値:= 𝑸𝝅 戦⼒⼩, 戦⼒増強 = 0.866 Shota Imai | The University of Tokyo 40 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =2 𝒓𝐭#𝟏 =-1 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =0.4
  31. Q学習 / 更新後のQ関数 Shota Imai | The University of Tokyo

    41 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.866 戦⼒中 2.329 -0.5 戦⼒⼤ 8.786 0
  32. ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.866 戦⼒中 2.329 -0.5

    戦⼒⼤ 8.786 0 Q学習 戦⼒中から戦⼒増強を選択し戦⼒⼤に遷移した場合の学習 n Q学習の式 $ 𝑄" 𝑠# , 𝑎# ← $ 𝑄" 𝑠# , 𝑎# + 𝛼(r$%& + 𝛾max ' $ 𝑄" s$%& , a( − $ 𝑄" s$ , a$ ) n 状態遷移で得た経験による更新式 右辺:−𝟎. 𝟓 + 𝟎. 𝟓 −𝟏 + 𝟎. 𝟗×𝟖. 𝟕𝟖𝟔 − 𝟎. 𝟓 = 𝟐. 𝟕𝟎𝟑 更新後の⾏動価値:= 𝑸𝝅 戦⼒中, 戦⼒増強 = 2.703 Shota Imai | The University of Tokyo 42 𝒓𝐭#𝟏 =-1 𝒎𝒂𝒙 𝒂 . 𝑸𝝅 𝒔𝐭$𝟏 , 𝒂& =8.786 . 𝑸𝝅 𝒔𝒕 , 𝒂𝒕 =-0.5 確率𝜺で最も⾼い⾏動価値以外の ⾏動がランダムに選ばれる
  33. Q学習 / 更新後のQ関数 n Q学習の結果,⻑期的に得をする⾏動 に⾼い価値を割り当てることができた! n 𝜀 − 𝑔𝑟𝑒𝑒𝑑𝑦探索をせず,単なるGreedy探索

    だと最初に⾼くなった⾏動価値にハマる n 学習後のテスト環境では探索をせず, 学習した⾏動価値によるGreedy⽅策を⾏う Shota Imai | The University of Tokyo 43 ⾏動(a) 状態(s) 攻め込む 戦⼒増強 戦⼒⼩ 0 0.866 戦⼒中 2.329 2.703 戦⼒⼤ 8.786 0
  34. SARSA nTD学習において,TDターゲットをYI = rIJK + 𝛾QG sIJK , 𝑎HJK とした⼿法

    更新式: ! 𝑄G 𝑠H , 𝑎H ← ! 𝑄G 𝑠H , 𝑎H + 𝛼(rIJK + 𝛾 ! 𝑄G sIJK , 𝑎HJK − ! 𝑄G sI , aI ) - この更新式では,状態⾏動対𝑠!, 𝑎! と次の状態⾏動対𝑠!"#, 𝑎!"# に遷移する場合に得ら れる5つの要素{𝑠!, 𝑎!, r%"#, 𝑠!"#, 𝑎!"# }を使う →5要素の頭⽂字を取ってSARSAの名前がついた - (Q学習と⽐べると少しマイナー) - Q学習と同じくベルマン⽅程式から導かれる - Q学習と違いターゲットに現れるQ$ s%"#, 𝑎!"# の計算に⽅策で選択した実際の⾏動 𝑎!"# を使う →更新対象の⽅策によって⽣成されたデータを⽅策改善に使う⽅策オン型の⼿法 Shota Imai | The University of Tokyo 44
  35. いろいろな関数近似法 現在の強化学習の主要な課題は状態空間が極めて⼤きいものが⼀般的であるため, ⼤体の⼿法で関数近似を使う n⽅策の関数近似法の例 - ⽅策勾配法(Policy Gradients) - ⾃然勾配法(Natural Policy

    Gradients) - REINFORCE(モンテカルロ⽅策勾配法) - DPG(Deterministic Policy Gradients) - DDPG(Deep Deterministic Policy Gradients) - TRPO - PPO n価値関数の関数近似法の例 - Fitted Q Iteration - LSTD法,LSTDQ法,RLSTD法 - LSPI - GTD法 - Neural Fitted Q Iteration - Deep Q-Network,それ以降の派⽣⼿法 Shota Imai | The University of Tokyo 47 深層強化学習以後 深層強化学習
  36. ⽅策勾配法(Policy Gradient Learning)とその利点 パラメータ𝜃の関数近似器(例えばニューラルネット )で⽅策を直接表現し, ⽅策パラメータ𝜃を勾配法により学習することを考える n ⾏動価値を求めてから⽅策を表現する価値ベース⼿法の⽋点 - ⾏動空間が連続の場合(⾏動候補が実機の制御値のように0.002451,

    0.002452, 0.0024533…のように連続 的な刻み),ほぼ無限個の⾏動全てに対して状態⾏動価値を計算するのは難しく,最⼤の状態⾏動価値の ⾏動選択不可 - 状態⾏動価値にハイパーパラメータ(例:𝜖 − 𝑔𝑟𝑒𝑒𝑑𝑦の𝜖 )を加えて確率的な⽅策にしているため,⼈間 の決め⽅によって結果が変わる n ⽅策を直接求める⽅策ベースの⼿法(⽅策勾配)の利点 - ⾏動空間が連続的な場合でも,パラメータ化された⽅策を出⼒の制御値そのものとすることで,⾏動を連 続のまま扱える - ⽅策の確率的な部分を関数近似器の学習可能なパラメータでそのまま表現でき,ハイパーパラメータの調 整が必要ない Shota Imai | The University of Tokyo 48
  37. ⽅策勾配法 / ⽅策勾配定理(Policy Gradient Theorem) n𝜃でパラメータ化された⽅策ベースの学習(⽅策勾配法)のやり⽅ →深層学習と同じように,パラメータ化された⽅策𝝅𝜽 からなる⽬的関数𝒇(𝝅𝜽 )(⽅ 策の良さを表す)を定義し,その勾配をとって⽬的関数を最⼤化するパラメータ

    を以下のように更新すれば良い 𝜃 ← 𝜃 + 𝛼∇J 𝑓(𝜋J ) 上式の𝜵𝜽 𝒇(𝝅𝜽 )を⽅策勾配とよぶ n実際には,上式の勾配を解析的には求められないため,以下のようなアプローチ で計算 1. REINFORCE(モンテカルロ⽅策勾配法): 𝑄K= (𝑠, 𝑎)を収益𝑅で置き換える 2. アクター・クリティック:価値ベース法のように⾏動価値𝑄K= (𝑠, 𝑎)の関数近似 器を使う Shota Imai | The University of Tokyo 49 • ⽅策勾配定理 ⽅策勾配∇> 𝑓(𝜋> )は以下の形で求めることができる ∇> 𝑓(𝜋> )=𝔼7$ [∇> log 𝜋> 𝑎 𝑠 𝑄7$ (𝑠, 𝑎)]
  38. REINFORCE(モンテカルロ⽅策勾配法) n⽅策勾配の式中の𝑸𝝅𝜽 (𝒔, 𝒂)を探索で得た収益𝑹で置き換える,⼀番単純な実装法 n実際には収益の分散が⼤きいため,そのままRを使うのではなく,ベースライン と⾔われる定数𝒃を引いた(𝑹 − 𝒃)を使う (ベースラインを引いても勾配の期待値には影響しない) よって,⽅策勾配∇J

    𝑓(𝜋J )の中にある⾏動価値関数𝑄K= (𝑠M , 𝑎M )を(𝑅M − 𝑏(𝑠M ))で置 き換えた⽅策勾配法の更新式は以下のようになる 𝜃 ← 𝜃 + 𝛼 1 𝑇 ; MNO P (𝑅M −𝑏 𝑠M )∇J log 𝜋J (𝑠M , 𝑎M ) ここで,収益𝑅M は,ある探索したエピソードの状態⾏動遷移列 [𝑠O , 𝑎O , 𝑟MQR , 𝑠R , … , 𝑠PSR , 𝑎PSR , 𝑟P , 𝑠P ]を使って以下のように計算する 𝑅M = ; TNM PSR 𝑟T また,ここではベースライン𝑏 𝑠M として,平均報酬を⽤いた Shota Imai | The University of Tokyo 50
  39. アクター・クリティック(Actor-Critic) n ⽅策モデルと並⾏して,⾏動価値関数を近似する価値表現モデルも同時に学習し,⽅策 勾配の計算に使う⼿法 ※正確には,⽅策勾配を計算する場合に限らず,⽅策改善に価値評価を使う⼿法全般を指す n ⽅策を表現するモデルをアクター(Actor),価値を表現するモデルをクリティック (Critic)と呼ぶことからこの名前が付いている n ⽅策勾配の式中の𝑄$*

    (𝑠, 𝑎)を,パラメータ化されて学習を⾏う価値関数近似器で 置き換える⼿法といえる n 近年主流の深層強化学習で⽅策ベースの学習を⾏う場合,このアクター・クリティック を使うことが多い - DPG(Deterministic Policy Gradient) - DDPG(Deep Deterministic Policy Gradient) - A3C(Asynchronous Advantage Actor-Critic ) - SAC(Soft Actor-Critic) などいろいろ Shota Imai | The University of Tokyo 51 Sutton, 2018 http://incompleteideas.net/bo ok/RLbook2020.pdf
  40. ⽅策勾配法の発展的⼿法 DPG DDPG, TD3 n DPG(Deterministic Policy Gradient) - ⽅策が確率的ではなく,パラメトライズされた決定論的な⽅策𝜇(

    の場合にも成⽴する決定的⽅策勾配(DPG)があること を⽰した - オフポリシーでも学習可能な⽅策勾配法 ∇( 𝐽 𝜇( = 𝔼)~+! [∇( 𝜇( 𝑠 ∇, Q- 𝑠, 𝑎 9 ./-" ) ] n DDPG(Deep Deterministic Policy Gradient ) - DPGの⽅法論を深層ニューラルネットワークを使って実現した⼿法 - オフポリシー⼿法であるため,後述のリプレイバッファを⽤いて⼤量の経験データを使い,決定論的⽅策を表すネット ワークの学習が可能 - Criticネットワークの出⼒𝑄(𝑠, 𝑎|𝜃0)とActorネットワークの出⼒𝜇(𝑠|𝜃-)を使い,リプレイバッファからサンプルしたN個 の経験データにより以下のように勾配計算 ∇( 𝐽 𝜇( ≈ 1 𝑁 B 1 ∇, Q- 𝑠, 𝑎|𝜃0 9 )/)#,./- )# ∇(! 𝜇 𝑠 𝜃- 9 )# n TD3(Twin Delayed DDPG) - 決定論的⽅策勾配法の学習でも,後述のDQNと同じように価値の過⼤評価が起きていると考え, これを実験的に⽰した後に,DDPGを改良したアルゴリズムTD3を提案 - ⼆つの価値関数で価値の過⼤評価を抑制するClipped Double Q-Learning,価値の更新を何回か ⾏った後に⽅策を更新するDelayed Policy Update,価値を推定する⾏動にノイズを与えるTarget Policy Smoothingを導⼊してDDPGを改善 Shota Imai | The University of Tokyo 52
  41. ⽅策勾配法の発展的⼿法 TRPO, PPO nTRPO(Trust Region Policy Optimization) - ⽅策勾配による⽅策の更新に制約を課して,単調向上が保証された区間(Trust Region)の範囲でのみ更新するようにした

    - 具体的には,更新前の⽅策の分布と更新後の⽅策の分布のKLダイバージェンス(分 布間の距離)を𝛿以下にする制約をつけて⽅策を改善 nPPO(Proximal Policy Optimization) - TRPOを改良した⼿法で,より実装を単純にし,強⼒にしたもの - 更新前の⽅策と新しい⽅策の確率密度⽐が,ある値1 − 𝜖, 1 + 𝜖の範囲に収まるよう制 約をかけて学習 Shota Imai | The University of Tokyo 53
  42. ⽅策勾配法の発展的⼿法 SAC(Soft Actor-Critic) n SAC(Soft Actor-Critic) - 既存のアルゴリズムは,サンプル効率が悪い(オフポリシーでは昔の経験が使えない等), - 学習の収束が安定しないなどの問題があった

    - SACでは,1)オフポリシー(つまり昔の経験も含めて⼤量のサンプルが学習に使える)かつ, 2)⽬的関数に,⽅策のランダム具合を表すエントロピー項も導⼊することで,多様な探索を実 現する,という⼯夫で,難しい制御タスクでも⾼パフォーマンスに Shota Imai | The University of Tokyo 54 SACの⽬的関数: エントロピー項 • ⽬的関数の最⼤化には,エントロピー 項を⼤きくすることも含まれる • ⽅策のエントロピーが⼤きくなる →より多様な探索を実現 SACの学習結果(オレンジ).多くの制御タスクでPPO,DDPG,TD3を上回る
  43. 深層強化学習(Deep Reinforcement Learning; DRL) Shota Imai | The University of

    Tokyo 56 n 現在,画像識別や,機械翻訳などの分野で,⼈を超える性能を発揮している 深層ニューラルネットワークによる深層学習(ディープラーニング; Deep Learning)を 強化学習にも適⽤ n 深層ニューラルネットワークの持つ⾼い関数近似能⼒によりエージェントの観測から 価値関数や⽅策を表現する n 他の深層学習⼿法と同様に,ReLUやシグモイド関数のような活性化関数,損失関数を 定義してSGD,Adam,RMSProp等の最適化,誤差逆伝播による学習を⾏う n ⼀般的にはDQN(Deep Q-Networks)以降に登場したニューラルネットワーク を使った⼿法全般を指す(それより前のNeural Fitted Q Iterationを含むことも) ⼊ ⼒ 出 ⼒ ゲーム画⾯ 物体制御の各部位の状態 状態⾏動価値𝑄(𝑠, 𝑎) ⽅策𝜋(𝑎|𝑠) など
  44. DQNの学習 n ある状態の⼊⼒𝑠を⼊⼒したとき,その状態で可能な各⾏動𝑎の状態⾏動価値を出⼒する ような,パラメータ𝜃を持つ深層ニューラルネットワーク𝑄(𝑠, 𝑎; 𝜃)を考える n Q学習のQ値の更新式を⼀般的な深層学習で⾏うパラメータ更新の式に改良し,⽬的変数 (ターゲット)から損失関数を定義して勾配を求め,確⽴的勾配降下法で学習する 元のQ値

    の更新式 𝑄$ 𝑠!, 𝑎! ← 𝑄$ 𝑠!, 𝑎! + 𝛼(r%"# + 𝛾max & Q$ s%"#, a' − Q$ s%, a% ) ターゲット(普通の深層学習における正解データ)を以下のように定義する 𝑌! = r%"# + 𝛾max & 𝑄 s%"#, a'; 𝜃( そして,以下の⼆乗誤差の損失関数𝐿(𝜃)の最⼩化を⾏う 𝐿 𝜃 = 𝔼[ 𝑌! − 𝑄 𝑠!, 𝑎!; 𝜃 ) ] あとはこの損失関数を𝜃で微分し,普通のニューラルネットと同じようにパラメータ更新 ∇J 𝐿 𝜃 = 𝔼[(𝑌M − 𝑄(𝑠M , 𝑎M ; 𝜃))∇J 𝑄(𝑠M , 𝑎M ; 𝜃))] Shota Imai | The University of Tokyo 58 ←なぜここが𝜃でなくて𝜃3 なのかは後ほど説明
  45. DQNの⼯夫 / ターゲットネットワーク(Target Network)の使⽤ n Q 学習の更新式では,状態遷移時に得た報酬𝑟! に,遷移先の 状態で最も⾼い値を持つ⾏動のQ値をテーブルから選択し, ターゲットとした

    𝑄$ 𝑠!, 𝑎! ← 𝑄$ 𝑠!, 𝑎! + 𝛼(r%"# + 𝛾max & Q$ s%"#, a' − Q$(s%, a%) 𝐿 𝜃 = 𝔼[ 𝑌! − 𝑄 𝑠!, 𝑎!; 𝜃 ) ] n テーブルのない深層強化学習ではどうやってターゲットを 計算する? →次の状態𝒔𝒕"𝟏 を深層ニューラルネットワークに⼊⼒し, 最⼤Q値を持つ⾏動のQ値を選択 ⽋点:状態⾏動価値𝑄(𝑠!, 𝑎!; 𝜃)を求めるのに使う𝜃をターゲッ トの出⼒にも使うと,予測値と正解データを同じモデルで出 ⼒することになり,学習が安定しない →ターゲットを求めるため,更新前のパラメータ𝜃(をコピー したターゲットネットワーク(Target Network)を使⽤ Shota Imai | The University of Tokyo 59 Q学習のターゲット DQNのターゲット: 𝑌4 = r5$6 + 𝛾max , 𝑄 s5$6 , a&; 𝜃3 𝐿 𝜃 = 𝔼[ 𝑌4 − 𝑄 𝑠4 , 𝑎4 ; 𝜃 7 ] 𝑠! s%"# 𝑌" = r8#$ + 𝛾max 9 𝑄 s8#$ , a:; 𝜃@ 古いパラメータ𝜽3に固定 されたターゲットネット ワーク 最新パラメータ𝜽を持つ ネットワーク
  46. DQNの⼯夫 / 経験再⽣(Experience Replay) n リプレイバッファ(Replay Buffer)と呼ばれる機構に,環境内を探索して得た複数の 経験(𝑠" , 𝑎"

    , 𝑟"#$ , 𝑠"#$ )を保存し,深層ニューラルネットワークのバッチ学習を際に, このバッファからランダムに複数の経験を選択してミニバッチ学習=経験再⽣を⾏う n ここまで扱ってきたQ学習やSARSAなどの強化学習では,⼀度環境内で⾏動して得た 経験を⼀度だけのQ値の更新に使っていたが,DQNではすぐにQ値の更新に使わず,保存しておい て後から使⽤ n 今までの強化学習における経験の使い⽅の問題 1. ⼀般的な確率的勾配降下法(SGD)で前提としているサンプル間の独⽴性が,時系列的な相 関によって壊れる 2. 極めてレアな経験があったとしても,それを後で使えず捨ててしまう 60 𝑠6 , 𝑎6 𝑟7 , 𝑠7 𝑠7 , 𝑎7 𝑟8 , 𝑠8 ・・・ 𝑠4 , 𝑎4 , 𝑟4$6 , 𝑠4$6 経験(𝑠" , 𝑎" , 𝑟"#$ , 𝑠"#$ ) ⾏動:𝑎! (ネットワークの出⼒から選択) 次の状態:𝑠!"# (次の時刻のネットワークの⼊⼒) 環境 深層ニューラルネット 経験再⽣ リプレイバッファからランダムサンプ リングした経験のミニバッチから損失 𝐿 𝜃 = 𝔼[ 𝑌! − 𝑄 𝑠!, 𝑎!; 𝜃 $ ] を計算して学習 リプレイバッファ
  47. DQNの⼯夫 / 畳み込みニューラルネットワーク(Convolutional Neural Network; CNN)の利⽤ n ⼈間の視覚に着想を得た畳み込み処理の機構をニューラルネットワークに使うことで, 画像認識でのブレークスルーのきっかけとなった畳み込みニューラルネットワーク (Convolutional

    Neural Network; CNN)を使⽤ n 機械にとっては,画像はRGBの数字の羅列だが,CNNにより強化学習の制御に必要な n 画像上の重要特徴(敵,障害物の位置等)を捉えることができるようになった n 従来のニューラルネットを使う強化学習では,画像をそのまま⼊⼒してもうまくいかず, ⼈が⼊⼒する特徴量を設計したり,別の機械学習モデル(オートエンコーダ)で得た低 次元特徴を⼊⼒して無理やり成功させていた(Neural Fitted Q Iterationなど) ※現在の深層強化学習では,CNNの発展系であるResNet等も使われる Shota Imai | The University of Tokyo 61 LeCun, Yann, et al. "Gradient-based learning applied to document recognition." Proceedings of the IEEE 86.11 (1998) 2278-2324.
  48. 深層強化学習のベンチマーク Atari2600 n 強化学習では,より汎⽤的な性能を図るため,様々な動作が要求されるベンチマーク 環境で性能を図るのが望ましい n DQN発表前に,ALE(Arcade Learning Environment)という,レトロゲーム Atari2600のいくつかのゲームの学習環境が提案された

    n DQNでは横スクロール,シューティング,迷路攻略など,様々な動作が要求さるゲーム 49種類をベンチマークとした(なお選び⽅は適当) →この49ゲームに8個を加えた計57個のゲームは現在まで使⽤される,深層強化学習の 標準ベンチマーク Shota Imai | The University of Tokyo 62 • ALEのAtari環境は,強化学習環境を提供する ライブラリOpenAI gymで提供されており, 誰でもインストールして使⽤可能 • pip install gym, pip install “gym[atari]”で簡単 にインストール可(colabなどでは最初から ⼊っている) あとは, import gym env = gym.make(Breakout-v0) などとして,コードから環境作成
  49. DQNの性能 n ALEの49ゲームを使って, DQNの性能を評価 n 「プロフェッショナル」の ⼈間のゲームスコア(2時 間練習して5分のゲームプ レイを20回やったスコアの 平均)をどれだけのゲーム

    で,どれだけ⼤きく超えら れるかが重要 n DQN以降,57ゲーム中い くつのゲームで⼈間超えを できるかが,強化学習の重 要な指標 Shota Imai | The University of Tokyo 63
  50. DQN以降の発展 n DQN +α←いまここ - Double DQN - Prioritized Experience

    Replay - Dueling Network - Categorical DQN(C51) - Noisy Network - Rainbow n 分散型強化学習 - Gorila - A3C(A2C) - Ape-X - R2D2 n 内発的報酬の利⽤ - Count-Based - Pseudo Count-Based - Prediction Error n 様々な要素を組み合わせた最新アルゴリズム - World Models - SimPLe - MuZero - NGU - Agent57 Shota Imai | The University of Tokyo 64
  51. ⾏動価値の過⼤評価による学習失敗を防ぐため,⾏動選択と⾏動の価値評価に使うネットワーク分離 Double DQN n Q学習やDQNなど,予測値の教師信号であるターゲットを求めて,予測値との誤差を⼩ さくするように学習するアルゴリズムでは,価値の過⼤評価による学習阻害の問題あり n これに対処するため,⼆つの関数近似器を⽤いて,「⾏動選択」と「価値評価」を⾏う 部分に分ける⼿法(Double Q-Learning)をDQNにも適⽤

    n 具体的には,最⼤のQ値を持つ⾏動はパラメータ𝜽の現在のネットワークで選び,同じく 𝑠!"# を⼊⼒とするターゲットネットワークで選んだ⾏動の価値を評価 DQNのターゲット:𝑌! ,-. = r%"# + 𝛾max & Q$ s%"#, a'; 𝜃( DDQNのターゲット: 𝑌! ,/0123,-. = r%"# + 𝛾𝑄!4563!(𝑠!"#, arg max 4 𝑄 𝑠!"#, 𝑎; 𝜃 ; 𝜃() 直感的には,⼆つのネットワークがどちらも価値評価を⼤きく間違える可能性は低いため, 仮に⽚⽅が価値の過⼤評価をしていても,違うパラメータを持つもう⽚⽅が正しい評価を していれば,それを抑制できるということ Shota Imai | The University of Tokyo 65 ターゲットネットワーク による⾏動価値評価 最新のネットワークによる 最⼤のQ値を持つ⾏動選択
  52. リプレイバッファ内の経験に優先度を付け,学習効果が⾼い経験再⽣ Prioritized Experience Replay n 元のDQNでは,経験再⽣時にリプレイバッファに貯めた過去の経験からランダムサンプ リングをして学習 n しかし,実際には経験データの中には学習効果が⾼い経験とそうでない経験が混ざって いるはずであり,学習効果が⾼い経験を優先的に学習に使いたい

    n Prioritized Experience Replay(優先度付き経験再⽣)では,各経験データに対して,TD 誤差が⾼いもの(=損失が⼤きくなるデータ)に対し⼤きい優先度を割り当てるよう,以 下のように優先度𝑝7 を付ける 𝑝7 = |𝑟! + 𝛾max 4 𝑄!4563! 𝑠!"#, 𝑎 − 𝑄(𝑠!, 𝑎!)| そして,𝑖番⽬の経験に対して,優先度が⾼いものが優先的に選択されるよう,選択確率を 以下のように計算する 𝑃7 = 88 9 ∑: 88 9 (𝛼は優先度の程度を決めるハイパーパラメータ) Shota Imai | The University of Tokyo 66
  53. 状態⾏動価値を状態のみに依存する部分とそうでない部分に分離 Dueling Network n 深層強化学習でネットワークが出⼒する状態⾏動価値 は,状態のみに依存する部分と,それ以外の⾏動で決 まる部分に分解できると考えられる n 障害物を避けるゲームで,障害物がまったくないとこ ろを移動しているときは,どう動いても⼤して結果は

    変わらないため,このような時の状態⾏動価値はほぼ 状態に依存する価値で構成 n このような場合,⾏動で決まる部分を学習してもあま り意味がなく,従来のネットワークの構造では⾏動の 候補数が多いほど無駄な学習が発⽣してしまう n 加えて,状態⾏動値の絶対値が⼤きく,各⾏動の価値 の差は⼩さい場合には,少量のノイズで最⼤の⾏動価 値が⼊れ替わってしまう n Dueling Networkでは,ネットワークの出⼒部分を以下 のように状態のみに依存する価値𝑉 𝑠 を出⼒する部分 と,⾏動で決まる価値𝑨 𝒔, 𝒂 (アドバンテージ)を 出⼒する部分を分けて学習効率化 𝑄 𝑠, 𝑎 = 𝑉 𝑠 + 𝐴 𝑠, 𝑎 Shota Imai | The University of Tokyo 67 𝑄 𝑠, 𝑎 𝐴 𝑠, 𝑎 𝑉 𝑠 𝑄 𝑠, 𝑎 通常のDQN Dueling Network 通常のDQNと同じ部分 Dueling Networkで 出⼒を分離した構造
  54. ただの期待収益ではなく収益の分布を予測する Categorical DQN(C51) n 今までの⼿法では,ネットワークの予測はただ⼀つの未来の期待報酬を予測していた n しかし,ある⾏動をしたときにどれくらいの確率でどれくらいの報酬を得られるかを ⽰す分布をモデル化することで,学習に有⽤な表現を学習できると考えられる n 従来の研究では,収益を分布で予測することで危険な⾏動選択を避けるリスク考慮型

    強化学習という⼿法で,分布型強化学習(Distributional Reinforcement Learning)と して⽤いられてきた ※後述の分散型強化学習(“Distributed” Reinforcement Learning)とは違うので注意) Shota Imai | The University of Tokyo 68 ⼊ ⼒ 出 ⼒ 各⾏動の 𝑄(𝑠, 𝑎) ⼊ ⼒ 出 ⼒ ある⾏動を選択した場合の 収益の分布 従来の深層強化学習 Categorical DQN
  55. 探索を促進するためネットワークに学習可能なノイズを与え,効率的に探索⽅向を変える Noisy Network n DQNでは,各ステップで状態を⼊⼒したときの最⼤価値⾏動または 𝜖 − 𝑔𝑟𝑒𝑒𝑑𝑦法のように確率𝜖でランダムな⾏動を選択して探索し,経験データを集める n しかし,このやり⽅では各⾏動ステップで独⽴なランダムの摂動に依存しており,本当

    に⼤規模な探索をするには単調すぎる →⼀貫して探索を偏った⽅向に変えるため,深層ニューラルネットワークのパラメータ そのものに対してノイズを与えることで,出⼒に対して⻑期の影響を与える 具体的には,以下の図のように,ネットワークの最終層の重みパラメータ𝜇:とバイアス𝜇1 に対して,以下のようにノイズパラメータ𝜖とノイズの強さを調節するパラメータ𝜎の積を とったものを加算する Shota Imai | The University of Tokyo 69
  56. すべてのDQN拡張⼿法を組み合わせた全部混ぜ深層強化学習 Rainbow n DQNに対し,ここまで解説してきたDouble DQN, Prioritized Experience Replay, Dueling Networks,

    Categorical DQN, Noisy Network, これに加え,後ほど解説する A3Cのマルチステップ学習を取り⼊れた,全部混ぜアルゴリズム n ここまで解説したアルゴリズムを⼤きく超え,この論⽂発表時点ではAtari57ゲームで 最⾼の性能を発揮 n また,上記の拡張⼿法のどれが⼀番パフォーマンス改善に影響があるかも分析 Shota Imai | The University of Tokyo 70 Rainbow + + + + + + Double DQN Prioritized Experience Replay Dueling Networks Categorical DQN Noisy Network Multi-Step Learning DQN
  57. 分散型深層強化学習 (Distributed Deep Reinforcement Learning) n ここまでで紹介したアルゴリズムは,1つの深層ニューラルネットワークに⼀つの エージェントが対応し,⼀つの環境から経験を集める⽅式だった n しかし,深層学習で使えるCPUやGPU等の計算資源は「その気になれば」複数⽤意

    (CPUなら⼀台のPCでも複数)でき,これら全ての計算資源を使えばさらに学習を 効率化できそう n 深層強化学習でも各機構を複数計算機に分散させて学習を効率化 →分散型深層強化学習(Distributed Deep Reinforcement Learning) Shota Imai | The University of Tokyo 71 分散型深層強化学習のアーキテクチャの⼀例 ※実際にはCPUの数が数百に達することも 代表的な⼿法 A3C,R2D2,IMPALAなど
  58. 強化学習における外的報酬と内発的報酬 n外発的報酬(Extrinsic Reward) - 環境で本来の⽬的を達成したときに獲得できる報酬𝑅3 n内発的報酬(Intrinsic Reward) - 環境内で何らかの基準で,エージェント⾃⾝が勝⼿に⽣み出す報酬𝑅7 .探索ボーナス

    とも n最終的に受け取る報酬:𝑅 = 𝑅U + 𝑅V エージェン ト 報酬 普通の強化学習 外的な報酬だけに頼った場合 でも,ランダム探索で現実的 な時間で学習可能 報酬がスパースな場合 ランダム探索では,いつまで たっても報酬到達しない →何らかの基準で内発的報酬 を⽣成し,探索に⽅向性,偏 りを与える 例)⾏ったことのない状態に 到達すると報酬⽣成 エージェント 報酬 72 報酬がスパースなタスクで はほとんどの場合0 報酬がスパースなタスクでも0になりにくく,外発 的報酬に代わって価値関数改善のきっかけとなる
  59. n 状態への訪問回数のカウントベース⼿法 n 間接的に状態への訪問回数を計算すつ擬似カウントベース⼿法(Pseudo count based) n 予測器の予測誤差を⽤いた内発的報酬⽣成 n その他

    - 遷移確率の変化=環境に対する情報量の改善とみなして内発的報酬 - 2つのネットワーク間の蒸留と出⼒予測により内発的報酬⽣成 - Go-Explore 内発的報酬の⽣成⽅式 Shota Imai | The University of Tokyo 73 これは⾒たことない 状態では・・・!? (内発的報酬+1) 今回はあまり 役に⽴たない この分野については,私が以前作った資料も詳しいのでそちらも参照いただければ (https://www.slideshare.net/ShotaImai3/curiosity-reinforcement-learning-238344056) 強化学習エージェントの 好奇⼼のようなもの
  60. 松尾研における強化学習研究 Shota Imai | The University of Tokyo 75 n

    世界モデル - 世界の構造を深層⽣成モデルなどで学習し,獲得した世界に関する空間的,時間的情報から強 化学習を⾏う - ⼈間の脳内で⾏われている処理とも関連づけて研究 n 実機を使ったロボット学習 - 実機のロボットを使って,実世界で最適な動きができるように強化学習を⾏う - これに関連して,オフライン強化学習,模倣学習,メタ学習等
  61. 発展的な話題 デモンストレーションデータを使った強化学習 n 環境での探索コストを軽減するため,環境で探索を⾏うエージェント⾃⾝ではなく, 別の⼈間や実機などのエキスパートが他の環境で⾏動して得たデモンストレーションの データを利⽤して学習する n 模倣学習のアプローチにはBehavior Cloningと逆強化学習(Inverse Reinforcement

    Learning)があり,前者は報酬の情報を使わずに状態と⾏動のペアから教師あり学習, 後者はデモのような⾏動ができる報酬関数を求めて強化学習を⾏う n 最近は,実際に⾏動を⾏う環境でまったく相互作⽤せず,ある別の環境から事前に得た データからのみで⽅策を学習するオフライン強化学習の研究が注⽬されている 代表的な⼿法・重要な⽤語 n Dagger n 分布シフト(Distributional Shift) n GAIL n Meta-Imitation Learning n オフラインモデルベース強化学習 Shota Imai | The University of Tokyo 77
  62. 発展的な話題 マルチエージェント強化学習 n 環境内に複数エージェントがいる設定で強化学習を⾏う⼿法 n 複数エージェントで協⼒して⽬的を達成する協調的タスク,資源や勝敗を争う競争的タスク がある n 複数の主体からなる⾦融,電⼒制御,マルチロボット,ゲームなど応⽤は広い n

    AlphaGo等,対戦型ゲームAIも⼿法としてはこの枠組み n 通信プロトコルの最適化,⾔語創発などエージェント間のコミュニケーションに関する研究 も多い 代表的な⼿法・重要⽤語など n MADDPG n COMA n CommNet n RIAL, DIAL n IC3Net n ⾔語創発 n ナッシュ均衡 Shota Imai | The University of Tokyo 79
  63. その他の話題 n 転移学習,マルチタスク学習,メタ学習 - 複数タスクを同じパラメータで同時に解いたり,複数タスクで学習された知識を⽬的タスクで 利⽤する⼿法[]など,複数タスクに跨って強化学習を⾏うことに興味がある分野 - Policy Distillation,Actor-Mimic,MAML,SNAIL,DISTRAL,PEARL等 n

    進化計算 - 様々なパラメータを持つ深層ニューラルネットで探索を⾏い,獲得報酬量などにより評価, 選択,交差させるなどして最適化.強化学習では勾配法と組み合わせた研究も - 進化戦略(Evolution Strategy; ES),Pathnet,ERL, CEM-RL等 n 階層型強化学習 - ⽅策を上位,サブに分ける[]など⽅策を階層的に学習することでタスクを解きやすくしたり, ⽅策の共通部分を別タスクで使い回すなどする - Option-Critic,Feudal Networks,HIRO等 n 深層強化学習の理論解析 - 深層強化学習が流⾏るきっかけのDQN等は成功する理論的裏付けがあったわけではない - 経験再⽣がうまいくいく理論的背景の分析[Xie+ 2019]や,Q学習を関数近似で⾏なった場合 の挙動に関する分析[Hu+ 2019]等の取り組み Shota Imai | The University of Tokyo 81
  64. おすすめ書籍等(実質宣伝) n R. Sutton, A. Barto著『Reinforement Learning: An Introduction Second

    Edition』 - 『強化学習(第2版)』として我々が翻訳したものが発売中 - 強化学習のバイブル.世界の強化学習な⼈間はこれ(の第⼀版)を⾒て育った.おすすめ. - ChatGPT以降のLLM・⽣成AI全盛期でも重要な知識が盛り沢⼭!! Shota Imai | The University of Tokyo 82