徐天宇,王智
(清華大學(xué) 計算機科學(xué)與技術(shù)系,深圳518055)
基于給定文本生成對應(yīng)圖像是計算機視覺領(lǐng)域一項經(jīng)典且富有挑戰(zhàn)性的任務(wù),顧名思義,即給出一句描述確定內(nèi)容的文本(可描述某件物體或某個場景環(huán)境),通過一定架構(gòu)的模型生成與文本內(nèi)容相對應(yīng)的圖像,使其盡可能做到逼近現(xiàn)實,能夠迷惑人眼的識別或一些模型的判斷。該任務(wù)需要在理解文本含義的基礎(chǔ)上,根據(jù)文本的內(nèi)容構(gòu)建出合理的像素分布,形成一幅完整的、真實的圖片。因為給出的文本所包含的信息量在通常情況下都遠少于其所對應(yīng)生成的圖像(文本通常只對圖像中主體部分大致進行了描述,圖像則還包含主體所處背景、圖像全局特征等額外信息),所以一句給定的文本可能會對應(yīng)許多符合其描述的圖像結(jié)果,這是文本生成圖像任務(wù)的難點所在[1]。在如今生活、制造等多方面邁向智能化發(fā)展的時期,文本生成圖像這一任務(wù)在實際生產(chǎn)生活當(dāng)中具有非常廣的應(yīng)用價值和潛力,比如應(yīng)用于平面廣告設(shè)計領(lǐng)域,可以為廣告制作團隊生成廣告用的配圖,從而不必再專門雇用插畫制作人員;家具、日用品生產(chǎn)領(lǐng)域,可以通過給出一段產(chǎn)品描述,利用模型批量生成大量的產(chǎn)品概念圖,從而給設(shè)計者提供了可供選擇的樣例空間,降低設(shè)計環(huán)節(jié)的工作量。
如今,基于給定文本生成圖像任務(wù)的實現(xiàn)都是基于從大量的圖像數(shù)據(jù)中學(xué)習(xí)并模擬其數(shù)據(jù)的分布形式來生成盡可能接近真實的圖像,尤其在對抗生成網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[2]的火熱發(fā)展下,借助其來實現(xiàn)文本生成圖像的任務(wù)已經(jīng)成為了主流選擇,目前也有許多生成效果優(yōu)秀的模型被提出。在這一研究方面,研究者所關(guān)注的重點是如何能夠提高生成模型生成圖片的真實性、清晰度、多樣性、解析度等問題,這些將直接影響生成模型的質(zhì)量和性能,并關(guān)系到生成模型能否有效投入到實際應(yīng)用當(dāng)中。
然而如果考慮到實際應(yīng)用,圖像好看,或者有足夠的美觀度也是一項重要的需求。比如為平面廣告設(shè)計配圖,對圖像的要求不僅是清晰、真實,還應(yīng)該擁有較高的美觀度,從而能夠吸引人的眼球,提高廣告的關(guān)注度??梢哉f,如果能夠?qū)崿F(xiàn)提高此類模型生成圖片的美觀度,則在實際應(yīng)用場景中將會給用戶帶來更加良好的使用體驗,從而提高此類應(yīng)用的質(zhì)量。遺憾的是,現(xiàn)在對文本生成圖像GAN的研究很少關(guān)注生成圖像的美觀質(zhì)量,現(xiàn)有文獻中也并未發(fā)現(xiàn)有將美學(xué)評判與圖像生成相結(jié)合的研究,這成為了本文研究的動機。
由此引出另一個問題:如何評判一幅圖像的美觀度。圖像的美觀度評判實際上是一項帶有主觀性質(zhì)的任務(wù),每個人因不同的閱歷、審美觀甚至所處環(huán)境、情感狀態(tài)等多方面因素的影響,對同一幅圖像有可能會給出完全不同的評價。然而,面對互聯(lián)網(wǎng)空間與日俱增的圖片數(shù)量,借助人力對其進行美觀度的評價是不切實際的。因此,研究借助計算機進行自動化圖像美觀度評判成為了計算機視覺領(lǐng)域另一項研究課題,至今也有許多研究者提出了實現(xiàn)原理各異且效果優(yōu)良的美觀度評判模型。借助這些模型,可以對目標(biāo)圖像進行分類或評分,給出盡可能接近符合多數(shù)人評價標(biāo)準(zhǔn)的評判結(jié)果。
借此,本文致力于研究從美觀度的角度對文本生成圖像GAN的生成結(jié)果進行優(yōu)化的方法。本文的貢獻和創(chuàng)新點如下:
1)從實際應(yīng)用的角度出發(fā),將生成結(jié)果美觀度加入評價文本生成圖像GAN模型生成結(jié)果的評價指標(biāo),以目前受到較高認(rèn)可度的文本生成圖像GAN模型——StackGAN++[3]為基礎(chǔ),從美觀度的角度對其生成結(jié)果進行評估,以觀察其生成結(jié)果的美觀度質(zhì)量。
2)將美觀度評判模型融入該GAN的生成模型當(dāng)中,通過增添美學(xué)損失的方式改造生成模型,從而在模型訓(xùn)練過程中加入美學(xué)控制因素,引導(dǎo)模型生成美觀度更高的結(jié)果。本文提出的改進方法使得模型生成圖像的總體美學(xué)質(zhì)量(以IS(Inception Score)為評價指標(biāo)[4])提高了2.68%,其生成圖像結(jié)果整體的美觀度指標(biāo)提高了3.17%。
隨著網(wǎng)絡(luò)空間中圖片數(shù)量的急速增長,在圖片檢索領(lǐng)域為了能夠更好地為用戶甄選返回圖像的質(zhì)量、給用戶返回更高質(zhì)量的搜索結(jié)果,對圖片按美學(xué)質(zhì)量進行分類的需求逐漸增加。圖片所附帶的數(shù)據(jù)標(biāo)簽(如喜歡該圖的人的數(shù)量、圖片內(nèi)容等)可以作為美觀度評價的一類較為有效的標(biāo)準(zhǔn),但大部分的圖片并不存在類似這樣的標(biāo)簽,雖然如今有許多研究已能夠做到給圖片準(zhǔn)確高效地進行標(biāo)簽標(biāo)注[5],然而即使每幅圖片均被標(biāo)注了足夠用以進行評判的標(biāo)簽,圖片龐大的數(shù)量又使得人工評判工作量巨大,因此需要能夠?qū)D片進行美觀度評判的模型,由計算機來完成這一任務(wù)。
受到心理學(xué)、神經(jīng)科學(xué)等領(lǐng)域中對人類美學(xué)感知的研究成果啟發(fā),計算機視覺領(lǐng)域的研究者們通過模擬、復(fù)現(xiàn)人類處理接收到的圖像視覺信息的過程,設(shè)計實現(xiàn)了一系列自動評判圖片美學(xué)質(zhì)量的模型[6]。圖像美觀度評判模型一般遵循一個固定的流程:首先對輸入圖像進行特征提取,然后借助提取的特征,利用訓(xùn)練好的分類或回歸算法獲得相應(yīng)的結(jié)果。
特征提取則是其中非常重要的一環(huán),因為特征信息是對圖像美學(xué)質(zhì)量的概括,其決定了美觀度評判模型的精確度。選取得當(dāng)?shù)奶卣骷饶芴岣吣P驮u判的精確度,又能減少不必要的計算量,因為不同特征對于圖像美學(xué)質(zhì)量的貢獻度是不同的[7]。早期的研究中,研究者們通常選擇以繪畫、攝影所用的美學(xué)規(guī)則理論和人的直觀感受為依據(jù),自主設(shè)計所要提取的特征,比如清晰度、色調(diào)、三分規(guī)則等。這類方法的好處是直觀、易于理解,但缺點在于所設(shè)計的特征通常不能很全面地描述圖像美學(xué)信息,而且設(shè)計特征對于研究者的工程能力和相關(guān)領(lǐng)域知識了解程度都有較高的要求。而隨著深度學(xué)習(xí)領(lǐng)域的不斷發(fā)展,將卷積神經(jīng)網(wǎng)絡(luò)(Convolitional Neural Networks,CNN)應(yīng)用于圖像處理這一方式展現(xiàn)出了卓越的效果。借助CNN能夠從大量的圖像數(shù)據(jù)中學(xué)習(xí)到有力的圖像特征表示,其所包含的信息量遠超人工特征設(shè)計所設(shè)定的特征[8],從而使得CNN處理圖像的方式在圖像處理領(lǐng)域得到廣泛應(yīng)用,并逐漸成為主流選擇的方法。深度學(xué)習(xí)方法應(yīng)用于圖像美觀度評判的特征提取環(huán)節(jié),主要有2種方式:第1種是借助已有的深度學(xué)習(xí)圖像處理模型,利用其中間層特征作為評判依據(jù),采用傳統(tǒng)的分類或回歸方法進行美觀度評判;第2種是對已有的模型進行改造,使得其能夠從圖像數(shù)據(jù)中學(xué)習(xí)到新的隱藏的美學(xué)特征,并借此對圖像的美觀度作出評判。
本文采用的是Kong等[9]設(shè)計的美觀度評判模型。該模型隨AADB(Aesthetics and Attributes Database)數(shù)據(jù)集一同提出,其基于AlexNet[8]改造得來,通過提取圖片的內(nèi)容特征以及自定義的屬性標(biāo)簽特征來幫助判斷圖像的美觀度。此外,該模型吸收了Siamese網(wǎng)絡(luò)[10]的結(jié)構(gòu),實現(xiàn)了接收兩幅一組的圖像作為輸入并給出它們之間相對評分的功能,同時提出了2種對圖像進行成對采樣的訓(xùn)練方式來輔助增加結(jié)果的精確度。實驗結(jié)果表明該模型在AVA(Aesthetic Visual Analysis)數(shù)據(jù)集上的判別準(zhǔn)確率達到77.33%,超過了當(dāng)時已有的許多模型的表現(xiàn)。作者并未對該模型進行命名,為方便說明,下文中統(tǒng)一用“AADB模型”對其進行代指。
GAN的提出是機器學(xué)習(xí)領(lǐng)域一項重大的突破,其為生成模型的訓(xùn)練提供了一種對抗訓(xùn)練的思路。相比于傳統(tǒng)的生成模型如變分自編碼器、玻爾茲曼機,GAN優(yōu)勢有:其訓(xùn)練只需借助反向傳播而不需要馬爾可夫鏈、能夠產(chǎn)生全新的樣本以及更加真實清晰的結(jié)果、簡化任務(wù)設(shè)計思路等,因此,其成為了現(xiàn)今機器學(xué)習(xí)領(lǐng)域十分火熱的研究課題。
GAN的結(jié)構(gòu)一般可分為兩部分:生成器部分,負責(zé)接收一段隨機噪聲作為輸入來生成一定的結(jié)果;判別器部分,負責(zé)接收訓(xùn)練數(shù)據(jù)或生成器生成的數(shù)據(jù)作為輸入,判斷輸入是來自哪一方。生成器的最終目標(biāo)是生成能夠徹底欺騙判別器的數(shù)據(jù),即判別器無法區(qū)分輸入數(shù)據(jù)來自真實數(shù)據(jù)分布還是生成器擬合的數(shù)據(jù)分布;而判別器的最終目標(biāo)是有效區(qū)分其輸入來源,識別出來自生成器的輸入。GAN的訓(xùn)練正是基于這種博弈的過程,令生成器和判別器二者之間進行對抗,交替更新參數(shù),當(dāng)模型最終達到納什均衡時,生成器即學(xué)習(xí)到了訓(xùn)練數(shù)據(jù)的數(shù)據(jù)分布,產(chǎn)生相應(yīng)的結(jié)果。
雖然GAN擁有良好的表現(xiàn)力和極大的發(fā)展?jié)摿?,但其本身還存在一些缺點,比如訓(xùn)練困難、無監(jiān)督使得生成結(jié)果缺少限制、模式崩潰、梯度消失等問題。后續(xù)許多研究者對GAN從結(jié)構(gòu)[11]、訓(xùn)練方法[12]或?qū)崿F(xiàn)方法[13]上進行了改進,逐漸提高了GAN訓(xùn)練的穩(wěn)定性和生成效果。此外,CGAN(Conditional GAN)[14]將條件信息與生成器和判別器的原始輸入拼接形成新的輸入,用以限制GAN生成和判別的表現(xiàn),使得GAN生成結(jié)果的穩(wěn)定性得到提高。
利用GAN來實現(xiàn)文本生成圖像任務(wù)也是基于CGAN的思想,以文本-圖像組合為訓(xùn)練數(shù)據(jù),文本作為輸入數(shù)據(jù)的一部分,在生成器中與隨機噪聲拼接作為生成器的整體輸入,在判別器中則用于形成不同的判斷組合——真實圖片與對應(yīng)文本、真實圖片與不匹配文本、生成器生成圖片與任意文本并進行鑒別。文本數(shù)據(jù)通常會借助其他編碼模型將純文字信息轉(zhuǎn)化為一定維數(shù)的文本嵌入向量,用以投入模型的訓(xùn)練計算當(dāng)中。最先利用GAN實現(xiàn)文本生成圖像任務(wù)的是Reed等[15]提出的GAN-INT-CLS模型,其吸收了CGAN和DCGAN(Deep Convolutional GAN)[11]的思想,同時提出改進判別器接收的文本-圖像組合輸入(新增真實圖像與不匹配文本的組合)以及通過插值的方式創(chuàng)造新的文本編碼向量兩種方法來提高生成結(jié)果的質(zhì)量和豐富度,生成了64×64大小的圖像。隨后該領(lǐng)域的一項重要突破是Zhang等[16]提出的StackGAN模型,該模型通過使用2個生成器的方式生成圖像,首次實現(xiàn)了只借助給定文本的條件下生成256×256大小的圖像。該模型中,第1個生成器接收隨機噪聲與文本向量的拼接來生成64×64大小的中間結(jié)果,第2個生成器則使用該中間結(jié)果與文本向量作為輸入,這種方式可以實現(xiàn)利用文本信息對中間結(jié)果進行修正和細節(jié)補充,來獲得質(zhì)量更高的256×256大小圖像的結(jié)果。
在StackGAN的理論基礎(chǔ)上,Zhang等[3]提出了StackGAN++模型。該模型使用3個生成器-判別器組以類似樹狀的方式連接,其中3個生成器分別對應(yīng)生成64×64、128×128、256×256大小的圖像,第1個生成器以文本向量和隨機噪聲的拼接為輸出,之后每一個生成器接收前一個生成器生成的圖像結(jié)果與文本向量作為輸入,生成下一階段的圖像結(jié)果;每一個判別器接收對應(yīng)階段的生成器的輸出與文本向量進行判別,計算條件生成損失。此外,Zhang等[3]引入了無條件生成損失,即計算在不使用文本信息的情況下生成圖片的損失,與條件生成損失相結(jié)合,引導(dǎo)模型的訓(xùn)練,最終進一步提高了生成圖片的質(zhì)量。本文即選用了該模型進行基于美學(xué)評判的優(yōu)化改進研究。
此后文本生成圖像GAN的研究多在類似StackGAN++的多階段生成模式基礎(chǔ)上,通過加入各種輔助信息來幫助生成器生成更好的結(jié)果,如AttnGAN(Attentional GAN)[17]引入了注意力機制,分析對比生成圖像與對應(yīng)文本之間的特征相似度,并利用對比結(jié)果輔助生成器的訓(xùn)練;Cha等[18]則通過引入感知損失的方式,從圖像特征層面進行對比來輔助生成器更好地學(xué)習(xí)到訓(xùn)練數(shù)據(jù)的分布。
在提出基于美學(xué)評估的對StackGAN++模型的優(yōu)化方法之前,需要了解該模型目前生成結(jié)果的美學(xué)質(zhì)量如何。本節(jié)將利用AADB模型對其進行初步測量。
本節(jié)實驗使用的StackGAN++模型是基于Caltech-UCSD Birds 200鳥類圖像數(shù)據(jù)庫2011版訓(xùn)練的鳥類圖像生成模型,其測試數(shù)據(jù)集中包含2 933張圖像,每張圖像對應(yīng)10條文本說明,其中文本數(shù)據(jù)需經(jīng)過 char-CNN-RNN 模型編碼。Zhang等[3]給出了其模型源碼的github地址(https://github.com/hanzhanggit/StackGAN-v2)。
本文實驗運行于Ubuntu 16.04操作系統(tǒng),使用GeForce GTX 1080 Ti顯卡進行訓(xùn)練。軟件環(huán)境方面,本實驗利用Adaconda2搭建python2.7虛擬環(huán)境,并需要安裝Pytorch1.0以及caffe1.0(分別對應(yīng)StackGAN++以及AADB模型運行所需)。
首先針對測試數(shù)據(jù)集所產(chǎn)生的樣本進行美觀度評判,觀察其分布狀況。理論情況下,訓(xùn)練數(shù)據(jù)集中包含了29 330條語句對應(yīng)的嵌入向量,經(jīng)由生成模型后獲得29 330張圖像結(jié)果,實際運行中由于StackGAN++模型所采用的批處理訓(xùn)練策略,最終生成圖像數(shù)量為29 280張,但從整體數(shù)量的規(guī)模來看并不影響對于其整體美觀度評價的判斷。利用AADB模型獲得生成圖像的美學(xué)分?jǐn)?shù),其分布如圖1所示。
由AADB模型計算得出的美學(xué)分?jǐn)?shù)集中于[0,1]區(qū)間,在特殊情況下會超過1。為了便于標(biāo)注美學(xué)分?jǐn)?shù)的分布區(qū)間,在繪制區(qū)間分布柱狀圖時,將由AADB模型獲取的美學(xué)分?jǐn)?shù)(超過1的截斷至0.999 9)乘以10,這種表示方法也符合實際生活中人工評判時的常用取值范圍選擇;在展示降序分布時則直接采用模型輸出的結(jié)果范圍來標(biāo)注分?jǐn)?shù)坐標(biāo)軸。圖1(a)表明,原始StackGAN++在測試數(shù)據(jù)集上生成圖像的美學(xué)分?jǐn)?shù)集中在5~8的區(qū)間段內(nèi),占總體的78.6%,其中6~7區(qū)間段內(nèi)的圖像數(shù)量最多,占整體結(jié)果數(shù)量的33.9%。而圖1(b)表明,在5~8區(qū)間段內(nèi),圖像的美學(xué)分?jǐn)?shù)變化呈現(xiàn)出均勻平緩的變化趨勢,并沒有出現(xiàn)在某一節(jié)點大幅變動的情況。
29 280 張生成結(jié)果的平均美學(xué)分?jǐn)?shù)為0.628 28。根據(jù)AADB模型作者給出的評判標(biāo)準(zhǔn),一張圖片的分?jǐn)?shù)超過0.6則可以認(rèn)為是一張好圖片,低于0.4則認(rèn)為是一張差圖片,在兩者之間認(rèn)為是一張一般性質(zhì)圖片,而本文出于后續(xù)實驗樣本劃分的考慮,將好圖片的下限標(biāo)準(zhǔn)提高至0.65,差圖片的上限標(biāo)準(zhǔn)提高至0.5。由此來看,模型的平均結(jié)果處于一般質(zhì)量的區(qū)間,說明原模型的整體生成結(jié)果從美觀度的角度來講仍然存在可以提升的空間。本文從全部生成結(jié)果中選擇美學(xué)分?jǐn)?shù)最高以及最低的圖片各10張的結(jié)果,交由真人進行主觀評判,其結(jié)果均與美學(xué)分?jǐn)?shù)表現(xiàn)出對應(yīng)關(guān)系,即認(rèn)為最高分?jǐn)?shù)的10張圖片擁有較高的美觀度,而最低分?jǐn)?shù)的10張圖片則評價一般或交叉表明AADB模型給出的美學(xué)分?jǐn)?shù)對圖像美觀度的評價能較好地符合人的直觀感受。
圖1 StackGAN++在測試數(shù)據(jù)集上的美學(xué)分?jǐn)?shù)分布Fig.1 Distributions of aesthetic score of images generated by Stack GAN++using test dataset
如果想要達成提高生成模型美觀度質(zhì)量的目標(biāo),一個簡單的想法是,可以對同一條語句,一次性批量生成大量的圖片,按美觀度模型給出的分?jǐn)?shù)進行降序排序,從中選出分?jǐn)?shù)最高圖像作為輸出結(jié)果,或以分?jǐn)?shù)排序最靠前(分?jǐn)?shù)最高)的一定數(shù)量的圖像作為輸出結(jié)果,再交由模型使用者自行判斷選擇最終的結(jié)果。這種方法雖然存在嚴(yán)重的效率問題,但易于實現(xiàn)且非常直觀。其中的問題在于確定生成圖像的數(shù)量,因為隨著生成圖像數(shù)量的增加,其多樣性也會隨之增加。也更容易出現(xiàn)更多美觀度高的圖像結(jié)果,但進行美觀度評判以及排序選擇的時間消耗也會隨之增加,因此若選擇此種做法作為優(yōu)化方法,需要在生成結(jié)果質(zhì)量以及模型運行效率之間尋求一個平衡點。
圖2 原模型輸入同一文本在不同生成數(shù)量情況下的美學(xué)分?jǐn)?shù)分布Fig.2 Disrtributions of aesthetic score of images generated by the same text in original model with different generating quantities
基于以上考慮,除對測試集整體進行美觀度評判以外,還從中選擇一批(實驗設(shè)定為24)數(shù)量的文本輸入數(shù)據(jù),針對每一條文本數(shù)據(jù)生成不同數(shù)量的圖片來觀察其美學(xué)分?jǐn)?shù)的分布。選擇100、200、350、500、750、1 000共6種生成數(shù)量,針對選定的文本數(shù)據(jù)生成對應(yīng)數(shù)量的圖像,利用AADB模型計算生成結(jié)果的美學(xué)分?jǐn)?shù)。圖2展示了其中一條文本的結(jié)果。結(jié)果表明,美學(xué)分?jǐn)?shù)在各個區(qū)間的分布狀況是相近的,基本不受一次性生成數(shù)量的影響。6組結(jié)果都表現(xiàn)出生成圖像的美學(xué)分?jǐn)?shù)集中于5~7的區(qū)間內(nèi)的分布狀況,且隨著生成數(shù)量的增加,高分圖像的出現(xiàn)頻率也越來越高。表1展示了6組分布結(jié)果中最高分?jǐn)?shù)圖像的分?jǐn)?shù)與分?jǐn)?shù)前10高圖像的平均分?jǐn)?shù),表明了一次性生成數(shù)量越多,即使是處于高分分段的圖像其整體的質(zhì)量也會得到提高,也驗證了本節(jié)第一段所述的情況。但面對最高分?jǐn)?shù)的情況,因生成模型會以隨機噪聲作為輸入來生成圖像,這導(dǎo)致了其對生成結(jié)果的不可控性,所以生成結(jié)果會出現(xiàn)一定的擾動,使得最高分圖像的分?jǐn)?shù)與生成數(shù)量之間并不存在確定的正相關(guān)關(guān)聯(lián)性。
表1 不同生成數(shù)量情況下最高分?jǐn)?shù)與前10平均分?jǐn)?shù)Table 1 Highest aesthetic score and average of top 10 aesthetic scor e when generating different quantities of images
原始的Stack GAN++模型采用了3組生成器-判別器組合,以類似樹狀的方式進行連接,每一個生成器生成不同尺寸的圖像,并作為下一個生成器輸入數(shù)據(jù)的一部分。其中每一個生成器的損失LGi(i=1,2,3)計算式為
式中:pGi為生成器Gi學(xué)習(xí)到的數(shù)據(jù)分布;si為生成器Gi生成的結(jié)果;c為文本向量;Di為與生成器Gi對應(yīng)的判別器,其接收單個輸入si或雙輸入si和c,輸出相應(yīng)的判別結(jié)果;E[·]表示期望函數(shù)。
該損失計算方式由兩部分組成,前一部分計算生成器不利用文本向量生成圖像的損失,即無條件損失,該部分用以監(jiān)督生成器生成更加真實的、使判別器認(rèn)為來自于真實數(shù)據(jù)分布的數(shù)據(jù);后一部分計算生成器利用了文本向量生成圖像的損失,即條件損失,該部分用來監(jiān)督生成器生成符合輸入文本描述的圖像,即保證文本與圖像之間的一致性。在StackGAN++的理論描述中,Zhang等[3]認(rèn)為每一個生成器生成的圖像雖然大小不同,但都是基于同一條文本生成的,所以它們彼此之間應(yīng)該保持相似的色彩和基本結(jié)構(gòu),并提出了色彩一致性損失用來保證3個生成器生成圖像之間擁有較高的色彩一致性。但經(jīng)過實驗作者發(fā)現(xiàn)在基于文本生成的模式下,色彩一致性所起到的作用十分微弱,因為其對生成結(jié)果的約束力要遠遠小于文本-圖像一致性的約束,即式(1)中的Esi~pGi[ln Di(si,c)]。式(2)為生成器的總體損失(下文稱為對抗損失)計算公式,用于訓(xùn)練過程中的梯度計算。
受到Johnson等[19]提出的感知損失的啟發(fā),本文將AADB模型與StackGAN++的生成器結(jié)合,用于在生成模型訓(xùn)練過程中提供輔助訓(xùn)練信息,達成從美學(xué)角度來優(yōu)化生成模型的目的。具體地,在式(2)的基礎(chǔ)上,加入一項新定義的損失——美學(xué)損失Laes,其計算式為
式中:Aes函數(shù)表示使用AADB模型計算生成結(jié)果s3的美學(xué)分?jǐn)?shù)。2.1節(jié)中,AADB模型計算得出的美學(xué)分?jǐn)?shù)存在超過1的情況,因此在計算美學(xué)損失時,會對模型返回的美學(xué)分?jǐn)?shù)進行判斷,如果其超過了1,則將其截斷至0.999 9。該損失實際計算了最后一階段生成器G3生成結(jié)果的美學(xué)分?jǐn)?shù)與1之間的歐幾里得距離,最小化該損失即最小化生成結(jié)果美學(xué)分?jǐn)?shù)與1之間的差距,代表了生成結(jié)果美學(xué)質(zhì)量的提升。最后,加入了美學(xué)損失后新的生成器損失計算公式為
式中:β為美學(xué)損失的權(quán)重,用來控制其在總體損失中所占的比例,β越大則美學(xué)損失所占的比例越大。β為0時,模型即還原為StackGAN++。
由于美學(xué)損失的作用是引導(dǎo)生成器生成美觀度更高的圖像,而對抗損失則是控制整個訓(xùn)練過程以及生成結(jié)果的關(guān)鍵,保證了生成器能夠生成符合文本描述的真實圖像,這是文本生成圖像模型最基本的目的,因此β值的選擇應(yīng)當(dāng)在保證在訓(xùn)練過程中美學(xué)損失起到的調(diào)控作用不會壓過對抗損失的前提下對生成結(jié)果的美觀度產(chǎn)生影響。
選取不同的美學(xué)損失權(quán)重β進行訓(xùn)練,以IS作為訓(xùn)練獲得模型的質(zhì)量的衡量指標(biāo),在保證IS與原模型相比不降低的前提下,觀察其生成結(jié)果的美觀度分布情況。IS是借助Inception Model[20]計算得出的用來衡量GAN圖像生成效果的最常用指標(biāo)之一,通常情況下其數(shù)值越大代表GAN生成的圖像具有更高的多樣性和真實性,進而代表生成圖像的總體質(zhì)量更好。在文本生成圖像GAN領(lǐng)域,IS被廣泛用來進行不同GAN之間的效果對比。
本節(jié)所使用的環(huán)境與第2節(jié)對StackGAN++本身進行美學(xué)質(zhì)量分析的實驗環(huán)境相同,故此處不再贅述。模型訓(xùn)練過程采用批訓(xùn)練策略,每個批包含24條文本嵌入向量,每一個時期(epoch)中包含368個批的訓(xùn)練過程,下文將一個批完成一次訓(xùn)練的過程稱為一步(step)。訓(xùn)練過程包含600個時期,并于每2000步的時間節(jié)點保存一次模型參數(shù),以便于訓(xùn)練完成后根據(jù)保存時模型的表現(xiàn)選取效果最好的模型。本文提出的優(yōu)化方法的實現(xiàn)流程如圖3所示。
圖3 基于美學(xué)評判的文本生成圖像優(yōu)化方法實現(xiàn)流程Fig.3 Procedure of text-to-image synthesis optimization based on aesthetic assessment
本文選取β=45,0,0.000 1,分別進行了訓(xùn)練。選擇45是因為,觀察StackGAN++訓(xùn)練時生成器的對抗損失發(fā)現(xiàn)對抗損失與美學(xué)損失的比值在50左右。因此,當(dāng)β=45時,對抗損失與經(jīng)權(quán)重放大的美學(xué)損失在數(shù)值上比較接近;1與0.000 1是基于經(jīng)驗的選擇,取β=1時美學(xué)損失與對抗損失平權(quán),而β=0.000 1則是參考了Cha等[18]提出的感知損失的權(quán)重選取。訓(xùn)練完成后,對應(yīng)每個β取值各形成了一組于不同時間節(jié)點保存的模型,分別從中選取IS分?jǐn)?shù)最高的模型作為對應(yīng)取值下的結(jié)果模型。在對選定的模型進行美學(xué)質(zhì)量評判之前,需要先考察它們所生成的圖片的總體質(zhì)量,以確保在引入了美學(xué)損失后沒有出現(xiàn)模型生成圖像質(zhì)量下降的情況。表2展示了3種取值對應(yīng)模型與原模型的IS數(shù)據(jù),其中β為0即代表未引入美學(xué)損失的原始Stack GAN++模型。
通過對比,當(dāng)β=0.000 1時,模型在IS上取得最高的數(shù)值,并且超過了原始模型的IS,表明美學(xué)損失的引入還起到了提高模型生成效果的正面效應(yīng)。這是可以理解的,因為當(dāng)生成器生成了一幅效果很差的圖像,例如模糊不清或主體扭曲變形,此時美觀度評判模型將會給出較低的分?jǐn)?shù),使得美學(xué)損失增大并導(dǎo)致生成器總損失增大。此外,當(dāng)β=45時,模型的IS分?jǐn)?shù)降低,表現(xiàn)為生成器生成圖像的質(zhì)量有所下降。對β=45時獲得的模型所生成的圖像進行人工評判的結(jié)果也反映出這時生成圖像出現(xiàn)了更多的模糊、失真等不良結(jié)果。因此,β=45的情況已無繼續(xù)討論的價值,此后美學(xué)層面的實驗和數(shù)據(jù)統(tǒng)計也不再考慮此種情況。當(dāng)β=1時,模型的IS與原模型相比十分接近,還需通過美學(xué)分?jǐn)?shù)的分布對比來確定在此情況下美學(xué)損失是否起到了優(yōu)化的作用。
為了驗證美學(xué)損失是否對生成模型結(jié)果的美學(xué)質(zhì)量起到了優(yōu)化作用,接下來計算了使用β=1,0.000 1這2種情況的模型在測試數(shù)據(jù)集上生成的29 280張圖像的美學(xué)分?jǐn)?shù)分布情況;同時針對一個批的24條文本嵌入向量,每條文本生成1 000張圖像,計算其美學(xué)分?jǐn)?shù)的分布,數(shù)據(jù)結(jié)果如圖4所示(這里選出一條文本生成的1 000張圖像的美學(xué)分?jǐn)?shù)分布進行展示)。表3展示了2種β取值下模型在測試數(shù)據(jù)集上的生成結(jié)果的美學(xué)分?jǐn)?shù),同時一并列出了原模型在測試數(shù)據(jù)集上生成結(jié)果的美學(xué)分?jǐn)?shù)作為對比。從表中可知,當(dāng)β=0.0001時,由測試數(shù)據(jù)集生成的圖像其平均美學(xué)分?jǐn)?shù)與原模型相比提高了3.17%;表4給出了原模型與β=0.000 1優(yōu)化模型分別生成的24組針對同一條文本的1 000幅圖像平均美學(xué)分?jǐn)?shù)對比情況,也可以發(fā)現(xiàn)大部分文本生成結(jié)果的美學(xué)分?jǐn)?shù)與原模型的生成結(jié)果相比有所提高。同時由圖4所示的美學(xué)分?jǐn)?shù)分布情況也能看出,此時高分段圖像的數(shù)量增加,較低分段圖像的數(shù)量減少,表明美學(xué)損失起到了調(diào)控生成結(jié)果美觀度的作用。圖5展示了原模型與β=0.000 1的優(yōu)化模型使用4條文本對應(yīng)生成的1 000張圖像中等距抽取10張圖像的結(jié)果(每個分圖第1行為原模型,第2行為優(yōu)化模型,每個模型對每條文本均生成1 000張圖像),每行圖像從左到右按美學(xué)分?jǐn)?shù)從高到低的順序排列,從中可以直觀感受到,經(jīng)過美學(xué)優(yōu)化的生成模型所生成的圖像結(jié)果在色彩對比度、整體色調(diào)、背景虛化簡單化等方面均有一定優(yōu)勢,反映了其美觀評價相比原模型有所提升。
表2 不同β取值對應(yīng)模型的ISTable 2 IS of models using differentβ
圖4 不同β取值情況下測試數(shù)據(jù)生成結(jié)果與選定一條文本的生成結(jié)果美學(xué)分?jǐn)?shù)分布Fig.4 Distributions of aesthetic scores of images generated by models with differentβusing texts from test dataset and chosen text
表3 不同β取值對應(yīng)模型的美學(xué)分?jǐn)?shù)對比Table 3 Comparison of aesthetic scor es of models using differentβ
表4 原模型與優(yōu)化模型使用24條文本生成1 000張圖像的平均美學(xué)分?jǐn)?shù)對比Table 4 Comparison of average aesthetic score of 1 000 images generated by original models and optimized models using 24 different texts
圖5 從原模型與優(yōu)化模型對4條文本各生成的1 000幅圖像中等距抽取圖像對比Fig.5 Comparison of systematic sampling results of images generated by original model and optimized model using 4 chosen texts(1000 images for each text and each model)
本文提出了一種基于美學(xué)評判的文本生成圖像GAN的優(yōu)化方法,利用美觀度評判模型獲得生成器生成圖像的美學(xué)分?jǐn)?shù),計算該生成圖像的美學(xué)損失,與模型本身的對抗損失以適當(dāng)?shù)臋?quán)重關(guān)系相結(jié)合,作為該生成器新的損失并重新訓(xùn)練模型,最后對獲得的新模型生成的圖像進行了美學(xué)質(zhì)量的統(tǒng)計與和原模型的對比。實驗所得結(jié)論如下:
1)經(jīng)過本文方法獲得的生成模型,其生成結(jié)果的美觀度與原模型相比得到了提升,同時IS分?jǐn)?shù)也有所提高,表明美學(xué)損失能夠起到提高生成模型質(zhì)量的作用。
2)該方法同時也存在一定的局限性:首先,利用本文方法選取的美學(xué)損失權(quán)重只適用于本文實驗所用的鳥類數(shù)據(jù)集,而如果需要在其他數(shù)據(jù)集上應(yīng)用本文方法,除了原始模型需要更換以外,權(quán)重的選取也需要全部從頭開始,這也與文本生成圖像類GAN和美學(xué)模型本身的性質(zhì)有關(guān);其次,權(quán)重選取尚未找到一個公式化的方法,都是借助經(jīng)驗來試探性的選擇。
未來的工作將分為2個部分,一是基于文中的實驗繼續(xù)調(diào)整美學(xué)損失的權(quán)重,尋找最佳的參數(shù)以使得生成結(jié)果能進一步提高;二是尋找其他美學(xué)損失的計算方式,以使得美學(xué)因素能夠取得更好的訓(xùn)練調(diào)控效果。
致謝感謝耀萃基金數(shù)據(jù)智能創(chuàng)新聯(lián)合實驗室(InfleXion Lab)提供的幫助!