劉鶴丹,葉漢平,徐夢(mèng)真,趙旭磊
(廈門大學(xué)嘉庚學(xué)院 信息科學(xué)與技術(shù)學(xué)院,福建 漳州 363105)
隨著人工智能和深度學(xué)習(xí)的發(fā)展,GAN的出現(xiàn)成為了深度學(xué)習(xí)領(lǐng)域?qū)W者們研究的熱點(diǎn)。GAN在多個(gè)領(lǐng)域均表現(xiàn)得極其出色,如圖像的生成[1]、修復(fù)[2]、識(shí)別[3-5]等。機(jī)器學(xué)習(xí)算法可分為監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)兩類,監(jiān)督學(xué)習(xí)譬如YOLO系列[6]需要依賴已知的帶標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練,這類算法雖有較好的效果但消耗成本較高;而無(wú)監(jiān)督學(xué)習(xí)因其無(wú)須提前標(biāo)記好數(shù)據(jù),受到越來(lái)越多學(xué)者們的青睞,并且GAN具有無(wú)須監(jiān)督和做數(shù)據(jù)標(biāo)記的優(yōu)勢(shì),解決了數(shù)據(jù)集問(wèn)題[7]。GAN不僅可生成高質(zhì)量圖像,還可進(jìn)行圖像增強(qiáng)、圖像遷移。
GAN(生成對(duì)抗網(wǎng)絡(luò))[8]由兩大部分組成:生成器網(wǎng)絡(luò)(Generative Model)、判別器網(wǎng)絡(luò)(Discriminative Model)。生成器根據(jù)要求會(huì)不斷生成與實(shí)際標(biāo)簽數(shù)據(jù)相近的數(shù)據(jù),并傳遞給判別器;判別器會(huì)區(qū)分生成器生成數(shù)據(jù)的結(jié)果與實(shí)際標(biāo)簽之間的區(qū)別,并且判別器會(huì)根據(jù)判斷后產(chǎn)生的誤差反向傳遞至生成器中進(jìn)行更新,生成器收到反饋后會(huì)生成更加接近的數(shù)據(jù)再傳遞給判別器,迭代數(shù)次后,直至生成器生成的數(shù)據(jù)使判別器無(wú)法區(qū)分?jǐn)?shù)據(jù)的真實(shí)性才停止訓(xùn)練。
如圖1所示,生成器G接收到隨機(jī)變量z的數(shù)據(jù)后,會(huì)生成假樣本數(shù)據(jù)G(z);將其傳入到判別器D中,判別器會(huì)對(duì)接收的真實(shí)樣本數(shù)據(jù)x進(jìn)行判別處理并輸出生成結(jié)果。生成結(jié)果為判別器D輸入的是否為真實(shí)分布的概率,若為1則數(shù)據(jù)為真實(shí)數(shù)據(jù),為0則為假數(shù)據(jù)。同時(shí),判別器D會(huì)把輸出結(jié)果返回給生成器G用于其訓(xùn)練。當(dāng)D的輸出概率值為0.5左右,表明無(wú)法區(qū)別數(shù)據(jù)來(lái)源,即模型已達(dá)到最優(yōu)狀況,則停止訓(xùn)練。而該停止條件如果導(dǎo)致判別器D判別沒(méi)調(diào)好,會(huì)造成不收斂、模式崩潰、梯度弱化,甚至消失等問(wèn)題,當(dāng)梯度消失時(shí),訓(xùn)練的生成器G相當(dāng)于沒(méi)有訓(xùn)練時(shí)的狀態(tài)。這也是GAN模型難以訓(xùn)練的原因[9]。
圖1 GAN網(wǎng)絡(luò)模型的基本結(jié)構(gòu)示意圖
GAN的訓(xùn)練較為困難,因此在研究者們的不斷探索中出現(xiàn)了很多不同的變體模型,本章對(duì)具有代表性的變體模型進(jìn)行簡(jiǎn)述與分析。
DCGAN(Deep Convolutional GAN)[10], 由 Alec Radford于2015年提出,是最基本的GAN版本,通過(guò)改變卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)提高了樣本質(zhì)量和收斂速度,許多GAN模型都基于DCGAN進(jìn)行了改進(jìn)。它可以很好地適應(yīng)于卷積神經(jīng)網(wǎng)絡(luò),能夠有效實(shí)現(xiàn)高質(zhì)量圖片的生成和相關(guān)模型生成。其中包含了一種突破性的關(guān)鍵技術(shù):批歸一化。DCGAN的生成效果如圖2所示。雖然DCGAN的批歸一化效果被證明是有效的,但經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn)如果改變某些層的BN或者改變激活函數(shù),都可能導(dǎo)致網(wǎng)絡(luò)生成的圖像為噪聲。
圖2 DCGAN的生成效果
BigGAN(Large Scale GAN)[11]被稱為史上最強(qiáng)的GAN圖像生成器,首次生成具有高保真度和低品種差距的圖像。它與傳統(tǒng)的GAN的區(qū)別之一在于訓(xùn)練中采用了很大的Batch值,同時(shí)也增強(qiáng)了卷積的通道數(shù)和網(wǎng)絡(luò)參數(shù),還包含了“截?cái)嗉记伞焙湍P头€(wěn)定性的控制等。隨著相關(guān)研究的不斷進(jìn)步,還衍生出了BiGAN、BigBiGAN。BigGAN的生成效果如圖3所示。
圖3 BigGAN的生成效果
StyleGAN (A Style-based Generator Architecture for GAN)[12]從ProGAN中演變而來(lái),具有可基于樣式的生成器,可生成更高質(zhì)量的高分辨率圖像。StyleGAN將生成的過(guò)程可控化,可通過(guò)數(shù)據(jù)集中的屬性轉(zhuǎn)換圖像中的風(fēng)格,譬如可以實(shí)現(xiàn)無(wú)監(jiān)督地修改人臉姿勢(shì)、身份、發(fā)型等,生成相對(duì)應(yīng)的圖像,還可以生成汽車、臥室等高質(zhì)量圖像。
StyleGAN參考了ProGAN,發(fā)現(xiàn)漸進(jìn)層的視覺(jué)特征會(huì)受層和分辨率的影響,越高的分辨率越可進(jìn)行更細(xì)微和精確地控制。根據(jù)不同的分辨率范圍,在StyleGAN中分為粗糙、中等、高質(zhì)三種類型。StyleGAN在GAN模型基礎(chǔ)上刪除了傳統(tǒng)輸入,添加了噪聲noise,使用了自適應(yīng)實(shí)例歸一化(AdaIN)。
StyleGAN極大幅度地提高了研究者們對(duì)GAN合成的理解和可控性。隨著StyleGAN的發(fā)展,其版本已經(jīng)延續(xù)到StyleGAN3。StyleGAN的生成效果如圖4所示。
圖4 StyleGAN的生成效果
StackGAN(Text to Photo-Realistic Image Synthesis With Stacked GAN)[13]是首個(gè)可根據(jù)文本描述來(lái)生成圖像分辨率達(dá)到256×256的網(wǎng)絡(luò)模型。StackGAN的訓(xùn)練方式分為兩個(gè)階段。其中Stage-I會(huì)通過(guò)給定的文字生成低分辨率(64×64)圖片; Stage-Ⅱ在Stage-Ⅰ基礎(chǔ)上生成高分辨率(256×256)圖片并捕獲被Stage-I忽視的文字信息,修正Stage-I結(jié)果的缺陷、添加細(xì)節(jié)。這種分段式模型可能由于每個(gè)任務(wù)找不到重點(diǎn)而導(dǎo)致生成失敗。StackGAN 的生成效果如圖5所示。
圖5 StackGAN 的生成效果
CycleGAN (Unpaired Image-To-Image Translation Using Cycle-Consistent GAN)的核心思想是:設(shè)有X域和Y域兩個(gè)域,從X中映射Y,再?gòu)腨中映射X,循環(huán)往復(fù)[14],如圖6所示。
圖6 CycleGAN的核心原理
CycleGAN主要應(yīng)用于域遷移(Domain Adaptation)領(lǐng)域。域遷移是將數(shù)據(jù)從一個(gè)域移動(dòng)到另一個(gè)域的過(guò)程,譬如將照片中的馬轉(zhuǎn)換成斑馬。在傳統(tǒng)算法中,一般對(duì)于兩個(gè)域之間的某一物體相互轉(zhuǎn)換需要該兩個(gè)域之間具有相同的成對(duì)圖片作為數(shù)據(jù)集進(jìn)行訓(xùn)練,如pix2pix[15],而CycleGAN并不需要成對(duì)的圖片作為訓(xùn)練數(shù)據(jù),只需要有充足的圖片數(shù)據(jù)集就可實(shí)現(xiàn)物品之間的相互轉(zhuǎn)換。CycleGAN的生成效果如圖7所示。
圖7 CycleGAN的生成效果
GAN作為一個(gè)生成模型,能從大量的無(wú)標(biāo)簽數(shù)據(jù)中無(wú)監(jiān)督地學(xué)習(xí)到一個(gè)具備生成各種形態(tài)(圖像、語(yǔ)音、語(yǔ)言等)數(shù)據(jù)能力的函數(shù)(生成器),因此可以達(dá)到數(shù)據(jù)增廣的目的。但GAN并不是單純地對(duì)真實(shí)數(shù)據(jù)的復(fù)現(xiàn),而是具備一定的數(shù)據(jù)內(nèi)插和外插作用。例如:路面生成[16]、機(jī)器翻譯[17-18]、二次元風(fēng)格轉(zhuǎn)換[19]、人臉生成[20]等。
在CQMM的基本框架下,課題組以如下方式引入家庭負(fù)債率變動(dòng)所產(chǎn)生的這兩條傳遞渠道:首先,假定居民負(fù)債率的變化是外生的。其次,建立居民負(fù)債率的變動(dòng)對(duì)居民貸款和存款的影響機(jī)制。在貸款方面,構(gòu)建行為方程由居民負(fù)債率和GDP共同決定居民貸款;在存款方面,居民負(fù)債率將決定居民消費(fèi),進(jìn)而決定居民存款。最后,定義居民貸存比為居民貸款與居民存款之比,將其與一年期人民幣基準(zhǔn)貸款利率作為解釋變量,對(duì)資金市場(chǎng)的加權(quán)利率進(jìn)行回歸,以此內(nèi)生化資本市場(chǎng)的利率決定。
圖像超分辨率相關(guān)的研究中一個(gè)比較重要的課題是對(duì)天文圖像和衛(wèi)星圖像做超分辨率,該課題的成果在各領(lǐng)域得到廣泛應(yīng)用。例如SRGAN(Super-Resolution Generative Adversarial Network)[21]可應(yīng)用于圖像超分辨率方面。它基于相似性感知方法[22]提出了損失函數(shù),可有效解決恢復(fù)后的圖像丟失高頻細(xì)節(jié)問(wèn)題。
圖像合成是通過(guò)某種形式的圖像描述創(chuàng)建新圖像的過(guò)程。CycleGAN[14]和pix2pix[15]均屬于圖像合成領(lǐng)域,具體應(yīng)用例如:應(yīng)用于場(chǎng)景合成的pix2pix[15],應(yīng)用于人臉合成[23]的TpGAN[24],應(yīng)用于文本到圖像合成的StackGAN[13],應(yīng)用于風(fēng)格遷移的CycleGAN[14]。
GAN除了被應(yīng)用于以上三個(gè)領(lǐng)域外,在其他領(lǐng)域也有著很好的表現(xiàn),如3D打印[25]、圖形修復(fù)[26]、圖片編輯[27]、人體相關(guān)的姿態(tài)估計(jì)[28]、自動(dòng)駕駛[29]、目標(biāo)跟蹤檢測(cè)[30-32]等。
GAN是一種生成式模型,相比于其他生成模型只用到了反向傳播,而無(wú)需復(fù)雜的馬爾科夫鏈,可產(chǎn)生更為清晰和真實(shí)的樣本;其采用無(wú)監(jiān)督訓(xùn)練,可廣泛用在無(wú)監(jiān)督、半監(jiān)督學(xué)習(xí)領(lǐng)域。相比于其他機(jī)器學(xué)習(xí)模型,不受樣本脆弱性的影響,可應(yīng)用于圖片風(fēng)格遷移、超分辨率、圖像補(bǔ)全、去噪等場(chǎng)景,避免了損失函數(shù)設(shè)計(jì)的困難;還可以通過(guò)GAN生成以假亂真的樣本,緩解了小樣本機(jī)器學(xué)習(xí)的困難。
訓(xùn)練GAN需要達(dá)到納什均衡,采用梯度下降法不一定都可以實(shí)現(xiàn)。目前并沒(méi)有達(dá)到納什均衡的更好方法,因此訓(xùn)練GAN并不穩(wěn)定。
(1)梯度消失:隨著訓(xùn)練次數(shù)增加,G、D的生成和判別能力逐漸增強(qiáng)且互相影響,當(dāng)D訓(xùn)練到最好的情況下,原始GAN中G的損失函數(shù)存在自相矛盾的缺陷,從而導(dǎo)致GAN很難訓(xùn)練,微調(diào)敏感。
(2)模式崩潰:模型只學(xué)習(xí)到真實(shí)樣本分布的一部分,導(dǎo)致模型生成的樣本單一,樣本差異較小。
(3)GAN不適合處理文本等離散形式的數(shù)據(jù)。
如何根據(jù)簡(jiǎn)單的隨機(jī)輸入生成多樣的、能夠更好地與人類進(jìn)行交互的數(shù)據(jù),更好地配合深度學(xué)習(xí),是GAN的近期發(fā)展方向。如何讓GAN與特征學(xué)習(xí)、模仿學(xué)習(xí)、強(qiáng)化學(xué)習(xí)等技術(shù)更好地融合,利用GAN的特性或博弈論思想來(lái)推動(dòng)人工智能的發(fā)展與應(yīng)用,提高其對(duì)世界的理解甚至激發(fā)其創(chuàng)造能力是值得研究的問(wèn)題。GAN是生成式模型,采用模型學(xué)習(xí)方式來(lái)估測(cè)其分布并生成同分布的新樣本,因此在圖像視覺(jué)計(jì)算、語(yǔ)音語(yǔ)言處理、信息安全等領(lǐng)域有巨大的應(yīng)用價(jià)值。但GAN解決了生成式模型問(wèn)題的同時(shí)也引入了新的問(wèn)題[33],譬如有限的注釋、多樣性有限、受限數(shù)據(jù)、訓(xùn)練波動(dòng)大等。以下四個(gè)方面是今后針對(duì)GAN進(jìn)行研究的新方向:
(1)資源問(wèn)題的解決受數(shù)據(jù)集的限制,使得GAN沒(méi)有普適性和安全性。
(2)可結(jié)合其他機(jī)器學(xué)習(xí)算法改善GAN的目標(biāo)函數(shù)和框架,對(duì)結(jié)構(gòu)進(jìn)行拓展。
(3)實(shí)現(xiàn)統(tǒng)一的度量標(biāo)準(zhǔn)。由于GAN的速度有快有慢,各自都有自己的優(yōu)勢(shì),所以無(wú)法判斷模型的好壞。
(4)需要更加完善的體系來(lái)減少梯度損失、模型不穩(wěn)定等因素帶來(lái)的干擾。
本文簡(jiǎn)要介紹了GAN的基本概念、代表模型及主要應(yīng)用領(lǐng)域,從多個(gè)角度對(duì)GAN和傳統(tǒng)算法進(jìn)行深入的對(duì)比與分析,闡述了GAN在當(dāng)前社會(huì)的研究意義以及未來(lái)前景預(yù)測(cè)。
物聯(lián)網(wǎng)技術(shù)2022年11期