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