Slide 1

Slide 1 text

Deep Directed Generative Models with Energy-Based Probability Estimation 米岡 大輔

Slide 2

Slide 2 text

概要 • 世にはenergy functionを用いて生成プロセスを定義するモデル(生成モデ ル)が沢山ある • しかし,それらは一般的に分配関数の計算が難しい • MCMCなどの方法があるが,それも時間やコストがかかる • GANのアイディアを援用し,classifierと同時にenergy functionをdeep learningで学習することで,MCMCを使わない方法を提案

Slide 3

Slide 3 text

Introduction • LeCun(1998)は画像分類において,予測誤差最小の基準 の代わ りにエネルギー関数 を定義すること提案 – エネルギーの大小とrandom variableを結びつけて考えることができる – Boltzmann machine, Restricted Boltzmann machine, Hopfield modelなんかを  同一の枠組みで捉えられる • しかし,エネルギーを用いたモデルの最尤法は分配関数の計算が困難 – ガウス分布やベルヌーイ分布などの単純な分布を使う – MCMCを使う • 多峰すぎると困難

Slide 4

Slide 4 text

提案手法の概要 • MCMCの計算を避けるため(というか,分配関数の陽な計算を避ける ため)に以下(の2つの見方)を導入 • エネルギー関数 – 尤度関数(の勾配)をサンプルにより経験的に学習 – マルコフ連鎖からのサンプルではなく,生成モデルからのサンプルと 考 える • 生成関数 (generator) – GANと同じような枠組みで学習 • Discriminator (識別関数)がエネルギー関数としてみなせる • Low energy = real data • High energy = fake data – Discriminatorはエネルギー関数なので勾配も計算可能

Slide 5

Slide 5 text

Energy-Based model • 低いエネルギーほど確率としては起こりやすい • Product of Experts (PoE) – ボルツマン分布(ギブス分布とも呼ばれる) – Expertsは • エネルギーを最適化するということは,分配関数を考えなくても良い ということ

Slide 6

Slide 6 text

GANのアイディア • まずはなんかすごい画像を見てください • Deep Convolutional GAN [Randford+, ‘16]

Slide 7

Slide 7 text

GANのイメージ 画像が本物か偽 物か識別 Discriminator (正確に識別し たい) Generator (本物に近い絵 を作りたい) 絵を生成 騙せ たか な? 識別 生成 識別,生成を交互に学習 して精度向上

Slide 8

Slide 8 text

Learning and Intractability • 真の(データ)分布  に近づけるように を訓練する • KLの最小化 = 尤度の最大化 • Loss関数: • Empiricalに(6)を計算しようとすると,勾配は   で定義される(∵               ) 真の分布による期待値をサン プル平均で置き換えることに より近似可能 計算困難でMCMC(他には平均場近似法やコン トラスティブダイバージェンス法)など使う →ここをneural netにしよう 勾配の update rule

Slide 9

Slide 9 text

Training models as a classification problem • [Bengio, ’09] [Hinton, ’99] は前スライドの勾配のupdate ruleはclassifierの 学習である,と提案 • yを用意して • Classifierはシグモイド関数σを用いて • 簡単のために • Ψの学習は ←(7)と同じupdate ruleに なる

Slide 10

Slide 10 text

Proposed model • Energy-based probabilistic model • エネルギー関数と生成関数(generator)という2つの視点 – 両者は同じになってほしいが,実際は交互に訓練 • 1st step: • 2nd step: • 最終的には ここをNeural net (Deep generative model)で推定 ここが一致するように訓練

Slide 11

Slide 11 text

Deep Energy model • Rule (7)と(9)でDeep energy modelを訓練 • (7)のnegative phaseをdeep generative modelからのサンプルで代用

Slide 12

Slide 12 text

Deep Generative model • このモデルの目的 1. 効率的(non-iterative)なサンプルの生成 2. Deep energy modelのnegative phaseを近似するためのサンプル生成 • サンプル生成は普通の伝承サンプル 1.         からzをサンプル 2. zを (deep generative model)に放り込んで変換 3. で を構成 • KLを最小化することでモデル を訓練 – 第一項 – 第二項 Back-propagationで計算可能らしい ↓正則化項(エントロピー)として働く ↑Batch処理にしている

Slide 13

Slide 13 text

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な判別器を作ってしまいがちだが,提 案手法はこれを避けられる