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

ランニング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モデルでの命令と報酬で理解させており、言語で複雑な状況を徐々に理解させる事に成功している。

 

 

独居見守り用one-class SVMの論文を読む

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

(1) 独居見守り用one-class SVMの論文を読む

「One-Class SVM を用いた高齢者異常検出モニタリングシステム」

 https://www.msi.co.jp/userconf/2013/pdf/muc13_CR12_1.pdf

  オープンポーズを利用したヘルスケア用システムとして独居老人の異常検知One-Class SVMの論文を読みました。そこでこの論文中の(1)~(2)式の説明をしたいと思います。

 下図の様に超平面で分布を分離し、各々の集団をSVMで引き離せば明確になります。

この図の場合は少し広いですが裾野が異常先となります。

f:id:mabonki0725:20171006210957p:plain

 

 上図を翻って考え、逆に分布をある関数で高次元の非線形関数で写像し、切断面は線形でもよい事になります。one-class SVMの定式化はこのアイデアで出来ています。 

       f:id:mabonki0725:20171006213737p:plain

     PRMLの(7.22)に示す様に重なり合う(ソフトマージン)を使うと拘束条件付の最適化問題になります。

    \min_{w,\rho,\xi} \ \ \frac{1}{2} {||w||}^2 - \rho + \frac{1}{\nu} \frac{1}{N} \sum_{i=1}^N \xi_i ①式

         s.t. \ \ \ \lt w.\phi(x) \gt  \le \rho - \xi_i  

        ここで

   wは最適化対象の重みで分離を最大にします

            \rhoは線形切断面

            \phi(x)カーネルで高次元で写像する関数です

            \lt w.\phi(x) \gt = \sum_{i=1}^N w_i \cdot \phi(x_i)

 ①式はラグランジュ関数問題を適用できるので、各々を微分して解を求めます。

         \mathcal{L}(w,\rho,\xi) = \frac{1}{2} {||w||}^2 - \rho + \frac{1}{\nu} \frac{1}{N} \sum_{i=1}^N \xi_i 

             - \sum_{i=1}^N \alpha_i \{\lt w,\phi(x_i) \gt - \rho + \xi_i \} - \sum_{i=1}^N \gamma_i \xi_i ②式

 ②式を各々で微分すると

        \frac{\partial \mathcal{L}} {\partial w} = w - \sum_{i=1}^N \alpha_i \phi(x_i) = 0 \ \to \ w=\sum_{i=1}^N \alpha_i\phi(x)    ③式

        \frac{\partial \mathcal{L}}{\partial \rho} = -1 + \sum_{i=1}^N \alpha_i=0 \  \to \ \sum_{i=1}^N \alpha_i = 1

  \frac{\partial \mathcal{L}}{\partial \xi_i} = \frac{1}{\nu N} - \alpha_i - \gamma_i=0

                   \to \  0 \ge \alpha_i \ge \frac{1}{\nu N} \ \ (i=1,2,\dots,N)

   ③式を使ってカーネルトリックを使うと

   \frac{1}{2} {||w||}^2 = -\frac{1}{2} \{\sum_{i=1}^N \alpha_i\phi(x_i)\} \cdot \{\sum_{i=1}^N \alpha_i\phi(x_i)\} = -\frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j k(x_i,x_j)

 

 よって①式微分より最適な\rho\xi_iが求まったので、

    ①のSVMは次の決定できてない\alpha2次計画法問題を解くモデルとなります。

  max_{\alpha} = -\frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j k(x_i,x_j)

        s.t. \ \ \ \sum_{i=1}^N \alpha_i =1

                       0 \ge \alpha_i \ge \frac{1}{\nu N} \ \ (i=1,2,\dots,N)       ④式

 またKKT条件より次が成り立ちます(残念ですが導出できませんでした)

  \alpha_i^* \{ \lt w,\phi(x) \gt - \rho + \xi_i \} = 0

        \left(\frac{1}{\nu N} - \alpha_i^* \right) \xi_i = 0

        但し \alpha_i^*は④式の最適解です

 

   この様な条件を満たすには次が成り立ちます。

   \lt w,\phi(x) \gt - \rho = 0

   よって 超平面境界を適当にx_Bの点に置くと次が求められます。

  \rho = \lt w,\phi(x_B) \gt = \sum_{i=1}^N \alpha_i^* k(x_B,x_i)

 x_Bの点での境界の内外の区分関数f(x)は次の簡単な式となります。

       f(x) = sign\left(\sum_{i=1}^N \alpha_i^* k(x,x_i) - \sum_{i=1}^N \alpha_i^* k(x_B,x_i)\right) ⑤式

 

 実際に⑤式をC言語で計算した結果が下図となります。

 ④式の最適化問題は有効制約法による2次計画法を使いました。

  「2値判別問題における有効制約法」山下寛隆

 上の図の赤点はカーネルで3次元に写像した図で、切断面は線形です。この様にカーネルを使うと分離問題は旨く行くことがわかります。

