独居見守り用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\}

 

 

 

 

 

 

  

 

    

 

文体のパターンの繰返しで深層学習する論文を読む

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

(1) 文体のパターンの繰返しで深層学習する論文を読む

 「Dynamic Evaluation of Neural Sequence Models」 https://arxiv.org/abs/1709.07432

   一般に自然言語の深層学習では単語間の繋がりをLSTMで学習することが殆どですが、近年構文を学習するHocherのモデルや意味データベースを使って解析を強化するモデルも出現してきています。

   この論文は長文の構造が似た文体が繰返し出現することに注目し、文体を表す隠れ変数\theta_lで生成される文が連結して構成されるとして解釈するモデルです。

 このモデルをdynamic evalと称しています。

 文体を表す隠れ変数\theta_lを仮定すると文章の尤度は次式となります。

  P(x|\theta_g) = \Pi_{k=1}^N P(s_k| \theta_l^k) \cdot P(\theta_l^k)

        x = \{s_1,s_2,\dots,s_N \}

       ここで

   x:文章全体

            s_k:文  or  固定長の文字列

            \theta_l:文体を表す隠れ変数

            \theta_g:文章全体を表す隠れ変数

 

 このモデルでは下図の様にRMSprop型を修正した深層モデルで

    隠れ変数\theta_l^k \ \theta_gを解いています。

 この論文では明記されていませんが下図のmodel(si,θi)はLSTMと解釈されます。

f:id:mabonki0725:20171004002831p:plain

 (1.1)手法

 自然言語の深層学習にはRNNやLSTMを使うのが一般的ですが、文体間の生成モデルなので深層学習のパラメータ更新タイプのRMSpropの更新規則を改修し使っています。

 このパラメータの調整は一般のニューロモデルと同じです。最終的に生成した文章と実際の文章の相違より逆伝播してパラメータを調整しています。

 但しパラメータの更新規則はRMSpropの修正版を使っています。

 RMSpropの更新規則は以下です。

         h_{t} = \alpha h_{t−1} + (1 - \alpha) \nabla E(\mathbf{w}^{t})^{2}

         \eta_{t} = \frac{\eta_{0}}{\sqrt{h_{t}} + \epsilon}

         \mathbf{w}^{t+1} = \mathbf{w}^{t} - \eta_{t} \nabla E(\mathbf{w}^{t})

 このRMSpropを以下に置き換えしています。

   h_{t-1} \to MS_{t-1}

         \nabla E(\mathbf{w}^t)^2  \to (\nabla \theta_l^t)^2

 また 文体の連鎖を計算するため以下を計算します。

   \mathcal{L}(s_t)\theta_l^tの生成規則で生成した文と実際の文s_tとの相違による損失量          

 ここからRMSpropの各項を計算します。

        \nabla \theta_l^t = \frac{\partial \mathcal{L}(s_t)}{\partial \theta_l^t}

     MS_t = (\nabla \theta_i^t)^2  

   よって上記の置き換えを適用すると

           MS_t = \alpha MS_{t-1} + (1 - \alpha) (\nabla \theta_l^t)^2

     \eta_t = \frac{\eta_{0}}{\sqrt{MS_{t}} + \epsilon}

           \theta_l^t \leftarrow \theta_l^{t-1} - \eta_t \nabla \theta_l^{t-1}

 各\theta_lは文章全体の隠れ変数\theta_gに収束する必要があるので、

 上式のRMSpropの更新規則に正則化項としてこの制限を追加しています。

   \theta_l^t \leftarrow \theta_l^{t-1} - \eta \frac{\nabla \theta_l^{t-1}}{\sqrt{MS_g}+\epsilon} + \lambda(\theta_g - \theta_l^{i-1}) \cdot RMS_{norm}

            ここで

                RMS_{norm} = \frac{\sqrt{MS_g}}{avg(\sqrt{MS_g})}

                MS_g= \frac{1}{N} \sum_{k=1}^N (\nabla \theta_l^k)^2

 

(1.2) 結果

 Penn Treebank の文章でのPerplexityは以下の結果となっています。

    Perplexityは文の複雑性を表し少ない程よいとされています。 

f:id:mabonki0725:20171003223428p:plain

     ここで LSTM + dynamic evalとあるのは下図の構成になっているからです。

           「Generating sequence withe recurrent neural networks」Graves (2013) より

f:id:mabonki0725:20171004072755p:plain

 (1.3) 感想

 ・\theta_gの更新規則は記述に無い様です。この辺は読み落としかもしれません。

 ・簡単なロジックなので実装は容易かもしれませんが、LSTMの調整が難しそうです。

強化学習方程式の不確実性を報酬に取込む論文を読む

テニス2時間 英語できず

(1) 強化学習方程式の不確実性を報酬に取込む論文を読む

 「The Uncertaintry Bellman Equation and Exploration」

