f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization 論文筆記

摘要

將GAN推廣到variational divergence estimation. 討論不同的f-divergence下如何實現.

介紹

GAN可以看作優化JS距離, JS距離無法直接優化, 可以通過判別器, 近似JS距離.

可以將JS距離推廣到一般的f-divergence, 判別器也是去近似相應的距離, 然後更新生成器.

方法

f-divergence族

其中p,q是在測度dx和定義域X上的絕對連續密度函數, f是定義在正半軸的凸的半連續函數, f(1) = 0

f-divergence的變分估計

f-divergence牽涉到積分, 不能直接去計算, 一種方法是利用共軛函數去計算.
一個函數f的Fenchel conjugate f*定義爲

得到的f*也是凸的半連續的, 可以再次取共軛, 有f** = f

利用共軛函數的性質, 對f-divergence進行變形, 有

T是關於x的任何一個函數, 並且在一定條件下, 等號成立, 此時最優的T*爲,

不同的f-divergence和他們的共軛參考如下的表格
在這裏插入圖片描述

變分散度最小化

將上述求f-divergence的過程, 可以表示成判別器和生成器分別取最大化最小化如下的變分函數

判別器更新T, 生成器更新Q
因爲f*的定義域有要求, 可以將T(x)表示成g(V(x))的形式, g是最後的輸出函數, 輸出到f*的定義域, V可以是輸出沒有約束的網絡.
這裏將g去成單調增加的函數, 像GAN中那樣, 值越大表示樣本越像來自這是分佈.
由於T*(x)=f’(p/g), 並且g是單調增加的, 因此可以將f’(1) 看作T分類預測樣本爲真或者假的分解值, T(x) > f’(1), 說明分類器認爲這個樣本更加真實, 反之認爲更假.
不同的激活函數, 分類閾值等參考下表
在這裏插入圖片描述

算法流程

在這裏插入圖片描述
注: 一定條件下, 能保證收斂到鞍點

實用建議

類似GAN中, 生成器最大化判別器等輸出, 也可以加速訓練.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章