自Ian Goodfellow之後,GANs還有哪些開拓性進展?
雷鋒網按:本文由作者Adit Deshpande總結,雷鋒網編譯整理。Adit Deshpande目前是UCLA計算機科學專業生物信息學方向的大二學生。他熱衷於將自己的機器學習和計算機視覺技術應用在健康領域,給醫生和患者帶來更好的解決方案,以下為雷鋒網編譯整理的內容:
從這周開始,我將會做一個新欄目——深度學習研究綜述。每隔幾周,我會總結和解釋一些深度學習子方向的論文。這周我會從生成對抗網路(Generative Adversarial Networks,GANs)這個方向開始。
介紹
Yann LeCun在Quora上曾說,「對抗訓練是自切片麵包出現以來最酷的東西」。我也同意他說的,因為切片麵包從未在深度學習的圈子裡引起如此多的關注和興奮。在這篇總結里,我們一起來看看3篇基於Ian Goodfellow在2014年發表的開拓性工作的文章。
生成對抗網路(GANs)概述
我在之前的博文,《9篇你要知道的深度學習論文》,里提到過Ian Goodfellow生成對抗網路的論文。那些網路模型大致是,你有兩個模型,一個生成模型(generative model)和一個辨別模型(discriminative model)。辨別模型的任務是決定一張圖片是自然的(來自數據集)還是人工合成的。生成器的任務是生成看起來自然,和原始數據分布類似的圖片。
這可以被看做是一個兩者間的零和或極小極大博弈。這篇文章中比喻到,生成模型就像「一群制印使用假鈔的造假者」,而辨別模型就像「查驗假鈔的警察」。生成器想要騙過鑒別器,鑒別器則努力防止被騙。兩個模型經過交替優化的訓練,直到偽造品和真品不能被區分。
論文1. 對抗網路的拉普拉斯金字塔
簡介
對抗網路最重要的一個應用就是在足夠的訓練後,生成器能合成看起來自然的圖片。在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發揮作用的時候了。輸出將會是一幅將要被上採樣,作為下一級金字塔輸入的生成圖像。因為各層的生成器可以使用不同清晰度下的信息,在連續的層級里生成更精細的輸出,所以這個方法是非常有效的。
論文2:生成對抗文本到圖像合成
簡介
這篇論文發表在剛剛過去的六月(譯者註:本博文發表於2016年),它研究了如何將文字描述轉化為圖 像。例如,網路的輸入可以是「有粉色花瓣的一朵花」,輸出就是一幅包含這些元素的圖像。這個任務包含兩個部分,一是使用自然語言處理的方法來理解輸入的描述,另一部分是能夠輸出精確且自然圖片樣本的生成網路。作者提到的一點是,從文本到圖像的轉化要比從圖像到文本轉化(可以回顧下Karpathy的論文)難得多。這不光因為有無數種的像素配置,還因為我們不能把任務分解為「預測下一個詞」那麼簡單的事情(就像圖片到文字的轉化所使用的方法)。
方法
作者使用的方法是,訓練一個基於循環文本編碼器創建的文本特徵的GAN網路(在此就不深入展開了,有興趣的讀者可以在此閱讀原文)。生成器和鑒別器都在它們相應的網路結構中用到了這個架構。這使得GAN能夠將輸入的描述文本和生成的圖片關聯起來。
網路結構
我們先來看生成器。我們把雜訊向量z和文本編碼做為網路的輸入。簡單來說,這個文本編碼是一種使其能和雜訊向量連接的,封裝輸入描述信息的方法(見下圖)。然後反卷積層(Deconv layer)會被用來把輸入向量轉化為合成圖片。
鑒別器讀入一幅圖片,然後經過一系列卷積層的處理(用BatchNorm和 leaky ReLUs)。當空間維度到達4x4的時候,網路會和前邊提到的文本編碼執行深度並置(depth concatenation)。之後,就會有多於兩個的卷積層,並且會輸出(且一直輸出)反應圖像真實程度的分數。
訓練
這個模型被訓練的方式非常有趣。如果你仔細想想模型的任務,生成器有兩個任務必須要正確達成。一個是它必須生成自然且合理的圖像;另一個任務是圖像必須和給定的描述相關。如此一來,鑒別器必須要考慮到這兩個方面,確保假的,或者不自然的圖像以及不符原文的圖像被拒絕。為了做出如此適應性強的模型,作者用到了三類數據來進行訓練:,,以及。遇到最後一種訓練數據類型時,鑒別器必須學習拒絕不符合文本的圖像(即使它們看起來很自然)。
論文3.基於GANs的超解析
簡介
推特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)。
viakdnuggets,雷鋒網編譯
※微軟首席 AI 科學家鄧力:對話系統的分類與發展歷程
※微軟因 Win10 升級被告上法庭;三星 S8 Plus 配置和真機圖曝光
※關於特斯拉 Model 3 的最新進展,Elon Musk 向我們說了這些
※通聯數據首席科學家蔣龍:如何用人工智慧發現投資機會?
※Youtube自動字幕系統已能識別環境音,但國內還在依靠字幕組
TAG:雷鋒網 |