pix2pix簡單分析


pix2pix是一個GAN模型改進的算法,要求訓練集有匹配對。與之相反的,是無匹配對的訓練集,即cyclegan。

[1611.07004] Image-to-Image Translation with Conditional Adversarial Networks (arxiv.org)

一、模型結構

 

 模型結構如圖所示,對於生成器G,需要輸入一個標簽x。對於判別器D,則需要輸入圖片y及標簽x。作者使用了U-net網絡,大概長這個樣子。

 

 一個大大的U形,一般用於語義分割,效果還不錯,是一個基准模型。

二、LOSS函數

 

 其loss函數如上所示。

CGAN的loss如下所示,其實就是gan的損失函數稍微改了下:

 

 L1 損失函數:

 L1 loss是一種單純的絕對差損失,魯棒性強,但是很容易減少生成圖G的多樣性,傾向於生成真實圖y(原封不動照搬)。

有很多論文指出,這部分損失函數可以改為 內容損失。

關於內容損失,指的是淺層特征的損失,是屬於風格遷移方面的內容,一般使用VGG16來計算,因為經過了一些卷積層的抽象,具有一定的泛化能力。此外還有 風格損失,指的是深層特征的損失,這部分損失更關注特征與特征之間的關系,所以使用gram或協方差矩陣來計算損失。(VGG16是一個分類模型)

詳細內容可以看:風格遷移(style_transfer)網絡 - 知乎 (zhihu.com)

 

 三、后續

文章后續稍微討論了一下優化器optim的問題。D、G都是交替訓練一次,使用了adam的優化方法,學習率為0.0002。批處理量是1,也可以設為1~10。

在文章中,Bathsize設為1是很合理的,他說雖然有BN層,一般不會batch size=1,但是實列歸一化的這種方法被證明有效,可以用。

總之,這個方法簡單粗暴,效果也不錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM