国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多維度注意力和語(yǔ)義再生的文本生成圖像模型

2020-12-25 06:07莊興旺丁岳偉
關(guān)鍵詞:一致性語(yǔ)義注意力

莊興旺,丁岳偉

(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

0 引 言

文本生成圖像(text to image,T2I)是指生成與給定文本描述匹配的視覺(jué)真實(shí)圖像。由于其在許多應(yīng)用領(lǐng)域的巨大潛力,T2I已經(jīng)成為自然語(yǔ)言處理和計(jì)算機(jī)視覺(jué)界的一個(gè)重要研究領(lǐng)域。雖然在使用生成對(duì)抗網(wǎng)絡(luò)(GAN)生成視覺(jué)逼真的圖像方面取得了重大進(jìn)展,如文獻(xiàn)[1-8]所示,但確保生成的圖像與輸入文本的語(yǔ)義對(duì)齊仍然具有很大的挑戰(zhàn)性。

與基本的圖像生成問(wèn)題相比,T2I是以文本描述為條件的,而不是僅從噪聲開(kāi)始。利用GAN[9]的強(qiáng)大功能,提出了不同的T2I方法來(lái)生成視覺(jué)逼真的文本圖像。例如,Reed等人提出了一種解決文本到圖像合成問(wèn)題的方法,即找到文本描述的視覺(jué)識(shí)別表示,并利用該表示生成真實(shí)的圖像[10]。Zhang等人提出了在兩個(gè)獨(dú)立的階段生成圖像的Stackgan[2]。Hong等人提出了從輸入文本中提取語(yǔ)義布局,然后將其轉(zhuǎn)換為圖像生成器,以指導(dǎo)生成過(guò)程[5]。Zhang等人提出在網(wǎng)絡(luò)層次結(jié)構(gòu)中引入了伴隨的層次嵌套對(duì)抗性目標(biāo),它規(guī)范了中間層的表示,并幫助生成器訓(xùn)練來(lái)捕獲復(fù)雜的圖像統(tǒng)計(jì)信息[3]。這些方法都僅利用鑒別器來(lái)區(qū)分。然而,由于文本和圖像之間域的差異,當(dāng)單獨(dú)依賴(lài)于這樣一個(gè)鑒別器時(shí),很難對(duì)語(yǔ)義一致性進(jìn)行建模。最近,人們利用注意力機(jī)制[4]來(lái)解決這一問(wèn)題,它引導(dǎo)生成器在生成不同的圖像區(qū)域時(shí)關(guān)注于不同的單詞。然而,由于文本和圖像形式的多樣性,僅在單詞級(jí)別使用注意力并不能確保全局語(yǔ)義的一致性。T2I生成可以看作是圖像字幕(或圖像到文本生成,I2T)的逆問(wèn)題[11-12]。如果T2I生成的圖像在語(yǔ)義上與給定的文本描述一致,那么T2I重新描述的語(yǔ)義應(yīng)該與給定的文本描述完全相同。基于這一觀察,該文在MirrorGAN的基礎(chǔ)上提出了一種新的文本到圖像到文本的模型MirrorGAN++來(lái)改進(jìn)T2I的生成。MirrorGAN++有兩個(gè)模塊:MCAM和STRM。MCAM是多維度的注意力協(xié)同模塊,利用單詞級(jí)別的注意和全局句子級(jí)別的注意逐步增強(qiáng)生成圖像的多樣性和語(yǔ)義一致性。STRM是語(yǔ)義文本再生模塊,它可從最后生成的圖像重新生成文本描述,在語(yǔ)義上與給定的文本描述對(duì)齊。對(duì)兩個(gè)公共基準(zhǔn)數(shù)據(jù)集進(jìn)行的深入實(shí)驗(yàn)表明,在視覺(jué)真實(shí)性和語(yǔ)義一致性方面,MirrorGAN++優(yōu)于其他方法。

1 相關(guān)工作

CycleGAN[13-15]可以讓兩個(gè)領(lǐng)域的圖片互相轉(zhuǎn)化[16-17],傳統(tǒng)的GAN是單向生成,而CycleGAN是互相生成。MirrorGAN++部分靈感來(lái)自CycleGAN,但有兩個(gè)主要區(qū)別:

(1)MirrorGAN++專(zhuān)門(mén)解決T2I問(wèn)題,而不是圖像到圖像的轉(zhuǎn)化。文本和圖像之間的跨媒體域間隙可能比具有不同屬性(例如樣式)的圖像之間的間隙大得多。此外,每個(gè)域中存在的不同語(yǔ)義使得保持跨域語(yǔ)義一致性變得更加困難。

(2)MirrorGAN++通過(guò)使用成對(duì)的文本圖像數(shù)據(jù)進(jìn)行監(jiān)督學(xué)習(xí),而不是從不成對(duì)的圖像數(shù)據(jù)進(jìn)行訓(xùn)練。此外,為了體現(xiàn)通過(guò)重新描述學(xué)習(xí)T2I生成的思想,使用基于CE的重構(gòu)損失來(lái)規(guī)范重新描述的文本的語(yǔ)義一致性,這與CycleGAN中的L1循環(huán)一致性損失不同,后者處理視覺(jué)相似性。該模型是基于MirrorGAN的,然而,由于MirrorGAN對(duì)輸入的文本是用RNN來(lái)處理,使用RNN生成的詞嵌入和句嵌入表現(xiàn)沒(méi)有BERT生成的好,所以選擇用BERT來(lái)生成詞嵌入和句嵌入,這樣可以更好地提升模型生成圖片的質(zhì)量。對(duì)于語(yǔ)義文本再生模塊,選用更加先進(jìn)的圖像字幕模型來(lái)更好地提升模型的語(yǔ)義一致性。

2 模型實(shí)現(xiàn)

如圖1所示,MirrorGAN++集成了T2I和I2T模塊,它利用了重新描述學(xué)習(xí)T2I生成的思想。生成圖像后,MirrorGAN++會(huì)重新生成其描述,從而將其語(yǔ)義與給定的文本描述對(duì)齊。從技術(shù)上講,MirrorGAN++由兩個(gè)模塊組成:MCAM和STRM。模型的細(xì)節(jié)將在下面介紹。

圖1 用于文本到圖像生成的模型MirrorGAN++示意圖

2.1 MCAM:多維度的注意力協(xié)同模塊

首先,引入文本編碼器,將給定的文本描述嵌入到本地單詞級(jí)特征[18]和全局句子級(jí)特征中。如圖1最左邊的部分所示,BERT[19]用于從給定的文本描述T中提取語(yǔ)義嵌入,其中包括單詞嵌入w和句子嵌入s。

w,s=BERT(T)

(1)

其中,T={Tl|l=0,1,…,L-1},L表示句子長(zhǎng)度,w∈RD×L,s∈RD,D是w和s的維數(shù),由于文本域的多樣性,組合較少的文本可能具有相似的語(yǔ)義。因此,使用條件增廣方法[2]來(lái)增廣文本描述。這將產(chǎn)生更多的圖像文本對(duì),具體來(lái)說(shuō),使用Fca來(lái)表示條件增強(qiáng)函數(shù),并獲得增廣后的句子向量:

sca=Fca(s)

(2)

其中,sca∈RD',D'為增廣后的維數(shù)。

下一步將三個(gè)圖像生成網(wǎng)絡(luò)依次疊加,構(gòu)造一個(gè)多級(jí)級(jí)聯(lián)生成器。采用了文獻(xiàn)[4]中描述的基本結(jié)構(gòu),因?yàn)樗谏烧鎸?shí)圖像方面具有良好的性能。在數(shù)學(xué)上,使用{F0,F1,…,Fm-1}表示m個(gè)視覺(jué)特征變換器,{G0,G1,…,Gm-1}表示m個(gè)圖像生成器。每個(gè)階段的視覺(jué)特征fi和生成的圖像Ii可以表示為:

