Python人工智能學(xué)習(xí)PyTorch實現(xiàn)WGAN示例詳解
1.GAN簡述
在GAN中,有兩個模型,一個是生成模型,用于生成樣本,一個是判別模型,用于判斷樣本是真還是假。但由于在GAN中,使用的JS散度去計算損失值,很容易導(dǎo)致梯度彌散的情況,從而無法進(jìn)行梯度下降更新參數(shù),于是在WGAN中,引入了Wasserstein Distance,使得訓(xùn)練變得穩(wěn)定。本文中我們以服從高斯分布的數(shù)據(jù)作為樣本。
2.生成器模塊
這里從2維數(shù)據(jù),最終生成2維,主要目的是為了可視化比較方便。也就是說,在生成模型中,我們輸入雜亂無章的2維的數(shù)據(jù),通過訓(xùn)練之后,可以生成一個贗品,這個贗品在模仿高斯分布。

3.判別器模塊
判別器同樣輸入的是2維的數(shù)據(jù)。比如我們上面的生成器,生成了一個2維的贗品,輸入判別器之后,它能夠最終輸出一個sigmoid轉(zhuǎn)換后的結(jié)果,相當(dāng)于是一個概率,從而判別,這個贗品到底能不能達(dá)到以假亂真的程度。

4.數(shù)據(jù)生成模塊
由于我們使用的是高斯模型,因此,直接生成我們需要的數(shù)據(jù)即可。我們在這個模塊中,生成8個服從高斯分布的數(shù)據(jù)。

5.判別器訓(xùn)練
由于使用JS散度去計算損失的時候,會很容易出現(xiàn)梯度極小,接近于0的情況,會使得梯度下降無法進(jìn)行,因此計算損失的時候,使用了Wasserstein Distance,去度量兩個分布之間的差異。因此我們假如了梯度懲罰的因子。

其中,梯度懲罰的模塊如下:

6.生成器訓(xùn)練
這里的訓(xùn)練是緊接著判別器訓(xùn)練的。也就是說,在一個周期里面,先訓(xùn)練判別器,再訓(xùn)練生成器。

7.結(jié)果可視化
通過visdom可視化損失值,通過matplotlib可視化分布的預(yù)測結(jié)果。

以上就是人工智能學(xué)習(xí)PyTorch實現(xiàn)WGAN示例詳解的詳細(xì)內(nèi)容,更多關(guān)于PyTorch實現(xiàn)WGAN的資料請關(guān)注腳本之家其它相關(guān)文章!
- python機(jī)器學(xué)習(xí)pytorch自定義數(shù)據(jù)加載器
- python神經(jīng)網(wǎng)絡(luò)pytorch中BN運(yùn)算操作自實現(xiàn)
- python神經(jīng)網(wǎng)絡(luò)Pytorch中Tensorboard函數(shù)使用
- python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)利用PyTorch進(jìn)行回歸運(yùn)算
- python深度學(xué)習(xí)之多標(biāo)簽分類器及pytorch實現(xiàn)源碼
- python機(jī)器學(xué)習(xí)pytorch?張量基礎(chǔ)教程
相關(guān)文章
Python中內(nèi)置的日志模塊logging用法詳解
Python的logging模塊提供了記錄程序運(yùn)行情況的日志功能,類似于Apache的log4j,很好很強(qiáng)大,這里我們就來看一下Python中內(nèi)置的日志模塊logging用法詳解2016-07-07
實例解析Python設(shè)計模式編程之橋接模式的運(yùn)用
這篇文章主要介紹了Python設(shè)計模式編程之橋接模式的運(yùn)用,橋接模式主張把抽象部分與它的實現(xiàn)部分分離,需要的朋友可以參考下2016-03-03
Python利用operator模塊實現(xiàn)對象的多級排序詳解
python中的operator模塊提供了一系列的函數(shù)操作。下面這篇文章主要給大家介紹了在Python中利用operator模塊實現(xiàn)對象的多級排序的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
解決Jupyter無法導(dǎo)入已安裝的 module問題
這篇文章主要介紹了解決Jupyter無法導(dǎo)入已安裝的 module問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python中帶時區(qū)的日期轉(zhuǎn)換工具類總結(jié)
這篇文章主要為大家詳細(xì)介紹了一些Python中帶時區(qū)的日期轉(zhuǎn)換工具類,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起了解一下2023-05-05
pytest自動化測試中的fixture的聲明和調(diào)用
這篇文章主要為大家介紹了pytest自動化測試中的fixture的聲明和調(diào)用,文中含有詳細(xì)示例操作有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10

