當前位置:
首頁 > 新聞 > Ian Goodfellow:生成對抗網路 GAN 就是強化學習 超全資料

Ian Goodfellow:生成對抗網路 GAN 就是強化學習 超全資料

Ian Goodfellow

2018新智元AI技術峰會倒計時13天】

2018年3月29日,2018新智元AI技術峰會,本次峰會以「產業·躍遷」為主題,聚合了德國總理科學顧問、諾貝爾獎評委、瑞典皇家科學院外籍院士 Wolfgang Wahlser; 歐洲科學院院士Hans Uszkoreit ;中國工程院院士鄧中翰等世界頂級科學家,想現場一睹頂級科學家的風采?想與其近距離交流互動?點擊文末閱讀原文,參會!

頂級科學家匯聚一堂,大會僅剩150席,鏈接:

http://www.huodongxing.com/event/8426451122400

新智元報道

來源:fermatslibrary.com

編譯:聞菲、肖琴

【新智元導讀】今天,Ian Goodfellow開展了一場有關生成對抗網路(GAN)的最新AMA問答,從他小時候如何學習編程,如何想出GAN這個idea,到具體的技術和應用,Goodfellow都作出了專業而且誠懇的回答。Goodfellow認為不止是GAN,膠囊網路、強化學習、半監督學習等等方法都很重要,也值得更多人重視。


關於GAN:想法來自酒後與同行的爭論

問:有傳言說你是在一家小酒館裡想出了GAN的idea,是這樣嗎?

Ian Goodfellow :這是真事,不僅僅是傳言。我之前在好幾次採訪中都講過這個故事了。

參考:專訪 Ian Goodfellow:欲在谷歌打造 GAN 團隊,用假數據訓練真模型

問:在訓練GAN方面似乎有兩三個陣營(camp),你和在OpenAI、谷歌的人,Mescheder, Sebastian Nowozin和微軟研究院的人,以及其他。在這些陣營中你有看到什麼相似點嗎?

Ian Goodfellow:實際上有更多陣營。FAIR/NYU也是重鎮,實際上是FAIR/NYU最先把GAN帶進了我們的視野(LAPGAN)。那是第一次GAN生成了逼真的高清圖像,也是第一次GAN得到媒體曝光,等等。另外一個重要陣營是伯克利+英偉達,他們專註超高清逼真圖像和視頻,無監督翻譯,等等。我不太清楚你用「陣營」(camps)想表達什麼,如果是說用不同的思路和方法在研究GAN,那麼確實如此。但「陣營」一般多指相互敵對的團隊,在這裡並不適用。


要從根本上重新考慮使用的策略,現有神經元難以抵禦對抗攻擊

問:問個有點偏的問題——有人認為重新思考深度學習模型中「神經元」的工作方式,是應對對抗樣本的唯一方法,你怎麼看?在以前的演講中你提到過,這種通用樣本的存在是因為這些模型的「線性」(對應之前人們說的「非線性」)。繼續採用使用了這些神經元的模型,在方向性上說會不會是錯誤的?或者說,好好選擇激活函數,做好數據增強/防禦,能從整體上解決這個問題?