(3)

首先,使用文獻(xiàn)[4]中提出的單詞級(jí)注意模型來(lái)生成一個(gè)注意詞的上下文特征。它以詞嵌入w和視覺(jué)特征f作為每個(gè)階段的輸入。詞嵌入w首先被感知層Ui-1作為Ui-1w轉(zhuǎn)換成視覺(jué)特征的公共語(yǔ)義空間,然后將其與視覺(jué)特征fi-1相乘,得到注意力得分。最后,通過(guò)計(jì)算注意力得分與Ui-1w之間的內(nèi)積,得到注意詞的上下文特征:

(4)

然后,提出了一個(gè)句子級(jí)注意模型,在生成期間對(duì)生成器實(shí)施全局約束。通過(guò)與單詞級(jí)注意模型的類(lèi)比,將增廣的句子向量sca通過(guò)感知層Vi-1轉(zhuǎn)換為視覺(jué)特征的潛在公共語(yǔ)義空間Vi-1sca。然后,將其與視覺(jué)特征fi-1進(jìn)行元素相乘,得到注意力得分。最后,通過(guò)計(jì)算注意力得分與Vi-1sca的元素相乘得到注意句上下文特征:

(5)

2.2 STRM:語(yǔ)義文本再生模塊

就像之前說(shuō)的那樣,MirrorGAN++包含一個(gè)語(yǔ)義文本再生模塊(STRM),用于從生成的圖像中重新生成文本描述,該圖像在語(yǔ)義上與給定的文本描述對(duì)齊。具體來(lái)說(shuō),使用了一個(gè)自下而上和字幕模型相結(jié)合的注意力模型[20]作為基本的STRM的體系結(jié)構(gòu)。

