當前位置:
首頁 > 新聞 > Ian Goodfellow線上直播實錄:關於GANs的那些不為人知的事兒

Ian Goodfellow線上直播實錄:關於GANs的那些不為人知的事兒

雷鋒網AI科技評論按:近日,「GANs 之父」Ian Goodfellow 做客國外一檔「你問我答」(Ask Me Anything)的線上問答節目,提問者可以直接對 Ian Goodfellow 提出任何關於 GANs 的問題,下面 AI 科技評論帶大家圍觀 GANs 發明的背後都有哪些不為人知的故事。

以下是 AMA 節目中,Ian Goodfellow 與線上提問者的問答實錄,雷鋒網AI 科技評論做了不改動原意的編譯。

Gfred:有傳言說你是在一家酒吧想出 GAN 的。你能回憶並描述一下當時的情景嗎?

Ian Goodfellow:這確實是真的,並不是傳言。我之前在幾次採訪中也講過這個故事,「麻省理工科技評論」「連線」雜誌,「英偉達博客」上都有報道。

Wired:https://www.wired.com/2017/04/googles-dueling-neural-networks-spar-get-smarter-no-humans-required/

NVIDIA Blog:https://blogs.nvidia.com/blog/2017/06/08/ai-podcast-an-argument-in-a-bar-led-to-the-generative-adversarial-networks-revolutionizing-deep-learning/

MIT Technology Review:

https://www.technologyreview.com/lists/innovators-under-35/2017/inventor/ian-goodfellow/

https://www.technologyreview.com/s/610253/the-ganfather-the-man-whos-given-machines-the-gift-of-imagination/

Gautam Ramachandra:您能否介紹一下實現以下目標函數所採用的函數導數所涉及的步驟。 GAN中是否採用了貝葉斯定理?

以上給出了上述目標函數的導數

這些方程來自論文「Generative Adversarial Networks」(http://arxiv.org/pdf/1701.00160.pdf)可以在第 46 頁和第 47 頁找到。能不能幫我完成目標函數的函數導數推導步驟?

Ian Goodfellow:在這個回答中,我可能沒有足夠時間用 LaTex 格式完成函數推導的過程,不過你可以在「深度學習」書中找到一些有用的信息:http://www.deeplearningbook.org/contents/inference.html。大部分你需要知道的內容在方程 19.46 中。

當你把這個方程應用到 j(d),你就會得到一個新的衍生表達式,並不需要知道任何有關函數導數的東西。

Avhirup Chakraborty:目前是否有關於生成模型可遷移的論文和工作?例如:我有一個用於生成貓和狗圖片的模型,我是否可以利用該模型前面的一些網路層來生成狼和老虎的圖片?

Ian Goodfellow:目前我還不知道在這方面有哪些研究和工作,但我認為這是可行的。對於生成器來說,越接近後面輸出端的網路層,越容易在不同模型之間共享吧。

Anshuman Suri:這個問題可能有點偏離主題。您認為今天重新思考「神經元」在深度學習模型中的工作方式是唯一能夠解決對抗樣本中的魯棒性問題嗎?在你的一些視頻中,你曾經提到過存在這種普遍性問題,因為這些模型都是「線性」(而不是許多人稱的「非線性」)。我們是通過深入探索目前這些神經元模型來找出錯誤,還是說將完美的激活函數和數據增強/防禦混合起來作為一個整體模型運用到模型中,就能修復這些問題?

Ian Goodfellow:我不認為這是完全脫離主題的,因為 GAN 的鑒別器需要對由生成器生成的對抗輸入具有魯棒性。我確實認為我們目前使用的神經元很難對對抗樣本保持魯棒性,但我覺得這不是唯一錯誤。最近的一些工作表明,如 https://arxiv.org/abs/1801.02774 中提到的,為了確保分類器的安全性,我們真的需要重新思考我們的基本原則和策略,而不僅僅是訓練我們的模型。

膠囊網路確實比普通模型更能抵禦對抗樣本(參考文章 https://openreview.net/forum?id=HJWLfGWRb),但目前還不清楚這是否是最好的防禦方式---在同一數據集上的對抗訓練是否能抵禦最強攻擊,目前還不知道結果。

Foivos Diakogiannis:您能否就 GAN 與強化學習(RL)之間的相似之處(如果有的話)發表一下評論?我對這兩種網路的認識都不是太專業,但據我淺顯的理解,我認為 GAN 上的生成器-鑒別器和強化學習中的代理-環境相互作用的方式非常相近,我的理解對嗎?

Ian Goodfellow:我或許沒有資格評價強化學習,但是我認為 GAN 是使用強化學習來解決生成建模的一種方式。GAN 案例的一些奇怪的地方在於獎勵函數在行動中是完全已知和可微分的,獎勵是非穩態的,獎勵也是代理策略的一種函數。但我確實認為它是基於強化學習。

Jakub Langr:我發現 GAN 訓練中有兩個或三個陣營:OpenAI 和 Google 的人員算一個陣營;Mescheder、Sebastian Nowozin 與其他微軟研究院等機構的研究人員是另一個陣營。你認為是這樣的嗎?你有類似的看法嗎?

Ian Goodfellow:不,我認為還有更多的陣營。FAIR(Facebook AI 研究院)/ NYU(紐約大學)也是主要參與者。實際上,FAIR / NYU 是第一個將 GAN 與 LAPGAN 應用在地圖上。這是 GAN 第一次生成真正引人注目的高解析度圖像,這也是 GAN 第一次得到新聞報道等。另一個非常重要的陣營是(伯克利+英偉達)Berkeley + NVIDIA 陣營,他們專註於非常引人注目的高解析度圖像和視頻,無監督翻譯等。我也不確定你所說的「陣營」是什麼意思。如果你只是指研究 GAN 的不同方法,那麼是的,這些團隊傾向於以不同的方式運作。不過很多時候,「陣營」一詞意味著彼此意見不同或相互衝突的群體,我認為情況並非如此。

Vineeth Bhaskara:您的論文與 Jurgen Schmidhuber 在 GAN vs PM 上有多遠?你們倆在這方面還有什麼分歧嗎?

Ian Goodfellow:這篇論文已被撤稿了,但我們仍有分歧。

Adam Ferguson:

1)您如何選擇 GAN 與其他生成模型(如 VAE 和 FVBN)(NADE,MADE,PixelCNN)?我們應該使用哪個框架來做出這個決定?

2)第二個問題與論文沒有直接關係,像 Librarian / Fermat Library 工具對 ML / DL 等領域來說很重要,因為這些領域的發論文速度要比期刊快得多。你如何看待這個領域的未來?

Ian Goodfellow:先回答第二個問題,我正在做這個 AMA 問答,就是來幫助促進 Librarian / Fermat Library 工具的普及,因為我認為這些工具需要變得更加為大眾所知。ArXiv 現在基本上是一種繞過同行評審的方式篩選論文,它使得深度學習論文的信噪比猛降。雖然仍然有很多偉大的深度學習工作正在進行,但也存在很多低質量的工作。即使現在最好的工作也經常出現夾雜私貨 -比如一個好想法寫在一篇不公平的營銷文章,或是與其他作品比較不準確的論文中,因為沒有任何同行評審,所以作者變得有點肆無忌憚了。

再回到第一個問題,如果你想生成連續變數的真實樣本,如果你想做無監督翻譯(例如 CycleGAN),或者如果你想做半監督學習,那麼你可能需要用到 GAN。如果你想產生離散符號,你可能用不到 GAN,但我們正在努力使它在這方面變得更好。如果你想最大化可能性,你可能也不想用 GAN。

Kushajveer Singh:最近你在 Twitter 上列了 10 篇你認為最佳的 GAN 論文,你能寫一篇文章列舉一下從初學者和專家都需要學習哪些 GAN 知識,你還有別的資源分享嗎?

Ian Goodfellow:我可能沒有時間寫,而且即便我寫了,它也會很快過時。我在 2016 年 12 月編寫了關於 GAN 的大型教程:https://arxiv.org/abs/1701.00160。大家可以去看一下。這裡的許多想法今天仍然實用,當然,它不包括 2017 年末以後的現有技術模型,如漸進式 GAN,光譜歸一化 GAN,帶投影鑒別器的 GAN 等。

Rafa Ronaldo:定量評估 GAN 的標準是什麼?

Ian Goodfellow:它取決於你希望拿 GAN 來做什麼。如果你希望將它用於半監督學習,那麼就使用測試集的準確率度量;如果你希望用於生成用戶喜歡的圖像(如超解析度圖像等),那麼就需要使用真人來打分。如果你僅希望使用一般的自動化質量評分,那麼我認為 Frechet Inception Distance ( https://arxiv.org/abs/1706.08500 ) 可能是最好的。當然度量方法本身仍然是研究領域中非常重要的一部分。

Andres Diaz-Pinto:現在有方法將隱變數映射到生成圖像的一部分嗎?換句話說,能否使用幾個變數改變背景顏色,然後然後另外幾個個變數修正形狀或其它的屬性?

Ian Goodfellow:通常情況下是可以實現的,但我們需要以特定的方式訓練模型,參考論文 InfoGAN:https://arxiv.org/abs/1606.03657。

Rafa Ronaldo:很多瘋狂的想法,如 GANs 需要高超的編程技巧來輔以實現,你是如何提升你的編程技能的?有沒有推薦的書?任何特定學習 Tensorflow 或深度學習框架的書籍都可以。謝謝!

Ian Goodfellow:我學習現代深度學習編程的路徑非常間接,因為在學習使用 Python 之前,我已經學了各種 C、彙編、網頁等語言。所以對於別人,我不確定有什麼捷徑可以加速編程的學習過程。在編程能力方面,對我來說非常重要的一個轉折點就是 2006 年參加 Jerry Cain 在斯坦福開設的 CS107 課程。在那之前,我基本只是一個編程愛好者,但上過課後,基本上我在軟體開發方面就不會再困惑了。現在你們也可以在 YouTube 或 iTunes U 等站點找到該課程。

關於我是如何提升編程技能,因為我做了很多編程!我在 11 歲時學會了編程。我的中學為我們的數學課程設計了圖形計算器,並且有人在 TI-BASIC 上編程遊戲,並加入了圖形計算器課程中。我從圖書館獲得了 https://www.amazon.com/MacFroggy-Teaches-Basic-Amy-Barger/dp/0944838391 的副本,以便了解遊戲的工作原理。

我為什麼開始踏入深度學習領域,有一部分原因是我一直在做我最愛的遊戲編程。我一直在使用 OpenGL 著色器語言編寫通用 GPU 程序。當 CUDA 推出時,利用 GPU 進行 CUDA 編程實際上比試圖將數學問題解決為專門為圖形設計的語言要容易得多。我的朋友 Ethan Dreyfuss 在 Geoff Hinton 關於深層網路的論文出爐後不久告訴了我關於深度學習的內容,然後我和 Ethan 一起構建了斯坦福大學的第一台 CUDA 機器,以便一起研究深度學習。我的第一次深度學習計劃是在 CUDA 中實施 RBM。與我為編程 GAN 所做的相比,這確實很困難。當我編寫第一個 GAN 代碼時,我有很多很好的工具,如 Theano,LISA 實驗室計算機集群等。

為什麼編寫 GAN 代碼很容易?有一部分原因是我有一個非常好的代碼庫,是從很早期的項目就開始準備的。我一直在為我的整個博士期間的學習深度學習做準備,並且有很多類似的代碼可以隨時待命。我的第一個 GAN 實現主要是來自 https://arxiv.org/pdf/1302.4389.pdf 的 MNIST 分類器的複製粘貼。

Jason Rotella:GAN 能用於主題建模嗎?現在除了生成模型,GAN 框架還能擴展應用到其它領域嗎?

Ian Goodfellow:我猜測是可以用於主題建模的,但目前還沒聽說在該領域有哪些具體研究。一個主要的挑戰即文本建模,文本是由離散的字元、標記或單片語成的,但是 GAN 需要通過生成器的輸出計算梯度,因此它只能用於連續型的輸出。當然還是有可能使用對抗自編碼器或 AVB 等模型,因此生成器實際上或是一個編碼器,並能輸出連續的編碼。這對於文本建模可能是非常有用的屬性,因為它給出了表徵主題的分布。

Rafa Ronaldo:我在 NIPS 會議上的理論/實踐研討會上發表了關於 GAN 的演講(我還參加了 LLD 研討會上的演講 - GAN 創建新數據)。談話結束時,Sanjeev Arora 問了你一些問題,就像 GAN 框架可能不足以學習分布,需要添加更多元素。我沒有完全理解這個問題,你能否解釋為什麼 GAN 框架不足以學習分布,需要添加哪些元素以及為什麼 GAN 在圖像生成任務中如此順利?感謝 AMA,也感謝您的在線講座和教程,這對於像我這樣的人來說非常有幫助。

Ian Goodfellow:說實話,我不記得 Sanjeev Arora 在這次演講中究竟是怎麼問的,我也不明白他的工作需要什麼詳細的答案。

我認為他擔心計數問題(也可能我認為是錯的):神經網路參數空間中沒有足夠的不同點來表示輸入上的所有不同概率分布。如果我正確地表達了他的關注,這將適用於任何類型的神經網路生成器,而不僅僅是 GAN,並且有一些出路:可能在現實生活中,我們不會遇到任意的概率分布,而只是一些子集非常結構化的,也許我們在現實生活中遇到的分布結構與神經網路可以有效表示的分布結構一致。

現在深度學習和 GAN 有很多不同的話題,我很難跟隨所有這些話題,我很樂意承認這是我所不擅長的,所以很可能我錯誤地表達了 Sanjeev 的工作。

Greg McInnes:在基因組學研究中,有用到 GAN 的機會嗎?

Ian Goodfellow:我對基因組學沒有太多的了解,但我認為用於半監督學習的 GAN 模型可能會對該領域有非常重要的作用。因為未標註的基因遠要比標註的基因多,所以半監督學習有助於利用大量未標記數據從少數標註樣本中學習。

Tim Salimans 為此也開發了一些方法,這些方法在 MNIST 和 SVHN 等基準測試中非常高效(https://arxiv.org/abs/1606.03498)。

但值得注意的是,到目前為止,我們發現其他半監督方法實際上並不能很好地完成任務(https://openreview.net/forum?id=ByCZsFyPf),半監督 GAN 尚未完成測試。

Kevin Hsu:我看到你的推特發布評論 StarGAN。您提到 StarGAN 可以在沒有監督的情況下在多個域之間進行翻譯。據我所知,雖然 StarGAN 不需要配對數據,但仍需要標記數據來訓練條件圖像生成過程。我很困惑,為什麼你提到它是「沒有監督」。謝謝!

Ian Goodfellow:我的「沒有監督」意思是不需要搭檔來監督翻譯。

Nicholas Teague:我想知道你是否已經成功地將 GAN 應用於圖像或視頻以外的領域。

Ian Goodfellow:這個鏈接是我們近來將 GAN 用於文本數據的論文: https://arxiv.org/abs/1801.07736。

Gon?alo Abreu:我認為這個概念真的很巧妙。關於結論的第 4 點:您如何建議我們只使用 GAN 進行特徵提取?我的意思是:我們如何確保由 GAN 架構產生的表示是輸入數據底層結構的有用表示呢。如果網路有足夠的容量,那麼沒有什麼能阻止生成器學習如何「模仿」輸入數據,是嗎?

「有可能有兩個不同的 GAN,其中一個具有更好的得分,但是在作為外部分類器時,從鑒別器中抽取特徵要更差或更低效。」這種陳述對嗎?

Ian Goodfellow:你說的那個陳述是對的,假設你有一個完美的生成器,那麼對於所有的 x,P_generator(x)=P_data(x)。那麼最優判別器 D*(x)= P_data(x)/(P_generator(x)+P_data(x))=1/2,這個判別器的特徵可能完全沒用,因為我們可以將判別器的權重設為 0 而達到該效果。

對於特徵提取,一種方法是使用判別器隱藏層的特徵,另一種方法就如同自編碼器一樣單獨學習一個獨立的編碼器,以下是一些關於 GAN 編碼器的論文:

對抗性學習推斷:https://arxiv.org/abs/1606.00704

BiGAN:https://arxiv.org/abs/1605.09782

對抗性自編碼器:https://arxiv.org/abs/1511.05644

對抗性變分貝葉斯:https://arxiv.org/abs/1701.04722

alpha-GAN:https://arxiv.org/abs/1706.04987

關於「如果網路有足夠的容量,那麼就沒有什麼能阻止生成器學習如何「模仿」輸入數據,是嗎?」這個問題,我的回答是:是的,這幾乎與所有生成模型的點估計量都有關。如果最大限度地提高無限容量密度函數的可能性,則應該只記住訓練數據。在實踐中,GAN 似乎在配合不足方面比在過度配合方面更麻煩。這可能是因為我們不知道如何很好地平衡遊戲。

「關於基於解碼器的生成模型的定量分析」文中發現,GAN 為列車和測試集分配相似的可能性。當然,可能性很低,因為 GAN 沒有經過最大化可能性的訓練,並且取決於 z 的維度?,他們甚至可以為所有訓練數據分配零可能性。論文地址:https://arxiv.org/abs/1611.04273

「GAN 是否真的學會了這種分布?」一項實證研究發現 GAN 學習生成的樣本比真正的基礎數據生成分布少得多,但比訓練數據更多樣化。論文地址:https://arxiv.org/pdf/1706.08224.pdf

雷鋒網註:編譯原文出處:https://fermatslibrary.com/arxiv_comments?url=https%3A%2F%2Farxiv.org%2Fpdf%2F1406.2661.pdf

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

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


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

SEC調查ICO,加大對虛擬貨幣融資監管力度
大陸汽車副總裁Peter Rankl:動力總成電氣化的最新解決方案

TAG:雷鋒網 |