Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20211107_【社内論文読み会】MCFlow: Monte Carlo Flow Mode...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

20211107_【社内論文読み会】MCFlow: Monte Carlo Flow Models for Data Imputation

Avatar for Yuya Kaneta

Yuya Kaneta

November 07, 2021
Tweet

More Decks by Yuya Kaneta

Other Decks in Technology

Transcript

  1. /21 MCFlow arXiv:2003.12628 MCFlowの三行まとめ • ランダムに欠損したデータ(Missing Completely at Random:MCAR)に対する新たな補完技術 MCFlowを提案する論文

    • 逐次的に分布の母数(Flow Network:G)の更新と埋め込み空間へのmapするネットワーク (Feedforward Network:H)の更新とデータの補完を繰り返すことでMCARの問題にアプローチする • 正解データと乖離しない堅実なデータ補完を実現している 3
  2. /21 MCFlow arXiv:2003.12628 記法および問題設定 観測可能なデータxは特定の分布関数p X (x)に従っているとする。また観測値はMCARで欠損している。 5 i番目のマスク: i番目のデータ:

    マスクの位置 非マスクの位置 i番目の非マスク: ⊙ i番目の観測値: 観測値から(非)マスクの位置がわかる設定とする … … 欠損値を埋めるデータ補完の問題は次のように定式化されたxを求める問題とみなせる。 iについてランダムに マスク位置が変わる
  3. /21 MCFlow arXiv:2003.12628 記法および問題設定 一般にデータが従う分布p X (x)は知り得ることができない上に、通常の場合p X (x)は高次元で非凸関数であ りp

    X (x)を獲得することは非常に難しい課題となる。 6 解き易い最適化問題にやき直し、分布p X (x)を獲得することが目標 →Normalizing Flowでアプローチ(次ページ)
  4. /21 MCFlow arXiv:2003.12628 Flow-Baseな生成モデルの導入 Flow-baseな生成モデルでは逆変換可能な関数f(•)を用いてautoencoderを構築する。VAE等の従来の生 成モデルではELBOを用いて近似分布と事後分布の距離を最小化しているのに対し、Flow-baseなモデル では直接的に分布関数を近づけている。 https://lilianweng.github.io/lil-log/2018/10/13/flow-based-deep-generative-models.html https://deepgenerativemodels.github.io/notes/flow/ https://arxiv.org/abs/1505.05770

    7 負の対数尤度を最小化するように関数f i (•)のパラメータを更新するこ とが尤度最大化に繋がる。 Flow-Baseな生成アルゴリズム例 • NICE • RealNVP • GLOW • etc... シンプルな分布関数と実際の生成モデル分布関数を行き来できるよ うに変換関数f(•)を導入する f(•)の逆関数f-1(•)が追える形で用意することでz 0 とz K を直接行き来 させることができる
  5. /21 MCFlow arXiv:2003.12628 RealNVP Flow-baseな生成モデルの一つであるRealNVPをMCFlowでは採用している。 8 https://lilianweng.github.io/lil-log/2018/10/13/flow-based-deep-generative-models.html https://arxiv.org/abs/1605.08803 変換関数f(•)の主な要請 1.

    “It is easily invertible.” 2. “Its Jacobian determinant is easy to compute.” s, tの関数を(全結合+LeakyReLU, tanh)NN4層で構成し6セット繰り返している。 MCFlow論文では50%の乱数でアフィン変換する次元Dを決めている。
  6. /21 MCFlow arXiv:2003.12628 MCFlowの導入 教師なしで学習されるNormalizing Flowモデル(G)と、教師ありで学習されるFeedforward Network(H) からなるハイブリッドなフレームワークで構築されます。 10 Flow

    model(G)の役割 データの分布関数を学習すること Flow model(G)の更新 Feedforward Network(H)の役割 最も好ましい埋め込みベクトルを見つけること [1] 観測された値(マスクではないインデックスの値)と一致するエントリ を持つデータベクトルにマップ [2] 可能な限り最大の密度推定値を持つ最も好ましい埋め込みベクトルを見 つけること Feedforward Net(H)の更新: https://github.com/trevor-richardson/MCFlow
  7. /21 MCFlow arXiv:2003.12628 まとめ • ランダムに欠損したデータ(Missing Completely at Random:MCAR)に対する新たな補完技術 MCFlowを提案する論文

    • 逐次的に分布関数の近似(Flow Network:G)と埋め込み空間へのmappingを調整するネットワーク (Feedforward Network:H)の更新によってMCARの問題にアプローチした • 比較モデルと比べ、補完の精度が高い • 補完されたデータを別の機械学習モデルに食わせても、精度の劣化があまりなく、実用的 20
  8. /21 MCFlow arXiv:2003.12628 個人的な感想・展望 感想 • メリット ◦ モデル自体はシンプルな構造をしているにもかかわらず、実用向き。 ◦

    画像の欠損埋め結果がインパクトあるし、一眼見てわかりやすく、バエる。 ◦ 欠損が激しいときにMCFlowの真の威力発揮(?)。 ▪ 比較モデルとかと比べて勝手に正解データと異なる良い感じの生成等をしなそう。 ▪ 実際、超重要な点である気がする。 • デメリット ◦ (論文には実行時間のことはあまり触れていないが)おそらく結構遅い。 ◦ 処理がちょっと特殊で面倒 ▪ 2nエポックでモデル保存&Flow modelのリセット ▪ 保存モデルをつなげて推論 • LightGBM等にNullとして入力して学習させる際との使い分けは意識しないとならない。 下記のことに着手したい(所信表明) • モデルがシンプルなのでJuliaで実装して遊んでみたい。 • スパースモデリングの文脈で実験してみたい(ブラックホールの撮像再現)。 • 実際のテーブルデータを用いた案件で活用したい。 21