自Ian Goodfellow之後,GANs還有哪些開拓性進展?

2021-01-09 雷鋒網

雷鋒網按:本文由作者Adit Deshpande總結,雷鋒網(公眾號:雷鋒網)編譯整理。Adit Deshpande目前是UCLA計算機科學專業生物信息學方向的大二學生。他熱衷於將自己的機器學習和計算機視覺技術應用在健康領域,給醫生和患者帶來更好的解決方案。

一直以來,Adit Deshpande 都有總結和解釋一些深度學習論文的習慣,在本文中,Adit Deshpande 將圍繞對抗生成網絡(GANs)的主題來展開介紹。以下為雷鋒網編譯整理的內容:

介紹

Yann LeCun在Quora上曾說,「對抗訓練是有史以來最酷的東西」。我也同意他說的,因為切片麵包從未在深度學習的圈子裡引起如此多的關注和興奮。在這篇總結裡,我們一起來看看3篇基於Ian Goodfellow在2014年發表的開拓性工作的文章。 

生成對抗網絡(GANs)概述 

我在之前的博文,《9篇你要知道的深度學習論文》,裡提到過Ian Goodfellow生成對抗網絡的論文。那些網絡模型大致是,你有兩個模型,一個生成模型(generative model)和一個辨別模型(discriminative model)。辨別模型的任務是決定一張圖片是自然的(來自數據集)還是人工合成的。生成器的任務是生成看起來自然,和原始數據分布類似的圖片。

這可以被看做是一個兩者間的零和或極小極大博弈。這篇文章中比喻到,生成模型就像「一群制印使用假鈔的造假者」,而辨別模型就像「查驗假鈔的警察」。生成器想要騙過鑑別器,鑑別器則努力防止被騙。兩個模型經過交替優化的訓練,直到偽造品和真品不能被區分。

簡介

對抗網絡最重要的一個應用就是在足夠的訓練後,生成器能合成看起來自然的圖片。在Goodfellow 2014年的文章中有一些生成器輸出的例子。

如圖所示,生成器能很好地處理數字和人臉,但在遇到CIFAR-10數據集的時候,生成的圖片就很模糊不清。 

為了矯正這個問題,Emily Denton, Soumith Chintala, Arthur Szlam, 和Rob Fergus四人發表了《基於拉普拉斯金字塔生成式對抗網絡的深度生成圖像模型(Deep Generative Image Models using Lapalacian Pyramid of Adversarial Networks)》。這篇文章的主要貢獻是一種網絡結構,它能生成在40%情況下讓人類評測者誤以為真的高質量合成圖像。 

方法 

在談論論文之前,讓我們回顧下生成器在GAN裡的作用。它需要能夠生成大型,複雜且自然的,能夠騙過經過訓練的鑑別器的圖像。這可不是一個一蹴而就的任務。作者們的解決方法是,使用多重CNN(Convolutional Neural Network,卷積神經網絡)模型,依次生成更大的圖像。正如Emily Denton在她LAPGANs的演講中提到的: 

「低清晰度的圖像很容易生成,根據低清圖像生成清晰度稍高一些的也不算難。」

這篇文章使用的方法就是建立一個生成模型的拉普拉斯金字塔。對那些不熟悉這個概念的讀者來說,拉普拉斯金字塔是一種圖像表示方法,它包含一系列連續經濾波的更低密度的圖像(更多背景請看這裡)。每一層金字塔樣本都包含了圖像在某個尺寸下的信息。它其實是原圖的一種分解方法。我們來看一下一個簡單GAN的輸入和輸出是什麼。生成器接收分布的噪聲向量輸入,並輸出一幅圖像。鑑別器讀入這幅圖像(或者是一張來自訓練數據中的真實圖像),並輸出一個標量來描述這個圖像有多「真實」。現在我們來看一下有條件的生成對抗網絡(conditional GAN,CGAN)。它的所有條件都與GAN一樣,除了一點,生成器和鑑別器都還要接收另一條信息作為輸入。這條信息通常是一種類標籤,或另一幅圖像。

網絡結構

作者提出了一組卷積網絡(ConvNet)模型,金字塔的每一層都有一個相關的卷積網絡。與傳統GAN結構不同的是,我們使用一系列的CNN,通過緩慢增加清晰度(也就是順著金字塔)來一步步生成圖像,並由粗到細的精化圖像,而不是只用一個CNN生成整個圖像。每一層都有它自己的CNN,並由兩部分訓練。一部分是低清圖像,另一部分是噪聲向量(這是傳統GAN的唯一輸入)。這就是在多輸入情況下,CGAN發揮作用的時候了。輸出將會是一幅將要被上採樣,作為下一級金字塔輸入的生成圖像。因為各層的生成器可以使用不同清晰度下的信息,在連續的層級裡生成更精細的輸出,所以這個方法是非常有效的。

