一般化報酬による高次元の強化学習の論文を読む

ランニングできず 英語できず

(1) 一般化報酬による高次元の強化学習の論文を読む

 「High - Dimensional Continuous Control using Generated Advantage Estimation」

https://arxiv.org/abs/1506.02438

 ゲームの強化学習ではQ-learningが一般的ですが、人間型のヒユーマロイド型ロボットでは複雑で高次元の制御が必要なため、この強化学習では方策\piが適正拘束条件下の最適化で行うことが多いです。

           f:id:mabonki0725:20171014000943p:plain

 https://youtu.be/Pvw28wPEWEo

 このモデルとしてはUC BerkelyのAbbeel率いるロボット研究グループのShulmanが編み出したTRPO(Trust Region Policy Optimization)が多く使われ実績を残しています。

 この論文は一般化報酬(GAE:Generated Advantage Estimation)を使ったTRPOモデルのアルゴリズムについて述べています。しかしこのGAE自体はSuttonのTD法で既にモデル化されているもので新しいものではありません。

 Suttonの偉大な面は数多くありますが、強化学習のBellman方程式が将来への無限の漸化式で本来は解けないものを、非常に簡単な式で表現して繰返し学習によって精緻化できることを示した事が最大の功績です。これが深層学習と合体して今のAlpha碁になっています。

    方策\pi_\thetaは将来の報酬r(s_t)の累計の期待値の最大化で最適化されます。

   -\mathcal{L}(\theta,s_0) =  \mathbb{E}_{\pi_\theta} [\sum_{t=0}^\infty \gamma r(s_t) ]

 よってこれを微分してSGDで最適化することが一般的です。

        \frac{\partial \mathcal{L}(\theta,s_0)}{\partial \theta} =  \sum_s \mu_{\pi_\theta}(s|s_0) \sum_a  \frac{\partial \pi_\theta(a|s)}{\partial \theta} A_{\pi_\theta}(s,a)

        但し、\mu_{\pi_\theta} = \sum_{t=0}^\infty \gamma^t P(s_t = s|s_0)

    ここで A_{\pi_\theta}(s,a)はGAEにあたります。

 このARGはSuttonの有名なTD(λ)によって次式となります。

        A^{ARG(\gamma,\lambda)} = \sum_{i=0}^\infty (\gamma \lambda)^i \delta_{t+i}

  ここで

   \gamma \ \lambdaは割引係数とλ係数です

   \delta_tは価値関数Vの増分\gamma V(s_{t+1})  +  r_t - V(s_t)

     ARGは価値関数の増分\delta_tの累計なので、これは動作経路(観察データ)から得られます。

 これを使って最適な\pi_\thetaを求めるアルゴリズムが以下となります。 

f:id:mabonki0725:20171014004714p:plain

 

 

 

  

 

 

 

複数人が競争する環境での強化学習の論文を読む

ランニングできず 英語できず

(1) 複数人が競争する環境での強化学習の論文を読む

  「Emergent Complexity via Multi-Agent  Competition」https://arxiv.org/abs/1710.03748

 複数の学習者が競争する環境は設定し易い環境ですが、強化学習にとっては最も複雑な環境となります。この論文では競争者が巧手であれば学習者が最も効果的に学習できる場としています。

 下記はOpenAIの3Dで実装できた競争の強化学習です。

f:id:mabonki0725:20171012225945p:plain

https://sites.google.com/view/multi-agent-competition

 このモデルの特徴は初期時には設計された動作をする様にカリキュラムを導入していて、除々に勝負に関わる学習に移行できる様にしています。

 

(1.1) 手法

 1) 学習モデル

  競争モデルのはずですが、学習モデルは一般の方策\pi_\thetaのパラメータ\thetaを最適化するPPO(Proximal Policy Optimization)モデルとなっています。

      PPOは次の最適化問題

       max_\theta \ \  \mathbb{E}_t [\frac{\pi_{\theta_{old}}(a_t|s_t)} {\pi_\theta(a_t|s_t)} \cdot  A_t ]

       s.t.

           \mathcal{L}(\theta) =\mathbb{E}_t [ \mathcal{KL} \{ \pi_{\theta_{old}} (a_t|s_t) || \pi_\theta(a_t,s_t) \}]  \lt \delta  

        ここで A_tは一般評価利益(GAE)です

    A_t = Q_{\pi_\theta}(a_t,s_t) - V_{\pi_\theta}(s_t)

 この最適化問題は次の深層学習で解いています(詳細不明)

  MLP:価値に関する方策\pi_\thetaと価値関数Q_{\pi_\theta}(a_t,s_t)

        LSTM:時間に関する方策\pi_\theta

 

 2) カリキュラムの導入

      初期の動作訓練のためカリキュラムを導入しています。これは時間が経過するとに消滅する人工的な報酬で実現しています。

  即ち、初期はカリキュラムに沿った動きをしますが、時間の経過と共に本来の勝負の報酬で学習する様になっています。

  時間の経過する報酬は次のもので、焼き鈍し係数\alphaが零になると本来の勝負の報酬Rのみなります。

  詳細はAppendix Aにある様に課題毎に設定します。

    r_t = \alpha_t s_t + (1-\alpha_t) \mathbb{I} [ t == T]R

        ここで

            \alphaは時間の経過で消滅する焼き鈍し係数

            Rは勝負が尽いた場合の報酬

            s_tは状況で下記を対象としています。

    ・ゴールまでの距離

    ・x方向の速度

    ・制御のコスト

    ・衝撃コスト

    ・不倒の報酬

 (1.2) 結果

 最初はカリキュラムに沿って動くので、カリキュラムでの学習度で差がでる場合があります。

 (a)の人間型の相撲では最初は同じレベルでしたが、差が除々に拡大しています。しかし(b)の蟻型の相撲ではカリキュラム時の差から反対に叙々に縮まっています。

 サーカーでは2パターンの様子があり、このモデルは安定していない事がわかります。