其中,自下而上的注意模型(使用Faster R-CNN)用于提取圖像中的興趣區(qū)域,獲取對(duì)象特征。預(yù)先將它在ImageNet[21]上訓(xùn)練。而字幕模型用于學(xué)習(xí)特征所對(duì)應(yīng)的權(quán)重(使用2個(gè)LSTM模塊)。

在自下而上的注意力模型中,把最后階段生成器生成的圖像Im-1送入這個(gè)注意力模型中,如下所示:

(6)

其中,vi是一個(gè)視覺(jué)特征,在字幕模型中用作輸入。

圖2 字幕模型的示意圖

(7)

其中,We表示一個(gè)詞嵌入矩陣,它將文字特征映射到視覺(jué)特征空間,∏t是輸入單詞的獨(dú)熱編碼。

(8)

其中,Wva∈RH×M,Wha∈RH×M,wa∈RH是學(xué)習(xí)參數(shù)。

(9)

Language LSTM的輸入包括圖像特征和Attention LSTM的輸出,由下式給出:

(10)

詞的概率分布為:

(11)

其中,Wp∈R|∑|×M,bp∈R|∑|是學(xué)習(xí)的權(quán)重和偏差。

2.3 目標(biāo)函數(shù)

根據(jù)普遍的做法,首先采用了兩種對(duì)抗性損失:視覺(jué)和真實(shí)的對(duì)抗性損失和文本圖像對(duì)語(yǔ)義一致性的對(duì)抗性損失,定義如下:

在模型訓(xùn)練的每個(gè)階段,生成器G和鑒別器D交替訓(xùn)練。特別是生成器Gi在第ith階段通過(guò)最小化損失進(jìn)行訓(xùn)練,如下所示:

(12)

其中,Ii是在第i階段的分布pIi中采樣生成的圖像。第一項(xiàng)是視覺(jué)和真實(shí)的對(duì)抗性損失,用來(lái)區(qū)分圖像是真實(shí)的還是虛假的。第二項(xiàng)是文本圖像對(duì)語(yǔ)義一致性的對(duì)抗性損失,用來(lái)確定圖像和句子語(yǔ)義是否是一致的。

進(jìn)一步提出了一個(gè)基于CE的文本語(yǔ)義重構(gòu)損失,以在STRM的重新描述和給定的文本描述之間對(duì)齊語(yǔ)義。從數(shù)學(xué)上講,這種損失可以表示為:

(13)

值得注意的是,在STRM預(yù)訓(xùn)練期間,也使用了Lstrm。當(dāng)訓(xùn)練Gi時(shí),從Lstrm到Gi的梯度通過(guò)STRM反向傳播,其網(wǎng)絡(luò)權(quán)重保持不變。

使用AttnGAN的DAMSM損失[4]LDAMSM來(lái)測(cè)量圖像和文本描述之間的匹配度。LDAMSM使生成的圖像更好地依賴(lài)于文本描述。

生成器的最終目標(biāo)函數(shù)定義為:

