DeepMind的TF Hub demo詮釋「史上最強 GAN 圖像生成器」
BigGAN 一經(jīng)提出即引起了大量關注,被稱為「史上最強 GAN 圖像生成器」。今日,DeepMind 放出了 BigGAN 的拿來即用 TF Hub demo,可以在 Colab 上運行圖像生成和圖像插值任務。
本文引用地址:http://cafeforensic.com/article/201811/394648.htmTF Hub demo 地址:https://tfhub.dev/s?q=biggan
Colab 地址:https://colab.research.google.com/github/tensorflow/hub/blob/master/examples/colab/biggan_generation_with_tf_hub.ipynb#scrollTo=Cd1dhL4Ykbm7
ICLR 2019 大會將在明年 5 月 6 日于美國舉行,9 月 27 日論文提交截止后很多論文引起了大家的關注,其中就有一篇 GAN 生成圖像的論文。該研究生成圖像的目標和背景都高度逼真、邊界自然,并且圖像插值每一幀都相當真實,簡直稱得上「創(chuàng)造物種的 GAN」。該論文還引起了 Oriol Vinyals、Ian Goodfellow 的關注。上周,ICLR 2019 的論文評審結果出爐,評審們已經(jīng)在論文的 openreview 頁面公布了他們的評論和分數(shù)。這篇 BigGAN 論文獲得了 8、7、10 的評分,三位評審人員對該論文給出了很高的評價,參見:https://openreview.net/forum?id=B1xsqj09Fm。
BigGAN 簡介
該論文出自 DeepMind,提出了一種新型 GAN 模型 BigGAN,該模型因其出色性能被稱為「史上最強 GAN 圖像生成器」。該研究的創(chuàng)新點是將正交正則化的思想引入 GAN,通過對輸入先驗分布 z 的適時截斷大大提升了 GAN 的生成性能,在 ImageNet 數(shù)據(jù)集下 Inception Score 竟然比當前最好 GAN 模型 SAGAN 提高了 100 多分(接近 2 倍)!
該研究展示了 GAN 可以從訓練規(guī)模中顯著獲益,并且能在參數(shù)數(shù)量很大和八倍批大小于之前最佳結果的條件下,仍然能以 2 倍到 4 倍的速度進行訓練。作者引入了兩種簡單的生成架構變化,提高了可擴展性,并修改了正則化方案以提升條件化(conditioning),這可論證地提升了性能。作為修改方法的副作用(side effect),該模型變得服從「截斷技巧」,這是一種簡單的采樣技術,允許對樣本多樣性和保真度進行精細控制。此外,該研究發(fā)現(xiàn)大規(guī)模 GAN 帶來的不穩(wěn)定性,并對其進行經(jīng)驗的描述。從這種分析中獲得的洞察表明,將一種新型的和已有的技術結合可以減少這種不穩(wěn)定性,但要實現(xiàn)完全的訓練穩(wěn)定性必須以顯著降低性能為代價。
由 BigGAN 生成的類條件樣本。
(a)增加截斷的效應。從左到右,閾值=2, 1.5, 1, 0.5, 0.04。(b)應用截斷和性能差的條件生成模型的飽和度偽影。
由 BigGAN 在 512x512 分辨率下生成的其它樣本。
BigGAN 生成網(wǎng)絡結構。
現(xiàn)在 DeepMind 終于放出了 BigGAN 的 TF Hub demo,讓我們來一探究竟。
教你怎么用 Colab Demo
這個 Colab Demo 的使用非常簡單,直接用 Chrome 瀏覽器打開 Colab 地址,登陸你的谷歌賬號,就可以開始耍了。
剛打開 Colab 時,我們可以看到代碼總體上分成四大塊,分別是 BigGAN Demo、Setup、Explore BigGAN samples of a particular category、Interpolate between BigGAN samples。前面兩塊給出了大致的使用說明,以及具體實現(xiàn)(從 TF Hub 加載預訓練模型、定義函數(shù)、創(chuàng)建會話和初始化變量等),之后兩塊才是重點,提供了特定類別的圖像樣本生成,以及指定兩個類別的圖像插值兩個任務演示。只需要點擊幾個按鈕,我們就能輕松啟動運行和修改參數(shù),完全不需要修改代碼。
這個 Colab 的環(huán)境配置如下,打開「修改」-「筆記本設置」就可以看到。該 Colab 在 Python 2 環(huán)境和 GPU 上運行,這個不用修改,也不能修改,會報錯。
那么要怎么開始呢?很簡單,直接打開「代碼執(zhí)行程序」-「全部運行」,就可以了。該 GPU 能提供 11G 左右的內存,運行過程中經(jīng)常會出現(xiàn)內存不足的情況,如果沒有報錯,直接忽略就行。如果報錯了,就打開「代碼執(zhí)行程序」-「重置所有代碼執(zhí)行程序」,重新開始吧。
在執(zhí)行過程中,我們不一定需要同時執(zhí)行生成和插值兩個任務。為此,我們可以選中 Explore BigGAN samples of a particular category 這個單元格,然后打開「代碼執(zhí)行程序」-「運行當前單元格之前的所有單元格」,然后再分別執(zhí)行之后的其中一個單元格,這樣也能避免內存不足的問題。
在大部分情況下,內存不足并沒有導致報錯。在啟動一個任務后,大概等待 10 秒左右的時間,我們就可以看到生成和插值的結果。
評論