近年來,GAN 在影像合成領域取得了驚人的成果,例如先前 DeepMind 提出的 BigGAN。近日,DeepMind 提出全新的 BigBiGAN,引起了社群極大的關注。
該論文提出的方法建立在 SOTA 模型 BigGAN 之上,透過對其表徵學習和生成能力進行廣泛評估,證明這些基於生成的模型在 ImageNet 資料集的無監督表徵學習和無條件影像生成方面均實現了 SOTA 效果。
機器學習社群眾多研究者認為這是一篇極為有趣的工作,如 GAN 之父 Ian Goodfellow 在 Twitter 上表示,在他們寫最初的 GAN那篇論文時,合作者也在做類似於 BigGAN 的表徵學習研究。5 年後終見這樣的成果。
論文:Large Scale Adversarial Representation Learning
論文地址:https://arxiv.org/abs/1907.02544
用 GAN 來做表徵學習真的能行?
其實在 GAN 的早期,它也是能用於無監督表徵學習的,只不過後來自編碼器等自監督學習有了更好的效果。在這篇論文中,研究者表示影像生成質量的提升能大幅度提升表徵學習的效能。並且相比自編碼器等關注「底層細節」的模型,GAN 透過判別器能捕捉語義層面的差異,從而顯著提升效果。
研究者所採用的的 BigBiGAN 方法是在 SOTA 模型 BigGAN 上建立的,並透過新增編碼器和修改判別器將該方法擴充套件到表徵學習領域。作者展示了一系列影像重構效果,這些影像都不是畫素級的完美重建,因為模型甚至都不會有目標函式強制拉近畫素間的距離。
但是用 BigBiGAN 做表徵學習,用來重建影像有個優勢:它能直觀地理解編碼器所學到的特徵。例如當輸入影像有「狗」或「人」等目標時,重建影像通常都會包含該類別的目標,且它們的姿勢狀態也差不多。下面我們可以看看 BigBiGAN 的重建效果,體會用來做無監督表徵學習的優勢。
真實圖片(第一行)和針對真實圖片重建的圖片(第二行)。
隨機挑選的生成圖片。
GAN 為什麼能做表徵學習
GAN 框架中的生成器是一個從隨機取樣的潛變數(也叫「噪聲」)到生成資料之間的前饋對映,學習訊號由一個判別器提供,該判別器被訓練用於區分真實和生成的資料樣本。
很多 GAN 的擴充套件都在增強編碼器的能力,並且有些研究發現 BiGAN 的行為類似與自編碼器,它會最大化降低影像重構成本。然而重構誤差是由引數化的判別器決定的,而不是簡單的畫素級度量,這就要比自編碼器好得多。因為判別器通常都是強大的神經網路,因此我們可以期待它引入的誤差度量是「語義」層面的差異。
這對於表徵學習非常重要,因為我們希望隱藏表徵能學習到最具語義資訊的特徵,而不僅僅是底層細節上的特徵。鑑於這一點,用 GAN 來進行表徵學習就非常合理與了。
儘管對於下游任務來說,基於 BiGAN 或 ALI 框架學習的編碼器在 ImageNet 上是一種有效的視覺化表徵學習方法。然而,這些模型用到了一個 DCGAN 風格的生成器,生成器無法在該資料集上生成高質量的影像,因此編碼器所能建模的語義非常有限。在本文中,研究者利用 BigGAN 作為生成器重新探究了這一方法。BigGAN 似乎能夠捕捉 ImageNet 影像中的諸多模式和結構。研究者表明,在 ImageNet 上,BigBiGAN(BiGAN+BigGAN 生成器)的無監督表徵學習能力能夠達到當前最佳效能。
BigBiGAN 模型
BiGAN 或 ALI 方法都是 GAN 的變體,用於學習一個編碼器,用於推斷模型或作為影像的表徵。
雖然 BigBiGAN 的核心與 BiGAN 的方法相同,但研究者採用了來自 SOTA BigGAN 的生成器和判別器架構。除此之外,研究者發現,改進的判別器結構可以在不影響生成效果的前提下帶來更好的表徵學習結果(見圖 1)。也就是說,除了 BiGAN 或 ALI 中提出的聯合判別器(該判別器將資料和潛在判別器連線到一起),研究者還在學習目標中提出了額外的一元項(unary term)。
儘管 BiGAN 或 ALI 的相關研究證明,原始的 BiGAN 目標已經強制要求所學習的聯合分佈匹配到全域性最優,但這些一元項透過顯式地強制執行此屬性,直觀地指導最佳化朝著「正確的方向」進行。例如,在影像生成任務中,一元損失項匹配原始的 GAN 目標,並提供了一個學習訊號,該訊號僅引導生成器與潛在輸入無關的影像分佈進行匹配。
圖 1:BigBiGAN 框架的結構。
實驗
研究者在未標註的 ImageNet 資料集上訓練 BigBiGAN,凍結學到的表徵,然後在輸出中訓練線性分類器,使用所有的訓練集標籤進行全監督。他們還衡量了影像生成效能,並以初始分數(IS)和 Fréchet 初始距離(FID)作為標準度量。
訓練和資料集
研究者使用了和 BigGAN 相同的最佳化器——Adam,批大小為 2048,學習率和其他超引數也和 BigGAN 相同。在訓練時,研究者對輸入影像使用了 ResNet 風格的資料增強方法,但裁剪大小為 128 或 256,而非 224。
在表 1 的實驗中,研究者隨機取樣了 10K 來自官方 ImageNet 訓練集的圖片,作為驗證集,並報告準確率。這一資料集被稱為「train_val」。表 1 實驗執行了 500K 步,並基於 train_val 資料集上線性分類器的準確率進行 early-stop。
在表 2 中,研究者將 BigBiGAN 的訓練次數提升到 1M 步,並報告驗證集在 50K 張影像上的準確率。分類器訓練了 100K 步,使用 Adam 最佳化器,學習率分別為 {10^−4, 3 · 10^−4, 10^−3, 3 · 10^−3, 10^−2}。
實驗結果
研究人員將模型的最佳效果和最近的無監督學習結果進行了對比。
表 1:BigBiGAN 變體的效能結果,其中生成影像的初始分數(IS)和 Fréchet 初始距離(FID)、監督式 logistic 迴歸分類器 ImageNet top-1 準確率百分比(CIs)由編碼器特徵訓練,並根據從訓練集中隨機取樣的 10K 影像進行分割計算,研究者稱之為「train-val」分割。
表 2:BigBiGAN 模型在官方驗證集上與最近使用監督式 logistic 迴歸分類器的同類方法進行比較。
表 3:BigBiGAN 用於無監督(無條件的)生成 vs [24] 中的無監督 BigGAN 之前得出的結果。