簡介

這篇論文發表在剛剛過去的六月(譯者註:本博文發表於2016年),它研究了如何將文字描述轉化為圖 像。例如,網絡的輸入可以是「有粉色花瓣的一朵花」,輸出就是一幅包含這些元素的圖像。這個任務包含兩個部分,一是使用自然語言處理的方法來理解輸入的描述,另一部分是能夠輸出精確且自然圖片樣本的生成網絡。作者提到的一點是,從文本到圖像的轉化要比從圖像到文本轉化(可以回顧下Karpathy的論文)難得多。這不光因為有無數種的像素配置,還因為我們不能把任務分解為「預測下一個詞」那麼簡單的事情(就像圖片到文字的轉化所使用的方法)。 

方法

作者使用的方法是,訓練一個基於循環文本編碼器創建的文本特徵的GAN網絡(在此就不深入展開了,有興趣的讀者可以在此閱讀原文)。生成器和鑑別器都在它們相應的網絡結構中用到了這個架構。這使得GAN能夠將輸入的描述文本和生成的圖片關聯起來。 

網絡結構

我們先來看生成器。我們把噪聲向量z和文本編碼做為網絡的輸入。簡單來說,這個文本編碼是一種使其能和噪聲向量連接的,封裝輸入描述信息的方法(見下圖)。然後反卷積層(Deconv layer)會被用來把輸入向量轉化為合成圖片。

鑑別器讀入一幅圖片,然後經過一系列卷積層的處理(用BatchNorm和 leaky ReLUs)。當空間維度到達4x4的時候,網絡會和前邊提到的文本編碼執行深度並置(depth concatenation)。之後,就會有多於兩個的卷積層,並且會輸出(且一直輸出)反應圖像真實程度的分數。

訓練

這個模型被訓練的方式非常有趣。如果你仔細想想模型的任務,生成器有兩個任務必須要正確達成。一個是它必須生成自然且合理的圖像;另一個任務是圖像必須和給定的描述相關。如此一來,鑑別器必須要考慮到這兩個方面,確保假的,或者不自然的圖像以及不符原文的圖像被拒絕。為了做出如此適應性強的模型,作者用到了三類數據來進行訓練:{自然圖像,匹配文本},{不自然圖像,匹配文本},以及{自然圖片,不匹配文本}。遇到最後一種訓練數據類型時,鑑別器必須學習拒絕不符合文本的圖像(即使它們看起來很自然)。

簡介

推特Cortex的一個研究小組在幾周前(譯者註:本博文發表於2016年)發表的這篇文章是這個領域飛速創新的一個縮影。這篇文章中提出的模型是超解析度生成對抗網絡,簡稱SRGAN(super-resolution generative adversarial network)。它主要的貢獻在於一種全新的損失函數(要比舊的MSE好),這個函數可以使網絡從被嚴重下採樣的圖像中恢復出逼真的紋理和細節。 

方法

我們先來看看這個新的感知損失函數(perceptual loss function)。這個損失函數分為兩部分,對抗損失(adversarial loss)和內容損失(content loss)。宏觀來看,對抗損失幫助圖像看起來更逼真(看起來像原圖),內容損失保證新清晰度的圖像和原來低清的圖像有相似的特徵。

網絡結構

好了,現在我們來看一些細節。我們先來看一個高清晰度版本的圖像,然後再來看低清晰度的。我們想把生成器訓練為,當給定一個低清圖像後,它能輸出儘可能高清的圖像。這個輸出就叫做超解析圖像。鑑別器會被訓練來區分這些圖像。還是老一套,不是麼?生成器網絡結構使用一組包含ReLUs 和BatchNorm 和卷積層的B殘量塊(譯者註:見下圖B residual blocks)。一旦低清圖像經過這些模塊處理時,就會有兩個反卷積層來提高清晰度。然後再看鑑別器,我們有8個卷積層組成的Sigmoid激活函數,它可以輸出圖像是真實(高清)或者合成(超解析)的概率。

損失函數

我們再來看看新的損失函數。它實際上是單獨的損失函數的加權和。第一部分被稱為內容損失(content loss)。簡單來說,它是新的重構圖像(網絡的輸出)的特徵圖(在訓練前的VGG網絡中)到真實高清訓練圖像的歐氏距離(Euclidean distance)損失。如果我沒理解錯的話,它主要的目標是,如果把兩幅圖送到經過訓練的卷積網絡後,再比較兩幅圖各自的特徵激活量,兩幅圖是相似的。 

