摘要:但是在傳統的機器學習中,特征和算法都是人工定義的。傳統的深度學習中,是由人來決定要解決什么問題,人來決定用什么目標函數做評估。
隨著柯潔與AlphaGo結束以后,大家是不是對人工智能的底層奧秘越來越有興趣?
深度學習已經在圖像分類、檢測等諸多領域取得了突破性的成績。但是它也存在一些問題。
首先,它與傳統的機器學習方法一樣,通常假設訓練數據與測試數據服從同樣的分布,或者是在訓練數據上的預測結果與在測試數據上的預測結果服從同樣的分布,而實際上這兩者存在一定的偏差。另一個問題是深度學習的模型(比如卷積神經網絡)有時候并不能很好地學到訓練數據中的一些特征。深度對抗學習(deep adversarial learning)就是為了解決上述問題而被提出的一種方法。
學習的過程可以看做是我們要得到一個模型,為了建模真實的數據分布,生成器學習生成實際的數據樣本,而鑒別器學習確定這些樣本是否是真實的。如果這個鑒別器的水平很高,而它無法分清它們之間的區別,那么就說明我們需要的模型具有很好的表達或者預測能力。
本文回顧了從傳統機器學習,到wGAN的邏輯發展過程,讓讀者對歷史發展有個清晰的認識,并提供了wGAN的代碼實現,是一篇很好的學習wGAN的入門材料。
對抗學習是深度學習中最火的一個領域。網站arxiv-sanity的最近最流行的研究領域列表上,許多都是對抗學習,本文同樣也是一篇講對抗學習的文章。
?
在這篇文章中,我們主要學習以下三個方面的內容:
為什么我們應該關注對抗學習
生成對抗網絡GANs(General Adversarial Networks) 和 它面臨的挑戰
能解決這些挑戰的Wasserstein GAN和 改進的穩定訓練Wasserstein GAN的方法,還包括了代碼實現。
從傳統機器學習到深度學習
我在UIUC上“模擬信號與系統”課程的時候,教授在一開始就信誓旦旦的說:“這個課程將是你們上的最重要的課程,抽象是工程里面最重要的概念。”?
康奈爾大學的課程里面也有“解決復雜問題的方法就是抽象,也就是隱藏細節信息。抽象屏蔽掉無用的細節。為了設計一個復雜系統,你必須找出哪些是你想暴露給其他人的,哪些是你想隱藏起來的。暴露給其他人的部分,其他人可以進行設計。暴露的部分就是抽象。”
?
深度神經網絡中的每層就是數據的抽象表示,層和層之間有依賴關系,最終形成一個層次結構。每一層都是上一層的一個更高級的抽象。給定一組原始數據和要解決的問題,然后定義一個目標函數來評估網絡輸出的答案,最終神經網絡就能通過學習到一個最優的解。
?
因此,特征是神經網絡自己學習得來的。但是在傳統的機器學習中,特征和算法都是人工定義的。
?
現在的數據的特征、結構、模式都是網絡自我學習的,而不是像傳統機器學習那樣人工定義。所以以前無法實現的AI的算法現在可行了,并且在某些方面超過了人類。
?
從深度學習到深度對抗學習
很多年前,我學習過拳擊。我的拳擊教練不讓新手問問題,說新手不知道問什么問題,連問的問題都是錯誤的,會得到沒用的答案,會專注于錯誤的東西,越學越錯。
?
Robert Half說過“會問問題和會解題一樣,都需要一定的水平”
對抗學習的奇妙之處在于所有的東西都是從數據中學習得到的,包括要解決的問題,最終的答案以及評估答案的標準—目標函數。傳統的深度學習中,是由人來決定要解決什么問題,人來決定用什么目標函數做評估。
?
Deep‘ Mind公司用AlphaGo證明了深度對抗學習的厲害之處。在圍棋比賽中,AlphaGo可以自己創造新的下法和招數。這開創了圍棋的新紀元,突破了過去幾千年的一個瓶頸,達到了新的高度。AlphaGo能做到這點是因為它能自己給自己打分,可以隨時計算當前的局勢的分數,而不用預先人工定義和預編程。這樣,AlphaGo自己和自己下了幾百萬局的比賽。聽起來很像對抗學習吧?
?
AlphaGo不僅僅是暴力破解,而是真正掌握了圍棋比賽,學到了圍棋的招式。之所以這樣,是因為它沒有被人類束縛,既沒有得到人類先驗的輸入,也不受我們對問題域理解的局限。無法想象,當我們把這些成果應用到實際生活中,AI會如何改造農業、醫療等等。但是這一定會發生。
生成對抗網絡GAN
Richard Feynman說“如果要真正理解一個東西,我們必須要能夠把它創造出來。”
正是這句話激勵著我開始學習GANs。GANs的訓練過程就是兩個神經網絡自己在作對抗,通過對抗不斷的學習。當然學習是在原始數據的基礎上學習。
生成器通過對原始數據的分布進行建模,學習如何生成近似數據;而判別器用來判斷數據是生成器生成的數據還是原始的真實的數據。這樣生成器就能重新創造出原始數據的近似。我們相信為了能夠理解一個東西,我們要能重新創造這個東西,所以GAN是非常有價值的,我們的努力也是值得的。
如果我們能成功使得GAN達到納什均衡(完美的判別器也不能識別數據到底是真實數據還是生成數據),我們就能夠把這個成果應用到幾乎任何事情上,并且還能夠有較好的性能。
存在的問題
GANs很難優化,并且訓練過程不穩定。網絡結構必須設計的非常好,生成器和判別器之間必須有個很好的協調,才能使得訓練過程收斂。這些問題中,最顯著的就是失去樣本多樣性(mode dropping, 即生成器只從很小一部分的數據集中學習)。還有由于GANs的學習曲線基本沒什么意義,因此很難調試。
?
雖然如此,仍然通過GANs得到了較先進的一些成果。但是就是因為這些問題,GANs的應用被限制住了。
解決方法
Alex J. Champandard說“一個月內,傳統的訓練GANs的方法會被當做黑暗時代的方法”。
?
GANs的訓練目標是生成數據和真實數據的分布的距離差的最小化。
最開始使用的是Jensen-Shannon散度。但是,Wasserstein GAN(wGAN)文章在理論和實際兩個方面,都證明了最小化推土距離EMD(Earth Mover’s distance)才是解決上述問題的最優方法。當然在實際計算中,由于EMD的計算量過大,因此使用的是EMD的合理的近似值。
為了使得近似值有效,wGAN在判別器(在wGAN中使用了critic一詞,和GAN中的discriminator是同一個意思)中使用了權重剪裁(weight clipping)。但是正是權重剪裁導致了上述的問題。
?
后來對wGAN的訓練方法進行了改進,它通過在判別器引入梯度懲罰(gradient penalty)使得訓練穩定。梯度懲罰只要簡單的加到總損失函數中的Wasserstein距離就可以了。
?
歷史上第一次,終于可以訓練GAN而幾乎不用超參數調優了。其中包括了101層的殘差網絡和基于離散數據的語言模型。
?
Wasserstein距離的一個優勢就是當判別器改進的時候,生成器能收到改進的梯度。但是在使用Jensen-Shannon散度的時候,當判別器改進的時候,產生了梯度消失,生成器無法學習改進。這個也是產生訓練不穩定的主要原因。
?
如果想對這個理論有深入理解,我建議讀一下下面兩個文章:
Wasserstein GAN
Wasserstein GANs的改進的訓練方法
?
隨著新的目標函數的引入,我看待GANs的方式也發生了變化:
?
傳統的GAN(Jensen-Shannon散度)下,生成器和判別器是競爭關系,如下圖。
在wGAN(Wasserstein距離)下,生成器和判別器是協作關系,如下圖。
代碼實現
結論
對抗學習的網絡不受我們對問題域理解的任何限制,沒有任何先驗知識,網絡就是從數據中學習。
商業智能與數據分析群
興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識
QQ群:81035754
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4564.html
摘要:月日至日,由麥思博主辦的第屆軟件工作坊在深圳華僑城洲際大酒店盛大召開,位來自互聯網行業的一線大咖與超過位中高層技術管理精英匯聚交流,共同探討最前沿技術熱點與技術思維。軟件工作坊的每一屆舉辦在技術交流案例分析達成共識上都取得了豐碩的成果。 6月24日至25日,由麥思博(msup)主辦的第35屆MPD軟件工作坊在深圳華僑城洲際大酒店盛大召開,25位來自互聯網行業的一線大咖與超過500位中高...
摘要:前面兩個期望的采樣我們都熟悉,第一個期望是從真樣本集里面采,第二個期望是從生成器的噪聲輸入分布采樣后,再由生成器映射到樣本空間。 Wasserstein GAN進展:從weight clipping到gradient penalty,更加先進的Lipschitz限制手法前段時間,Wasserstein ?GAN以其精巧的理論分析、簡單至極的算法實現、出色的實驗效果,在GAN研究圈內掀起了一陣...
摘要:隨后深度學習的研究大放異彩,廣泛應用在了圖像處理和語音識別領域。比如的學生就用深度學習算法贏得年的。深度學習和人工智能的春天離人工智能最近的互聯網公司敏銳嗅到了這一機遇。 多倫多大學計算機系教授Geoffrey Hinton是Deep Learning的開山鼻祖,我們來講講他的故事。他有個傳奇的姑姑不過先來說說他姑姑吧,他姑姑Joan Hinton是一個與中國有關的具有傳奇經歷的人物,中文名...
閱讀 2350·2021-11-25 09:43
閱讀 2864·2021-11-24 09:39
閱讀 2925·2019-08-30 11:10
閱讀 1130·2019-08-29 16:34
閱讀 595·2019-08-29 13:25
閱讀 3358·2019-08-29 11:21
閱讀 2861·2019-08-26 11:39
閱讀 2394·2019-08-26 11:34