A Style-Based Generator Architecture for Generative Adversarial Networks(論文翻譯)


A Style-Based Generator Architecture for Generative Adversarial Networks

通過借鑑圖像風格遷移,本文提出一種GAN的可替換的生成器架構。這種新的生成器架構可以無監督地分割高級屬性,生成的圖片可以隨機變化(比如人物的雀斑和頭髮),並且它允許對圖片的合成進行直觀地特定尺度的控制。這種新的生成器可以得到更好的插值屬性,也可以更好地理解變量的潛在因素

1 Introduction

目前在GAN中,生成器仍以黑盒的形式運行,雖然也有人對GAN的運行做出解釋,但對圖片合成過程的各個方面(例如隨即特徵的初始狀態)仍然缺乏瞭解。對潛在空間(latent space)的屬性的理解也很少。並且潛在空間插值並沒有提供定量的方法來比較不同的生成器。
本文重新設計了生成器架構,提出了控制圖像合成過程的新方法。生成器開始於一個輸入常量,根據 latent code 在每個卷積層調整圖像的樣式,從而在不同尺度下直接控制圖像特徵的強度。沒有對判別器和損失函數進行修改。
生成器將輸入的 latent code 嵌入到一個中間潛在空間(intermediate latent space)中。輸入潛在空間(input latent space)必須服從訓練數據的概率密度,這將會導致一定程度上不可避免的糾纏(entanglement)。而中間潛在空間不受這個限制,因此可以解糾纏(disentangled)。這裏提出兩種新的度量標準——感知路徑長度(perceptual path length)和線性可分離性(linear separability)。


解糾纏(Disentanglement),也叫做解耦,就是將原始數據空間中糾纏着的數據變化,變換到一個好的表徵空間中,在這個空間中,不同要素的變化是可以彼此分離的。比如,人臉數據集經過編碼器,在潛變量空間Z中,我們就會獲得人臉是否微笑、頭髮顏色、方位角等信息的分離表示,我們把這些分離表示稱爲Factors。


2 Style-based generator

在這裏插入圖片描述
圖(a)是傳統的生成器結構,圖(b)是本文提出的新的生成器結構。在(a)中 latent code 通過輸入層即前饋網絡的第一層提供給生成器。
圖(b)的解釋如下:
1.完全省略了輸入層,而是從一個學習到的常量開始。
2.給定一個輸入潛在空間Z中的latent code z,由一個非線性網絡映射f:Z——>W,產生w∈W。W是中間潛在空間,這一步即先將輸入映射到中間潛在空間。映射網絡由8層MLP組成。如圖(b)的左邊。
3.在圖(b)的右邊,A代表學習的仿射變換,A操作將w專門化爲樣式y =(ys,yb),這些樣式隨後被輸入到合成網絡g中,在合成網絡g的每個卷積層之後控制自適應實例規範化(AdaIN)操作。中間潛在空間W通過每個卷積層的自適應實例規範化(AdaIN)控制生成器。
4.AdaIN操作定義爲:
在這裏插入圖片描述
其中每個特徵圖(feature map)xi分別進行歸一化,然後使用樣式y中對應的標量分量進行縮放和偏移。因此,y的維數是該圖層上特徵圖數量的兩倍。
5.還是在圖(b)的右邊,B操作將學習的單通道縮放因子應用於噪聲輸入,將噪聲圖像廣播到所有特徵圖,然後將高斯噪聲添加到相應卷積的輸出中。
6.合成網絡g有18層,最後使用單獨的1×1卷積將最後一層的輸出轉換爲RGB。

2.1 Quality of generated images

在這裏插入圖片描述
上表說明,在CelebA-HQ和FFHQ數據集中不同生成器架構的FDI值,FDI值越小越好。基礎模型是(A)Progressive GAN這一生成器架構。除非另有說明,否則將從其中繼承網絡和所有超參數。
1.首先通過使用雙線性上/下采樣操作、更長的訓練和已調整的超參數將基礎模型改進到(B)。
2.然後通過添加映射網絡和AdaIN操作改進到(C),並觀察到網絡不再受益於將latent code饋入到第一個卷積層。
3.然後通過刪除傳統的輸入層並從學習到的4×4×512恆定張量(D)開始圖像合成來簡化體系結構。
4.接下來發現添加噪聲也能夠改善結果(E)。
5.最後對相鄰樣式進行去相關並實現對生成圖像的更細粒度控制的混合正則化。
發v
上圖顯示了本文的生成器從FFHQ數據集生成的一組未整理的新穎圖像。正如FID所證實的那樣,平均質量很高,甚至眼鏡和帽子之類的配件也能成功合成。對於此圖避免使用所謂的截斷技巧(truncation trick)來從W的極端區域進行採樣。本文的生成器允許只在低分辨率中選擇性地應用截斷,因此高分辨率細節不會受到影響。

2.2 Prior art

其他關於GAN的改進工作:
判別器改進方面:
1.使用多個判別器
2.多分辨率判別
3.self-attention
生成器改進方面:
1.輸入潛在空間的精確分佈
2.通過高斯混合模型、聚類或鼓勵凸度來塑造輸入潛在空間。
最近的條件生成器通過單獨的嵌入網絡,爲生成器的每一層提供類標籤,但是輸入仍然是通過輸入層。一些人考慮將latent code的一部分饋送到多個生成器層中。Chen et al.等也是使用AdaINs來對生成器進行self modulate,但他們並沒有考慮中間潛在空間和噪聲輸入。


3 Properties of the style-based generator

本文中的生成器可以通過對樣式進行特定比例(scale-specific)的修改,來控制圖像合成。2中提到的映射函數和仿射變換可以看成是從學習到的分佈中,爲每種樣式繪製樣本;而合成網絡可以看成是基於樣式的集合生成新的圖像。每種樣式的效果在網絡中都是已經被定位(localize)的,即修改樣式的特定子集只能影響圖像的某些方面。爲什麼會產生這種效果呢?AdaIN操作先將每個通道歸一化爲zero mean和unit variance,然後才根據樣式應用比例和偏差;接下來,基於樣式的新的每通道統計信息會對features在後續卷積操作中的相對重要性進行修改,但是因爲已經進行了歸一化操作,新的每通道統計信息並不會依賴原始統計信息。因此每個樣式僅控制一個卷積層,然後被下一個AdaIN操作覆蓋。

3.1 Style mixing

爲了讓樣式更好地locallize在網絡中,這裏提出混合正則化(mixing regularization)的概念:在訓練過程中,當要生成給定百分比的圖像時,需使用兩個隨機的latent codes。當生成這種圖像時,只需在合成網絡中隨機選擇的一點上進行style mixing操作(從一個latent code轉換到另一個latent code)。詳細來說就是,向映射網絡輸入兩個latent codes z1和z2,並讓相對應的w1和w2控制樣式,從而可以使w1應用於交叉點(crossover point)之前,w2應用於交叉點之後。
在這裏插入圖片描述
上圖:從各自的latent codes(源A和源B)生成了兩組圖像。其餘圖像是通過從源B複製指定的樣式子集,然後從源A獲取其餘的樣式而生成的。可以看出以不同比例混合兩個latent codes可以得到不同的圖像,並且樣式的每個子集都控制着圖像中有意義的高級屬性。
Coarse styles from B這三排圖像:複製源B中與粗略空間分辨率相對應的樣式(如姿勢、髮型、臉型和源B中的眼鏡),從源A中獲取顏色(眼睛、頭髮、燈光)和更精細的面部特徵。
Middle styles from sorce B這兩排圖像:從源B複製中間分辨率的樣式,(如一些較小比例的面部特徵、髮型、眼睛睜開/閉上),從源A獲得姿勢、臉型、眼鏡等特徵。
Fine from B這最後一排圖像:從B中複製精細的樣式,主要變化是配色和一些微觀結構上的不同。

3.2 Stochastic variation

