天天看點

《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解

《Image Generation and Translation with Disentangled Representations 》 解讀

論文下載下傳位址:點選打開連結

如果下載下傳連結出現了問題,回複我,我會發一個連結給下載下傳。

一、論文解讀

1. 原始GANs在圖像生成與轉換的幾個主要問題

注:要看原文的話,可以結合paper第一部分和第二部分可以看出原始的GANs在圖像生成與轉換的主要問題。這裡給出如下幾個總結:

(1) 原始的GANs模型不能對生成什麼種類的圖像進行控制。

(2) 不能提供一個能修改存在的資料樣例的方法,但是能生成一個新的圖像。

(3) 在圖像生成和轉換問題上,一個模型隻能對應一個領域圖像的生成和轉換。

(4) 沒有解開表示圖像在生成和轉換上的學到的問題,導緻其在圖像生成和轉換上沒有得到一個較好的表現。

(5) 原始的GANs不好訓練,并且需要用全部的已有的label資料進行訓練。

2. 論文的主要貢獻

(1) 用一個模型實作了可控制的圖像生成和圖像轉換。

說明:這一點的重要性具體可見paper的第二部分(Relatedt Work),這裡文章用了較多的篇幅說明目前大多數的GANs在iamge-to-image的問題上,一個模型隻能針對于一個領域圖像的轉換,并且效果并不是特别的好;在圖像生成上同樣也是效果不好,并且無法很好的生成該領域中其他的較好的圖像....等等,作者引用了很多paper進行說明,可以去看一下,對GANs現有的發展情況有個了解。

(2) 論文提出的模型可以使圖像在多個領域圖像進行轉換并且不需要多種編碼解碼成對的結構,并且該模型還可以探索到一些比較新奇的有關資料生成的因素,這些因素都可用于圖像生成與轉換。

(3)該模型隻需要少量的訓練标簽資料,對所有訓練的資訊進行編碼進行表示用于圖像的生成。

3. 論文的idea

(3.1) 模型的結構解讀
這裡先給出模型的結構圖,對照圖進行了解:
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解
① 模型的組成部分:

鑒别器Discriminator(D),生成器Generator(G),這裡的鑒别器和生成器的作用和以前的生成對抗模型一樣。

編碼器Ecoder(E),E的作用是将原圖像X編碼成有潛在表示的一個向量(vector) --Z,

Z由兩部分構成Z=(u, c),u編碼成非結構化的資訊和噪音noise,c編碼成結構化的資訊和資料生成的因素(例如類标簽的資訊)。

② 模型結構設計的意義以及代價損失函數的計算:

先介紹結構的上部分:

首先輸入的原始圖像X經過E的編碼成Z(u,c),這裡Z(Z=E(X)得到)有兩部分内容:第一與原始圖像X(這裡需要标簽資料)進行一個loss的計算并把這一部分的loss丢給G;第二部分,Z通過G(Z)生成圖像G(Z),這一部分計算一個圖像生成的loss,即Lrec。

結構的下部分:

結構下部分這個G的方向的意義在于:確定生成器G确實使用了c提供的資訊,同時也探索了先前不知道的資料生成的因素。

G将Z(u,c)中的c進行随機打亂得到Z',然後G(Z')送入E編碼器生成Z_(u' , c'),這裡Z_計算一個損失Li。

-----------------------------------------------------------------------------------------------------------

以上就是整個模型的流程,接下介紹損失函數的計算以及結構設計的意義。

Lrec設計的意義:為了確定潛在表示Z的編碼需要重建的原始圖像的資訊。我們隻需要Lrec将它最小化,其計算如下:

《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解
Li設計的意義:需要所有有必要的潛在的表示Z,更加明确的c。我們要将Li最大化,我們的得到c'即(E(G(u,c)))和圖像生成得到的(u,c)共同的資訊。它的計算如下:
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解

對于Li的計算,直接最大化計算比較困難,需要做一個c後邊的分布P(c|x),并設計了一個輔助分布E(c|x)來估計P(c|x),隻需要調解參數c,而把H(c)當做一個常數就好了。

Lsup設計的意義:增加這個損失是為了為c提供資訊(不能直接指明資訊),通過使用小部分有标簽的資料。其計算如下:

《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解

y表示label值,y*表示預測值。

設計D的意義:1.確定圖像通過G生成是真實的;2.E和G能學到更多模型反轉的資訊(((u; c); G(u; c)) 和(X; E(X)) 是來自E還是G);3.我們使用一個D,E模型的u能選擇對應的分布。Ladv其計算如下:

《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解
③ 模型結構訓練時參數的設計:
通過上面的論述我們可以得到整個模型結構的損失計算:
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解

這裡的λ是權重的正則項。λ1設定為10用于監督損失,確定能學到label的資訊。λ2用于重建圖像的損失,設定為1。λ3和λ4設定為0~1的線性增加的數。

網絡參數配置,學習速率(0.0001用于D,0.0003用于G和E),batch size設定為64,優化器使用的是比較好用的Adam optimizer(β1=0.5,β2=0.999對應于上邊學習率對應模型中的參數)。

u初始化一個(-1~1)的均勻分布的值

c分成兩個值,一個分類值在最後一層使用softmax得到,另一個是一個高斯的連續值。

(3.2) paper在不同資料集上采用的模型結構圖

《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解

4. 論文的實驗結果

對于這裡我就瘋狂而又簡單的截幾個圖好了,重要的是了解論文的精髓,要是自己實作看自己的實驗結果,那真的是美滋滋哇!!
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解
《Image Generation and Translation with Disentangled Representations 》論文解讀--解開圖像表示的生成與轉換一、論文解讀二、實踐了解

二、實踐了解

最後論文的總結和整篇paper一樣的基調,就是重複的啰嗦和宣揚他們論文的idea,我這裡就省略了。

對于paper提出來的模型通過上述的了解,各位可以試着去做做看,因為這一年要複習沒有足夠的精力去做,在這裡我給出我以前看過,用過的一些GANs的代碼,文檔等資源位址,大家可以去了解,做一下。

最後,因為時間有限,有些地方可能表述的不是很準确,請各位見諒,歡迎大家一起交流。

GANs資源位址:點選打開連結

繼續閱讀