Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constraining Information Flow.(ICLR 2019高分論文)
首先講一下需要了解的知識:
A.信息瓶頸
他的原理是办铡,在信息傳播過程中,設置一個瓶頸珠十,通過這個瓶頸的信息是有限的料扰,然而僅用這些有限的信息還要完成分類或者回歸的任務,所以流過瓶頸的這些“有限的信息”肯定是最重要焙蹭,少而精的晒杈。通過信息瓶頸,可以獲取到重要特征孔厉。
B.互信息
三種理解1)互信息度量 x 和 y 共享的信息拯钻。2)y的發(fā)生給x的不確定度的減少,也就是x如果發(fā)生能夠帶來的信息量減少了撰豺。就好比扔骰子粪般,y是扔出偶數(shù),x是扔出6污桦。原本x能帶來的信息量比發(fā)生y后要多亩歹,而這部分減少的信息量叫做互信息。3)如下圖所示凡橱,A和B的交小作,I(X,Y)表示為互信息稼钩。
問題:作者先提出了一個gan訓練過程中經(jīng)常會遇到的問題顾稀,當判別器訓練得不好的時候,會導致生成器得不到準確的指導信息坝撑,而當判別器訓練得太好的時候静秆,會導致生成器出現(xiàn)梯度學習的問題粮揉。這篇文章想要解決的問題是判別器學習的太好怎么辦。
為了解決這個問題抚笔,常見的解決思路有兩種:
(1)引入誤差:通常在隱藏層加入誤差扶认,這樣的話可以讓真樣本和假樣本的分布可能存在交集,同時會增加判別器辨別真?zhèn)蔚碾y度塔沃,從而避免判別器的性能太好蝠引。(中間部分越陡,兩端越平說明效果越好)蛀柴,從而降低梯度消失的可能性螃概。
(2)對判別器的性能進行額外的約束:比如對判別器復雜度進行約束,對梯度進行約束等
變分判別器瓶頸
利用信息瓶頸約束進入判別器內(nèi)的信息流鸽疾,通過對判別器輸入的觀測數(shù)據(jù)和和經(jīng)過編碼器的特征表示之間的互信息進行約束來穩(wěn)定對抗性模型的訓練過程吊洼,如下圖。促使判別器學習到使原始數(shù)據(jù)和生成器的數(shù)據(jù)分布有很多重疊的數(shù)據(jù)表征制肮,從而有效地調(diào)整判別器的準確率并維持判別器能夠為生成器帶有足夠信息量的梯度冒窍。
疑問1:
為什么使用了對判別器輸入的觀測數(shù)據(jù)和和經(jīng)過編碼器的特征表示之間的互信息的約束就能穩(wěn)定了呢桩了?
首先附帽,我們得到的特征空間 z 是由 x 編碼得到的,理論上已知 x 就可確定 z井誉,x 和 z 是完全相關的蕉扮,也就是 x 和 z 的互信息是較大的。而現(xiàn)在限制了互信息的值颗圣,這樣就切斷了一部分 x 和 z 的相關性喳钟,保留的相關性是 x 和 z 最具辨別力的特征,而其它相關性較低的特征部分將被限制掉在岂,從而使得模型不至于過度學習荚藻,增強泛化能力,防止過擬合洁段。
個人解釋:X里面包含真實data和generator生成數(shù)據(jù),通過互信息約束共郭,將X與正太分布拉近祠丝,并且互信息越小疾呻,X的表示范圍變小,因此真實data與generator生成數(shù)據(jù)的表示會有很多重疊写半,因此能夠增大判別器學習難度岸蜗,使得反傳有效梯度。