報酬に依らず暗示型optionを使った強化学習の論文を読んでみる

 強化学習を定式化したR.Suttonが2000年にOptionという重要な概念を提供しており[1]これを知らなかったとは相当な勉強不足と認識せざる得ない。

 強化学習では長い迷路を経てゴールに達する場合や非常に稀に得点が入る場合には、相当の試行を重ねる必要がある。そこでサブゴールの様なものを考え、これを環境から推定できれば試行回数を減らせえるというアイデアである。もう一つの利点はゴールが多少移動した場合や環境からの雑音が多くなってもサブゴールを学習していれば到達し易いことである。昼間に要所に目印を付けてゴールすれば、暗くなっても簡単に辿り付けると云う理屈と同じである。

 このOptionには明示的なもと暗示的なものがあり、明示的なOptionは経験的に設定するもので階層型モデルとして使われている様である[2]。しかし暗示的Optionはこの認識が大きなテーマであり変分法を使うものもある[3]。暗示的Optionは、報酬による外的動機付と対立する考えで、内発的動機付(IM:Instrinsic Motivation)に位置づけられ、報酬とは関わりなく動作する自律Agentモデルで使う重要なものの一つである[4]。

 Actor-CriticをOption用に拡張したOption-Critic(2016)は暗示的なoption(以下intra-option)の学習の一つで下記の論文を読んでみる。

[1609.05140] The Option-Critic Architecture

 

 論文によればintra-optionは\omega \in \Omegaで表記され次の組で定義されるものである。

   [ I_\omega,\pi_\omega(\theta),\beta_\omega(\vartheta)]

  ここで

   I_\omegaはoptionの開始の状態sを示す

   \pi_\omega(\theta)はoptionの方策

            \beta_\omega(\vartheta)は終了関数と云い(サブゴールの確率を示す)

            \theta\varthetaはOptionのパラメータで勾配により最適化の対象

 このoptionを統合したMDPをSemi-MDP(SMDP)とも云う。

 具体な例として、下図の様に4部屋あり通路を通ってゴールに達する課題の場合、学習が進むと終了関数\beta_\omega(\vartheta)(サブゴール)の確率分布は下図の明るい色で表示され、下図では上下の通路がサブゴールとして認識されていることが分る。

 

f:id:mabonki0725:20190109165707p:plain

4部屋と通路

