0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GAN在圖像生成應(yīng)用綜述

nlfO_thejiangme ? 來源:lq ? 2019-02-13 13:59 ? 次閱讀

GAN 在圖像生成上取得了巨大的成功,這無疑取決于 GAN 在博弈下不斷提高建模能力,最終實(shí)現(xiàn)以假亂真的圖像生成。

GAN 自 2014 年誕生至今也有 4 個(gè)多年頭了,大量圍繞 GAN 展開的文章被發(fā)表在各大期刊和會(huì)議,以改進(jìn)和分析 GAN 的數(shù)學(xué)研究、提高 GAN 的生成質(zhì)量研究、GAN 在圖像生成上的應(yīng)用(指定圖像合成、文本到圖像,圖像到圖像、視頻)以及 GAN 在 NLP 和其它領(lǐng)域的應(yīng)用。圖像生成是研究最多的,并且該領(lǐng)域的研究已經(jīng)證明了在圖像合成中使用 GAN 的巨大潛力。

本文圍繞An Introduction to Image Synthesis with Generative Adversarial Nets一文對 GAN 在圖像生成應(yīng)用做個(gè)綜述。

論文引入

著名的物理學(xué)家 Richard Feynman 說過:“What I cannot create, I do not understand”(對于我創(chuàng)造不出的事物,我是無法理解它的)。我們現(xiàn)階段接觸到的 AI 產(chǎn)品,都是在嘗試去看懂人類可以看懂的,例如對 ImageNet 的圖像分類、AlphaGo、智能對話機(jī)器人等。

然而,我們?nèi)匀徊荒軘喽ㄟ@些算法具有真正的“智能”,因?yàn)橹廊绾巫瞿呈虏⒉灰欢ㄒ馕吨斫饽承〇|西,而且真正智能的機(jī)器人理解其任務(wù)是至關(guān)重要的。

如果機(jī)器可以去 create,這也就可以說明機(jī)器對它的輸入數(shù)據(jù)已經(jīng)可以自主的建模,這是否可以說明機(jī)器在朝著更加“智慧”邁進(jìn)了一步。這種 create 在機(jī)器學(xué)習(xí)的領(lǐng)域下,目前最為可行的方法是生成模型。通過學(xué)習(xí)的生成模型,機(jī)器甚至可以繪制不在訓(xùn)練集中但遵循相同分布的樣本。

在生成模型中比較有影響力的有VAE[1]、PixelCNN[2]、Glow[3]、GAN[4]。其中在 2014 年提出的 GAN 可謂是生成模型中最受歡迎的,即使不能說 GAN 是一騎絕塵但也可謂是鶴立雞群。

GAN 由兩個(gè)神經(jīng)網(wǎng)絡(luò)組成,一個(gè)生成器和一個(gè)判別器組成,其中生成器試圖產(chǎn)生欺騙判別器的真實(shí)樣本,而判別器試圖區(qū)分真實(shí)樣本和生成樣本。這種對抗博弈下使得生成器和判別器不斷提高性能,在達(dá)到納什平衡后生成器可以實(shí)現(xiàn)以假亂真的輸出。

但是這種納什平衡只存在于理論中,實(shí)際 GAN 的訓(xùn)練伴隨著一些問題的限制。一個(gè)是 GAN 訓(xùn)練不穩(wěn)定性另一個(gè)是模式崩潰,導(dǎo)致問題的理論推導(dǎo)在之前的文章[41]有所推證。

GAN 存在的問題并沒有限制 GAN 的發(fā)展,不斷改進(jìn) GAN 的文章層出不窮,在這幾年的鋪墊下 GAN 已經(jīng)發(fā)展得蠻成熟的。從這幾年關(guān)于 GAN 的高質(zhì)量文章可以看出,18 年以后的文章更多關(guān)注的是 GAN 在各個(gè)領(lǐng)域的應(yīng)用,而之前的文章則是集中在 GAN 存在問題的改進(jìn)。

GAN 在圖像生成應(yīng)用最為突出,當(dāng)然在計(jì)算機(jī)視覺中還有許多其他應(yīng)用,如圖像繪畫,圖像標(biāo)注,物體檢測和語義分割。在自然語言處理中應(yīng)用 GAN 的研究也是一種增長趨勢,如文本建模,對話生成,問答和機(jī)器翻譯。然而,在 NLP 任務(wù)中訓(xùn)練 GAN 更加困難并且需要更多技術(shù),這也使其成為具有挑戰(zhàn)性但有趣的研究領(lǐng)域。

An Introduction to Image Synthesis with Generative Adversarial Nets一文是概述 GAN 圖像生成中使用的方法,并指出已有方法的優(yōu)缺點(diǎn)。本文則是對這篇論文進(jìn)行個(gè)人的理解和翻譯,并對其中的一些方法結(jié)合個(gè)人實(shí)際應(yīng)用經(jīng)驗(yàn)進(jìn)行分析。

GAN的基礎(chǔ)

接觸過 GAN 的學(xué)者如果對 GAN 的結(jié)構(gòu)已經(jīng)很熟悉,這一部分可以自行跳過。我們看一下GAN 的基礎(chǔ)結(jié)構(gòu):

GAN 可以將任意的分布作為輸入,這里的 Z 就是輸入,在實(shí)驗(yàn)中我們多取Z~N(0,1),也多取 [?1,1] 的均勻分布作為輸入。生成器 G 的參數(shù)為 θ,輸入 Z 在生成器下得到 G(z;θ),輸出可以被視為從分布中抽取的樣本 G(z;θ)~Pg。

