圖像合成神器 MSG-GAN入選CVPR2020,超越最先進GAN,穩定多尺度高解析度

2021-02-25 新智元

來源:arxiv

新智元編輯部

【新智元導讀】今天分享一篇被CVPR 2020接收的論文,該文提出了多尺度梯度生成對抗網絡(MSG-GAN),這是一種簡單而有效的技術,為高解析度圖像合成提供了一種穩定的方法,並作為常用的漸進生長技術的替代。與最先進的GAN相比,本文的方法在嘗試的大多數情況下都與之媲美或超越其性能。「新智元急聘主筆、高級主任編輯,添加HR微信(Dr-wly)或掃描文末二維碼了解詳情。」

今天分享一篇被CVPR 2020接收的論文,這篇論文與生成對抗GAN相關,題目為「MSG-GAN: Multi-Scale Gradient GAN for Stable Image Synthesis」(MSG-GAN:用於穩定圖像合成的多尺度梯度GAN)。

摘要

雖然生成對抗網絡在圖像合成任務中取得了巨大的成功,但眾所周知,它們很難適應不同的數據集,部分原因是訓練過程中的不穩定性和對超參數的敏感性。這種不穩定性的一個普遍接受的原因是,當真實和虛假分布的支持沒有足夠的重疊時,從鑑別器到發生器的梯度變得不具信息性。本文提出了多尺度梯度生成對抗網絡(MSG-GAN),這是一種簡單而有效的技術,通過允許梯度流從鑑別器到發生器在多個尺度上流動來解決這個問題。該技術為高解析度圖像合成提供了一種穩定的方法,並作為常用的漸進生長技術的替代。結果表明,MSG-GAN在不同大小、解析度和域的多種圖像數據集上,以及不同類型的丟失函數和結構上都穩定收斂,且具有相同的固定超參數集。與最先進的GAN相比,在我們嘗試的大多數情況下,我們的方法都能與之媲美或超越其性能。

圖1:MSG-GAN技術的結果

生成式對抗網絡(Generative Adversarial Networks,GANs)是蒙特婁大學的Ian Goodfellow於2014年提出的一種生成模型,目前已經成為高質量圖像合成的業界標準。

Ian Goodfellow

GAN的成功來自於這樣一個事實,即它們不需要手動設計的損失函數來進行優化,而且能夠生成複雜的數據分布,且無需進行明確定義。儘管基於流量的模型允許直接使用最大似然估計(顯式和隱式)訓練生成模型,但生成圖像的保真度並未能夠與最新的GAN模型相匹配。但是,GAN訓練存在兩個比較嚴重的缺陷:(1)模式崩潰問題和(2)訓練的不穩定性

當發生器網絡僅能夠捕獲數據分布中存在的方差子集時,就會發生模式崩潰的問題。儘管很多論述試圖解決這個問題,目前這仍是一個開放的研究領域。但在此項研究中,我們解決了訓練不穩定的問題。這是GAN的一個基本問題,在過往的研究著述中已被廣泛報導。

我們研究了,在不依賴於先前方法(例如漸進式增長技術)的情況下,如何利用不同尺度的梯度生成高解析度圖像。這可以解決訓練的不穩定性問題。

圖2:我們的架構包括從發生器的中間層到判別器的中間層的連接。

MSG-GAN允許判別器不僅查看生成器的最終輸出結果(最高解析度),而且還可以查看中間層的輸出結果(圖2)。結果,判別器成為發生器的多個標度輸出的函數,並且重要的是,將梯度同時傳遞給所有標度。

此外,我們的方法對於不同的損失函數(我們展示了WGAN-GP和具有單側梯度罰分的非飽和GAN損失的結果),數據集(我們在各種常用數據集和新創建的Indian Celebs數據集上演示結果)和體系架構(我們將MSG方法與ProGAN和StyleGAN基礎架構集成在一起)具有魯棒性。就和漸進式增長一樣,我們注意到,多尺度梯度在FID得分方面相比於原始DCGAN體系架構有顯著提高

但是,我們的方法相比於現有的方法,在訓練時間相同的情況下在大多數現有數據集上性能較優,而無需額外的超參數(漸進式增長需要引入超參數),例如不同生成階段的訓練時間表和學習速率。這種魯棒性使得MSG-GAN方法可以很容易地在新數據集上「開箱即用」。而相比之下,如果使用基於漸進式增長的方法,則在和之前相同的超參數集上效果不佳(請參見表1和2)。我們還通過對高解析度FFHQ數據集進行消融實驗,表明了在所有解析度下進行多尺度連接的重要性。

總而言之,我們有如下貢獻:

1. 我們引入了一種用於圖像合成的多尺度梯度技術,該技術提升了訓練的穩定性。

2. 我們能夠在許多常用數據集上魯棒地生成高質量樣本。

實驗雖然評估GAN生成的圖像的質量並不是一件容易的事,但當今最常用的指標是初始得分(IS,越高越好)和Frechet´初始距離(FID,越低越好)。為了將我們的結果與以前的工作進行比較,我們將IS用於CIFAR10實驗,將FID用於其餘實驗,並報告「顯示的真實圖像數量」,如先前的工作所示。

新的印度名人數據集  

除了現有的數據集外,我們還收集了一個由印度名人組成的新數據集。我們獲取新數據集的目的是嘗試使用非常小的尺寸(就圖像數量而言)的數據集,因為GAN社區已經表明,數據集的尺寸對於創建良好的生成模型很重要。為此,我們使用類似於CelebA-HQ的過程收集了圖像。首先,我們通過抓取相關搜索查詢的網頁來下載印度名人的圖像。然後,我們使用現成的面部檢測器檢測到面部,並裁剪所有圖像並將其調整為256x256的大小。最後,我們通過濾除低質量,錯誤和低光照的圖像來手動清理圖像。最後,數據集僅包含3K個樣本,比CelebA-HQ小一個數量級。該數據集將被公開以供研究。


實現細節

我們將在解析度和大小(圖像數量)不同,解析度高的各種數據集上評估我們的方法。CIFAR10(60x圖像,解析度為32x32);牛津花(8K圖像,解析度為256x256),LSUN教堂(126K圖像,解析度為256x256),印度名人(3K圖像,解析度為256x256),CelebA-HQ(3萬圖像,解析度為1024x1024)和FFHQ(70K圖像,解析度為1024x1024)。

圖3:由MSG-StyleGAN在不同的中級解析度(256x256)數據集上生成的隨機,未整理的樣本。我們的方法用相同超參數就可以在所有數據集中生成高質量的結果。

表1:在中級解析度(即256x256)數據集上進行的實驗。我們儘可能使用作者提供的分數,否則使用官方代碼和建議的超參數(表示為「 *」)訓練模型。


對於每個數據集,我們使用相同的初始潛在維數512,從標準正態分布N(0,I)得出,然後進行超球面歸一化。對於所有實驗,我們對MSG-ProGAN和MSG-StyleGAN使用相同的超參數設置(lr = 0.003),唯一的區別是上採樣層的數量(較低解析度的數據集較少)。

圖4: MSG-StyleGAN在高解析度(1024x1024)數據集上生成的隨機,未整理的樣本

表2:在高解析度(1024x1024)數據集上進行的實驗。我們儘可能使用作者提供的分數,否則使用官方代碼和推薦的超參數(表示為「 *」)訓練模型。

所有模型都使用RMSprop進行了訓練,生成器和鑑別器的學習率均為0.003。我們根據標準正態N(0,I)分布初始化生成器和鑑別器的參數。為了與先前發表的工作相匹配,所有StyleGAN和MSG-StyleGAN模型都經過帶有單面GP的非飽和GAN損耗訓練,而ProGAN和MSGProGAN模型都具有WGAN-GP損耗函數進行訓練。

圖5:訓練早期MSG-GAN中的所有層生成結果的解析度幾乎是同步的,隨後在所有解析度下生成圖像的質量同時提高。在整個訓練過程中,生成器僅對圖像的潛在固定點進行最小的增量改進。

