生成對抗網絡(GANs)最新家譜:為你揭秘GANs的前世今生

2021-01-08 和訊網

作者:Guim Perarnau

  編譯:Katherine Hou、朝夕、Katrine Ren、Shan LIU、笪潔瓊、錢天培

  生成對抗網絡(GAN)一經提出就風光無限,更是被Yann Lecun譽為「十年來機器學習領域最有趣的想法」。

  GAN「左右互搏」的理念幾乎眾所周知,但正如卷積神經網絡(CNN)一樣,GAN發展至今已經衍生出了諸多變化形態。

  今天,文摘菌就來為大家盤點一下GAN大家庭中各具特色的成員們。

  他們的名單如下:

  1.DCGANs

  2.Improved DCGANs

  3.Conditional GANs

  4.InfoGANs

  5.Wasserstein GANs

  6.Improved WGANs

  7.BEGANs

  8.ProGANs

  9.CycleGANs

  注意,這篇文章不會包含以下內容

  · 複雜的技術分析

  · 代碼(但有代碼連結)

  · 詳細的研究清單(你可以點擊以下連結http://github.com/zhangqianhui/AdversarialNetsPapers)

  想要了解更多GANs相關內容的也可以留言告訴文摘菌哦~

  GANs概論

  如果你對GANs很熟悉的話,你可以跳過這部分的內容。

GANs最早由Ian Goodfellow提出,由兩個網絡構成,一個生成器和一個鑑別器。他們在同一時間訓練並且在極小化極大算法(minimax)中進行競爭。生成器被訓練來欺騙鑑別器以產生逼真的圖像,鑑別器則在訓練中學會不被生成器愚弄。

GAN 訓練原理概覽

  首先,生成器通過從一個簡單分布(例如正態分布)中抽取一個噪音向量Z,並且上行採樣(upsample)這個向量來生成圖像。在最初的循環中,這些圖像看起來非常嘈雜。然後,鑑別器得到真偽圖像並學習去識別它們。隨後生成器通過反向傳播算法(backpropagation)收到鑑別器的反饋,漸漸在生成圖像時做得更好。我們最終希望偽圖像的分布儘可能地接近真圖像。或者,簡單來說,我們想要偽圖像儘可能看起來像真的一樣。

  值得一提的是,因為GANs是用極小化極大算法做優化的,所以訓練過程可能會很不穩定。不過你可以使用一些「小技巧」來獲得更穩健的訓練過程。

  在下面這個視頻中,你可以看到GANs所生成圖片的訓練演變過程。

  代碼

  如果對GANs的基本實現感興趣,可以參見代碼的連結:

  Tensorflow(http://github.com/ericjang/genadv_tutorial/blob/master/genadv1.ipynb)

  Torch 和 Python (PyTorch)(http://github.com/devnag/pytorch-generative-adversarial-networks;http://medium.com/@devnag/generative-adversarial-networks-gans-in-50-lines-of-code-pytorch-e81b79659e3f)

  Torch 和 Lua(http://github.com/lopezpaz/metal)

  雖然這些不是最前沿的內容,但它們對於掌握理念很有幫助。

  接下來我將按照粗略的時間順序描述最近這些年來出現的GANs相關的一些進展和類型。

  深度卷積生成式對抗網絡(Deep Convolutional GANs, DCGANs)

  DCGANs是GAN結構的最早的重要發展。就訓練和生成更高質量的樣本來說,DCGANs更加穩定。

  論文連結:http://arxiv.org/abs/1511.06434

  DCGAN的作者們專注於提升初代GAN的框架結構。他們發現:

  批次(Batch)的正態化在兩個網絡中都是必須要做的。

  完全的連接層不是一個好的想法。

  避免池化,只需卷積

  修正線性單元(ReLU)激活函數非常有用。

  DCGANs截至目前任然被時常提起,因為它們成為了實踐和使用GANs的主要基準之一。

  在這篇論文發布後不久,就在Theano, Torch, Tensorflow 和Chainer中出現了不同的可使用的實現方法,這些方法可以在你感興趣的任何數據集上測試。所以,如果你遇到了生成後奇怪的數據集,你完全可以歸咎於這些傢伙。

  DCGANs的使用場景如下:

  你想要比基礎GANs表現更好(這是必須的)。基礎GANs適用於簡單的數據集,然而DCGANs比這要強得多。

  你在尋找一種穩固的基準方法來比較你的新GAN算法。

  從現在開始,除非特別說明,我接下來將要描述的所有GANs的類型都被假定為有DCGAN的結構。

  提升深度卷積生成式對抗網絡(Improved DCGANs)

  一系列提升先前的DCGAN的技術。例如,這一提升後的基準方法能夠生成更好的高解析度圖像。

  論文連結:http://arxiv.org/abs/1606.03498

  GANs的主要問題之一是收斂性。收斂性不是一定的,而且儘管DCGAN做了結構細化,訓練過程仍可能非常不穩定。

  在這篇論文裡,作者們針對GAN訓練過程提出了不同的增強方法。以下是其中一部分:

  特徵匹配:他們提出了一種新的目標函數,而不是讓生成器儘可能地去矇騙鑑別器。這個目標函數需要生成器生成的數據能夠跟真實數據的統計量相匹配。在這種情況下,鑑別器只被用來指定哪些才是值得去匹配的統計量。

  歷史平均:在更新參數值時,把它們過去的值也納入考慮。

  單側標籤平滑:這一項非常簡單:只要把你的鑑別器的目標輸出值從[0=假圖像,1=真圖像]改成[0=假圖像,0.9=真圖像]。不錯,這樣就提升了訓練效果。

  虛擬批次正態化:通過使用從其他批次計算的統計量來避免依賴於同一批次的數據。這樣的計算成本很高,所以它僅僅被用在生成器當中。

  所有這些技術都使得模型在生成高解析度圖像時能表現得更好,而這正是GANs的弱項之一。

  作為對比,請看在128x128圖像上原始DCGAN和提升後的DCGAN的表現差異:

  這些本來都是狗的圖片。正如你看到的,DCGAN表現很糟糕,而用improved DCGAN你至少可以看到一些包含狗的特徵的內容。這也說明了GANs的另一局限——生成結構性的內容。

  Improved DCGANs的使用場景如下

  生成更高解析度的圖像

  條件生成式對抗網絡(Conditional GANs, cGANs)

  條件式生成式對抗網絡使用額外的標籤信息用於生成更高質量圖片,並且使圖片的呈現可控制。

  論文連結:http://arxiv.org/abs/1411.1784

  CGANs是GAN框架的擴展。我們用條件信息Y來描述數據的某些特徵。假設我們要處理面部圖像,Y則可以用來描述頭髮顏色或者性別。然後這些屬性被插入生成器和鑑別器。

使用臉部特徵信息的條件生成網絡如上圖所示

  條件式生成對抗網絡有兩個很有意思的地方:

  1、隨著你不斷給模型提供更多信息,GAN學習探索這些信息,然後產生更好的樣本。

  2、我們用兩種方法來控制圖片的呈現,在沒有CGAN的時候所有圖片信息使用Z編碼。在CGAN下,我們加入了條件信息Y,於是Z和Y對不同信息進行編碼。

  例如,我們假設Y對手寫數字0-9進行編碼。Z對其他變量編碼,這些變量可以是數字的風格比如(大小,粗細,旋轉角度等。)

  MNIST(Mixed National Institute of Standards and Technology database,簡單機器視覺數據集)樣本中Z和Y的區別如上圖。Z是行,Y是列;Z對數字的風格編碼,Y對數字本身編碼。

  最近的研究成果

  在這個領域有很多有趣的文章,我介紹2個:

  1、使用生成對抗網絡學習在指定位置畫畫(論文:http://arxiv.org/abs/1610.02454;代碼:http://github.com/reedscot/nips2016):這篇論文裡作者設計了一個本文描述的方法來告訴GAN畫什麼,同時使用方框和標記告訴GAN繪畫主體的位置。如下圖示:

堆棧式GAN

  (原文:http://arxiv.org/abs/1612.03242;代碼:http://github.com/hanzhanggit/StackGAN)

  這篇文章和上一篇比較類似,這裡作者同時使用2個GAN網絡(階段1和階段2)用於提升圖片的質量。第1階段用來獲得包含圖片「基本」概念的低解析度圖片。第2階段用更多的細節和更高的解析度提煉第1階段的圖片。

  這篇文章據我所知是生成高質量圖片最好的模型之一,不信請看下圖。

條件式生成網絡的使用場景如下:

  1、你有一個帶標籤的訓練集,想提高生成圖片的質量

  2、你想對圖片的某些特徵進行精細的控制,比如在某個設定的位置生成特定大小的一隻紅色小鳥。

  最大信息化生成對抗網絡(InfoGANs)

  GANs可以在無監督模式下對噪聲向量Z的一部分有意義的圖像特徵進行編碼。比如對某一數字的旋轉編碼。

  論文連結:http://arxiv.org/abs/1606.03657

  你是否曾想過GAN裡輸入噪聲Z對哪些信息進行編碼?一般來說它對圖片的不同類型的特徵使用一種非常「嘈雜」的方式編碼。例如,取Z向量的一個位置 並且插入一個-1到1之間的值。這是下圖所示的MNIST數據集的訓練模型。

左上圖像是對Z插值取-1的時候,右下是插值為1的時候

  上圖中,生成的圖片看似是從4慢慢變成「Y」(很像是4和9的混合體)。

  這就是我之前所說的使用一種「嘈雜」的方式進行編碼:Z的一個位置是圖像多個特徵的一個參數。

  這種情況下,這個位置改變了數字自己(某種程度,從4變成9)和他的風格(從粗體變成斜體)。

  然而,你無法定義Z的位置的確切含義。

  如果使用Z的一些位置來代表唯一且受限的信息,正如CGAN裡的條件信息Y呢?

  例如,第一個位置是0-9之間的數值來控制數字,第二個位置來控制數字的旋轉,這就是文中作者想要表達的。

  有意思的是,與CGANS不同,他們使用無監督的方法實現並不需要標籤信息。

  他們是這麼做的,把Z向量拆分成兩部分:C和Z

  C對數據分布的語義特徵進行編碼

  Z對分布的所有非結構化噪聲進行編碼

  如何用C對這些特徵編碼呢?

  通過改變損失函數避免C被GAN簡單地忽略掉。所以他們使用一種資訊理論正則化確保C與生成器分布之間的互信息[z1] (mutual information)。

  也就是說,如果C變化,生成的圖像也會變化。這導致你不能明確的控制什麼類型的信息將被引入C中。但是C的每一個位置都有獨特的含義。

  如下圖所示:

  C的第一位置編碼數字的類別,第二位置編碼旋轉方向。

  然而,不使用標籤信息的代價是,這些編碼僅對非常簡單的數據集有效比如MNIST庫裡的數字。

  並且,你還需要手工設定C的每個位置。例如文章中作者需要定義C的第一位置是介於0-9的整數以對應數據集的十類數字。你會認為這樣不是百分百的無監督,因為需要手動給模型提供一些細節。

  你可能需要用到infoGANs的場景如下:

  1、數據集不太複雜

  2、你想訓練一個CGAN模型但是缺少標籤信息

  3、你想知道數據集主要有意義的圖像特徵並且對他們進行控制

  生成式對抗網絡(Wasserstein GANs)

  修改損失函數以引入Wasserstein距離,這樣以來WassGANs 的損失函數同圖片質量建立聯繫。同時訓練的穩定性有所提升而並非依賴於架構。

  論文連結:http://arxiv.org/abs/1701.07875

  GANs 經常存在收斂問題,所以你並不知道什麼時候該停止訓練。換句話說損失函數同圖像質量無關,這可是個大難題。

  因為:

  你需要不斷的查看樣本來確認模型訓練是否正確

  因為不收斂,你不知道何時該停止訓練

  也沒有數值指示你調參的效果如何

  舉個例子,看下面DCGAN的兩個無信息損失函數完美的生成MNIST樣本的迭代圖[z2]

僅看上圖你知道什麼時候該停止訓練嗎?

  這種可解釋性的問題也是Wasserstein GANs要解決的。

  怎樣解決呢?

  如果真實和偽造樣本的分布不重疊(一般都是這樣)GANs可以用來最小化JS散度(Jensen-Shannon divergence)直到0。

  所以與其最小化JS散度,作者使用Wasserstein距離來描述不同分布中點之間的距離。

  思路大概如此,如果你想了解更多,我強烈建議你看這篇文章(http://paper.dropbox.com/doc/Wasserstein-GAN-GvU0p2V9ThzdwY3BbhoP7)或者更深入分析或者閱讀本論文。

  WassGAN有和圖像質量關聯的損失函數並且能夠收斂。同時他更加穩定而不依賴GAN的結構。比如,就算你去掉批標準化或者使用怪異的結構,它仍能很好的工作。

  這就是他的損失函數圖,損失越低,圖像質量越好。完美!

  Wasserstein GANs的應用場景如下:

  你需要尋找最先進的且有最高訓練穩定性的GAN

  你想要一個有信息量且可以解讀的損失函數。

  加強版WGANs (Improved WGANs , WGAN-GP)

  這個模型使用的是Wasserstein GANs,並應用了梯度懲罰(gradient penalty)來代替權重剪輯(weight clipping)及其帶來的一些不需要的行為。這個方法可以帶來更高的聚合度、更高質量的樣本和更穩定的訓練。

  論文:http://arxiv.org/abs/1704.00028

  代碼:http://github.com/igul222/improved_wgan_training

  針對問題:WGANs有時候會生成一些質量不佳的樣本,或者是無法在某些集合中生成聚集。這種現象主要是由於為了滿足Lipschitz限制而在WGANs中應用權重剪輯(即把所有權重限制在一個由最小值和最大值組成的範圍內)所造成的。如果你對這個限制不太了解,那麼你只需要記住它是WGANs正常運行的一個必要條件。那麼為什麼權重剪輯會造成如上問題呢?這是因為它會使WGANs偏向於使用那些過於簡單的函數,這意味著當WGANs想要模擬複雜的數據時,簡單地估算近似值令其無法得到準確的結果(如下圖所示)。另外,權重剪輯也使得梯度爆炸與消失更容易發生。

  左圖是使用了簡單的函數導致無法正確模擬高斯為8的WGANs運行後的結果,而右圖則是經過使用了更複雜的函數的WGAN-GP矯正後的圖像。

  梯度懲罰(Gradient penalty):所以我們該如何擺脫權重剪輯帶來的不良效果呢?

  WGAN-GP的作者(GP表示梯度懲罰)提出了使用另一種叫梯度懲罰的辦法來加強Lipschitz限制的建議。原則上,梯度懲罰的原理是對某些梯度實行了均值為1的限制。對於那些均值偏離於1的梯度將會實施懲罰(減少權重),這也是為什麼它被稱為梯度懲罰的原因。

  優點:由於在訓練中使用了梯度懲罰而不是權重剪輯,WGANs獲得了更快的聚合。另外,因為不再必須對超參數進行調整,而且網絡架構的使用也不再像之前那麼重要,訓練在某種程度上變得更加穩定。雖然很難說清楚到底有多少,但這些WGAN-GP確實產生了更高質量的樣本。在已驗證並測試的結構上,這些樣本的質量和作為基線的WGANs產出的結果非常相似。

  基於同一個網絡架構,WGANs-GP明顯在生成高質量樣本上更有優勢,而GANs則不然。

  比如,據作者所知,這是首次GANs能夠在殘差網絡的結構上運行:

  為了不超出本篇博文的範疇,還有許多其他有趣的細節我這裡就不一一闡述了。如果你對這個訓練方式有興趣想要了解更多(例如,為什麼梯度懲罰只應用於「某些」特定梯度,又或者怎樣才能把這個模型用於文本數據樣本),我會建議你自行閱讀一下該論文。

  強化版的WGAN的優點如下:

  l 更快的聚合

  l 可以在各種各樣的網絡架構和數據集中使用

  l 不像其他的GANs一樣需要太多的超參數調整

  邊界均衡GANs(Boundary Equilibrium GANs,BEGANs)

  GANs使用一個自動編碼器作為均衡判別器。它們可在一個簡單的架構上被訓練出來,且合成一個動態的可以使得均衡器和生成器在訓練中兩者平衡的階段。

  論文:http://arxiv.org/abs/1703.10717

  一個有趣的事實:BEGANs 和WGAN-GP幾乎是同一天在論文上發表。

  理念:讓BEGAN區別於其他GANs的原因有兩個,一是它們使用了一個自動編碼器作為均衡判別器(這一點和EBGANs類似),二是為了適用於這個情境的一個特別的損失函數。這種選擇背後的理由是什麼呢?強迫我們使用像素重建損失函數來製造模糊生成樣本的自動編碼器是否也不是傳說中那麼「邪惡」呢?

  要回答這些問題,我們需要考慮以下兩點:

  1. 為什麼要重建像素損失?作者解釋說這麼做的原因是,對於那些符合對像素損失的重建分布模式的假設,我們可以依賴它們去匹配樣本的分布模式。

  2. 而這又引出了下一個問題:如何才可以達到這一目的呢?一個重要的觀點是,從自動編碼器/均衡判別器形成的像素重建損失(換言之,就是基於某個圖像輸入,輸出最優化的像素重建)並不是經BEGANs最小化後生成的最終損失。可以說,這個重建損失不過是為了計算最終損失的其中一個步驟。而最終損失的計算這是通過衡量基於真實數據的重建損失和基於生成數據的重建損失之間的Wasserstein距離(是的,現在它無處不在)。

  這麼一看似乎這其中的信息量非常大,但我可以保證,一旦我們看清損失函數是如何作用於生成器和判別器,這一切將會變得再明白不過了。

  生成器專注於生成那些能夠讓判別器良好重建的圖像

  而判別器則致力於儘可能良好地重建真實圖像,同時重建那些誤差最大化的生成圖像。

  差異因數:另一個有趣的成分是所謂的差異因數。通過這個因子你能控制判別器不同程度的表現,決定它能只專注於形成對真實圖像的完美重建(注重質量),又或是更側重在區分真實圖像和生成圖像(注重多樣性)。然後,它們就能更進一步地利用這個差異因數去保持生成器和判別器在訓練中的平衡。如同WGANs,這一模型同樣應用均衡狀態作為調整和圖像質量相關的聚合度的方法。然而,和WGANs (與 WGANs-GP)不盡相同的是,它們利用了Wasserstein 距離,而非Lipschitz限制,去測量均衡水平。

  結論:BEGANs並不需要任何花裡胡哨的網絡架構就可以訓練得當。如同在論文中所述的,「不批量標準化,不丟棄神經網絡元,無反卷積,也沒有卷積濾鏡的指數化增長」,這些生成樣本(128x128)的質量已經相當好了。

  然而,在這篇論文中有一個重要的細節值得我們注意:論文中使用的未發表數據集的樣本量是目前廣為使用的 CelebA數據集的兩倍之大。因此,為了得到更具有現實意義的定性比較,我邀請大家去查看那些使用了CelebA的公開模型(http://github.com/carpedm20/BEGAN-tensorflow),並看看那些由此生成的樣本。

  最後,如果你對BEGANs感興趣想要了解更多,我建議你閱讀一下這篇博文(http://blog.heuritech.com/2017/04/11/began-state-of-the-art-generation-of-faces-with-generative-adversarial-networks/),裡面對BEGANs有更多詳細的介紹。

  你需要BEGANs的原因一般會和需要使用WGANs-GP的情況差不多。這兩個模型的結果往往非常相似(穩定的訓練、簡單的架構、和圖像質量相關的損失函數),而兩者的不同主要在於過程中使用的手段。由於評估生成式模型本身就不是一件容易的事,我們很難去說清楚孰優孰劣。但就像Theisetal在他們的論文(http://arxiv.org/abs/1511.01844)中所說的,選擇一個評估的方法,不然就依據實際情況來做判定。在這種情況下,WGANs-GP具有更高的初始分數(Inception score)而BEGANs則能生成非常優質的圖像,兩者都是未來最值得研究和最具有革新意義的模型。

  漸進式發展生成對抗網絡(Progressive growing of GANs,ProGANs)

  在訓練過程中,逐步嵌入新的高解析度的層次,來生成相當逼真的圖像。更多的進步以及新興的考核機制也相繼湧現。新生成的圖片質量高得驚人。

  論文:http://arxiv.org/abs/1710.10196

  代碼:http://github.com/tkarras/progressive_growing_of_gans

  生成高解析度的圖像是個大挑戰。圖片越大,對生成對抗網絡來說越可能失敗。因為它要求模型學習辨別更細微、複雜的細節。為了使大家更好理解,在這篇文章發表之前,GANs產出圖像的合理尺寸大概是256x256。漸進式生成對抗網絡(ProGANs)將它提升到了一個全新水準-生成尺寸為1024x1024的圖片。我們來看看它是如何實現的:

  理念: ProGANs-建立於WFGANs-GP-引入了一種靈活地將新層次逐漸嵌入到訓練時間的方式。每一層都利用上採樣增強了生成器和判別器裡的圖像解析度。

  步驟分解如下:

  1 首先,利用低像素圖片訓練生成器和判別器。

  2 在一定時間點(開始聚合的時候),提高解析度。這是通過「遷移階段」/「平滑技術」非常完美地實現的。

  新的層次是藉助α控制的一系列細微的線性步驟添加,而不是簡單粗暴地加上一層。

  我們看看生成器裡都發生了什麼。最初,當α = 0,無變化。產出主要來自於前一低解析度層(16x16)的貢獻。

  當提升α的值,新一層(32x32)開始通過反向傳播調整它的權重。最後,當α趨近於1,我們幾乎可以跳過32x32這一層的操作。同理適用於判別器,當然是以完全相反的方式:不是使圖片更大,而是更小。

  3 一旦轉化完成,繼續訓練生成器與判別器。假如得到的圖片質量解析度不達標,請回到步驟2。

  不過,等等……對新的高解析度圖像的上採樣與串聯不是已經在StackGANs(還有新StackGANs++)裡實現了麼?沒錯,也不全對。首先,StackGANs是將文字翻譯為圖像的條件GANs,它引入文字描述作為額外輸入值。而ProGANs沒有使用任何假定式的信息。更加有趣的是,儘管StackGANs和ProGANs都對更高解析度的圖片串聯,StackGANs需要儘量多的根據上採樣獨立配對的GANs-需單獨訓練,你想進行上採樣3次麼?那你要訓練3個GANs。另一方面,在ProGANs模型中只有一個單一的GAN被訓練。在這一訓練中,更多的上採樣層被逐步疊加至上採樣的圖片,上採樣3次的嘗試只是增加更多的層在訓練時間上,而不是抓3個新的GANs逐次訓練。總而言之,ProGANs採用一種與StackGANs相似的理念,它完美地完成,而且在沒有額外信息的情況下產出更好的結果。

  結果。作為漸進訓練的結果,ProGANs生成的圖片有更高的質量,而針對1024x1024圖像的訓練時間也縮減了5.4倍。背後的理由是,ProGAN不需要一次性學習所有大、小規模的典型圖片。在ProGAN模型裡,小規模的圖像最先被學習(低解析度層次聚合),然後模型可以自行聚焦在完善大尺寸圖片的結構上(新的高解析度層次聚合)。

  其他的提升。

  另外,該論文提出了新的設計決策來更進一步提升模型的性能。概述如下:

  小批量標準差:將標準差運用於這些小批量的所有特徵屬性,允許每個小批量有相似的統計數據。然後,總結為一個新的層的單一值,嵌入至網絡尾端。

  均衡的學習速率:通過在訓練過程中持續地將每個權重除以一個常量,確保所有權重的學習速度一致。

  像素標準化:在生成器上,每一個矢量的特徵是根據其卷基層標準化的(論文裡的精確公式)。這是為了防止生成器和判別器的梯度量級的逐步上漲。

  CelebA-HQ(CelebA高級版)。 值得一提的是,作者為了實現高解析度訓練,改進了原始的CelebA,從而得到了CelebA-HQ,簡單來說,它們移除原像,應用高斯濾波器來生成一種景深效果,然後探測到人臉圖像,得到一個1024x1024尺寸的裁剪圖片,在這一流程之後,他們從202k張圖片裡保留了最優質的30k張圖片。

  評估

  最後,我們介紹一種新的評估方式:

  背後的理念是:生成圖像的本地圖形結構應該與訓練圖像的結構匹配。

  那麼如何測量本地結構?

  使用Laplacian pyramid算法,你可以得到不同的空間頻段,來作為描述符。

  最後,我們從生成圖像和原始圖像中提取描述符,將其規範化,然後使用著名的Wasserstein距離檢測它們有多接近。距離越近越好。

  你可能會想在以下場景使用ProGANs的使用場景如下:

  假如你希望獲得最完美的結果。但是考慮到…

  你需要花大量時間搭建模型:我們需要在一個單一的NVIDIA Tesla P100 GPU上花20天訓練網絡

  如果你開始懷疑世界的真實性。GANs的下一輪迭代可能會給你一些比現實生活還真實的樣本參考。

  循環生成對抗網絡(Cycle GANs)

  論文:http://arxiv.org/pdf/1703.10593.pdf

  代碼:http://github.com/junyanz/CycleGAN

  循環GANs是目前最先進的用於圖片互譯的生成對抗網絡。

  這些GANs並不需要配對的數據集來學習不同領域之間的轉譯,這點很棒,因為配對數據集很難獲取。然而CycleGANs仍然需要通過兩個不同領域的數據X和Y(例如X是普通的馬匹,Y是斑馬)來訓練。為了將轉換限制於從一個領域到另一領域的範疇,他們使用所謂的「循環一致性損失」。大意是,如果可以將馬匹A轉化成斑馬A,那麼當你將斑馬A逆轉化,應該能得到馬匹A才對。

  這種從一個領域到另一領域的變換與另一熱門概念「神經風格轉換」是有區別的。後者結合了一副圖像的「內容」與另一圖像的「樣式」。循環GANs則是在一個領域轉換至另一領域的過程中學習總結非常高層次的特徵。因此,循環GANs更籠統,並且適用於多種映射關係,例如將一個速寫轉化為真實物品。

  總結一下,生成對抗網絡在近期取得了兩大顯著進步:

  WGANS-GP和BEGANs

  儘管理論研究方向不同,但它們提供了相似的優點。其次,我們有ProGANs(基於WGANS-GP),它打開了一條通往生成高清圖像的清晰路徑。同時,循環GANs讓我們看到了GANs從數據集提取有用信息的潛力以及這些信息如何轉入至另一非關聯的數據分布。

  好書推薦

  keras快速上手:基於Python的深度學習實戰

  「深度學習和人工智慧可謂是目前最火的話題之一,可是很多人感到入門太難。該書一改市面上很多深度學習書籍過於理論化的特點,突出實用性和可操作性,是一本少有的深入淺出介紹深度學習模型及其應用的好書。」

  推薦人:羅勃 The University of Kansas, Associate Professor of ECs

    本文首發於微信公眾號:大數據文摘。文章內容屬作者個人觀點,不代表和訊網立場。投資者據此操作,風險請自擔。

(責任編輯:趙然 HZ002)

相關焦點

  • 生成式對抗網絡(GANs)的七大未解之謎
    全文共5802字,預計學習時長20分鐘根據一些度量指標,在過去兩年,有關生成式對抗網絡(GANs)的研究中已經取得了長足進步。圖像合成模型的實際改進(如下所示),幾乎快得讓人跟不上。然而,根據其它度量指標,研究並沒有很大的進展。例如,關於評估GANs的方法仍存在著廣泛的分歧。
  • 生成對抗網絡(GANs )為什麼這麼火?盤點它誕生以來的主要技術進展
    當兩組模型不斷訓練,生成器不斷生成新的結果進行嘗試,它們的能力互相提高,直到生成器生成的人造樣本看起來與原始樣本沒有區別。」 更多「什麼是 GANs ?」的詳細解說,請參考雷鋒網整理的Ian Goodfellow NIPS 大會 ppt演講,Yan Lecun 演講,以及香港理工大學博士生李嫣然的「GANs 最新進展」特約稿。
  • 「GANs之父」Goodfellow 38分鐘視頻親授:如何完善生成對抗網絡...
    什麼是對抗生成網絡(GANs)?生成對抗網絡是一種生成模型(Generative Model),其背後最基本的思想就是從訓練庫裡獲取很多的訓練樣本(Training Examples),從而學習這些訓練案例生成的概率分布。一些生成模型可以給出概率分布函數定義的估測,而另一些生成模型可以給你全新的樣本,這些新樣本來自於原有生成訓練庫的概率分布。
  • 揭秘騰訊變臉魔法,生成對抗網絡GAN的威力是什麼?
    揭秘騰訊變臉魔法,生成對抗網絡GAN的威力是什麼? 2020年11月19日 18:14作者:網絡編輯:王動 漫畫臉的刷屏,是否讓你喜歡上了這種打破現實與幻想次元壁的變臉特效
  • 解讀狗牙 顯卡帝揭秘AA抗鋸齒前世今生
    顯卡帝揭秘AA抗鋸齒的前世今生顯卡帝揭秘AA抗鋸齒的前世今生    AA(Anti-Aliasing)抗鋸齒想必不少玩家在遊戲面對遊戲畫質設定選項中「品種繁多」的AA抗鋸齒,我們玩家應該如何選擇了,你是否對沒一種AA抗鋸齒選項有所了解?那麼今天顯卡帝就來為您詳細解讀AA抗鋸齒的前世今生,讓你開開心心對AA抗鋸齒弄個明白。
  • 揭秘巴氏鮮奶的前世與今生!
    走進超市乳品區,你會發現櫃檯上擺放著品類繁多的牛奶,有純牛奶、有機奶、低脂奶、高鈣奶等,然而有一種奶卻自己悄悄躲到了生鮮區的冷櫃中,它就是「巴氏鮮奶」。今天,為大家揭秘一下巴氏鮮奶的前世今生。巴氏鮮奶的前世牛奶是從母牛乳房中擠出來的液體,它含有人類所需的鈣、磷、鈉、鎂、維生素、碳水化合物等物質。
  • 國外大神的機器學習算法大匯總如何用50行PyTorch代碼實現GANs|AI...
    今天推薦一款基於 LMDB(Lightning Memory-Mapped Database)資料庫的張量讀寫工具,專門為加快機器學習領域的數據讀取速度而設計。原文作者為前谷歌高級工程師、AI 初創公司 Wavefront 創始人兼 CTO Dev Nag。本文雷鋒網已經編譯整理出了中文版本,連結如下。
  • 生成對抗網絡的最新研究進展
    ,生成對抗網絡是一類功能強大、應用廣泛的神經網絡。生成對抗網絡的工作原理給定一組目標樣本,生成器試圖生成一些能夠欺騙判別器、使判別器相信它們是真實的樣本。判別器試圖從假(生成)樣本中解析真實(目標)樣本。
  • 生成對抗網絡(GAN)的半監督學習
    如果您不熟悉圖像生成GAN,請參閱《生成對抗網絡簡介》。本文引用了該文章中描述的一些內容。網絡如圖2.,在構建用於生成圖像的GAN時,我們同時訓練了生成器和決策器。在訓練之後,我們可以放棄決策器,因為我們只用它來訓練生成器。
  • 馬雲前世曝光!天眼揭秘,竟然做了40多世的大善人……震驚所有人!
    馬雲前世曝光!天眼揭秘,竟然做了40多世的大善人……震驚所有人!身價2700億!馬雲,再當中國首富!近日,看到一篇「馬雲前世被曝」的文章,天眼揭秘:他竟然做了40多世的大善人,所以今生大富大貴,福報多多!據悉,這是一位師兄在佛菩薩的加持下,腦中浮現的畫面。
  • 手把手教你如何用GANs拉近二次元與三次元的距離
    次元壁漸漸被打破,你的紙片人老婆(老公)從屏幕裡走出來,形象更加逼真,還可私人定製哦。這就需要我們理解生成對抗網絡(GANs)的工作模式,並掌握如何創造和構建此類應用程式。本文將結合生成對抗網絡(GANs)的工作模式,通過相關的動漫人物資料庫去手把手教你如何創建屬於自己的動漫人物,圓夢二次元。
  • GANs和低效映射
    生成對抗網絡(GANs)被譽為生成藝術領域的下一紀元,這是有充分理由的。新技術一直是藝術的驅動因素,從顏料的發明到照相機再到Photoshop-GAN是自然而然的。例如,考慮下面的圖片,由埃爾加馬勒發表在2017年的論文。如果你不熟悉GAN,那麼本文將簡要介紹訓練過程。
  • 根據土星宮位看前世今生
    根據土星宮位看前世今生你想知道你前世的人生嗎?土星掌管命運,我們可以從中窺知一二。你何不利用這些訊息,解讀分析,進而豐富你今世的人生。  我們為什麼用土星來探索前世呢?因為土星除了「限制、抑制」之外,還具有命運的意義。
  • 你前世欠了多少情債?前世姻緣註定今生的相遇,宿世情深該如何把握?
    世間大多痴男善女都在盲目追尋自己的愛情,一場又一場的相親、一個又一個的伴侶,也有很多人因為種種原因悔恨自己錯過了自以為是的一生良緣,人生路漫漫,你怎知那錯過的一定就是你的良緣呢? 前世你對我有恩,今生我便以身相許 如果雙方前世有恩情,今生相會便能喜結良緣,這樣的夫妻緣,報恩的一方能夠為了對方無怨無悔的奉獻,最能美滿幸福。
  • 《俠隱閣》前世今生MOD怎麼用 前世今生MOD及使用方法教學
    下面請看由「mzm1111」帶來的《俠隱閣》前世今生MOD及使用方法教學,希望大家能夠... 《俠隱閣》可以通過打MOD來增強遊戲的趣味性,前世今生MOD就可以讓玩家初始就擁有很強的勢力,還增加了往外的玩法。
  • 自Ian Goodfellow之後,GANs還有哪些開拓性進展?
    一直以來,Adit Deshpande 都有總結和解釋一些深度學習論文的習慣,在本文中,Adit Deshpande 將圍繞對抗生成網絡(GANs)的主題來展開介紹。以下為雷鋒網編譯整理的內容:在這篇總結裡,我們一起來看看3篇基於Ian Goodfellow在2014年發表的開拓性工作的文章。 生成對抗網絡(GANs)概述 我在之前的博文,《9篇你要知道的深度學習論文》,裡提到過Ian Goodfellow生成對抗網絡的論文。那些網絡模型大致是,你有兩個模型,一個生成模型(generative model)和一個辨別模型(discriminative model)。
  • 峨眉武術"打入"北京國際書博會 講述前世今生
    中國網8月29日訊 近日,第二十五屆北京國際圖書博覽會暨第十六屆北京國際圖書節在中國國際展覽中心新館開幕,講述峨眉武術傳承的《峨眉武術的前世今生》亮相圖博會,受到廣泛關注。據了解,本屆圖書博覽會共有來自93個國家和地區的2500多家出版單位展出的30多萬種最新圖書。
  • 俠隱閣前世今生mod下載地址 附帶前世今生mod使用教程
    俠隱閣中也是可以使用mod的,其中前世今生的mod很多玩家還不清楚在哪下載和使用,下面就來為大家分享一下俠隱閣前世今生mod下載地址以及使用教程。4、將前世今生文件夾解壓出來後,config_chs覆蓋到XXX\Steam\steamapps\common\PathOfWuxia\PathOfWuxia_Data\AssetBundles文件夾中。5、注意目前版本的mod僅支持簡體中文版。
  • 精選5本前世今生文,無論前世,還是今生,我想一直在你身邊!
    今天為寶寶們整理了5本前世今生文,快一起來看看吧。如果寶寶們想看什麼類型的小說,可以在留言區告訴九九哦,九九會整理分享給大家。01《洞房前還有遺言嗎》作者:且墨<文案簡介>卿如是:我是你的祖宗,我們之間是不會有好結果的,這樣是會遭天譴的。
  • 深度學習最強資源推薦:一文看盡 GAN 的前世今生
    當 Ian Goodfellow 在 2014 年喝了一杯啤酒之後,在夢中產生了「生成對抗網絡」(GANs)的想法時,他可能沒想到這一領域進展如此之快:GAN 的發展路線圖我們將按照下面的順序,一步一步學習它:GAN:生成對抗網絡DCGAN:深度卷積生成對抗網絡CGAN:條件生成對抗網絡