另一個作者定義的主要的損失函數是對抗損失(adversarial loss)。這個函數和通常和你期望從GANs裡得到的差不多。它激勵和原始數據分布負對數似然類似的輸出。正則化損失是損失函數的第三項。有了這個新的損失函數,生成器可以確保輸出看起來自然的更高清圖像,同時相比低清圖像,也有相似的像素空間。

後記:

GANs使用大部分無監督的訓練(你要做的只要有一個真實圖片的數據集,不需要標籤和其他信息)。這意味著我們可以利用很多現有的未分類的圖像數據。經過訓練,我們可以用輸出或者中間層作為特徵提取器,如此就不需要那麼多訓練數據來達到高準確率了。

我拿不到,但是超級酷的文章還有:DCGANs。作者們沒做什麼太誇張的事,他們只是訓練了一個特別特別大的卷積網絡。但是特別的地方在於他們有正確的超級參數來使訓練真正的有用(也就是BatchNorm, Adam, Leaky ReLUs)。

via kdnuggets,雷鋒網編譯

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • Ian Goodfellow:GAN相比其他生成模型的優缺點及應用
    自2014年 Ian Goodfellow 提出生成對抗網絡(GAN)的概念後,生成對抗網絡便成為了學術界的一個火熱的研究熱點,Yann LeCun更是稱之為「過去十年間機器學習領域最讓人激動的點子」。
  • 大咖| GAN之父Ian Goodfellow在Quora:機器學習十問十答
    Ian Goodfellow:哈哈,我當然會推薦我和Yoshua還有Aaron一起寫的《深度學習》。而在我對機器學習頗有了解之後,我就不怎麼看新書了,比如說Kevin Murphy’s 寫的《Machine learning: A Probabilistic Perspective》,所以我推薦的不一定就是最佳的。
  • Ian Goodfellow推特小課堂又開課啦:數學求導的小技巧
    大數據文摘作品作者:小魚、蔣寶尚最近,Ian Goodfellow不斷在推特和大家分享一寫學習的小技巧。Goodfellow稱,他最喜歡用超實數(hyperreal numbers)來求導數。註:超實數是一個包含實數以及無窮大和無窮小的域,它們的絕對值分別大於和小於任何正實數。
  • 人物 | Ian Goodfellow親述GAN簡史:人工智慧不能理解它無法創造的東西
    Goodfellow 是當今人工智慧領域最重要的研究者之一,在 OpenAI (谷歌大腦的競爭者,由 Elon Musk 和 Sam Altman 聯合創建)短暫工作之後,他又重返谷歌,組建一個新的研究團隊探索「生成模型」,其可以創建圖片、聲音和真實世界的其他表徵。 Goodfellow 同意費曼的觀點,認為這一努力是實現所有人工智慧的一條重要路徑。
  • 「GANs之父」Goodfellow 38分鐘視頻親授:如何完善生成對抗網絡...
    演講嘉賓有100多人,其中就有「GANs之父」Ian Goodfellow。這個會議由於是網絡播出,所以有完整錄像,雷鋒網對比Ian Goodfellow在NIPS的演講內容,二者十分相仿,故在此將此次會議的視頻搬運給大家,並附上中文圖文詳解(PS:本文由亞萌和三川共同編輯完成)。
  • Ian Goodfellow提出顯著...
    選自arXiv作者:Julius Adebayo、Ian Goodfellow等機器之心編譯參與:Geek AI、張倩顯著性方法被廣泛應用於突出輸入中與學到的模型的預測結果相關的特徵。現有的顯著性方法通常是以圖像數據的視覺吸引作為指導的。
  • 【技術綜述】有三說GANs(上)
    【2】Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.
  • 「未卜先知」、「自學成才」:GANs奇思妙想TOP10榜單
    生成對抗網絡由蒙特婁大學的IanGoodfellow最先提出,目前是「教」電腦完成人類工作最有效的方法之一。它的核心想法正是令內部功能相互競爭,達到提升它們各自功能的效果。這些圖像之後便可以被用作新遊戲的背景了。
  • 「GAN之父」Goodfellow與網友互動:關於GAN的11個問題(附視頻)
    演講視頻的前20分鐘整理出《「GANs之父」Goodfellow 38分鐘視頻親授:如何完善生成對抗網絡?(上)》,其中Goodfellow主要講述了什麼是 GAN 和 DCGANs、模型崩潰、小批量特徵、文本轉圖像等問題。本文是後18分鐘視頻的內容,主要是 Goodfellow 回答網友提問,總共有11個問題。本文由雷鋒網三川、亞萌聯合編譯。CNN、GANs 和 DBN(Deep Belief Network)之間區別是什麼?
  • 十個生成模型(GANs)的最佳案例和原理 | 代碼+論文
    GANs最先是由蒙特婁大學的Ian Goodfellow提出,已在圖像生成和風格遷移等領域獲得了巨大的成功,充分展示了「無監督學習」技術的潛力。GANs是如何工作的?這是利用一個能從背景中分離前景的模型實現的,它通過強制背景變成靜止的,並且該網絡能學習到哪些物體正在移動以及哪些處於靜止。這些視頻不是真實的,而是通過視頻生成模型「想像」得來的。雖然看起來不夠逼真,但根據訓練時所使用的場景類別,這些生成動作是合理的。量子位之前也有過類似報導。
  • 王中林:自驅動系統中的納米發電機
    王中林是國際公認的納米科技領域領軍人物,他發明了壓電納米發電機,摩擦納米發電機,並首先發展了自驅動系統和藍色能源的原創大領域,為微納電子系統的發展,物聯網,傳感網絡,人工智慧和人類未來的能源開闢了新途徑。他開創了納米結構壓電電子學和壓電光電子學等領域,對納米機器人、人-電界面、納米傳感器、LED技術的發展具有裡程碑意義。
  • be good at,be good for與 be good with辨析
    *be good at= do well in,意為「擅長」,後接名詞、代詞或-ing形式。如:I' m good at playing chess.我擅長下象棋。* be good for意為「對……有好處」。
  • 莫用中文把英語當知識學:fellow feeling是什麼?
    莫用中文把英語當知識學:fellow feeling是什麼?我們不妨設想一下:如果我們把所有的英語當知識用中文都學習一遍,也就是所有學過的英語「都只是知道它的中文」之後,我們最後得到的是什麼呢?1、你覺得機會把這些「只懂」中文的英語用上嗎?2. 如果用不上,這些用中文學來的英語會提升你的英語能力嗎?
  • 英語be good with 和 be good to 的區別
    英語中,be good with 和 be good to 意思相近,但用法不同,今天我們一起來學習一下。1. be good with:表示「和…相處的好」,相當於 get on well with.
  • 時尚先生馬寧Ian型男街拍 搭配2018國際流行色
    馬寧ian告訴小編今年年底Mr.colorful顏色先生時尚品牌的服裝系列即將推出!敬請大家期待哦!
  • 浙江自貿試驗區擴區後有哪些新進展?近期浙江將出臺自貿試驗區建設...
    三年前,浙江自貿試驗區在舟山誕生,聚焦油氣全產業鏈建設。今年9月,浙江自貿試驗區舉辦擴區掛牌儀式,納入了「新成員」杭州、寧波、金華(義烏),並新增五大功能定位,旨在打造以油氣為核心的大宗商品資源配置基地、新型國際貿易中心、國際航運和物流樞紐、數字經濟發展示範區和先進位造業集聚區。
  • 北大光華陳松蹊教授當選美國科學促進會會士(AAAS Fellow)
    他是數理統計學會(Institute of Mathematical Statistics) 資深會員(fellow),美國統計學會會士(fellow),國際統計學會同時任The Annals of Statistics副主編 (自2010年); Journal of Business and Economic Statistics 副主編(自2013年);曾任Statistics and Its Interface的聯席主編(2010-2013)。陳松蹊教授迄今已在國際學術雜誌發表論文88篇。
  • 全球首位圖靈獎女性得主去世,在計算機領域做出了開拓性貢獻
    首頁 > 動態 > 關鍵詞 > 圖靈獎最新資訊 > 正文 全球首位圖靈獎女性得主去世,在計算機領域做出了開拓性貢獻
  • 口語中,good可以用來婉拒別人,你知道嗎?還有這些單詞!
    已經十一點多了,今天大白還是要繼續更新,昨天說的關鍵詞是「thing」,英語口語表達中thing可能不僅僅是「事情」的意思,還有其他,下面我們再說幾個簡單的詞語,在口語中表達的意思可能也不是你想的那樣。
  • nine percent新歌Good Things歌詞 Good Things歌詞什麼意思
    Good things good things(Yeah)Good things good things就算 你不敢看 我眼睛愛已現形KatchingCatching你的美想靠我更加近想回放我聲音我全部都能感應來配合你給反應每分每秒在想你 (我想要你