于耀淋,張景異,雎付佳
(沈陽(yáng)理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,沈陽(yáng) 110159)
人臉生成技術(shù)的應(yīng)用廣泛。例如,一些商家在制作全景地圖時(shí),為避免侵犯?jìng)€(gè)人隱私,會(huì)通過該技術(shù)將所涉人臉全部替換為授權(quán)圖像;在電影業(yè),可以對(duì)一些電影片段進(jìn)行人臉替換而無需重拍。
在人臉生成技術(shù)研究中,常用的思路是模型先通過算法學(xué)習(xí)數(shù)據(jù)的分布模式,再進(jìn)行圖像生成。但是采用自編碼器(Autoencoder,AE)[1]、收縮自編碼器(Contractive Autoencoder,CAE)[2]等技術(shù)產(chǎn)生的圖像都具有清晰度低的缺點(diǎn)。生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[3]通過兩個(gè)模型之間的不斷博弈,使得算法學(xué)到的概率分布不斷逼近真實(shí)數(shù)據(jù),因此,GAN生成的圖像通常清晰度較高,成為在復(fù)雜分布上進(jìn)行無監(jiān)督學(xué)習(xí)最具潛力的研究方法之一。
GAN把生成問題當(dāng)作兩個(gè)網(wǎng)絡(luò)之間的對(duì)抗。一個(gè)持續(xù)學(xué)習(xí)真實(shí)的概率分布,而另一個(gè)則判別數(shù)據(jù)的真假,目的是將其區(qū)分開。該算法具有許多拓展,比如雙向3D人體運(yùn)動(dòng)預(yù)測(cè)生成式對(duì)抗網(wǎng)絡(luò)BiHMP-GAN[4]、與對(duì)抗防御算法相結(jié)合的對(duì)抗性攝動(dòng)消除算法Ape-Gan[5]和加入了點(diǎn)云上采樣的對(duì)抗網(wǎng)絡(luò)Pu-gan[6],文獻(xiàn)[7-8]則是將GAN用于異常檢測(cè)。上述網(wǎng)絡(luò)增強(qiáng)了GAN的魯棒性以及擬合能力,擴(kuò)展了其應(yīng)用范圍。目前,邊界均衡生成式對(duì)抗網(wǎng)絡(luò)(Boundary Equilibrium Generative Adversarial Networks,BEGAN)[9]只使用單一時(shí)間尺度,在訓(xùn)練過程中容易出現(xiàn)不穩(wěn)定的情況;同時(shí)該模型并不會(huì)懲罰生成的相似圖像,因此具有多樣性不足的問題;BEGAN在卷積運(yùn)算時(shí)使用3×3的卷積核提取特征,接受范圍較小,對(duì)某些復(fù)雜的人臉圖像難以建模,生成圖像質(zhì)量差。
本文通過使用雙時(shí)間尺度更新規(guī)則(Two Time-scale Update Rule,TTUR),對(duì)生成器和鑒別器應(yīng)用不同的學(xué)習(xí)率,使模型訓(xùn)練更加穩(wěn)定;在生成器損失中加入推開項(xiàng)(Pulling-away Term,PT)[10],防止產(chǎn)生模式聚集的人臉圖像,提高數(shù)據(jù)的多樣性;引入自注意力機(jī)制,讓模型在擁有較大接受范圍的同時(shí)保證計(jì)算及建模效率,增強(qiáng)空間區(qū)域之間的聯(lián)系,改善網(wǎng)絡(luò)的生成效果。
GAN模型及其拓展都是通過各種損失函數(shù)使生成數(shù)據(jù)逐漸逼近真實(shí)分布,當(dāng)兩者幾乎等同時(shí),認(rèn)為網(wǎng)絡(luò)訓(xùn)練完成。BEGAN未采用上述方法,而是計(jì)算分布誤差的距離,只要誤差等同,則認(rèn)為分布一樣。BEGAN的鑒別器不再是普通的分類器,而是自編碼器結(jié)構(gòu),用重構(gòu)誤差評(píng)估圖像來源真實(shí)與否,生成器則是自編碼器中的解碼器,可以更有效地使用樣本的特征信息。BEGAN模型結(jié)構(gòu)如圖1所示。
圖1 BEGAN整體結(jié)構(gòu)圖
BEGAN使用單一時(shí)間尺度,即生成器和鑒別器使用相同的學(xué)習(xí)率,所以迭代通常會(huì)重新訪問原迭代環(huán)境[11-12],往往會(huì)導(dǎo)致振蕩,因此很難達(dá)到局部納什均衡,會(huì)造成訓(xùn)練不穩(wěn)定的情況。
TTUR的原理是當(dāng)生成器固定時(shí),鑒別器會(huì)收斂到局部最小值,如果前者變化足夠慢,意味著其擾動(dòng)很小,那么后者仍然收斂。相比之下,速度過快的生成器會(huì)將鑒別器穩(wěn)定地驅(qū)動(dòng)到新的區(qū)域,而不會(huì)捕獲其收集的信息,因此,后者的學(xué)習(xí)速率通常比前者快。同時(shí),TTUR是兩個(gè)不同步長(zhǎng)的耦合迭代,假設(shè)一個(gè)步長(zhǎng)比另一個(gè)小得多,較慢的迭代(步長(zhǎng)較小的迭代)足夠慢以允許快速迭代收斂。
設(shè)n代表迭代次數(shù),n≥0,快速變量ωn∈R,較慢變量θn∈R,則
(1)
(2)
Heusel M等[13]證明了當(dāng)GAN使用TTUR訓(xùn)練時(shí),會(huì)收斂到局部納什均衡,在實(shí)驗(yàn)中會(huì)產(chǎn)生更好的結(jié)果。鑒于該規(guī)則的優(yōu)點(diǎn),本文對(duì)兩個(gè)網(wǎng)絡(luò)應(yīng)用不同的學(xué)習(xí)速率,生成器就會(huì)使用較小的更新幅度,模型訓(xùn)練也變得更加穩(wěn)定。
由于BEGAN模型應(yīng)用單一時(shí)間尺度,圖像質(zhì)量在訓(xùn)練過程中并未持續(xù)被優(yōu)化,且模型使用像素級(jí)的損失,對(duì)相似的人臉圖像沒有約束或懲罰措施,使兩個(gè)網(wǎng)絡(luò)的性能難以達(dá)到平衡,在生成圖像時(shí)會(huì)出現(xiàn)缺乏多樣性的問題,如圖2所示。
圖2 BEGAN生成的相似圖像
PT的目的是避免產(chǎn)生類型相同的數(shù)據(jù)。由于該項(xiàng)需要添加在損失函數(shù)中,較容易受訓(xùn)練過程的穩(wěn)定性影響,所以在雙時(shí)間尺度的基礎(chǔ)上能夠更好地發(fā)揮其效果。PT值計(jì)算式為
(3)
式中:S表示從編碼器輸出的一批向量;fPT(S)為S的PT值;N是向量數(shù)。圖像的維度會(huì)隨著編碼逐漸改變,最后會(huì)轉(zhuǎn)化為一維向量,這樣每?jī)蓚€(gè)經(jīng)過轉(zhuǎn)化的圖像之間計(jì)算余弦距離,再求平均值,目的是使這兩個(gè)向量趨近于正交,即使fPT(S)趨于0,這樣可以降低相似性,進(jìn)而有效提升圖像的多樣性。計(jì)算PT值時(shí)使用余弦相似性而不是歐幾里德距離的基本原理,使該項(xiàng)有下界且對(duì)尺度不變。
通過在損失函數(shù)中加入PT項(xiàng)以懲罰產(chǎn)生相似圖像的生成器,可以防止模型出現(xiàn)一種或幾種模式聚集的樣本,提高了網(wǎng)絡(luò)輸出數(shù)據(jù)的多樣性。
BEGAN主要基于卷積模擬圖像不同區(qū)域之間的依賴關(guān)系,而卷積只能處理局部鄰域中的信息,當(dāng)生成某些復(fù)雜的人臉時(shí),生成質(zhì)量差,如圖3所示。
圖3 BEGAN生成的復(fù)雜人臉圖像
針對(duì)上述問題,Zhang H等[14]提出自注意力機(jī)制,如圖4所示。
圖4 自注意力模塊
由卷積層輸出的特征圖x∈RC×M,首先通過f(x)和g(x)轉(zhuǎn)化為兩張?zhí)卣鲌D,計(jì)算注意力,其中C是通道數(shù),M是維度,1×1卷積的作用是減少特征圖中的通道數(shù)量,然后通過Softmax損失函數(shù)將合成矢量轉(zhuǎn)換成概率分布。f(x)、g(x)的定義為
f(x)=Wfx
(4)
g(x)=Wgx
(5)
式中:Wf、Wg分別表示f、g的權(quán)重矩陣。由此可計(jì)算特征圖各區(qū)域間的注意力sij。
sij=f(xi)Tg(xj)
(6)
式中i、j為特征圖中各區(qū)域的編號(hào)。
由此,當(dāng)合成第j個(gè)區(qū)域時(shí),模型對(duì)第i個(gè)區(qū)域的關(guān)注程度βj,i為
(7)
于是,自注意力模塊的輸出可表示為
(8)
y=γo+x
(9)
式中:K代表特征圖總區(qū)域數(shù);Wh是一個(gè)可學(xué)習(xí)的權(quán)重矩陣;Wv是不同卷積層的權(quán)重矩陣;γ是可學(xué)習(xí)的標(biāo)量,初始化為0。引入γ可以讓網(wǎng)絡(luò)首先依賴于附近區(qū)域的信息,然后逐漸學(xué)會(huì)為其他區(qū)域分配更多權(quán)重。因此,最終的輸出y由o與γ相乘,并和輸入特征圖相加獲得。
注意力機(jī)制可應(yīng)用于生成器和鑒別器,通過最小化對(duì)抗損失進(jìn)行訓(xùn)練。并且該機(jī)制可使網(wǎng)絡(luò)從圖像的較遠(yuǎn)位置捕捉細(xì)節(jié),與BEGAN中的卷積層相輔相成,其在計(jì)算效率、統(tǒng)計(jì)效率和模擬遠(yuǎn)程依賴性方面做到更好的平衡,同時(shí)只增加了較少的計(jì)算成本。
模型的每次迭代同時(shí)訓(xùn)練兩個(gè)網(wǎng)絡(luò)。首先,根據(jù)TTUR為其各初始化一個(gè)學(xué)習(xí)率,通常情況下,鑒別器學(xué)習(xí)率要高于生成器。然后加入注意力機(jī)制,由于該層主要作用于通過卷積輸出的特征圖,因此將其置于卷積層后,而鑒別器是自編碼器結(jié)構(gòu),所以需要添加兩層。最后加入PT損失,生成器的損失函數(shù)為
LG=L(G(zG))+λfPT(S)
(10)
式中:L(·)代表?yè)p失函數(shù);zG為潛在空間中的向量;G(·)是生成的圖像;λ為PT項(xiàng)的系數(shù)。
本文方法在公開的人臉屬性數(shù)據(jù)集CelebA上進(jìn)行實(shí)驗(yàn)和效果評(píng)估。CelebA包含202,599張人臉圖像,并且每張圖像都有特征標(biāo)記,包括40個(gè)屬性標(biāo)記、5個(gè)人臉特征點(diǎn)坐標(biāo)以及標(biāo)注框,被普遍用于與人臉相關(guān)的訓(xùn)練任務(wù)。
為便于訓(xùn)練,需要對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,其中包括像素歸一化和尺寸歸一化,將所有圖像的像素縮放到[-1,1],大小設(shè)置為64×64。使用β1=0.5、β2=0.999的Adam優(yōu)化器對(duì)參數(shù)進(jìn)行優(yōu)化。每批訓(xùn)練16個(gè)樣本。對(duì)于CelebA圖像數(shù)據(jù)集,生成器和鑒別器的學(xué)習(xí)率分別設(shè)置為0.0001和0.0004。λ設(shè)置為0.1。
訓(xùn)練時(shí)隨著迭代次數(shù)的增加,使用單時(shí)間尺度與雙時(shí)間尺度的模型生成效果如圖5所示。
圖5a中兩張人臉圖像質(zhì)量時(shí)好時(shí)壞,波動(dòng)較大;圖5b中的圖像質(zhì)量隨迭代次數(shù)增加呈上升趨勢(shì),直至穩(wěn)定,因?yàn)殡p時(shí)間尺度更新規(guī)則能夠提升網(wǎng)絡(luò)收斂于局部納什均衡的效率,從而維持模型訓(xùn)練的穩(wěn)步進(jìn)行。
人臉圖像生成任務(wù)中,常用的圖像生成質(zhì)量評(píng)估指標(biāo)是FID值,該指標(biāo)可以評(píng)估圖像的多樣性和質(zhì)量,且有很好的魯棒性,對(duì)模型崩塌也比較敏感,因此本文使用FID值衡量實(shí)驗(yàn)結(jié)果。
在服從[0,1]的均勻分布中隨機(jī)采樣編碼,進(jìn)行人臉生成,根據(jù)結(jié)果計(jì)算FID值,該值越小表示模型的性能越好。將本文提出的方法與BEGAN、能量生成對(duì)抗網(wǎng)絡(luò)(Energy-Based Generative Adversarial Network,EBGAN)[10]、自我注意生成對(duì)抗性網(wǎng)絡(luò)(Self-Attention Generative Adversarial Networks,SAGAN)[14]三種人臉圖像生成方法在公共數(shù)據(jù)集CelebA上比較人臉生成效果的評(píng)價(jià),如表1所示。
表1 不同算法人臉生成效果對(duì)比
從表1可以看出,本文改進(jìn)算法的FID值略低于經(jīng)典的SAGAN,這是因?yàn)镾AGAN的生成器和鑒別器均使用了譜歸一化,提升了網(wǎng)絡(luò)性能,但由于每層都需要計(jì)算譜范數(shù),增加了計(jì)算量,訓(xùn)練時(shí)間較長(zhǎng)。與本文算法在訓(xùn)練時(shí)間上的對(duì)比結(jié)果如表2所示。
表2 算法訓(xùn)練時(shí)間對(duì)比
為使實(shí)驗(yàn)結(jié)果更加直觀,每個(gè)模型均生成50000張64×64分辨率的圖像,并分別隨機(jī)抽取10000個(gè)樣本進(jìn)行對(duì)比,圖6是各模型生成效果對(duì)比圖。
圖6 各模型生成效果對(duì)比圖
由圖6可見,本文算法具有良好的生成效果。
應(yīng)用TTUR能夠使兩個(gè)網(wǎng)絡(luò)的對(duì)抗達(dá)到動(dòng)態(tài)平衡,提升整體穩(wěn)定性;PT損失的加入使得生成器針對(duì)性地限制相同或相似圖像的出現(xiàn);通過引入自注意力機(jī)制,模型更加關(guān)注遠(yuǎn)距離的特征信息,有效地提高了人臉圖像的多樣性和質(zhì)量。CelebA數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,與BEGAN方法相比,本文提出的方法具有更好的性能,更適合生成人臉圖像。