日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

了解GAN网络

發(fā)布時(shí)間:2024/7/23 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 了解GAN网络 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

GAN網(wǎng)絡(luò),第一次聽說它就不明覺厲。其他網(wǎng)絡(luò)都是對(duì)輸入圖像進(jìn)行某種處理,得到某種特定的輸出。而GAN網(wǎng)絡(luò)居然可以“無中生有”,無論是去除馬賽克,還是換臉,還是對(duì)灰度圖像上色,都顯得不可思議,怎么可能憑空產(chǎn)生多余的信息?

在做了一點(diǎn)初步的了解之后發(fā)現(xiàn),GAN網(wǎng)絡(luò)確實(shí)和直觀的感覺一樣,它不需要帶標(biāo)簽的圖像進(jìn)行訓(xùn)練,這也是它得到Y(jié)ann Lecunc稱贊為機(jī)器學(xué)習(xí)十年來最有意思的想法的原因,它使無監(jiān)督學(xué)習(xí)成為可能。但作為一個(gè)機(jī)器學(xué)習(xí)方法,它依然應(yīng)該有機(jī)器學(xué)習(xí)的三要素:模型,策略,算法。先再介紹一下GAN網(wǎng)絡(luò)的基本情況,再來從三要素分析之。

GAN網(wǎng)絡(luò)(Generative Adversarial Networks),生成對(duì)抗網(wǎng)絡(luò),由lan Goodfellow在2014年提出,發(fā)表在NIPS會(huì)議(神經(jīng)信息處理系統(tǒng)大會(huì))上。https://arxiv.org/abs/1406.2661

模型

GAN網(wǎng)絡(luò)使用了兩個(gè)模型,一個(gè)是生成器Generator(屬于生成模型),一個(gè)是鑒別器Discriminator(屬于判別模型)。兩個(gè)模型的關(guān)系是相互對(duì)抗又相互促進(jìn),就像軍備競(jìng)賽一樣,這也是這個(gè)網(wǎng)絡(luò)名字的由來。生成器使用隨機(jī)噪聲或者潛在變量生成逼真的樣本。鑒別器實(shí)質(zhì)就是一個(gè)二分類器,判斷當(dāng)前輸入是真實(shí)樣本還是仿冒樣本。

下面是GAN網(wǎng)絡(luò)的基本架構(gòu)。

?

從圖中可以看到GAN網(wǎng)絡(luò)基本分為G和D兩部分。G和D有時(shí)相連接,有時(shí)斷開,這時(shí)D的輸入是真正的樣本(但是不帶標(biāo)簽)。這種特殊的連接關(guān)系實(shí)際是之后要講的訓(xùn)練方法:單獨(dú)交替迭代訓(xùn)練。

策略

訓(xùn)練的結(jié)果,這兩個(gè)模型會(huì)達(dá)到納什均衡,鑒別器再也分不清楚生成器生成的樣本是真是假,若分類器是軟判決的,那么輸出的概率都分布在0.5附近,距離1和0的距離相同。

納什均衡是博弈學(xué)中的一個(gè)概念,被廣泛應(yīng)用于經(jīng)濟(jì)學(xué)中。比如兩個(gè)廠商,它們的定價(jià)策略有各種組合形式,那么存在這么一直策略組合是穩(wěn)定的,在這種局面下,任何一方單獨(dú)改變策略,都無法獲得收益,于是沒有哪一方會(huì)主動(dòng)改變策略,從而繼續(xù)維持穩(wěn)定。GAN就是生成器和鑒別器之間的博弈。考慮鑒別器D,我們站在鑒別器的角度考慮問題。輸出是概率,分布在0~1之間,1代表真實(shí)樣本,0代表假樣本,當(dāng)D的輸入是真實(shí)樣本時(shí),希望輸出越大越好;當(dāng)D的輸入是生成器產(chǎn)生的假樣本時(shí),希望輸出越小越好,即能正確識(shí)別真假。

考慮生成器G,我們希望G生成的樣本也可以以假亂真,被D判別為近似1。

算法

具體算法還需要研究作者的文章。在這里分析一下前面提到的單獨(dú)交替迭代訓(xùn)練。鑒別器比較容易理解,就是一個(gè)帶監(jiān)督的分類器。雖然說我們提供的樣本是沒有標(biāo)簽的,那只是意味著我們不知道樣本圖像具體的類別,我們也不需要知道,我們只需要知道它是真樣本還是假樣本就可以了(把真/假作為標(biāo)簽)。這時(shí)候鑒別器不需要和生成器相連。也可以理解為先固定生成器的參數(shù),之后還要固定鑒別器的參數(shù),更新生成器的權(quán)重。

對(duì)于生成網(wǎng)絡(luò),就需要兩個(gè)模型相連,這樣我們才能得到反饋。這時(shí)候保持鑒別器D的參數(shù)不變,還需要注意的是要把生成器生成的結(jié)果的標(biāo)簽置1,因?yàn)槲覀兿Mb別器能把它判為1,這樣把鑒別器的輸出一直逼近1就達(dá)到了訓(xùn)練的目的。

鏈接中給了使用matlab的DeepLearnToolbox生成mnist圖像的例子。但是在github有說明這個(gè)項(xiàng)目已經(jīng)不再維護(hù),作者推薦使用Theano,torch,TensorFlow。

除了普通的GAN,還有條件GAN,讓生成的樣本符合我們的預(yù)期。這個(gè)條件可以是類別標(biāo)簽(例如 MNIST 手寫數(shù)據(jù)集的類別標(biāo)簽),也可以是其他的多模態(tài)信息(例如對(duì)圖像的描述語言)等。

使用方法分兩步

??? Download.

addpath(genpath('DeepLearnToolbox'));

然后就可以在test文件夾中運(yùn)行測(cè)試用例了。

P.s 在matlab中使用自定義函數(shù),要將函數(shù)定義在同名m文件中,用function修飾

Reference:

  • 好在哪里 https://blog.csdn.net/heyc861221/article/details/80128351
  • 單獨(dú)交替迭代https://blog.csdn.net/on2way/article/details/72773771
  • 三篇文章https://www.cnblogs.com/Charles-Wan/p/623803html
  • DeepLearnToolbox:https://blog.csdn.net/zhenyu_zhang/article/details/78266415?locationNum=3&fps=1
  • 總結(jié)

    以上是生活随笔為你收集整理的了解GAN网络的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。