f:id:mabonki0725:20171006224537p:plain

 

 

 

 

 

 

  

 

ベイズ方式による多腕バンディッドの論文を読む

テニススクール90分 英語できず

(1) ベイズ方式による多腕バンディッドの論文を読む

「Gaussian Process Optimization in the Bandit Setting:No Regret and Experimental Design」https://arxiv.org/abs/0912.3995

 バンディッドとはスロットマシンのことで、この論文は複数のスロットマシンへ出来るだけ少ない投資で沢山の報酬を得る戦略を考えるものです。

 一般に沢山投資すればする程よいスロットマシンが見つかるので、これは事前の予想を試行結果で改善するのでベイズモデルとなります。

 確率過程で無条件下では、ある時点から次の時点に推移するにはガウス分布の乱数で推移すると考えるのは合理的です。但しガウス分布の裾の広さ\sigmaは経験的に分っているとします。

      f:id:mabonki0725:20171006002642p:plain

     この確率過程で下図の様に実測が分っている場合はその点を通るモデルとしてガウス確率過程(GP:Gaussian Process)がります。

 下図はx軸に各スロットマシンが並んでおりy軸に報酬とした場合、真の平均の報酬曲線を推定する過程を示しています。GPは観測データが無い所は報酬の分散が広くなり、観測データがあると分散が狭くなる特性があります。

