EBGAN總結

寫在開頭

讀這篇文章的初衷有三,一是對GAN感興趣,二是看到的時候說是LeCun的文章,三是想學習一下總是聽到的“Energy based”思想。然而看完了INTRODUCTION和MODEL兩部分後就沒再看下去,我個人認爲這是個標題黨,因爲只是對架構和loss function稍作修改,並沒有用到多少能量的思想。(不過我沒看實驗部分,起碼在模型設計或者數學理論上並不算的上是GAN多大的創新。

Introduction(EBGAN思想)

EBGAN的改變在discriminator上。把D看作是一個energy function,對real image賦予低能量,fake image賦予高能量。而且作者稱通過energy based思想可以把能量方面的很多工具拿來用進去。也許是因爲我對能量這方面瞭解很少,所以意識不到這篇文章的創新之處和重要作用。在INTRODUCTION中作者提到本文的貢獻有四:
1.對GAN提供了一個energy based的解釋,並其由此可以對GAN使用一系列能量方面的工具。
2.通過網格窮舉搜索實驗,驗證了GAN和EBGAN的超參數和架構setting的完備集。這部分可能在EXPERIMENT裏,我沒看,就沒了解。

through an exhaustive grid search experiment, we validate a complete set of hyper-parameter
and architectural setting with regard to both GANs and EBGANs within a fully-connected
workhouse. EBGANs demonstrate better training stability and enhanced robustness with respect to different hyper-parameter and meta-parameter (architectural) settings, in the pursuit to
reduce human efforts for tuning GANs;

3.提出了一個pull-away term來防止Generator生成一樣的圖片,即mode collapse問題。所謂pull-away即“推開”,意思是不讓生成的圖片“扎堆”,也就是讓生成的圖片不一樣。
4.實驗證明EBGAN可以生成高分辨率的圖片(256×256)。

MODEL

模型架構如圖:
EBGAN架構圖

主要改變在D裏面。EBGAN把D變成了一個AutoEncoder,輸出E爲Encoder和Decoder的MSE(均方差)。即||Dec(Enc(pic))pic||pic 爲輸入的圖片,包括real和fake; |||| 爲L2-norm。

D和G的損失函數

loss-D

loss-G
解釋如下:
1. loss-D:
這裏寫圖片描述
這裏寫圖片描述

m denotes a margin indicating a gap between positive and negative energies that the model is supposed to push toward.

一方面減小real image的重構誤差,另一方面將fake image的重構誤差推向(push towards) m ,因此m 稱爲一個gap。注意那個[]+ 符號,在fD 中,當fake image的重構誤差小於m 時,[]+ 項爲正,會對loss產生貢獻; 否則爲0,由此產生push towards m的效果。
2. loss-G:
沒什麼多說的,就是減小G(z)的重構誤差,即減小被D賦予的energy。

PULL-AWAY TERM

Pull-away term的作用是解決mode collapse的問題。在這裏首先提到了Salimans et al.,2016提出的“minibatch discriminator”,思想很簡單,就是每次給D輸入一個batch,而且D要檢測整個batch而不是分別檢測每張圖片。Real image batch中每張圖片是不一樣的,而如果出現了mode collapse,即所有圖片一樣,則一定是假的。
在這裏作者提出了pull-away term,簡稱EBGAN-PT,如下:
這裏寫圖片描述
思想很簡單,這一項是,生成的fake image batch中每張圖片經過Encoder編碼後產生一個向量,兩兩向量算cosine距離,然後求和取平均。讓這一項儘量小,則兩兩向量越接近正交。注意這一項僅僅用於假圖片訓練,因爲它畢竟是爲了解決G的mode collapse問題,若用於真圖片就不講理了。還要注意一點是,EBGAN-PT也有權重,作者在實驗中取了0.1。

Energy based解釋和穩定性分析

在作者看來,GAN不穩定的原因有二:
1.我沒有看得特別明白,我的理解是,如果G偶然產生了D認爲三real的圖片,則產生的強化性梯度(intensifying gradient)會使之變得更明顯。

when the generated samples from current step completely fall into a region which were categorized as real images in its previous step. Intensifying gradient will be thereafter generated by the discriminator to repel its fault and thus threatening the training stability

2.GAN是一個0-1二分類,或者說,試圖在高位空間中構造一個超曲面來劃分兩類點。這一點和WGAN有異曲同工之處。

另外,GAN的”negative log-likelihood loss functional”通過Gibbs distribution的思想可以被看作是計算P(Y|X) 來進行分類,通過訓練D使P1 。而
這裏寫圖片描述
其中X 是圖片,Y 是對應的label,E(Y,X) 是能量; 分母是所有可能的label的和。
要使P1 ,就必須有E(Y,X) ,即這個energy gap爲無窮大,顯然這很難。

loss function的regularize問題

通過fD 可以看出,D模型對應的AutoEncoder不僅是在讓real image的重構誤差減小,同時還要讓fake image的重構誤差接近m。這樣做有兩個好處,一是防止AutoEncoder成爲一個單純的indentity funcion(恆等函數),而且使得真假圖片之間的energy gap爲一個常數m,而不想GAN一樣是無窮大。這就是regularization的思想所在。
loss-D

發佈了28 篇原創文章 · 獲贊 13 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章