趙 宏 李文改
(蘭州理工大學計算機與通信學院 蘭州 730050)
近年來,文本和圖像跨模態融合的研究吸引了計算機視覺和自然語言處理領域學者的廣泛關注,尤其是在圖像描述生成、視覺推理、視覺問答以及文本生成圖像等領域得到廣泛應用。本文聚焦于文本圖像跨模態融合領域中熱度較高的子任務,即文本生成圖像任務。文本生成圖像,即根據文本描述生成符合文本內容和涵蓋豐富細節的高質量逼真圖像。隨著深度學習技術的發展,生成對抗網絡(Generative Adversarial Networks, GANs)[1]用于圖像和視頻生成的應用率顯著提升,常被用于文本生成圖像任務,且展現出了廣闊的應用前景,為人工智能的發展做出了進一步的貢獻。
基于GANs的文本生成圖像方法將文本描述作為生成器的條件信息,采用單階段或多階段的方式生成逼真圖像,送入判別器進行識別。單階段的方式采用單個生成器和判別器生成圖像,如融合匹配感知鑒別器和流形插值學習的深度卷積生成對抗網絡(Generative Adversarial Network-INTerpolation-learning with manifold interpolation-matching-aware discriminator, GAN-INT-CLS)、基于關鍵點和邊界框的文本到圖片的生成模型(Generative Adversarial What-Where Network, GAWWN)使用單級生成對抗網絡生成了分辨率較低的圖像。多階段的方式采用多級生成器和判別器分階段逐級生成高分辨率且細節豐富的圖像,例如堆疊生成對抗性網絡(Stacked Generative Adversarial Networks,StackGAN)、改進的堆疊生成對抗網絡(realistic image synthesis with Stacked Generative Adversarial Networks, StackGAN++)等。然而,多階段的模型過于依賴初始生成圖像的質量,會弱化文本信息提供的細節約束。為進一步使生成的圖像更加符合文本描述,李云紅等人[2]提出使用交叉注意力編碼器,提升生成圖像的逼真度以及與文本的匹配度。譚馨悅等人[3]在深度卷積生成對抗網絡(Deep Convolution Generates Adversarial Networks,DCGAN)[4]中引入了一個條件增強模型,通過文本特征向量的均值和協方差矩陣產生的條件變量代替高維的文本特征向量,從而解決了以文本為條件生成的圖像存在結構缺失和圖像不真實的問題。
但是,目前的方法在對文本信息進行編碼時,并未考慮其與對應圖像信息的映射關系,導致生成的圖像與文本語義的匹配度仍然較低,且圖像質量也受到了影響。此外,基于GANs的文本生成圖像方法還會出現模型訓練不收斂和模式崩潰的問題。Arjovsky等人[5]提出使用Wasserstein距離來衡量兩個概率分布之間的距離,理論上解決了GANs模型訓練中不收斂的問題,使得判別器能為生成器提供可用的訓練梯度。Jalayer等人[6]提出將判別器的梯度作為正則項加入生成器的損失函數中,用于生成更高質量的圖像,但在實驗中發現該方法的收斂速度較慢。Wang等人[7]提出將實例噪聲注入判別器中,從而防止判別器的過擬合,但由于注入判別器中噪聲分布難以確定,生成對抗網絡用于文本生成圖像時的穩定訓練受到挑戰。
針對基于GANs的文本生成圖像方法仍然存在網絡訓練過程不穩定,特征提取不充分和生成的圖像質量欠佳等問題,本文提出基于擴散Wasserstein生成對抗網絡的文本生成圖像模型(Diffusion Wasserstein Generative Adversarial Networks, DWGAN),本模型首先使用擴散前向過程對原始圖像進行加噪處理,隨后將采樣的實例噪聲輸入判別器,使得判別器能夠反向傳播梯度給生成器,從而不斷更新生成器的權重,以實現穩定的網絡訓練,提高生成圖像的質量。由于擴散過程中采樣成本高,本文提出了一種隨機微分的方法縮短采樣路徑,減少采樣成本。此外,使用基于對比學習的語言-圖像預訓練(Contrastive Language Image Pre-training,CLIP)模型作為預訓練的編碼器,以獲得文本與圖像信息之間的跨模態映射關系,從而提高生成圖像與文本語義的匹配度,提高生成圖像的逼真度。
D-WGAN的整體架構由3部分構成,即擴散過程、CLIP預訓練編碼器和生成對抗網絡,如圖1所示。
圖1 D-WGAN整體結構
圖1中,文本描述text與對應初始圖像x0首先分別輸入CLIP預訓練編碼器中,生成對應的文本表征Ctext和圖像表征R;然后,將文本表征Ctext與初始圖像的實例噪聲xt共同輸入生成器G中生成圖像;最后,將生成的圖像經過擴散前向過程的實例噪聲與初始圖像的實例噪聲 (xt-1,xt)共同輸入判別器D中,進行生成對抗訓練。
為了注入適當的實例噪聲以實現GANs的穩定訓練,本文向判別器中輸入擴散前向過程中隨機采樣的實例噪聲。擴散前向過程是指在圖像中逐步添加不同噪聲比的高斯混合分布噪聲,以破環圖像的原始分布。將此過程中隨機采樣得到的樣本作為實例噪聲輸入判別器。由于前向擴散過程的所有擴散步驟均是可微的,因此判別器可以反向傳播梯度,可以通過判別器來更新生成器,生成質量更高的圖像。D-WGAN中生成器和判別器滿足式(1)的關系
其中,G=gθD=fθ,z為帶噪圖像與圖像特征之間的關系,服從分布p(z);x為干凈圖像特征,服從分布pr。生成器的目標是最大化D(G(z)),使得判別器無法正確判別生成圖像;而判別器的目標為最大化L,準確地判別出所有生成器生成的圖像。以此開展生成-判別網絡的對抗訓練,使得生成-判別過程相互加強,達到提高生成圖像質量的目的。
文本生成圖像任務需要強大的語義文本編碼器來提取具有復雜性和建構性的自然語言文本特征。當前該領域提取文本特征的基礎方法是使用從頭開始訓練的語言模型或在圖像-文本數據對上進行預訓練的模型[8],例如CLIP。CLIP在大量的文本-圖像數據對上學習到了非常豐富和廣泛的文本與圖像信息的聯合分布,因此本文使用CLIP作為預訓練編碼器學習文本和圖像之間的聯合表征,并將其分類損失和余弦相似度函數作為生成對抗網絡的一種監督損失,以協助D-WGAN生成與文本描述更加一致的圖像。CLIP預訓練編碼器由兩個獨立的部分組成:圖像編碼器和文本編碼器,如圖2所示。
圖2 CLIP預訓練編碼器
圖2中,文本編碼器采用Transformer結構,圖像編碼器采用視覺轉換器(Vision Transformer, ViT)網絡。為了使生成器能夠生成與文本最匹配的圖像,在訓練過程中將生成圖像輸入圖像編碼器,得到生成圖像特征dimg以及由圖像特征映射出的文本特征Cimg,然后使用Sim函數度量Cimg與目標文本特征Ctext之間的相似性,最后將最小化的Sim函數作為生成器優化條件。生成圖像的特征dimg和真實圖像的特征R之間的距離定義為分類損失l,將最小化的Loss作為判別器的優化條件,則優化問題表示為
CLIP作為預訓練編碼器的主要優勢是不需要為特定任務標記其訓練數據,可以在海量的圖像和松散的文本描述中進行訓練。因此,D-WGAN使用凍結權重的CLIP作為編碼器,以獲得文本與圖像信息之間的跨模態映射關系,從而改善了生成圖像的細節,提升生成圖像與文本的一致性。
擴散模型[9](Denising Diffusion Probabilistic Models, DDPMs)由前向過程q和反向過程pθ構成。前向過程q通過T步迭代將較小的高斯噪聲逐漸加入到數據中,直到T步時完全破壞數據結構,而反向過程pθ通過去噪函數逐步去除添加的噪聲,最終恢復原始數據,如圖3所示。
圖3 擴散模型
定義q(x0) 為數據在實數空間 RL上的分布,前向過程定義為
盡管DDPMs對復雜數據分布建模的能力出眾,但是擴散過程的推理速度較慢,影響實際應用。為提高前向過程的推理速度,將DDPMs與連續時間非線性擴散過程聯系,q(xt|x0)通過非線性擴散過程的
D-WGAN僅限于邊界和后驗概率,因此可以用任何采樣路徑進行推理。同時,該方法的反向過程在數學推導上等同于時間離散的反向過程。本文采用優化的擴散前向過程,既能夠減少前向過程步長T和實例噪聲的采樣成本,又能夠為生成對抗網絡提供穩定的訓練。
判別器D?將真實圖像和生成圖像分別經過改進擴散前向過程獲得的樣本xt-1,xt以及作為輸入,且具有可學習參數?,在訓練期間,使用q(xt-1|xt,x0) 后驗分布進行采樣,為x0的預測生成圖像。為簡化表達,將初始圖像經過擴散過程生成的 (xt-1|xt) 表示為y,生成器生成的經過改進的前向過程所得到的表示為yg。由于yg~q√(y|Gθ(z),t)能√夠根據式(5)重新參數化為yg=,并且能夠將式(1)計算的梯度直接反向傳播到生成器,從而更新生成器的梯度,使得模型訓練穩定。在任意t時刻,q(y|x,t)在高斯噪聲的注入下,y和yg都可以定義在同一個支持空間,即Df(q(y|t)‖q(yg|t))是連續可微的。
判別器D?通過卷積神經網絡提取真實圖像和生成圖像特征上的差異,作為判別真實圖像y以及生成圖像yg的依據,如圖4(b)所示。真實圖像y、生成圖像yg以及由CLIP圖像編碼器計算出的分類損失 E作為1維卷積塊的輸入,其由10個1維卷積層組成,卷積核大小為30,步長為1。在Conv1D塊中,數據首先經過合并層,然后依次流經卷積層、批標準化層,共10次迭代。其中批標準化層用來降低初始化參數對訓練結果的影響,并加快訓練速度,擴散步長t使用正弦位置編碼,以適應于任何方案的采樣路徑,使用Leaky ReLU(斜率=0.2)作為激活函數,最后輸入全連接層,輸出判別結果。
圖4 生成器與判別器的結構
對于文本生成圖像任務而言,文本描述和真實圖像分別代表了語義信息和視覺信息,生成器旨在獲得文本描述信息和圖像信息之間的映射關系,進而優化生成圖像的細節,提高圖像質量。生成器分為編碼和解碼兩個過程,它的功能是輸入帶實例噪聲的圖像,生成與文本描述一致的圖像,圖5為生成器的訓練過程。
圖5 生成器的訓練過程
在生成器中,文本描述首先經過由4個前饋Transformer塊組成的文本編碼器,以獲得文本與圖像對齊的編碼信息,其中1維卷積的隱藏大小、注意頭數、核大小和濾波器大小分別為256, 2, 9和1 024。然后將獲得的編碼信息輸入和Transformer塊相同網絡結構和超參數設置的方差適配器中,以進一步高效地捕捉語言信息和視覺信息的內在聯系,從而使得D-WGAN模型生成與文本描述一致的逼真圖像。
為使得任何采樣路徑的實例噪聲均能使用,編碼器使用正弦位置編碼對擴散步驟t編碼,將文本信息編碼與擴散步驟t編碼一起輸入擴散解碼器中,其隱藏層的維度為256。擴散解碼器首先對xt進行內核大小為1的1維卷積操作(Conv1×1),其次對輸出使用ReLU激活函數,將生成器的梯度限制在一定范圍內,防止生成器梯度下降太快與判別器梯度更新不對稱,避免模式崩潰。接下來,將經過處理的文本編碼信息、擴散步驟t編碼和xt特征編碼輸入殘差網絡中,依次經過卷積層和激活函數層。輸出通過單獨的Conv1×1層導入下一個殘差塊,經過N(本文跳過殘差塊的連接處理過程,N=3)次殘差網絡的迭代,輸出被添加到隱藏的特征圖中。最后,使用門控機制來進一步處理特征,兩個Conv1×1與ReLU激活函數交錯處理后得到生成器的輸出。
本文從定量和定性兩個方面來評估D-WGAN模型性能。在MSCOCO和CUB-200數據集上進行實驗,數據集的具體情況如表1所列。
表1 數據集
本文使用Python語言在Pytorch平臺進行實驗,并使用NVIDIA A100 GPU來訓練和測試網絡。訓練過程中,采用基于動量的Adam優化器訓練T=1, 2和4的D-WGAN模型,分別設置 β1=0.5和β2=0.9,生成器的初始學習率為 10-4,判別器的初始學習率為 2×10-4,并使用速率為0.999的指數衰減函數來調整學習率,文本-圖像數據對批處理大小為32,迭代次數為30 000。
本文使用Fréchet初始距離(Fréchet Inception Distance, FID)分數、初始得分(Inception Score,IS)[10]和召回率-精確率(Recall-Precision)[11]指標來衡量D-WGAN的性能。召回率-精確率指標通過計算文本描述句子向量和全局圖像向量的距離來衡量生成圖像和文本的匹配程度。FID分數是用于計算生成圖像特征和真實圖像特征之間距離的一種度量。FID值越低意味著兩者的特征更加接近,說明生成圖像更加接近真實圖像,即生成圖像更加生動形象。通過CLIP圖像編碼器提取生成圖像和真實圖像的特征,并根據他們的特征均值和特征協方差得出FID分數,其計算公式為
其中,μr,μ*,分別代表了真實圖像均值、生成圖像均值、真實圖像特征協方差、生成圖像特征協方差。IS是評價GAN網絡性能的一個重要指標,IS的計算公式為
其中,p(d|x),p(y)分別表示由預訓練圖像編碼器模型預測的標簽y的條件概率和邊緣概率。若條件概率越低,邊緣概率越高,則KL散度越大,代表圖像質量越高。因此,IS值越大說明生成的圖像質量越高,具有更加豐富的細節和多樣性。
3.4.1 定量評價
本文在MSCOCO和CUB-200數據集的測試集中隨機生成了30 000張圖像來計算FID分數,并與當前GANs中最先進的堆疊生成對抗性網絡(Stacked Generative Adversarial Networks, StackGAN)、基于高效神經網絡的文本生成圖像模型(EFFicient neural architecture for Text-to-Image synthesis,EFF-T2I)、注意力生成對抗網絡(Attention Generation Adversarial Network, AttnGAN)、動態記憶生成對抗網絡(Dynamic Memory Generative Adversarial Networks, DM-GAN)、深度融合生成對抗網絡(Deep Fusion Generative Adversarial Networks, DF-GAN)、基于轉換器的零樣本文本生成圖像模型(Zero-shot Text-to-Image Generation)、基于視覺語言匹配分數的生成對抗網絡(Visual Language Matching score generative Adversarial Networks, VLMGAN)、基于語義空間感知的生成對抗網絡(Semantic-Spatial Aware Generative Adversarial Networks, SSA-GAN)進行定量比較,如表2所示。
表2 不同模型的FID分數對比
D-WGAN模型在MSCOCO數據集上的FID分數為19.74,VLMAGAN模型的FID分數為23.62。相比于VLMGAN[18]模型,D-WGAN模型的FID分數下降了16.43%,表明D-WGAN模型在MSCOCO數據集上的生成圖像與真實圖像更加接近,提升了生成圖像的逼真度。與經典的DM-GAN模型相比,本文設計的D-WGAN模型的IS分數提升了3.38%,表明D-WGAN模型在生成圖像的清晰度和多樣性上有了一定提升。
在CUB-200數據集上,D-WGAN的FID分值低于大多數模型,比最先進的EEF-T2I[13]模型低0.22,即1.97%。與當前該領域較為先進的SSAGAN模型相比,IS分數從5.17左右增長到6.77左右,提升了30.95%,說明D-WGAN模型生成的鳥類圖像的清晰度有了明顯改善,內容更加生動形象,圖像質量也顯著提升。
3.4.2 定性評價
為了直觀地感受D-WGAN的性能,本文以示例的方式將D-WGAN生成的圖片同DM-GAN模型[15]和DF-GAN模型[16]生成的圖像進行可視化對比,對比結果如圖6所示。
圖6中1~4列為CUB-200數據集上3種不同模型生成的圖像示例。DM-GAN模型生成的圖像背景和實物分界不夠清晰,且較為模糊,圖片的分辨率有待提高。DF-GAN模型生成的圖像雖然輪廓比較清晰,但細節和紋理比較粗糙,且忽略了某些鳥類的豐富細節,如鳥類的腳和喙等。D-WGAN不僅能夠生成高分辨率的圖像,而且圖像的輪廓和結構清晰,實物和背景的邊界明晰,同時具備了豐富的細節的紋理,生成的鳥類的形態也更加真實。
圖6中5~8列為MSCOCO數據集上3種不同模型生成的圖像示例。DM-GAN模型生成的圖像只有大致的輪廓,圖片場景內容識別困難,生成圖像并沒有很好地捕捉到文本描述中提到的細節特征,并且圖像的分辨率不高,比較模糊。DF-GAN模型生成的圖像能夠大致識別場景內容,但是生成圖像內容存在殘缺,圖像的真實度還有待提高。D-WGAN生成圖像的輪廓清晰,相比前兩個模型生成的圖像內容更加完整,場景與實物的融合更加逼真,同時圖像突出了文本描述中的細節和紋理,質量得到了顯著的提升。
為進一步驗證在WGAN中引入擴散過程能夠使模型進行穩定訓練,本文使用的生成器和判別器都是由多層感知器組成的小規模D-WGAN模型,在25-Gaussians數據集[20]的生成任務上進行了訓練。從圖7所展示的實驗結果可知,WGAN在生成任務中表現出嚴重的模式塌陷,僅捕捉到幾個模式,并且對真實樣本和虛假樣本的判別輸出很快就相互背離,這說明判別器出現了嚴重的過擬合現象,因此不能再為生成器提供有用的學習信號。相反,D-WGAN模型在判別器中加入實例噪聲使得誤差反向傳播算法對淺層網絡的訓練梯度引起數值擾動,從而成功地捕獲了25種高斯模式,并且判別器能夠不斷地為生成器提供有用的學習信號。因此,在模型中添加擴散過程的實例噪聲能夠解決模型模式坍塌和不收斂的問題,使訓練更加穩定。
為了驗證CLIP作為預訓練編碼器能更好地捕獲文本與圖像信息之間的跨模態映射關系,從而提升生成圖像與文本的一致性。本文邀請了人類評估員來評估“w/o CLIP”(模型中不包括CLIP預訓練編碼器,使用普通的文本編碼器[21])和“w/ CLIP”(模型中包括CLIP預訓練編碼器)兩個網絡在MSCOCO數據集上生成圖像的質量。在評估過程中,評估員會看到兩種方法分別生成的一張256×256的圖像,從兩個方面對圖像進行評估:(1)哪一張圖像更符合給定的文本描述;(2)那一張圖像看起來更逼真。本文收集了1 000個文本-圖像數據對進行評估比較,使用Elo分數作為評估結果,計算方法為
其中,Aij表示模型i擊敗模型j的次數,初始化Elo分數為σi=0,i ∈[1,N]。評估結果如表3所示,人類評估員對“w/ CLIP”模型生成的圖像在真實性和文本與圖像一致性方面的評分更高。
表3 人類評估員評分結果
同時,本文分別對比了“w/o CLIP”和“w/CLIP”兩個網絡在MS-COCO數據集上的召回率-精確率評分和FID-IS評分。如圖8(a)所示,召回率-精確率分值越低則生成圖像和文本的匹配程度越高,“w/ CLIP”模型的召回率-精確率分數能夠穩定地下降,說明CLIP作為預訓練編碼器能夠提升生成圖像和文本的匹配程度。如圖8(b)所示,在相同的FID分數時,“w/ CLIP”模型的IS評分總是高于“w/o CLIP”模型,這也進一步表明,CLIP預訓練編碼器的引入有效提升了生成圖像的質量和多樣性。
此外,圖9給出了在CUB-200驗證集上D-WGAN模型與普通的WGAN模型在不同數據迭代次數下,人類評估員對生成圖像的多樣性和保真度的評分。D-WGAN隨著迭代輪數的增多,生成圖像的真實性和文本與圖像一致性都有穩定的提升,但是WGAN生成圖像的真實性反而下降,并且文本與圖像一致性評分低于D-WGAN模型。因此,在模型中添加擴散過程中的實例噪聲,不僅能穩定訓練模型,還能夠提升生成圖像的質量。
圖9 D-WGAN與WGAN在CUB-200驗證集上的表現
針對基于生成對抗網絡的文本生成圖像模型訓練不穩定、生成圖像質量差的問題,本文提出一種基于擴散WGAN的文本生成圖像模型D-WGAN。D-WGAN通過向判別器中輸入擴散前向過程中隨機采樣的實例噪聲,使得判別器可以反向傳播梯度,然后更新生成器,實現了生成對抗網絡的穩定訓練,從而提高了生成圖像的質量和多樣性。此外,在預訓練編碼階段,使用CLIP獲得文本與圖像信息之間的跨模態映射關系,從而改善了生成圖像的細節,提升了文本與圖像的一致性。由實驗結果可知,D-WGAN模型能夠進行穩定的訓練,且生成高質量的圖像。然而,在此基礎上如何進一步提升生成圖像的多樣性仍然是一個有待研究的問題。