圖6:訓練期間的圖像穩定性。這些圖顯示了在CelebA-HQ數據集上,從相同潛在代碼生成的圖像在連續epoch下的MSE(36個潛在樣本平均值)。MSG-ProGAN會隨著時間穩定收斂,而ProGANs在各個時期仍會有很大的變化。

們還擴展了MinBatchStdDev技術,將一批激活的平均標準偏差饋送到鑑別器,以提高樣本多樣性,從而達到我們的多尺度設置。為此,我們在鑑別符中每個塊的開頭添加一個單獨的MinBatchStdDev層。這樣,鑑別器獲得所生成樣本的批統計以及每個尺度上的直線路徑激活,並且可以檢測到生成器在某種程度上的模式崩潰。

表3:CIFAR-10的學習率魯棒性。我們看到,在一系列學習率範圍內我們的方法收斂到相似的IS分數。

表4:高解析度(1024x1024)FFHQ數據集上不同程度的多尺度梯度連接的消融實驗。較差的包含(4x4)和(8x8)的連接,中間的包含(16x16)和(32x32)的連接;較好的是(64x64)和(1024x1024)。

表5:在高解析度(1024x1024)FFHQ數據集上使用不同的合併方程進行的實驗。

當我們自己訓練模型時,我們報告訓練時間和使用的GPU,並在可能的情況下嘗試使用相同的機器,以便可以直接進行訓練時間比較(除Oxford Flowers ProGAN與MSG-ProGAN以外的所有情況)。所顯示的實際圖像數量和訓練時間的變化是由於以下事實:按照慣例,我們報告了在固定次數的迭代中獲得的最佳FID得分,以及達到該得分所花費的時間。複製研究工作所需的所有代碼和經過訓練的模型都可以在https://github.com/akanimax / msg-stylegan-tf上用於研究目的。

局限性和未來工作

我們的方法並非沒有局限性。我們注意到,使用漸進式訓練,以較低的解析度進行的第一組迭代要快得多,而MSG-GAN的每次迭代花費的時間相同。但是,我們觀察到MSG-GAN需要更少的總迭代次數才能達到相同的FID,並且通常在總訓練時間相似的情況下才這樣。

最後,我們注意到,在FFHQ和CelebAHQ的面部數據集上,我們沒有超過StyleGAN的生成質量。造成這種情況的原因很多,其中包括超參數選擇不當,或者StyleGANs架構更適合這些數據集。另外,由於我們在MSGStyleGAN中進行了多尺度修正,因此我們的方法無法利用混合正則化技巧,在混合技巧中,將多個潛在矢量進行混合,並且由鑑別器強制得到的圖像是真實的。這樣做是為了允許在測試時在不同級別混合不同樣式,同時也提高了整體質量。有趣的是,即使我們沒有明確強制執行混合正則化,我們的方法仍然能夠生成合理的混合結果。儘管沒有提高FFHQ上的FID分數,但我們的方法在其他數據集上的分數更高,並且引入了一種易於使用的高解析度合成新方法,可能會激發後續工作,從而進一步提高結果質量。

結論

儘管在實現逼真的高解析度圖像合成方面已取得了巨大的進步,但真正的照片真實性還沒有實現,特別是在外觀上存在很大差異的領域方面。在這項工作中,我們介紹了MSG-GAN技術,以一種簡單的方法,利用GAN生成高解析度的多尺度圖像。

