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

Deep Directed Generative Models with Energy-based Probability Estimation

Deep Directed Generative Models with Energy-based Probability Estimation

Daisuke Yoneoka

November 14, 2023
Tweet

More Decks by Daisuke Yoneoka

Other Decks in Research

Transcript

  1. Introduction • LeCun(1998)は画像分類において,予測誤差最小の基準 の代わ りにエネルギー関数 を定義すること提案 – エネルギーの大小とrandom variableを結びつけて考えることができる –

    Boltzmann machine, Restricted Boltzmann machine, Hopfield modelなんかを  同一の枠組みで捉えられる • しかし,エネルギーを用いたモデルの最尤法は分配関数の計算が困難 – ガウス分布やベルヌーイ分布などの単純な分布を使う – MCMCを使う • 多峰すぎると困難
  2. 提案手法の概要 • MCMCの計算を避けるため(というか,分配関数の陽な計算を避ける ため)に以下(の2つの見方)を導入 • エネルギー関数 – 尤度関数(の勾配)をサンプルにより経験的に学習 – マルコフ連鎖からのサンプルではなく,生成モデルからのサンプルと

    考 える • 生成関数 (generator) – GANと同じような枠組みで学習 • Discriminator (識別関数)がエネルギー関数としてみなせる • Low energy = real data • High energy = fake data – Discriminatorはエネルギー関数なので勾配も計算可能
  3. Energy-Based model • 低いエネルギーほど確率としては起こりやすい • Product of Experts (PoE) –

    ボルツマン分布(ギブス分布とも呼ばれる) – Expertsは • エネルギーを最適化するということは,分配関数を考えなくても良い ということ
  4. Learning and Intractability • 真の(データ)分布  に近づけるように を訓練する • KLの最小化 = 尤度の最大化 • Loss関数:

    • Empiricalに(6)を計算しようとすると,勾配は   で定義される(∵               ) 真の分布による期待値をサン プル平均で置き換えることに より近似可能 計算困難でMCMC(他には平均場近似法やコン トラスティブダイバージェンス法)など使う →ここをneural netにしよう 勾配の update rule
  5. Training models as a classification problem • [Bengio, ’09] [Hinton,

    ’99] は前スライドの勾配のupdate ruleはclassifierの 学習である,と提案 • yを用意して • Classifierはシグモイド関数σを用いて • 簡単のために • Ψの学習は ←(7)と同じupdate ruleに なる
  6. Proposed model • Energy-based probabilistic model • エネルギー関数と生成関数(generator)という2つの視点 – 両者は同じになってほしいが,実際は交互に訓練

    • 1st step: • 2nd step: • 最終的には ここをNeural net (Deep generative model)で推定 ここが一致するように訓練
  7. Deep Energy model • Rule (7)と(9)でDeep energy modelを訓練 • (7)のnegative

    phaseをdeep generative modelからのサンプルで代用
  8. Deep Generative model • このモデルの目的 1. 効率的(non-iterative)なサンプルの生成 2. Deep energy

    modelのnegative phaseを近似するためのサンプル生成 • サンプル生成は普通の伝承サンプル 1.         からzをサンプル 2. zを (deep generative model)に放り込んで変換 3. で を構成 • KLを最小化することでモデル を訓練 – 第一項 – 第二項 Back-propagationで計算可能らしい ↓正則化項(エントロピー)として働く ↑Batch処理にしている
  9. Relation to GAN • GANはdiscriminatorとgeneratorという2つのモデルを同時に訓練すると いうアイディア • 今回はdiscriminatorがenergy-functionであるモデルを提案 • 相違点

    – GANのdiscriminatorはconstant outputに収束しがち • 結果として,どんなinputを入力しても,D=0.5を出しがち – GANは最初の方にどのような学習をしていたかを記憶していない – 提案手法はdiscriminatorはサンプルがtraining dataから来たものなのか,それ ともこれまでのgeneratorのいずれかから来たものなのかを判定する • GANのdiscriminatorはサンプルがtrainingか今現在のgeneratorから来たものなのか を判定する • 結果として,GANのdiscriminatorはtrivialな判別器を作ってしまいがちだが,提 案手法はこれを避けられる