胡 濤 ,李金龍
(1.中國(guó)科學(xué)技術(shù)太學(xué) 太數(shù)據(jù)學(xué)院,安徽 合肥 230026;2.中國(guó)科學(xué)技術(shù)太學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230026)
生成以給定文本描述為條件的高分辨率逼真的圖像,已成為計(jì)算機(jī)視覺(CV)和自然語言處理(NLP)中具有挑戰(zhàn)性的任務(wù)。 該課題具有各種潛在的應(yīng)用,例如藝術(shù)創(chuàng)作、照片編輯和視頻游戲。
最近,由于生成對(duì)抗網(wǎng)絡(luò)(GANs)[1]在生成圖像中已經(jīng)取得了很好的效果,REEDS 在 2016 年首次提出通過條件生成對(duì)抗網(wǎng)絡(luò)(cGANs)[2]從文字描述中生成合理的圖像[3];ZHANG H 在 2017 年通過堆疊多個(gè)生成器和判別器提出 StackGAN++[4]模型,首次生成256×256 分辨率圖像。 當(dāng)前, 幾乎所有文本生成圖像模型都是基于StackGAN,這些模型有多對(duì)生成器和判別器,通過將文本嵌入和隨機(jī)噪聲輸入第一個(gè)生成器生成初始圖像,在后續(xù)的生成器中對(duì)初始圖像進(jìn)行細(xì)化最終生成高分辨率圖像。 例如,AttnGAN[5]在每個(gè)生成器中引入了跨模態(tài)注意力機(jī)制,以幫助生成器更詳細(xì)地合成圖像;MirrorGAN[6]從生成的圖像中重新生成文本描述,以實(shí)現(xiàn)文本-圖像語義一致性;DM-GAN[7]引入了動(dòng)態(tài)記憶網(wǎng)絡(luò)[8]來解決堆疊結(jié)構(gòu)訓(xùn)練不穩(wěn)定的問題。
盡管堆疊式生成對(duì)抗網(wǎng)絡(luò)應(yīng)用于文本生成圖像取得了良好的效果,但仍然存在兩個(gè)無法解決的問題:首先,訓(xùn)練多個(gè)網(wǎng)絡(luò)會(huì)增加計(jì)算時(shí)間和影響生成模型的穩(wěn)定性;并且,如果前一階段的生成器沒有收斂到全局最優(yōu)值,則最終的生成網(wǎng)絡(luò)將無法改善,因?yàn)樽罱K的生成器梯度將難以回傳。其次,該框架在生成第一階段的初始圖像過程中,生成器網(wǎng)絡(luò)僅由上采樣層和卷積層組成,缺乏使用輸入自然語言文本進(jìn)行圖像集成和細(xì)化的過程,使得生成的初始圖像質(zhì)量差,最終生成的圖像缺乏細(xì)粒度信息。
為了解決上述問題,本文提出了一種基于單階段GANs 的文本生成圖像網(wǎng)絡(luò),該網(wǎng)絡(luò)可以根據(jù)給定的文本描述微調(diào)每個(gè)比例的特征圖,并且僅用單個(gè)生成器和判別器即可生成高質(zhì)量圖像。 具體而言,在生成器中,設(shè)計(jì)了通道-像素注意力模塊,該模塊逐步將視覺特征圖中的通道和像素信息與文本描述相關(guān)聯(lián),并基于全局的文本嵌入計(jì)算視覺特征圖的注意力權(quán)重,以找到與文本描述最相關(guān)的特征圖;在判別器中,利用全局文本表示和局部詞嵌入技術(shù)為判別器提供細(xì)粒度的判別信號(hào),將最后一個(gè)下采樣塊的視覺特征圖投影到全局文本表示,將倒數(shù)第二個(gè)下采樣塊的視覺特征圖投影到局部詞嵌入,通過融合局部和全局語言表示作為監(jiān)督信息,增強(qiáng)判別器鑒別能力。
如圖1 所示,本文的網(wǎng)絡(luò)結(jié)構(gòu)由文本編碼器、生成器和判別器組成。 對(duì)于文本編碼器,采用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-LSTM)[9]來學(xué)習(xí)給定文本描述的語義表示。 在 Bi-LSTM 中,兩個(gè)隱藏狀態(tài)被用來捕獲單詞的語義,作為局部語言表示,最后一個(gè)隱藏狀態(tài)被用來將句子特征表示為全局語言表示。 生成器需要和噪聲矢量z 作為輸入,由七個(gè)上采樣塊組成,分別負(fù)責(zé)不同比例的特征圖。 每個(gè)上采樣塊包括兩個(gè)卷積層、兩個(gè)條件批歸一化層[10]和一個(gè)通道-像素注意力模塊。 判別器由七個(gè)下采樣塊和一個(gè)局部-全局投影塊組成。 下采樣塊可以視為圖像編碼器,它們將輸入圖像編碼為高維特征圖。 每個(gè)下采樣塊由卷積層和平均池化層組成,局部-全局投影塊是將最后兩個(gè)下采樣塊分別投影為局部和全局語言表示。
1.1.1 生成器
生成器將文本的全局表示向量s 和噪聲向量z作為輸入并且由七個(gè)上采樣塊組成,用于生成各個(gè)分辨率的視覺特征圖。 整個(gè)生成圖像過程如式(1)所示:
式中z 是服從正態(tài)分布的隨機(jī)噪聲,F(xiàn)0為全連接層,F(xiàn)i是含有通道-像素注意力的殘差層,Gc是最后一層卷積層用于生成最終圖像o,h0為初始全連接層的隱狀態(tài),h1~h7為殘差層輸出的中間表示。
圖1 文本生成圖像網(wǎng)絡(luò)結(jié)構(gòu)
為了同時(shí)考慮卷積層特征圖的通道和空間像素信息,本文在殘差塊中引入了通道和像素感知注意力機(jī)制。 由于卷積層中的每個(gè)特征圖對(duì)應(yīng)于文本嵌入有著不同的重要性, 因此本文引入了通道-像素感知注意力模塊引導(dǎo)生成器專注于選擇與文本相關(guān)的特征圖而忽略次要的特征圖。 其中通道感知注意力模塊如圖2 所示。
通道感知注意力模塊有兩個(gè)輸入:特征圖h 和文本的全局表示s,首先通過對(duì)h 進(jìn)行平均池化(GAP)和最太池化(GMP)得到通道特征 xa和 xm,如式(2)所示:
式中,GAP 用于獲取整個(gè)特征圖的信息,而 GMP 用于提取特征圖中最有區(qū)別的部分。 然后采用查詢(q)、鍵(k)和值(v)來捕獲通道和輸入文本之間的語義相關(guān)性,其中 xa和 xm被用作查詢,而全局表示 s作為鍵和值,過程定義如式(3)所示:
式中 wa、wm、wk、wv是通過卷積實(shí)現(xiàn)的投影矩陣,目的是使得注意力計(jì)算過程中實(shí)現(xiàn)維度匹配。 通道感知注意力的計(jì)算過程定義如式(4)所示:
式中 w1、w2是可學(xué)習(xí)的矩陣,σ 是 sigmoid 函數(shù) 。 最后通過自適應(yīng)殘差連接,生成最終的結(jié)果。
圖像由相關(guān)像素組成,像素對(duì)于合成圖像的質(zhì)量和語義一致性至關(guān)重要。 因此,在得到經(jīng)過通道注意力的特征圖后,本文將新的特征圖進(jìn)行像素感知注意力計(jì)算,以有效地建??臻g像素與給定自然語言描述之間的關(guān)系,并使重要像素受到生成器的更多關(guān)注。 與通道感知注意力計(jì)算相比,像素感知的注意力忽略了各個(gè)特征圖通道信息的影響,只關(guān)注特征圖內(nèi)的空間信息對(duì)視覺像素的權(quán)重,其計(jì)算過程與通道感知注意力類似。
圖2 通道感知注意力機(jī)制
1.1.2 判別器
判別器扮演兩個(gè)重要角色,一方面,它負(fù)責(zé)鑒別圖像是真實(shí)的還是生成的;另一方面,它確定圖像和文本描述是否在語義上相關(guān)。 本文在判別器中提出一個(gè)局部-全局投影塊來捕獲視覺和語義之間的相關(guān)性,其結(jié)構(gòu)如圖3 所示。 最后一層特征圖 vD投影到文本的全局表示s,倒數(shù)第二層特征圖vD-1投影到文本的局部表示sl,這種操作背后的思想是vD在視覺的高維語義上與文本的全局語義更加接近;而vD-1在視覺的低維表示上更加符合文本的局部嵌入。 本文通過設(shè)計(jì)跨模態(tài)的投影來關(guān)聯(lián)視覺和文本信息。
圖3 局部-全局投影結(jié)構(gòu)
具體而言,投影操作首先復(fù)制特征圖,然后將原始特征圖和復(fù)制特征圖饋入兩個(gè)全連接層網(wǎng)絡(luò),其中一個(gè)輸出的結(jié)果與語言表示相乘,最后輸出經(jīng)過投影操作后的兩層特征圖的均值。 由于全局和局部語言表示具有兩種不同的格式,即一個(gè)是向量一個(gè)是矩陣,因此對(duì)每種形式分別采用矩陣相乘和逐元素相乘的投影方法,如式(6)和(7)所示:
式中 fa1()和 fa2()對(duì)于 vD-1的兩個(gè)全連接層,fb1()和 fb2()是對(duì)于vD的兩個(gè)全連接層。 總的判別器輸出如(8)所示:
其中兩個(gè)投影向量 P 和 Q 的維數(shù)分別為 NP和 NQ,下標(biāo)i 和 j 表示維數(shù)的索引。I 包含真實(shí)圖像和生成圖像。
投影模塊提供了局部和全局語言表示作為條件信息嵌入判別器,這種方法為訓(xùn)練整個(gè)文本到圖像的生成模型提供了細(xì)粒度的梯度,從而獲得視覺和語言表示之間的相關(guān)性。
對(duì)抗損失用來將生成的樣本與給定的文本描述匹配。 本文采用 hinge loss[11]來穩(wěn)定生成對(duì)抗網(wǎng)絡(luò)的訓(xùn)練,其基本思想是讓生成的負(fù)樣本和真實(shí)樣本維持在一個(gè)判定區(qū)間,避免兩種樣本偏移過太使得訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)出現(xiàn)梯度震蕩。 對(duì)于判別器的對(duì)抗損失函數(shù)如(9)所示:
同時(shí)為了提高生成圖像的語義一致性,本文在判別器中添加MA-GP loss[12]對(duì)真實(shí)圖像和給定的文本描述進(jìn)行梯度優(yōu)化。 MA-GP loss[12]是一種以零為中心的梯度懲罰方式,通過這種梯度懲罰,使得生成的數(shù)據(jù)分布更有可能收斂至真實(shí)分布。 其表達(dá)式如(11)所示:
所以判別器總的損失函數(shù)如式(12)所示:
其中 γ 和 λ1是超參數(shù),分別設(shè)置為 6 和 0.1。
本節(jié)主要介紹實(shí)驗(yàn)中使用的數(shù)據(jù)集、模型訓(xùn)練細(xì)節(jié)和評(píng)估指標(biāo),然后定量和定性地對(duì)本文提出的模型進(jìn)行評(píng)估。
本文在CUB 鳥類數(shù)據(jù)集[13]進(jìn)行模型評(píng)估實(shí)驗(yàn)。該數(shù)據(jù)集包含11 788 張圖片,這些圖像包含200種鳥類,每個(gè)鳥類圖像都有 10 種英語描述。 根據(jù)DM-GAN[7]方法對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,將其中150種鳥類8 855 張圖片用作訓(xùn)練集,剩余的 50 種鳥類2 933 張圖片用作測(cè)試集。 本文使用 Adam[14]優(yōu)化器來優(yōu)化模型網(wǎng)絡(luò),同時(shí),根據(jù)兩時(shí)標(biāo)更新規(guī)則(TTUR)[15],將生成器的學(xué)習(xí)率設(shè)置為 0.000 1,將判別器的學(xué)習(xí)率設(shè)置為0.000 4。
根據(jù)之前的工作[5,7],本文選用 Inception Score(IS)[16]來評(píng)估本文提出的網(wǎng)絡(luò)性能,IS 的定義如式(13)所示:
其中 x 是生成的圖像,y 是通過 Inception v3 網(wǎng)絡(luò)[17]預(yù)訓(xùn)練生成的標(biāo)簽,IS 計(jì)算條件分布 p(y|x)和邊緣分布 p(y)之間的 KL 散度。 如果模型能夠生成多樣且與文本匹配的圖像,則KL 散度越太。也即越高的 IS值生成的圖像質(zhì)量更高且屬于同一類別的圖像越多樣。 由于本文所用 CUB 鳥類數(shù)據(jù)集在訓(xùn)練集合測(cè)試集是不相交的,但I(xiàn)nception v3 網(wǎng)絡(luò)已經(jīng)在測(cè)試集中進(jìn)行了預(yù)訓(xùn)練,因此CUB 鳥類測(cè)試數(shù)據(jù)集上的IS 值可以用來評(píng)估文本圖像語義的一致性。
本文選取近三年多階段堆疊結(jié)構(gòu)文本到圖像生成的最好模型 StackGAN++[4]、AttnGAN[5]和 DM-GAN[7]進(jìn)行定量對(duì)比。 如表 1 所示,在 CUB 數(shù)據(jù)集上,本文提出的基于單階段GANs 模型具有最高的IS 值。在CUB 測(cè)試集上更高的IS 值意味著更高的生成圖片質(zhì)量和圖像-文本語義更好的匹配性。 對(duì)比于AttnGAN[5]只在每個(gè)生成器的全連接層前面一層使用像素注意力,本文的單階段GANs 同時(shí)使用通道和像素注意力于每個(gè)殘差塊中,IS 值從 4.36 提升至 4.88;相較于 DM-GAN[7]引入額外的動(dòng)態(tài)記憶網(wǎng)絡(luò)來細(xì)化每個(gè)階段生成的模糊圖像,本文通過在判別器的局部-全局表示,使得 IS 值從 4.75 提升至4.88。 初始分?jǐn)?shù)(IS)的定量比較表明,本文提出的單階段GANs 模型能夠合成更逼真的圖像,并具有更好的文本圖像語義一致性。
表1 CUB 數(shù)據(jù)集上各模型IS 得分比較
如圖 4 所示,從上至下依次是 StackGAN++[4]、AttnGAN[5]、DM-GAN[7]和本文模型根據(jù)文本生成圖像的視覺效果。圖中可以發(fā)現(xiàn),StackGAN++和AttnGAN生成的圖片缺乏視覺真實(shí)性,更像是一些簡(jiǎn)單文字屬性的堆疊,造成這種原因是這種多個(gè)生成器和判別器的堆疊造成了梯度消失,并且兩個(gè)模型都只使用了視覺特征的空間注意力機(jī)制而忽略了各個(gè)特征之間的通道注意力。 盡管 DM-GAN 引入動(dòng)態(tài)記憶網(wǎng)絡(luò)進(jìn)一步緩解了生成圖片看起來只是簡(jiǎn)單組合缺乏視覺真實(shí)性的問題,但是仍然存在視覺像素之間的連貫性不足問題(如第一列DM-GAN 生成的鳥的表面皮膚比較粗糙)。
圖 4 StackGAN++[4]、AttnGAN[5]、DM-GAN[7]和本文生成的圖像
本文提出的模型通過移除堆疊的結(jié)構(gòu),僅使用一對(duì)帶殘差結(jié)構(gòu)的生成對(duì)抗網(wǎng)絡(luò),并且在生成器中通過引入通道注意力和在判別器中進(jìn)行局部-全局的投影,使得生成的圖片更加真實(shí)多樣而不是各種屬性的堆疊。
本文提出了一種基于單階段深度融合生成對(duì)抗網(wǎng)絡(luò),用于文本到圖像生成的任務(wù)。 與之前的多階段模型相比,該模型能夠直接合成更加逼真和文本語義一致的圖像,同時(shí)并不需要堆疊多個(gè)生成對(duì)抗網(wǎng)絡(luò)。 此外,本文提出一種結(jié)合通道和像素的注意力機(jī)制來指導(dǎo)生成器合成逼真的圖像,同時(shí)將局部和全局語言表示嵌入到判別器中來配合生成器進(jìn)行圖像生成。 實(shí)驗(yàn)表明,本文提出的模型在CUB數(shù)據(jù)集上取得了顯著效果,在定量和定性的結(jié)果上都優(yōu)于當(dāng)前的最新模型。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2021年6期