王 霞,徐慧英,朱信忠
(浙江師范大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,浙江 金華 321004)
近年來,深度學(xué)習(xí)在圖像識別、圖像生成和圖像去模糊等方面取得了突破性進展,作為圖像生成領(lǐng)域的重要分支,文本生成圖像是一項結(jié)合計算機視覺和自然語言的綜合性交叉任務(wù)。文本生成圖像將一句描述性語言文本作為輸入,最終輸出一幅與文本內(nèi)容一致的圖像。制作一幅與文本語義相同且生動、逼真的圖像是一項具有挑戰(zhàn)性的任務(wù)。這項任務(wù)雖有一定的難度,但是學(xué)者們對其眾多應(yīng)用場景還是充滿了期待,目的是讓文本生成圖像這項任務(wù)真正在實際生活中體現(xiàn)出實用價值,并試圖在廣告設(shè)計、繪圖插畫等各行業(yè)得到發(fā)展??偠灾?,研究文本生成圖像算法不僅在學(xué)術(shù)研究,也在生活應(yīng)用中有重要意義。
文本生成圖像的任務(wù)分為識別輸入的語句信息和制作與語句信息相對應(yīng)的圖像2部分,最初的主流方法是變分自編碼器VAE(Variational Auto-Encoder)[1]和DRAW(Deep Recurrent Attention Writer)[2]。生成對抗網(wǎng)絡(luò)GAN (Generative Adversarial Networks)[3]被提出后,憑借有效的對抗學(xué)習(xí)機制使文本生成圖像任務(wù)有了更好的實現(xiàn)途徑,因此相繼出現(xiàn)了一系列基于GAN的文本生成圖像方法。2016年,文獻[4]提出了GAN-INT-CLS(Matching-aware discriminator and Learning with manifold interpolation)模型,首次使用流行插值和具有判別意識的判別器2種方案解決了生成圖像缺乏多樣化的問題,大大提高了圖像生成能力,但是仍無法合成高分辨率的圖像。文獻[5]提出了能更好地根據(jù)文本描述控制圖像中物體具體位置的網(wǎng)絡(luò)GAWWN(Generative Adversarial What-Where Networks)。2017年,文獻[6]提出了一種堆疊生成對抗網(wǎng)絡(luò)StackGAN(Stack Generative Adversarial Network)模型,把生成高質(zhì)量圖像的復(fù)雜問題分解成2個相對簡單的子問題:首先將文本描述與隨機噪聲相結(jié)合作為輸入,生成64×64像素的低分辨率圖像;接著將第一階段的生成結(jié)果和文本描述作為輸入,最終生成 256×256像素的高分辨率圖像。但是,整個過程還是存在訓(xùn)練不穩(wěn)定和梯度消失等問題。2018年,文獻[7]進一步提出將實驗任務(wù)分成3步的模型(StackGAN++),逐步生成 64×64,128×128,256×256的圖像,使生成的效果有了很大提升。但是,更加復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)使整個生成過程計算量大增,效率較低。隨后AttnGAN(Attentional Generative Adversarial Networks)[8]將輸入文本編碼成句子級別的特征和單詞級別的特征,并且在各階段引入了自注意力機制,通過逐層訓(xùn)練得到最終結(jié)果,由于其復(fù)雜的結(jié)構(gòu)大大增加了訓(xùn)練的難度,仍存在訓(xùn)練效率不高的問題。2019年,文獻[9]提出通過輸入單詞級的特征以及結(jié)合自注意力機制和感知損失來控制文本生成圖像的過程。2020年,文獻[10]將自注意力機制融入單層生成對抗網(wǎng)絡(luò)來完成這一任務(wù),彌補了只能計算局部區(qū)域像素的缺陷。文獻[11]提出了一種基于協(xié)同上采樣的雙生成器注意網(wǎng)絡(luò)DGAttGAN(Dual Generator Attentional Generative Adversarial Network),建立了2個具有獨立生成目的的生成器,將對象生成和背景生成分離,可以從文本描述中生成高質(zhì)量的多目標(biāo)圖像。根據(jù)現(xiàn)有研究,如何提升網(wǎng)絡(luò)訓(xùn)練穩(wěn)定性和提高生成圖像的質(zhì)量是亟待解決的問題。
為了提高網(wǎng)絡(luò)訓(xùn)練穩(wěn)定性和圖像質(zhì)量,本文一方面將譜歸一化運用到兩階段的判別器網(wǎng)絡(luò)中,限制每層網(wǎng)絡(luò)參數(shù)的梯度在指定范圍內(nèi),從而減緩判別器的收斂速度,在保持參數(shù)矩陣結(jié)構(gòu)不被破壞的前提下實現(xiàn)提高網(wǎng)絡(luò)訓(xùn)練穩(wěn)定性的目的;另一方面將感知損失函數(shù)加入生成器網(wǎng)絡(luò)中,使生成圖像更加真實自然。
生成對抗網(wǎng)絡(luò)由一個生成器和一個判別器構(gòu)成,為了到達納什平衡,采用對抗的方式進行學(xué)習(xí)。生成器G的輸入是服從正態(tài)分布的隨機噪聲z,輸出是假圖像G(z),目的是盡量去學(xué)習(xí)真實的數(shù)據(jù)分布。判別器D的輸入是來自真實數(shù)據(jù)集的圖像x和生成器輸出的假圖像G(z),輸出是判別器給圖像真實度打的分值D(x)與D(G(z)),取值為0~1,分值越高,說明圖像越接近真實圖像,其目的是盡量正確判別輸入數(shù)據(jù)是來自于真實數(shù)據(jù)還是生成數(shù)據(jù)。生成器G和判別器D交替訓(xùn)練,其損失函數(shù)如式(1)所示:
Ez~pz[log(1-D(G(z)))]
(1)
其中,x是來自真實數(shù)據(jù)集pdata的真實圖像,z是來自服從高斯分布pz的噪聲矢量。
由于生成對抗網(wǎng)絡(luò)根據(jù)噪聲z生成圖像的方式過于自由,對于較復(fù)雜的數(shù)據(jù),容易變得不可控,得到的圖像可能存在偏差較大的情況,因此文獻[12]提出條件生成式對抗網(wǎng)絡(luò)cGAN(conditional Generative Adversarial Network),通過在生成器和判別器中加入約束條件來解決該問題,換句話說就是為模型添加額外的輔助信息y。這一策略的作用是監(jiān)督生成式對抗網(wǎng)絡(luò),其訓(xùn)練過程與生成式對抗網(wǎng)絡(luò)(GAN)相同,此時條件生成式對抗網(wǎng)絡(luò)的損失函數(shù)如式(2)所示:
Ez~pz[log(1-D(G(z|y)))]
(2)
與式(1)的區(qū)別是在生成器和判別器的輸入中都添加了額外的輔助信息y,使無監(jiān)督生成變成了有監(jiān)督生成,在保持多樣性生成的同時也指定了相應(yīng)的生成對象。本文的網(wǎng)絡(luò)模型正是采用了條件生成對抗網(wǎng)絡(luò),并采用文本描述向量化技術(shù)[13]將文本內(nèi)容轉(zhuǎn)化為作為附加信息條件的向量。
由于生成對抗網(wǎng)絡(luò)會出現(xiàn)模式坍塌等問題[14],因此在后續(xù)的研究中學(xué)者們也提出了諸多解決方法[15,16]。歸一化層的提出主要是為了克服深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練的問題,將輸入的數(shù)據(jù)映射到[0,1],這樣不僅可使網(wǎng)絡(luò)訓(xùn)練更加穩(wěn)定,還可以提高訓(xùn)練過程中模型的精度。
譜歸一化[17]通過嚴(yán)格約束每一層網(wǎng)絡(luò)權(quán)重矩陣的譜范數(shù)來約束判別器的Lipschitz常數(shù),從而增強條件生成對抗網(wǎng)絡(luò)在訓(xùn)練中的穩(wěn)定性。相比于其他的歸一化技術(shù),譜歸一化只需要調(diào)整Lipschitz常數(shù),在文獻[17]中已證實了這一結(jié)論。
根據(jù)Lipschitz常數(shù)定義可得式(3):
(3)
其中,M為大于0的常數(shù),f(x)為定義在實數(shù)集上的函數(shù)。
(4)
對網(wǎng)絡(luò)的每一層g,以h作為輸入,在此本文不討論有偏置項,則g(h)=Wh,有:
(5)
而在整個網(wǎng)絡(luò)f(x)=WL+1aL(WL(aL-1(WL-1(…a1(W1x)…))))中,因為有‖g1°g2‖≤‖g1‖Lip·‖g2‖Lip,所以有:
(6)
其中,L為網(wǎng)絡(luò)層數(shù),Wl為第l層的權(quán)重。
若要將每層網(wǎng)絡(luò)的Lipschitz常數(shù)限制為1,即‖g‖Lip=1,則需要σ(W)=1。
故通過式(7)對權(quán)重矩陣W做譜歸一化處理,得到:σ(W)=1。
(7)
感知損失函數(shù)是由文獻[18]提出的,具有接近人眼視覺感知特性,可以使生成的圖像更加真實自然,并且文獻[19]的結(jié)論表明其增強了文本內(nèi)容與生成圖像的一致性。
(8)
本文模型采用生成器網(wǎng)絡(luò)和判別器網(wǎng)絡(luò)交替訓(xùn)練的方式,其目的分別是最小化生成器損失LG和最大化判別器損失LD。采取文獻[6]的方法在生成器網(wǎng)絡(luò)的訓(xùn)練中加入如式(9)所示的LKL損失:
LKL=DKL(N(μ0(ρt),Σ0(ρt))|N(0,I))
(9)
第一階段的生成器網(wǎng)絡(luò)損失LG1包括對抗損失、LKL損失(α=1)和感知損失函數(shù)Lper,判別器網(wǎng)絡(luò)損失LD就等于對抗損失。目標(biāo)函數(shù)計算如式(10)所示:
maxLD1=E(I1,t)~pdata[logD1(I1,ρt)]+
Ez~pz,t~pdata[log(1-D1(G1(z,c),ρt))],
minLG1=Ez~pz,t~pdata[log(1-D1(G1(z,c),ρt))]+
αDKL(N(μ0(ρt),Σ0(ρt))|N(0,I))+
(10)
其中,(Ι1,t)~pdata表示真實圖像Ι1和文本描述t均來自真實數(shù)據(jù)分布pdata;z是服從正態(tài)分布的隨機噪聲;ρt是文本編碼的特征向量;c是條件向量。
Figure 1 Structure diagram of the discriminator network model in this paper圖1 本文判別器網(wǎng)絡(luò)模型結(jié)構(gòu)圖
第二階段生成對抗網(wǎng)絡(luò)的目標(biāo)函數(shù)LG2與LD2,如式(11)所示:
2)中國女籃的首發(fā)陣容結(jié)構(gòu)要適應(yīng)日本女籃“五小”的陣容布置,這種陣容結(jié)構(gòu)比的是更快、更硬、更準(zhǔn),因此中國女籃要從體能、技戰(zhàn)術(shù)到心理素質(zhì)等有一個全方位的提升。
maxLD2=E(I2,t)~pdata[logD2(I2,ρt)]+
Ez~pz,t~pdata[log(1-D2(G2(m,c),ρt))],
minLG2=Ez~pz,t~pdata[log(1-D2(G2(m,c),ρt))]+
αDKL(N(μ0(ρt),Σ0(ρt))|N(0,I))+
(11)
其中,m=G1(z,c)是第一階段的生成結(jié)果。
為了進一步提高網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性,增強生成圖像的質(zhì)量,本文基于兩階段堆疊結(jié)構(gòu)生成對抗網(wǎng)絡(luò)提出一種結(jié)合譜歸一化的文本到圖像的生成對抗網(wǎng)絡(luò)模型。該模型由2個階段組成,其中第一階段利用文本描述粗略勾畫物體的主要形狀和顏色,生成低分辨率圖像;在第二階段將第一階段的結(jié)果和文本描述作為輸入生成高分辨率圖像。本文2個階段的生成對抗網(wǎng)絡(luò)均采用條件生成對抗網(wǎng)絡(luò),但是在2個階段中均在判別器網(wǎng)絡(luò)的每一層中加入譜歸一化,如圖1所示。圖1a和圖1b分別是改進后的第一階段和第二階段的判別器網(wǎng)絡(luò)框架,由于本文生成器的網(wǎng)絡(luò)框架與StackGAN模型中的生成器是一樣的,所以這里不再贅述。本文提出的在網(wǎng)絡(luò)中加入譜歸一化不僅能約束每層的Lipschitz常數(shù)等于1,還能不破壞權(quán)重矩陣的結(jié)構(gòu)。
在本文中,首先對數(shù)據(jù)進行預(yù)處理:采用文本編碼器預(yù)訓(xùn)練好的文本特征向量ρt作為輸入,但是ρt是一個1 024維的高維向量,因此接著通過一個條件增強模型,降維后得到128維的條件向量c。
第一階段生成器網(wǎng)絡(luò)的輸入是c和隨機噪聲向量z生成64×64像素的低分辨率圖像;接著判別器網(wǎng)絡(luò)將64×64像素的圖像經(jīng)過下采樣后得到一組向量,再將該組向量和文本特征向量ρt相結(jié)合,經(jīng)過卷積層后輸出概率分布,以此判斷輸入圖像的真假。
第二階段是將條件向量c與第一階段的生成結(jié)果經(jīng)過下采樣模塊后得到的向量相結(jié)合,通過生成器網(wǎng)絡(luò)生成256×256像素的圖像,再次輸入判別器網(wǎng)絡(luò),最后判別輸出質(zhì)量較好、內(nèi)容相對應(yīng)的256×256像素的圖像。
由于生成式對抗網(wǎng)絡(luò)中生成器和判別器在交替訓(xùn)練時,判別器會很早達到一個可區(qū)分真假的理想狀態(tài),而判別器達到理想狀態(tài)后無法給生成器提供任何的梯度信息去優(yōu)化圖像,導(dǎo)致網(wǎng)絡(luò)出現(xiàn)模式坍塌以及不收斂等問題。本文模型與StackGAN最大的不同點在于判別器的設(shè)置,本文在判別器網(wǎng)絡(luò)中的每一層卷積層后都加一層譜歸一化,將每層網(wǎng)絡(luò)梯度限制在固定范圍內(nèi),減緩判別器的收斂速度,為生成器提供更多有效信息,從而提高網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性,生成質(zhì)量更好的圖像。本文還在生成器網(wǎng)絡(luò)中結(jié)合了感知損失函數(shù),聯(lián)合原有的損失函數(shù)共同優(yōu)化生成圖像,進一步提升生成圖像的質(zhì)量,使得圖像更為自然、真實。
為了驗證本文模型的有效性,本文在Oxford-102數(shù)據(jù)集[21]和coco數(shù)據(jù)集[22]上進行實驗,并對結(jié)果采用評價指標(biāo)Inception Score進行評價,其計算如式(12)所示:
I=exp(ErDKL(P(r|y)|P(y)))
(12)
其中,r為生成樣本;y為Inception model預(yù)測的標(biāo)簽。一個好的生成模型應(yīng)該生成多樣且有意義的圖像,因此,邊緣分布P(y)和條件分布P(r|y)的KL散度應(yīng)該越大越好。
由于測試集的圖像數(shù)量較多且訓(xùn)練次數(shù)達到了120次,因此本節(jié)選取具有代表性的訓(xùn)練次數(shù)作為展示。圖2和圖3展示了不同訓(xùn)練階段中不同訓(xùn)練輪次的生成圖像效果,并與文獻[6]的StackGAN模型進行了對比。
如圖2所示,第一階段不同迭代次數(shù)下的圖像對比圖中可以很清楚地觀察到,在階段一中,文獻[6]的模型在迭代60次左右的時候就已經(jīng)達到生成能力較好的狀態(tài),也就是此時判別器達到了區(qū)分真假圖像的完美能力,不再繼續(xù)給生成器反饋信息。而本文模型在判別器網(wǎng)絡(luò)中加入了譜歸一化后,減緩了判別器的收斂速度,判別器持續(xù)給生成器反饋信息,不斷優(yōu)化生成器網(wǎng)絡(luò),最后使得生成器生成的圖像更加清晰。
Figure 2 Image comparison under different iteration times in the first stage圖2 第一階段不同迭代次數(shù)下的圖像對比
圖3是第二階段文獻[6]和本文模型生成的圖像對比,由于本文模型減緩了判別器的收斂速度,所以在訓(xùn)練過程中不僅訓(xùn)練穩(wěn)定也可讓生成器接受到更多信息,生成更加具有多樣性的圖像。
Figure 3 Comparison of the images generated by models in reference[6] and this article in the second stage圖3 第二階段文獻[6]和本文模型生成圖像的對比
表1所示是本文模型與文獻[6]模型、文獻[8]模型的Inception Score值的對比。由于本文模型的實驗設(shè)備有限,因此與文獻[6]模型得到的數(shù)值有差距,但是仍可以看出,本文所提模型的生成效果有較明顯的提升。從表1中可以得到,相比于文獻[6]模型,本文模型在Oxford-102數(shù)據(jù)集上的實驗結(jié)果提升了約9.25%,在coco數(shù)據(jù)集上提升了約8.19%。
圖4所示為當(dāng)生成器網(wǎng)絡(luò)的損失函數(shù)加入感知損失函數(shù)后文獻[6]、文獻[8]與本文模型的生成圖像對比,可以很明顯地從圖4中觀察到本文模型生成的圖像內(nèi)容表現(xiàn)更好:顏色鮮明、生成內(nèi)容明確。
Figure 4 Comparison of the generated pictures before and after the perceptual loss function is added to the generator network圖4 生成器網(wǎng)絡(luò)加入感知損失函數(shù)前后生成圖像的對比
Table 1 Comparison of Inception scores of models on different data sets
本文模型生成的圖像與其它模型的相比更加真實、自然。
針對文本生成圖像任務(wù),本文提出一種結(jié)合譜歸一化的文本到圖像生成對抗網(wǎng)絡(luò)模型,沿用堆疊生成對抗網(wǎng)絡(luò)的思想,在其基礎(chǔ)上將譜歸一化運用到判別器中,將每層網(wǎng)絡(luò)梯度限制在固定范圍內(nèi),減緩判別器的收斂速度,從而提高網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性。為了驗證本文模型的有效性,在Oxford-102與coco數(shù)據(jù)集上進行了實驗,并采用評價指標(biāo)Inception Score與StackGAN模型進行了對比。無論是在個人主觀觀察還是客觀評價指標(biāo)對比上,本文所提的模型都取得了一定的進步。未來將進一步針對較復(fù)雜的數(shù)據(jù)集,將空間注意力與模型網(wǎng)絡(luò)架構(gòu)結(jié)合起來提高生成圖像效果。