給你 10 個超火的 GANs 模組,讓你從 AI 凡人變神人!

【我們為什麼要挑選這篇文章】人工智慧首席科學家 Yann LeCun 將 GAN 稱之為「近 20 年來深度學習領域最棒的想法」,Nvidia 透過這項技術讓 AI 在修圖、去噪、合成等技術遠超同業,未來有意深耕發展 AI 的人,這裡提供你一套模型,幫助你更快速上手。(責任編輯:鄧天心)

如果要選一個近兩年深度學習最火的方向,GANs(生成對抗網絡)可絕對是大熱門。

以左右互搏的觀念為人所知,GANs 從概念開始就讓人激動不已。 不過從 GANs 被提出的第一天起,深度學習圈就出了個大坑,而且越挖越大、完全沒有被填滿的趨勢。

看一看 GANs 大家族的成員:InfoGANs,relativistic GANs,SAGAN…,成百上千,而且這個列表還在不停增加。 這也讓想要持續了解 GANs 的同學們有心無力。

不慌!

文摘字幕組本次的新作,就將系統介紹 GANs 家族的新成員,讓你一次學完 10 個 GANs 明星模型。

來一睹為快吧! skr skr!

 

1、互信息對抗網絡
(InfoGANs)

隱向量映射為什麼沒啥幫助? 因為向量和圖像沒有走同步, 通過最大化互訊息, 互訊息對抗網絡(InfoGANs)使之變得可能。

首先,我們來看看互信息對抗網絡(InfoGANs)。

InfoGANs 很好運用了互訊息的概念,試圖以完全非監督的方式學習分解特徵。 互訊息定義為,在知道一個變量訊息後,對另一變量所學的額外訊息量, 它就像基於天氣預報訊息所得的板球晃動的增益信息。

這裡我們要在隱向量與生成的圖像之間,使互訊息最大化,這意味著隱向量和圖像應近似映射,這導致圖像的知識直接對應隱向量的知識,而不像常規的生成對抗網絡,同一張圖像會對應或者纏繞於多個隱空間的多個隱向量。 我覺得這是訊息論在生成對抗網絡的一種非常漂亮的應用。

2、相對生成對抗網絡
(Relativistic GANs)

這篇論文向 GAN 的眾神提出挑戰, 新的粉絲在 reddit 和推特上引起慌亂, 不止粉絲,連 lan Goodfellow 也立站, 相對生成對抗網絡說我來的有點晚。(文摘菌:單押 X4!)

下面講講相對生成對抗網絡 (Relativistic GANs)。 這裡面的想法讓人非常雞凍,甚至連 GANs 之父 Ian Goodfellow 本人都得發推稱讚。

作者恰如其分指出 GANs 中有趣的一點:鑑別器在學習區分真實圖片的過程極其槽糕。 事實上,它說這個問題在初次發表的論文中就應該處理好。

鑑別器把所有的結果圖像歸為 0 或 1 兩類,這將導致系統不穩定。 實際情況下,真假圖像的值在 0.5 之間徘徊,甚至是生成器帶來的 0.5~0.55 的微小擾動,都會容易導致假的圖像比起真的圖像更加真實。 這種非常不穩地的映射類似於一個倒立擺系統。

因此論文指出類似於 WGANs (Wasserstein GANs) 或者 BEGAN 等,鑑別器中的損失應該是相對的, 這樣生成器學會了擴展,鑑別器也就被真數據的異常與假貨之間的最大化差別所擊垮了。

論文得出了兩種方案並可以被應用於大部分現有的架構。 鑑別器不再判別真實數據的概率,而是給真假圖像賦予一個臨界值使得關鍵差值的 sigmoid 函數最大化。 這被稱為 RSGAN。

另一個變體叫相對平均標準 GAN(relativistic average standard GAN)。 它試圖考慮真假圖像的損失值。 對於假圖像而言損失是最小化假圖像關鍵值與真實圖像均值的臨界值之差,反之亦然。 這樣我們就能夠提高臨界點的全局穩定性,同時允許生成器挑選出整體損失函數。 生成器受限於只能對其中一個上述參數項起作用, 但在常規的 GANs 中,生成器忽略了其中一項。

3、Cycle GANs

玫瑰是紅的, 紫羅蘭藍紫色, 等我用 cycleGAN 訓練完, 所有事情都變樣了

接下來我們看下 Cycle GANs。

Cycle GANs 所採用了一種非常神奇的學習方法。

學習直接域遷移非常有趣,比如把馬映射到斑馬的例子在 Twitter 和其他媒體平台上屢見不鮮。

我們的目標是,學習 X 到 Y 的 G 映射的過程中,生成器不是選取一些隱向量來映射,而是使用圖像直接轉換。