(14)

其中,λ1和λ2是調(diào)節(jié)文本語(yǔ)義重構(gòu)損失和DAMSM損失的相應(yīng)權(quán)重。

鑒別器Di被交替訓(xùn)練,以避免被生成器騙過(guò)去,將輸入分為實(shí)輸入和假輸入。與生成器類(lèi)似,鑒別器的目標(biāo)函數(shù)包括視覺(jué)和真實(shí)的對(duì)抗性損失和文本圖像對(duì)語(yǔ)義一致性的對(duì)抗性損失。在數(shù)學(xué)上,它可以定義為:

鑒別器的最終目標(biāo)函數(shù)定義為:

(16)

3 實(shí)驗(yàn)研究

在這一部分中,進(jìn)行了大量的實(shí)驗(yàn),以評(píng)估提出的模型。首先將MirrorGAN++與之前的T2I方法,如GAN-INT-CLS[10]、StackGAN[2]、StackGAN++[22]、PPGN[23]、AttnGAN[4]和MirrorGAN[8]進(jìn)行比較。然后,介紹了對(duì)MirrorGAN++中MCAM和STRM的關(guān)鍵部分的消融研究。

3.1 實(shí)驗(yàn)方案

3.1.1 數(shù)據(jù)集

在兩個(gè)常用數(shù)據(jù)集上(CUB bird數(shù)據(jù)集[24]和MS COCO數(shù)據(jù)集[25])對(duì)模型進(jìn)行評(píng)估。CUB bird數(shù)據(jù)集包含8 855個(gè)訓(xùn)練圖像和2 933個(gè)測(cè)試圖像,包含200個(gè)類(lèi)別,每個(gè)鳥(niǎo)圖像有10個(gè)文本描述。COCO數(shù)據(jù)集包含82 783個(gè)訓(xùn)練圖像和40 504個(gè)驗(yàn)證圖像,每個(gè)圖像有5個(gè)文本描述。兩個(gè)數(shù)據(jù)集使用文獻(xiàn)[2,4]中的方法進(jìn)行預(yù)處理。

3.1.2 評(píng)價(jià)指標(biāo)

首先,Inception Score[26]被用來(lái)衡量生成圖像的客觀性和多樣性。使用文獻(xiàn)[2]提供的兩個(gè)模型來(lái)計(jì)算分?jǐn)?shù)。然后,使用文獻(xiàn)[4]中引入的R-precision來(lái)評(píng)估生成的圖像與其相應(yīng)文本描述之間的視覺(jué)語(yǔ)義一致性。對(duì)于每個(gè)生成的圖像,使用其真實(shí)的文本描述和從測(cè)試集中隨機(jī)選擇的99個(gè)不匹配描述來(lái)形成文本描述池。然后,在計(jì)算R-precision之前,計(jì)算了池中每個(gè)描述的圖像特征和文本特征之間的余弦相似性。R-precision的值越高表示生成的圖像和輸入文本之間的視覺(jué)語(yǔ)義一致性越高。Inception Score和R-precision按文獻(xiàn)[2,4]計(jì)算。

3.1.3 實(shí)現(xiàn)細(xì)節(jié)

MirrorGAN++總共有三個(gè)生成器,最后兩個(gè)生器采用MCAM,如式(3)所示。逐步生成64×64、128×128、256×256像素的圖像。使用預(yù)訓(xùn)練的BERT[19]計(jì)算文本描述中的語(yǔ)義嵌入。詞嵌入D的維數(shù)是256。句子長(zhǎng)度L是18。視覺(jué)嵌入的維度Mi設(shè)置為32。視覺(jué)特征尺寸為Ni=qi×qi,三個(gè)階段的qi分別為64、128和256。增廣后的句嵌入D'的維度設(shè)置為100。文本語(yǔ)義重構(gòu)損失的損失權(quán)重λ1設(shè)置為20,DAMSM損失權(quán)重λ2在CUB bird數(shù)據(jù)集中設(shè)置為5,在MS COCO數(shù)據(jù)集中設(shè)置為50。

3.2 實(shí)驗(yàn)結(jié)果與分析