對于訓(xùn)練樣本 x 的數(shù)據(jù)分布為 Pdata,生成模型 G 的訓(xùn)練目標(biāo)是使 Pg 近似Pdata。判別器 D 便是為了區(qū)分生成樣本和真實(shí)樣本的真假,訓(xùn)練發(fā)生器和判別器通過最小 - 最大游戲,其中發(fā)生器 G 試圖產(chǎn)生逼真的數(shù)據(jù)以欺騙判別器,而判別器 D 試圖區(qū)分真實(shí)數(shù)據(jù)和合成數(shù)據(jù)。這種博弈可公式化為:

最初的 GAN 使用完全連接的層作為其構(gòu)建塊。后來,DCGAN[5]提出使用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了更好的性能,從那以后卷積層成為許多 GAN 模型的核心組件。

然而,當(dāng)判別器訓(xùn)練得比發(fā)生器好得多時(shí),D 可以有信心地從 G 中拒絕來自 G 的樣本,因此損失項(xiàng) log(1?D(G(z))) 飽和并且 G 無法從中學(xué)到任何東西。

為了防止這種情況,可以訓(xùn)練 G 來最大化 logD(G(z)),而不是訓(xùn)練 G 來最小化 log(1?D(G(z)))。雖然 G 的改變后的損失函數(shù)給出了與原始梯度不同的梯度,但它仍然提供相同的梯度方向并且不會(huì)飽和。

條件GAN

在原始 GAN 中,無法控制要生成的內(nèi)容,因?yàn)檩敵鰞H依賴于隨機(jī)噪聲。我們可以將條件輸入 c 添加到隨機(jī)噪聲 Z,以便生成的圖像由 G(c,z) 定義。這就是CGAN[6],通常條件輸入矢量 c 與噪聲矢量 z 直接連接即可,并且將得到的矢量原樣作為發(fā)生器的輸入,就像它在原始 GAN 中一樣。條件 c 可以是圖像的類,對象的屬性或嵌入想要生成的圖像的文本描述,甚至是圖片。

輔助分類器GAN (ACGAN)

為了提供更多的輔助信息并允許半監(jiān)督學(xué)習(xí),可以向判別器添加額外的輔助分類器,以便在原始任務(wù)以及附加任務(wù)上優(yōu)化模型。這種方法的體系結(jié)構(gòu)如下圖所示,其中 C 是輔助分類器。

添加輔助分類器允許我們使用預(yù)先訓(xùn)練的模型(例如,在 ImageNet 上訓(xùn)練的圖像分類器),并且在ACGAN[7]中的實(shí)驗(yàn)證明這種方法可以幫助生成更清晰的圖像以及減輕模式崩潰問題。使用輔助分類器還可以應(yīng)用在文本到圖像合成和圖像到圖像的轉(zhuǎn)換。

GAN與Encoder的結(jié)合

盡管 GAN 可以將噪聲向量 z 轉(zhuǎn)換為合成數(shù)據(jù)樣本 G(z),但它不允許逆變換。如果將噪聲分布視為數(shù)據(jù)樣本的潛在特征空間,則 GAN 缺乏將數(shù)據(jù)樣本 x 映射到潛在特征 z 的能力。

為了允許這樣的映射,兩個(gè)并發(fā)的工作BiGAN[8]和ALI[9]在原始 GAN 中添加編碼器 E,如下圖所示。

令 Ωx 為數(shù)據(jù)空間,Ωz 為潛在特征空間,編碼器 E 將 x∈Ωx 作為輸入,并產(chǎn)生特征向量 E(x)∈Ωz 作為輸出。修正判別器 D 以將數(shù)據(jù)樣本和特征向量都作為輸入來計(jì)算 P(Y|x,z),其中 Y=1 表示樣本是真實(shí)的而 Y=0 表示數(shù)據(jù)由 G 生成。用數(shù)學(xué)公式表示為:

GAN與VAE的結(jié)合

VAE 生成的圖像是模糊的,但是 VAE 生成并沒有像 GAN 的模式崩潰的問題,VAE-GAN[10]的初衷是結(jié)合兩者的優(yōu)點(diǎn)形成更加魯棒的生成模型。模型結(jié)構(gòu)如下:

但是實(shí)際訓(xùn)練過程中,VAE 和 GAN 的結(jié)合訓(xùn)練過程也是很難把握的。

處理模式崩潰問題

雖然 GAN 在圖像生成方面非常有效,但它的訓(xùn)練過程非常不穩(wěn)定,需要很多技巧才能獲得良好的結(jié)果。GAN 不僅在訓(xùn)練中不穩(wěn)定,還存在模式崩潰問題。判別器不需要考慮生成樣品的種類,而只關(guān)注于確定每個(gè)樣品是否真實(shí),這使得生成器只需要生成少數(shù)高質(zhì)量的圖像就足以愚弄判別者。

例如在 MNIST 數(shù)據(jù)集包含從 0 到 9 的數(shù)字圖像,但在極端情況下,生成器只需要學(xué)會(huì)完美地生成十個(gè)數(shù)字中的一個(gè)以完全欺騙判別器,然后生成器停止嘗試生成其他九位數(shù),缺少其他九位數(shù)是類間模式崩潰的一個(gè)例子。類內(nèi)模式崩潰的一個(gè)例子是,每個(gè)數(shù)字有很多寫作風(fēng)格,但是生成器只學(xué)習(xí)為每個(gè)數(shù)字生成一個(gè)完美的樣本,以成功地欺騙鑒別器。

目前已經(jīng)提出了許多方法來解決模型崩潰問題。一種技術(shù)被稱為小批量(miniBatch)特征,其思想是使判別器比較真實(shí)樣本的小批量以及小批量生成的樣本。通過這種方式,判別器可以通過測量樣本在潛在空間中的距離來學(xué)習(xí)判斷生成的樣本是否與其他一些生成的樣本過于相似。盡管這種方法運(yùn)行良好,但性能在很大程度上取決于距離計(jì)算中使用的特征。

MRGAN[11]建議添加一個(gè)編碼器,將數(shù)據(jù)空間中的樣本轉(zhuǎn)換回潛在空間,如 BiGAN 它的編碼器和生成器的組合充當(dāng)自動(dòng)編碼器,重建損失被添加到對抗性損失中以充當(dāng)模式正則化器。同時(shí),還訓(xùn)練判別器以區(qū)分重構(gòu)樣本,其用作另一模式正則化器。

WGAN[12]使用 Wasserstein 距離來測量真實(shí)數(shù)據(jù)分布與學(xué)習(xí)分布之間的相似性,而不是像原始 GAN 那樣使用 Jensen-Shannon 散度。雖然它在理論上避免了模式崩潰,但模型收斂的時(shí)間比以前的 GAN 要長。

為了緩解這個(gè)問題,WGAN-GP[13]建議使用梯度懲罰,而不是 WGAN 中的權(quán)重削減。WGAN-GP 通??梢援a(chǎn)生良好的圖像并極大地避免模式崩潰,并且很容易將此培訓(xùn)框架應(yīng)用于其他 GAN 模型。

SAGAN[14]將譜歸一化的思想用在判別器,限制判別器的能力。

GAN在圖像生成方法

GAN 在圖像生成中的主要方法為直接方法,迭代方法和分層方法,這三種方法可由下圖展示:

區(qū)分圖像生成方法是看它擁有幾個(gè)生成器和判別器。

直接法

該類別下的所有方法都遵循在其模型中使用一個(gè)生成器和一個(gè)判別器的原理,并且生成器和判別器的結(jié)構(gòu)是直接的,沒有分支。許多最早的 GAN 模型屬于這一類,如GAN[4]、DCGAN[5]、ImprovedGAN[15],InfoGAN[16],f-GAN[17]和GANINT-CLS[18]。

其中,DCGAN 是最經(jīng)典的之一,其結(jié)構(gòu)被許多后來的模型使用,DCGAN 中使用的一般構(gòu)建塊如下圖所示,其中生成器使用反卷積,批量歸一化和 ReLU 激活,而判別器使用卷積,batchnormalization 和 LeakyReLU 激活,這也是現(xiàn)在很多 GAN 模型網(wǎng)絡(luò)設(shè)計(jì)所借鑒的。

與分層和迭代方法相比,這種方法設(shè)計(jì)和實(shí)現(xiàn)相對更直接,并且通??梢垣@得良好的結(jié)果。

分層法

與直接法相反,分層方法下的算法在其模型中使用兩個(gè)生成器和兩個(gè)鑒別器,其中不同的生成器具有不同的目的。這些方法背后的想法是將圖像分成兩部分,如“樣式和結(jié)構(gòu)”和“前景和背景”。兩個(gè)生成器之間的關(guān)系可以是并聯(lián)的或串聯(lián)的。

SS-GAN[19]使用兩個(gè) GAN,一個(gè) Structure-GAN 用于從隨機(jī)噪聲 z? 作為輸入并輸出圖像,整體結(jié)構(gòu)可由下圖展示:

迭代法

迭代法不同于分層法,首先,不使用兩個(gè)執(zhí)行不同角色的不同生成器,此類別中的模型使用具有相似或甚至相同結(jié)構(gòu)的多個(gè)生成器,并且它們生成從粗到細(xì)的圖像,每個(gè)生成器重新生成結(jié)果的詳細(xì)信息。當(dāng)在生成器中使用相同的結(jié)構(gòu)時(shí),迭代方法可以在生成器之間使用權(quán)重共享,而分層方法通常不能。

LAPGAN[20]是第一個(gè)使用拉普拉斯金字塔使用迭代方法從粗到細(xì)生成圖像的 GAN。LAPGAN 中的多個(gè)生成器執(zhí)行相同的任務(wù):從前一個(gè)生成器獲取圖像并將噪聲矢量作為輸入,然后輸出再添加到輸入圖像時(shí)使圖像更清晰的細(xì)節(jié)(殘留圖像)。

這些發(fā)生器結(jié)構(gòu)的唯一區(qū)別在于輸入/輸出尺寸的大小,而一個(gè)例外是最低級(jí)別的生成器僅將噪聲向量作為輸入并輸出圖像。LAPGAN 優(yōu)于原始 GAN 并且表明迭代方法可以生成比直接方法更清晰的圖像。

StackGAN[21]作為一種迭代方法,只有兩層生成器。第一個(gè)生成器接收輸入 (z,c),然后輸出模糊圖像,可以顯示粗略的形狀和對象的模糊細(xì)節(jié),而第二個(gè)生成器采用 (z,c) 和前一個(gè)生成器生成的圖像,然后輸出更大的圖像,可以得到更加真實(shí)的照片細(xì)節(jié)。

迭代法的另一個(gè)例子是SGAN[22],其堆疊生成器,其將較低級(jí)別的特征作為輸入并輸出較高級(jí)別的特征,而底部生成器將噪聲矢量作為輸入并且頂部生成器輸出圖像。

對不同級(jí)別的特征使用單獨(dú)的生成器的必要性是 SGAN 關(guān)聯(lián)編碼器,判別器和 Q 網(wǎng)絡(luò)(用于預(yù)測 P(zi|hi) 的后驗(yàn)概率以進(jìn)行熵最大化,其中 hi 每個(gè)生成器的第 i 層的輸出特征),以約束和改善這些特征的質(zhì)量。