相關焦點

  • 圖像合成神器 MSG-GAN入選CVPR2020,超越最先進GAN,穩定多尺度高...
    (MSG-GAN),這是一種簡單而有效的技術,為高解析度圖像合成提供了一種穩定的方法,並作為常用的漸進生長技術的替代。與最先進的GAN相比,本文的方法在嘗試的大多數情況下都與之媲美或超越其性能。「新智元急聘主筆、高級主任編輯,添加HR微信(Dr-wly)或掃描文末二維碼了解詳情。」
  • 圖像合成神器MSG-GAN入選CVPR2020,超越最先進GAN
    今天分享一篇被CVPR 2020接收的論文,這篇論文與生成對抗GAN相關,題目為「MSG-GAN: Multi-Scale Gradient GAN for Stable Image Synthesis」(MSG-GAN:用於穩定圖像合成的多尺度梯度GAN)。
  • 5個最新圖像合成GAN架構解讀:核心理念、關鍵成就、商業化路徑
    本文總結了5個最近推出的用於圖像合成的GAN架構,對論文從核心理念、關鍵成就、社區價值、未來商業化及可能的落地應用方向對論文進行解讀,對創業者、開發者、工程師、學者均有非常高的價值。多域圖像到圖像翻譯的統一生成網絡。
  • 能生成Deepfake也能診斷癌症,GAN與惡的距離
    如果你沒有足夠多的的時間來看,我們可以通過一個總結得很好的動畫來了解轉置卷積是如何工作:在一般的卷積神經網絡中,你會用一系列卷積(以及其他操作)將圖像映射到通常是較低維度的向量。類似地,運用多個反卷積允許我們映射出單個低解析度的陣列,並使之成為鮮明的全彩圖像。
  • 【專知薈萃11】GAN生成式對抗網絡知識資料全集(理論/報告/教程/綜述/代碼等)
    ://github.com/musyoku/adversarial-autoencoder]利用ThoughtVectors 實現文本到圖像的合成參考連結:[https://github.com/paarthneekhara/text-to-image]對抗樣本生成器(Adversarialexample generator)參考連結:[https
  • 資源 | NIPS 2017 Spotlight論文Bayesian GAN的TensorFlow實現
    (explicit likelihood)建模的圖像、音頻和數據的豐富分布。貝葉斯 GAN 的主要特性有:(1)在半監督學習問題上的準確預測;(2)對優秀性能的最小幹預;(3)響應對抗反饋的推斷的概率公式;(4)避免模式崩潰;(5)展示多個互補的生成和判別模型,形成一個概率集成(probabilistic ensemble)。
  • TF - GAN入門:TensorFlow 2.0 的輕量級 GAN 庫
    具影響力的論文:https://github.com/tensorflow/gan#who-uses-tf-gan今天,各個推出 TF-GAN 的新版本。此版本擁有諸多升級和新功能:Cloud TPU 支持:您現在可以使用 TF-GAN 在 Google 的 Cloud TPU 上訓練 GAN。
  • 訓練GAN,你應該知道的二三事
    GANs 最初由 Ian Goodfellow [1] 於 2014 年提出,目前已經在圖像、語音、文字等方面得到廣泛研究和應用,特別是在圖像生成方面,可謂是遍地開花,例如圖像風格遷移(style transfer)、圖像修復(image inpainting)、超解析度(super resolution)等。
  • 輕鬆構建 PyTorch 生成對抗網絡(GAN)
    生成對抗網絡模型算法原理DCGAN模型的生成網絡包含10層,它使用跨步轉置卷積層來提高張量的解析度,輸入形狀為 (batchsize, 100) ,輸出形狀為 (batchsize, 64, 64, 3)。換句話說,生成網絡接受噪聲向量,然後經過不斷變換,直到生成最終的圖像。
  • 別人家的高中生:入大學前,Ta詳細梳理了GAN的發展脈絡
    但是考慮到卷積神經網絡在獲取圖像特徵方面的效果,DCGAN 採用了它作為主要網絡結構。同時,DCGAN 稍微做了一些調整,使用了轉置卷積操作(transposed convolution operation),它的另一個名字是 Deconvolution。轉置卷積幫助圖像從低清晰度向高清晰度轉換,同樣的,採用多層轉置卷積可以使圖像變得生動多彩。卷積核的工作原理。
  • 一些fancy的GAN應用
    圖像生成圖像轉換圖像合成圖像超解析度圖像域的轉換圖像修復文本填空其他圖像生成前言裡提到了GAN是一個生成模型,可以用來生成圖像、音頻等等,生成質量逐年增加,看下圖:從32x32解析度生成都困難的GAN,到生成2K真假難辨高清解析度圖像的
  • 經典GAN實戰教程:理解並運行自己的GAN生成手寫數字
    然而現在GAN用於創建各種內容,包括圖像,視頻,音頻和文本。這些輸出可用作訓練其他模型的合成數據,或僅用於產生有趣的side項目,例如GAN是什麼?接近這個問題答案的一種方法,是試圖以不切實際的方式扭曲圖像。也許MIT CSAIL的GAN Paint互動網絡演示中,最令人印象深刻的部分是該模型似乎能夠將這些編輯限制在「真實感」。例如試圖將草坪放在天空上,結果就會變成這樣:
  • 科普 | ​生成對抗網絡(GAN)的發展史
    首先,GAN最厲害的地方是它的學習性質是無監督的。GAN也不需要標記數據,這使GAN功能強大,因為數據標記的工作非常枯燥。其次,GAN的潛在用例使它成為交談的中心。它可以生成高質量的圖像,圖片增強,從文本生成圖像,將圖像從一個域轉換為另一個域,隨年齡增長改變臉部外觀等等。這個名單是遠遠不夠的。我們將在本文中介紹一些流行的GAN架構。
  • GAN快速入門資料推薦:17種變體的Keras開原始碼,附相關論文
    在這類GAN變體中,生成器生成的每張圖像,都帶有一個類別標籤,鑑別器也會同時針對來源和類別標籤給出兩個概率分布。論文中描述的模型,可以生成符合1000個ImageNet類別的128×128圖像。(CNN),能根據周圍像素來生成圖像上任意區域的內容。
  • 看GAN如何一步步控制圖像生成風格?詳解StyleGAN進化過程
    如下圖所示,如果我們使用 source B 的中解析度(16×16 到 32×32)風格,則生成圖像從 source B 處繼承到較小規模的人臉特徵、髮型和眼睛狀態(睜開/閉上),而來自 source A 的姿勢、臉型和眼鏡則被保留。最後一列中,模型從 source B 中複製了高解析度風格(64×64 到 1024×1024 解析度),這主要影響圖像的色調和微結構。
  • GAN(生成對抗網絡)的最新應用狀況
    涉及的圖像修改包括:單圖像超解析度(single image super-resolution)、交互式圖像生成、圖像編輯、圖像到圖像的翻譯等。單圖像超解析度單圖像超解析度任務(SISR)就是給定單張低解析度圖像,生成它的高解析度圖像。傳統方法一般是插值,但是插值不可避免地會產生模糊。
  • CVPR 2018 中國論文分享會之 「GAN 與合成」
    在構建 loss 方面,除了多尺度的考慮,還加上了一個高精度的 loss,即:Multi-scale loss + perceptual loss。如果從單張圖像進行旋轉的話,這其實是一種「無中生有」、一對多的病態問題。因此目前人臉旋轉存在真實性不高、解析度較低、身份信息保持較差的問題。胡一博在介紹他們的工作之前,簡單介紹了人臉旋轉研究的歷程,如下圖所示:
  • NVIDIA新作解讀:用GAN生成前所未有的高清圖像(附PyTorch復現) | PaperDaily #15
    下圖是我用 PyTorch 做的 BEGAN 復現,當時沒有跑很高的解析度,但是效果確實比其他 GAN 好基本沒有鬼臉。PG-GAN 能夠穩定地訓練生成高解析度的 GAN。我們來看一下 PG-GAN 跟別的 GAN 不同在哪裡。 1.
  • GAN生成式對抗網絡及應用詳解
    同樣的方法可以應用於圖像處理的不同領域中。Yann LeCun(深度學習創始人之一)提出的 GAN 已經被認為是過去的 10 年裡在 ML、領域中最有吸引力的想法。GAN 可以學習如何再現看似真實的合成數據。例如,計算機可以學習如何繪畫和創造逼真的圖像。
  • 手把手教你用keras搭建GAN
    作者:陳   揚           編輯:陳人和           論文地址:https://arxiv.org/pdf/1406.2661.pdfgithub:https://github.com/chenyang1999/KerasGAN/blob/master/gan/gan.py大家好,我是中國海洋大學的陳揚