現在我們使用普通的對抗損失來構建一個映射 G,從生成的圖像 X 映射到真實圖像 Y。 類似地, 我們也有一個學習反向映射的互補, 但這有一定可能我們會完全丟失原始圖像的一些特性,所以我們需要有約束性。 因此,我們對正向和反向映射操作都引入了循環約束。 整個損失函數包含原始的相關映射,原始反向映射,以及循環映射步驟。 這是一個簡單且有效的域遷移的觀點。

4、自註意力生成對抗網絡
(SAGAN)

請注意, 這是 SAGAN(自註意力生成對抗網絡), 我們使所有 GANs 翻白眼, 我們不多說,就是乾。

自註意力生成對抗網絡 (SAGAN) 是最近由 Han Zhang 和 Ian Goodfellow 本尊研究提出的。

這篇文章裡, Ian 提出將注意力機制引入生成對抗網絡的生成器和鑑別器。 它通過對所有深度的特徵應用 1×1 卷積,以一個點表示受關注區域。 隨後,將多個對原始特徵映射的 softmax 相乘,從而促進注意力區域的特徵輸出,使得注意力圖得到了改善。 1×1 卷積濾波器能夠學習得出最佳結果,相較其他的生成對抗網絡 SAGAN 需要學習的方式非常少。

5、漸進生成對抗網絡
(progressive GANs)

GANs 應付不了高分辨率,那我們該用什麼工具? 逐漸增加複雜度,Like 小波變換,Pro GANs 使之變得簡單。

再來看看漸進生成對抗網絡(progressive GANs)。 這個點子讓人回想起傳統好用的小波變換算法, 它漸進式增加學習任務的複雜度,這個過程和教小孩東西類似。

我們首先學習到 4×4 分辨率的圖像。 該圖像是在原始圖像基礎上高度壓縮而來, 然後慢慢對生成器和鑑別器添加層次,使其能夠學習 16×16 分辨率的圖像,直到我們生成完整的 1024×1024 分辨率的圖像。

是不是很酷? 新添加的層次被視為一個殘差塊,並隨著樣本分辨率佔比逐步減少,超分辨率塊的權重慢慢增加。 這就是為什麼我們要記住多分辨率分析和信號處理這些傳統概念。 鬼知道它們哪天就派上用場了!

6、DC-GAN

想知道訓練 GANs 的全集, 這不是 DC 漫畫, 是 DCGAN 和卷積。

DC-GAN 是一篇說明如何訓練一個卷積 GAN 規則的文章。

(1)用帶有步長的捲積層替換判別器中的池化層和生成器中的反捲積層。

作者的想法是:讓模型自己學習下採樣的過程而不是我們人為地。 在積聚和靜態選擇時下採樣。

(2)在最初的捲積層中放棄全鏈接層。

它們混淆了特徵的局部信息,結果這讓特徵難以區分。

(3)在生成器和判別器中使用批歸一化方法。

它能讓學習過程更加平穩,使得數據歸一化到均值為 0 方差為 1,它甚至可以有效減少模式坍塌 (mode collapse) 的問題。 但是注意,你要避免在生成器的最後和判別器引入較大樣本震盪和模型不穩定的開始時使用批歸一化。

(4) 在判別起中使用 leaky Relu 並且在生成器中使用 Relu,但是在最後一層中要使用 tanh 來更快速的學習。

它同時還強調了隱空間的能力,這個能力體現在它可以在空間中執行矢量運算並在圖像空間中展示這種變換是有意義的。

最有趣的一個實驗是一個繪製圖像實驗。 生成器可以通過抑制生成器輸出的窗口的邊界框來生成沒有窗口的圖像,這是通過在倒數第二個卷積層學習一個窗口映射實現的。 這個模型下一步在蒙版區域填補一面牆或者特定的物體,結果非常的驚人。

7、WGANs

這不是魔術, 這只是數學, 讓模型穩定住, 模型垮塌都拒絕! 來杯伏特加, 邀模型一起嗨, 使映射連續, 迎接 WGAN 的到來。

WGANs 因其模型的設計和運作方式讓人驚嘆。 這裡的 critic 用來估計生成圖像和真實圖像之間的距離,模型優化參數的過程中會使這個距離最小化。 最有意義的事情是,critic 能夠有效的衡量不同分佈之間 EMD 距離的差異性,並且能消除模式坍塌問題。 這是因為生成器沒有通過判別器向某一點或者模式優化而是向著某一分佈優化。 EMD 距離有相關性並且保證了。 概率映射在一定限制條件下連續可微。

8、BEGANs

