gan的全稱為generative adversarial networks,意為對抗生成網路。原始的gan是一種無監督學習方法,它巧妙地利用「對抗」的思想來學習生成式模型,一旦訓練完成後可以生成全新的資料樣本。dcgan將gan的概念擴充套件到卷積神經網路中,可以生成質量較高的樣本。gan和dcgan在各個領域都有廣泛的應用,這篇文章首先會介紹他們的原理,再介紹如何在tensorflow中使用dcgan生成影象,關於gan和dcgan的更多專案會在接下來的章節中進行介紹。
gan的原理其實非常簡單。可以把gan看成資料生成工具,這裡以生成資料為例進行講解,實際gan可以應用到任何型別的資料。
假設有兩個網路,生成網路g(generator)和判別網路d(discriminator)
他們的功能分別是:
在訓練過程中,生成網路g的目標是盡量生成真實的去欺騙判別網路d,而d的目標是盡量把生成的和真實的區分開來。這樣,g和d構成了乙個動態的「博弈」,這就是gan的基本思想。
最後博弈的結果是什麼?在理想的狀態下,g可以生成足以"以假亂真"的g(z)。對於d來說,他難以判定g生成的究竟是不是真實的,因此d(g(z))=0.5。此時得
深度學習條件gan
百家號04 16 19 45 前面的文章介紹了gan的原理,但是可以看到gan有乙個很有意思的結果,就是gan可以生成,但是他是在指定學習的一堆原始基礎上,隨機生成的。那麼如何才能夠按照我們指定的意願去生成內容呢?比如,mnist資料集的生產,我希望我能指定生成一些我希望的數字,例如1,或者2等。這...
深度學習七
我看到過的最複雜的模型就是ssd了,應該說在object detection這個領域,大牛們都是一再的奮鬥著 努力著。一路飄過,聽到的模型真的有很多,但是我覺得有質的變化還應該是r cnn spp fast rcnn faster rcnn yolo,為什麼會是這樣呢,我感覺其實如果是但一物體的識別...
深度學習 GAN生成式對抗網路
生成式對抗網路 gan,generative adversarial network 的簡單理解就是,想想一名偽造者試圖偽造一幅畢卡索的畫作。一開始,偽造者非常不擅長這項任務,他隨便畫了幅與畢卡索真跡放在一起,請鑑定商進行評估,鑑定商鑑定後,將結果反饋給偽造者,並告訴他怎樣可以讓 看起來更像畢卡索的...