【模型解读】历数GAN的5大基本结构
生成對抗網絡是近幾年來無監督學習領域里最大的進展,被譽為下一代深度學習,不管是研究熱度還是論文數量,已經逼近甚至超越傳統判別式的CNN架構。
這一次我們簡單介紹一下生成對抗網絡的主流模型結構,從一個生成器一個判別器到多個生成器多個判別器。
作者 | 言有三
編輯 | 言有三
01
單判別器單生成器
我們這一期文章不打算從頭開始講述GAN,所以如果大家沒有相關基礎的,就先看一下我們上一期GAN的介紹。
【技術綜述】有三說GANs(上)
一個基本的用于生成圖像的GAN的結構就是這樣的。
Generator就是生成器,它輸入噪聲,輸出產生的圖像。通常噪聲就是一個一維的向量,經過reshape為二維圖像,然后利用若干個反卷積層來學習上采樣。
如全卷積的DCGAN模型[1],輸入就是1*100的向量,然后經過一個全連接層學習,reshape到4*4*1024的張量,再經過4個上采樣的反卷積網絡,生成64*64的圖。
Discrimator就是普通的CNN分類器,輸入真實樣本或者生成的假樣本進行分類,在DCGAN中也是4個卷積層。
02
多判別器單生成器
采用多個判別器[2]的好處帶來了類似于boosting的優勢,訓練一個過于好的判別器,會損壞生成器的性能,這是GAN面臨的一個大難題。如果能夠訓練多個沒有那么強的判別器,然后進行boosting,可以取得不錯的效果,甚至連dropout技術都可以應用進來。
多個判別器還可以相互進行分工,比如在圖像分類中,一個進行粗粒度的分類,一個進行細粒度的分類。在語音任務中,各自用于不同聲道的處理。
03
單判別器多生成器
一般來說,生成器相比判別器要完成的任務更難,因為它要完成數據概率密度的擬合,而判別器只需要進行判別,導致影響GAN性能的一個問題就是模式坍塌,即生成高度相似的樣本。
采用多個生成器單個判別器的方法,可以有效地緩解這個問題。
從上圖結構可以看出,多個生成器采用同樣的結構,在網絡的淺層還共享權重。
04
增加分類器
在利用GAN進行半監督的圖像分類任務時,判別器需要同時擔任兩個角色,即判別生成的假樣本,以及預測類別,這對判別器提出了較高的要求。通過增加一個分類器可以分擔判別器的工作量,即將捕捉樣本和標簽的條件分布這一任務交給生成器和分類器,而判別器只專注于區分真實樣本和生成的樣本。
這一類結構以Triple Generative Adversarial Nets為代表,下圖是它的網絡結構。
05
多個生成器多個判別器
多個生成器和多個判別器就又有幾種。
5.1 級聯結構[5]
早期以DCGAN為代表的網絡生成的圖片分辨率太低,質量不夠好,都不超過100×100,在32×32或者64×64左右。這是因為難以一次性學習到生成高分辨率的樣本,收斂過程容易不穩定。
類似的問題在圖像分割,目標檢測中都存在。在目標檢測中,級聯網絡被廣泛使用,即采用從粗到精的方法依次改進檢測器的性能。在圖像分割中進行上采樣時也采用學習小倍率的放大而不是大倍率的方法,如利用兩個2倍上采樣替換一個4倍的上采樣,不僅可以增強網絡的表達能力,還降低了學習難度。
基于此,金字塔GAN結構被提出并廣泛使用,它參考圖像領域里面的金字塔結構由粗到精一步一步生成圖像,并添加殘差進行學習。
上圖就是它的結構,從低分辨率z3開始,逐級提升,最終生成I0,這是一個金字塔形狀的結構,以下符號較多用圖片代替。
5.2 并行與循環結構[6]
GAN有一大應用就是風格化,實現兩個域之間的風格互換,以CycleGAN[6]為典型代表。它包含了多個生成器和多個判別器。Cycle的典型結構如下:
X和Y分別表示兩個域的圖像,可知這里存在兩個生成器G和F,分別用于從X到Y的生成和Y到X到生成,包含兩個判別器,分別是Dx和Dy。而損失本身也增加了一個循環損失,感興趣讀者可以去細讀文章。
另外在cross domain學習中也常用到多判別器多生成器多結構,分別學習不同的域。而且各個域的判別器和生成器通常會共享一些權重,如下圖是CoGAN[7]的網絡結構。
另外還有一些零零散散的結構,比如3D GAN,RNN GAN,由于都是上面這幾類的變種,不再統一介紹。
[1]?Radford A, Metz L, Chintala S, et al. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks[J]. international conference on learning representations, 2016.
[2] Durugkar I P, Gemp I, Mahadevan S, et al. Generative Multi-Adversarial Networks[J]. international conference on learning representations, 2017.
[3]?Ghosh A, Kulharia V, Namboodiri V P, et al. Multi-Agent Diverse Generative Adversarial Networks[J]. computer vision and pattern recognition, 2018: 8513-8521.
[4] Chongxuan L I, Xu T, Zhu J, et al. Triple Generative Adversarial Nets[J]. neural information processing systems, 2017: 4088-4098.
[5] Denton E L, Chintala S, Szlam A, et al. Deep generative image models using a Laplacian pyramid of adversarial networks[J]. neural information processing systems, 2015: 1486-1494.
[6] Zhu J, Park T, Isola P, et al. Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks[J]. international conference on computer vision, 2017: 2242-2251.
[7]?Liu M, Tuzel O. Coupled Generative Adversarial Networks[J]. neural information processing systems, 2016: 469-477.
最后發一個通知,2019年有三AI培養計劃出爐了,一個季度一期噢。
總結
GAN如今火勢正猛,正是學習的好時機,如果沒有跟上,你還在等什么。
轉載文章請后臺聯系
侵權必究
更多請關注知乎專欄《有三AI學院》
往期精選
【總結】這半年,有三AI都做了什么
【資源總結】“十大深度學習方向” 專欄上線
回顧2018,計劃2019
想要變身”AI專家“,就戳戳手指關注我們吧
別忘了點“好看”支持作者噢? ????
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【模型解读】历数GAN的5大基本结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模型解读】浅析RNN到LSTM
- 下一篇: 【杂谈】白身,初识,不惑,有识,不可知,