在傳統的生成器中,如果要實現生成圖像的隨機變化,假設網絡的唯一輸入是通過輸入層,網絡需要從較早的激活中生成空間變化的僞隨機數,這會消耗網絡容量,並且難以隱藏生成信號的週期性。這種方法也並不總是成功的,比如有些生成圖像中存在一些重複圖案。
本文的生成器通過在每次卷積後添加每像素噪聲來實現生成圖像的隨機變化。下面通過兩張圖來看一下噪聲對生成圖像的影響。
在這裏插入圖片描述
(a)兩張生成的圖片。(b)輸入不同噪聲時對生成圖片的影響。雖然總體外觀幾乎相同,但頭髮的放置方式有所不同。(c)每個像素的standard deviation,突出顯示圖像的哪些部分受噪聲影響。可以看出主要受影響區域是頭髮、輪廓和背景部分,眼睛反射也受到了一些影響。從這張圖可以看出,噪聲僅影響隨機方面,而整體構成和高級屬性不受影響(如身份和姿勢)。
在這裏插入圖片描述
上圖說明在生成器不同層噪聲輸入的影響。(a)噪聲應用於所有層。(b)無噪聲。可以看到人爲的忽略噪聲會生成毫無特色的“繪畫”外觀。(c)僅在精細層中有噪聲。可以看到頭髮的卷更小,背景細節和皮膚毛孔更精細。(d)僅在粗略層中有噪聲。可以看到頭髮的卷更大,背景特徵也很粗略。
爲什麼噪聲會對一些局部特徵產生影響呢?生成器要生成新的圖片,這是毋庸置疑的。生成隨機變化的圖片也屬於新圖片。而在網絡中,產生隨機變化最簡單的方法就是依賴所提供的噪聲。合成網絡的每層都會輸入新的噪聲,因此沒必要從較早的激活中產生隨機變化,從而導致局部效應。

3.3 Separation of global effects from stochasticity

在本文基於樣式的生成器中,樣式的改變將會影響整個圖像。feature maps會按照相同的值進行縮放和偏移,因此可以連貫地控制諸如姿勢,照明或背景樣式之類的全局效果。噪聲被獨立地添加到每個像素,因此適合控制隨機變化。如果網絡試圖通過噪聲對姿勢等全局效果進行控制,將會導致空間上的不一致,判別器將不會認可這種生成效果。因此網絡會在沒有明確說明的情況下適當地使用全局和局部通道。也就是說網絡分得清什麼時候改變全局效果,什麼時候對局部特徵做出隨機變化。


4 Disentanglement studies

解糾纏要實現的目標是得到一個由線性子空間構成的潛在空間,每個子空間控制一個變化因子(factor of variation)。本文提出的生成器架構有一個好處是,中間潛在空間W不必支持根據固定分佈進行採樣,W的採樣密度由映射f(z)引導。映射f(z)同樣可適用於“非扭曲”(unwarp)W,從而變化因子會更加線性。然而最近提出的用於量化解糾纏的度量需要一個編碼網絡,該網絡能夠將輸入圖片映射到latent codes,本文的baseline GAN缺少這種編碼器。接下來介紹兩種量化解糾纏的新方法,這兩種方法均不需要編碼器或已知的變化因子,可用於任何圖像數據集和生成器。

4.1 Perceptual path length

