本文是谷歌大腦工程師Eric Jiang的博文,結(jié)合當(dāng)前監(jiān)督、無監(jiān)督和強化學(xué)習(xí)進展,談了他衡量機器學(xué)習(xí)研究工作的框架:①表現(xiàn)力(Expressivity)、②可訓(xùn)練性(Trainability)和/或③泛化能力(Generalization)。這篇文章可能是本年度最佳機器學(xué)習(xí)技術(shù)及研究總結(jié)之一,值得學(xué)習(xí)和參考。
當(dāng)我閱讀機器學(xué)習(xí)論文時,我會問自己,這篇論文的貢獻是否屬于:1)表現(xiàn)力(Expressivity)、2)可訓(xùn)練性(Trainability),和/或3)泛化能力(Generalization)。我從Google Brain的同事Jascha Sohl-Dickstein那里學(xué)到了這個分類,并且在這篇文章中介紹了這個術(shù)語。我發(fā)現(xiàn)這種分類有效地考慮了個別研究論文(特別是在理論方面)是如何將AI研究的子領(lǐng)域(例如機器人、生成模型、NLP)聯(lián)系在一起,成為一個大的圖景的。
在這篇博文中,我將討論這些概念如何與當(dāng)前(截止2017年11月)的監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)的機器學(xué)習(xí)研究相結(jié)合。我認(rèn)為泛化由“弱泛化”和“強泛化”兩大類構(gòu)成,我將分別討論它們。這個表格總結(jié)了我對事情的看法:
我非常感謝Jascha Sohl-Dickstein和Ben Poole為這篇文章提供的反饋和編輯,還感謝Marcin Moczulski對RNN可訓(xùn)練性給出的有益討論。
這篇文章涵蓋了廣泛的研究,在很大程度上以我比較個人的觀點在評判。因此,需要強調(diào),文中任何事實錯誤都是我自己的,并不反映我的同事和校對者的意見。如果你有想討論的問題和建議,請隨時在評論中提供反饋意見或發(fā)送電子郵件——我寫這篇文章也是為了學(xué)習(xí)。
表現(xiàn)力:這個模型可以進行什么計算?表現(xiàn)力(Expressivity)體現(xiàn)了一個可以被參數(shù)函數(shù)(例如神經(jīng)網(wǎng)絡(luò))計算的函數(shù)的復(fù)雜性。深度神經(jīng)網(wǎng)絡(luò)隨著深度的增加,表現(xiàn)力呈指數(shù)級增長,這意味著今天大家正在研究的大多數(shù)監(jiān)督、無監(jiān)督和強化學(xué)習(xí)問題,用中等規(guī)模的神經(jīng)網(wǎng)絡(luò)就可以充分表現(xiàn)[2]。其中一個證據(jù)就是深度神經(jīng)網(wǎng)絡(luò)能夠記憶非常大的數(shù)據(jù)集。
神經(jīng)網(wǎng)絡(luò)可以表現(xiàn)各種各樣的東西:連續(xù)的、復(fù)雜的、離散的,甚至是隨機的變量。隨著過去幾年對生成建模和貝葉斯深度學(xué)習(xí)的研究,深度神經(jīng)網(wǎng)絡(luò)已經(jīng)被用來構(gòu)造概率神經(jīng)網(wǎng)絡(luò),并且產(chǎn)生了令人難以置信的生成建模結(jié)果。
生成建模的最新突破表明了神經(jīng)網(wǎng)絡(luò)強大的表現(xiàn)力:神經(jīng)網(wǎng)絡(luò)可以輸出與真實數(shù)據(jù)幾乎無法區(qū)分的極其復(fù)雜的數(shù)據(jù)流形(音頻、圖像)。以下是NVIDIA研究人員提出的最近GAN架構(gòu)的輸出:
這個結(jié)果還不算完美(注意扭曲的背景),但是距離最終目標(biāo)也不遠(yuǎn)了。類似地,在音頻合成任務(wù)中,最新的WaveNet模型生成的音頻樣本,聽起來與真實的人說話無異。
無監(jiān)督學(xué)習(xí)不限于生成式建模。有些研究人員,比如Yann LeCun,將無監(jiān)督學(xué)習(xí)更名為“預(yù)測學(xué)習(xí)”,模型可以推斷過去、估算現(xiàn)在或預(yù)測未來。然而,由于許多無監(jiān)督學(xué)習(xí)集中在預(yù)測極其復(fù)雜的聯(lián)合分布(過去或未來的圖像、音頻),我認(rèn)為生成建模是衡量無監(jiān)督領(lǐng)域表現(xiàn)力一個相當(dāng)好的基準(zhǔn)。
神經(jīng)網(wǎng)絡(luò)似乎也是足以表現(xiàn)強化學(xué)習(xí)的。很小的網(wǎng)絡(luò)(2個卷積層和2個全連接層)就足夠強大,能夠解決Atari和Mujoco控制任務(wù)(雖然其可訓(xùn)練性還有許多不足之處,這個我們稍后會說到)。
單獨看,表現(xiàn)力(expressivity)本身并不是一個很有趣的問題,我們可以通過在網(wǎng)絡(luò)中增加更多的層、更多的連通性和其他一些方法來增強表現(xiàn)力。我們現(xiàn)在面臨的挑戰(zhàn)是,在控制訓(xùn)練難度不會太高的前提下,使神經(jīng)網(wǎng)絡(luò)充分表現(xiàn)出足夠多的訓(xùn)練和測試數(shù)據(jù)集。例如,就算深度全連接網(wǎng)絡(luò)有足夠的能力來記憶訓(xùn)練集,但似乎還是需要二維卷積來使圖像分類模型能夠泛化。
表現(xiàn)力是最容易處理的問題(增加更多層就好?。瑫r也是最神秘的:我們沒有很好的方法來衡量一個給定的任務(wù)需要多少(和什么樣的)表現(xiàn)力。什么樣的問題需要比我們今天使用的神經(jīng)網(wǎng)絡(luò)更大數(shù)量級的神經(jīng)網(wǎng)絡(luò)?為什么這些問題需要這么大量的計算?目前的神經(jīng)網(wǎng)絡(luò)是否有足夠的表現(xiàn)力來實現(xiàn)類似于人類的智能?解決泛化問題是否需要表現(xiàn)力超級強大的模型?
大腦的神經(jīng)元數(shù)量(1e11)比大型神經(jīng)網(wǎng)絡(luò)(Inception-ResNet-V2具有大約25e6的ReLU單元)的要多很多個數(shù)量級。而且,ReLU單元根本無法比擬人類神經(jīng)元的復(fù)雜度。一個單一的生物神經(jīng)元及其樹突、軸突和各種神經(jīng)遞質(zhì),具有令人難以置信的表現(xiàn)力。蝗蟲在一個神經(jīng)元中實現(xiàn)了碰撞檢測系統(tǒng),比我們建造的任何無人機系統(tǒng)都飛得更好。這種表現(xiàn)力來自哪里?要實現(xiàn)人類智能,神經(jīng)網(wǎng)絡(luò)需要多強的表現(xiàn)力?
可訓(xùn)練性:給定一個充分表達的模型空間,我們能找到一個好的模型嗎?機器學(xué)習(xí)模型是任何能夠從數(shù)據(jù)中學(xué)習(xí)到函數(shù)的計算機程序。在“學(xué)習(xí)”期間,我們從一個可能非常巨大的模型空間中,尋找一個比較好的,能夠利用數(shù)據(jù)中的知識做出決策的模型。這個搜索過程通常被定義為解決模型空間的優(yōu)化問題。
優(yōu)化的幾種類型
一種常見的方法,特別是在深度學(xué)習(xí)中,是定義一些標(biāo)量度量來評估模型的“優(yōu)點”。然后使用數(shù)值優(yōu)化技術(shù),將這些“優(yōu)點”最大化(或“最小化不良”)。
一個具體的例子:最小化平均交叉熵誤差是訓(xùn)練神經(jīng)網(wǎng)絡(luò)分類圖像的標(biāo)準(zhǔn)方法。這樣做的目的是,當(dāng)模型x數(shù)據(jù)集在交叉熵?fù)p失最小的時候,它做的就是我們真正想要的,比如以一定的精度正確地分類圖像,并在測試圖像上進行召回。通常,評估指標(biāo)是不能直接優(yōu)化的(最顯而易見的原因是我們無法訪問測試數(shù)據(jù)集),而像訓(xùn)練集上的交叉熵這樣的替代函數(shù)可以。
尋找好的模型(也即訓(xùn)練)最終等同于優(yōu)化——事實就是如此!但是……優(yōu)化的目標(biāo)有時難以確定。監(jiān)督學(xué)習(xí)中,一個典型場景是圖像下采樣(down-sampling),在這種情況下,很難定義一個標(biāo)量的量,讓這個量與人類從特定的下采樣算法中感知“perceptual loss”的方式完全一致。類似的,超分辨率和圖像合成也很困難,因為我們很難將“優(yōu)點/好”作為最大化的目標(biāo)。想象一下,寫一個函數(shù),判斷一張圖像“逼真(photoreal)”的程度!實際上,關(guān)于如何衡量生成模型(用于圖像,音頻)的質(zhì)量,爭論一直在激化。
近年來,解決這個問題最流行的技術(shù)是一種協(xié)同適應(yīng)方法(co-adaptation approach),這種方法將最優(yōu)化問題轉(zhuǎn)換為求解兩個非平穩(wěn)分布之間的平衡點,而這些非平穩(wěn)分布是協(xié)同演化的(in tandem)[3]。用一個直觀的比喻來解釋為什么這樣做是“自然的”,可以想一想掠食者物種和被捕獵的物種之間的生態(tài)進化過程。起初,掠食者變聰明了,所以可以有效地捕獲獵物。然后,獵物也變得更聰明,從而逃避捕獵者。這樣,物種協(xié)同進化,最終的結(jié)果是兩個物種都變得更加聰明。
生成對抗網(wǎng)絡(luò)也按照類似的原理工作,通過這種方法,避開了明確定義感知損失目標(biāo)(perceptual loss objectives)。同樣,強化學(xué)習(xí)中的自我對弈(competitive self-play)也運用這個原則來學(xué)習(xí)大量豐富的行為動作。雖然優(yōu)化目標(biāo)現(xiàn)在已經(jīng)被隱含地指定,但它仍然是一個優(yōu)化問題,機器學(xué)習(xí)從業(yè)者可以重新使用熟悉的工具,如深度神經(jīng)網(wǎng)絡(luò)和SGD。
演化策略通常將優(yōu)化視為一個模擬的過程(optimization-as-a-simulation)。用戶在模型總體(a population of models)上指定一個動態(tài)系統(tǒng),并且在模擬的每個時間步長,根據(jù)動態(tài)系統(tǒng)的規(guī)則更新這個總體。模型可能會也可能不會相互影響。模擬進行下去,希望系統(tǒng)的動力學(xué)最終能夠誘導(dǎo)這個總體匯聚成“好的模型”。
要了解強化學(xué)習(xí)背景下的演化策略(ES),你可以參閱David Ha的“A Visual Guide to Evolution Strategies),“參考文獻和進一步閱讀”部分非常棒!
當(dāng)前研究及工作總結(jié)
前饋網(wǎng)絡(luò)和監(jiān)督學(xué)習(xí)中遇到的“直接”目標(biāo),其可訓(xùn)練性(Trainability)基本上已經(jīng)解決了(我從經(jīng)驗上得出這個結(jié)論,不是理論上的總結(jié))。2015年發(fā)布的一些突破性工作(Batch Norm、ResNets、Good Init),今天已經(jīng)被廣泛用于前饋網(wǎng)絡(luò)的訓(xùn)練。實際上,具有數(shù)百層的深度網(wǎng)絡(luò)現(xiàn)在可以將大規(guī)模分類數(shù)據(jù)集的訓(xùn)練誤差最小化為零。
另一方面,RNN仍然非常棘手,但研究界正在取得很大的進展,將LSTM放入一個復(fù)雜的機器人策略中并期望它“正常工作”已經(jīng)不再是一件瘋狂的事情。想一想也挺不可思議,就在2014年,還沒有多少人對RNN的可訓(xùn)練性抱有信心,在過去的十年中,有很多工作表明RNN十分難以訓(xùn)練。有證據(jù)表明,大量不同的RNN架構(gòu),其表現(xiàn)力是同等的,任何性能上的差異都是由于某些架構(gòu)比其他架構(gòu)更容易優(yōu)化導(dǎo)致的[4]。
在無監(jiān)督學(xué)習(xí)中,模型的輸出通常(但不總是)更大——例如,1024 x 1024像素,巨大的語音和文本序列。因此很不幸,無監(jiān)督模型也更難以訓(xùn)練訓(xùn)練。
2017年的一個重大突破,就是GAN現(xiàn)在更容易訓(xùn)練了。最常見的改進方法,是對原來Jensen-Shannon散度目標(biāo)的簡單修改:最小二乘法,absolute deviation with margin,還有Wasserstein距離。NVIDIA最近的工作擴展了基于Wasserstein的GAN,使得模型對BatchNorm參數(shù)、架構(gòu)選擇等各種超參數(shù)的敏感度降低。穩(wěn)定性對于實際和工業(yè)應(yīng)用來說是非常重要的——正因為有了穩(wěn)定性,才能使人相信這種方法將與未來的研究思路或應(yīng)用兼容??傊?,這些結(jié)果令人興奮,因為它們表明生成器神經(jīng)網(wǎng)絡(luò)具有足夠的表現(xiàn)力生成正確的圖像,阻止它們的瓶頸只是可訓(xùn)練性的問題。可訓(xùn)練性可能仍然是一個瓶頸——不幸的是,對于神經(jīng)網(wǎng)絡(luò)而言,我們很難判斷究竟是模型的表現(xiàn)力不夠,還是我們沒有把它訓(xùn)練好。
由于高方差的蒙特卡洛梯度估計量,神經(jīng)網(wǎng)絡(luò)中,潛在離散變量推理(latent discrete variable inference)也很難訓(xùn)練。然而近年來,從GAN到語言建模,到記憶增強神經(jīng)網(wǎng)絡(luò),再到強化學(xué)習(xí),各種架構(gòu)都開始重新得到關(guān)注。從表現(xiàn)力的角度看,離散表示非常有用,而且我們現(xiàn)在也能夠相當(dāng)可靠地進行訓(xùn)練,這是非常好的。
不幸的是,深度強化學(xué)習(xí)在純粹的可訓(xùn)練性方面仍然相當(dāng)落后,更不用說泛化方面的能力了。對于那些時間步長超過1的環(huán)境,我們正在尋找一個模型,在推理時進行優(yōu)化。有一個內(nèi)部優(yōu)化的過程,其中模型推理得出最優(yōu)的控制,而外部的一個優(yōu)化循環(huán)則只使用智能體看到的數(shù)據(jù)庫,學(xué)習(xí)這個最佳模型。
最近,我為連續(xù)機器人控制任務(wù)增加了一個額外的維度,讓我的強化學(xué)習(xí)算法性能從>80%下降到了10%。強化學(xué)習(xí)不僅訓(xùn)練很難,而且也不穩(wěn)定!因為優(yōu)化隨機性太強,我們甚至不能用不同的隨機種子獲得相同的結(jié)果,因此我們的策略是報告多次試驗中的獎勵曲線分布,使用不同的隨機種子。相同的算法,由于部署不同,在不同的環(huán)境中表現(xiàn)也不同,因此文獻中報道的RL分?jǐn)?shù)時要用批判性的眼光去審視。
強化學(xué)習(xí)中的可訓(xùn)練性問題仍然沒有得到解決,我們?nèi)匀徊荒苌晕U展問題一點點,然后期望相同的學(xué)習(xí)過程10次都做同樣的事情。
如果我們把RL看作一個純粹的優(yōu)化問題(之后再去擔(dān)心泛化和復(fù)雜的任務(wù)),情況仍然十分棘手。假設(shè)有一個環(huán)境,只有在episode結(jié)束的時候才能得到一個稀疏的獎勵(例如,照看孩子,在父母回家之后得到報酬)。動作的數(shù)量(和環(huán)境的相應(yīng)結(jié)果)隨著事件的持續(xù)時間呈指數(shù)增長,但是這些動作序列中只有少數(shù)與成功對應(yīng)。
因此,在模型優(yōu)化范圍中的任何點估計策略梯度,需要在獲得有用的學(xué)習(xí)信號之前,在動作空間中大量的樣本。這就好比要計算概率分布的蒙特卡洛expectation,但(在所有動作序列上)質(zhì)量卻集中在delta分布上。當(dāng)proposal分布與獎勵分布之間沒有重疊時,無論收集多少樣本,有限樣本蒙特卡洛策略梯度估計根本無法工作。
此外,如果數(shù)據(jù)分布是非平穩(wěn)的(如帶有replay buffer的off-policy學(xué)習(xí)算法的情況),那么收集“不良數(shù)據(jù)”會在外部優(yōu)化過程中引入不穩(wěn)定的反饋環(huán)路。
從優(yōu)化的角度而不是蒙特卡洛估計的角度看,也是相同的:在狀態(tài)空間中沒有任何先驗(例如對世界的理解或向智能體提供的明確指示),整個優(yōu)化看起來就像“瑞士奶酪”——一個個convex optima“小孔”周圍是大量的參數(shù)空間平臺(plateaus),在這里策略梯度毫無用處。這意味著整個模型空間基本上沒有信息(因為學(xué)習(xí)信號在整個模型空間中是非常均勻的,非零區(qū)域非常?。?。
如果不開發(fā)出可以學(xué)習(xí)的良好表征(representation),我們還不如就用隨機種子和隨機策略循環(huán),直到發(fā)現(xiàn)一個剛剛好落在這些奶酪洞里的好模型。事實上,強化學(xué)習(xí)基線表明,我們的優(yōu)化格局可能看起來就是這樣。
我相信,從純粹的優(yōu)化角度來看,像Atari和Mujoco這樣的RL基準(zhǔn)測試并沒有真正推動機器學(xué)習(xí)的極限,只是為了解決單一的單策略(monolithic policy)問題,可以說是在相當(dāng)無菌的環(huán)境下優(yōu)化性能。這種情況下,模型“泛化”的選擇壓力很小,使得問題成為一個純粹的優(yōu)化問題,而不是真正的困難ML問題。
并不是說我喜歡用泛化能力來將強化學(xué)習(xí)的可訓(xùn)練性問題復(fù)雜化(肯定不容易調(diào)試?。?,但是我認(rèn)為學(xué)習(xí)理解環(huán)境和理解任務(wù)是強化學(xué)習(xí)處理現(xiàn)實世界機器人問題的唯一途徑。
將這個與監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)相比,無論我們處于模型搜索空間的哪個位置,我們都可以方便地獲得學(xué)習(xí)信號。Minibatch梯度的proposal分布與梯度分布非零重疊。如果我們使用小批量大小為1的SGD,那么用有用的學(xué)習(xí)信號對轉(zhuǎn)換進行采樣的概率最差為1/N,其中N是數(shù)據(jù)集的大小。我們可以通過簡單地拋出大量計算和數(shù)據(jù)來解決問題,從而使我們的方法成為一個好的解決方案。此外,提升較低層的感知泛化,通過在低級特征上的“bootstrapping”,可能實際上具有減少方差的效果。
為了解決高維和復(fù)雜的RL問題,在處理數(shù)值優(yōu)化問題之前,必須考慮泛化和一般的感知理解。我們需要達到每個數(shù)據(jù)點為RL算法提供非零比特數(shù)的點,并且在任務(wù)非常復(fù)雜時(沒有收集指數(shù)級的更多數(shù)據(jù)),可以輕松實現(xiàn)重要性采樣梯度。只有這樣,才能合理地假設(shè)我們能夠成功地通過暴力計算解決問題。
從示范學(xué)習(xí)(demonstration),模仿學(xué)習(xí)(imitation learning),逆向強化學(xué)習(xí)(inverse reinforcement learning)以及與自然語言指令的交互中學(xué)習(xí),可能會提供一些方法來快速將起始策略(starting policy)引入到獲取某些學(xué)習(xí)信號的點上,或者以這樣一種方式來塑造搜索空間。例如,環(huán)境提供0的獎勵,但是觀察產(chǎn)生一些有助于模型的規(guī)劃模塊得出歸納偏向(inductive biases)的信息。
總而言之,在可訓(xùn)練性這個問題上:監(jiān)督學(xué)習(xí)已經(jīng)很容易了;無監(jiān)督學(xué)習(xí)還很難,但我們正在努力;強化學(xué)習(xí)則是非常糟糕。
泛化:機器學(xué)習(xí)本身的核心泛化是三個問題中最深刻的問題,也是機器學(xué)習(xí)本身的核心。簡單說,泛化就是在訓(xùn)練數(shù)據(jù)集上訓(xùn)練好的模型,在測試數(shù)據(jù)集上表現(xiàn)如何。
在討論泛化時有兩種不同的場景:1)訓(xùn)練和測試數(shù)據(jù)是從相同的分布中抽取的(我們只需要從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)這個分布),或者2)訓(xùn)練和測試數(shù)據(jù)來自不同的分布(我們需要從訓(xùn)練集推廣到測試分布)。這兩種情況分別對應(yīng)于我下文所說的(1)“弱泛化”和(2)“強泛化”。這種對泛化進行分類的方式也可以被稱為“內(nèi)插與外推”(interpolation vs. extrapolation),或者“模型的健壯性vs對數(shù)據(jù)的理解”(robustness vs. understanding)。
弱泛化:兩種情況,模型對數(shù)據(jù)分布的小擾動表現(xiàn)有多好?
在“弱泛化”中,我們通常假設(shè)訓(xùn)練和測試數(shù)據(jù)樣本是從相同的分布中抽取的。然而在現(xiàn)實世界中,即使在大樣本范圍內(nèi),訓(xùn)練和測試分布之間幾乎總是有一些差異。
這些差異可能來自傳感器噪聲,環(huán)境光線條件的變化,物體的逐漸磨損和撕裂,照明條件的變化。另一種情況是,對抗樣本可能會產(chǎn)生差異(differences can be generated by an adversary)。因為對抗干擾以人類視覺幾乎不能察覺,所以我們可以將對抗樣本歸入“從相同分布中抽取”。
因此,在實踐中將“弱泛化”作為評估訓(xùn)練分布的“擾動”是有用的:
測試數(shù)據(jù)分布的干擾也可能會導(dǎo)致優(yōu)化的干擾(最低點是最好的)。
事實上,我們預(yù)先不知道測試分布干擾為優(yōu)化帶來了一些困難。如果我們在優(yōu)化訓(xùn)練環(huán)境(藍色曲線左側(cè)的sharp全局最小值)方面過于激進,那么我們就會得到一個對于測試數(shù)據(jù)(紅色曲線上的sharp局部最小值)次優(yōu)的模型。在這里,我們對訓(xùn)練分布或訓(xùn)練數(shù)據(jù)樣本進行了過擬合,并沒有泛化到干擾的測試分布。
“正則化”是我們用來防止過擬合的技術(shù)。由于我們沒有任何關(guān)于測試擾動的先驗信息,所以通常我們所能做的最好的事情就是嘗試訓(xùn)練訓(xùn)練分布的隨機擾動,希望這些擾動覆蓋測試分布。隨機梯度下降,dropout,權(quán)重噪音,激活噪音,數(shù)據(jù)增強,這些都是深度學(xué)習(xí)中常用的正則化算子。在強化學(xué)習(xí)中,隨機化模擬參數(shù)使得訓(xùn)練更加健壯。張馳原在他ICLR 2017演講中指出,正規(guī)化是“任何使訓(xùn)練變得更加困難的事情”(相對于“限制模型容量”的傳統(tǒng)觀點)?;旧?,讓事情更難優(yōu)化,就能提高泛化性能。
這真是令人不安——我們的“泛化”方法相當(dāng)粗糙,相當(dāng)于“optimizer lobotomy”。我們做的基本上就是調(diào)整一下優(yōu)化器,然后希望它對訓(xùn)練過程的干擾剛剛好防止過擬合。而且,提高模型的可訓(xùn)練性讓你以犧牲可泛化性為代價!用這種方式看待(弱)泛化問題,確實讓開展可訓(xùn)練性研究變得復(fù)雜。
但是,如果更好的優(yōu)化器容易造成過擬合,那么我們?nèi)绾谓忉尀槭裁匆恍﹥?yōu)化器似乎減少了訓(xùn)練和測試的誤差?現(xiàn)實情況是,任何優(yōu)化方法和優(yōu)化器的組合,都在:1)找到一個更好的模型區(qū)域和2)過擬合到一個特定的解決方案之間達到平衡,而我們沒有很好的方法來控制這種平衡。
弱泛化最具挑戰(zhàn)性的測試可能是對抗性攻擊,在對抗性攻擊中,擾動來自一個對手“adversary”,它會對數(shù)據(jù)點進行最糟糕的干擾,使你的模型以較高的概率表現(xiàn)不佳。我們?nèi)匀粵]有能夠很好應(yīng)對對抗性攻擊的深度學(xué)習(xí)方法,但我的直覺是對抗性攻擊最終是可以被解決的[5]。
在理論工作方面,有一些研究者在利用信息理論探究神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中,模型從“記憶”數(shù)據(jù)到“壓縮”數(shù)據(jù)。這個理論正在興起,雖然是否有效還存在學(xué)術(shù)爭論。從“記憶”和“壓縮”在直覺上很令人信服,因此這方面值得我們保持關(guān)注。
強泛化:自然流形(Natural Manifold)
在“強泛化”的測試中,模型在測試中使用的數(shù)據(jù)來自與訓(xùn)練數(shù)據(jù)完全不同的分布,但是,這些數(shù)據(jù)的底層manifold(或生成過程)是相同的。
世界上可觀測數(shù)據(jù)的空間可以被描述為一個非常高維的,不斷變化的“自然流形”(natural manifold)。雖然流行非常巨大,但它也是高度結(jié)構(gòu)化的。例如,我們所觀察到的所有數(shù)據(jù)都遵循萬有引力這樣的物理規(guī)律,物體不會出現(xiàn)在物體中,等等。
強泛化可以被認(rèn)為是這種“超級流形”在多大程度上被一個特定的模型所捕獲,這個模型只在流形的數(shù)據(jù)點的十進制采樣上被訓(xùn)練。需要注意的是,圖像分類器并不需要發(fā)現(xiàn)麥克斯韋方程組,它只需要了解與流形數(shù)據(jù)相一致的現(xiàn)實即可。
在ImageNet上訓(xùn)練的現(xiàn)代分類模型在強泛化方面可以說是OK的——在ImageNet上訓(xùn)練的模型確實可以理解像邊緣、輪廓和物體這樣的原理,這也是ImageNet預(yù)訓(xùn)練模型受歡迎的原因。然而,這類模型仍然有大量的改善空間:在ImageNet上訓(xùn)練的分類器還不是普遍適用的,少數(shù)據(jù)學(xué)習(xí)問題仍然沒有得到解決,并且仍然容易受到對抗樣本攻擊。很明顯,我們的模型現(xiàn)在還不能理解它們正在看什么,但這是一個開始 。
類似于弱泛化,測試分布可以以對抗訓(xùn)練和測試分布之間最大差異的方式進行對抗采樣。AlphaGo Zero是我最喜歡的例子:在測試的時候,它觀察來自人類玩家的數(shù)據(jù),與其訓(xùn)練分布完全不同(它以前從未“看見”過人類)。而且,人類正在利用自己所有的智慧,主動把AlphaGo帶到訓(xùn)練數(shù)據(jù)中未被發(fā)現(xiàn)的領(lǐng)域。盡管AlphaGo并沒有明確地理解抽象數(shù)學(xué)、對手心理學(xué)或“綠色”意味著什么,但它清楚地理解了如何這個世界一個狹窄的領(lǐng)域中勝過人類玩家。如果一個人工智能系統(tǒng)對一個熟練的人類對手具有健壯性(robust against a skilled human adversary),那么我認(rèn)為它具有足夠強的泛化能力。
可惜的是,強化學(xué)習(xí)研究在很大程度上忽視了強泛化的問題。大多數(shù)基準(zhǔn)都是靜態(tài)環(huán)境,很少有感知豐富性(例如,類人機器人不了解它周圍的世界或它自己的身體看起來像什么,除了一些與獎勵機制有關(guān)的關(guān)節(jié)位置)。
我真的相信解決泛化是解決強化學(xué)習(xí)可訓(xùn)練性的關(guān)鍵。我們的學(xué)習(xí)系統(tǒng)對世界“了解”越多,獲得學(xué)習(xí)信號的能力就越強,也許這樣需要的樣本數(shù)量也就越少。這就是為什么少數(shù)據(jù)學(xué)習(xí)(few-shot learning),模仿學(xué)習(xí),學(xué)會學(xué)習(xí)(learning-to-learn)很重要:它使我們擺脫了差異性大、信息量低的暴力解決方案。
我認(rèn)為,要實現(xiàn)更強有力的泛化,需要做到兩件事情:
首先,我們需要從觀察和實驗中積極推導(dǎo)世界基本規(guī)律的模型。符號推理和因果推理似乎是成熟的研究主題,但任何一種無監(jiān)督的學(xué)習(xí)都可能有所幫助。這讓我想起人類通過使用邏輯推理系統(tǒng)(數(shù)學(xué)),推導(dǎo)宇宙物理定律來理解天體運動的事情。有趣的是,在哥白尼革命之前,人類最初可能依賴于貝葉斯啟發(fā)式方法(“迷信”),在我們發(fā)現(xiàn)經(jīng)典力學(xué)后,這些“貝葉斯”模型就被拋棄了。
我們基于模型的機器學(xué)習(xí)方法(試圖“預(yù)測”環(huán)境方面的模型)現(xiàn)在還處于“前哥白尼時期”,即它們只是基于非常淺的統(tǒng)計迷信進行內(nèi)插(Interpolation),而不是提出深刻的、一般的原理來解釋和推斷可能在數(shù)百萬光年遠(yuǎn)的地方或未來許多時間步的數(shù)據(jù)。請注意,人類確實不需要對概率理論有一個牢固的把握來推導(dǎo)出確定性的天體力學(xué),而這就引出了一個問題——如果沒有明確的統(tǒng)計框架,是否有辦法進行機器學(xué)習(xí)和因果推斷。
大幅降低復(fù)雜性的一種方法是使我們的學(xué)習(xí)系統(tǒng)更具適應(yīng)性。我們需要超越僅僅優(yōu)化以靜態(tài)方式預(yù)測或行動的模型,我們需要優(yōu)化那些可以實時思考、記憶和學(xué)習(xí)的模型。
其次,我們需要在這個問題上投入足夠多樣化的數(shù)據(jù),促使模型去開發(fā)抽象的表征。只有環(huán)境足夠豐富,正確的表征才能被開發(fā)出來(雖然AlphaGo Zero提出了一個問題,就是智能體真正需要體驗的自然流形有多少)。如果沒有這些限制,這個問題就沒有明確規(guī)定,我們偶然發(fā)現(xiàn)正確的解決方案的機會是零。
我不知道三體文明(參見《三體》一書)演變到如此高的技術(shù)水平,是不是因為他們的生存依賴于他們對復(fù)雜的天體力學(xué)的物理理解。也許我們也需要在我們的Mujoco&Bullet環(huán)境中引入一些天體運動:)
注釋[1] 有些研究領(lǐng)域不適合表現(xiàn)力(Expressivity)、可訓(xùn)練性和泛化能力這一框架。例如,試圖理解為什么一個模型提供了一個特定答案的解釋性研究(interpretability research)。在一些高風(fēng)險領(lǐng)域(比如醫(yī)學(xué)、執(zhí)法)工作的ML客戶和政策制定者需要了解這一點,這也可以闡明泛化問題:如果我們發(fā)現(xiàn)模型提供的診斷方式與與人類醫(yī)學(xué)專業(yè)人士會得出這些結(jié)論有很大的不同,這可能意味著模型在推導(dǎo)過程中存在邊緣情況(edge case),不能泛化。確定模型是否學(xué)到了正確的東西,比減少測試錯誤更加重要!差分隱私(Differential privacy)是對ML模型的另一個約束。但鑒于超出本文范疇,這里就不多講了。
[2] 簡單解釋一下:一個大小為N的全連接層,后跟一個ReLU非線性,可以將一個向量空間切割成N個分段線性塊。添加第二個ReLU層,進一步將空間細(xì)分為N個以上的塊,在輸入空間中產(chǎn)生N^2個分段線性區(qū)域,3個層就是N^3。詳細(xì)分析請參閱Raghu et al. 2017。
[3] 這有時被稱為多級優(yōu)化問題。然而,這意味著一個“外部”和“內(nèi)部”優(yōu)化循環(huán),而適應(yīng)可能在同一時間發(fā)生。例如,異步通信的單個機器上的并行進程,或者在生態(tài)系統(tǒng)中不斷協(xié)同進化的物種。在這些情況下,沒有明確的“外部”和“內(nèi)部”優(yōu)化循環(huán)。
[4] seq2seq with attention實現(xiàn)了SOTA,但是我懷疑它的優(yōu)點是可訓(xùn)練性,而不是表現(xiàn)力或泛化性。也許seq2seq without attention在正確初始化的情況下,也可以做得一樣好。
[5] 這里提供一個對抗對抗性攻擊的方法,雖然并沒有解決強泛化問題,那就是使計算對抗干擾極其昂貴。模型和數(shù)據(jù)部分是黑箱。在推理期間每次調(diào)用模型時,從訓(xùn)練好的模型中隨機挑選一個模型,并將該模型提供給對手,而不告訴他們他們得到了哪個模型。模型彼此獨立訓(xùn)練,甚至可以采用不同的架構(gòu)。這使得計算有限差分梯度很難,因為f(x + dx) - f(x)可以具有任意高的方差。此外,連續(xù)梯度計算之間的梯度仍將具有較高的方差,因為可以對不同的模型對進行采樣。另一種改進方法是使用多模太數(shù)據(jù)(視頻、多視圖multi-view,圖像+聲音),導(dǎo)致在保持輸入的一致性的同時,很難干擾輸入。
-
谷歌
+關(guān)注
關(guān)注
27文章
6231瀏覽量
108148 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134625
原文標(biāo)題:【谷歌工程師機器學(xué)習(xí)干貨總結(jié)】從表現(xiàn)力、可訓(xùn)練性和泛化三方面看2017年進展
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論