f:id:mabonki0725:20171013061729p:plain

 

 

 

 

難易度が高いゴールを自動的に見つける強化学習

ランニング30分 英語できず

(1) 難易度が高いゴールを自動的に見つける強化学習

「Automatic Goal Generation for Reinforcement Learning Agents」 https://arxiv.org/abs/1705.06366

 この論文には米国のロボット学の権威 Abbeel が参加しています。このモデルはGANを使うことでより難易度が高いゴールを学習します。 モデル名(Goal GAN)

(1.1) 手法

 難易度が異なる複数のゴールがある場合、GANの構成によってその難易度を識別してより困難なゴールを探索します。

 識別器では探索されたゴールについて以下のことをします。

  ・他の達成された方策でこのゴールに達成できるか識別

  ・達成できない場合は強化学習して達成しようとします

  ・達成された場合、生成器に難易度が高いゴールを探索させます

  ・達成できない場合、生成器に難易度を下げたゴールを探索させます。

 このサイクルの循環は簡単な課題から難しい課題に進むカリキュラムを生成していることになります

f:id:mabonki0725:20171012071453p:plain


 

  (1.2) 実験

  蟻型ロボットがU字路で反対側に移動する実験をこのモデルで行っています。    この場合、ゴールはガウス分布で生成しています。

    f:id:mabonki0725:20171011233933p:plain

 この試行を繰り返すと叙々に反対側に移動できていることがわかります。

 この実験では次の報酬を与えているだけで、より負荷がかかる遠い距離の移動を実現しています。

  ・壁を越えるのは低い報酬

  ・通路歩行は高い報酬

 

f:id:mabonki0725:20171011234258p:plain

 

分散型・敵対的生成モデルを使った逆強化学習の論文を読む

ランニング30分 英語できず

(1)分散型・敵対的生成モデルを使った逆強化学習の論文を読む

「OptionGAN:Learning Joint Reward-Policy Options using Generative Adversarial Inverse Reiforement Larning」https://arxiv.org/abs/1709.06683

 この論文は逆強化学習でGANのロジックを応用して強化学習の精緻化を実現したものです。モデル名はOptionGanです。

 一般に逆強化学習では、熟練者の行動から隠れた報酬を推定する事が一般的ですが、熟練者のデータは断片的に観察されるのが普通です。

 そこでGANを使って熟練者に似た擬似的なデータを増幅して学習精度を高め様とするアイデアです。念が入ったことに、さらに多様に増幅するため分散型の学習を導入しています。

f:id:mabonki0725:20171010235251p:plain

上図の識別器と生成器を分割学習(option法)て局所解を回避して精度向上を実現しています。

f:id:mabonki0725:20171010235320p:plain

 

 

 

敵対的強化学習による耐久性向上の論文を読む

ランニング30分   英語できず

(1) 敵対的強化学習による耐久性向上の論文を読む

 「Robust Adversarial Reinforcement Learninghttps://arxiv.org/abs/1703.02702v1

 この論文は強化学習に敵対者を入れる事によって、より安定した強化学習を達成するものです。 モデル名はRARL(Robust Adversarial Reinforcement Learning)です。

(1.1) 手法

 本来なら学習者と敵対者は同等な扱いで、相手の弱点を相互に見破りながら、互いが強化されるモデルが理想ですが、このモデルを解くのは容易でないので、次のモデルにしています。

 ・学習者と敵対者の学習モデルは、最大の累計報酬を得る行動を決める方策分布\pi_\theta\thetaを最適化するモデル 

    \pi_\theta=\mathbb{E}_\mathcal{P} \left( \mathbb{E} \left( \sum_{t=0}^T \eta r(s_t,a_t)| s_0,\mathcal{P} \right) \right)

          ここで

    \mathcal{P}は遷移確率

             rは報酬

       s_t は状態

             a_t \sim \pi_\thetaは方策からサンプリングされる行動

     ・状況と学習の経路よりTRPOより\pi_\thetaを学習しています

   ※TRPO:Trust Region Policy Optimization

 ・学習者の報酬は敵対者のマイナスの報酬とする

   よって学習者の大きい報酬の契機ほど敵対者は攻撃する

 ・敵対者の攻撃は定められた方法によって攻撃する(Hard-Exampleを採用)

        下図参照

 ・学習者は敵対者の行動を障害とみなす 

 ・学習者と敵対者は互いに短時間で攻守を交代して方策を学習する

   学習者が学習する間は、敵対者の行動は固定

   敵対者が学習する間は、学習者の行動は固定

(1.2) 結果

 実験対象はOpen-AIが用意している次の強化学習ゲームになります。

 実験では敵対者は下図の様な力を加え、学習者を不安定にしています。

 左端は車体に乗った逆倒立棒で棒が倒れない様に車体を制御します

f:id:mabonki0725:20171009204058p:plain

 比較対照はの方策\pi_\theta学習モデルで定評のあるTRPOモデルです

   1)  敵対者の介在によって早期に高い報酬を得られています。横軸:訓練回数

  f:id:mabonki0725:20171009202902p:plain

 学習対象の質量や摩擦を変化させた場合の学習効果です。

 2) RARLの方が質量の変化に強い事が分ります。横軸:質量の変化

    f:id:mabonki0725:20171009204441p:plain

 3) RARLの方が摩擦の変化に強い事が分ります。横軸:摩擦の変化

f:id:mabonki0725:20171009204955p:plain

 

        実際の実験では敵対者は以下の攻撃をしていることが観察されています

  逆倒立棒:倒立棒がより不安定になる方向に力を加えている

    f:id:mabonki0725:20171009205346p:plain

  ホッピング:空中にある場合は横に力、着地の場合上に力を加えています

      f:id:mabonki0725:20171009205625p:plain

(1.2) 感想

 ・敵対的な妨害を入れる事によって耐久性だけでなく、早期に学習できるる事が示されたことは評価できます

 ・学習者と敵対者が対等でない擬似的な敵対モデルなのは残念です

 ・対等な学習モデルの構築が何故困難なぜか記述が欲しかった

  

 

 

 

強化学習に敵対する学習の論文を読む

ランニングできず 英語できず

(1) 強化学習に敵対する学習の論文を読む  https://arxiv.org/abs/1703.06748kore 

これはAttariゲームの強化学習(Q-learning A3C)を効果的に敵対(妨害)するモデルの論文です。

 敵対的な戦略として次の方法を採っています。

 ・効果的な時点での攻撃(strategically timed attack)

 ・ミスを誘う状況への誘導(enchainging attack)

(1.1) 方法

 1) 効果的な時点での攻撃

  強化学習過程で最大の報酬と最低の報酬を得られる差が一番大きい時点を効果的な時点としています。下図では最も報酬の差が高くなる時点でノイズを与えています。

 

f:id:mabonki0725:20171008225820p:plain

    2)ミスを誘う状況への誘導

  ・効果的にミスを誘う状況s_g(target state)を予め設定します。

  ・動画の履歴より、現状s_tからs_gに至る最も近い行動a^*_{t} \sim a^*_{t+H} を予測します。

  ・s_gに至る行動a^*_{t} \sim a^*_{t+H}前の状態s_{g-H}を推定します

  ・この状態s_{g-H}になる様に画面を変更する攻撃\deltaを仕掛けます

f:id:mabonki0725:20171008230047p:plain

 

(1.2) 結果

 Attariゲーム5種類での敵対的攻撃による報酬の劣化を以下に示します。

f:id:mabonki0725:20171009091335p:plain

 強化学習のモデルDQNとA3Cとの比較をしています。

f:id:mabonki0725:20171009091124p:plain

 

第3回言語とロボテックスの持橋先生の講演を聴く

ランニングできず 英語できず

(1) 第3回言語とロボテックスの持橋先生の講演を聴く

(2017/10/7) 第三回 Language & Robotics 研究会 (LangRobo) の開催 - 記号創発システム論調査研究会

 持橋先生の講演はCCG(combinatory Categorial Grammer)による構文解析が各構文木の頂点で文の構造が分る様にラベル化されているので、構文木毎の頂点で意味を付与しやすく、全体としての文章の意味付与に適しているとの話であった。

f:id:mabonki0725:20171008170342p:plain

 

しかしこのこのCCGの結果は結局、命令語への翻訳や異なる意味構造を生成させているだけで、これをロボットに理解させるのは無理があるとのことであった。

 ここで大事な視点が抜けている様に思った。言語はある程度対等な対話者を前提にすべきで、そうでない場合は命令か信号で良い筈である。

 そう云う意味でロボットと対話を期待するなら、低いレベルの片言の対話から始めるしかないと思われる。この片言の対話で意味が通じたと判断する場合にロボットに明示的な報酬を与え、強化学習で訓練するしか無いと考えられる。この点ではDeepMind社のUNREALモデルでの命令と報酬で理解させており、言語で複雑な状況を徐々に理解させる事に成功している。