GAN在2017年實現四大突破,未來可能對計算機圖形學產生衝擊
生成對抗網路(GAN,Generative Adversarial Networks)由 Ian Goodfellow 提出後,引起眾多的研究者和開發人員進一步設計出諸多的 GAN 變體,使得 GAN 在去年成為討論度最高的深度學習技術之一,商湯-香港中大聯合實驗室教授李鴻升接受 DeepTech 採訪,深度解析GAN 在去年的發展迎來的四大突破以及在三個層面帶來的影響。
李鴻升認為去年 GAN 的發展可以說有四項重要的突破:第一,數篇很重要的論文提出了更適合訓練GAN 的損失函數(或稱目標函數),進而提升了 GAN 的數據生成能力。
由 Facebook 人工智慧研究院(FAIR)和紐約大學科朗數學研究所(CIMS,Courant Institute of Mathematical Sciences)合作發表的《Wasserstein GAN》(簡稱 WGAN),以及由知名的蒙特利爾學習演算法研究所(MILA,Montreal Institute for Learning Algorithms)、CIMS、加拿大高等研究院(CIFAR)合作提出的《Improved Training of Wasserstein GANs》(簡稱Improved WGAN)。
圖丨《Wasserstein GAN》實驗數據
這兩篇論文的成就在於將最初GAN 突變的、不光滑的損失函數加以修改,提出了更合適的損失函數,並且引起了Google 和 OpenAI 的快速跟進,各自又發表了《The Cramer Distance asa Solution to Biased Wasserstein Gradients》和《Improve GAN using optimal transport》論文,都使得 GAN 訓練的穩定性、魯棒性和最終效果得到了很好的加強。
第二個突破就是許多機構跟企業設計出更適合生成複雜高維度數據的 GAN 神經網路結構。
過去 GAN 是用來生成一維信號(例如語言、語音)以及簡單二維信號(例如黑白數字圖像),想要生成複雜的高維度信號(例如自然圖像)的難度很高,後續有研究者提出了深度卷積生成對抗網路(DCGAN,Deep Convolutional Generative Adversarial Networks),可以相對更有效的生成二維的圖像信號。這是 GAN 首次在圖像生成取得很大的進步,此後使用 GAN 生成圖像的研究紛紛湧現,GAN的研究也因此走紅。
儘管有了 DCGAN,得以讓 GAN 進入了二維世界,可惜的是生成出來的圖像解析度仍然很小,多數只有 64*64 或 128*128。直到去年出現了更大的突破,首先是商湯-香港中文大學聯合實驗室與羅格斯大學等機構提出了 StackGAN 演算法,發明了更好的神經網路結構,將生成圖像的解析度從 128*128 大幅提升到 256*256,稍後 NVIDIA 一篇以名人的臉孔為訓練素材,生成出相當逼真的假名人照的論文,將解析度一舉拉高到 1024*1024,立刻令外界驚嘆,GAN 一戰成名。
圖丨StackGAN++演算法生成的教堂和貓
李鴻升指出,GAN 是屬於生成模型的一種,其目標是逼近真實的數據分布。由於 GAN 做到了讓數據逼近從一維發展到二維、複雜性的數據分布,所以在目前的 GAN領域裡,無論是研究理論或應用,有 50% 以上都是從圖像出發,或是以圖像來驗證新理論的可行性。現在也有人希望利用GAN 來做三維信號,例如視頻。不過,現階段即使是二維的圖像效果,GAN 還不夠完美,因此三維信號生成的效果還處於很初始的探索階段。
第三個突破是對於 GAN 神經網路有新的訓練方式,特別是 Conditional GAN 訓練方式的突破。
最初 GAN 的概念是基於隨機雜訊向量(random noise)生成圖像,此種稱為 Unconditional GAN,NVIDIA 生成假名人照就是此類。而 Unconditional GAN 的特點是無法控制,使用者無法知道生成器究竟會產生出什麼樣的內容。但是,當你想要「控制」GAN 生成的內容時又該怎麼辦呢?因此,有研究人員提出了新的方式,也就是 Conditional GAN,生成出符合設定條件的圖像。
舉例來說,當我們希望生成出來的人臉都具備大眼睛、瓜子臉、高鼻子、黑頭髮等條件,在訓練模型時,機器就會根據這些既定的條件去做,而不會生成出條件以外(如小眼睛、圓臉等)的人臉。
不過,要訓練 Conditional GAN 的前提是需要成對數據(paired data)。去年加利福尼亞大學伯克利分校(UC Berkeley)提出了 CycleGAN,解決了這個難題。
圖丨Conditional GAN生成的動漫角色
該論文的內容是輸入一張「馬」的圖片,讓機器可以生成「斑馬」的圖片,過去 Conditional GAN 的作法是需要馬和斑馬的圖像,而且要讓機器知道兩者之間細緻的對應關係,例如馬的頭對應斑馬的頭在哪裡,馬的腳對應斑馬的腳又在哪裡,這就是所謂的成對數據。但是要建立這種細緻的關係並不容易,一是耗費時間,二是很可能難以取得這些資料,而 CycleGAN 的作法是給予一堆馬和一堆斑馬的圖像,先從馬訓練到斑馬,之後讓機器從斑馬再訓練回馬。
CycleGAN 打破了以往 Conditional GAN 需要有細緻成對標籤的限制,不必在原始領域和目標領域之間建立訓練數據一對一的映射,就可以達到圖片轉換的效果,因此一問世後引起了很大的反響。
第四個關鍵突破則是越來越多的深度學習應用引入對抗式思想,增強了原始應用的性能。
一開始外界普遍認為 GAN 只是一個生成模型,不過其實對抗性的思想對於改進現有 AI 演算法同樣很有幫助。舉例來說,傳統的深度學習演算法可以看作 GAN 的生成器,引入鑒別器後,可以改良原有模型的任務表現,讓現有 AI 演算法做的更好、生成更接近真實的結果。商湯-香港中大聯合實驗室教授呂建勤從事研究 GAN 進行圖像超解析度,不僅是把低解析度的圖像提高,將其變為高解析度圖像,還可以近一步自動美化圖像的風格和細節。
另一位商湯-香港中大聯合實驗室教授林達華則是以 GAN 增強圖像標題生成的真實性。圖像標題生成主要是希望通過計算機看懂圖像,並且用自然語言來描述圖像內容,加入鑒別器可以判斷這句話是人類撰寫還是電腦生成的,藉由這種方式讓原來 AI 模型生成的標題更有「人味」、更自然。也有許多從業者將 GAN 引入機器翻譯、人臉識別、信息檢索等方向,在去年取得很好的突破。
問世三年多帶來的三大影響
談完了 GAN 在去年的突破,進一步來看這項技術為什麼如此受到關注,「主要是帶來了不少層面的影響,而且未來的潛力還很大。」李鴻升一語道出重點。
第一,從理論上來講,生成模型是用來逼近真實數據分布,傳統的生成模型如貝葉斯模型、變分自動編碼器(Variational Auto Encoder)等,但在過去十多年,這些技術還是沒辦法逼近真實的、維度很高的數據分布,圖像生成仍是一個很難的任務,一直到 GAN 的出現。
圖丨由StackGAN演算法生成的圖像
為什麼大家重視 GAN,李鴻升認為:「就在於其表現出很強的潛力,到現在還在不斷提高逼近真實數據分布的能力,而且確實也有一些突破。」例如上述提及的圖像生成,去年中解析度達到256*256,年底進步到 1024*1024,儘管 1024*1024 還不夠實用,但短時間之內就看到明顯的進化,因此很多人認為 GAN 還有很大的發展潛力。但是,若細看 GAN 生成出來的圖像還是可以發現瑕疵,也就是說尚未達到人類的能力,因此也有一派意見認為 GAN 其實沒那麼厲害,甚至有點被誇大其詞了。兩派聲音各有觀點。
第二個影響就是讓研究人員在研究 AI 時有了更新的思路,「它教育了我們這一批研究者,是不是在一系列深度學習演算法的設計中考慮引入對抗式思想、怎麼引入、又該如何適當的引入,進而提高傳統 AI 演算法執行任務的表現。」李鴻升說。提供更多的研究思路及方式,改善 AI 的效果,這對於人類未來繼續推動 AI 往前走是很重要的。
第三個就是可以基於少量數據進行半監督的學習。大家都知道要訓練神經網路需要龐大的數據量,GAN 提供了一個新的思路—訓練GAN 來模擬真實數據分布。在有些情況下,研究人員會遇到真實數據不夠,或是難以取得數據的情況,此時可以試圖訓練 GAN 來模擬真實數據分布,如果模擬得夠好,GAN 就可以生成更多的訓練數據,這有助於解決深度學習小數據量的難題。目前已經有許多研究朝此方向努力,取得了一些成果。
例如獲 CVPR 2017 最佳論文提名獎的蘋果首篇論文《Learning from Simulated and Unsupervised Images through Adversarial Training》,就是使用 GAN 來生成更多接近真實的訓練數據。
圖丨Learning from Simulated and Unsupervised Images through Adversarial Training 中的演示
蘋果論文研究的任務,是希望讓機器通過人的眼球圖片就能判斷人的凝視方向。傳統方式需要對人眼拍照,再手工標註,往往需要耗費很大的人力及時間成本,或者是使用計算機圖形學(Computer Graphics)生成出人的眼球照片。最原始簡單的方式,就是把真人的照片以及計算機圖形學創造出來的照片混在一起訓練。但計算機生成的圖像不夠真實,在訓練過程中就容易出現訓練數據和測試數據來自不同領域(domain)而引起的 domain gap 問題,造成效能低落,影響最終神經網路的識別性能,所以蘋果通過引入 GAN 提高合成圖像的真實性,縮小 domain gap 對最終性能的影響。
GAN 未來可能對計算機圖形學產生衝擊
簡單來說,目前 GAN 應用有兩種方法,一是完全從無到有的生成:輸入隨機產生的雜訊變數,輸出人、動物等各種圖像,這類應用難度較高;另一個則是利用 GAN 來改進已有或傳統的 AI應用,例如超解析度、照片自動美化、機器翻譯等,難度相對較低,效果也很實用。
發展三年多的 GAN,在已經發展了 60 年的人工智慧領域中,雖然還是很新的技術,不過已經有各種變體或進階版出現,而且在諸多研究人員及企業的投入下未來仍有許多的可能性。例如有機會從二維的圖片進展到三維的視頻等等,李鴻升也提出他的看法,「在更遠的將來,有可能會對圖形學產生衝擊或挑戰,現在雖然還沒看到很明確的現象,但放膽想像的話,是有可能的。」
例如,電影產業中想要生成一個名人圖像,原始做法是針對明星的人臉進行三維建模,再加上材料、物理特性的設計,再通過計算機進行渲染,這是很長的一段流程;或是也有人嘗試以三維建模打造逼真的自動駕駛的訓練虛擬環境。未來都可能用 GAN 就能達到。目前 GAN 生成的圖像以及視頻解析度還是很低,人眼也能看出明顯的瑕疵。未來幾年若有新的結構、訓練方式出現,就有機會做到以假亂真。如果 GAN 的研究無法保持高速的發展,就可能無法取代三維建模的流程。
在海外包括 Google、OpenAI、紐約大學等都投入大量資源進行 GAN 的研究,目前中國的學術機構也有針對 GAN 的理論展開研究,例如香港中文大學、上海交通大學、清華大學研究機構等。企業則是以 GAN 的應用為主,比如,商湯以GAN 做圖像超解析度已經產品化,客戶包括了諸多手機廠商、圖像處理 APP 廠商等。
推薦閱讀: