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