天天看點

了解 Progressive GAN引言1. Progressive Growing2. Mnibatch Standard Deviation3. Normalization in Generator and Discriminator4. Multi-scale Statistical Similarity5. CELEBA-HQ

引言

《PROGRESSIVE GROWING OF GANS FOR IMPROVEDQUALITY, STABILITY, AND VARIATION》 是 NVIDIA 團隊釋出在 ICLR 2018 上的一篇論文,它提出了一種新的無條件生成模型 PGGAN。主要貢獻有:

  1. 提出了一種新的針對 GAN 的訓練政策:progressive growing。它能夠穩定并加速高分辨率圖像( 102 4 2 1024^2 10242)的生成訓練。
  2. 提出了一種增加生成圖像多樣性的方法:mnibatch standard deviation。
  3. 提出了兩種 trick 來抑制生成器和判别器之間不健康的對抗:equalized learning rate 和 pixelwise feature vector normalization。
  4. 提出了一種新的針對 GAN 生成結果的評價名額:multi-scale statistical similarity。
  5. 建構了一個新的資料集:CELEBA-HQ。

1. Progressive Growing

progressive growing 的核心思想是:先生成低分辨率的圖像,然後通過增加網絡層數的方式逐漸生成高分辨率圖像。這可以讓網絡先學習大尺度的結構資訊,然後将注意力逐漸轉移到小尺度的細節學習上;而不是同時學習所有尺度上的資訊。圖1展示了整體訓練流程。

了解 Progressive GAN引言1. Progressive Growing2. Mnibatch Standard Deviation3. Normalization in Generator and Discriminator4. Multi-scale Statistical Similarity5. CELEBA-HQ

圖1 生成器 G 和判别器 D 首先從 4x4 分辨率開始訓練。随着訓練的進行,鏡像增加 G 和 D 的網絡層數。圖中 N x N 代表在 N x N 分辨率上操作的卷積層。所有已存在的層一直保持可訓練的狀态。

在增加網絡層數的過程中,為了避免新加的層對已學習好的層的突然擾動,“we fade them in smoothly”。如圖2所示。

了解 Progressive GAN引言1. Progressive Growing2. Mnibatch Standard Deviation3. Normalization in Generator and Discriminator4. Multi-scale Statistical Similarity5. CELEBA-HQ

圖2 展示了 16x16 圖像 (a) 轉換成 32x32 圖像 (c) 的過程。其中參數 alpha 從 0 到 1 線性增長;2x 和 0.5x 分别代表使用最近鄰插值和平均池化翻倍和減半圖像分辨率;toRGB 和 fromRGB 分别代表使用 1x1 卷積将特征圖映射成 RGB 圖像和反映射。

progressive growing 有兩點好處:1. 訓練更加穩定。因為每一步都是在上一步的基礎上進行學習;2. 訓練更快。因為有大部分的訓練是在低分辨率圖像上進行的。

2. Mnibatch Standard Deviation

GAN 學習到的生成多樣性一般是訓練集多樣性的子集。為了提高生成多樣性,作者增加了判别器的輸入資訊:整個 minibatch 圖像的統計值。這樣可以鼓勵生成圖像和訓練圖像具有相似的統計特征。因為考慮的是多樣性,該統計值選取的是标準差。

具體實作方法是:計算所有特征圖中每個位置的特征值沿 minibatch 次元的标準差,平均所有标準差得到一個實數,複制該實數至特征圖相同的空間大小,将複制結果作為新的一層特征圖連接配接到目前特征圖最後。僅在判别器的最後一層進行 Mnibatch Standard Deviation 操作。

3. Normalization in Generator and Discriminator

該節對應引言中提到的第3條貢獻:提出了兩種 trick 來抑制生成器和判别器之間不健康的對抗:equalized learning rate 和 pixelwise feature vector normalization。作者認為,當出現不健康的對抗時,GAN 傾向于增大網絡中資料的幅值。許多先前的工作使用不同的 batch norm 來抑制這種現象,然而,batch norm 本來是用來解決 covariate shift 問題,作者發現 GAN 并不存在該問題。是以,作者提出了兩種不同的方法。

3.1 Equalized Learning Rate

目前常用的優化器通常具有尺度不變的性質(例如 RMSProp, Adam …),它們會根據估計到的标準差來規範化梯度的更新,這使得參數的更新與參數的尺度無關。是以,對于一些擁有更大動态範圍的參數來說,它們會花費更長的時間取得最佳值。由于參數的動态範圍各不相同,某一個學習率要麼太大,要麼太小。作者提出 Equalized Learning Rate 讓每個參數的學習率和其動态範圍相關,進而保證了每個參數的學習速度相近。

具體實作是:将原始參數 w i w_i wi​ 更改為 w i ^ = w i / c \hat{w_i} = w_i / c wi​^​=wi​/c, c c c 是使用 Kaiming initializer 計算出來的前一層規範化常數。

3.2 Pixelwise Feature Vector Normalization

為了避免出現不健康對抗時,生成器和判别器的參數幅值大幅增加,作者在生成器的每層卷積後将每個像素位置的特征向量規範化到機關長度。雖然這是一個很強的限制,但作者發現這似乎沒有損害生成器的性能,在大部分資料集下都沒有明顯改變生成結果,并阻止了資料幅值的增加。

具體實作是: b x , y = a x , y / 1 N ∑ j = 0 N − 1 ( a x , y j ) 2 + ϵ b_{x,y} = a_{x,y}/\sqrt{\frac{1}{N}\sum^{N-1}_{j=0}(a^j_{x,y})^2+\epsilon} bx,y​=ax,y​/N1​∑j=0N−1​(ax,yj​)2+ϵ

​,其中 ϵ = 1 0 − 8 \epsilon=10^{-8} ϵ=10−8, N N N 是特征圖的數量, x , y x,y x,y 表示特征的空間位置。

4. Multi-scale Statistical Similarity

作者認為有效的生成器所生成的圖像,應該在所有尺度上和訓練圖像擁有相似的局部結構。作者提出使用生成圖像和訓練圖像在 Laplacian Pyramid 表征下局部圖像塊之間的分布差異來度量。

一個單獨的 Laplacian Pyramid 層級代表一個具體的空間頻率段。作者采樣了 16384 張圖像,并從 Laplacian Pyramid 的每個層級各提取了 128 個描述子。這些描述子都是 7x7 大小的三通道圖像塊。定義來自層級 l l l 的訓練集和生成集圖像塊分别為 { x i l } \{x^l_i\} {xil​} 和 { y i l } \{y^l_i\} {yil​},首先規範化這兩個集合,然後計算它們之間的 sliced Wasserstein distance: S W D ( { x i l } , { y i l } ) SWD(\{x^l_i\},\{y^l_i\}) SWD({xil​},{yil​})。

5. CELEBA-HQ

資料集連結。它是 CelebA 的高品質版本,包含 30,000 張 1024x1024 分辨率的人臉圖像。

繼續閱讀