论文笔记:CycleGAN
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:CycleGAN
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
CycleGAN
1、四個問題
- 圖像翻譯任務(wù)(image-to-image translation problems),域轉(zhuǎn)換任務(wù)。
- 提出了CycleGAN的網(wǎng)絡(luò)結(jié)構(gòu)。
- 目的是:通過使用一組對抗損失,學(xué)習(xí)到一個映射G:X→YG: X \rightarrow YG:X→Y,使得生成的樣本G(X)G(X)G(X)的分布難以跟真實(shí)樣本YYY的分布區(qū)分開來。
- 同樣也要保證,通過另一組對抗損失,學(xué)習(xí)到一個與GGG相反的映射F:Y→XF: Y \rightarrow XF:Y→X,并能夠保證cycle consistency,即F(G(X))≈XF(G(X)) \approx XF(G(X))≈X,反之同理。
- 在圖像翻譯、風(fēng)格轉(zhuǎn)換、季節(jié)轉(zhuǎn)換等任務(wù)上超過之前的模型。
- 能夠使用不成對的數(shù)據(jù)進(jìn)行訓(xùn)練,cycleGAN會自動學(xué)習(xí)不同域之間的風(fēng)格特征。
- CycleGAN的訓(xùn)練重度依賴于數(shù)據(jù),如果數(shù)據(jù)質(zhì)量不好,或是混入較多錯誤樣本,可能會導(dǎo)致災(zāi)難性的后果。
- CycleGAN相對難以收斂,直接對映射進(jìn)行約束訓(xùn)練的難度較大。
2、論文概述
2.1、基本思路
- 條件對抗生成網(wǎng)絡(luò)(CGAN)是圖像翻譯問題的一種通用方案。對于這類網(wǎng)絡(luò)來說,不僅僅會學(xué)習(xí)圖像到圖像的映射關(guān)系,還會自適應(yīng)地學(xué)習(xí)一個損失函數(shù)來訓(xùn)練這層映射關(guān)系。
- CycleGAN思路參考自機(jī)器翻譯的研究工作:
- 在機(jī)器翻譯中,語言與語言之間幾乎不存在一一對應(yīng)關(guān)系,可能是多對一也可能是一對多,難以建立標(biāo)簽。因此就有研究者提出,在語言轉(zhuǎn)換過程中引入一致性假設(shè),即:英語翻譯為法語,再將其翻譯為英語,要保證兩次翻譯前后的語句盡可能近似。
- 因此,作者提出在圖像翻譯中引入cycle consistency。即假設(shè)有從域XXX到域YYY的映射GGG,又有從域YYY到域XXX的映射FFF,這兩個映射要滿足前面提到的cycle consistency:
- 使用映射GGG從域XXX轉(zhuǎn)到域YYY,再使用映射FFF從域YYY映射回域XXX,得到X^\hat{X}X^,前后要保證L2損失:∥X?X^∥2\| X - \hat{X} \|_2∥X?X^∥2?盡可能小。
- 使用映射FFF從域YYY轉(zhuǎn)到域XXX,再使用映射GGG從域XXX映射回域YYY,得到Y^\hat{Y}Y^,前后要保證L2損失:∥Y?Y^∥2\| Y - \hat{Y} \|_2∥Y?Y^∥2?盡可能小。
- 在cycle consistency之外加入兩個對抗損失(adversarial loss),構(gòu)成兩個GAN,最后組合起來就是一個CycleGAN模型。
2.2、方法
- 如圖所示,是一個CycleGAN的基本結(jié)構(gòu):
- 對抗損失(Adversarial Loss):
- CycleGAN實(shí)際上可以看做是由兩個單向的GAN組成的。
- 第一組GAN是:映射G:X→YG: X \rightarrow YG:X→Y和判別器DYD_YDY?。 損失函數(shù)如下:
- 生成器GGG試著去生成圖像G(x)G(x)G(x),并使其盡可能類似于YYY域內(nèi)的樣本,同時DYD_YDY?嘗試去區(qū)分生成的樣本G(x)G(x)G(x)和真實(shí)樣本yyy。GGG試圖去最小化目標(biāo)函數(shù),而判別器DDD則盡可能地最大化它,如:
- 第二組GAN與第一組近似,映射關(guān)系相反:F:Y→XF: Y \rightarrow XF:Y→X,以及判別器DXD_XDX?。
- 與第一組GAN同理,可以構(gòu)造對抗損失,不做贅述。
- 優(yōu)化關(guān)系也類似:
- Cycle Consistency Loss:
- 僅從理論上來說,使用對抗損失來學(xué)習(xí)映射GGG和FFF,可以分別學(xué)習(xí)到域XXX和YYY間的轉(zhuǎn)換關(guān)系。
- 在學(xué)習(xí)映射GGG和映射FFF的過程中,其實(shí)更近似與在隨機(jī)的高維映射函數(shù)空間中搜索一組合適的函數(shù)。而僅僅依靠對抗損失,往往很難保證學(xué)習(xí)到有效的映射函數(shù)。為了減少在搜索空間中可能的函數(shù)選擇,還需要加入額外的映射約束。
- 由此,作者提出了cycle consistency函數(shù)的概念:
- 作者認(rèn)為,除了使用原始的對抗損失對映射GGG和映射FFF進(jìn)行約束之外,這兩個映射函數(shù)還需要具有cycle consistency的性質(zhì)。
- 對于圖像域XXX的圖像xxx,在轉(zhuǎn)換到域YYY后,還要保證能夠轉(zhuǎn)換回XXX域后能得到原始圖像xxx。x→G(x)→F(G(x))≈xx \rightarrow G(x) \rightarrow F(G(x)) \approx xx→G(x)→F(G(x))≈x,文中稱其為forward cycle consistency。
- 類似地,對于圖像域YYY的圖像yyy,在轉(zhuǎn)換到域XXX后,還要保證能夠轉(zhuǎn)換回YYY域后能得到原始圖像yyy。y→F(y)→G(F(y))≈yy \rightarrow F(y) \rightarrow G(F(y)) \approx yy→F(y)→G(F(y))≈y,文中稱其為backward cycle consistency。
- 公式如下:
- 完整目標(biāo)函數(shù):
- λ\lambdaλ控制兩個損失的相對關(guān)系。
- 最終希望得到的最優(yōu)生成器是:
2.3、效果
- 總體來說,CycleGAN的效果還是很不錯的,論文給出了很多實(shí)驗(yàn)結(jié)果,不做贅述了。
3、參考資料
- Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks
總結(jié)
以上是生活随笔為你收集整理的论文笔记:CycleGAN的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:Geo-CNN
- 下一篇: 论文笔记:Semi-Supervised