国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

生成式對抗網(wǎng)絡及其在圖像生成中的研究進展

2021-10-12 08:49馬永杰徐小冬謝藝蓉
計算機與生活 2021年10期
關鍵詞:樣本函數(shù)圖像

馬永杰,徐小冬,張 茹,謝藝蓉,陳 宏

西北師范大學 物理與電子工程學院,蘭州 730070

隨著人工智能(artificial intelligence,AI)的快速發(fā)展,與其相關的一些技術也相繼被提出。機器學習作為實現(xiàn)人工智能的主要方法,根據(jù)數(shù)據(jù)集是否有標簽,可以分為監(jiān)督學習、無監(jiān)督學習與半監(jiān)督學習[1]。深度學習作為實現(xiàn)機器學習的一種方法,由Hinton 等人[2]于2006 年首次提出,它是一種包含了多個隱藏層和多個感知器的網(wǎng)絡結構,可以對物體的屬性和特征進行更深層次的描述。在無監(jiān)督學習中,深度生成模型(deep generative models)和自編碼器(auto-encoder)是兩個大的方向。在神經(jīng)網(wǎng)絡興起之前,學術界對生成模型的探究主要集中在變分自動編碼器(variational auto-encoder,VAE)、受限玻爾茲曼機(restricted Boltzmann machine,RBM)、PixelRNN(pixel recurrent neural networks)、深度玻爾茲曼機(deep Boltzmann machine,DBM)等,這些生成模型在圖像生成領域雖然取得了一定的成績,但由于目標函數(shù)計算復雜度較高、數(shù)據(jù)建模難度過大,一直存在一定的局限性。為了解決這一問題,Goodfellow 等人創(chuàng)造性地應用博弈論的思想,提出了生成式對抗網(wǎng)絡(generative adversarial networks,GAN)[3]。這個由一個生成圖像的生成器G與一個檢測圖像真?zhèn)蔚臋z測器D組成的相互對抗的網(wǎng)絡,在學術界引起了巨大反響。隨后的幾年中,越來越多的學者深入其中,將GAN 的思想及其變種快速滲透到深度學習的眾多領域,誕生了很多新的研究方向,如語音處理[4]、智能交通[5]、安全隱私[6]等,并取得了良好的效果。

本文闡述了生成式對抗網(wǎng)絡的誕生契機,介紹了其基本原理和優(yōu)缺點,分類總結了近年來誕生的一些GAN 的衍生模型;其次詳細介紹了GAN 在圖像生成方面的應用;最后指出了該研究領域目前面臨的挑戰(zhàn)并展望了未來的研究方向。

1 生成對抗網(wǎng)絡原理

1.1 GAN 的基本原理

生成式對抗網(wǎng)絡(GAN)[3]的模型結構如圖1 所示,該網(wǎng)絡主要由生成器G(generator)與判別器D(discriminator)兩部分組成。G網(wǎng)絡主要負責產(chǎn)生一個分布盡量接近真實的樣本,盡可能地去欺騙D網(wǎng)絡;而D網(wǎng)絡主要負責識別進入判別器的樣本數(shù)據(jù),盡可能地分辨出真實樣本和虛假樣本。生成模型G與判別模型D是完全獨立的,它們互相對抗,其優(yōu)化過程就是獨立交替迭代訓練。

Fig.1 Network structure of GAN圖1 GAN 的模型結構

對于整個網(wǎng)絡而言,其損失函數(shù)可以寫成:

其中,Pz(z)表示輸入噪聲變量,Pg(x)表示生成器在數(shù)據(jù)x上的分布,Pdata(x)表示判別器在數(shù)據(jù)x上的分布。將到數(shù)據(jù)空間的映射表示為G(z),也寫成G(z;θg),其中G是參數(shù)為θg的多層感知機表示的微分函數(shù)。D(x)也寫成D(x;θd),表示x來自數(shù)據(jù)而非Pg的概率,即真實樣本。通過不斷訓練,G可以生成較為逼真的樣本,而D則可以較為準確地分辨出樣本的真實性。當Pg(x)=Pdata(x)時,D判斷出該樣本真假的概率為0.5,此時生成器便可生成足夠逼真的樣本[7]。

1.2 GAN 的優(yōu)勢與不足

GAN 的優(yōu)勢:(1)GAN 模型僅使用反向傳播,不再需要馬爾可夫鏈重復采樣,避免了難以計算的概率的難題;(2)GAN 不需要在訓練過程中推斷隱變量;(3)對抗網(wǎng)絡可以表現(xiàn)出非常清晰的分布。

GAN 存在的不足:(1)GAN 模型尋求納什均衡的過程導致它無法進行穩(wěn)定的訓練;(2)GAN 存在模式崩潰(collapse mode)現(xiàn)象;(3)GAN 存在梯度消失問題,最終導致神經(jīng)網(wǎng)絡收斂很慢甚至不收斂;(4)評價生成質(zhì)量沒有統(tǒng)一有效的標準。

2 GAN 的優(yōu)化和衍生模型

GAN 在不斷的發(fā)展變化中,誕生了一系列的衍生模型,這些衍生模型分別對應著不同的計算性能和應用需求。業(yè)內(nèi)習慣將其分為基于結構改變的衍生模型和基于損失函數(shù)變體的衍生模型兩大類[8],如表1 所示。其中,基于結構改變的衍生模型主要涵蓋了條件生成式對抗網(wǎng)絡、深度卷積生成式對抗網(wǎng)絡、基于能量的生成式對抗網(wǎng)絡、組合生成式對抗網(wǎng)絡、自我注意生成式對抗網(wǎng)絡、基于樣式的生成式對抗網(wǎng)絡等幾大類;基于損失函數(shù)變體的衍生模型主要涵蓋了最小二乘生成式對抗網(wǎng)絡、Wasserstein 生成式對抗網(wǎng)絡等幾大類。

