0
本文作者: 三川 | 2016-12-15 18:21 |
編者按:昨天,雷鋒網(wǎng)根據(jù) Ian Goodfellow 演講視頻的前20分鐘整理出《“GANs之父”Goodfellow 38分鐘視頻親授:如何完善生成對抗網(wǎng)絡(luò)?(上)》,其中Goodfellow主要講述了什么是 GAN 和 DCGANs、模型崩潰、小批量特征、文本轉(zhuǎn)圖像等問題。本文是后18分鐘視頻的內(nèi)容,主要是 Goodfellow 回答網(wǎng)友提問,總共有11個問題。本文由雷鋒網(wǎng)三川、亞萌聯(lián)合編譯。
簡單來說,CNN是神經(jīng)網(wǎng)絡(luò)的一種架構(gòu),它們未必是為了學(xué)習(xí)如何生成一組圖像而設(shè)計。它們可以被用來創(chuàng)造很多的東西,包括 GANs 和 DBN。
這個問題的另外一個方面是:DBN和 GANs 的效果或者學(xué)習(xí)區(qū)別是什么。DBN 基于統(tǒng)計物理學(xué)的模型,你寫下一個能量函數(shù)(energy function),來描述不同圖片的相似度。如果一個圖像的能量較低,那么更可能發(fā)生。這類似于山上的巖石。滾到山腳的石頭比山頂?shù)氖^有更低的能量,這是由于重力。所以在山腳發(fā)現(xiàn)大堆石頭的可能性更大。DBN 的難點在于,很多必需的、模擬物理定律的計算變得非常復(fù)雜,所以它擴(kuò)展到大型彩色圖像的效果不好。對于類似 EM Nest 的應(yīng)用,它效果很好。但在 Imagenet 上,DBN 還不能產(chǎn)生有競爭力的結(jié)果。
基本上,省略掉代碼是有可能的。但在大多數(shù)應(yīng)用中,人們既輸入代碼也輸入語句限制條件,這樣才能保證最終輸出結(jié)果的多樣性。這樣系統(tǒng)才能學(xué)習(xí)到整個有條件的概率分布,從一次輸入信息中,得到多樣化的輸出樣本。
主要的困難是模型崩潰,以及尋找模型均衡點(equilibrium)的相關(guān)問題。
主要的解決方式是,開發(fā)能找到均衡狀態(tài)的新算法,而不是依靠讓誤差最小化的成本函數(shù)(cost function)。
其實并不是,而是隨機的,神經(jīng)網(wǎng)絡(luò)訓(xùn)練利用梯度算法來引導(dǎo)更新。
(編者注:這里 Goodfellow 又回頭接著講PPT上的內(nèi)容)GANs 還有一個很酷的應(yīng)用是,對畫家進(jìn)行自動輔助。你也許不擅長繪畫,但有了這個 GANs 輔助繪圖軟件,你只需畫這么一個三角,GANs 會自動搜索有相似特點的圖像,然后在你畫的三角區(qū)域,填充山丘的紋理;并在你畫的綠色波浪那里,填充青草的紋理。
基于 GANs 的繪圖輔助功能
我昨天剛聽說一個很相似的主意,也使用了“內(nèi)省對抗網(wǎng)絡(luò)”( Introspective Adversarial Network)。它是一個輔助圖像編輯的功能。當(dāng)你繪圖時,生成模型會把你畫出的圖形轉(zhuǎn)化為照片般真實的圖像。所以,你編輯的圖片不會看起來很假,還能不斷調(diào)整你希望看到的效果。這樣,最終編輯出來的圖像看起來很真實,一點也不像用鼠標(biāo)涂鴉過。
這其實很難知道。因為訓(xùn)練算法不夠好。目前訓(xùn)練算法的一個問題是,它們被設(shè)計用來最小化每一層網(wǎng)絡(luò)的成本函數(shù),而不是找到均衡點。拿兩個人玩“剪刀包袱錘”做比方。假設(shè)你出錘,對方出包袱。你輸了這局,你覺得既然對方出包袱,下一局你就出剪刀。因為你出剪刀,對方?jīng)Q定再下一局出錘子……這樣周而復(fù)始,雙方都達(dá)不到納什均衡。
這個游戲的均衡點是,每個人以三分之一的比率分別出剪刀、包袱、錘。但如果你的學(xué)習(xí)算法的學(xué)習(xí)速率(Learning Rate)不夠小,它不會找到均衡點。這個例子十分簡單,只要減小學(xué)習(xí)速率就能找到均衡點。對于GANs,這更復(fù)雜。減小學(xué)習(xí)速率,并不能保證能找到均衡點。我們極有可能需要一些專門的算法,或者改變游戲方式,讓使用低學(xué)習(xí)速率的梯度下降法也能找到均衡點。這是一個相對困難的研究問題。包括我在內(nèi),很多人仍在研究。
回到如何放置肢體和紋理及形成3D效果的問題。我們也許需要開發(fā)一個更復(fù)雜的架構(gòu),比方說,生成器的網(wǎng)絡(luò)深度不夠。如果我們有一個極深的生成器,它也許能學(xué)習(xí)怎么讓圖像的不同部分更和諧?;蛘?,我們也可以對圖形加入特殊操作,類似于 Open GL 的渲染管道。如果你見過空間變換網(wǎng)絡(luò)處理分類任務(wù),你可以想象用它把有紋理的多邊形放置到圖像中。
我認(rèn)為對于 Photoshop 這樣的應(yīng)用,自動化繪圖會是一個很好的功能。把上文中介紹的自動繪圖算法推向市場會很有用處。另外一個領(lǐng)域是語音合成,神經(jīng)網(wǎng)絡(luò)對它非常擅長。Deepmind 最近的一篇論文提到一個名為 “Wavenet”的模型,可以創(chuàng)造出極為逼真的人類語音。Wavenet 的問題是,它生成樣本的速度很慢。這類生成模型每一步只能完成輸出的一個部分。Wavenet 以約 12 千赫的速度生成聲音樣本。所以你需要連續(xù)運行 12000 個神經(jīng)網(wǎng)絡(luò),每一個神經(jīng)網(wǎng)絡(luò)的輸出被用作下一個神經(jīng)網(wǎng)絡(luò)的輸入。每一秒合成語音需要兩分鐘的計算時間,因此神經(jīng)網(wǎng)絡(luò)無法進(jìn)行即時會話。軟、硬件效率的提升最終能讓它更快。但現(xiàn)在看來,我們離 Wavenet 進(jìn)行即時會話還有好幾年的時間。理論上,生成對抗網(wǎng)絡(luò)能提供更快的文字到語音的合成。
生成對抗網(wǎng)絡(luò)會生成,和輸入的參數(shù)十分相似的輸出。在時間軸上預(yù)測下一步(在 Wavenet 的例子上是音頻序列),你可以直接把 Wavenet 架構(gòu)用作生成網(wǎng)絡(luò),反向傳播算法(backpropagation)會正常運作。
其實,由于高效率的卷積,擴(kuò)展輸出尺寸通常不是那么難。舉例來說,我演講中展示的最大圖片,它的尺寸是 128×128。最近的論文中,F(xiàn)acebook 已經(jīng)做到輸出 256×256 的圖片。真正難的是,輸出大量內(nèi)含恰當(dāng)細(xì)節(jié)的多樣化圖像。
嗯,很有可能。原則上大多數(shù)生成模型都可以。對于 GANs,你需要找到能從圖像到描述圖像的代碼的方法。我描述的 GANs 版本只有單一方向(代碼到圖像)映射,但是蒙特利爾大學(xué)的對抗學(xué)習(xí)推理(Adversarially Learned Inference),還有加州大學(xué)伯克利分校的雙向GANs(Bidirectional GANs),有從圖像到代碼的編碼層(Encode Layer)。你可以用編碼層生成簡單代碼,對于經(jīng)過解碼的圖像的區(qū)別,再使用硬編碼的壓縮算法將之壓縮。如果你運氣好,這些區(qū)別足夠小,可以被壓縮,最終結(jié)果會比原始圖像使用更少的比特。
我最感興趣、花費很多時間來研究的是提高訓(xùn)練穩(wěn)定性,但這特別難。我還花一些時間在開發(fā)新架構(gòu)上。但相比穩(wěn)定性,它關(guān)系不大。
如果你有一個生成網(wǎng)絡(luò),能把它自己的輸出作為輸入,那就能做到。如果你有一個層級,從代碼映射到視頻第一幀;然后你創(chuàng)建另一個層級,把上一幀視頻映射到代碼,再到下一幀;你可以把第二層級不斷重復(fù)利用,它應(yīng)該能做出不錯的視頻序列。
反饋回路:輸入→輸出→輸入(照此循環(huán))
這方面的研究很少,發(fā)表的論文也不多。大多數(shù)生成對抗網(wǎng)絡(luò)的研究都是關(guān)于圖像。Facebook AI 研究部門有一篇關(guān)于視頻生成的論文,該研究用到了對抗網(wǎng)絡(luò)損失。還有一篇講3D合成視頻序列的論文。這些論文很具體地解釋了研究人員是怎么做的以及最終成效。我認(rèn)為兩個研究都加入了一些額外的東西,包括下一幀預(yù)測的方差。為了略微穩(wěn)定訓(xùn)練。Facebook 的研究還加入了一個基于比較圖像的邊緣的損失,來保證生成的視頻不模糊。
視頻預(yù)測一個很難的地方是:大多數(shù)模型預(yù)測認(rèn)為,你應(yīng)該把同一幀永遠(yuǎn)復(fù)制下去;或者影像不斷模糊下去,直到全部消失。這是由于每一個像素的不確定性太多。所以,讓他們不斷預(yù)測每一幀的清晰畫面十分困難。
【招聘】雷鋒網(wǎng)堅持在人工智能、無人駕駛、VR/AR、Fintech、未來醫(yī)療等領(lǐng)域第一時間提供海外科技動態(tài)與資訊。我們需要若干關(guān)注國際新聞、具有一定的科技新聞選題能力,翻譯及寫作能力優(yōu)良的外翻編輯加入。
簡歷投遞至guoyixin@leiphone.com,工作地 深圳;或投遞至wudexin@leiphone.com,工作地 北京。
相關(guān)文章:
“GANs之父”Goodfellow 38分鐘視頻親授:如何完善生成對抗網(wǎng)絡(luò)?(上)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。