其它方法

與前面提到的其他方法不同,PPGN[23]使用激活最大化來生成圖像,它基于先前使用去噪自動(dòng)編碼器(DAE)學(xué)習(xí)的采樣。

為了生成以特定類別標(biāo)簽 y 為條件的圖像,而不是使用前饋方式(例如:如果通過時(shí)間展開,可以將循環(huán)方法視為前饋),PPGN 優(yōu)化過程為生成器找到輸入 z 這使得輸出圖像高度激活另一個(gè)預(yù)訓(xùn)練分類器中的某個(gè)神經(jīng)元(輸出層中與其類標(biāo)簽 y 對應(yīng)的神經(jīng)元)。

為了生成更好的更高分辨率的圖像,ProgressiveGAN[24]建議首先訓(xùn)練 4×4 像素的生成器和判別器,然后逐漸增加額外的層,使輸出分辨率加倍至 1024×1024。這種方法允許模型首先學(xué)習(xí)粗糙結(jié)構(gòu),然后專注于稍后重新定義細(xì)節(jié),而不是必須同時(shí)處理不同規(guī)模的所有細(xì)節(jié)。

GAN在文本到圖像的應(yīng)用

GAN 應(yīng)用于圖像生成時(shí),雖然CGAN[6]這樣的標(biāo)簽條件 GAN 模型可以生成屬于特定類的圖像,但基于文本描述生成圖像仍然是一個(gè)巨大的挑戰(zhàn)。文本到圖像合成是計(jì)算機(jī)視覺的里程碑,因?yàn)槿绻惴軌驈募兇獾奈谋久枋鲋猩烧鎸?shí)逼真的圖像,我們可以高度確信算法實(shí)際上理解圖像中的內(nèi)容。

GAN-INT-CLS[18]是使用 GAN 從文本描述生成圖像的第一次嘗試,這個(gè)想法類似于將條件向量與噪聲向量連接起來的條件 GAN,但是使用文本句子的嵌入而不是類標(biāo)簽或?qū)傩缘膮^(qū)別。

GAN-INT-CLS 開創(chuàng)性地區(qū)分兩種錯(cuò)誤來源:不真實(shí)的圖像與任何文本,以及不匹配的文本的真實(shí)圖像。

為了訓(xùn)練判別器以區(qū)分這兩種錯(cuò)誤,在每個(gè)訓(xùn)練步驟中將三種類型的輸入饋送到判別器:{真實(shí)圖像,匹配文本},{真實(shí)圖像,不匹配文本} 和 {偽圖像,真實(shí)文本}。這種訓(xùn)練技術(shù)對于生成高質(zhì)量圖像非常重要,因?yàn)樗粌H告訴模型如何生成逼真的圖像,還告訴文本和圖像之間的對應(yīng)關(guān)系。

TAC-GAN[25]是GAN-INT-CLS[18]和ACGAN[7]的組合。

位置約束的文本到圖像

盡管GAN-INT-CLS[18]和StackGAN[21]可以基于文本描述生成圖像,但是它們無法捕獲圖像中對象的定位約束。為了允許編碼空間約束,GAWWN[26]提出了兩種可能的解決方案。 GAWWN 提出的第一種方法是通過空間變換網(wǎng)絡(luò)對空間復(fù)制的文本嵌入張量進(jìn)行學(xué)習(xí),從而學(xué)習(xí)對象的邊界框。

空間變換器網(wǎng)絡(luò)的輸出是與輸入具有相同維度的張量,但是邊界外的值都是零??臻g變換器的輸出張量經(jīng)過幾個(gè)卷積層,以將其大小減小回一維向量,這不僅保留了文本信息,而且還通過邊界框提供了對象位置的約束。這種方法的一個(gè)好處是它是端到端的,不需要額外的輸入。

GAWWN 提出的第二種方法是使用用戶指定的關(guān)鍵點(diǎn)來約束圖像中對象的不同部分(例如頭部,腿部,手臂,尾部等)。對于每個(gè)關(guān)鍵點(diǎn),生成一個(gè)掩碼矩陣,其中關(guān)鍵點(diǎn)位置為 1,其他為 0,所有矩陣通過深度級(jí)聯(lián)組合形成一個(gè)形狀 [M×M×K] 的掩碼張量,其中 M 是掩碼的大小,K 是數(shù)字關(guān)鍵點(diǎn)。

然后將張量放入二進(jìn)制矩陣中,其中 1 指示存在關(guān)鍵點(diǎn),否則為 0,然后在深度方向上復(fù)制以成為要被饋送到剩余層中的張量。雖然此方法允許對對象進(jìn)行更詳細(xì)的約束,但它需要額外的用戶輸入來指定關(guān)鍵點(diǎn)。

盡管 GAWWN 提供了兩種可以對生成的圖像強(qiáng)制執(zhí)行位置約束的方法,但它僅適用于具有單個(gè)對象的圖像,因?yàn)樗岢龅姆椒ǘ疾荒芴幚韴D像中的多個(gè)不同對象。

堆疊GAN的文本到圖像

StackGAN[21]建議使用兩個(gè)不同的生成器進(jìn)行文本到圖像的合成,而不是只使用一個(gè)生成器。第一個(gè)生成器負(fù)責(zé)生成包含粗糙形狀和顏色的對象的低分辨率圖像,而第二個(gè)生成器獲取第一個(gè)生成器的輸出并生成具有更高分辨率和更清晰細(xì)節(jié)的圖像,每個(gè)生成器都與其自己的判別器相關(guān)聯(lián)。