Ian Goodfellow:我不認為這個問題有點偏,因為GAN的判別器需要具有魯棒性,應對生成器的對抗攻擊。同時,我確實認為我們當前使用的神經元,很難在應對對抗樣本方面具有魯棒性。但我並不認為這是唯一有問題的地方。一些最新的工作,比如(https://arxiv.org/abs/1801.02774)表明,要讓圖像分類安全可靠,我們真的需要從根本上重新考慮我們使用的策略,而不僅僅是訓練的模型。

膠囊網路(Capsule networks)能比普通模型更好的應對對抗攻擊(https://openreview.net/forum?id=HJWLfGWRb)。目前還不清楚這是不是最好的防禦方法——我還沒看到有使用最先進的攻擊方法來一對一測試模型可靠性的工作。

問:定量評估GAN的指標是什麼?

Ian Goodfellow:這取決於你想用GAN來做什麼。如果你想將其用於半監督式學習,請使用測試集精度作為評估指標,如果你想使用它來生成高質量的圖像(例如超解析度),那麼可能需要使用人類評分員來評估。如果你只是想得到一個通用的自動化的質量得分,那麼我認為Frechet Inception Distance(https://arxiv.org/abs/1706.08500)可能是最好的,尤其是對於class-specific(https://arxiv.org/pdf/1802.05957.pdf)的模型來說。這些指標本身現在仍是一個正在進行的重要的研究領域。

問:有沒有辦法將潛變數(latent variables)映射到fake image的部分?換句話說,是否可以這樣說:這2個變數改變圖像的背景顏色,這些x變數修改了形狀,等等?

Ian Goodfellow:這不是總是可行的,但你可以訓練模型這樣表現。例如InfoGAN:https://arxiv.org/abs/1606.03657


ArXiv讓人繞過同行評議,降低深度學習論文質量

問:1)如何在GAN和其他生成模型,比如VAE和FVBN(NADE, MADE, PixelCNN)之間選擇?選擇的時候有什麼比較標準嗎?2)像Librarian/Fermat"s Library這樣的在線文庫對於ML/DL論文來說重要嗎?現在ML/DL論文一般都是直接發表在arXiv。

Ian Goodfellow:我在Fermat』s Library這裡做AMA,就是為了推廣這些工具,我認為它們很重要,也值得更多人重視。ArXiv現在基本成了繞過同行評議的捷徑,讓深度學習論文的信噪比驟降。現在仍然有很多優秀的深度學習研究在進行,但同樣也存在大量的低質量工作。如今就連最好的那些工作也是好壞摻半——有很好的想法,但卻用宣傳推廣的套路在寫,跟其他工作的比較也不準確,等等。這都是因為這些論文沒有經過同行評議。

至於方法選擇,如果你想生成連續變數的真實樣本,做無監督翻譯(例如GycleGAN),或者做半監督學習,那麼你很可能用得著GAN。如果你想生成的是離散標記(token),你或許還用不著GAN,但我們也在不斷改進。如果你想要的是最大似然,就不要用GAN了。


關於GAN和其他方法:GAN基本上可以說就是強化學習

問:GAN與強化學習(RL)原則之間有什麼相似之處(如果有的話)?我對這兩者都不是專家(只有非常基本的了解),我覺得GAN的「generator - discriminator」的想法和RL的「agent - environment interaction」有著緊密的聯繫。是這樣嗎?

Ian Goodfellow:我也不是RL的專家,但我認為GAN是使用RL來解決生成建模問題的一種方式。GAN的不同之處在於,獎勵函數對行為是完全已知和可微分的,獎勵是非固定的,以及獎勵是agent的策略的一個函數。但我認為GAN基本上可以說就是RL。

問:有測試生成模型可遷移性的論文或研究嗎?例如我有一個生成狗或者貓的模型,之後想用早一些的層生成狼和老虎。

Ian Goodfellow:我不知道,但肯定有。對於生成器來說,可能偏後期的層(靠近輸出的)更容易共享。


關於GAN的應用:GAN適用於半監督學習問題

問:GAN能用於話題建模(Topic Modeling)嗎?除了生成建模(目前主要用於圖像),還有其他領域使用GAN框架嗎?

Ian Goodfellow:我猜應該有,但我不知道具體的。文檔是離散token,比如文字、單詞,而GAN需要計算生成器的輸出的梯度,因此在有連續輸出的地方才能很好的工作。或許你可以用對抗自編碼器,或者AVB,在這裡生成器實際上是編碼器,能夠輸出連續的代碼。這對於文檔建模有很大幫助,因為能對topics給出一個分散式表示。

問:GAN在基因組學裡有什麼應用?

Ian Goodfellow:我不太了解基因組學,但我認為GAN這類的模型可以用於半監督學習。我想在基因組學中,未標記的數據應該比有標記的更多,利用大量的未標記數據從少量標記數據中學習的話,半監督學習會很有幫助。這方面Tim Salimans提出了一些方法,在MNIST、SVHN等基準上特別好用:https://arxiv.org/abs/1606.03498

但需要注意,我們發現其他半監督方法實際上並不怎麼好用(https://openreview.net/forum?id=ByCZsFyPf ),但半監督GAN並沒有接受這些測試。

11歲學會編程,10篇最好的GAN論文推薦

問:您最近在Twitter上列舉了你覺得最好的10論文GAN論文。你可以寫一篇博客文章,介紹從GAN的初學者到GAN專家都適合的所有論文和其他資源嗎?

Ian Goodfellow:我可能沒有時間做這件事情,而且就算寫一篇這樣的文章,它會很快就過時。

我在2016年12月寫了關於GAN的長文教程:NIPS 2016 Tutorial: Generative Adversarial Networks (https://arxiv.org/abs/1701.00160)

裡面的許多想法在今天仍然有價值,儘管這個教程沒有包含2017年以來的最新模型,例如Progressive GANs,spectrally normalized GANs, GANs with projection discriminator等等。

問:你是怎樣提高你的編程技巧,以便快速嘗試各種瘋狂的想法,例如GANs?有沒有推薦的編程技能的書?以及請推薦一些TensorFlow學習或深度學習框架的書籍。謝謝。

Ian Goodfellow:

回答推薦書籍:我自己學習現代深度學習編程的路徑是相當間接的(在我開始使用Python之前,我已經學會了各種C,assembly,web等編程語言),因此我不知道對於今天的學習者來說最好的方法是什麼。

在編程能力方面,對我來說一個非常重要的轉折點是在斯坦福大學Jerry Cain開的CS107課程,我記得是在2006年春季學習了這門課程。在那之前,我只是一名編程愛好者,系統工作的時候我感到興奮,但很多時候,系統宕機時我只能感到困惑,不知道是什麼地方錯了。學完這門課後,我就再沒有因為軟體開發方面的任何事情困惑過。你可以在YouTube或iTunes U之類的網站上找到這門課的講座。

回答「你怎樣提高編程技能,以便快速嘗試各種瘋狂的想法,比如GANs」:

我編程的時間很長!我在11歲就學會了編程,中學時我們的數學課有圖形計算器,有人在上面用 TI-BASIC編了一個遊戲。為了了解這個遊戲的工作原理,我從圖書館複製了一本「MacFroggy Teaches Basic 」來學習BASIC語言。

我入坑deep learning的部分原因是我一直在出於愛好做遊戲編程。我一直在使用OpenGL Shading Language(GLslang)來編寫通用的GPU程序。當CUDA推出時,利用GPU進行CUDA編程實際上比試圖將數學問題轉換為專為圖形設計的語言要容易得多。在Geoff Hinton的關於deep belief nets的論文發表後不久,我的朋友Ethan Dreyfuss就給我講了有關深度學習的內容,然後我和Ethan一起搭建了斯坦福大學的第一台用於深度學習的CUDA機器。我最初編寫的深度學習程序是在CUDA中實現RBM。與我編寫GAN時所做的努力相比,這要困難得多。在寫GAN時,我已經有很多很好的工具,例如Theano,LISA lab等等。

編寫GAN代碼很容易,部分原因是我有一個很好的代碼庫,可以從早期的項目開始。我的整個博士學位期間都在搞深度學習,有很多類似的代碼可以隨時待命。我的第一個GAN實現主要是從MNIST分類器(https://arxiv.org/pdf/1302.4389.pdf)的代碼中複製粘貼來的。


Ian Goodfellow關於GAN的資料大全

Invited Talks

Adversarial Examples and Adversarial Training

"Defending Against Adversarial Examples". NIPS 2017 Workshop on Machine Learning and Security. [slides(pdf)] [slides(key)]

"Thermometer Encoding: One hot way to resist adversarial examples," 2017-11-15, Stanford University [slides(pdf)] [slides(key)]

"Adversarial Examples and Adversarial Training," 2017-05-30, CS231n, Stanford University [slides(pdf)] [slides(key)]

"Adversarial Examples and Adversarial Training," 2017-01-17, Security Seminar, Stanford University [slides(pdf)] [slides(key)]

"Adversarial Examples and Adversarial Training," 2016-12-9, NIPS Workshop on Reliable ML in the Wild [slides(pdf)] [slides(key)]

"Adversarial Examples and Adversarial Training," presentation at Uber, October 2016. [slides(pdf)]

"Physical Adversarial Examples," presentation and live demo at GeekPwn 2016 with Alex Kurakan. [slides(pdf)]

"Adversarial Examples and Adversarial Training," guest lecture for CS 294-131 at UC Berkeley. [slides(pdf)] [slides(key)]

"Exploring vision-based security challenges for AI-driven scene understanding," joint presentation with Nicolas Papernot at AutoSens, September 2016, in Brussels. Access to the slides and video may be purchased at the conference website. They will be freely available after six months.

"Adversarial Examples and Adversarial Training" at HORSE 2016. [slides(pdf)] [youtube]

"Adversarial Examples and Adversarial Training" at San Francisco AI Meetup, 2016. [slides(pdf)]

"Adversarial Examples and Adversarial Training" at Quora, Mountain View, 2016. [slides(pdf)]

"Adversarial Examples" at the Montreal Deep Learning Summer School, 2015. [slides(pdf)]

"Do statistical models understand the world?" Big Tech Day, Munich, 2015. [youtube]

"Adversarial Examples" Re-Work Deep Learning Summit, 2015. [youtube]

Generative Adversarial Networks

"Overcoming Limited Data with GANs". NIPS 2017 Workshop on Limited Labeled Data. [slides(pdf)] [slides(key)]

"Bridging theory and practice of GANs". NIPS 2017 Workshop on Bridging Theory and Practice of Deep Learning. [slides(pdf)] [slides(key)]

"GANs for Creativity and Design". NIPS 2017 Workshop on Creativity and Design. [slides(pdf)] [slides(key)]

"Giving artificial intelligence imagination using game theory". 35 under 35 talk at EmTech 2017. [slides(pdf)][slides(key)]

"Generative Adversarial Networks". Introduction to ICCV Tutorial on Generative Adversarial Networks, 2017. [slides(pdf)] [slides(key)]

"Generative Adversarial Networks". NVIDIA Distinguished Lecture Series, USC, September 2017. [slides(pdf)] [slides(key)]

"Generative Adversarial Networks". Adobe Research Seminar, San Jose 2017. [slides(pdf)] [slides(keynote)]

"Generative Adversarial Networks". GPU Technology Conference, San Jose 2017. [slides(pdf)] [slides(keynote)]

"Generative Adversarial Networks". Re-Work Deep Learning Summit, San Francisco 2017. [slides(pdf)] [slides(keynote)]

Panel discussion at the NIPS 2016 Workshop on Adversarial Training: Facebook video

"Introduction to Generative Adversarial Networks," NIPS 2016 Workshop on Adversarial Training. [slides(keynote)] [slides(pdf)]

"Generative Adversarial Networks," NIPS 2016 tutorial. [slides(keynote)] [slides(pdf)] [tech report(arxiv)]

"Generative Adversarial Networks," a guest lecture for John Canny"s COMPSCI 294 at UC Berkeley. Oct 2016. [slides(keynote)] [slides(pdf)] [youtube]

"Generative Adversarial Networks" at AI With the Best (online conference), September 2016. [slides(pdf)]

"Generative Adversarial Networks" keynote at MLSLP, September 2016, San Francisco. [slides]

"Generative Adversarial Networks" at Berkeley AI Lab, August 2016. [slides(pdf)]

"Generative Adversarial Networks" at NVIDIA GTC, April 2016. [slides(pdf)]

"Generative Adversarial Networks" at ICML Deep Learning Workshop, Lille, 2015. [slides(pdf)]

"Generative Adversarial Networks" at NIPS Workshop on Perturbation, Optimization, and Statistics, Montreal, 2014. [slides(pdf)]

Other Subjects

"Adversarial Robustness for Aligned AI". NIPS 2017 Workshop on Aligned AI. [slides(pdf)] [slides(key)]

"Defense Against the Dark Arts: Machine Learning Security and Privacy," BayLearn, 2017-10-19. [slides(pdf)]

"Adversarial Machine Learning for Security and Privacy," Army Research Organization workshop, Stanford, 2017-09-14. [slides(pdf)]

"Generative Models I," 2017-06-27, MILA Deep Learning Summer School. [slides(pdf)] [slides(key)]

"Adversarial Approaches to Bayesian Learning and Bayesian Approaches to Adversarial Robustness," 2016-12-10, NIPS Workshop on Bayesian Deep Learning [slides(pdf)] [slides(key)]

"Design Philosophy of Optimization for Deep Learning" at Stanford CS department, March 2016. [slides(pdf)]

"Tutorial on Optimization for Deep Networks" Re-Work Deep Learning Summit, 2016. [slides(keynote)] [slides(pdf)]

"Tutorial on Neural Network Optimization Problems" at the Montreal Deep Learning Summer School, 2015. [slides(pdf)]

"Practical Methodology for Deploying Machine Learning" Learn AI With the Best, 2015. [slides(pdf)] [youtube]

Contributed Talks

"Qualitatively characterizing neural network optimization problems" at ICLR 2015. [slides(pdf)]

"Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks" with Yaroslav Bulatov and Julian Ibarz at ICLR 2014. [youtube]

"Maxout Networks" at ICML 2013.

"Joint Training Deep Boltzmann Machines for Classification" at ICLR 2013 (workshop track).

Miscellaneous

I"ve made several presentations for the Deep Learning textbook, and presented some of them at a study group for the book.

PhD thesis defense. [youtube] [slides]

Ian Goodfellow GAN資料地址:http://www.iangoodfellow.com/slides

Ian Goodfellow 關於GAN的最新AMA地址:https://fermatslibrary.com/arxiv_comments?url=https%3A%2F%2Farxiv.org%2Fpdf%2F1406.2661.pdf


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

超90%論文演算法不可復現,你為何不願公開代碼?
「神經網路」成2017最熱詞,計算機科學十大領域熱詞排行榜曝光

TAG:新智元 |