# 論文筆記--Analyzing and Improving the Image Quality of StyleGAN ### 主旨:改良StyleGAN - 前一代有水滴狀(water droplets)雜質存在於結果圖像之中,清除產生雜質的原因,並簡化StyleGAN架構。 - 解決轉變角度時,細節特徵不會有所改變的問題。 - 運算量減少並提升圖像品質等 ### StyleGAN簡介 ![](https://i.imgur.com/ZOVBl5N.png) 與GAN不同的是,StyleGAN對latent space有經過一連串的全連接層運算,讓圖像的細微特徵變得可控。latent space可以想作是儲存特徵的集合。 ### 水滴狀雜質問題---normalization artifacts ![](https://i.imgur.com/vJOwZvp.png) 架構中有一步驟稱為Adaptive Instance Normalization(AdaIN),是作為風格遷移的一種方法。其中一項工序是將每張feature map的平均值和變異數(一變數對離散程度、對期望值的距離)進行normalization,導致消除了原先特徵間的關係。他們假設問題出現在IN(Instance Normalization)中,generator為了博取discriminator的信任,在圖像中某處設定區域最大值,因此產生水滴狀雜質。將normalization步驟刪除後實際計算一次後發現水滴狀雜質確實消失。 #### **重新審視生成器的架構** ![](https://i.imgur.com/ezGdbFJ.png) - A為從latent space W得到的仿射轉換,提供style用,B為隨機雜訊 - $c_1$為常數輸入,$b_i$為偏差,$w_1$為權重 - mean為平均,std為標準差 首先將AdaIN(圖2a)的細項展開,有normalization和調變兩步驟(圖2b)。他們發現在傳入偏差(b)和雜訊(B)後會增加平均值,而進行正規化後又會減去這些被增加的平均值,因此將偏差和雜訊移到灰色框以外成。他們又發現(可能是經過實際測試)只需要對標準差進行正規化和調變就好,於是刪除對mean的調整(圖2c)。 #### **重新審視IN** IN的調變會放大feature map的數值,使得後續的運算出現不樂見的結果。為防止這種情況發生,他們提出基於傳入feature maps的預期統計上進行normalization的方式。(這種方式將用於取代IN) 在論文中提到IN中,調變的運作方式是根據輸入style對卷積的每個輸入feature map進行縮放,而效果等同於對權重進行縮放 $\omega'_{ijk} = s_i \cdot \omega_{ijk}$ $s_i$代表第i個輸入feature map的縮放程度,$\omega$是權重,j和k分別代表經卷積輸出的feature map和spatial footprint。 IN的目標是要去除s對輸出feature maps的影響。假設輸入活化函數是i.i.d的單位標準差隨機變數(i.i.d是指一組隨機變數中每個變數出現的機率都相同,且互相獨立),一言蔽之就是每個輸入活化函數都在理想狀況下,經過調變和卷積運算後的輸出活化標準差為: $\sigma_j=\sqrt{\Sigma_{i,k}{\omega'_{ijk}}^2}$ 而對於解調變,只需要對輸出feature map乘上$\sigma$的倒數就好,因此可以將上式改寫為: $\omega''_{ijk}=\omega'_{ijk}/\sqrt{\Sigma_{i,k}{\omega'_{ijk}}^2+\epsilon}$ $\epsilon$的作用是防止分母為0 透過上述公式,我們可以替取代掉IN步驟,以新方式對權重進行改動,且不會因此影響到輸出feature map。(圖2d) ![](https://i.imgur.com/9b6BrSc.png) 簡單整理一下目前的作業,他們靠著移除對平均值normalization解決水滴狀雜質的問題;在調變上用統計理論的方式替換掉了IN,雖然IN解調變的成效可能更好一些,但他們的作法同時碰巧完成了對權重的normalization(這邊只有講到它是有益的),此外還相對的減少了運算複雜度。 ### 圖像品質和生成器平滑度 有兩種對生成圖片的評分叫做FID和P&R,FID計算原始和生成圖像的分布差別,P&R則計算原始和生成圖像的相似度。但其實還是會有破綻,因為兩者都是以材質評判,忽略了形狀的問題,導致出現奇形怪狀的圖像。因此引入PPL評價從latent space到輸出圖像的平滑性,PPL越小代表代表圖像品質越高。為增強平滑性提出兩種方法: #### **Lazy Regularization** GAN中有兩個主要表達式:the main loss function和 regularization terms,其中regularization terms的計算頻率可以被降低,以減少運算成本。 #### **Path length regularization** 作者先提出了一種觀念:PPL高時,letent space一旦稍有改變,生成圖項就會有劇烈變化,他希望對latent space的每一個點位移,生成圖項就會產生相應程度的變化,進而提出公式 ![](https://i.imgur.com/ZdvPR4j.png) PPL Regularization 就是限制空間中的任一個點各方向的微分都不可以太大,以此確保平滑性。 ### 細節固定問題---重新審視Progressive growing ![](https://i.imgur.com/XSFRHwf.png) 他們注意到對於生成圖像的小細節比如牙齒、瞳孔在轉換生成圖像角度的時候,不會依照角度轉變而做出改變,而這原因來自於GAN的訓練方式之一:Progressive growing(漸進式增長) #### **漸進式增長** 以漸進式解析度來訓練GAN,隨著每階段翻倍原始圖像解析度,可以讓GAN訓練較穩定並減少訓練時間。但也因為從低解析開始,導致生成器專注於生成單一細節,破壞了細節間的關係。 ![](https://i.imgur.com/8L0RLen.png) 虛線以上是生成器架構,以下則是判別器的。作者將MSG-GAN的架構調整後產生9種配對組合,並對這幾種進行測試。圖b是將原先的架構更改為向上/下取樣,我的理解應該是說原先每訓練一次就輸出,現在改為將每次解析度的結果統合起來再輸出。圖c簡化了tRGB和fRGB色彩空間的轉換。 ![](https://i.imgur.com/nd1otrb.png) 最後得到的結果是生成器使用Input/Output Skips,判別器使用Residual Nets效果最好,FFHQ是人臉訓練資料集、KSUN Car是汽車訓練資料集。 #### **解析度利用** 雖然他們移除了漸進式增長改進了細節呈現,他們仍想保留GAN的注意力從低解析度逐漸移往高解析度的特性。 ![](https://i.imgur.com/EcZjZE8.png) 在實際訓練並分析各個解析度圖像對於生成圖像的影響程度後發現,512占比比1024還要高(圖a),他們推測是受限於網路容量問題,於是加倍了1024解析度的訓練資料再進行測試(圖b)。統計資料顯示這麼做是有效的,這讓他們的生成器和判別器資料量分別增加了22%和21%。 ### 成果 ![](https://i.imgur.com/L5PMUsF.png) 上半是判別器使用的原始圖像,下半是生成器基於latent vector和雜訊混合生成的輸出圖像,左為StyleGAN1.0,中和右是StyleGAN2.0的成果。2.0的圖像不管是在主體細節或是背景細節都有顯著的成長。 ###### tags: `論文`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up