StackGAN ++[27]建議使用更多對生成器和判別器而不是僅僅兩個(gè),為判別器增加無條件圖像合成損失,并使用由均值平均損失計(jì)算的色彩一致性正則化項(xiàng)和真實(shí)和虛假圖像之間的差異。

AttnGAN[28]通過在圖像和文本特征上使用注意機(jī)制進(jìn)一步擴(kuò)展了StackGAN ++[27]的體系結(jié)構(gòu)。在 AttnGAN 中,每個(gè)句子都嵌入到全局句子向量中,并且句子的每個(gè)單詞也嵌入到單詞向量中。

全局句子向量用于在第一階段生成低分辨率圖像,然后以下階段使用前一階段的輸入圖像特征和單詞向量作為對關(guān)注層的輸入并計(jì)算將使用的詞語上下文向量。與圖像特征組合并形成生成器的輸入,將生成新的圖像特征。

文本到圖像模型的局限性

目前的文本到圖像模型在每個(gè)圖像具有單個(gè)對象的數(shù)據(jù)集上表現(xiàn)良好,例如 CelebA 中的人臉,CUB 中的鳥以及 ImageNet 中的一些對象。此外,他們可以在 LSUN 中為臥室和起居室等場景合成合理的圖像,即使場景中的物體缺乏清晰的細(xì)節(jié)。然而,在一個(gè)圖像中涉及多個(gè)復(fù)雜對象的情況下,所有現(xiàn)有模型都工作得很糟糕。

當(dāng)前模型在復(fù)雜圖像上不能很好地工作的一個(gè)合理的原因是模型只學(xué)習(xí)圖像的整體特征,而不是學(xué)習(xí)其中每種對象的概念。這解釋了為什么臥室和起居室的合成場景缺乏清晰的細(xì)節(jié),因?yàn)槟P筒粎^(qū)分床和桌子,所有它看到的是一些形狀和顏色的圖案應(yīng)放在合成圖像的某處。換句話說,模型并不真正理解圖像,只記得在哪里放置一些形狀和顏色。

生成性對抗網(wǎng)絡(luò)無疑提供了一種有前途的文本到圖像合成方法,因?yàn)樗a(chǎn)生的圖像比迄今為止的任何其他生成方法都要清晰。為了在文本到圖像合成中邁出更進(jìn)一步的步驟,需要找到新的方法實(shí)現(xiàn)算法的事物概念。一種可能的方法是訓(xùn)練可以生成不同種類對象的單獨(dú)模型,然后訓(xùn)練另一個(gè)模型,該模型學(xué)習(xí)如何基于文本描述將不同對象(對象之間的合理關(guān)系)組合成一個(gè)圖像。

然而,這種方法需要針對不同對象的大型訓(xùn)練集,以及包含難以獲取的那些不同對象的圖像的另一大型數(shù)據(jù)集。另一個(gè)可能的方向可能是利用 Hinton 等人提出的膠囊理念,因?yàn)槟z囊被設(shè)計(jì)用于捕獲物體的概念,但是如何有效地訓(xùn)練這種基于膠囊的網(wǎng)絡(luò)仍然是一個(gè)需要解決的問題。

GAN在圖像到圖像的應(yīng)用

圖像到圖像的轉(zhuǎn)換被定義為將一個(gè)場景的可能表示轉(zhuǎn)換成另一個(gè)場景的問題,例如圖像結(jié)構(gòu)圖映射到 RGB 圖像,或者反過來。該問題與風(fēng)格遷移有關(guān),其采用內(nèi)容圖像和樣式圖像并輸出具有內(nèi)容圖像的內(nèi)容和樣式圖像的樣式的圖像。

圖像到圖像轉(zhuǎn)換可以被視為風(fēng)格遷移的概括,因?yàn)樗粌H限于轉(zhuǎn)移圖像的風(fēng)格,還可以操縱對象的屬性(如在面部編輯的應(yīng)用中)。

有監(jiān)督下圖像到圖像轉(zhuǎn)換

Pix2Pix[29]提出將 CGAN 的損失與 L1 正則化損失相結(jié)合,使得生成器不僅被訓(xùn)練以欺騙判別器而且還生成盡可能接近真實(shí)標(biāo)注的圖像,使用 L1 而不是 L2 的原因是 L1 產(chǎn)生較少的模糊圖像。

有條件的 GAN 損失定義為:

約束自相似性的 L1 損失定義為:

總的損失為:

其中 λ 是一個(gè)超參數(shù)來平衡兩個(gè)損失項(xiàng),Pix2Pix 的生成器結(jié)構(gòu)基于 UNet ,它屬于編碼器 - 解碼器框架,但增加了從編碼器到解碼器的跳過連接,以便繞過共享諸如對象邊緣之類的低級(jí)信息的瓶頸。

配對監(jiān)督下圖像到圖像轉(zhuǎn)換

PLDT[30]提出了另一種進(jìn)行監(jiān)督圖像到圖像轉(zhuǎn)換的方法,通過添加另一個(gè)判別器 Dpair 來學(xué)習(xí)判斷來自不同域的一對圖像是否相互關(guān)聯(lián)。

PLDT 的體系結(jié)構(gòu)如下圖所示,給定來自源域的輸入圖像 Xs,其目標(biāo)域中的真實(shí)圖像 Xt,目標(biāo)域中的無關(guān)圖像 Xt? ,以及生成器 G 將 Xs 傳輸?shù)綀D像傳輸?shù)綀D像

無監(jiān)督圖像到圖像轉(zhuǎn)換

