WGAN新方案:通过梯度归一化来实现L约束
?PaperWeekly 原創 ·?作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經網絡
當前,WGAN 主流的實現方式包括參數裁剪(Weight Clipping)、譜歸一化(Spectral Normalization)、梯度懲罰(Gradient Penalty),本來則來介紹一種新的實現方案:梯度歸一化(Gradient Normalization),該方案出自兩篇有意思的論文,分別是《Gradient Normalization for Generative Adversarial Networks》[1]?和《GraN-GAN: Piecewise Gradient Normalization for Generative Adversarial Networks》[2]。
有意思在什么地方呢?從標題可以看到,這兩篇論文應該是高度重合的,甚至應該是同一作者的。但事實上,這是兩篇不同團隊的、大致是同一時期的論文,一篇中了 ICCV,一篇中了 WACV,它們基于同樣的假設推出了幾乎一樣的解決方案,內容重合度之高讓我一直以為是同一篇論文。果然是巧合無處不在啊~
基礎回顧
關于 WGAN,我們已經介紹過多次,比如《互懟的藝術:從零直達WGAN-GP》和《從Wasserstein距離、對偶理論到WGAN》,這里就不詳細重復了。簡單來說,WGAN 的迭代形式為:
這里的關鍵是判別器 是一個帶約束優化問題,需要在優化過程中滿足 L 約束 ,所以 WGAN 的實現難度就是如何往 里邊引入該約束。
這里再普及一下,如果存在某個常數 ,使得定義域中的任意 都滿足 ,那么我們稱 滿足 Lipschitz 約束(L 約束),其中 的最小值,我們稱為 Lipschitz 常數(L 常數),記為 。所以,對于 WGAN 判別器來說,要做到兩步:1、 要滿足 L 約束;2、L 常數要不超過 1。
事實上,當前我們主流的神經網絡模型,都是“線性組合+非線性激活函數”的形式,而主流的激活函數是“近線性的”,比如 ReLU、LeakyReLU、SoftPlus 等,它們的導函數的絕對值都不超過 1,所以當前主流的模型其實都滿足 L 約束,所以關鍵是如何讓 L 常數不超過 1,當然其實也不用非 1 不可,能保證它不超過某個固定常數就行。
方案簡介
參數裁剪和譜歸一化的思路是相似的,它們都是通過約束參數,保證模型每一層的 L 常數都有界,所以總的 L 常數也有界;而梯度懲罰則是留意到 的一個充分條件是 ,所以就通過懲罰項 來施加“軟約束”。
本文介紹的梯度歸一化,也是基于同樣的充分條件,它利用梯度將 變換為 ,使其自動滿足 。具體來說,我們通常用 ReLU 或? LeakyReLU 作為激活函數,在這個激活函數之下, 實際上是一個“分段線性函數”,這就意味著,除了邊界之外, 在局部的連續區域內都是一個線性函數,相應地, 就是一個常向量。
于是梯度歸一化就想著令 ,這樣一來就有
當然,這樣可能會有除 0 錯誤,所以兩篇論文提出了不同的解決方案,第一篇(ICCV論文)直接將 也加到了分母中,連帶保證了函數的有界性:
第二篇(WACV論文)則是比較樸素地加了個 :
同時第二篇也提到試驗過 ,效果略差但差不多。
實驗結果
現在我們先來看看實驗結果。當然,能雙雙中頂會,實驗結果肯定是正面的,部分結果如下圖:
▲ ICCV論文的實驗結果表格
▲ WACV論文的實驗結果表格
▲ ICCV論文的生成效果演示
尚有疑問
結果看上去很好,理論看上去也沒問題,還同時被兩個頂會認可,看上去是一個好工作無疑了。然而,筆者的困惑才剛剛開始。
該工作最重要的問題是,如果按照分段線性函數的假設,那么 的梯度雖然在局部是一個常數,但整體來看它是不連續的(如果梯度全局連續又是常數,那么就是一個線性函數而不是分段線性了),然而 本身是一個連續函數,那么 就是連續函數除以不連續函數,結果就是一個不連續的函數!
所以問題就來了,不連續的函數居然可以作為判別器,這看起來相當不可思議。要知道這個不連續并非只在某些邊界點不連續,而是在兩個區域之間的不連續,所以這個不連續是不可忽略的存在。在 Reddit 上,也有讀者有著同樣的疑問,但目前作者也沒有給出合理的解釋(鏈接)。
另一個問題是,如果分段線性函數的假設真的有效,那么我用 作為判別器,理論上應該是等價的,但筆者的實驗結果顯示這樣的 效果極差。所以,有一種可能性就是,梯度歸一化確實是有效的,但其作用的原因并不像上面兩篇論文分析的那么簡單,也許有更復雜的生效機制我們還沒發現。此外,也可能是我們對 GAN 的理解還遠遠不夠充分,也就是說,對判別器的連續性等要求,也許遠遠不是我們所想的那樣。
最后,在筆者的實驗結果中,梯度歸一化的效果并不如梯度懲罰,并且梯度懲罰僅僅是訓練判別器的時候用到了二階梯度,而梯度歸一化則是訓練生成器和判別器都要用到二階梯度,所以梯度歸一化的速度明顯下降,顯存占用量也明顯增加。所以從個人實際體驗來看,梯度歸一化不算一個特別友好的方案。
文章小結
本文介紹了一種實現 WGAN 的新方案——梯度歸一化,該方案形式上比較簡單,論文報告的效果也還不錯,但個人認為其中還有不少值得疑問之處。
參考文獻
[1] https://arxiv.org/abs/2109.02235
[2] https://arxiv.org/abs/2111.03162
[3]https://www.reddit.com/r/MachineLearning/comments/pjdvi4/r_iccv_2021_gradient_normalization_for_generative/
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的WGAN新方案:通过梯度归一化来实现L约束的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 民航黑名单怎么查询
- 下一篇: 浅谈数据中的偏差问题和推荐系统去偏最新研