f:id:mabonki0725:20171005200211p:plain

 上図の様に分散が大きい所を試行すればより正確な曲線を把握できることがわかります。この様にすれば出来るだけ少ない投資で最上のマシンを見つける戦略が立てられそうです。

    上図の様に探索するには具体的には次式で探します。

    この方式をGP-UCB(Gaussian Process-Upper Confidence Bound)アルゴリズムと云います。

   x_t = argmax_{x \in \mathcal{D}} \{u_{t-1} (x)+ \beta^{1/2} \sigma_{t-1} (x)\}

      ここで

   u_{t-1}(x)1 \sim t-1回までの平均の報酬

            \sigma_{t-1}(x)1 \sim t-1回までの報酬の標準偏差

            \betaが大きいと霍乱項\sigmaを重視してxを選択します

            逆に\betaが少ないと経験を重視したグリィディな選択とります

 

 上式の値を得るためにGPは次の式で算出します。導出は下記のPRML記述参照

            u_t(x) = k_t(x) ^T( K_t + \sigma I) ^{-1} y_t     ①式

             \sigma_t^2(x) = k_t(x,x)

            k_t(x,x') = k(x,x') - k_t(x) ^T( K_t + \sigma I) ^{-1} k_t(x')

            ここで

               k(x,x') はベクトル xx'カーネル内積です

      k_t(x) = [k(x_1,x) \cdots k(x_t,x) ]^T

      y_tt時点で得られた報酬です

               K_tk(x,x')のグラム行列です

  ガウス過程では次の様なカーネルを使う場合が多いです。

     k(x,x') = \theta_0 \exp \left ( - \frac{\theta_1}{2}{|| x - x'||}^2 \right) + \theta_2 + \theta_3 x ^t x'    ガウスカーネル

     ここで \theta_1 \sim \theta_3は実際のデータより最尤法で計算されます。

 

 恒例のPRMLから①式を導出してみます。

 カーネルは2個のベクトルx \ x'を高次元に写像\phi(x)しています。

    写像関数はカーネルの種類によって異なります。

   k(x,x') = \phi(x)^T \phi(x')

 ガウス過程は高次元へ写像した関数での線形回帰を考えます。即ち高次元へ写像した方が非線形的な回帰を実現して当てはめが良くなります。

    まず損失関数J(w)を考え回帰係数w微分して極小値を採る様にします。

   J(w) = \frac{1}{2} \sum_{n=1}^N \{w^T \phi(x_n) - y_n \} - \frac{1}{2} w^Tw  ②式

 これをw微分すると

   \frac{dJ(w)}{dw} = \sum_{n=1}^N \{w^T \phi(x_n) - y_n \}\phi(x) -\lambda w = 0

            w = \frac{1}{\lambda}  \sum_{n=1}^N \{w^T \phi(x_n) - y_n \}\phi(x) ③式

    ここでa_n = \frac{1}{\lambda} \{w^T \phi(x_n) - y_n \} ④式 と置くと

   w = \sum _{n=1}^N a_n \phi(x_n) = \Phi^T a ⑤式

            但し \Phi = [\phi(x_1) \dots \phi(x_N)]^T  a = [a_1 \dots a_N]^T

  ④式をベクトル表現すると

             a = \frac{1}{\lambda} \{ \Phi w - y \}

     上式に⑤式を代入すると

    a = \frac{1}{\lambda} \{\Phi \Phi^T a - y\}

    これをaについて解くと 但し  \Phi \Phi^T = K

           a = (K + \lambda I_N) ^{-1} y

   y(x) = w^T \phi(x)カーネル写像の回帰モデルなので ⑤式を使って

           y(x) = w^T \phi(x) = a^T \Phi \phi(x) =\{\Phi \phi(x)\}^T a = k(x)^T (K + \lambda I_n) ^ {-1} y   ①式が導出された

    但し  k(x) = \{\Phi \phi(x)\} =  [\phi(x_1) \phi(x) \dots \phi(x_N) \phi(x)] = [k(x_1,x) \dots k(x_N,x) ]

 

 

 

 

 

 

 

 

 

  

Efronの曲率による最尤値推定の論文を読む

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

(1) Efronの曲率による最尤値推定の論文を読む

 「Curvature and Inference for Maximum Likelihood Estimations」

http://statweb.stanford.edu/~ckirby/brad/papers/2016CurvatureInferenceMLEs.pdf

 T研のMゼミで解説された この論文がPRMLの記述と異なり全く付いて行けなかったのでPRML記述に直して読んでみました。   

 この論文は指数分布族の最尤推定できる範囲を幾何的に説明したもので情報幾何学の一部となります。

 著者のEfronの曲率は次の資料で分る様に情報幾何学の甘利俊一先生がこの分野を志した契機になったものです。

https://www.jstage.jst.go.jp/article/bjsiam/11/3/11_KJ00005768851/_pdf

 情報幾何学は難解ですが、甘利先生の影響はニューロや脳神経モデルで絶大なので読んでみる気になりましたが、やはり途中で挫折しました。

 情報幾何学を解説した甘利先生の講義のビデオがありました。   

    情報幾何講義 (甘利俊一、午前) 難易度★★ - YouTube

www.youtube.com

  今回はこの論文の指数分布族の記述についてPRMLの記述で理解するだけとなります。

 指数分布族はPRMLでは次式で定義されています。

  p(x|\eta) = h(x) g(\eta) \exp\{ \eta^T u(x) \}    ①式

        ここで

   xはデータ

            \etaはパラメータ

            u(x)xの任意の関数

     g(\eta)は確率の和が1になる事を保証するものです。

   ①式を積分すると1なので

            \int p(x|\eta) dx = g(\eta) \int h(x) \exp \{\eta^T u(x) \} dx = 1 ②式

            分配関数z(\eta) = \frac{1}{g(\eta)} と置くと

            \frac{\int h(x) \exp \{\eta^T u(x) \} dx} {z(\eta)} = 1

 ここで \psi(\eta) = \log g(\eta) 即ち \exp \psi(\eta) = g(\eta)と置くと

           p(x|\eta) = h(x) \exp \{\eta^Tu(x) - \psi(\eta) \}

    そして u(x) \to y  h(x) \to g_0(y) と置くと論文の(2.1)式が出てきます。

          g_\eta(y) = e^{\eta^Ty - \psi(\eta)} g_0(y) (2.1) 式 

 

   指数分布族では平均と分散が \psi(\eta)微分と2回微分で計算できる便利な定理があります。   

    以下これを示します。

 ②式を\eta微分すると

       \nabla g(\eta) \int h(x) \exp \{\eta^T u(x) \} dx + g(\eta) \int h(x) \exp \{ \eta^T u(x) \} u(x) dx  = 0   ③式

   左辺の第1項は\int h(x) \exp \{\eta^T u(x) \} dx = \frac{1}{g(\eta)}

   左辺の第2項は  \ g(\eta) \int h(x) \exp \{ \eta^T u(x) \} u(x) dx = \mathbb{E}(u(x))

 ③式は次となります。

   \nabla g(\eta) \frac{1}{g(\eta)} + \mathbb{E}(u(x)) = 1

          \frac{1}{g(\eta)} g(\eta) = \nabla \log g(\eta)なので

   -\nabla \log g(\eta) = \mathbb{E}(u(x))     ⑤式

    \psi(\eta) = \log g(\eta)なので 論文の(2.2)式となります。

   - \nabla \psi(\eta) =  \mathbb{E}(u(x))  

   \mu_\eta = (\partial\psi/\partial \eta_i) = E_\eta \{y\}  (2.2)式

 同様にして分散も2回微分で求められて

   V_\eta = (\partial\psi/\partial \eta_i \partial \eta_j) = cov_\eta \{y\}   (2.2)式

   ここまでの結論として分配関数z(\eta)の対数\psi(\eta)微分すると平均、2回微分すると分散が表現できることが、指数分布族の特徴です。

 

 ここまでがPRMLを使った指数分布族の説明で、以降論文に沿って説明します。

 指数分布族の尤度l(y)は(2.2)を使って次式となります。

     l(y) = \log [ g_\eta(y) ] = \eta^T - \psi(\eta)

    パラメータ\etaを求めるため尤度を微分します。

  \dot{l}(y) = \dot{\eta}^T y - \nabla \psi(\eta) = \dot{\eta}^T (y - \mu) = 0

   尤度が正しく極大値を取るかを見るため2回微分します。

  \ddot{l}(y) = \mathcal{I} - \ddot{\eta}^T (y - \mu)

     ここで\mathcal{I}はフィッシャー情報行列で

   \mathcal{I} = \dot{\eta}^T V \dot{\eta}

 この値が零または負なれば極小値か鞍点なので正しい尤度解ではありません。

 以降この式の特性を調べる記述になります。

 

  この\etaが様々な値を採る場合の幾何学的な状態を下図に示します。

  \mathcal{F_\mu} = \{ \mu = \mathbb{E}_\eta(y), \eta \in A\}

        \perp{\mathcal{L}}(\dot{\eta}) = \dot{\eta}^T (y - \mu) = 0なので \dot{\eta}(y-\mu)とは直交しています。

 

f:id:mabonki0725:20171004223155p:plain

 この論文で以降で尤度の2回微分\ddot{l}(y) = \mathcal{I} - \ddot{\eta}^T (y - \mu)の状態を調べる記述になり、この結果statical / curvature(2.19)式以降の記述で尤度が計算できる境界\mathcal{B}と範囲\mathcal{R}の説明になりますが、難解なため後日挑戦します。

 \mathcal{critical \  boundary} 

       \mathcal{B} = \{ y = \mu + c + r, \dot{\eta}r = \ddot{\eta}r = 0\}

   \mathcal{region \ of \ stability} 

      \mathcal{R} = \{ y = \mu + b v + r, b \lt 1/\gamma\}