許哲豪 陳瑋
摘 要:圖像到圖像的翻譯工作在現(xiàn)實(shí)中有著廣泛應(yīng)用,因此在計(jì)算機(jī)視覺(jué)領(lǐng)域得到高度關(guān)注。通過(guò)CycleGAN的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行圖像風(fēng)格遷移實(shí)驗(yàn),將自然得到的圖片轉(zhuǎn)換成具有某種風(fēng)格的圖片,同時(shí)該方法不需要源圖像與風(fēng)格圖像互相匹配,因此擴(kuò)大了應(yīng)用范圍。在實(shí)驗(yàn)中,分別使用WGAN、WANG-GP、LSGAN和原始GAN目標(biāo)函數(shù)比較生成樣本的質(zhì)量,盡管生成對(duì)抗網(wǎng)絡(luò)(GANs)擁有強(qiáng)大的建模能力,但難以訓(xùn)練。研究發(fā)現(xiàn),WGAN-GP能夠穩(wěn)定訓(xùn)練過(guò)程并且生成更真實(shí)的圖像,WGAN、LSGAN效果次之,GAN經(jīng)常會(huì)出現(xiàn)模型崩塌現(xiàn)象。
關(guān)鍵詞:生成對(duì)抗網(wǎng)絡(luò);風(fēng)格遷移;CycleGAN;WGAN
DOI:10.11907/rjdk.172830
中圖分類號(hào):TP317.4
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)006-0207-03
Abstract:Image-to-iamge translation is been used widely in real life, and it has attracted a lot of attention in computer vision. This paper explores it through image styles transfer. We try to transfer the style of images by Generative Adversarial Nets, precisely CycleGAN. This method can transfer natural images into images with different styles, besides it does not need paired data, so it can be used in a lot of fields. In experiments, we use WGAN, WANG-GP, LSGAN and vanilla GAN objective functions respectively to compare quality of generated samples. Despite the strong power of GANs, it is notorious for the problem of hard training. Through experiments, WANG-GP can stably train process and generate more realistic images, WGAN, LSGAN are not as good as WANG-GP, GAN often occur model collapse.
Key Words:Generative Adversarial Nets; style transfer; CycleGAN; WGAN
0 引言
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Nets, GANs)[1]在最近幾年尤其是近一年來(lái)引起了廣泛關(guān)注,許多研究將GANs引入不同領(lǐng)域,如圖像超分辨[2]、圖像到圖像的遷移、圖像分割[3]、文本到圖像的生成[4-5]、自然語(yǔ)言生成等。
GANs有著強(qiáng)大的建模能力,區(qū)別于其它生成模型[6],其可以捕捉到高維的、難以追蹤的真實(shí)數(shù)據(jù)分布。GANs可以看作是博弈論中的零和游戲,在一場(chǎng)游戲中有兩個(gè)玩家:生成器G、判別器D。生成器網(wǎng)絡(luò)G用來(lái)從噪聲中生成數(shù)據(jù)并將它們傳遞給判別器,以判斷生成數(shù)據(jù)與真實(shí)數(shù)據(jù)的相似度;判別器網(wǎng)絡(luò)D用來(lái)判別數(shù)據(jù)是來(lái)自真實(shí)數(shù)據(jù)還是生成器生成的偽造數(shù)據(jù)。舉例說(shuō)明,將生成器比作假幣制造商,將判別器比作警察,假幣制造商總是試圖制造出以假亂真的假幣迷惑警察,而警察總是保持警惕最大程度地判別出錢幣是真還是假,兩者互相對(duì)抗,最終警察無(wú)法判別出錢幣是真是假。
式(2)和式(4)定義的損失為GAN的目標(biāo)函數(shù)。但是它引起了GANs在訓(xùn)練時(shí)不穩(wěn)定及訓(xùn)練不收斂的問(wèn)題,比較顯著的缺陷可以總結(jié)為以下幾點(diǎn):①模型坍塌問(wèn)題。網(wǎng)絡(luò)中輸入不同的樣本卻常常產(chǎn)生相同的輸出,也就是輸出結(jié)果不具有多樣性、差異性。更嚴(yán)重的問(wèn)題是輸出結(jié)果是一群無(wú)意義的噪聲,模型完全沒(méi)有學(xué)習(xí)到真實(shí)數(shù)據(jù)的分布;②訓(xùn)練損失與訓(xùn)練效果的關(guān)聯(lián)性差。一般情況下訓(xùn)練的周期越長(zhǎng),生成的結(jié)果應(yīng)該越好越逼真,但是公式并沒(méi)有表明這一點(diǎn)。同時(shí),也不知道訓(xùn)練應(yīng)該什么時(shí)候停止;③訓(xùn)練中的擺動(dòng)問(wèn)題。在訓(xùn)練時(shí)需要平衡生成器與判別器的性能,確保不會(huì)出現(xiàn)梯度消失問(wèn)題。
針對(duì)上面提到的問(wèn)題,一系列論文[7-9]分析了缺陷發(fā)生的原因并且提出了各自解決方法。
WGAN(Wasserstein Gan, WGAN)[7]認(rèn)為原始GAN用來(lái)衡量?jī)蓚€(gè)分布距離和差異的JS散度存在問(wèn)題。當(dāng)兩個(gè)分布不存在重疊時(shí),JS不能為生成器提供連續(xù)有效的梯度而導(dǎo)致模型失敗。因此,筆者提出使用Wasserstein距離衡量?jī)蓚€(gè)分布之間的距離和差異。Wasserstein距離反映從一個(gè)分布到另一個(gè)分布的最小損失,它在兩個(gè)分布即使沒(méi)有重疊的情況下依舊能夠衡量?jī)烧叩木嚯x,并為生成器提供連續(xù)有效的梯度。因此,式(1)變?yōu)椋?/p>
WGAN極大地優(yōu)化了GAN中出現(xiàn)的問(wèn)題,而且已經(jīng)被用在各種場(chǎng)景中。但是WGAN-GP認(rèn)為,WGAN由于對(duì)權(quán)重進(jìn)行裁剪的做法過(guò)于直接粗暴,導(dǎo)致有時(shí)仍然會(huì)產(chǎn)生低質(zhì)量樣本,并且對(duì)訓(xùn)練的穩(wěn)定性造成傷害。針對(duì)這一問(wèn)題,筆者提出使用梯度懲罰機(jī)制代替權(quán)重裁剪,因此判別器損失公式更正為:
WGAN-GP進(jìn)一步穩(wěn)定了GAN的訓(xùn)練過(guò)程,而且保證了結(jié)果質(zhì)量。
1 風(fēng)格遷移
圖像到圖像的翻譯[11]或者說(shuō)圖像到圖像的遷移,隨著深度學(xué)習(xí)的發(fā)展也迎來(lái)光明前景。在繪畫上,要讓一幅圖片具備某個(gè)著名畫家的風(fēng)格特性,需要繪畫大師將原圖片內(nèi)容與著名畫家的風(fēng)格融合后重新描繪出來(lái),這不僅代價(jià)昂貴而且不現(xiàn)實(shí),但是深度神經(jīng)網(wǎng)絡(luò)的介入使其不再遙不可及。論文[12]首次運(yùn)用神經(jīng)網(wǎng)絡(luò)進(jìn)行畫風(fēng)遷移的實(shí)驗(yàn),神經(jīng)網(wǎng)絡(luò)接受兩個(gè)輸入:一個(gè)圖片提供內(nèi)容,另一個(gè)圖片提供風(fēng)格,然后計(jì)算生成內(nèi)容圖片與風(fēng)格圖片之間的損失。他們的目標(biāo)是最小化損失函數(shù):
其中,和pl分別表示在第l層的原始圖片和對(duì)應(yīng)的特征圖,和Fl分別表示在第l層的生成圖片和其對(duì)應(yīng)的特征圖。
其中,和分別表示風(fēng)格圖片和生成圖片。N-1是生成圖的特征圖數(shù)量,M-1是特征圖的寬乘高大小,G是生成圖的Gram矩陣,A是風(fēng)格圖的Gram矩陣。
隨著GANs的提出及其推廣[13-14],圖像到圖像的遷移問(wèn)題得到了極大改進(jìn)。不同于之前只學(xué)習(xí)到一張圖片風(fēng)格的方法,GAN方法可以廣泛地學(xué)習(xí)到一群圖片中的風(fēng)格,更加能捕捉到類似特征。
2 網(wǎng)絡(luò)結(jié)構(gòu)
許多種不同類型的GAN都可以進(jìn)行圖像到圖像的翻譯,但是它們都需要配對(duì)的數(shù)據(jù),而現(xiàn)實(shí)中得到配對(duì)數(shù)據(jù)是非常困難的,因此限制了應(yīng)用范圍。而DualGAN[15]、DiscoGAN、CycleGAN等可以在未配對(duì)的數(shù)據(jù)中實(shí)現(xiàn)圖像到圖像的翻譯,其中CycleGAN以簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)取得了優(yōu)良效果。
CycleGAN[16]使用兩個(gè)生成器網(wǎng)絡(luò)和兩個(gè)判別器網(wǎng)絡(luò)實(shí)現(xiàn)兩個(gè)圖片X與Y之間的互相映射。定義生成器G進(jìn)行X→Y的映射,生成器F進(jìn)行Y→X的映射。判別器D-X用來(lái)分辨數(shù)據(jù)是來(lái)自X還是來(lái)自生成的F(y),判別器D-Y用來(lái)分辨數(shù)據(jù)是來(lái)自Y還是來(lái)自生成的G(x)。CycleGAN外還引入了一種循環(huán)一致性損失,圖片X被映射到Y(jié)同時(shí)應(yīng)該被再次映射回來(lái),然后計(jì)算原始圖片X與映射回來(lái)圖片的損失,即循環(huán)一致性損失,試圖使F(G(x))≈x和G(F(y))≈y。圖1顯示了網(wǎng)絡(luò)的結(jié)構(gòu)。
圖1(a)中,G、F代表映射函數(shù),D-X和D-Y分別表示對(duì)應(yīng)的判別器;圖1(b)和圖1(c)是兩個(gè)循環(huán)一致性損失。
對(duì)抗損失的目標(biāo)函數(shù)與原始GAN中的一致,映射函數(shù)G和判別器D-Y的目標(biāo)函數(shù)表示為:
3 實(shí)驗(yàn)分析
實(shí)驗(yàn)顯示,CycleGAN成功實(shí)現(xiàn)了圖像風(fēng)格的遷移,并且是在數(shù)據(jù)集不配對(duì)的情況下。另外,本文更改了方法中的目標(biāo)函數(shù),以穩(wěn)定訓(xùn)練的過(guò)程及提升生成的圖像質(zhì)量,并通過(guò)多個(gè)實(shí)驗(yàn)比較不同目標(biāo)函數(shù)的優(yōu)劣。
3.1 數(shù)據(jù)集
圖像到圖像的翻譯往往需要一對(duì)一配對(duì)的訓(xùn)練數(shù)據(jù),但是這種數(shù)據(jù)在現(xiàn)實(shí)中很難得到,而CycleGAN解決了該種限制,它不需要配對(duì)的數(shù)據(jù)就可以實(shí)現(xiàn)一個(gè)領(lǐng)域到另一個(gè)領(lǐng)域的遷移,因此擴(kuò)大了使用范圍。本文使用的數(shù)據(jù)集來(lái)自Stanford提供的從網(wǎng)絡(luò)中搜集到的圖片,其中有6 288幅風(fēng)景圖片和1 073幅莫奈的畫作,都是256×256像素的RGB圖像。
3.2 訓(xùn)練細(xì)節(jié)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)已經(jīng)成為機(jī)器視覺(jué)領(lǐng)域中的流行框架,它在圖像分類[17-18]、物體識(shí)別[19-20]、圖像分割中取得了突出效果[21]。本文使用CycleGAN的網(wǎng)絡(luò)結(jié)構(gòu)作為特征提取器。在訓(xùn)練中CycleGAN使用LSGAN的目標(biāo)函數(shù)作為判別依據(jù),但是仍存在著模型坍塌、生成樣本質(zhì)量低等問(wèn)題,因此本文通過(guò)更換目標(biāo)函數(shù)穩(wěn)定訓(xùn)練以提高生成圖片的質(zhì)量。
3.3 實(shí)驗(yàn)結(jié)果
分別使用GAN、WGAN、WGAN-GP的目標(biāo)函數(shù)進(jìn)行實(shí)驗(yàn),通過(guò)生成的圖片觀察不同目標(biāo)函數(shù)的效果。具體效果見(jiàn)圖2(見(jiàn)封底彩圖)。圖2中最后兩列是要學(xué)習(xí)的風(fēng)格圖像,前兩列是使用WGAN-GP目標(biāo)函數(shù)生成的圖像,3、4列是使用WGAN目標(biāo)函數(shù)生成的圖像,5、6列是使用LSGAN目標(biāo)函數(shù)生成的圖像,也就是CycleGAN使用的默認(rèn)目標(biāo)函數(shù),7、8列是使用原始GAN目標(biāo)函數(shù)生成的圖像。
通過(guò)不同目標(biāo)函數(shù)生成的圖像效果對(duì)比發(fā)現(xiàn),WGAN-GP能夠更好地生成想要的圖片效果,生成的效果與目標(biāo)最接近。WGAN也生成了風(fēng)格圖像,但是效果不如WGAN-GP更真實(shí),GAN和LSGAN表現(xiàn)都相差甚遠(yuǎn),可以認(rèn)為訓(xùn)練是失敗的。不同目標(biāo)函數(shù)生成的圖像效果與之前分析一致。
4 結(jié)語(yǔ)
GANs因其通俗易懂的原理和強(qiáng)大的建模能力已經(jīng)應(yīng)用在多種領(lǐng)域,本文使用GANs進(jìn)行圖像風(fēng)格的遷移實(shí)驗(yàn)。由于原始GANs的缺點(diǎn)會(huì)導(dǎo)致訓(xùn)練失敗,因而使用WGAN、WGAN-GP等方法規(guī)避。使用CycleGAN網(wǎng)絡(luò)進(jìn)行圖像之間風(fēng)格遷移,不需要相互匹配的數(shù)據(jù)集,大大擴(kuò)展了實(shí)際使用范圍。CycleGAN可以方便地實(shí)現(xiàn)風(fēng)格遷移,但是會(huì)使得整個(gè)圖片發(fā)生變化而非期望的某個(gè)部分或某個(gè)物體,因此接下來(lái)需尋求一種新的模型,實(shí)現(xiàn)更加精確的遷移。
參考文獻(xiàn):
[1] IAN G, JEAN P A, MEHDI M, et al. Generative adversarial nets[C]. Advances in Neural Information Processing Systems, 2014:2672-2680.
[2] LEDIG C, THEIS L, HUSZA′R F, et al. Photo-realistic single image super-resolution using a generative adversarial network[R]. Arxiv Preprint Arxiv:1609.04802, 2016.
[3] LONG V, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]. CVPR, 2015:3431-3440.
[4] ZHANG H, XU T,LI H S, et al. StackGAN: text to photo-realistic image synthesis with stacked generative adversarial networks[R]. Arxiv Preprint Arxiv:1612.03242, 2016.
[5] REED, AKATA, YAN, et al. Generative adversarial text to image synthesis[R]. Arxiv Preprint Arxiv:1605.05396, 2016.
[6] DIEDERIK P K,MAX W. Autoencoding variational bayes[C]. ICLR,2014.
[7] MARTIN A, SOUMITH C, LON B. Wasserstein gan[R]. Arxiv Preprint Arxiv:1701.07875, 2017.
[8] GULRAJANI I, AHMED F, ARJOVSKY M, et al. Improved training of wasserstein GANs[R]. Arxiv Preprint Arxiv:1704.00028,2017.
[9] SALIMANS T, GOODFELLOW I, ZAREMBA W, et al. Improved techniques for training GANS[R]. Arxiv Preprint Arxiv:1606.03498, 2016.
[10] DIEDERIK K, JIMMY BA. Adam: a method for stochastic optimization[R]. Arxiv Preprint Arxiv:1412.6980, 2014.
[11] ISola P, ZHU Y, ZHOU Y, et al. Image-to-image translation with conditional adversarial networks[R]. Arxiv Preprint Arxiv:1611.07004, 2016.
[12] LEON G, ALEXANDER E, MATTHIAS B. A neural algorithm of artistic style[R]. Arxiv Preprint Arxiv:1508.06576, 2015b.
[13] LIU M Y, TUZEL O. Coupled generative adversarial networks[C]. In NIPS, 2016:469-477.
[14] WU B Z, DUAN H D, LIU Z C, et al, SRPGAN: perceptual generative adversarial network for single image super resolution[R]. Arxiv Preprint Arxiv:1714.05927.
[15] YI Z L, ZHANG H, TAN P, et al. Dualgan: unsupervised dual learning for image-to-image translation[R]. CoRR, ABS/1704.02510, 2017.
[16] ZHU J Y, TAESUNG P, PHILLIP I, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[R]. CoRR, ABS/1703.10593,2017.
[17] SIMONYAN E, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]. ICLR, 2015.
[18] HUANG G, CHEN D L, LI T H, et al, Multi-scale dense networks for resource efficient image classification[C]. ICLR, 2018.
[19] REN S, HE K, GIRSHICK R,et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]. NIPS, 2015.
[20] DAI J, LI Y, HE K, et al. R-FCN: object detection via region-based fully convolutional networks[C]. NIPS, 2016.
[21] HE K M, ZHANG X Y, REN S Q, el al. Deep residual learning for image recognition[R]. CoRR, ABS/1512.03385, 2015.
(責(zé)任編輯:何 麗)