Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NICE: NON-LINEAR INDEPENDENT COMPONENTS ESTIMATION #10

Open
Yagami360 opened this issue Sep 8, 2019 · 0 comments
Open

NICE: NON-LINEAR INDEPENDENT COMPONENTS ESTIMATION #10

Yagami360 opened this issue Sep 8, 2019 · 0 comments

Comments

@Yagami360
Copy link
Owner

Yagami360 commented Sep 8, 2019

0. 論文情報・リンク

1. どんなもの?

  • フローベースの生成モデルにおいて、入力データを2つのブロックに分けて加法カップリング層で対応付けることで、ヤコビアンの計算を簡略化したフローベースの生成モデル。

2. 先行研究と比べてどこがすごいの?

  • フローベースの生成モデルにおいては、観測データの確率分布の対数尤度の最大化が目的となるが、この対数尤度の計算時にヤコビアン(ヤコビ行列式)の計算負荷が大きいことが問題であった。
  • 本手法では、入力データを2つのブロックに分けて加法カップリング層で対応付けることで、ヤコビアン行列を三角行列にしてヤコビアンの計算を簡略化している。

3. 技術や手法の"キモ"はどこにある?

  • 【既存の手法の問題点】 フローベースの生成モデルにおけるヤコビアンの計算
    フローベースの生成モデルの目的は、観測データ x を生成する確率分布 p_X(x) の対数尤度の最大化であるが、この対数尤度の計算には、以下の式のようにヤコビアンの計算が必要となる。
    image
    ※ 上式は、単一の写像 f での式。下式は、この写像 f の合成写像(フロー)での式。
    ※ これら対数尤度の式の導出は、「生成モデル|フローベースの生成モデル」 の項目参照。

    しかしながら、このヤコビアンの計算は、データの次元 D に応じて爆発的に増加するので、如何に少ない計算量で計算するかがフローベースの生成モデルにおける主要な課題の1つになっている。

  • 【本手法の解決策】 coupling layer によるヤコビアン計算の軽減:
    入力(=観測データ)x を2つののブロック image に分けて、以下の図のようなカップリング層 [General coupling layer] で対応付けることを考える。
    image
    image
    こうすることで、”カップリング層での” ヤコビアンの計算は、
    image
    のように、3角行列での行列式の計算になり、計算不可が大幅に軽減される。

    更に、カップリング層として、特に加法カップリング層 [additive coupling layer] を考えると、
    image

    従って、対数尤度の式は、
    image
    というようにフロー z=f(x) の式で簡略化出来る。

  • Combining coupling layers
    xxx

  • ALLOWING RESCALING
    xxx

4. どうやって有効だと検証した?

  • xxx

5. 議論はあるか?

  • xxx

6. 次に読むべき論文はあるか?

  • Real NVP [Density estimation using Real NVP]
  • Glow: Generative Flow with Invertible 1×1 Convolutions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant