日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【GAN优化】如何选好正则项让你的GAN收敛

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【GAN优化】如何选好正则项让你的GAN收敛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天講述的內容還是GAN的訓練,也是最后一期,做幾個簡單的小實驗,告訴大家怎么給GAN加正則項,使得你的GAN盡可能收斂。其實今天的內容本來還是與動力學結合很緊密,但是考慮到復雜的數學內容可能有害無益,我就將數學部分都刪除了,只展示最直觀的結果。

作者&編輯 | 小米粥

上一期我們說了關于GAN收斂的這樣一件事情:如果矢量場v的雅可比矩陣的特征值的實部為負數,且學習速率足夠小,則GAN會局部收斂到納什均衡點。假設學習速率確實足夠小,單純考慮特征值的問題。在納什均衡點,特征值的實數部分能否出現負數?這件事情是與目標函數息息相關的,因為雅可比矩陣的一般形式如下:

不難料想,如果生成器和判別器的目標函數f和g選取得當,上述矩陣的特征值的實數部分確實有可能為負數。今天用一個小實驗來盤點一下,到底哪些GAN,哪些目標函數可能收斂。

1. Dirac-GAN

我們將使用一個極其簡單的Dirac-GAN模型作為測試對象,在一維空間中,訓練數據只有一個點,其位置固定在x=0;生成器只包含一個參數θ,生成樣本的位置在x=θ,如下圖所示:

判別器為一個簡單的線性函數與激活函數復合的形式

包括一個參數φ ,其中f為激活函數。通過選擇不同的激活函數f(t)可對應于不同的GAN形式,使用Sigmoid函數

可獲得原始形式,而選擇

可以得到WGAN的形式。Dirac-GAN的納什均衡點為(0,0),即生成的樣本與訓練數據重合。

接下來,我們依次觀察不同的GAN能否收斂到均衡點。需要說明,實際情況遠遠復雜于Dirac-GAN,樣本不只是一維也不可能只存在一個樣本點,我們只是通過它來直觀說明一些問題,得到一些啟示。

2. 標準GAN與WGAN

2.1 標準GAN

標準GAN即Goodfellow首次提出的GAN的標準形式,其損失函數的表達式為:

在Dirac-GAN中,對應的損失函數成為:

相應的動力學系統:

采用梯度下降法發現其并不收斂:

2.2 WGAN

WGAN改進了概率分布之間的距離的度量,其損失函數的表達式為:

在Dirac-GAN中,對應的損失函數成為:

這里有一個簡化處理,假設當訓練到一定程度時,φ處于0附近,其值自然小于1,滿足Lipschitz限制。若只要關心其收斂情況,這樣的假設是合理的。相應的動力學系統:

采用梯度下降法則發現其并不收斂:

其實,與簡單的Dirac-GAN的實驗結果一致,無論是標準形式的GAN或者WGAN,從理論上證明,發現在納什均衡點(0,0),其特征值為f'(0)i和-f'(0)i,均不包含實部。根據之前的理論,參數軌跡確實不應該表現為收斂,而且可以進一步證明,它在(0,0)附近的軌跡表現為“圓”,缺乏向納什均衡點靠攏的“向心力”。

可以說,現在的問題不是選擇什么樣的f(t),不是用fGAN或者WGAN的問題了,而是如何調整目標函數,也就是如何添加正則項,從而能解決特征值實部為負數的問題。

3. WGAN-GP

采用懲罰項的WGAN-GP是一種解決1-Lipschitz限制的軟方法,其損失函數的表達式為:

在Dirac-GAN中,對應的損失函數成為:

相應的動力學系統:

采用梯度下降法則發現其也不收斂,說明這個正則項加的“不太好”。

4. 一致優化

一致優化是一種理論上比較“有保證”的GAN,具體內容在上一期進行過詳細描述,以標準的GAN+一致優化正則項為例,其損失函數的表達式為:

在Dirac-GAN中,對應的損失函數成為:

相應的動力學系統:

結果有點復雜,但是確實在Dirac-GAN中精確收斂至(0,0):

正如上一期所說,實際情況中必須保證學習速率要足夠小,而且要比較好地控制超參數,才可能收斂。

5. zero centered gradient

所謂zero centered gradient與WGAN-GP非常相近,就是添加正則項使判別器對輸入的梯度接近一個常數,只不過在WGAN-GP中我們選擇常數為1,而這里選擇常數為0。(至于為何選擇0,這里不展開,以后有機會補充。)再細分下來,又包括兩種添加正則項的方法,一種是在真實數據上施加懲罰項,另一種是在生成數據上施加懲罰項。

如果選擇在真實數據上施加懲罰項,則其損失函數的表達式為:

如果選擇在生成數據上施加懲罰項,則其損失函數的表達式為:

無論如何,其在Dirac-GAN中,對應的損失函數均表示為:

相應的動力學系統:

采用梯度下降法則發現其收斂:

這一個簡單將1改為0,使結果產生了巨大的變化,其實這一改變也正是Wasserstein散度的理論結果,注意這不是WGAN中的Wasserstein距離。

綜上,我們可以帶有啟發性得說,如果你的fGAN或者WGAN訓練過程不收斂,試一下一致優化正則項或者zero centered gradient正則項吧。

[1]?Mescheder L , Nowozin S , Geiger A . The Numerics of GANs[J]. 2017.

[2]?Mescheder L , Geiger A , Nowozin S . Which Training Methods for GANs do actually Converge?[J]. 2018.

總結

這篇文章用了一個非常簡單且直觀的Dirac-GAN進行實驗,首先說明了標準的GAN或者WGAN是無法收斂到納什均衡的,需要添加正則項。接下來,WGAN-GP也無法收斂,而一致優化正則項和zero centered gradient可以實現收斂,這為我們提供了很好的啟示。

下期預告:GAN中的mode collapse問題

GAN群

有三AI建立了一個GAN群,便于有志者相互交流。感興趣的同學也可以微信搜索xiaozhouguo94,備注"加入有三-GAN群"。

有三AI夏季劃

有三AI夏季劃進行中,歡迎了解并加入,系統性成長為中級CV算法工程師。

轉載文章請后臺聯系

侵權必究

往期精選

總結

以上是生活随笔為你收集整理的【GAN优化】如何选好正则项让你的GAN收敛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。