潛在空間向量的插值可能會使圖片中產生非線性變化。例如,任一端點中不存在的features可能會出現在線性插值路徑的中間。這說明潛在空間是糾纏的並且變化因子並未被正確地分離。爲了量化這種影響,可以觀測在潛在空間中執行插值操作時圖片發生了怎樣劇烈的變化。直觀來說,捲曲程度較小的潛在空間與捲曲程度較大的潛在空間相比,會使感知更加的平滑。
本文中提出的度量標準的基礎是基於感知的成對圖像距離,該距離是通過兩個VGG16嵌入之間的權重差計算得出的。如果把潛在空間插值路徑細分爲線性段,那麼這段路徑的總感知長度就是每個線性段感知差的總和。感知路徑長度的自然定義就是在無限細分下該總和的極限,但實際上用一個較小的細分epsilon對其進行近似。因此,在所有可能的端點上,潛在空間Z中的平均感知路徑長度爲:
在這裏插入圖片描述
其中z1, z2 ∼ P(z), t ∼ U(0, 1),G是生成器,d評估生成圖片之間的感知距離,slerp表示球面插值,這是在標準化輸入潛在空間中進行插值的最合適的方法。爲了專注面部特徵而不是背景,在評估成對圖像度量之前將生成的圖像裁剪爲僅包含面部。
計算W中平均感知路徑長度的方法爲:
在這裏插入圖片描述
唯一不同的是插值發生在W空間中。由於W中的向量並沒有以任何方式標準化,因此使用線性插值lerp。
在這裏插入圖片描述
上表展示了FFHQ中各種生成器架構的感知路徑長度和可分離性分數(越低越好),對於傳統網絡在Z中進行測量,對於基於樣式的網絡在W中進行測量。從上表中可以看出,對於帶有噪聲輸入的基於樣式的生成器,全路徑長度明顯比傳統生成器的短,說明W在感知上比Z更加的線性。但實際上該測量稍微偏向於輸入潛在空間Z。如果W確實是Z的一個解糾纏且“展平”(flattened)的映射,它可能不包含在輸入歧管(input mainfold)上的域,因此即使在從輸入歧管映射的點之間(between points that are mapped from the input mainfold),生成器也很難對其進行重構。而輸入潛在空間根據定義,Z並沒有這樣的域。因此如果將測量侷限在路徑端點處,在不影響lz的情況下,應得到較小的lw。
在這裏插入圖片描述
上表顯示了映射網絡如何影響路徑長度。方法名稱中的數字表示映射網絡的深度。可以看到,映射網絡可以使傳統的生成器和基於樣式的生成器都得到改善,附加的深度也可以改善感知路徑長度和FID,並且較深的映射網絡通常比較淺的映射網絡的性能更好。雖然傳統生成器中的lw有所改善,但lz卻變得更糟,這說明輸入潛在網絡確實會在GAN中發生糾纏。

4.2 Linear separability

如果一個潛在空間被完全解糾纏,那麼每個變化因子應該有始終與其相對應的方向向量。本節介紹了另外一種度量標準,具體來說是通過一個線性超平面來測量潛在空間點能夠被分成兩個不同集合的程度,每個集合都對應於圖像的一個特定的二進制屬性。
爲了標記生成圖片,針對一些二進制屬性訓練了輔助分類網絡,比如分辨是男性還是女性的臉。在測試中,分類器與所使用的判別器具有相同的結構,使用的數據集是CELEBA-HQ,該數據集保留了原始CelebA數據集中的40個屬性。爲了測量一個屬性的可分離性,首先用z ∼ P(z)生成200000張圖象,然後使用輔助分類網絡對它們進行分類,再根據分類器的置信度對它們進行排序,其中將最低置信度的一半去掉,得到100000個被標記的潛在空間向量(latent-space vectors)。
與4.1中一樣,對於傳統網絡在Z中進行操作,對於基於樣式的網絡在W中進行操作,基於潛在空間點爲每個屬性擬合了一個SVM來對標籤進行預測,並通過該平面來對這些點進行分類。然後計算條件熵H(Y|X),其中X是是由SVM預測的類別,Y是由預訓練分類器決定的類別。在已知類別位於超平面哪一側的情況下,這個熵的值說明爲了決定一個樣本真正的類別還需要多少其他信息。較低的值表示對應的變化因子具有一致的潛在空間方向。
在這裏插入圖片描述
在這裏插入圖片描述
上面兩張表顯示W始終比Z具有更好的可分離理性,這表明糾纏程度較小。當增加映射網絡的深度時,可以改善W中圖像的質量和可分離性,這與合成網絡偏向於解糾纏的輸入表現形式的假設相一致。在傳統的生成器之前添加一個映射網絡雖然會導致Z的可分離性的嚴重損失,但是會改善中間潛在空間W中的情況,並且FID也會得到改善。這表明當引入不必遵循訓練數據分佈的中間潛在空間時,即使是傳統的生成器體系結構也能更好地發揮作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章