在本節(jié)中,將定量和定性地與其他方法進(jìn)行比較。首先,對(duì)MirrorGAN++使用CUB bird和COCO數(shù)據(jù)集的Inception Score和R-precision與之前的文本生成圖像方法[2,4,8,10,22-23]進(jìn)行比較。然后,對(duì)MirrorGAN++和之前的方法進(jìn)行了主觀視覺(jué)比較,以驗(yàn)證MirrorGAN++的有效性。

3.2.1 定量結(jié)果

將MirrorGAN++與CUB和COCO測(cè)試數(shù)據(jù)集上的其他模型進(jìn)行了比較,結(jié)果見(jiàn)表1和表2。

表1 不同模型在CUB和COCO數(shù)據(jù)集下的IS(越高越好)

如表1所示,MirrorGAN++模型在CUB數(shù)據(jù)集上IS達(dá)到了4.82,遠(yuǎn)優(yōu)于其他方法。與MirrorGAN相比,MirrorGAN++將CUB數(shù)據(jù)集的IS從4.56提高到4.82(提高5.70%),將COCO數(shù)據(jù)集的IS從26.47提高到31.49(提高18.96%)。實(shí)驗(yàn)結(jié)果表明,MirrorGAN++模型生成的圖像質(zhì)量更好。

如表2所示,MirrorGAN++與MirrorGAN相比將CUB數(shù)據(jù)集的RI提高了0.91%,COCO數(shù)據(jù)集的RI提高了1.42%。較高的RI表明,MirrorGAN++生成的圖像和輸入文本之間的視覺(jué)語(yǔ)義一致性較高,進(jìn)一步證明了所采用的語(yǔ)義文本再生模塊的有效性。

表2 不同模型在CUB和COCO數(shù)據(jù)集下的RI(越高越好)

3.2.2 定性結(jié)果

對(duì)于定性評(píng)估,圖3和圖4顯示了MirrorGAN++和之前模型生成的文本到圖像合成示例。與GAN-INT-CLS、StackGAN 和AttnGAN相比,STRM-AttnGAN++方法生成的圖像質(zhì)量更高,細(xì)節(jié)更多,文本圖像的語(yǔ)義一致性也更好。這是因?yàn)镸CAM和STRM有助于生成具有更多細(xì)節(jié)和更好語(yǔ)義一致性的細(xì)粒度圖像。

圖3 不同的模型在CUB測(cè)試集上的文本生成圖像

在單主題生成方面,即圖3中CUB數(shù)據(jù)集上生成的樣本,MirrorGAN++模型更好地突出了圖像的主題鳥(niǎo)并且細(xì)節(jié)呈現(xiàn)得更豐富,MirrorGAN++方法能夠更好地理解文本描述的邏輯,并呈現(xiàn)出更清晰的圖像結(jié)構(gòu)。例如,圖3的第1列、第2列和第4列中AttnGAN生成的示例的鳥(niǎo)的頭部到圖片的外面,而文中模型就沒(méi)有這個(gè)問(wèn)題。

在多主題生成方面,即圖4中的COCO數(shù)據(jù)集生成的樣本,當(dāng)文本描述更復(fù)雜且包含多個(gè)主題時(shí),生成圖像更具挑戰(zhàn)性。MirrorGAN++根據(jù)最重要的主題精確地捕捉主場(chǎng)景,并合理地安排其余的描述性?xún)?nèi)容,從而改善了圖像的整體結(jié)構(gòu)。例如,在圖4的第2列需要標(biāo)識(shí)浴室所需的組件,而MirrorGAN++是唯一一種成功的方法。還可以看出,圖4的第3列和第4列中GAN-INT-CLS、StackGAN 和AttnGAN生成的示例的形狀看起來(lái)很奇怪并且缺乏一些細(xì)節(jié),而文中模型要好很多。

視覺(jué)結(jié)果表明,MirrorGAN++方法生成的圖像質(zhì)量更高,細(xì)節(jié)更多,文本圖像的語(yǔ)義一致性也更好。

圖4 不同的模型在COCO測(cè)試集上的文本生成圖像

3.3 消融研究

MirrorGAN++關(guān)鍵部分的消融研究:接下來(lái)對(duì)所提出的模型進(jìn)行消融研究。為了驗(yàn)證STRM和MCAM的有效性,通過(guò)在MirrorGAN++中移除和添加這些成分進(jìn)行了幾個(gè)比較實(shí)驗(yàn)。結(jié)果見(jiàn)表3和表4。

