譚臺哲 傅美
摘要:圖像翻譯是目前計算機視覺領(lǐng)域一個比較重要的方向,其目標(biāo)旨在學(xué)習(xí)兩個不同圖像域之間的映射,同時保留原始圖像的特征和語義。當(dāng)今,無監(jiān)督學(xué)習(xí)的圖像翻譯利用生成對抗網(wǎng)絡(luò)和比較多的訓(xùn)練數(shù)據(jù)能夠取得不錯的性能。但現(xiàn)有的圖像翻譯模型是采用一種一次性的方式形成,其中忽略了訓(xùn)練過程的學(xué)習(xí)經(jīng)驗,所生成的模型只能適用于特定的領(lǐng)域,不能適應(yīng)一個未知的領(lǐng)域。該文在循環(huán)一致性生成對抗網(wǎng)絡(luò)的研究基礎(chǔ)之上,嘗試從元學(xué)習(xí)的角度來處理這一類問題。
關(guān)鍵詞:循環(huán)一致性生成對抗網(wǎng)絡(luò);元學(xué)習(xí);圖像翻譯;生成對抗網(wǎng)絡(luò);計算機視覺
中圖分類號:TP183? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2022)22-0070-02
1 引言
當(dāng)今計算機技術(shù)的迅猛發(fā)展使得深度學(xué)習(xí)在相關(guān)領(lǐng)域產(chǎn)生了重要的作用,其中,計算機視覺結(jié)合深度學(xué)習(xí)產(chǎn)生了很多效果不錯的算法,并應(yīng)用于圖形領(lǐng)域的各個方向。
圖像翻譯是指將一個圖像的表征轉(zhuǎn)換到另一個圖像的表征,學(xué)習(xí)一種映射關(guān)系將源域圖像映射到目標(biāo)域圖像。轉(zhuǎn)換后的圖像的內(nèi)容由源域圖像提供,目標(biāo)域圖像負(fù)責(zé)提供圖像的風(fēng)格特征或者屬性。例如馬轉(zhuǎn)換到斑馬,夏天轉(zhuǎn)換到冬天。圖像翻譯可以應(yīng)用于風(fēng)格遷移、圖像修復(fù)等。圖像翻譯在近些年來得到了迅速發(fā)展,這得益于深度學(xué)習(xí)的浪潮,特別是生成對抗網(wǎng)絡(luò)(Generative Adversarial Nets,GAN) [1]的出現(xiàn),使得圖像翻譯技術(shù)得到了更進一步提升。圖像翻譯在近幾年有著諸多較為成功和經(jīng)典的模型,例如Pix2Pix[2],CycleGAN[3]、StarGAN[4]等。
當(dāng)今,無監(jiān)督學(xué)習(xí)的翻譯框架是使用不成對的訓(xùn)練數(shù)據(jù)學(xué)習(xí)一個映射,將給定類中的圖像映射到不同類中的類似圖像。然而,目前的研究偏向于學(xué)習(xí)一個特定的轉(zhuǎn)換任務(wù)模型,而且需要在訓(xùn)練時使用到海量的源域和目標(biāo)域中的圖像數(shù)據(jù),這類方法在某些特定領(lǐng)域取得了重大的成績,但是對于一些新領(lǐng)域,并沒有足夠的數(shù)據(jù)來支撐模型的訓(xùn)練,如果只是簡單地將模型應(yīng)用于新的任務(wù),即便使用數(shù)據(jù)增強技術(shù)來擴展新任務(wù)領(lǐng)域的數(shù)據(jù),也無法獲得好的效果,會產(chǎn)生嚴(yán)重的過擬合問題。在難于獲取數(shù)據(jù)的背景下,小樣本學(xué)習(xí)應(yīng)運而生。小樣本學(xué)習(xí)是以任務(wù)為基礎(chǔ),核心思想是讓模型學(xué)會學(xué)習(xí),主要分為度量學(xué)習(xí)和元學(xué)習(xí)[5]。度量學(xué)習(xí)是指通過在嵌入空間與樣本產(chǎn)生一種映射,在嵌入空間中比較樣本間的相似度。元學(xué)習(xí)是從很多任務(wù)的學(xué)習(xí)中獲取豐富的先驗知識,將獲得的先驗知識提供了歸納偏差,使得模型在不同的任務(wù)之間泛化。元學(xué)習(xí)亦稱為學(xué)會學(xué)習(xí)[6]。通過學(xué)習(xí)相似任務(wù)之前的共性部分獲得經(jīng)驗,利用學(xué)習(xí)到的經(jīng)驗對新任務(wù)進行微調(diào),無需重新學(xué)習(xí)就可以很好地泛化到數(shù)據(jù)不足的新任務(wù)中。
本文運用CycleGAN作為研究基礎(chǔ),將元學(xué)習(xí)的概念擴展到圖像翻譯中,從元學(xué)習(xí)的角度改進CycleGAN,這個方法使得模型可以有效利用先前圖像翻譯任務(wù)中的學(xué)習(xí)經(jīng)驗。筆者方法的目標(biāo)是首先利用不成對的數(shù)據(jù)進行有效的訓(xùn)練,然后將獲得的模型應(yīng)用于各種新的圖像翻譯任務(wù)。
2 相關(guān)工作
2.1GAN網(wǎng)絡(luò)
GAN是一種深度學(xué)習(xí)模型,是無監(jiān)督學(xué)習(xí)領(lǐng)域具有廣闊前景的模型之一。該模型由兩個相互競爭的組件組成,一個生成器(Generator, G) 負(fù)責(zé)捕獲樣本數(shù)據(jù)分布并學(xué)習(xí)生成感興趣的數(shù)據(jù)候選。一個判別器(Discriminator, D) 負(fù)責(zé)評估生成的數(shù)據(jù)是否滿足真實數(shù)據(jù)分布的概率,原理如圖1所示。
GAN的原理充分體現(xiàn)了博弈論的思想。生成器以隨機噪聲(通常是均勻分布或者高斯分布) 作為輸入生成與真實樣本相似的數(shù)據(jù),判別器將生成的圖像作為輸入并評估它們以輸出圖像與真實圖像的概率。G網(wǎng)絡(luò)的目標(biāo)是生成盡可能真實的圖像來欺騙D網(wǎng)絡(luò),使得D網(wǎng)絡(luò)無法分辨出真實圖像與合成圖像之間的區(qū)別,整個網(wǎng)絡(luò)最終達(dá)到納什均衡。兩個網(wǎng)絡(luò)之間的對抗關(guān)系如公式(1) 所示。
[minmaxV(D,G)=Ex~Pdata(x)[logD(x)]+Ez~Pz(x)[log(1-D(G(z))]]? ? ? ? ? (1)
其中:x代表真實圖片數(shù)據(jù),z代表隨機噪聲,G(z)代表合成的圖像,D(x)和D(G(z))是鑒別器對真實圖像和合成圖像的輸出,[Ex~Pdata(x)]是真實數(shù)據(jù)的數(shù)學(xué)期望值。訓(xùn)練生成器最小化[ log(1-D(G(z))]同時訓(xùn)練判別器最大化[logD(x)]。
2.2 CycleGAN
CycleGAN是由兩個GAN網(wǎng)絡(luò)組成,旨在實現(xiàn)兩個圖像域(X,Y) 之間的相互映射,為了避免所有的X都被映射到同一個Y,所以采用了一對生成器和判別器的結(jié)構(gòu),既能進行X到Y(jié)的映射,也能進行Y到X的映射,原理如圖2所示。模型通過訓(xùn)練后,可以在不同的圖像之間進行轉(zhuǎn)換。在這個過程中,要保證循環(huán)的一致性,所以在其中引入了一個循環(huán)一致性損失。
圖2中,(a) 是CycleGAN模型總覽圖,X和Y可以通過生成器網(wǎng)絡(luò)G和F相互轉(zhuǎn)換。(b) 、(c) 是CycleGAN模型兩個循環(huán)的迭代步驟。
2.3 與模型無關(guān)的元學(xué)習(xí)(MAML)
與模型無關(guān)的元學(xué)習(xí)(Model-Agnostic Meta-Learning,MAML) [7]是一種獨立于模型的元學(xué)習(xí)算法,可用于基于梯度下降的各種學(xué)習(xí)問題和模型。不像之前的元學(xué)習(xí)方法需要學(xué)習(xí)更新函數(shù)或?qū)W習(xí)規(guī)則,MAML既不增加模型參數(shù)的數(shù)量,也不對模型的結(jié)構(gòu)設(shè)置任何限制。MAML可以輕松地與全連接網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)進行交互。
MAML算法的訓(xùn)練以任務(wù)為訓(xùn)練單元,將對應(yīng)的數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集。整個算法分為元訓(xùn)練階段和元測試階段。在元訓(xùn)練階段,從給定的分布[Ti~p(T) ]中選擇任務(wù),其中每個任務(wù)包含K個類別,每個類別包含N個樣本。元學(xué)習(xí)試圖通過訓(xùn)練所有的任務(wù)來獲得一個良好的廣義模型,從而快速適應(yīng)新的任務(wù)。元訓(xùn)練階段,首先使用訓(xùn)練集得到原始模型參數(shù)[θ]在[Ti]上的損失值[? LTi(fθ)],然后使用梯度下降得到[θi],如公式(2) 所示。
[θi=θ-α?θLTi(fθ)]? ? ? ? ? ?(2)
其中[α]是在內(nèi)循環(huán)中使用的元訓(xùn)練學(xué)習(xí)率,然后使用測試集來驗證期望參數(shù),從而獲得一個新的損失,這里的損失值只能看作是一個元損失的一部分,在整個內(nèi)部循環(huán)結(jié)束之后計算的累計和就是最終的元損失。計算總損失的梯度并做隨機梯度下降更新模型的原始參數(shù)值,如公式(3) 所示。
[θ=θ-β?θTi~P(T)LTi(fθ'i)]? ? ? ? ? ? ?(3)
其中[β]是外循環(huán)中使用的學(xué)習(xí)率。MAML在一個小樣本數(shù)據(jù)集上進行訓(xùn)練后,基礎(chǔ)模型將學(xué)習(xí)到良好的初始化參數(shù),并能使用這個良好的參數(shù)有效地完成小樣本學(xué)習(xí)任務(wù)。
3 網(wǎng)絡(luò)結(jié)構(gòu)和具體算法
本文在CycleGAN圖像翻譯算法中引入了元學(xué)習(xí)的方法,構(gòu)建了基于MAML與改進CycleGAN的圖像翻譯方法。
3.1 改進CycleGAN網(wǎng)絡(luò)結(jié)構(gòu)
CycleGAN的生成器采用的是由步幅為2和卷積核大小為3*3的兩個卷積層,6個卷積核大小為3*3的殘差塊和兩個步幅為0.5和卷積核大小為3*3的轉(zhuǎn)置卷積層組成,通過全卷積網(wǎng)絡(luò)連接。整個生成器網(wǎng)絡(luò)都是采用的殘差網(wǎng)絡(luò),殘差網(wǎng)絡(luò)的優(yōu)勢需要在足夠深的網(wǎng)絡(luò)中才能體現(xiàn)出來,而在CycleGAN中輸入圖像為256*256時采用的是9層網(wǎng)絡(luò),網(wǎng)絡(luò)并不是深。受到馬赫等人[8]的啟發(fā),使用Inception模塊代替原始單一的ResNet模塊,并保持原始一致的結(jié)構(gòu)。
3.2 元學(xué)習(xí)的任務(wù)設(shè)定
在元學(xué)習(xí)的訓(xùn)練中,訓(xùn)練樣本包含從P(T)提取的有限的一組任務(wù)Tn,訓(xùn)練任務(wù)數(shù)量是N。具體而言,每個訓(xùn)練任務(wù)Tn是一個[Tn=(STn,QTn)]的元組,其中S表示支撐集,Q表示查詢集,S和Q不相交。算法將Tn作為輸入,并為元學(xué)習(xí)器產(chǎn)生學(xué)習(xí)策略。元學(xué)習(xí)器可以根據(jù)支持集數(shù)據(jù)迭代地調(diào)整參數(shù),并通過使用查詢集數(shù)據(jù)計算元目標(biāo)值來評估其泛化性能。然后通過測試誤差相對于參數(shù)的變化來改進元學(xué)習(xí)器。
3.3 元訓(xùn)練過程
Algorithm 1 Training process
Require:[P(T)]:distributionovertasks
Require:[α,β]:stepsizehyperparameters
1:randomly initialize [θ]
2:while not done do
3: Sample batch of tasks [Ti~P(T)]
4:for all [Ti]do
Meta-training:
5: Evaluate [?θLTifθ] with respect to K examples
6: Compute adapted parameters with gradient descent:[θ'i=θ-α?θLTi(fθ)]
7:? end for
Meta-testing:
8:Update [θ←θ-β?θTi~P(T)LTi(fθ'i)]
9:end while
上述算法是元學(xué)習(xí)結(jié)合改進CycleGAN方法的預(yù)訓(xùn)練算法,主要目的是對先驗知識的積累。MAML的訓(xùn)練過程可以看作是一個由內(nèi)環(huán)和外環(huán)組成的雙層優(yōu)化,也稱為元訓(xùn)練和元測試。
4 實驗結(jié)果與分析
4.1 實驗環(huán)境和數(shù)據(jù)集
本文實驗采用的硬件配置為Inter Xeon E5 2680 v3(3.3GHz)處理器,GPU為NVIDIA GeForce GTX2080Ti、RAM16GB。軟件配置采用Pytorch深度學(xué)習(xí)框架,操作系統(tǒng)為64位Ubuntu16.04LTS。數(shù)據(jù)集使用horses2zebras, summer2winter, apple2orange, monet2photo。
4.2 實驗結(jié)果
本文收集了4種雙域翻譯任務(wù),分別是馬到斑馬,夏天到冬天,莫奈風(fēng)格到照片和蘋果到橙子。筆者隨機選擇3個作為訓(xùn)練集,并選擇其他一個任務(wù)作為測試數(shù)據(jù)集來模擬元翻譯場景。
從左到右,這些列分別表示來自源類圖像的輸入、CycleGAN的結(jié)果和本文的結(jié)果。
從圖3中可以看出,本文所提出的方法在數(shù)據(jù)樣本數(shù)量不足的情況下仍然有著良好的輸出圖像。在只有10個訓(xùn)練樣本的情況下,基本能夠成功地輸出目標(biāo)域的圖像,在輸出圖像的某些細(xì)節(jié)方面優(yōu)于CycleGAN生成的圖像。
5 總結(jié)
本文從元學(xué)習(xí)的角度研究圖像翻譯問題,旨在利用先前領(lǐng)域的翻譯先驗知識,經(jīng)過實驗證明,本文所提出的方法能夠在數(shù)據(jù)樣本不足的情況下對新任務(wù)領(lǐng)域的翻譯產(chǎn)生較好的輸出。當(dāng)然,此方法還有更好的改進,在今后的工作中將對MAML的結(jié)構(gòu)進行改進,更好地保留圖像的原始特征。另外,在MAML訓(xùn)練過程中由于梯度減小問題而引起的訓(xùn)練不穩(wěn)定問題沒有得到解決,這為今后的工作提供了方向。
參考文獻:
[1] Goodfellow I,Pouget-Abadie J,Mirza M,et al.Generative adversarial networks[J].Communications of the ACM,2020,63(11):139-144.
[2] Isola P,Zhu J Y,Zhou T H,et al.Image-to-image translation with conditional adversarial networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition.Honolulu,HI,USA.IEEE,2016:5967-5976.
[3] Zhu J Y,Park T,Isola P,et al.Unpaired image-to-image translation using cycle-consistent adversarial networks[J].2017 IEEE International Conference on Computer Vision (ICCV),2017:2242-2251.
[4] Choi Y,Choi M,Kim M,et al.StarGAN:unified generative adversarial networks for multi-domain image-to-image translation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City,UT,USA.IEEE,2018:8789-8797.
[5] 陳瑞敏,劉士建,苗壯,等.基于元學(xué)習(xí)的少樣本紅外空中目標(biāo)分類方法[J].紅外與毫米波學(xué)報,2021,40(4):554-560.
[6] 朱應(yīng)釗,李嫚.元學(xué)習(xí)研究綜述[J].電信科學(xué),2021,37(1):22-31.
[7] Finn C,Abbeel P,Levine S.Model-agnostic meta-learning for fast adaptation of deep networks[C]//ICML'17:Proceedings of the 34th International Conference on Machine Learning - Volume 70,2017:1126-1135.
[8] 馬赫,張濤,盧涵宇.基于CycleGAN的圖像風(fēng)格遷移[J].電腦知識與技術(shù),2020,16(27):18-20.
【通聯(lián)編輯:唐一東】