Table 1 Classification of derivative models of GAN表1 GAN 的衍生模型分類

2.1 基于結構改變的衍生模型

2.1.1 條件生成式對抗網(wǎng)絡

(1)CGAN

為了解決原始GAN 對于生成器幾乎沒有任何約束過于自由的問題,Mirza 等[9]在它的基礎上施加約束條件y,提出了條件生成式對抗網(wǎng)絡(conditional generative adversarial networks,CGAN),使網(wǎng)絡朝著既定的方向生成樣本。

CGAN 的構架如圖2 所示。在CGAN 的訓練過程中,通過向G和D都添加約束項y(可以是任何類型的輔助信息)來指導數(shù)據(jù)的生成。但CGAN 并沒有解決訓練不穩(wěn)定的問題。CGAN 主要應用在圖像增強方面,如圖像生成、圖像補全[10]。

Fig.2 CGAN model architecture diagram圖2 CGAN 模型架構圖

(2)InfoGAN

在原始GAN 中,生成器G輸入的一般是一段連續(xù)單一的隨機噪聲z,生成器G會將z進行高度耦合(entangled)處理。這種情況下,無法具體指定G生成的樣本。對此,Chen等[11]提出基于信息最大化的可解釋的特征學習深層對抗網(wǎng)絡(information maximizing generative adversarial nets,InfoGAN)。InfoGAN 在GAN基礎上增加了一個隱含碼c(latent code),通過控制相應維度的變量來控制生成圖像的屬性。其模型結構如圖3 所示。

Fig.3 InfoGAN model architecture diagram圖3 InfoGAN 模型架構圖

InfoGAN 可以讓網(wǎng)絡學習到可解釋的特征,生成指定的圖像,但訓練過程中需要計算數(shù)據(jù)間的互信息,這增加了訓練復雜度。

(3)其他條件生成式對抗網(wǎng)絡

助分類器生成對抗網(wǎng)絡[10]是CGAN 的變體,也是通過添加類別標簽來實現(xiàn)。IcGAN[12](invertible conditional generative adversarial networks)將編碼器與CGAN 結合,通過評估編碼器以逆轉CGAN 的映射。TACGAN(text conditioned auxiliary classifier generative adversarial networks)[13]創(chuàng)造性地在生成器G的輸入中用文本條件充當類別標簽,使網(wǎng)絡能夠根據(jù)文本描述生成指定圖像,并進行圖像分類。SGAN(semi-supervised generative adversarial networks)[14]是使用半監(jiān)督訓練的生成對抗網(wǎng)絡,它在生成器G的輸入中加入文本條件進行逼真的圖像合成,判別器輸出相應的類標簽。CatGAN(categorical generative adversarial networks)[15]使用無監(jiān)督和半監(jiān)督來訓練網(wǎng)絡,提出一種從未標記或部分標記數(shù)據(jù)中學習判別分類器的方法。

Fig.4 DCGAN model architecture diagram圖4 DCGAN 模型架構圖

2.1.2 深度卷積生成式對抗網(wǎng)絡DCGAN

2015 年,Radford 等[16]創(chuàng)造性地將GAN 與CNN結合,提出了深度卷積生成對抗網(wǎng)絡(deep convolutional generative adversarial networks,DCGAN)。其在圖像生成方面具有較好的效果,網(wǎng)絡模型結構如圖4 所示。

DCGAN 的模型結構有以下特點:(1)用卷積層替代池化層[17];(2)取消全連接層,直接使用卷積層連接G和D的輸入層和輸出層;(3)在網(wǎng)絡結構中,除了G的輸出層及其對應的D的輸入層外,其他層上都采用了批量歸一化;(4)G的輸出層使用Tanh 激活函數(shù),其余層均使用ReLU(rectified linear unit)函數(shù)激活;(5)D的所有層使用LeakyReLU 函數(shù)激活。

DCGAN 使人們將更多的注意力放在應用上,這使DCGAN 能夠應用到圖像生成、風格遷移和監(jiān)督任務等多個領域[7]。但DCGAN 仍然存在某些形式的模型不穩(wěn)定性,隨著訓練時長的增加,它有時會使一部分濾波器陷于單一振蕩模式。為此,ImprovedDCGAN[18]提出了一種新的生成器的目標函數(shù),以批量圖像的特征替代單張圖像作為匹配標準,這使模型在生成高分辨率圖像時表現(xiàn)得更好。

2.1.3 基于能量的生成式對抗網(wǎng)絡

Zhao 等[19]提出了一種基于能量的生成對抗網(wǎng)絡(energy based generative adversarial networks,EBGAN),模型結構如圖5 所示。EBGAN 將判別器視為一個能量函數(shù),由一個自編碼器(auto-encoder)構成,與原始GAN 相比,不再依靠輸入圖像分布的差異來判斷真假,而是通過重構圖像質(zhì)量的高低來判斷。EBGAN訓練穩(wěn)定性更好,生成圖像分辨率更高,但仍存在收斂速度慢的缺點。

Fig.5 EBGAN model structure圖5 EBGAN 模型結構

2.1.4 組合生成式對抗網(wǎng)絡

為了解決一些過于復雜的問題,提出一種先將復雜問題拆分,然后逐個進行訓練的方法。該方法通過平移、堆疊或組合多個GAN 來實現(xiàn)。

(1)LAPGAN

為了生成高質(zhì)量自然圖像樣本,F(xiàn)acebook 等在CGAN 的基礎上進行了改進,提出LAPGAN(Laplacian generative adversarial networks)[20]。它是第一個使用拉普拉斯金字塔通過迭代方法從粗糙到精細的方式生成圖像的GAN。LAPGAN 使用高斯金字塔[21]進行下采樣,拉普拉斯金字塔[22]進行上采樣,用CGAN去實現(xiàn)各層之間的采樣,然后將這些CGAN 進行串聯(lián),通過連續(xù)堆疊CGAN 來逐級生成更清晰的圖像,模型的訓練過程如圖6 所示。LAPGAN 增強了GAN的學習能力,并且這種逐級獨立訓練的方式提高了網(wǎng)絡記憶輸入樣本的難度。

(2)StackGAN

通過文本描述合成高質(zhì)量圖像是計算機視覺的一個難題,為此,Zhang等[23]提出堆積生成式對抗網(wǎng)絡(stacked generative adversarial networks,StackGAN)模型,其本質(zhì)是兩層CGAN 的組合。它采用兩階段的生成方式:第一階段根據(jù)給定的文本描繪出圖像的基本輪廓和顏色,生成低分辨率圖像;第二階段,將第一階段生成的低分辨率圖像和文字描述作為輸入,校正第一階段結果中的缺陷,并在此基礎上添加一些細節(jié),生成高分辨率圖像。StackGAN 模型很好地穩(wěn)定了CGAN 的訓練,在生成基于文本描述的逼真的圖像方面取得了顯著改進。

StackGAN 與LAPGAN 的相似之處在于,都是通過先生成低分辨率圖像,然后不斷生成高分辨率圖像。StackGAN++(StackGAN-v1 and StackGAN-v2)[24]也是用于文本生成高分辨率圖像。文獻[25]引入了場景圖的概念,相比于StackGAN 和StackGAN++,它可以很好地處理更復雜的文本。

(3)Cycle-GAN

Zhu 等[26]于2017 年提出循環(huán)一致生成網(wǎng)絡(cycle generative adversarial networks,Cycle-GAN)。Cycle-GAN 實現(xiàn)了圖像從源域X到目標域Y的轉換,且不需要成對的圖片作為訓練數(shù)據(jù)。Cycle-GAN 的模型為環(huán)形結構,由兩個生成器和兩個判別器組成。X域的圖像由生成器G轉換成Y域的圖像,再通過生成器F將Y域的圖像重構回X域的原圖像;Y域的圖像由生成器F轉換成X域的圖像,再通過生成器G將X域的圖像重構回Y域的原圖像。由判別器Dx和Dy,判定圖像是否完成風格遷移。

Cycle-GAN 能學習到藝術作品和真實照片之間的映射關系和變換方法。它的缺點是雖然其循環(huán)機制能保證成像不會偏離太遠,但是循環(huán)轉換中會造成一定的信息丟失,使得生成圖像質(zhì)量不高。

(4)其他組合生成式對抗網(wǎng)絡

pix2pix[27]模型解決了有Pair對數(shù)據(jù)的圖像翻譯問題;與pix2pix 模型相比,Cycle-GAN 利用非成對數(shù)據(jù)也能進行訓練(unpaired data),而pix2pix 模型必須要求成對數(shù)據(jù)(paired data),需要搜集大量的一對一成對圖像。BiCycle-GAN(bicycle generative adversarial networks)[28]是pix2pix 的升級版,文章提出CLR-GAN(conditional latent regressor generative adversarial networks)結合VAE-GAN,在圖像變換生成的基礎上實現(xiàn)了多類風格的生成。StarGAN(star generative adversarial networks)[29]是將多領域轉換用統(tǒng)一框架實現(xiàn)的算法。Bicycle-GAN 和StarGAN 均參考了CGAN 的想法,但Bicycle-GAN 的輸入并不是特定的,而是隨機變量。Recycle-GAN(recycle generative adversarial networks)[30]則是通過在Cycle-GAN 上添加時間約束的一種新型無監(jiān)督視頻轉換方法。該方法可以實現(xiàn)在保持目標域風格不變的基礎上,將一個域的連續(xù)內(nèi)容遷移到另一個域中。這種內(nèi)容轉換和風格保存的概念更方便人們理解。

Fig.6 Learning process of LAPGAN model圖6 LAPGAN 模型學習過程

2.1.5 自我注意生成式對抗網(wǎng)絡

使用ImageNet 結構訓練的GAN 模型,在處理包含大量紋理(如毛發(fā))的圖像時表現(xiàn)優(yōu)異,但是在結構類型上的表現(xiàn)差強人意。為此,研究者提出應用注意力(attention)機制,使得被指定細化的區(qū)域擁有更大的感受視野。

(1)SAGAN

Zhang等[31]與GAN 的鼻祖Goodfellow 等搭建了一個提供注意力驅(qū)動、具有遠程依賴性的GAN 的變體,稱為自我注意生成對抗網(wǎng)絡(self-attention generative adversarial networks,SAGAN)。它將attention model中的self-attention 和原始GAN 結合在一起,實現(xiàn)應用低分辨率圖像中的所有特征點來生成高分辨率的細節(jié)特征,并在訓練過程中利用光譜歸一化來提升生成器的訓練效果。SAGAN 的生成網(wǎng)絡和判別網(wǎng)絡都采用注意力機制。

SAGAN 能夠很好地進行注意力驅(qū)動的遠程依賴關系建模,而且在生成圖像時也可以協(xié)調(diào)各個位置與遠端細節(jié)之間的關系,SAGAN 的判別器還可以更準確地實現(xiàn)對全局圖像結構的復雜幾何約束。

(2)BigGAN

為了解決從復雜的數(shù)據(jù)集成功生成高分辨率、多樣的樣本的難題,2018年誕生了BigGAN[32]。BigGAN是在SAGAN 的基礎上,用一組TPU,將精度作出了跨越式提升。BigGAN 的貢獻主要有:①在卷積層的設計上使用了更大的通道數(shù)(channel),使用了很大的batchsize,可以使GAN 獲得最大的性能提升;②通過使用截斷技巧(truncation trick),可以使模型性能得到提升,使訓練更加平穩(wěn),但是需要在樣本多樣性和保真度之間進行平衡;③通過現(xiàn)存的和其他新穎的各種技術的集合,可以保證訓練的平穩(wěn)性,但是精度也會隨之下降,需要在性能和訓練平穩(wěn)性之間進行平衡。BigGAN 也存在模型大、參數(shù)多、訓練成本高的缺點。

BiGAN(bidirectional generative adversarial networks)[33]使用對抗的方式聯(lián)合訓練了一個生成網(wǎng)絡與一個推斷網(wǎng)絡,對抗博弈在生成網(wǎng)絡G,推斷網(wǎng)絡E與判別網(wǎng)絡D之間展開。BigBiGAN(big bidirectional generative adversarial networks)[34]是基于BigGAN打造的,是BiGAN與BigGAN結合的產(chǎn)物。BigBiGAN使用了BigGAN 的生成網(wǎng)絡G和判別網(wǎng)絡D,并加入BiGAN 推斷網(wǎng)絡E的思想。

2.1.6 基于樣式的生成式對抗網(wǎng)絡

基于樣式的生成式對抗網(wǎng)絡(style-based generative adversarial networks,StyleGAN)[35]由英偉達的研究團隊提出。StyleGAN 為生成式對抗網(wǎng)絡提供了一種替代的生成器體系結構。StyleGAN由兩部分組成:(1)一個全連接網(wǎng)絡;(2)一個合成的網(wǎng)絡。StyleGAN通過創(chuàng)建一個生成器架構,來自動學習生成圖像中的高級屬性(如人臉對應的年齡、身份等)和隨機變量(人臉對應的雀斑、發(fā)髻線等),該網(wǎng)絡的生成網(wǎng)絡不僅能自動分離這些屬性,而且能用直觀的方式對生成的圖像進行控制,其模型如圖7 所示。

Fig.7 StyleGAN framework圖7 StyleGAN 框架

2.2 基于損失函數(shù)變體的衍生模型

2.2.1 最小二乘生成式對抗網(wǎng)絡

為了進一步改善GAN 訓練過程中梯度消失的問題,Mao等[36]提出最小二乘生成對抗網(wǎng)絡(least squares generative adversarial networks,LSGAN)。LSGAN將GAN 的判別網(wǎng)絡中的交叉熵損失函數(shù)用最小二乘損失函數(shù)替換。最小二乘損失的優(yōu)點是允許生成器生成的樣本在欺騙判別器的前提下,將生成的圖像從距離決策邊界比較遠拉向決策邊界,與原始GAN相比,LSGAN 生成了更高質(zhì)量的樣本,且訓練過程更加穩(wěn)定。

LSGAN 的缺陷在于它并沒有解決當判別器足夠優(yōu)秀時生成器發(fā)生梯度彌散的問題,因為按照WGAN的理論,最小二乘函數(shù)并不滿足lipschitz 連續(xù)性條件,它的導數(shù)沒有上界。

2.2.2 Wasserstein 生成式對抗網(wǎng)絡

(1)WGAN

為了解決原始GAN 的訓練梯度消失問題,Arjovsky 等提出了Wasserstein 生成式對抗網(wǎng)絡(Wasserstein generative adversarial networks,WGAN)[37]。WGAN 使用W(Wasserstein)距離代替JS(Jensen-Shannon)散度來計算生成樣本分布與真實樣本分布間的距離。WGAN 主要從損失函數(shù)的角度改進GAN,在GAN 的基礎上,判別器最后一層去掉sigmoid 函數(shù),生成器和判別器的損失函數(shù)不再取對數(shù),將更新后的權重強制截斷到一定范圍內(nèi),并且推薦使用SGD(stochastic gradient descent)、RMSprop(root mean square prop)等優(yōu)化器,而不使用如Adam(adaptive moment estimation)等基于動量的優(yōu)化算法。WGAN 解決了GAN 訓練不穩(wěn)定的問題,同時也從理論上解決了模式坍塌。該方法無需生成器和判別器在訓練過程中保持平衡,且能夠生成種類更豐富的圖像,保證了生成樣本的多樣性。

雖然WGAN 相對于GAN 有了很大的改進,但仍然存在訓練困難、收斂速度慢的問題。在限制權值的過程中,如果設計不恰當則會導致網(wǎng)絡發(fā)生梯度爆炸或梯度消失的現(xiàn)象。

(2)BEGAN

邊界平衡生成式對抗網(wǎng)絡(boundary equilibrium generative adversarial networks,BEGAN)[38]提出了一種新的生成器生成質(zhì)量評價方式。BEGAN 的主要思想是通過一個自動編碼器作為判別器D來生成一個新的損失函數(shù),實際的損失由W 距離(用于解決模型坍塌問題)和重構真實圖像與生成圖像的損失衍生而來。

前面介紹的DCGAN、WGAN 等都是希望G生成的圖像盡可能接近真實圖像。但是BEGAN 并不通過估計生成分布與真實分布的差距來判斷,而是通過估計生成數(shù)據(jù)分布與真實數(shù)據(jù)分布之間的誤差來判斷。BEGAN 給出了一種用于權衡圖像多樣性與視覺質(zhì)量的思路,通過提供一個超參數(shù),在訓練過程中平衡了生成器和鑒別器,這在一定程度上解決了模式坍塌和訓練不平衡的問題。

(3)WGAN-GP

針對WGAN存在的問題,Gulrajani等[39]在WGAN的基礎上引入梯度懲罰(gradient penalty),提出了WGAN-GP(Wasserstein generative adversarial networksgradient penalty)。WGAN-GP 拋棄了WGAN 中的weight clipping,直接將判別器的梯度作為正則項加入到判別器的損失函數(shù)中,即以梯度懲罰代替了權重的截取操作,最終損失函數(shù)變?yōu)椋?/p>

式中,Pg表示發(fā)生器分布,Pr表示數(shù)據(jù)分布,表示沿成對的點對之間的直線均勻采樣,λ表示懲罰系數(shù)(文中都使用λ=10)。WGAN-GP 解決了梯度消失/爆炸的問題,同時能生成更高質(zhì)量的樣本。但在實驗中發(fā)現(xiàn)該方法收斂速度慢,在同一數(shù)據(jù)集下,WGAN-GP 需要訓練更多次數(shù)才能收斂。

2.3 其他GAN 的衍生模型

f-GAN(f-divergence generative adversarial networks)[40]是Nowozin 等為了解決關于損失函數(shù)的度量問題,給出的通過一般的f散度構造一般的GAN 的方案。2017 年,由Ledig 等[41]提出的超分辨率生成對抗網(wǎng)絡(super resolution generative adversarial networks,SRGAN),是使用低分辨率(low resolution,LR)圖像生成高分辨率(high resolution,HR)圖像,再由判別網(wǎng)絡判定圖像的真假,通過引進損失感知函數(shù)(perceptual loss),提升超分辨率之后的信息。2018 年,Wang等[42]在SRGAN 的基礎上進行改進,產(chǎn)生了增強版的SRGAN,稱之為ESR-GAN(enhanced SRGAN)。這種改進包括:(1)網(wǎng)絡結構;(2)判決器的判決形式;(3)感知域損失。Volkhonskiy 等[43]將GAN 引進信息隱藏中,提出SGAN(steganographic generative adversarial networks)。SGAN 可以成功地欺騙現(xiàn)有的隱寫分析工具,使更多的信息使用標準的隱寫算法嵌入,為深度學習在隱寫領域提供了研究方向。在SGAN基礎上,SSGAN(secure steganography based on generative adversarial networks)[44]被提出,該方法可以看成是SGAN與WGAN的結合,由一個生成網(wǎng)絡G和兩個判別網(wǎng)絡D構成,增加的判別器采用GNCNN(Gaussianneuron convolutional neural network)[45]。SSGAN 模型生成的圖片質(zhì)量更高,收斂速度和訓練速度也更快,系統(tǒng)的穩(wěn)定性相比于SGAN也得到了提升。在SGAN和SSGAN 的基礎上,StegoWGAN(information hiding scheme based on generative adversarial networks)[46]又進行了新的隱寫方式的探究,該方法將秘密信息和真實的數(shù)據(jù)集同時輸入到判別器中進行鑒別,判別器則是沿用GNCNN。

2.4 GAN 與其他生成模型的比較

在GAN 誕生以前已經(jīng)出現(xiàn)了很多生成網(wǎng)絡模型,GAN 與其他生成網(wǎng)絡模型相比存在一定的優(yōu)勢和劣勢,表2 將GAN 與其他生成模型進行比較,以便更好地理解并運用它們。

表3 給出了一些典型GAN 模型的對比。

3 GAN 在圖像生成中的應用

生成對抗網(wǎng)絡彰顯出了強大的建模能力,發(fā)明伊始,就在為圖像生成方面做貢獻,目前已經(jīng)被科學界廣泛應用于眾多工程應用和學術研究,以解決一些實際問題。

3.1 圖像合成

當需要生成的圖像受到某些限制時,GAN 可以很好地發(fā)揮作用。GAN 在圖像生成領域一個很重要的核心應用是圖像合成。圖像合成在場景、人臉、文字表述合成等方面取得了成效。GAN 能夠從大量的無標簽數(shù)據(jù)中無監(jiān)督地進行學習,隨著GAN 的不同衍生模型的提出,合成圖像的質(zhì)量也逐年增加,并且誕生了BigGAN、WGAN、WGAN-GP 等佼佼者。在場景合成方面,Santana 等[47]利用GAN 合成與真實交通場景一致的路況圖像,這一技術為無人駕駛技術的研發(fā)提供了數(shù)據(jù)集;在人臉合成方面,TPGAN(two pathway generative adversarial networks)[48]利用半邊人臉合成整張人臉的前向圖,這一貢獻為人臉識別技術的研發(fā)提供了輔助;在文字表述合成方面,Reed等[49]使用LAPGAN 模型實現(xiàn)了從文字表述來合成若干和此描述匹配的圖像;在其他一些具有特殊要求的圖像合成方面,趙樹陽等[50]提出LR-GAN(layered recursive generative adversarial networks)用以合成高質(zhì)量的低秩圖像,有效地處理了不具有明顯低秩紋理特性圖像的校正問題。此外,GAN 還允許直觀地編輯圖像。文獻[51]和文獻[52]提供了GAN 在圖像合成領域的更多應用。

3.2 圖像補足(小樣本)

隨著云時代的來臨,大數(shù)據(jù)技術吸引了越來越多的關注。深度學習的發(fā)展勢必依賴于大量可靠的數(shù)據(jù)集和計算機運算速度的提升,并在近年來獲得了飛速的發(fā)展。以往數(shù)據(jù)集的采集需要花費過多的人力、物力,增加了科研的前期投入,對已有數(shù)據(jù)集樣本進行的翻轉、壓縮等措施,訓練程度有限,并沒有達到真正大幅度擴充數(shù)據(jù)集的效果。GAN 的誕生打破了這一定勢,通過對已經(jīng)采集到的小樣本進行訓練來生成更多的圖像拓展數(shù)據(jù)集,提高了對小樣本數(shù)據(jù)的“加工能力”,通過“加工”實現(xiàn)數(shù)據(jù)的“增值”。

Table 2 Comparison of GAN with other generative models表2 GAN 與其他生成模型的對比

3.3 圖像修復(分辨率)

基于圖像生成,通過向GAN 輸入低分辨率圖像,生成具有超高分辨率且?guī)в星逦毠?jié)信息的圖像,SRGAN 是這一方面的佼佼者,可以生成質(zhì)量很好的圖像。此外,GAN 在圖像修復領域的應用,使得修復

后的圖像質(zhì)量有了顯著提升。GAN 能夠?qū)θ笔У膱D像進行補全和修復,文獻[53]提出了一種用于人臉補全的GAN,由一個生成器、兩個判別器和一個解析網(wǎng)絡構成,這種方法展示了其高質(zhì)量的補全技術,圖8[54]展示了圖像修復的效果。文獻[55]也提出了利用GAN 完成超分辨率重建的方法。以上幾種基于圖像生成的應用,較好地恢復了低分辨率圖像的微小信息,為磨損的老照片的復原提供了可能。

Table 3 Comparison of typical GAN models表3 典型GAN 模型的對比

Fig.8 Effect of image inpainting圖8 圖像修復效果

3.4 圖像翻譯(風格轉換)

由于GAN 在無監(jiān)督學習和生成隨機樣本方面的優(yōu)勢,使得GAN 在圖像翻譯和風格轉換領域取得了豐碩的成果[56-57]。圖像“翻譯”即將輸入圖像轉換成對應的不同形式的輸出圖像,例如畫家手中的畫作經(jīng)GAN 處理后,轉換成照片樣式的圖像。這一技術被廣泛應用于計算機圖形、圖像處理和計算機視覺等領域。GAN 家族中的CGAN[9]使用成對的數(shù)據(jù)來實現(xiàn),但是成對的數(shù)據(jù)有時候并不容易獲得。為了解決這一問題,Zhu等[26]采用CycleGAN。此外,Bicycle-GAN[28]也實現(xiàn)了“圖像-圖像”的翻譯。

3.5 圖像預測

Liang等[58]提出的采用雙重對抗訓練機制的GAN結構,可以使預測的將來幀與視頻中的像素流相一致,通過將初始的將來幀預測和雙重的將來幀預測搭建為閉環(huán),并相互傳遞反饋信號來實現(xiàn)更好的預測效果。Tulyakov 等[59]提出的MoCoGAN(motion and content decomposed generative adversarial networks)則可以通過分解動作和內(nèi)容來生成視頻,該方法通過將隨機向量的序列映射到視頻幀序列來實現(xiàn)。

3.6 其他

Zhang 等[60]使用不成對的訓練數(shù)據(jù)合成逼真的3D 圖像,通過使用合成方法改進體積分割培訓樣本有限的模態(tài)數(shù)據(jù)完成了圖像分割,并在3D 心血管數(shù)據(jù)集上進行了大量實驗,驗證了該方法的有效性和優(yōu)越性。Chen等[61]研究了圖像去噪問題,通過訓練生成對抗網(wǎng)絡估計輸入噪聲圖像上的噪聲分布并生成噪聲樣本,并用采樣的噪聲補丁構建數(shù)據(jù)集,將其用于訓練CNN 進行降噪,實現(xiàn)了從嘈雜的圖像中消除未知噪聲的目的。Cheng 等[62]利用生成對抗網(wǎng)絡實現(xiàn)了圖像壓縮,并用實驗驗證了GAN 在大壓縮比和高主觀質(zhì)量重構方面的潛在優(yōu)勢。Gadelha 等[63]提出投影生成對抗網(wǎng)絡(projective generative adversarial networks,PrGAN),通過訓練3D 形狀的深層生成模型,使其與輸入2D 視圖的分布相匹配。該模型可以推斷基本的3D 形狀分布,而無需在學習階段使用任何注釋。該模型允許以完全不受監(jiān)督的方式預測3D視點并從輸入圖像生成新穎的視圖。李慶忠等[64]對傳統(tǒng)的CycleGAN 進行了改進,提出基于改進循環(huán)一致性生成對抗網(wǎng)絡,這一算法增強了圖像對比度,針對性解決了水下觀測圖像的顏色失真和散射模糊問題。孫曉等[65]利用改進的StarGAN 提出了人臉表情數(shù)據(jù)增強的方法,提高了模型的泛化能力。

不僅如此,GAN還被用于隱私保護[6]、目標檢測跟蹤[66]、智能交通[5]、語音和語言領域[4]、文本領域[67]等。

4 GAN 的評價指標

隨著GAN 的不斷發(fā)展,其衍生模型越來越多,且不同網(wǎng)絡結構下的GAN 模型生成圖片的效果并不一致,如何對GAN 網(wǎng)絡生成的圖像進行有效的評價是GAN 研究的重要課題之一。

目前比較常用的GAN 評價指標主要為IS(inception score)[68]和FID(Fréchet inception distance)[69]。IS利用一個已經(jīng)訓練好的網(wǎng)絡(如Inception Net-V3),從生成圖片的多樣性和生成圖片質(zhì)量兩方面對生成的圖像進行打分。如果生成圖片具有較好的多樣性,分類網(wǎng)絡得到的輸出結果應當較為均勻,輸出的標簽熵值較大;另一方面,若生成的圖像具有較高的質(zhì)量,每張圖片經(jīng)過分類網(wǎng)絡所得到的標簽應當趨于one-hot 分布,該標簽的熵相對較小。IS 的計算公式如下:

其中,DKL表示KL 散度,其代表了兩個分布的差值,KL 散度越大則表明兩個分布相差越大,反之則越小。p(y|x)表示已知輸入x后標簽y的分布,p(y)表示生成標簽的分布。得到的IS 取值越小,則表明網(wǎng)絡生成圖像質(zhì)量越高。

但是IS 自身存在一定的缺陷,其本身依賴于訓練好的分類網(wǎng)絡,對于分類網(wǎng)絡中不存在的物體,IS并不能給出合理的評價,而且受到其本身算法的限制,IS 對于過擬合(p(y|x)的值很小,導致IS 值較大)和模式坍塌(類別較多,p(y)值偏大導致IS 較大)的問題可能會無法檢測。且IS 的計算過程中也沒有考慮數(shù)據(jù)集的分布。在IS 的基礎上還出現(xiàn)了幾種改良方案,例如mode score[70]、modified inception score[71],但是這些方案都只做出了部分改良,仍然無法解決上述所有問題。

FID[69]是另一個常用于GAN 網(wǎng)絡生成圖片的評價方法。該方法同樣將生成的圖片放入分類器中,與IS 不同的是,F(xiàn)ID 不再取最后一層輸出層作為生成圖像質(zhì)量的運算依據(jù),而是抽取了輸出層之前的全連接層進行考察。當兩個分布越接近時,其在特征層輸出也是越近似的。FID 考察了生成圖片與真實圖片在特征層之間的距離,其公式如下:

其中,μr表示真實圖片的特征的均值,μg表示生成圖片的特征的均值,Σr表示真實圖片的特征的協(xié)方差矩陣,Σg表示生成圖片的特征的協(xié)方差矩陣。計算得到的FID 越小則表明生成圖片的質(zhì)量越高。經(jīng)實踐證明,該方法具有較好的魯棒性,也可以解決模式坍塌的問題,但是對于大規(guī)模數(shù)據(jù)集上出現(xiàn)的過擬合的問題仍舊無法解決。

除了上述兩種評價方法之外,MMD(maximum mean discrepancy)[72]、Wasserstein 距離[73]、SSIM(structural similarity)[74]等方法也可以用于GAN 生成圖片的評價,但是這些方法或多或少都存在一些自身的問題。IS 的使用較為廣泛,而FID 具有較好的魯棒性,對生成圖片沒有特殊評價指標要求的前提下,這兩種評價方法仍是目前GAN 生成圖片的主流評價方法。

5 總結與展望

GAN 模型的改進為解決數(shù)據(jù)集不足、特征提取困難、生成樣本像素低等問題提供了行之有效的解決方案,短短幾年內(nèi)就取得了長足的進展?;谏蓪咕W(wǎng)絡的圖像生成,自誕生之日起一直致力于解決訓練的穩(wěn)定性,改善“模式坍塌”現(xiàn)象和梯度消失問題,找尋合適的評價體系等,并由此誕生了一系列GAN 的衍生物。雖然這些改進后的衍生物取得了一系列成果,但GAN 仍然存在許多亟待解決的問題:

(1)GAN 模型的相互博弈過程容易造成訓練不穩(wěn)定,使得訓練難以收斂。文獻[37]使用W 距離代替?zhèn)鹘y(tǒng)GAN 中的JS 散度,雖然解決了GAN 訓練不穩(wěn)定的問題,但如果參數(shù)設置不合理容易導致梯度消失/爆炸,對權值不恰當?shù)募糁斐商荻葟浬?。因此,有待提出更好的方案?/p>

(2)模式坍塌被認為是應用GAN 進行圖像生成時最難解決的問題之一,它會造成訓練結果冗余、生成圖像質(zhì)量差、樣本單一等問題。文獻[75]試圖采用多個GAN 的變種來覆蓋概率分布的不同模式,但是這種方法增加了訓練量。文獻[36]提出的方法不需要G和D在訓練過程中保持平衡,從理論上解決了“模式坍塌”現(xiàn)象,保證了生成樣本的多樣性,但要想從實際上解決“模式坍塌”現(xiàn)象,有待提出更優(yōu)的模型。

梯度消失是由鏈式法則的乘法特性引起的,當用BP 算法訓練深度神經(jīng)網(wǎng)絡時,梯度反向傳播到淺層網(wǎng)絡基本上不會引起數(shù)值上的擾動,最終導致神經(jīng)網(wǎng)絡收斂很慢甚至不收斂。因此,對這一問題的研究有待進一步突破。

(3)評價機制不夠完善。Lucic 等[76]對GAN 的變種進行比較后發(fā)現(xiàn),并不存在一個具有普適性且性能優(yōu)越的GAN,不同變種的GAN 擁有與其適配的應用場景,不同GAN 之間訓練時間的長短并不能作為它的評價標準。根據(jù)評價標準的不同、場景的不同,效果差的算法也有用武之地。

目前對GAN 的評估也有一些方法:MS-SSIM 法(multiscale-structural similarity index,單獨評估多樣性)、AIS 法(annealed importance sampling,對輸出建立高斯觀測模型,并估計相應的對數(shù)似然函數(shù))、幾何分數(shù)法(計算生成數(shù)據(jù)的幾何屬性,并與原始數(shù)據(jù)進行比較)以及inception score 和FID。文獻[37]的結果表明,Kernel MMD(maximum mean discrepancy kernel)和1-NN(1-nearest neighbor)雙樣本檢驗方法能夠有效區(qū)分真假。但這些方法都沒有得到學術界廣泛的認可。從GAN 的評測體系角度看,目前還沒有一個統(tǒng)一的、適用于所有模型的方式,因此采用更加通用化的評價指標進行科學評估,有待研究者們進一步研究。

(4)可解釋性差。GAN 同其他神經(jīng)網(wǎng)絡類模型一樣,也存在可解釋性差的問題[77],目前圖像生成的研究主要建立在深度學習領域積累的經(jīng)驗之上,GAN 在圖像生成領域的應用,仍缺乏一定的理論研究與支撐。

針對以上問題,目前科學界主流的解決辦法有:

(1)針對GAN 模型訓練過程不穩(wěn)定的問題,提出利用不同的損失函數(shù)(如利用W 距離替代JS 散度,或使用均方損失(mean squared loss)替代對數(shù)損失等)進行訓練,或?qū)⒉煌膿p失函數(shù)進行拼接、遷移、交叉或重組,以完成網(wǎng)絡的穩(wěn)定訓練。此外,SAGAN[31]中提到的TTUR(two timescale update rule)方法,通過將高低速更新規(guī)則分別應用到判別網(wǎng)絡D和生成網(wǎng)絡G,維持了D和G以1∶1 的速度更新。Relativistic GAN(relativistic generative adversarial networks)[78]是對測試“相對真”的一種嘗試,有別于傳統(tǒng)GAN 測量生成樣本是否為真的概率,Relativistic GAN 將關注點放在測量生成樣本比真實樣本“更真”的概率,這一嘗試使得GAN 獲得了更好的收斂性。

(2)緩解GAN 模式坍塌問題的方式有很多,對此有以下幾條主流的思路:

一種代表方法是MAD-GAN(multivariate anomaly detection generative adversarial networks)[79],即通過采用多個GAN 的變種彼此“聯(lián)系”來覆蓋概率分布的不同模式,如采用m個不同的生成網(wǎng)絡G產(chǎn)生虛假樣本欺騙1 個判別網(wǎng)絡D,再由該判別網(wǎng)絡區(qū)分樣本來源并驅(qū)使各個生成網(wǎng)絡產(chǎn)生不同的樣本,在這方面的應用如Progressive GAN[80]。

另一種思路是展開和打包。如可以在更新參數(shù)時進行預期對抗(anticipate counterplay),使用展開的GAN(unrolled GAN)[81]綜合考慮當前狀態(tài)和K次更新后的狀態(tài)做出最優(yōu)解,增加生成網(wǎng)絡G更新參數(shù)時的“預判”能力,但該方法會使計算量加大;文獻[82]則是把多個屬于同一類的樣本打包(packing)后傳遞給判別網(wǎng)絡D。

此外,DRAGAN(deep regret analytic generative adversarial networks)[83]提出GAN 在訓練過程中容易進入局部納什均衡點,也是造成模式坍塌的一個原因。對此,在判別器的訓練樣本附近引入梯度懲罰項,以此來找尋全局最優(yōu)解,能夠得到更快更穩(wěn)定的訓練。

還有一些其他的方法,WGAN 使用W 距離代替JS 散度,從理論上解決了模式坍塌。文獻[84]另辟蹊徑提出的D2GAN(dual discriminator generative adversarial networks)包含兩個判別網(wǎng)絡,判別器1 鑒別符合真實分布的數(shù)據(jù),判別器2 鑒別樣本來自生成分布的概率,結合KL 和反向KL 散度生成一個目標函數(shù),利用兩種散度的互補統(tǒng)計特性緩解模式坍塌。

以上幾種方法相比較而言,MAD-GAN和D2GAN均致力于網(wǎng)絡結構的調(diào)整,Unrolled GAN 致力于提高網(wǎng)絡的“先驗”能力,DRAGAN 將重點放在找尋全局最優(yōu)(解決局部納什均衡點)上。其中,D2GAN 所截取的數(shù)據(jù)比Unrolled GAN 更精確,特殊的網(wǎng)絡結構使它能夠產(chǎn)生比Unrolled GAN 更多的樣本,其生成樣本的質(zhì)量和多樣性遠超基礎GAN,并可擴展到ImageNet數(shù)據(jù)庫。這些方法在緩解模式坍塌的同時,也都存在一些自身的不足:MAD-GAN和Unrolled GAN大大增加了計算量因此無法將其擴展到ImageNet 數(shù)據(jù)庫上。WGAN 存在訓練困難、收斂速度慢的問題。DRAGAN 在訓練樣本附近增加梯度懲罰的方法缺乏一定的理論支撐。

針對梯度消失的問題,可以在損失函數(shù)中加入梯度懲罰機制[37]來緩解,但要想從根本上解決這些現(xiàn)象,還需要提出新的網(wǎng)絡結構與算法模型。

(3)針對評價機制不夠完善和可解釋性差的問題,需要不斷地從理論的角度逐步深入開展GAN 模型的算法結構、性能、機制等研究,統(tǒng)一GAN 的評價體系,提高GAN 的研究效率和質(zhì)量。

隨著生成網(wǎng)絡的不斷推陳出新,對GAN 提出了更深層次的要求,未來的研究方向包括:

(1)可以考慮如何將GAN 應用到一些更廣泛的領域,如人眼無法分辨的圖像、數(shù)據(jù)的壓縮、自然語句生成等。未來致力于把GAN 用在更多場景,解決實際問題(如智能教育、智能交通等領域),可能是更有意義的事情。

(2)針對GAN 模型訓練穩(wěn)定性的研究,如果能夠構建出超級穩(wěn)健的GAN 模型,就可以將這些模型應用到對安全性要求極高的系統(tǒng)中,這將是巨大的進步,因為它表征著AI可以更廣泛、更安全、更可靠。

(3)從結構方面來看,DCGAN 等一系列GAN 的衍生模型提供了一種思路,將GAN 與機器學習中最新的理論成果進行交叉訓練,引入遷移學習、強化學習等,使GAN 與計算機圖形學等技術更好地融合,有望成為下一步的研究熱點。

(4)目前圖像生成技術想要落地,勢必要根據(jù)需求調(diào)整模型的大小,結合基于“知識蒸餾”的模型壓縮方法,進行匹配需求的優(yōu)化和壓縮,內(nèi)嵌入小型軟件中,習得更多的更廣泛的應用領域,這有待研究者們的進一步研究。

猜你喜歡
樣本函數(shù)圖像
攝像頭連接器可提供360°視角圖像
淺析p-V圖像中的兩個疑難問題
規(guī)劃·樣本
人大專題詢問之“方城樣本”
隨機微分方程的樣本Lyapunov二次型估計
關于函數(shù)的一些補充知識
高中數(shù)學中二次函數(shù)應用舉隅オ
無獨有偶 曲徑通幽
名人語錄的極簡圖像表達
“官員寫作”的四個樣本