表3 不同權(quán)重設(shè)置下的MirrorGAN++IS結(jié)果

表4 不同權(quán)重設(shè)置下的MirrorGAN++RI結(jié)果

首先,參數(shù)很重要。在CUB數(shù)據(jù)集上,λ2設(shè)置為5,當(dāng)λ1從5增加到20時(shí),IS從4.03增加到4.82,RI從45.77%增加到71.43%。在COCO數(shù)據(jù)集上,λ2設(shè)置為50,當(dāng)λ1從5增加到20時(shí),IS從21.15增加到31.49,RI從59.36%增加到89.01%。將λ1設(shè)為20作為默認(rèn)值。

沒(méi)有MCAM和STRM(λ1=0)的MirrorGAN++已經(jīng)比StackGAN++[22]和PPGN[23]取得了更好的效果。將STRM集成到MirrorGAN++中會(huì)進(jìn)一步提高性能。IS在CUB中從3.87分提高到4.71分,在COCO中從19.78分提高到30.37分,RI呈相同趨勢(shì)。值得注意的是,沒(méi)有MCAM的MirrorGAN++已經(jīng)超過(guò)了之前的AttnGAN(見(jiàn)表1),后者也使用了單詞級(jí)的注意力。這些結(jié)果表明,STRM在幫助生成器獲得更好的性能方面很有效。具體來(lái)說(shuō),STRM從最后生成的圖像重新生成文本描述,在語(yǔ)義上與給定的文本描述對(duì)齊。此外,STRM與MCAM的結(jié)合進(jìn)一步提高了IS和RI,使最后的結(jié)果超越了MirrorGAN。這些結(jié)果表明,提出的改進(jìn)的多維度的注意力協(xié)同模塊MCAM和語(yǔ)義文本再生模塊STRM是非常有效的。

4 結(jié)束語(yǔ)

提出了改進(jìn)的多維度的注意力協(xié)同模塊MCAM和語(yǔ)義文本再生模塊STRM,以解決具有挑戰(zhàn)性的T2I生成問(wèn)題。MCAM具有從粗到細(xì)生成目標(biāo)圖像的級(jí)聯(lián)結(jié)構(gòu),利用本地單詞注意和全局句子注意逐步增強(qiáng)生成圖像的多樣性和語(yǔ)義一致性。STRM通過(guò)從生成的圖像中重新生成文本描述來(lái)進(jìn)一步監(jiān)督生成器,使該圖像在語(yǔ)義上與給定的文本描述對(duì)齊。通過(guò)對(duì)兩個(gè)公共基準(zhǔn)數(shù)據(jù)集的深入實(shí)驗(yàn),證明了MirrorGAN++優(yōu)于其他方法。

猜你喜歡
一致性語(yǔ)義注意力
注重整體設(shè)計(jì) 凸顯數(shù)與運(yùn)算的一致性
真實(shí)場(chǎng)景水下語(yǔ)義分割方法及數(shù)據(jù)集
商用車(chē)CCC認(rèn)證一致性控制計(jì)劃應(yīng)用
讓注意力“飛”回來(lái)
基于電壓一致性的能源互聯(lián)微網(wǎng)無(wú)功功率分配
Why do we celebrate the New Year?
A Beautiful Way Of Looking At Things
“吃+NP”的語(yǔ)義生成機(jī)制研究
漢語(yǔ)依憑介詞的語(yǔ)義范疇
閱讀理解兩則
鱼台县| 黄龙县| 贵溪市| 龙川县| 榆树市| 宝兴县| 溧阳市| 华坪县| 高邮市| 凤冈县| 凌海市| 鱼台县| 北碚区| 昌吉市| 克山县| 临沭县| 汉川市| 镇康县| 久治县| 房山区| 宁明县| 临清市| 绩溪县| 安西县| 波密县| 通山县| 普兰店市| 云林县| 桐梓县| 响水县| 望谟县| 通河县| 青铜峡市| 双柏县| 红桥区| 奉化市| 浦县| 东兰县| 丹巴县| 广宁县| 分宜县|