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