DeepMindの行動計画の論文を読む

ランニングできず 英語20分 Toeic問題

(1) DeepMindの7月に投稿された4本目の論文 「Learning Model-Based Planning from scrach」を読む。これはModel-basedの問題解決のため計画をするLSTMモデルである。同時に出された「Imagenation-Augumented Agents for Deep Reinforcemennt Learning」はModel-free版と思われる。

[1707.06170] Learning model-based planning from scratch

まだ読了していないが、これまでの行動の結果やこれからの模擬(ここではImaginationと言っている)の結果を外部記憶に入れる。外部記憶と報酬予測とをLSTMに入れ、すぐ行動するか模擬を持続するか判断するモデルである。

実験として、下記にあるDeepMindのデータベースにあるSpaceShip taskと云うゲームで中央に母船があり、ここに帰還する最小コストのミッションを行っている。途中に星があり引力や噴射のノイズで思った所に移動できない。これを行動と模擬予測とで最適な行動を行う。

赤:実際に移動した軌跡 青:実際の奇跡からの模擬予測 緑:模擬予測の次の予測

右端は経路のグラフ

f:id:mabonki0725:20170723224605p:plain

 

Lie群の本を読む

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

(1) 「曲がった空間の幾何学宮岡礼子の14章 Lie群を読む。DeepMindのNeural Turing MachineLie群上の多様体で実現しているとの主張をハーバードの論文がしているためにLie群を理解しようとする。

https://arxiv.org/abs/1602.08671

ネット上では数々の解説があるが、この本の記述は簡潔で理解しやすい。

 まず群の定義があり、Lie群の定義が記述されている。

群とは、結合法則があり単位元と逆元が存在する集合{G}のこと

   ・結合法則{g \cdot (h \cdot k) = (g \cdot h) \cdot k  \ \ \ \ g,h,k \in G}

   ・単位元e{g \cdot e = g  \ \ \  g,e \in G}

   ・逆元g^{-1}{g \cdot g^{-1} = e  \ \ \ g,g^{-1},e \in G}

  Lie群とは、

     ・群であり、

     ・連続で微分可能な写像\Phiによって多様体の構造を持つ

    {\frac {d\Phi}{d \theta} = r}

     ・ 写像\Phiの前と後の空間で演算結果がユニークである(対応関係がある)

    {\Phi(\theta) = \Theta  → \Phi(f(\theta)) = F(\Theta)}

     ・写像複素数を含めた行列で表現できる。

 

 ユークリッド空間以外の有名なLie群としては、回転群、ユニタリー群がある。

 回転群 { R(\theta) = \begin{pmatrix} cos\theta  \   -sin\theta  \\  sin\theta \  cos\theta \end{pmatrix} }

   ユニタリー群 {U = \begin{pmatrix} \alpha  \  -\beta \\ \beta \  \alpha \end{pmatrix}}

 オイラー表示  {e^{i\theta} = cos\theta + i \cdot sin\theta}

DeepMindのモデルはこのLie群の対応関係によって、複雑なパターンを呼出すことができている。

 

 

 

 

企業の不芳情報の自然言語解析が始まる

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

(1) 職場で企業の不芳情報の自然言語解析を求められる。今回は不芳情報の言葉の種類と倒産との関係を調べるだけなので所謂Bag Of Wordの頻度分析となる。この様な初歩的な事が分析可能である事が現場では分らなかったらしく長く放置していたとのこと

前にWord2vecの分析に使ったmecab形態素解析Linuxに入れる準備をする。

さらにXgboostでの顧客諾否のデモを行い、この精度や運用や将来の方向についLINIX+python+OpenなAIモデル導入が主流である事を説明する。少しはAIの潮流について印象を与えたかもしれない。

(2) Lie群のNTMモデルについて資料作成にて、DeepLearningの精度や安定性を論じるにはLie群の知識が必要と思い、長らく放置してきた「情報幾何学」を読むことにしたが、まず簡単な読み物として「曲がった空間の幾何学」を読みはじめる

 

ROSのLT大会 優秀だが統計的アプローチは無い

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

(1) Lie-Access Neural  Turing Machine の論文の纏めの続き。M君やF君の資料を読み解釈の修正をする。F君の資料にLie-Accessがあり先見性に驚いたが、NTMがLie群上で解釈できるとは思っていない様だ。

(2) ROSのLT大会に参加する

 一人5分のLTで15人の発表があった。自動運転やロボテックスはベイズ統計による逐次修正モデルなのだが、ROSの通信技術やシュミレーション・画像技術が主なテーマとなっていて、やはり統計的な話は殆ど無かった。SLAMなどは確率モデルである事をどれだけの人が知っているのだろうか? ドローン等の飛行物体の3D制御もROS技術の高度化に頼っていて、画像のパターン認識なしでは達成は困難であると思われる。ROS上で稼動するラズパイパイマウスを製作した千葉工大の上田先生が「ロボットは確率である」を唱えているが、この努力も空しいものと思う。

隆一 上田, 千葉工業大学 ー 准教授 at 千葉工業大学

しかしLT発表では以下の注目すべきものがあった。

・ROSによる2足歩行ロボットのGazeboシュミレータの問題点の指摘

・SegNet(画像のセグメント)DeepLearningとGPUを使ったJetson+ROS

・LiDARの自作

・ROS2のOS非依存

Lie-Access Neural Turing Machineを纏める

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

(1)引き続き Lie-access Neural Turing Machine を読む。この論文は2つに分かれている。

 1) DeepMindのNeural Turing Machine(NTM)が以下の複雑なパターンの学習できる理由

         ・a b c d e f g  ⇔  g f e d b aと逆を教えると  x y w v z  →  z v w y zと逆出力する

          ・a b c ⇔ a b c a b c a b cと3回繰返すと  v  x  y  z→ v  x  y  z  v  x  y  z  v  x  y  zと3回出力

          ・3 4 5 6 7 ⇔ 3 5 7 4 6と奇数先とすると    a b c d e→ a c e b dと奇数順から出力

  この様な学習はLSTM単独ではできず、外部記憶で記憶できるため可能になっている。

  これは下図にある様に、外部記憶のアクセス・コントローラがニューラルネットで構成され、これが適切に移動するからであるが、この論文はこの部分がLie群多様体上の動きであるので、安定した結果が得られるとの主張である。

 

f:id:mabonki0725:20170720190220p:plain

 

  上図を式で記述すると以下の展開になっている

            {h^{(t)} := LSTM(x^{(t)}; \rho^{(t-1)},h^{(t-1)})}

            {\rho^{(t)} :=Reed(\Sigma^{(t-1)},h^{(t)})}

   {\Sigma^{(t)} :=Write(\Sigma^{(t-1)},h^{(t)})}

   ここで

         {h}はLSTMの隠れ変数 

         {\rho}は外部記憶からの読込値

         {\Sigma}は外部記憶(N×M)で{(k_i,v_i,s_i)  i=1,\cdots,N}で構成される

      {k_i}は外部記憶のキー  

      {v_i}はキー位置での値(vector)

       {s_i}はキー位置でのデータ長

        ここで外部記憶への針(Header)は{q'(h)}とすると、読込値{\rho}は以下となる

     {\rho := Read(\Sigma,h) = \sum_i w_i(q'(h),\Sigma)v_i}

              {w_i(q,\Sigma) := \frac{s_i \exp \lt q,k_i \gt}{\sum_j s_j \exp \lt q,k_j \gt}}

  上式の{w_i}は外部記憶のキー毎での重みであって、{q'(h) = k_i}ほど内積{\lt q,k_i \gt}大きくなる。

  即ち隠れ変数と似たキーが{\rho}として検索されることになる

  

2) Lie群上のNTM(LANTM)モデルでの検証

 この主張を確認するため、アクセス・コントローラをLie群上の関数で実装して、DeepMindのNTMと比較して、実現できるか確認している。得られた結果はかなりの精度の向上が示されている。

 HeadはLie群上で操作{a(h)}で移動するが、以下の2つのLie群多様体上を移動するものとする。

     Headの位置の移動{q  \to q'}

     {q' := a(h) \cdot q}

   (A) Lie群上のシフト移動

  {q' := a(h) \cdot q = (\alpha,\beta) + (x,y) = (x+\alpha,y+\beta)}

   (B) Lie群上の球面上の移動

  {q':= a(h) \cdot q = (\xi,\theta) \cdot q = qcos\theta + (\xi \times q)sin\theta + \xi \lt \xi,q \gt (1 - cos\theta)}

    読込み値{\rho}を決める重みはLie群上の距離 {d(a,b)}の近さに比例と定義する

         {w_i(q,\Sigma) := \frac{s_i dz(q,k_i)^{-2}}{\sum_j s_j d(q,k_j)^{-2}}}

 これは近い程大きな値を取るので、DeepMindのNTMが{\lt q,k_i \gt}内積と同じ考え方である。

 

 

 

Lie群上のNeural Turing Machineの論文を読み始める

ランニング30分 英語:StarWars

(1)DeepMindのNeural Turing Machine(NTM)が何故旨くいくかについてLie群上で理論解明したハーバード大学のLie-Access Neural Turing Machine を読み始める。

https://arxiv.org/abs/1602.08671

これはT研のM先生の解説で知った論文である。Neural Turing MachineはLSTMに外部記憶を使う事によって、複雑な規則の文字列を生成することが可能である。これは後のDNC(Differencial Neural Computer)に応用され、質疑応答などの高度な推定が可能になった。

DeepMindのNTMではLieという言葉が1回しか出現しないが、本論文の見解は以下である。

複雑な記憶を外部記憶に残す場合でも、外部記憶のアクセス針(Head)は微分可能なNeuroの重みの分布なので、HeadはLie群上の多様体を形成し、外部記憶はLie群多様体上で簡単な構造で書き込まれる。一見複雑な記憶パターンはLie群上からは単純なパターンとして読出しできるとの見解である。

 

 

 

OpenPoseの時系列解析資料を作成し始める

テニス30分 英語できず

(1)大学の研修として OpenPoseで撮った骨格の時系列解析資料と擬似データを作成し始める。テーマはスポーツの動きを時系列で解析して、その熟達度レベルを判別するモデルとする。まずはLSTM用とHMM用のデータの擬似データPADOCツールで作成した。

f:id:mabonki0725:20170717140053p:plain

f:id:mabonki0725:20170717184122p:plain

f:id:mabonki0725:20170717184214p:plain

f:id:mabonki0725:20170717184302p:plain