兩個(gè)并發(fā)工作CycleGAN[31]和DualGAN[32]采用重構(gòu)損失,試圖在轉(zhuǎn)換周期后保留輸入圖像。CycleGAN 和 DualGAN 共享相同的框架,如下圖所示。

可以看到,兩個(gè)生成器DiscoGAN?[33]?是另一種利用與下圖相同的循環(huán)框架的模型。

以 CycleGAN 為例,在 CycleGAN 中,有兩個(gè)生成器,

盡管 CycleGAN 和 DualGAN 具有相同的模型結(jié)構(gòu),但它們對生成器使用不同的實(shí)現(xiàn)。CycleGAN 使用卷積架構(gòu)的生成器結(jié)構(gòu),而 DualGAN 遵循 U-Net 結(jié)構(gòu)。

距離約束下無監(jiān)督圖像到圖像轉(zhuǎn)換

DistanceGAN[34]發(fā)現(xiàn),源域 A 中兩個(gè)圖像之間的距離的

特征穩(wěn)定下無監(jiān)督圖像到圖像轉(zhuǎn)換

除了最小化原始像素級(jí)別的重建誤差外,還可以在更高的特征級(jí)別進(jìn)行此操作,這在DTN[35]中進(jìn)行了探討。DTN 的體系結(jié)構(gòu)如下圖所示,其中發(fā)生器 G 由兩個(gè)神經(jīng)網(wǎng)絡(luò)組成,一個(gè)卷積網(wǎng)絡(luò) f 和一個(gè)反卷積網(wǎng)絡(luò) g,使得 G=f°g。

這里 f 充當(dāng)特征提取器,并且 DTN 嘗試在將輸入圖像傳輸?shù)侥繕?biāo)域之后保留輸入圖像的高級(jí)特征。給定輸入圖像 x∈xs 生成器的輸出為 G(x)=g(f(x)),然后可以使用距離度量 d(DTN 使用均方誤差 (MSE))定義特征重建錯(cuò)誤。這篇論文之前我們進(jìn)行過詳細(xì)解讀,可參看這篇文章[42]。

借助VAE和權(quán)重分享下無監(jiān)督圖像到圖像轉(zhuǎn)換

UNIT[36]建議將VAE添加到CoGAN[37]用于無監(jiān)督的圖像到圖像轉(zhuǎn)換,如下圖所示。

此外,UNIT 假設(shè)兩個(gè)編碼器共享相同的潛在空間,這意味著 xA,xB 是不同域中的相同圖像,然后共享潛在空間意味著

UNIT 的目標(biāo)函數(shù)是 GAN 和 VAE 目標(biāo)的組合,不同之處在于使用兩組 GAN / VAE 并添加超參數(shù) λs 來平衡不同的損耗項(xiàng)。

無監(jiān)督的多域圖像到圖像轉(zhuǎn)換

以前的模型只能在兩個(gè)域之間轉(zhuǎn)換圖像,但如果想在幾個(gè)域之間轉(zhuǎn)換圖像,需要為每對域訓(xùn)練一個(gè)單獨(dú)的生成器,這是昂貴的。

為了解決這個(gè)問題,StarGAN[38]建議使用一個(gè)可以生成所有域圖像的生成器。StarGAN 不是僅將圖像作為條件輸入,而是將目標(biāo)域的標(biāo)簽作為輸入,并且生成器用于將輸入圖像轉(zhuǎn)換為輸入標(biāo)簽指示的目標(biāo)域。

與 ACGAN 類似,StarGAN 使用輔助域分類器,將圖像分類到其所屬的域中。此外,循環(huán)一致性損失用于保持輸入和輸出圖像之間的內(nèi)容相似性。

為了允許 StarGAN 在可能具有不同標(biāo)簽集的多個(gè)數(shù)據(jù)集上進(jìn)行訓(xùn)練,StarGAN 使用額外的單一向量來指示數(shù)據(jù)集并將所有標(biāo)簽向量連接成一個(gè)向量,將每個(gè)數(shù)據(jù)集的未指定標(biāo)簽設(shè)置為零。

圖像到圖像轉(zhuǎn)換總結(jié)

之前討論的圖像到圖像轉(zhuǎn)換方法,它們使用的不同損失總結(jié)在下表中:

最簡單的損失是像素方式的 L1 重建損失,這需要成對的訓(xùn)練樣本。單側(cè)和雙向重建損失都可以被視為像素方式 L1 重建損失的無監(jiān)督版本,因?yàn)樗鼈儚?qiáng)制執(zhí)行循環(huán)一致性并且不需要成對的訓(xùn)練樣本。

額外的 VAE 損失基于源域和目標(biāo)域的共享潛在空間的假設(shè),并且還意味著雙向循環(huán)一致性損失。然而,等效損失不會(huì)嘗試重建圖像,而是保留源和目標(biāo)域之間圖像之間的差異。

在所有提到的模型中,Pix2Pix[29]產(chǎn)生最清晰的圖像,即使 L1 損失只是原始 GAN 模型的簡單附加組件。將 L1 損失與 PLDT 中的成對判別器結(jié)合起來可以改善模型在涉及圖像幾何變化的圖像到圖像轉(zhuǎn)換上的性能。

此外,Pix2Pix 可能有利于保留源域和目標(biāo)域中圖像之間的相似性信息,如在一些無監(jiān)督方法如CycleGAN[31]和DistanceGAN[34]中所做的那樣。

至于無監(jiān)督方法,雖然它們的結(jié)果不如 Pix2Pix 等監(jiān)督方法生成效果,但它們是一個(gè)很有前途的研究方向,因?yàn)樗鼈儾恍枰鋵?shù)據(jù),并且在現(xiàn)實(shí)世界中收集標(biāo)記數(shù)據(jù)是非常昂貴的。

圖像到圖像轉(zhuǎn)換的應(yīng)用

圖像到圖像轉(zhuǎn)換已經(jīng)應(yīng)用在很多領(lǐng)域,比如在人臉面部編輯、圖像超分辨率、視頻預(yù)測以及醫(yī)學(xué)圖像轉(zhuǎn)換,這一部分就不具體展開,因?yàn)檫@方面的工作實(shí)在過于龐大。

GAN生成圖像的評價(jià)指標(biāo)

生成圖像的質(zhì)量很難去量化,并且像 RMSE 這樣的度量并不合適,因?yàn)楹铣蓤D像和真實(shí)圖像之間沒有絕對的一對一對應(yīng)關(guān)系。一個(gè)常用的主觀指標(biāo)是使用 Amazon Mechanical Turk (AMT),它雇用人類根據(jù)他們認(rèn)為圖像的真實(shí)程度對合成和真實(shí)圖像進(jìn)行評分。然而,人們通常對好的或壞的看法不同,因此我們還需要客觀的指標(biāo)來評估圖像的質(zhì)量。

Inception score (IS)[15]在將類別放入預(yù)先訓(xùn)練的圖像分類器時(shí),基于類概率分布中的熵來評估圖像。初始得分背后的一個(gè)直覺是圖像 x 越好,條件分布 p(y|x) 的熵就越低,這意味著分類器對圖像的高度信任。此外,為了鼓勵(lì)模型生成各種類型的圖像,邊際分布 p(y)=∫p(y|x=G(z))dz 應(yīng)具有高熵。

結(jié)合這兩個(gè)討論,初始分?jǐn)?shù)由

與初始得分相似,F(xiàn)CN-score[29]采用的理念是,如果生成圖像是真實(shí)的,那么在真實(shí)圖像上訓(xùn)練的分類者將能夠正確地對合成圖像進(jìn)行分類。然而,圖像分類器不需要輸入圖像非常清晰以給出正確的分類,這意味著基于圖像分類的度量可能無法在分辨兩個(gè)圖像之間細(xì)節(jié)上很小的差異。更糟糕的是,分類器的決定不一定取決于圖像的視覺內(nèi)容,但可能受到人類不可見的噪聲的高度影響,F(xiàn)CN-score 的度量也是存在問題。

Fréchet Inception Distance (FID)[39]提供了一種不同的方法。首先,生成的圖像嵌入到初始網(wǎng)絡(luò)的所選層的潛在特征空間中。其次,將生成的和真實(shí)的圖像的嵌入視為來自兩個(gè)連續(xù)多元高斯的樣本,以便可以計(jì)算它們的均值和協(xié)方差。然后,生成的圖像的質(zhì)量可以通過兩個(gè)高斯之間的 Fréchet 距離來確定:

上式 (μx,μg) 和 (∑x,∑g) 分別是來自真實(shí)數(shù)據(jù)分布和生成樣本的均值和協(xié)方差。FID 與人類判斷一致,并且 FID 與生成圖像的質(zhì)量之間存在強(qiáng)烈的負(fù)相關(guān)。此外,F(xiàn)ID 對噪聲的敏感度低于 IS,并且可以檢測到類內(nèi)模式崩潰。

總 結(jié)

本文在論文An Introduction to Image Synthesis with Generative Adversarial Nets的基礎(chǔ)上回顧了 GAN 的基礎(chǔ)知識(shí)、圖像生成方法的三種主要方法,即直接方法,分層方法和迭代方法和其它生成方法,如迭代采樣。也討論了圖像合成的兩種主要形式,即文本到圖像合成和圖像到圖像的轉(zhuǎn)換。

希望本文可以幫助讀者理清 GAN 在圖像生成方向的指導(dǎo),當(dāng)然限于原論文(本文多數(shù)內(nèi)容為翻譯原文),還有很多篇精彩的 GAN 在圖像生成方向的論文沒有涉及,讀者可以自行閱讀。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • GaN
    GaN
    +關(guān)注

    關(guān)注

    19

    文章

    1895

    瀏覽量

    72303
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8318

    瀏覽量

    132162
  • 圖像生成
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    6877

原文標(biāo)題:超詳綜述:GAN在圖像生成上的應(yīng)用

文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【洞幺邦】基于深度學(xué)習(xí)的GAN應(yīng)用風(fēng)格遷移

    和虛假,最后兩者到達(dá)動(dòng)態(tài)的平和的時(shí)候,生成網(wǎng)絡(luò)G就可以生成以假亂真的圖片了。GAN應(yīng)用風(fēng)格遷移:最一開始那個(gè)吶喊的例子中,人類騎行的圖像
    發(fā)表于 07-01 10:53

    圖像生成對抗生成網(wǎng)絡(luò)gan_GAN生成汽車圖像 精選資料推薦

    圖像生成對抗生成網(wǎng)絡(luò)ganHello there! This is my story of making a GAN that would generate images of cars
    發(fā)表于 08-31 06:48

    探討條件GAN圖像生成中的應(yīng)用

    語義標(biāo)簽映射生成的2048x1024的圖像不僅在視覺上更吸引人,同時(shí)生成了新的對抗損失以及新的多尺度生成器和判別器體系結(jié)構(gòu)。
    的頭像 發(fā)表于 01-11 16:22 ?1.2w次閱讀
    探討條件<b class='flag-5'>GAN</b><b class='flag-5'>在</b><b class='flag-5'>圖像</b><b class='flag-5'>生成</b>中的應(yīng)用

    特倫托大學(xué)與Inria合作:使用GAN生成人體的新姿勢圖像

    使用GAN(對抗生成網(wǎng)絡(luò))生成人體的新姿勢圖像。研究人員提出的可變形跳躍連接和最近鄰損失函數(shù),更好地捕捉了局部的紋理細(xì)節(jié),緩解了之前研究生成
    的頭像 發(fā)表于 01-29 16:34 ?9484次閱讀
    特倫托大學(xué)與Inria合作:使用<b class='flag-5'>GAN</b><b class='flag-5'>生成</b>人體的新姿勢<b class='flag-5'>圖像</b>

    GAN技術(shù)再到新高度 利用pytorch技術(shù)生成72種圖像

    隨著GAN的發(fā)展,單憑一張圖像就能自動(dòng)將面部表情生成動(dòng)畫已不是難事。但近期Reddit和GitHub熱議的新款GANimation,卻將此技術(shù)提到新的高度。GANimation構(gòu)建了
    的頭像 發(fā)表于 07-30 10:39 ?5648次閱讀

    圖像生成領(lǐng)域的一個(gè)巨大進(jìn)展:SAGAN

    近年來,生成圖像建模領(lǐng)域出現(xiàn)了不少成果,其中最前沿的是GAN,它能直接從數(shù)據(jù)中學(xué)習(xí),生成高保真、多樣化的圖像。雖然
    的頭像 發(fā)表于 10-08 09:11 ?1.3w次閱讀

    必讀!生成對抗網(wǎng)絡(luò)GAN論文TOP 10

    處理的CelebA-HQ 數(shù)據(jù)集,實(shí)現(xiàn)了效果令人驚嘆的生成圖像。作者表示,這種方式不僅穩(wěn)定了訓(xùn)練,GAN 生成圖像也是迄今為止質(zhì)量最好的。
    的頭像 發(fā)表于 03-20 09:02 ?6472次閱讀
    必讀!<b class='flag-5'>生成</b>對抗網(wǎng)絡(luò)<b class='flag-5'>GAN</b>論文TOP 10

    生成對抗網(wǎng)絡(luò)GAN論文TOP 10,幫助你理解最先進(jìn)技術(shù)的基礎(chǔ)

    處理的CelebA-HQ 數(shù)據(jù)集,實(shí)現(xiàn)了效果令人驚嘆的生成圖像。作者表示,這種方式不僅穩(wěn)定了訓(xùn)練,GAN 生成圖像也是迄今為止質(zhì)量最好的。
    的頭像 發(fā)表于 03-20 15:16 ?8758次閱讀
    <b class='flag-5'>生成</b>對抗網(wǎng)絡(luò)<b class='flag-5'>GAN</b>論文TOP 10,幫助你理解最先進(jìn)技術(shù)的基礎(chǔ)

    GAN圖像對抗樣本生成方法研究綜述

    為了提高生成對抗網(wǎng)絡(luò)模型對抗樣本的多樣性和攻擊成功率,提出了一種GAN圖像對抗樣本生成方法。首先,利用原始樣本集整體訓(xùn)練一個(gè)深度卷積對抗生成
    發(fā)表于 04-28 16:39 ?72次下載
    <b class='flag-5'>GAN</b><b class='flag-5'>圖像</b>對抗樣本<b class='flag-5'>生成</b>方法研究<b class='flag-5'>綜述</b>

    基于生成式對抗網(wǎng)絡(luò)的圖像補(bǔ)全方法

    圖像補(bǔ)全是數(shù)字圖像處理領(lǐng)域的重要研究方向,具有廣闊的應(yīng)用前景。提出了一種基于生成式對抗網(wǎng)絡(luò)(GAN)的圖像補(bǔ)全方法。
    發(fā)表于 05-19 14:38 ?14次下載

    生成式對抗網(wǎng)絡(luò)應(yīng)用及研究綜述

    基于零和博弈思想的生成式對抗網(wǎng)絡(luò)(GAN)可通過無監(jiān)督學(xué)習(xí)獲得數(shù)據(jù)的分布,并生成較逼真的數(shù)據(jù)。基于GAN的基礎(chǔ)概念及理論框架,硏究各類GAN
    發(fā)表于 06-09 11:16 ?13次下載

    圖像熵信息的計(jì)算公式綜述

    圖像熵信息的計(jì)算公式綜述
    發(fā)表于 07-12 14:12 ?11次下載

    基于LABVIEW編程的圖像處理綜述

    基于LABVIEW編程的圖像處理綜述
    發(fā)表于 09-09 10:11 ?39次下載

    基于GAN-inversion的圖像重構(gòu)過程

    筆者最近在集中時(shí)間學(xué)習(xí)對抗生成網(wǎng)絡(luò)(GAN),特別是深度生成先驗(yàn)進(jìn)行多用途圖像修復(fù)與處理,需要對圖像修復(fù)與處理經(jīng)典論文進(jìn)行回顧和精讀。
    的頭像 發(fā)表于 07-13 14:19 ?2911次閱讀

    生成對抗網(wǎng)絡(luò)GAN的七大開放性問題

    生成對抗網(wǎng)絡(luò)在過去一年仍是研究重點(diǎn),我們不僅看到可以生成高分辨率(1024×1024)圖像的模型,還可以看到那些以假亂真的生成圖像。此外,我
    的頭像 發(fā)表于 03-17 11:18 ?612次閱讀
    <b class='flag-5'>生成</b>對抗網(wǎng)絡(luò)<b class='flag-5'>GAN</b>的七大開放性問題