(1) モデル

    intra-optionでは、この方策と終了関数(サブゴール)が求まればよいことになる。この論文ではintra-optionの行動価値関数Q_\Omegaを最適化するパラメータを勾配法で求めている。

  まずintra-optionの行動価値関数は行動aについて価値関数を総和して消去している。

  Q_\Omega(s,\omega) = \sum_a \pi_{\omega,\theta}(a | s) Q_U(s,\omega,a)    (1)

       Q_U(s,\omega,a) = r(s,a) + \gamma \sum_{s'} P(s' | s,a) U(\omega,s')    (2)

       U(\omega,s') = (1 - \beta_{\omega,\vartheta}(s'))Q_\Omega(s',\omega) + \beta_{\omega,\vartheta}(s')V_\Omega(s')     (3)

  U(\omega,s')は終了関数(サブゴール)の確率\beta_{\omega,\vartheta}で按分された価値である。前項はサブゴールへの途中intra-option:\omegaを採った価値で後項はサブゴールに至っておりoptionを採らない状態価値となる。

    ここで

  \gammaは割引率

       P(s' | s,a)は行動aで状況sから状況s'への遷移確率

 

 このintra-ptionのパラメータ\theta\varthetaの最適化は、intra-optionの方策\pi_{\omega,\theta}と終了関数\beta_{\omega,\vartheta}を使ったintra-optionの行動価値関数Q_\Omega(s,\omega)について、それぞれ偏微分して勾配を求めてパラメータを更新して行っている。

 intra-optionの行動価値関数Q_\Omega(s,\omega)\thetaでの偏微分は(1)と(2)式より微分して

  \frac{\partial Q_\Omega(s,\omega)}{\partial \theta} = [ \sum_a \frac{\partial \pi_{\omega,\theta} (a | s) Q_U(s,\omega,a)}{\partial \theta} ] + \sum_a \pi_{\omega,\theta} (a | s) \sum _{s'} \gamma P(s' | s,a) \frac{\partial U(\omega,s')}{\partial \theta}

  これを本論文のAppendixのoption方策勾配定理を使うと以下で表される。

  \frac{\partial Q_\Omega(s,\omega)}{\partial \theta} = \sum_{s,\omega} \mu_\Omega(s,\omega | s_0,\omega_0) \sum_a \frac{\partial \pi_{\omega,\theta}(a | s)}{\partial \theta} Q_U(s,\omega,a)

       \mu_\Omega(s,\omega | s_0,\omega_0) = \sum_{t=0}^\infty \gamma^t P(s_t = s,\omega_t = \omega | s_0,w_0)

 次にoptionの行動価値関数Q_\Omega(s,\omega)\varthetaでの偏微分は(1)と(2)と(3)式より微分すると

       \frac{\partial Q_\Omega(s,\omega)}{\partial \vartheta} = \sum_a \pi_{\omega,\theta} (a | s) \sum _{s'} \gamma P(s' | s,a) \frac{\partial U(\omega,s')}{\partial \vartheta}

  \frac{\partial U(\omega,s')}{\partial \vartheta} = - \frac{\beta_\omega,\theta(s')}{\partial \vartheta} A_\Omega(s',\omega) + \gamma \sum_{\omega'} \sum_{s''} P(s'',\omega' | s',\omega) \frac{\partial U(\omega',s'')}{\partial \vartheta}       (5)

  A_\Omega(s',\omega) = Q_\Omega(s',\omega) - V_\Omega(s')

 

 また(5)式のU(\omega,s)\varthetaでの偏微分はAppendexの終了関数勾配定理を使うと

  \frac{\partial U(\omega,s')}{\partial \vartheta} = -\sum_{s',\omega} \mu_\Omega(s',\omega | s_0,\omega_0) \frac{\partial \beta_{\omega,\vartheta}(s')}{\partial \vartheta} A_\Omega(s',\omega)

 

 以上によりパラメータ\theta\varthetaを更新するためintra-option行動価値関数Q_\Omega(s,\omega)の勾配が得られた。

   論文ではoptionの選択方策\omega \sim \pi_\omega(s)の方法は明確に述べられていない。これは課題によって最適な方策を採るべきなのだが、論文では次式のmax_\omegaで汎用的な価値g_tを最大化するintra-optionの選択方法を示している。但しintra-optionの選択は\epsilon greedyとして\epsilonだけランダムに選ぶ方法を採っている。

 g_t = r_{t+1} + \gamma [ (1-\beta_{\omega,\vartheta}(s_{t+1})) \sum_a \pi_{\omega.\theta}(a | s_{t+1}) Q_U(s_{t+1},\omega_t,a) + \beta_{\omega,\vartheta}(s_{t+1}) max_{\omega} \sum_a \pi_{\omega,\theta}(a | s_{t+1}) Q_U(s_{t+1},\omega,a) ]

 Option-CriticのCriticの役割として、価値の最大化g_tを使うとintra-option価値関数Q_u(s,\omega)は次式で更新することになる。 ここで\alphaは学習率

   Q_U(s',\omega,a') = Q(s',\omega,a') + \alpha (g_t - Q(s,\omega,a))

 

  

(2) アルゴリズム

よってOption-Criticのアルゴリズムは以下となる。

 s \gets s_0

    \omega \sim \pi_\Omega(s)    g_tを最大化する \epsilon greedyでサンプル

   repeat :

        a \sim \pi_{\omega,\theta}(a | s)

        \delta \gets g_t - Q(s,\omega,a)

       行動価値関数の更新 Critic

         Q_U(s,\omega,a) \gets Q_U(s,\omega,a) + \alpha \delta

       パラメータの更新

        \theta \gets \theta + \alpha_\theta × 式 (1)の偏微分

   \vartheta \gets \vartheta + \alpha_\vartheta × 式(5)の偏微分

  もしサブゴールに達していない  \beta_{\omega,\vartheta} \in s'なら

   \omega' \sim \pi_\Omega(s') g_tを最大化する\epsilon greedyでサンプル

           s \gets s'

       もし s がGoalなら終了

 

 全体のOption-criticのシステム構成は以下で示されている。

f:id:mabonki0725:20190110085529p:plain


(3) 実験 

 ここでは以下の実験を行っている。

    ①4部屋に通路があり、ゴールが突然移動になった学習

    ②任意型の物体の間を抜けるボール

    ③汎用的な深層強化学習プラットフォーム(ALE)での結果

 

 実験①4部屋に通路があり、ゴールが突然移動になった学習 

  Suttonの論文[1]の実験課題であるが、以下の課題としている。

 ・Optionは明示されず数のみ設定する。

 ・ゴールの移動 前半ではゴールが左2部屋の通路にある。

  この学習が収束した状態で、ゴールが右下の部屋に移動する。

 ・3分1の割合で移動が失敗しランダムに動く

 結果

  比較対象はSarsa  普通のActor-critic(AC-PG)  intra-optionの数4(OC-4) intra-optionの数(OC-8)

       (左図)intra-optionでは後半のゴールの移動後の学習は前半の学習効率と殆ど変わらないことが分る。intra-optionでは報酬で直接動作するのではなく有意なoptionに従って動作するので効率がよいと考えられる。

       (右図)終了関数\beta_{\omega,\vartheta}(s)の確率が高い所を明るく表示

  通路の所が明るく表示され、通路を通ることがintra-optionとして捕らえていることがわかる。  

f:id:mabonki0725:20190111101833p:plain

 実験②任意型の物体の間を抜けるボール

   下図(左図)の様に任意の形状を持つ障害の間をボールが抜けるintra-optionの学習である。

   次の様な制約がある。

    ・障害には弾力性があり、衝突すると罰則がある 

    ・ボールには速度、上下左右移動、無操作の行動選択がある

    ・無操作が続くとボールは99.5%の確率で停止してしまう

   結果

    右図の様に約10回の試行回数で学習が収束している。intra-optionが多い方が学習精度が高く、左図の経路はこのモデルで計算された4種類のintra-optionの区分である。各々のintra-optionの経路には特徴があるこが分る。

f:id:mabonki0725:20190111110211p:plain

  実験③汎用的な深層強化学習プラットフォーム(ALE)での結果

   この汎用深層強化学習(ALE:Arcade Learning Enviroment)は文献[5]で開発されたものを使っているが、深層モデルの構成やパラメータの調整を行っている、実験課題はAtariゲームとなっている。ここではActorで正則化項の追加やベースライン項が有意であることが述べている。   

f:id:mabonki0725:20190111111121p:plain

ALEでのIntra-optionの構成

   結果

   以下のAtariゲームでの結果でDQNのレベル(橙色)と比較していて、Pacman以外はintra-optionの方が良い精度が出ている。

f:id:mabonki0725:20190111111712p:plain

   潜水艦ゲームでは2種類のintra-optionが設定され、使われているintra-optionの変更状態が下図の上段のBar(白色:option1 黒色:option2)に表示されいる。この場合のゲームの図が下段に表示され、option1は上昇 option2は下降である事が分る。

f:id:mabonki0725:20190111112432p:plain

(4) 感想

   暗示的optionはオプション方策とサブゴールを示す終了関数の両方を最適化する必要がありしかも疎な報酬で学習する複雑なモデルである。しかし暗示的optionを一旦習得してしまえばゴールが変更になった場合や雑音や制御が難しくなった場合でも簡単にゴールまで到達できる利点がある。暗示的optionは人間の様に報酬に直接依存せず内発的動機付けによって自律的な動作する様なロボット開発には重要な概念である。例えば料理をさせる様な複雑な動作をするロボットの場合を考えると、最終的な報酬ではなく様々な段階でのサブゴールを習得することが必要である。暗示optionは今後発展が期待できるモデルと思われる。

 

[1]R.Sutton  [A framework for temporal abstraction In reinforcement learning]

[2]増山岳人 他 [階層型強化学習におけるスキル価値の汎用化に基づいた探索空間の縮減]

[3]K.Gregor [Variational Intrinsic Control]

    J.Achiam [Variational Option Discovery Algorithm]

[4]浅田稔 [内的動機付けによるエージェントの学習と発達]

[5][1207.4708] The Arcade Learning Environment: An Evaluation Platform for General Agents