論文筆記:條件對抗網路(Image-to-Image)
1、摘要
研究條件對抗網路作為影象到影象轉換問題的通用解決方案。網路不僅學習從輸入
影象到輸出影象的對映
,還學習了用於訓練該對映的
損失函式
。這使得可以用相同的方法解決傳統上需要不同損失函式的問題。這項工作表明我們可以在不用手動設計損失函式的情況下獲得合理的結果。
2、介紹
我們將影象到影象的轉換定義為一個場景到另一個場景的轉換,如圖一的
input
與
output
所示,在傳統上,每一個轉換任務都需要單獨訓練一個機器模型,儘管這些模型的最終目的都是一樣的:
從畫素預測畫素
。而本文的目標是為所有這些畫素轉換問題開發一個通用框架。
卷積神經網路(CNNs)成為各種影象預測問題背後的共同主力。 但仍需要進行大量的手工操作來設計有效的損失函式。 使用CNN針對不同的問題,需要手動設計不同的損失函式,例如,輸出清晰,逼真的影象。。。。。這是一個開放的問題,通常需要各種不同的專業知識。
如果我們只能指定一個高階目標,然後自動學習適合於這一目標的損失函式,那將是非常可取的。這也就是生成性對抗網路(GAN)所做的事情。GAN可以自動學習損失函式去區分輸出影象時真實的還是偽造的,所以它可以應用於傳統上需要非常多不同型別的損失函式的大量任務。
本文的主要貢獻是證明在有各種各樣的問題上,
conditional GANs produce reasonable results。
我們的第二個貢獻是提供一個足以取得良好結果的簡單框架,並分析幾個重要架構選擇的影響。
影象條件模型已經從法線貼圖[54],未來幀預測[39],產品照片生成[58]以及稀疏註釋[30,47]的影象生成中解決了影象預測問題。
我們的框架不同之處在於沒有任何特定應用程式。這使我們的設定比大多數其他設定簡單得多。在生成器(
generator
)和判別器(
discriminator
)幾個架構的選擇中,生成器基於
U-net
網路,判別器選擇卷積
PatchGAN
分類器,僅在影象塊的比例下懲罰結構。
3、方法
GANs是生成模型,可以學習從隨機噪聲向量z到輸出影象y,
G : z -> y
。相反,條件GANs學習從觀察影象x和隨機噪聲向量z到y的對映,
G : {x; z} -> y
。對生成器G進行訓練以產生輸出,使這個輸出與對抗訓練過的判別器產生的“真實”影象無法區分,D,經過訓練,儘可能地檢測生成器的“fakes”。 訓練過程如圖二所示:
3。1 目標
conditional GAN
的目標方程可以表示為:
其中G試圖最小化這個目標,而D試圖最大化目標形成對抗。
為了測試
discriminator
的重要性,我們還比較了一個無條件變數,其中
discriminator
沒有觀察量x,公式如下:
以前的方法發現將
GAN objective
與更多傳統的
loss
混合是有益的,例如L2距離。
discriminator
的工作保持不變,但是
generator
的任務不僅是
fool the discriminator
,而且還要接近L2意義上的
ground truth output
。 我們還探索了這個選項,使用L1距離而不是L2,因為L1鼓勵減少模糊:
最終我們的目標函式變成:
如果沒有隨機噪聲向量z,網路仍然可以學習從x到y的對映,但會產生確定性輸出,因此無法匹配
delta
函式以外的任何分佈。 過去的條件GAN已經意識到了這一點並且除了x之外還提供了高斯噪聲z作為
generator
的輸入。
對於我們的最終模型,我們僅以
dropout
的形式提供噪聲,在訓練和測試的時候應用我們
generator
的多個層,儘管存在
dropout
噪音,但我們觀察到網路輸出中只有輕微的隨機性。 設計產生高隨機輸出的條件GAN,從而捕獲它們建模的條件分佈的完整熵,是當前工作留下的一個重要問題。
3。2 網路結構
網路結構在論文Unsupervised representation learning with deep convolutional generative adversarial networks的網路結構的基礎上微調。
generator
和
discriminator
採用的都是
convolution-BatchNorm-ReLu
的形式。包含了下面主要討論的功能。
3。2。1 Generator with skips
要求輸入與輸出大致對齊,
shape
大小一樣,基於這個考慮設計
generator
的架構,為了給
generator
提供一種資訊瓶頸的方法,按照U-net的方式進行跳轉連線。U-net原理可參考論文筆記:Unet用於醫學影象分割的卷積網路
3。2。2 馬爾可夫鑑別器(PatchGAN)
眾所周知,L2損失在影象生成問題上產生模糊結果,見圖4。 雖然這些損失不能鼓勵高頻脆度,但在許多情況下它們仍能準確地捕獲低頻。 對於這種情況的問題,我們不需要一個全新的框架來強制低頻率的正確性。 L1已經做好了。
這促使限制GAN鑑別器僅模擬高頻結構,依賴於L1項來強制低頻正確性(方程4)。為了模擬高頻,將我們的注意力限制在區域性影象塊中的結構就足夠了。因此,我們設計了一個鑑別器結構,我們將其稱為PatchGAN,它只對補丁規模的結構進行懲罰。該鑑別器試圖鑑別影象中的每個N*N貼片是真實的還是假的。我們在影象中對這個鑑別器進行了卷積處理,平均所有響應以提供D的最終輸出。
N可以比影象的完整尺寸小得多,並且仍然可以產生高質量的結果。這是有利的,因為較小的PatchGAN具有較少的引數,執行得更快,並且可以應用於任意大的影象。這種鑑別器有效地將影象建模為馬爾可夫隨機場。
3。3 Optimization and inference
為了最佳化網路,遵循論文Generative Adversarial Nets 中的標準方法:我們固定D的引數然後在G上交替執行梯度下降。如原始GAN論文中提到的一樣,我們不是最小化
log(1-D(x;G(x; z))
而是最大化
logD(x;G(x; z))
。我們使用
minibatch SGD
並應用
Adam
最佳化器,學習率設為0:0002,動量引數β1 = 0。5, β2 = 0。999。
在預測時,我們以與訓練階段完全相同的方式執行
generator
。 這與通常的協議不同之處在於我們在測試時應用了
dropout
,並且我們在
test batch
上應用了
batch normalization
,而不是訓練批次的彙總統計資料。 當批次大小設定為1時,這種
batch normalization
的方法被稱為
instance normalization
。 並且已被證明在影象生成任務中有效[53]。 在我們的實驗中,我們根據實驗使用1到10之間的批次大小。
4、Experiments
實驗部分主要講用了哪些資料集,做了哪些對比試驗,結果分析以及一些評估標準。就不一一詳細寫出來了。
5、總結
總的來說,我個人覺得這篇文章的只是給
Generative Adversarial Nets
多找了幾個應用場景,為影象到影象的轉換的轉換提供了一個通用的框架,區域性畫素處理,平均所有塊響應以提供D的最終輸出以及平均所有響應以提供D的最終輸出,是個很好的創新點。