本期推薦的論文筆記來自 PaperWeekly 社群使用者 @TwistedW ,作者今天要解讀的是 UC Berkeley 投稿 ICLR 2019 的工作。
對抗學習中判別器一直保持著強大的侵略優勢,造成了對抗中的不平衡。本文采用變分判別器瓶頸(Variational Discriminator Bottleneck,VDB),通過對資料樣本和編碼到的特徵空間的互資訊進行限制,提高判別器的判別難度,進而提高了對抗學習中的平衡性。實驗表明 VDB 思想可以在 GAN、模仿學習和逆強化學習上取得不小的進步。
引言
生成對抗網路中判別器在二分類遊戲上表現了強大的區分能力,RSGAN 使用相對判別器將真假樣本混合利用“圖靈測試”的思想削弱了判別器的能力,T-GANs 將 RSGAN 一般化到其它 GAN 模型下,判別器得到限制在整體上平衡了生成器和判別器,可以使 GAN 訓練上更加穩定。VDB 則通過對判別器加上互資訊瓶頸來限制判別器的能力。
論文引入
GAN 存在兩大固有問題,一個是生成上多樣性不足;另一個就是當判別器訓練到最優時,生成器的梯度消失。造成梯度消失的原因在於生成樣本和真實樣本在分佈上是不交疊的,WGAN [1]提出可以通過加入噪聲來強制產生交疊,但是如何控制噪聲加入以及能否保證交疊都是存在問題的。WGAN 以及它的改進雖然在 GAN 訓練中穩定性上提高了,但是對於樣本真假的二分類判別上,判別器展現了過於強大的能力,這樣打破了對抗上的平衡問題,最終還是造成訓練階段的不穩定(不平衡,生成質量提不上去)。
RSGAN 提出了採用相對判別器通過區分真假樣本混合在一起判斷真假,這樣判別器不再是判斷真或假,還要在一堆樣本下將真假樣本分開。這樣對於判別器的要求提高了,難度上來後自然會進一步平衡訓練,
關於 RSGAN 的進一步理解可參看RSGAN:對抗模型中的“圖靈測試”思想。T-GANs 更是進一步將 RSGAN 一般化,讓RSGAN中的混合真假樣本的思想得到充分應用,具體瞭解,可參看T-GANs:基於“圖靈測試”的生成對抗模型。
我們今天要解讀的文章是變分判別器瓶頸(Variational Discriminator Bottleneck,VBD)。論文通過對互資訊加上限制來削弱判別器的能力,從而平衡網路的訓練。這種對判別器互資訊限制,不僅可以用在 GAN 的訓練上,對於模仿學習和逆強化學習都有很大的提高。由於我更加關注 VDB 在 GAN 上的應用,所以在模仿學習和強化學習方面將只做簡短介紹,把重點放在 VDB 在 GAN 上的作用。
在開啟正文前,我們一起看一下互資訊瓶頸限制在監督學習上的正則作用。這個思想在 16 年被 Alemi 提出,原文叫 Deep Variational Information Bottleneck [2]。我們有資料集 {xi,yi},其中 xi 為資料樣本,yi 為對應的標籤,通過最大似然估計優化模型:
這種最大似然估計方法往往會造成過擬合的現象,這時候就需要一定的正則化。變分互資訊瓶頸則是鼓勵模型僅關注最具辨別力的特徵,從而對模型做一定的限制。
為了實現這種資訊瓶頸,需要引入編碼器對樣本特徵先做提取 E(z|x) 將樣本編碼到特徵空間 z,通過對樣本 x 和特徵空間 z 的互資訊 I(X,Z) 做限制,即 I(X,Z)≤Ic,則正則化目標:
此時最大似然估計就是對模型 q(y|z) 操作的,實現將特徵空間 z 到標籤 y,互資訊定義為:
這裡的 p(x) 為資料樣本的分佈,p(x,z)=p(x)E(z|x),計算分佈 p(z)=∫p(x)E(z|x)dx是困難的,p(z) 是資料編碼得到的,這個分佈是很難刻畫的,但是使用邊際的近似 r(z) 可以獲得變分下界。
取 KL[p(z)‖r(z)]=∫p(z)logp(z)−∫p(z)logr(z)≥0,此時 ∫p(z)logp(z)≥∫p(z)logr(z),I(X,Z) 可以表示為:
這提供了正則化的上界,J̃(q,E)≥J(q,E)。
優化的時候可以採取拉格朗日系數 β。我們從整體上分析一下這個互資訊的瓶頸限制,互資訊反應的是兩個變數的相關程度,而我們得到的特徵空間 z 是由 x 編碼得到的,理論上已知 x 就可確定 z,x 和 z 是完全相關的,也就是 x 和 z 的互資訊是較大的。
而現在限制了互資訊的值,這樣就切斷了一部分 x 和 z 的相關性,保留的相關性是 x 和 z 最具辨別力的特徵,而其它相關性較低的特徵部分將被限制掉,從而使得模型不至於過度學習,從而實現正則化的思想。
VDB 正是把這個用在監督學習的正則思想用到了判別器上,從而在 GAN、模仿學習和逆強化學習上都取得了不小的提升。
總結一下 VDB 的優勢:
判別器資訊瓶頸是對抗性學習的自適應隨機正則化方法,可顯著提高各種不同應用領域的效能;
在 GAN、模仿學習和逆強化學習上取得效能上的改進。
VDB在GAN中的實現
VDB其實是在 Deep Variational Information Bottleneck [2] 的基礎上將互資訊思想引入到判別器下,如果上面描述的互資訊瓶頸讀懂的話,這一塊將很好理解。
對於傳統 GAN,我們先定義下各個變數(保持和原文一致)。真實資料樣本分佈 p∗(x),生成樣本分佈 G(x),判別器為 D,生成器為 G,目標函式為:
類似於 Deep Variational Information Bottleneck [2],文章也是先對資料樣本做了 Encoder,經資料編碼到特徵空間下,這樣一來降低了資料的維度,同時將真假樣本都做低維對映,更加可能實現一定的交疊。
當然這個不是文章的重點,文章的重點還是為了在互資訊上實行瓶頸限制。將資料編碼得到的 z 和資料 x 的互資訊做瓶頸限制,我們先看目標函式,再來解釋為什麼做了瓶頸限制可以降低判別器的能力。
這裡強調一下,這個我們待會再進一步分析,同樣可以通過引入拉格朗日系數優化目標函式:
我們分析一下限制互資訊瓶頸在 GAN 中起到的作用,同樣的互資訊是樣本 x 和它經過編碼得到的特徵空間 z。互資訊表示變數間的相關程度,通過限制 x 和 z 的相關性,對於很具有辨識性的特徵,判別器將可以區分真假,但是經過資訊瓶頸限制把樣本和特徵空間相關性不足的特徵限制住,這樣判別器就增加了區分樣本真假的難度。
判別器在這個二分類遊戲下只能通過相關性很強的特徵來判斷真假,對於限制條件下,這個的作用是對整體樣本的互資訊都進行限制,這樣真假樣本都進行了混淆,判別器判斷難度提高,遊戲得到進一步平衡。
文章通過實驗進一步說明了判別器加入資訊瓶頸的作用,通過對兩個不同的高斯分佈進行區別,左側認為是假(判為 0),右側認為是真(判為 1),經過資訊瓶頸限制 Ic 的調整,得到的結果如下圖:
我們知道,在二分類下資訊熵最小是 1bit(當兩個事件等概率發生時),由於 x 和 z 是完全相關,我們可以理解理想狀態此時的互資訊最小是 1bit,當不斷減小瓶頸 Ic 的值,上圖中由 10 降到 0.1,這個過程中判別器區分兩個分佈的界限越來越弱,達到了限制判別器能力的效果。
對於網路的優化,主要是對 β 的更新上:
這個互資訊瓶頸還可以用在模範學習和逆強化學習上,都取得了一定的改進,感興趣的可以檢視原文進一步瞭解。
實驗
VDB 在 GAN 中的應用實驗,作者對 CIFAR10 做了各個模型的 FID 定量對比。為了改善 VDB 在 GAN 上的效能,作者在 VDB 和 GAN 中加入了梯度懲罰,命名為 VGAN-GP。
這樣可謂是又進一步限制了判別器,反正實驗效果是有所提升,可以猜測作者用到的 GAN 的損失函式肯定基於 WGAN,文中說了程式碼即將公佈,在沒看到原始碼前只能猜測一下。
不過,通過後文實驗做到了 1024 × 1024 可以看出,作者所在的實驗室一定不簡單,跑得動 1024 的圖,只能表示一下敬意。
最後,來看一下作者展示的視訊 Demo。
總結
在本文中,作者提出了變判別器瓶頸,這是一種用於對抗學習的一般正則化技術。實驗表明,VDB 廣泛適用於各種領域,並且在許多具有挑戰性的任務方面比以前的技術產生了顯著的改進。
通過對判別器加入資訊瓶頸,限制了判別器的能力,使得對抗中保持平衡,提高了訓練的穩定性。這種正則化思想可以在各類 GAN 模型下適用,後續還要對 VDB 做進一步實驗上的分析。
參考文獻
[1] Martin Arjovsky, Soumith Chintala, and Léon Bottou. Wasserstein generative adversarial networks. In International Conference on Machine Learning, pages 214–223, 2017.
[2] Alexander A. Alemi, Ian Fischer, Joshua V. Dillon, and Kevin Murphy. Deep variational information bottleneck. CoRR, abs/1612.00410, 2016.