https://arxiv.org/abs/1709.05380

 この論文は強化学習を解くBellman方程式の近似解での不確実性を見積りより精緻に方程式を解き、既存のDQNを改善するものです。

 モデル名UBE(Uncertaintry Bellman Equaiton)

 

 一般に強化学習は将来の累計報酬の期待値が最大になる様に局面毎の行動を選択するモデルです。

 これはBellman方程式で行動価値関数として定式化されますが、将来への漸化式で解くので行動によって無限に分岐が続く場合、近似解で解くことが一般的です。

     Q^\pi(s,a) = \mathbb{E}\left(\sum_{t=0}^\infty \gamma^t r_t |s_0=s, a_0=a,\pi \right)

        ここで

            \piは方策(policy)

   \gammaは割引率

            rは報酬

            sは局面

            a \sim \piは行動で方策によって確率的に決定されます

 また現報酬r(s,a)とそれ以降の行動価値関数Q^\pi(s',a')の和を行動価値関数T^\pi Q^\pi (s,a)であらわすと。

  T^\pi Q^\pi(s,a) = \mathbb{E}_r r(s,a) + \gamma \mathbb{E}_{s',a'}Q^\pi(s',a')

       但し s' \sim p(\cdot|s,a)

 (1.1) 手法

  一般に何らかなの霍乱要因dがあると行動価値関数\hat{Q}(s,a)と推定された行動価値関数T^\pi Q^\pi (s,a)に差が出てきます。

 この差\epsilon(s,a)には認識できない報酬が存在しているからと考えられます。

  \epsilon(s,a) = (\hat{Q}^\pi - T^\pi {Q}^\pi)(s,a)

                      = \hat{Q}^\pi(s,a) - \mathbb{E}_r r(s,a) - \gamma\mathbb{E}_{s',a'} Q^\pi(s',a')

  ここで \delta(s,a) = \hat{Q}^\pi(s,a) - Q^\pi(s,a)を行動価値関数の差とすると

       \delta(s,a) = \epsilon(s,a) + \gamma \mathbb{E}_{s',a'} \delta(s',a')

  この二乗平均誤差は解析的に次式で表現できます

     m(s,a) = \mathbb{E}_d \left( (\hat{Q}^\pi(s,a) - Q^\pi(s,a))^2 \right)

                   = var \hat{Q}^\pi(s,a) + (biasQ^\pi(s,a))^2

  この霍乱要因dによる行動価値関数の差はMarcovの不等式を使うと

   Prob \left(|\hat{Q}^\pi(s,a) - Q^\pi(s,a)| \ge \alpha \cdot \sqrt{m(s,a)} \right) \le \frac{2}{\alpha^2}

 

霍乱要因dの上式の下限を隠れた報酬u^*(s,a)として定理1を導入しています。

  [定理1]

       u^*(s,a) = (T_u^\pi u^*)(s,a) = \beta^* var \epsilon(s,a) + \gamma^2 \mathbb{E}_{s',a'} u^*(s',a')

この論文は隠れた報酬u^*(s,a)DQNに与えてモデルを改善しています。 

 

(1.2) 結果

  全ATARIゲームのDQNのスコアの中央値と不確定部分を隠された報酬とするUBEスコアの中央値との比較を示しています。

 ここで 

        instrinsic Motivation:擬似カウント

  UBE n-step:隠れ報酬をn回刻みで計算する

f:id:mabonki0725:20171002234839p:plain

  「Montezumaの復習」は既存のDQNでは殆ど解けないモデルです。これには画面遷移を擬似カウントとして報酬とすると旨く行くことが知られています。UBEのスコアが上回っていますが、これは擬似カウントがUBEに反映されているからです。

  f:id:mabonki0725:20171002234918p:plain

       

  

 

 

 

  

 

中国人達の深層Treeモデルの論文を読む

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

(1) 中国人達の深層Treeモデルの論文を読む

 「Deep Forest: Towards an Alternative to Deep Neural Networks」

https://arxiv.org/abs/1702.08835

 これは下図にある様にランダムフォレストを単に多層化したアンサンブル型モデルなので残念ながら理論的な新しさはありません。モデル名称はgcForest(Multi-Graind Cascade Forest)

 ランダムフォレスト自体がアンサンブル型なので深層にする意味が明確でないので構造が似ているDeepLearningと比較しています。 

 新興の中国人達がオリジナルな理論を構築できるまでは時間がかかりそうです。 

 そもそもアンサンブル型の優位性はJ.Friedmanが2000年に理論的に解明しました。

 またFriedmanはアンサンブル・ツリー+ブースティング+クロス・バリエーションとして各々の短所を補うモデルを提唱していて、これが現在Xgbootとなっています。 

 DeepLearningは深層過程に於いて逆伝播して各層が独自の役割のフィルターを形成するもので、構造が似ているからと言って比較対象するものでは無いと思います。

 同じアンサンブル型であればXgboostと性能比較すべきと思います。