控制多樣化, 成比例地增長, 我不知道怎麼押韻, 那就讓 BEGANs 出場。

在 BEGANs 中我們將編碼器和解碼器看作一個判別器。 這裡的目標是使真假圖片構成的自編碼器損失分佈使得 EMD 距離更近。 一方面,它可以匹配真圖片和假圖片的分佈,此外重構損失能夠直接影響每一個像素點,不像 WGANs 一樣限制 lipchitz 條件。 WGANs 考慮距離的下限並且優化它,但是在 WGANs 中我們對圖片分佈中的距離建模。

這裡我們使用自編碼器損失進行建模,損失的下限是基於這兩個概率值的損失函數分佈的平均值的差的絕對值,BEGANS 會最大化這個差異來訓練判別器,同時最小化這個差異來訓練生成器。 它還引入了多樣性係數這個係數大致等於預期損失和原始圖像的預期損失的比。 理想上這個值應該是 1,但是我們並不想導致其和原始圖像有相似的分佈,因而保證均值稍稍低於原始圖像。

如果我們保持這個值接近 0,生成圖像的多樣性會更低. 因為生成模型更專注於生成真實圖像,。 受比例控制理論的啟發, 我們更新這個比例,在訓練的過程中引入一個參數 kt,這樣我們能夠在訓練的過程中維持多樣性比例。 模型收斂的點是被清晰定義好了的,生成器和判別器的更新是並行的。 此外, 我們也沒有限制 Lipchitz 條件,這也就是為什麼 BEGANs 非常有意思以及必讀的原因。

9、VAE-GANs

VAE 在編碼器中引入了隨機性,催趕著隱空間,讓它變有序, 訓練的部分是唯一的旋律, 調個頭就是 VAE-GANs。

變分自編碼器是一個非常棒的想法,它能夠保證學習到的隱空間是平滑的,這是因為解碼器使用的是隨機排列的編碼向量。

我們可以將解碼器部分看作 GANs 的閱讀器。 伴隨原始損失,我們同樣有多樣性損失。 在原始損失中,我們最大化 x 在 z 條件下的期望這個值正常情況下應該是隨機的。 我們使用一個正則項限制 VAE 中的隱空間的可視性,這使得它趨近於標準正態分佈。 對於解碼器,或者也可以說成生成器,我們添加兩項使得解碼器可以被單獨優化。 另一方面,判別器通過製造生成圖像和原始圖像的隔閡進行優化。

10、Sequence GANs

一撮 RL 少許 GAN, 加點 RNN 變炒飯, 這論文好似交響樂,Sequence GAN 是剛出爐的感覺。

Sequence GANs 是一種非常有意思的 GAN 神經網絡,它成功的結合了強化學習、序列學習和 GAN。 他將序列看作強化學習的決策過程,它將生成器當作一個 agent,把判別器當作 critic。

論文中用蒙特卡洛搜索的策略梯度學習序列。 它遵從增強的策略,生成器是一個 RNN,而判別器是一個 CNN。 使用 CNN 而不是 RNN 的原因是,CNN 作為判別器能取得更好的效果。

我們基於序列訓練判別器,它之後會被拿來和真實的序列進行比較。

此外,生成器會從當前狀態產生多種序,我們對每一種序列賦上判別器的打分,然後我們基於期望的每一組狀態和動作的組合的收益來學習策略。 這對人們研究強化學習和時間序列模型和應用是一個很好的開端。

好了,土味說唱欣賞完畢,你最喜歡哪種 GAN 和它的 rap 呢?

__

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈GANs 有嘻哈:一次学完 10 个 GANs 明星模型 〉)

延伸閱讀

29 歲就做出近 20 年最重要 AI 突破,讓人類 CONNECT with AI 的男人 Ian Goodfellow

NVIDIA AI 自動生成 4K 慢動作影片,那畫面太美我不敢看

FB 發明 AI 專治「拍照閉眼症」,效果拔群我大推!


【徵求產業線編輯 3 名】

工作內容與需求:

1. 高度關注國際科技趨勢、台灣產業新聞
2. 根據月度編輯台企劃,執行編輯、採訪與撰稿工作
3. 進行線上、線下媒體策展
4. 根據不同策展專案進行跨部門溝通
5. 針對網站數據做解讀與優化分析
6. 具有 2~3 年工作經驗的媒體工作者
7. 習慣閱讀《彭博社》、《財富雜誌》、《金融時報》、《Fast Company》者更佳
8. 目標導向思考,對準目標、彈性工作

【應徵方式】

意者請提供履歷自傳以及「相關文字作品」,寄至 [email protected]。來信主旨請註明:【應徵】TechOrange 社群編輯:您的大名

點關鍵字看更多相關文章: