汪美琴,袁偉偉,張繼業(yè)
(1.中國(guó)航天科工集團(tuán)第二研究院 七〇六所,北京 100854;2.中國(guó)人民解放軍 32180部隊(duì),北京 100012)
隨著科技的進(jìn)步和智能化技術(shù)的發(fā)展,國(guó)內(nèi)外都掀起了“智能化”的狂潮,人工智能和深度學(xué)習(xí)成為最近幾年的熱詞。一般來(lái)說(shuō),根據(jù)數(shù)據(jù)集是否被標(biāo)注,機(jī)器學(xué)習(xí)算法大致可以分為監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)兩類[1]。有監(jiān)督學(xué)習(xí)需要依賴已知帶標(biāo)記的數(shù)據(jù),雖然取得了不錯(cuò)的成績(jī),但是成本較高,因此無(wú)監(jiān)督學(xué)習(xí)受到了越來(lái)越多的關(guān)注[1]。在無(wú)監(jiān)督學(xué)習(xí)任務(wù)中,生成模型是最有前途的技術(shù)之一,早期的生成模型有受限玻爾茲曼機(jī)、深度信念網(wǎng)絡(luò)、變分自動(dòng)編碼器、深度玻爾茲曼機(jī)等,然而由于泛化性沒(méi)有很好,影響了它們的性能和結(jié)果。Goodfellow等[2]引入了生成模型領(lǐng)域的一個(gè)新概念,即生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GAN),它是一種類似于對(duì)抗博弈游戲的訓(xùn)練網(wǎng)絡(luò),來(lái)源于博弈論中的二人零和博弈思想,通過(guò)讓兩個(gè)神經(jīng)網(wǎng)絡(luò)相互博弈的方式進(jìn)行學(xué)習(xí),在不斷地優(yōu)化迭代之后,使模型達(dá)到最優(yōu),即納什平衡狀態(tài)。GAN作為一種新興的無(wú)監(jiān)督學(xué)習(xí)的生成模型一經(jīng)提出便備受關(guān)注,在許多領(lǐng)域使用GAN的愿望也越來(lái)越大[3]。迄今為止,GAN在圖像生成、語(yǔ)音合成、目標(biāo)檢測(cè)、風(fēng)格遷移、隱私保護(hù)等方面已經(jīng)有一些研究和應(yīng)用。
本文首先介紹了基本GAN模型的結(jié)構(gòu)和優(yōu)點(diǎn),并分析了其存在的問(wèn)題,接著對(duì)GANs的衍生模型進(jìn)行了總結(jié)歸納,隨之對(duì)其在不同領(lǐng)域尤其是計(jì)算機(jī)視覺(jué)和信息安全領(lǐng)域的潛在應(yīng)用進(jìn)行了綜述,最后對(duì)GAN未來(lái)的發(fā)展趨勢(shì)和研究提出了一些展望。
生成對(duì)抗網(wǎng)絡(luò)由兩個(gè)重要部分組成,即判別器D和生成器G,生成器G通過(guò)機(jī)器生成數(shù)據(jù),目的是學(xué)習(xí)真實(shí)樣本的分布,生成相似度逼近真實(shí)樣本的偽樣本[4],而判別器D的作用是區(qū)分從數(shù)據(jù)獲取的真實(shí)樣本和由生成器G生成的偽樣本。兩個(gè)模型通過(guò)不斷地對(duì)抗訓(xùn)練來(lái)迭代優(yōu)化,使生成器G生成的數(shù)據(jù)分布最大可能接近于真實(shí)數(shù)據(jù)分布,當(dāng)判別器D每次輸出的概率基本為1/2,即判別器相當(dāng)于隨機(jī)猜測(cè)樣本是真是假,便說(shuō)明模型達(dá)到了納什均衡,即最優(yōu)狀態(tài),這就是GAN的對(duì)抗性思想,如圖1所示為GAN的模型結(jié)構(gòu),GAN模型的訓(xùn)練過(guò)程可以分為3個(gè)階段,第一階段:固定判別器D,訓(xùn)練生成器G,第二階段:固定生成器G,訓(xùn)練判別器D,然后循環(huán)階段一和階段二,不斷進(jìn)行訓(xùn)練。
圖1 基本GAN模型結(jié)構(gòu)
形式上,生成器G和判別器D的優(yōu)化過(guò)程可以定義為二元極小極大博弈問(wèn)題,其目標(biāo)函數(shù)如下所示
式中:Pdata(x)代表真實(shí)的數(shù)據(jù)分布,Pz(x)代表生成的數(shù)據(jù)分布,訓(xùn)練生成器以最小化目標(biāo)函數(shù),而訓(xùn)練判別器以使其最大化,最終使生成器生成類似于真實(shí)數(shù)據(jù)的數(shù)據(jù)[5]。
由于生成器是一個(gè)簡(jiǎn)單的、確定的前饋網(wǎng)絡(luò)[6],因此GAN可以用簡(jiǎn)單的方式對(duì)生成的數(shù)據(jù)進(jìn)行采樣,而無(wú)需利用馬爾科夫鏈和變分界線,也無(wú)需在學(xué)習(xí)過(guò)程中進(jìn)行推斷,因此在采樣上計(jì)算較快且準(zhǔn)確率較高。此外,GAN模型可以并行生成樣本,而無(wú)需利用與輸入維數(shù)成比例的運(yùn)行時(shí)間。再者,GAN能夠更好建立數(shù)據(jù)分布的模型,且已廣泛應(yīng)用于圖像處理領(lǐng)域,因?yàn)槭聦?shí)證明能夠很好的與圖像配合使用[7],能生成更清晰逼真銳利的圖像。理論上,GAN能夠訓(xùn)練任何一種生成器網(wǎng)絡(luò),具有更加靈活的框架,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)需要構(gòu)建一個(gè)損失函數(shù)相比,GAN可以學(xué)習(xí)損失函數(shù)。
盡管GAN有許多優(yōu)點(diǎn),但是出于訓(xùn)練的目的,如何尋找納什平衡解是一個(gè)挑戰(zhàn)和難點(diǎn),在實(shí)際訓(xùn)練中容易出現(xiàn)判別器D收斂、生成器G發(fā)散的現(xiàn)象,兩個(gè)網(wǎng)絡(luò)之間很難出現(xiàn)很好的同步,因此GAN面臨著難訓(xùn)練、不穩(wěn)定的問(wèn)題。
GAN存在模式崩潰現(xiàn)象,當(dāng)生成器G學(xué)習(xí)到一個(gè)參數(shù)設(shè)置,可以生成對(duì)判別器D而言特別逼真的樣本,由于此樣本很容易騙過(guò)判別器D,所以生成器G可能會(huì)一次又一次的生成相同的偽樣本,最終始終生成同樣的樣本點(diǎn),出現(xiàn)模式缺失,無(wú)法繼續(xù)學(xué)習(xí)。
梯度消失也是GAN存在的問(wèn)題之一,如果判別器D始終能夠正確判斷真實(shí)樣本為真和生成樣本為假,那么無(wú)論生成器G生成的樣本多么好,判別器D都可以把它們分類為假樣本,此時(shí)損失降為零,導(dǎo)致生成器G沒(méi)有學(xué)習(xí),就產(chǎn)生了梯度消失現(xiàn)象。
針對(duì)基本GAN模型存在的難訓(xùn)練、不穩(wěn)定、梯度消失、模式崩潰等問(wèn)題,研究者們采用了許多方法去加以改進(jìn)以期望解決這些問(wèn)題,也隨之出現(xiàn)了越來(lái)越多的衍生模型,有基于目標(biāo)函數(shù)進(jìn)行優(yōu)化的,有基于架構(gòu)進(jìn)行優(yōu)化的,這些方法雖然取得了一定的效果,但也是有著一定的代價(jià)的,接下來(lái)是具體的幾種改進(jìn)方式。
上文提到,生成器的目標(biāo)是生成與真實(shí)數(shù)據(jù)分布接近的數(shù)據(jù),GAN的實(shí)質(zhì)是生成器和判別器的對(duì)抗博弈問(wèn)題,那么目標(biāo)函數(shù)就是影響到基本GAN模型的直接因素。最初的GAN是通過(guò)最小化Jensen-Shannon(JS)散度來(lái)實(shí)現(xiàn)的,以最小化生成器的損失函數(shù)[1],然而JS散度由于其自身函數(shù)域的問(wèn)題,容易在訓(xùn)練中發(fā)生梯度消失的現(xiàn)象,導(dǎo)致生成數(shù)據(jù)真實(shí)數(shù)據(jù)分布差異較大。為了解決這類問(wèn)題,文獻(xiàn)[8]提出了f-GAN,認(rèn)為可以根據(jù)任意凸函數(shù)下的f-散度來(lái)構(gòu)建GAN的目標(biāo)函數(shù),達(dá)到增強(qiáng)GAN穩(wěn)定性的效果,但是實(shí)驗(yàn)結(jié)果表明,f-GAN的結(jié)果具有較大的不確定性,更多的是一種推論,大部分問(wèn)題仍然沒(méi)有得到解決。
為了避免使用JS散度造成的梯度為0的問(wèn)題,文獻(xiàn)[9]提出了LSGAN(least square GAN),使用最小二乘損失函數(shù)代替?zhèn)鹘y(tǒng)GAN模型中的交叉熵?fù)p失函數(shù),在判別器達(dá)到最優(yōu)的時(shí)候,將生成器優(yōu)化的目標(biāo)變成了皮爾森卡方散度,解決了GAN模型中梯度消失的問(wèn)題,并且在整個(gè)學(xué)習(xí)過(guò)程中比基本GAN模型更加穩(wěn)定。但盡管如此,LSGAN使用的還是屬于f-散度,在衡量?jī)蓚€(gè)分布的相似程度時(shí),仍然避不開(kāi)零測(cè)集的問(wèn)題,訓(xùn)練依然有可能不穩(wěn)定。
針對(duì)散度距離問(wèn)題,以及訓(xùn)練不穩(wěn)定的情況,文獻(xiàn)[10]提出了WGAN(Wasserstein GAN),它沒(méi)有使用Jen-sen-Shannon(JS)散度,而是使用Earth-Mover距離來(lái)計(jì)算真實(shí)數(shù)據(jù)的概率分布與生成數(shù)據(jù)的相似度,能夠解決訓(xùn)練不穩(wěn)定、梯度消失的問(wèn)題,但是由于判別器使用了權(quán)值裁剪的方法,WGAN有可能出現(xiàn)產(chǎn)生的數(shù)據(jù)樣本質(zhì)量較低,甚至在收斂過(guò)程中有時(shí)會(huì)失敗的問(wèn)題。
基于WGAN的不足,文獻(xiàn)[11]提出了WGAN-GP,通過(guò)用懲罰機(jī)制代替了權(quán)重裁剪以強(qiáng)制執(zhí)行Lipschitz約束,以此來(lái)解決WGAN中權(quán)重剪裁導(dǎo)致的梯度消失、參數(shù)不集中等問(wèn)題,相比WGAN有更好的穩(wěn)定性和更多的多樣性,但是該方法收斂速度慢,可能需要訓(xùn)練多次才能達(dá)到收斂狀態(tài)。此外,文獻(xiàn)[12]提出了WGAN-LP,它使用了一個(gè)新的懲罰項(xiàng)來(lái)實(shí)施Lipschitz約束,能夠進(jìn)一步提高網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性[1],但是梯度懲罰增加了計(jì)算復(fù)雜度。
為了使模型訓(xùn)練更加穩(wěn)定,與WGAN類似,均值和協(xié)方差特征匹配GAN(McGAN[13])引入了新的積分概率度量標(biāo)準(zhǔn)(integral probability metrics,IPM)進(jìn)行訓(xùn)練[14],對(duì)判別器的二階矩陣進(jìn)行了約束,但是由于裁剪的使用最終限制了模型的容量,且需要張量分解,因此難以擴(kuò)展到高階矩匹配。
雖然采用目標(biāo)函數(shù)優(yōu)化的方法,能夠有效改善基本GAN模型梯度消失、訓(xùn)練不穩(wěn)定等問(wèn)題,但是這些方法或多或少都存在一些缺陷,于是研究者們從架構(gòu)的角度進(jìn)行考慮和優(yōu)化,與其它的模型和算法進(jìn)行結(jié)合,并取得了一些成果,下面將列舉一些常見(jiàn)的優(yōu)化變體。
2.2.1 基于條件優(yōu)化的GANs
為了控制基本GAN模型生成過(guò)程過(guò)于自由的問(wèn)題,文獻(xiàn)[15]提出了條件生成對(duì)抗網(wǎng)絡(luò)(CGAN),在基本GAN模型的基礎(chǔ)上增加了約束條件,提供了一個(gè)附加參數(shù)(標(biāo)簽)和潛在空間來(lái)改變生成器,判別器則以真實(shí)圖像和標(biāo)簽作為輸入,這種改進(jìn)使得網(wǎng)絡(luò)能夠朝著既定的方向生成樣本。但是CGAN僅僅是添加了約束條件,模型訓(xùn)練的穩(wěn)定性仍然是不足的。
輔助分類器GAN(auxiliary classifier GANs,ACGAN[16]),在基本GAN模型的基礎(chǔ)上增加了一個(gè)分類器能夠?qū)︻悇e標(biāo)簽進(jìn)行分類,從而達(dá)到輔助訓(xùn)練的目的,能夠以半監(jiān)督的方式生成多樣化和高分辨率的可分辨圖像,但是當(dāng)訓(xùn)練數(shù)據(jù)較少時(shí),訓(xùn)練的圖片多樣性不足,仍然可能出現(xiàn)梯度消失等問(wèn)題。
在基本GAN模型中,生成器的輸入是一段噪聲z,因此很難控制z與生成數(shù)據(jù)的語(yǔ)義特征的對(duì)應(yīng)關(guān)系,為了增加GAN模型的可解釋性,文獻(xiàn)[17]提出了信息生成對(duì)抗網(wǎng)絡(luò)(InfoGAN),在隨機(jī)噪聲中添加了可解釋性的潛在編碼,從而能夠幫助控制數(shù)據(jù)的生成。但是由于添加了解釋性信息,增加了計(jì)算的負(fù)擔(dān),使得生成圖像的多樣性也不足。
DCGAN[18](deep convolutional GAN)的提出為GAN的發(fā)展做出了突出貢獻(xiàn),它將卷積神經(jīng)網(wǎng)絡(luò)CNN和GAN結(jié)合起來(lái),填補(bǔ)了CNN在有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)成功之間的差距[19]。實(shí)驗(yàn)結(jié)果表明,DCGAN在大部分場(chǎng)景中都能學(xué)習(xí)到特征,并能利用學(xué)習(xí)到的特征來(lái)完成新的任務(wù),在大多數(shù)訓(xùn)練下是穩(wěn)定的。但是DCGAN只對(duì)結(jié)構(gòu)進(jìn)行了改進(jìn),沒(méi)有對(duì)優(yōu)化方法進(jìn)行改進(jìn),還有一定的改進(jìn)空間。
為了使模型訓(xùn)練更穩(wěn)定,BigGAN[20]通過(guò)對(duì)生成器應(yīng)用正交正則化使其可以使用簡(jiǎn)單的“截?cái)嗉记伞?,從而通過(guò)減小生成器輸入的方差來(lái)精確控制樣本的保真度和多樣性之間的權(quán)衡[20]。該方法雖然能使得生成圖像的品質(zhì)更好,但是成本較高。
2.2.2 基于自編碼器優(yōu)化的GANs
除了添加約束條件之外,利用其它模型的優(yōu)點(diǎn)來(lái)結(jié)合優(yōu)化GAN模型也是非常好的方向,目前已有將GAN與VAE、RBM等融合在一起的諸多研究,其中基于VAE的優(yōu)化則更為常見(jiàn)。
對(duì)抗自動(dòng)編碼器(adversarial autoencoders,AAE[21])結(jié)合了GAN與自動(dòng)編碼器的思想,通過(guò)將自編碼器的隱藏層編碼向量的聚合后驗(yàn)與任意先驗(yàn)分布匹配,利用GAN來(lái)執(zhí)行變分推論,這種方法能使得生成的圖像質(zhì)量更高,生成結(jié)果更加可控。但是由于很難把AAE擴(kuò)展到高分辨率圖片數(shù)據(jù)上,并且解碼器是以重構(gòu)誤差為目的進(jìn)行訓(xùn)練,而非GAN那樣以騙過(guò)判別器為目的,因此可能更難生成非常新的圖像。
BiGAN(bidirectional GAN[22])結(jié)合了編碼器和判別器的結(jié)構(gòu)來(lái)進(jìn)行優(yōu)化,將實(shí)際數(shù)據(jù)的概率分布映射到隱空間,從而有助于學(xué)習(xí)如何提取相關(guān)特征。但是由于BiGAN新增了一個(gè)編碼器,增加了優(yōu)化函數(shù)的計(jì)算復(fù)雜性。
BEGAN(boundary equilibrium GAN[23])使用自動(dòng)編碼器架構(gòu)作為判別器,該方法是從Wasserstein距離得出的損失來(lái)匹配自動(dòng)編碼器的損失分布,而不是直接匹配數(shù)據(jù)分布,所以BEGAN收斂很快,但是在超參數(shù)的選取上有一定的難度。
2.2.3 GANs的其它優(yōu)化
除了以上提到的兩種架構(gòu)優(yōu)化方法外,還有將GAN與其它領(lǐng)域知識(shí)結(jié)合從而對(duì)GAN進(jìn)行優(yōu)化的研究。文獻(xiàn)[24]提出了對(duì)抗網(wǎng)絡(luò)的拉普拉斯金字塔(LAPGAN),該方法在金字塔框架內(nèi)使用級(jí)聯(lián)的卷積網(wǎng)絡(luò),以從粗到精的方式生成圖像。在金字塔的每個(gè)級(jí)別,都使用生成對(duì)抗網(wǎng)絡(luò)技術(shù)來(lái)訓(xùn)練單獨(dú)的生成卷積模型。LAPGAN模型收斂速度快,能夠生成分辨率高的樣本,但是必須在有監(jiān)督的情況下進(jìn)行訓(xùn)練。
GAN是一個(gè)持續(xù)進(jìn)行的研究領(lǐng)域,因此,要研究出單個(gè)能夠改善所有不足的衍生模型是一項(xiàng)挑戰(zhàn),關(guān)于GAN的變體未來(lái)還有一定的研究空間。經(jīng)過(guò)綜合比較和分析上述提到的GAN不同衍生模型的優(yōu)化方法、優(yōu)勢(shì)、不足,以及適合的應(yīng)用場(chǎng)景(表1),本文對(duì)未來(lái)GAN衍生的改進(jìn)方向提出以下建議:
(1)從基本GAN模型內(nèi)部結(jié)構(gòu)的角度進(jìn)行優(yōu)化,嘗試替換某個(gè)函數(shù)或者計(jì)算方法,從而實(shí)現(xiàn)對(duì)目標(biāo)函數(shù)的改進(jìn),得到優(yōu)化的GAN模型;
(2)嘗試在基本GAN模型的基礎(chǔ)上附加一些方法或者輔助工具,來(lái)控制GAN模型的結(jié)果朝目標(biāo)方向改進(jìn);
(3)嘗試結(jié)合其它模型的優(yōu)點(diǎn),來(lái)改進(jìn)GAN訓(xùn)練不穩(wěn)定等不足,比如目前有VAE、RBM與GAN的結(jié)合,未來(lái)可以根據(jù)應(yīng)用需要,綜合對(duì)算法進(jìn)行優(yōu)化;
(4)可以從多層次的角度進(jìn)行改進(jìn),比如可以整體框架是GAN模型,而內(nèi)部框架的實(shí)現(xiàn)可以采用其它框架或方法,每一級(jí)別也可以采用另外的框架或方法。
表1 GANs的分析與比較
由于GAN具有更靈活的框架,可以學(xué)習(xí)損失函數(shù),即不需要為特定的應(yīng)用去構(gòu)建特定的損失函數(shù),所以GAN在圖像、視頻、文本、安全、自然語(yǔ)言處理等諸多領(lǐng)域都有著廣泛的應(yīng)用。
GAN具有很好的數(shù)據(jù)分布建模能力,而且其在圖像領(lǐng)域的應(yīng)用起步較早,所以目前已經(jīng)取得了可觀的成果,主要包括圖像生成、圖像翻譯、圖像修復(fù)等方面的應(yīng)用。
3.1.1 圖像生成
通過(guò)學(xué)習(xí)任何數(shù)據(jù)集的數(shù)據(jù)分布,GAN可以對(duì)與原始數(shù)據(jù)集相似的新樣本進(jìn)行建模,加之端到端的工作方式,使得GAN相比傳統(tǒng)的機(jī)器學(xué)習(xí)算法能更好地學(xué)習(xí)真實(shí)樣本的特征分布和映射關(guān)系,因此在生成高分辨率圖像方面具有更好的性能。Yang等[25]提出了一種對(duì)抗性的圖像生成模型(LR-GAN),它通過(guò)考慮場(chǎng)景結(jié)構(gòu)和上下文來(lái)生成清晰的圖像,整個(gè)模型不受監(jiān)督,并使用梯度下降法以端到端的方式進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,LR-GAN優(yōu)于DCGAN,但是可能會(huì)出現(xiàn)輸出圖像與原始圖像差異較大,或者圖像失真的結(jié)果。為了生成更逼真的圖像,Wang等[26]提出了一種樣式和結(jié)構(gòu)模型(S2-GAN),它有兩個(gè)組成部分,Structure-GAN用于生成圖像結(jié)構(gòu),Style-GAN將生成的圖像結(jié)構(gòu)作為輸入以考慮圖像樣式。該模型首先對(duì)兩個(gè)GAN進(jìn)行獨(dú)立訓(xùn)練,然后通過(guò)聯(lián)合學(xué)習(xí)將它們合并在一起。雖然該方法生成效果較好,但是與最鄰近的相比,生成的圖像可能具有不同的風(fēng)格和結(jié)構(gòu)。
3.1.2 圖像翻譯
圖像翻譯是指將圖像從一個(gè)域映射到另一域中的對(duì)應(yīng)圖像[27]。早期基于神經(jīng)網(wǎng)絡(luò)的圖像翻譯是采用卷積神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)的,但是其訓(xùn)練效率比較低,由于GAN算法不受形式約束,使用靈活,可以同時(shí)解決許多不同的任務(wù),研究者們嘗試將GAN應(yīng)用到圖像翻譯領(lǐng)域。Isola等[28]提出了基于CGAN的有監(jiān)督學(xué)習(xí)模型(Pix2pixGAN),用來(lái)完成成對(duì)的圖像轉(zhuǎn)換。Pix2pixGAN不僅學(xué)習(xí)從輸入圖像到輸出圖像的映射,而且學(xué)習(xí)損失函數(shù)來(lái)訓(xùn)練該映射。結(jié)果表明,該方法生成的樣本更真實(shí),訓(xùn)練速度更快。但是該模型是監(jiān)督模型,仍然需要帶有標(biāo)簽和標(biāo)記的數(shù)據(jù),于是針對(duì)許多任務(wù)的配對(duì)的訓(xùn)練數(shù)據(jù)不可用的情形,Zhu等[29]提出了一種無(wú)監(jiān)督學(xué)習(xí)模型(CycleGAN),它可以學(xué)習(xí)將圖像從源域X轉(zhuǎn)換為目標(biāo)域Y,并且不需要成對(duì)的圖片作為訓(xùn)練數(shù)據(jù)。雖然該模型生成的圖像質(zhì)量不如Pix2pixGAN,但是其應(yīng)用場(chǎng)景更豐富靈活。
3.1.3 圖像修復(fù)
傳統(tǒng)的圖像修復(fù)方法通常是根據(jù)周圍的像素點(diǎn)估計(jì)待修復(fù)的像素點(diǎn),但是這種算法大多比較復(fù)雜,而且對(duì)于大面積的圖像損毀很難修復(fù)。由于GAN是通過(guò)對(duì)抗博弈的方式來(lái)進(jìn)行訓(xùn)練的,所以在圖像修復(fù)方面不用受限于可用的圖像統(tǒng)計(jì)信息,且能使得修復(fù)效果更加自然。Yu等[30]提出了一種生成式圖像修復(fù)系統(tǒng),可以使用自由形式的掩模和輸入來(lái)完成圖像。該系統(tǒng)基于從數(shù)百萬(wàn)張圖像中學(xué)習(xí)的門控卷積,無(wú)需額外的標(biāo)記工作,解決了將所有輸入像素都視為有效像素的問(wèn)題。此外,還提出了基于補(bǔ)丁的GAN丟失(SN-PatchGAN),用于使訓(xùn)練快速穩(wěn)定。但由于GAN模型本身存在的問(wèn)題,導(dǎo)致在修復(fù)圖像時(shí),可能會(huì)出現(xiàn)過(guò)度平滑或模糊的情況。
隨著GAN的發(fā)展,除了在圖像領(lǐng)域外,在目標(biāo)檢測(cè)、視頻預(yù)測(cè)、文本合成圖像、隱私保護(hù)、醫(yī)學(xué)圖像分割等方面也有著很好的表現(xiàn)。
3.2.1 目標(biāo)檢測(cè)
目標(biāo)檢測(cè)雖然已經(jīng)取得了長(zhǎng)遠(yuǎn)的發(fā)展,但是其中的小目標(biāo)、大姿態(tài)等問(wèn)題仍然是經(jīng)典難題,傳統(tǒng)的方法可能出現(xiàn)由于丟失高頻造成的模糊等現(xiàn)象,而GAN良好的生成性能以及在圖像領(lǐng)域優(yōu)秀的表現(xiàn),使得用GAN來(lái)解決此類問(wèn)題成為可能。Li等[31]提出了一種新的感知生成網(wǎng)絡(luò)(perceptual GAN)模型,通過(guò)縮小小對(duì)象與大對(duì)象之間的表示差異來(lái)改善小對(duì)象的檢測(cè),實(shí)驗(yàn)結(jié)果表明,該方法產(chǎn)生的對(duì)抗塊擾動(dòng)大、攻擊效果好。但是缺陷在于犧牲了視覺(jué)保真度。
3.2.2 視頻生成
傳統(tǒng)的視頻生成方法很難輕松地處理好幀不連續(xù)性的問(wèn)題以及無(wú)文本的生成方案。為了提高生成結(jié)果的連續(xù)性,Tulyakov等[32]提出了用于視頻生成的運(yùn)動(dòng)和內(nèi)容分解的生成對(duì)抗網(wǎng)絡(luò)(MoCoGAN)框架,通過(guò)將隨機(jī)向量序列映射到視頻幀序列來(lái)生成視頻。該方法表明利用GAN來(lái)進(jìn)行視頻生成能夠有效的進(jìn)行建模,但可能會(huì)缺乏對(duì)語(yǔ)義的理解。
3.2.3 文本合成圖像
在文本合成圖像方面,主要目標(biāo)是將視覺(jué)概念從字符轉(zhuǎn)化為像素,生成具有逼真的細(xì)節(jié)的高分辨率圖像。由于GAN模型能夠更加充分的利用文本信息,對(duì)細(xì)節(jié)特征關(guān)注更多,所以能通過(guò)更細(xì)粒度的約束來(lái)提升生成效果。Zhang等[33]提出了堆棧式生成對(duì)抗網(wǎng)絡(luò)(StackGAN),使用GAN架構(gòu)從文字描述中合成圖像,將兩個(gè)GAN疊加進(jìn)行分段式訓(xùn)練,盡管這種分段式模式可能會(huì)出現(xiàn)每個(gè)任務(wù)找不到重點(diǎn),最終導(dǎo)致生成失敗的情況,但是該方法提高了合成圖像的多樣性,并加強(qiáng)了GAN訓(xùn)練的穩(wěn)定性。
3.2.4 信息安全
GAN是深度學(xué)習(xí)領(lǐng)域的一項(xiàng)重大突破,信息安全領(lǐng)域的學(xué)者們也對(duì)其展開(kāi)了相應(yīng)的研究,相比于傳統(tǒng)的方法而言,GAN以半監(jiān)督的方式訓(xùn)練檢測(cè)器,有助于解決帶標(biāo)簽樣本少的問(wèn)題,而且GAN通過(guò)學(xué)習(xí)實(shí)際的數(shù)據(jù)分布,在對(duì)實(shí)際的高維和復(fù)雜數(shù)據(jù)建模時(shí)具有更好的優(yōu)勢(shì)。Kim等[34]提出了一種稱為轉(zhuǎn)移深度卷積生成對(duì)抗網(wǎng)絡(luò)(tDCGAN)的新方法,能夠生成偽造的惡意軟件,并將其與真實(shí)的惡意軟件區(qū)分開(kāi),該方法使用深度自動(dòng)編碼器(DAE)作為生成器,再將經(jīng)過(guò)訓(xùn)練的判別器通過(guò)遷移學(xué)習(xí)用于惡意軟件的檢測(cè)。
由上文可以發(fā)現(xiàn),針對(duì)不同的領(lǐng)域和問(wèn)題,GAN相對(duì)于傳統(tǒng)的方法具有一定的優(yōu)勢(shì),但是仍然存在一些問(wèn)題沒(méi)有解決,許多應(yīng)用仍處于起步階段,在未來(lái)還有較大的研究空間。下面就預(yù)期的解決方案和發(fā)展方向提出一些建議:
(1)解決資源限制問(wèn)題。由于GAN的訓(xùn)練是有資源限制的,所以它的安全性是小范圍的,沒(méi)有泛化,未來(lái)可以試圖解決資源限制問(wèn)題,提高GAN的普適性;
(2)解決對(duì)抗樣本對(duì)GAN性能、精度、穩(wěn)定性的影響。加了擾動(dòng)的生成樣本原本沒(méi)有達(dá)到和真實(shí)樣本一樣的程度,但是由于添加了擾動(dòng),騙過(guò)了判別器,使得GAN網(wǎng)絡(luò)訓(xùn)練出來(lái)的圖像或者目標(biāo)沒(méi)有達(dá)到最優(yōu)的效果便停止了;
(3)結(jié)合其它的機(jī)器學(xué)習(xí)算法。綜合改進(jìn)GAN的目標(biāo)函數(shù)和結(jié)構(gòu)框架,建立準(zhǔn)確合理的生成模型,并且考慮不同領(lǐng)域結(jié)合時(shí)的安全性和魯棒性,多嘗試并且能夠反推,突破往往是無(wú)意中發(fā)現(xiàn)的;
(4)數(shù)據(jù)集的選取和創(chuàng)新。不同的數(shù)據(jù)集對(duì)訓(xùn)練結(jié)果會(huì)有一定的影響,未來(lái)可以嘗試在數(shù)據(jù)集的選取方面進(jìn)行研究和創(chuàng)新。
隨著GAN模型的不斷探索,生成對(duì)抗模型極大地促進(jìn)了圖像處理領(lǐng)域的快速發(fā)展,同時(shí)它們?cè)诎踩歪t(yī)學(xué)等其它領(lǐng)域中也發(fā)揮著越來(lái)越重要的作用。雖然目前GAN的發(fā)展仍然面臨著諸多挑戰(zhàn)。但是相信經(jīng)過(guò)更多的嘗試和努力,GAN會(huì)具有更廣闊的應(yīng)用前景,下面對(duì)該領(lǐng)域未來(lái)的發(fā)展和研究方向提出一些展望:
(1)通用的度量標(biāo)準(zhǔn)。目前尚未實(shí)現(xiàn)能夠全面評(píng)估GAN模型的度量標(biāo)準(zhǔn),不同的衍生模型在不同方面各有各的優(yōu)勢(shì),因此無(wú)法絕對(duì)評(píng)判一個(gè)模型的好壞,新的模型層出不窮,制定一個(gè)通用、合理化、標(biāo)準(zhǔn)的度量標(biāo)準(zhǔn)有助于引導(dǎo)新的研究成果前進(jìn)的方向,是急需解決的問(wèn)題。
(2)完善的理論體系。雖然GAN一經(jīng)提出,其“對(duì)抗訓(xùn)練”的思想便受到廣大研究學(xué)者的歡迎,關(guān)于其研究也越來(lái)越多,但其存在的梯度消失、模式崩潰、訓(xùn)練不穩(wěn)定等問(wèn)題還是沒(méi)有得到完美的解決,或許未來(lái)可以考慮從其最基本的模型結(jié)構(gòu)出發(fā),找到這些問(wèn)題的根本原因,研究并完善其理論體系。
(3)結(jié)構(gòu)拓展。雖然目前有許多衍生模型將其它的算法應(yīng)用到GAN領(lǐng)域,但更多的是簡(jiǎn)單的疊加使用,如何將GAN與其它理論研究更完美的融合在一起,使GAN的應(yīng)用范圍更廣泛,是未來(lái)需要考慮的問(wèn)題。
本文對(duì)基本GAN模型的結(jié)構(gòu)進(jìn)行了介紹,并分析了GAN的優(yōu)缺點(diǎn)。其次,分類總結(jié)了基于目標(biāo)函數(shù)優(yōu)化和基于架構(gòu)優(yōu)化的衍生模型,并通過(guò)觀察GAN的不同變體的發(fā)展歷程,對(duì)未來(lái)GAN衍生的發(fā)展方向提出了一些建議。然后介紹了GAN模型的一些典型的應(yīng)用模型,包括圖像生成、圖像翻譯、圖像修復(fù)、視頻生成、文本合成、信息安全等領(lǐng)域,并著重分析了這些模型的應(yīng)用相比于傳統(tǒng)方法的優(yōu)勢(shì)、存在的問(wèn)題,就這些問(wèn)題提出了一些改善方法。接著對(duì)GAN未來(lái)發(fā)展方向進(jìn)行了展望,希望能為讀者在研究主題或開(kāi)發(fā)方法時(shí)提供指引。最后對(duì)本文進(jìn)行了總結(jié)。