(1,1) 手法

f:id:mabonki0725:20171001230553p:plain

 このモデルは4個のランダムフォレストの深層モデルとなっていて、識別結果に入力データを再追加して次層に渡して深層化しています。

 (4個の内 2個は完全なランダムフォレスト 他の2個は入力データをランダムに短くしたランダムフォレストです)

 多分このモデルだと過学習の可能性があるので、各層毎にクロス・バリデーションをしています。

 最後にアンサンブルで識別結果を単純平均化しています。ランダムフォレストと同様にモデルの精度が頭打ちになると深層化を停止しています。

(1.2) 結果 

 結構面白いのは、DeepLeanningと対抗して文章の感情分析と画像識別をしていることです。 

f:id:mabonki0725:20171001234145p:plain

 結果はこの記述を信じれば意外に良好です   

  f:id:mabonki0725:20171001234349p:plain

    顔の認識  

  f:id:mabonki0725:20171001235052p:plain

 音楽の感情分析 

  f:id:mabonki0725:20171001234600p:plain

(1.3) 感想 

 アンサンブル型なのでXgboostでも同じ様に文章や画像の分析をしてみたら面白いと考えます。  

3D動画よりDoll House画像を生成する論文を読む

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

(1) 3D動画よりDoll House画像を生成する論文を読む

  「MatterPort3D: Learning from RGB-D Data in Indoor Environments」

https://arxiv.org/abs/1709.06158

 この論文は屋内をMatterPort3Dと云う動画で撮ると、深層学習により屋内をDollhouseの様に見せることができるものです。

f:id:mabonki0725:20171001002417p:plain

   Mattterport3DカメラはMatterport社 https://matterport.com/ が販売するものです。

   1) Matterport3Dデータの特性

  このデータは次の様な優れた機能を有しています。

 ・RGB-D Panorama

  1280x1024 Colorの解像度で奥行きのデータもあります。

  360度のパノラマ動画を録画します。   f:id:mabonki0725:20171001000257p:plain

 ・Precise Global Alignment

       3D認識で1cm未満の精度があります。  

   f:id:mabonki0725:20170930231141p:plain

  ここで

   奥行認識は観測点から大量の粒子を吹き付けた画像です

   法面表示は観測点からの面の向きによって色調を変えた画像です

 ・Comprehensive Viewpoint Sampling

        パノラマ動画用に2m置き程度にView Point(緑点)のデータを生成します。

 f:id:mabonki0725:20170930231815p:plain

  ・Entire Buildings

      90件の家の全階・全部屋の3D動画が可能 

 

2)Matterport3Dのデータを深層学習を使って様々な認識を可能にしています。

 ・フロアの識別

f:id:mabonki0725:20170930232442p:plain

 ・物体の認識と種類の識別  

   f:id:mabonki0725:20170930232654p:plain

 3)深層学習による認識の方法

  ・教師用データの作成

   この様な認識をするため実際の画像から教師用ラベルを作成する必要があります。

   教師用のデータは「Amazon Mechanical Turk(AMT)」でツールと人力で構築しています。

   50811物体から1659のラベル付けをしています。

   言葉の意味階層モデルWordNetを使って最終的に40に絞っています。

f:id:mabonki0725:20171001095340p:plain

  ・画像認識 KeyPoint Matching

   異なるView Pointでの同じ物体の認識のため

   下図の3画像(一致用と非一致用)の教師データで訓練しています。

   特徴量は512個使用 ResNet-50での深層学習   

   f:id:mabonki0725:20170930235055p:plain

  ・ View Overlap Prediction

   動画で同じ場面である認識をSLAMの仕掛けを利用しています。 

   画像ABの同じ場面かの識別は次式で行っています。

    \mathcal{overlap}(A,B) = \frac{min(\hat{A},\hat{B})}{|A|+|B|-min(\hat{A},\hat{B})} 

    ここで

     |A|は奥行きが確かなpixel数

     \hat{A}は実際に5cm内の範囲でBと重なっているpixelの数 

   f:id:mabonki0725:20170930235424p:plain

        写真の下段の数字は同じ場面の確率を示す

  ・法面認識 

   Matterport3Dデータは位置と奥行きのデータを持っているので容易に認識できます。

   この認識にはCNNを使っています。  

   f:id:mabonki0725:20170930235613p:plain

  ・局面の識別

   この局面認識ではCrowd-sourcingで構築した教師データを使って訓練しています。   

   f:id:mabonki0725:20171001000006p:plain

  ・立体の認識

           Metterport3Dデータを1.5m x 1.5m x 3m の長方体で切り出して、

   2cm刻みに小さくしていきます。これと教師データが70%以上一致すれば

   教師データと同じとしています。教師データは418840個あり、ScanNetで

   識別しています。

  f:id:mabonki0725:20170930235704p:plain