丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給隔壁王大喵
發(fā)送

0

Fran?ois Chollet 談深度學(xué)習(xí)的局限性和未來 - 下篇

本文作者: 隔壁王大喵 編輯:楊曉凡 2018-04-23 15:45
導(dǎo)語:梯度下降一定不會(huì)是未來的全部,那到底還會(huì)有什么?

Fran?ois Chollet 談深度學(xué)習(xí)的局限性和未來 - 下篇

雷鋒網(wǎng) AI 科技評(píng)論按:本篇是 Keras 作者 Fran?ois Chollet 撰寫的一篇博客,文中作者結(jié)合自己豐富的開發(fā)經(jīng)驗(yàn)分享一些自己對(duì)深度學(xué)習(xí)未來發(fā)展方向的洞見。另外本篇也是一個(gè)關(guān)于深度學(xué)習(xí)局限性及其未來的兩篇系列文章之二。你可以在這里找到另一篇文章——《Fran?ois Chollet 談深度學(xué)習(xí)的局限性和未來 - 上篇》。雷鋒網(wǎng) AI 科技評(píng)論根據(jù)原文進(jìn)行了編譯。

鑒于我們所了解到的深度神經(jīng)網(wǎng)絡(luò)的工作機(jī)制、局限性以及當(dāng)前的研究狀況,我們是否可以預(yù)見到神經(jīng)網(wǎng)絡(luò)在中期之內(nèi)將如何發(fā)展呢?這里分享一些我的個(gè)人想法。請(qǐng)注意我并沒有能預(yù)測(cè)未來的水晶球,所以我所做的大部分預(yù)測(cè)可能都將失敗。這完全就是一篇預(yù)測(cè)性的帖子,我之所以分享這些推測(cè)并不是希望它們?cè)诓痪玫奈磥頃?huì)被證明是正確的,而是因?yàn)?strong>這些預(yù)測(cè)在當(dāng)前看來非常有趣而且具有實(shí)踐性的。

總的來說,我預(yù)見的幾個(gè)主要方向是:

  • 與通用計(jì)算機(jī)程序更接近的模型,建立在比我們當(dāng)前可微分層要豐富得多的基元之上——這也是我們?nèi)绾?strong>令模型獲得推理和抽象的策略,而這一點(diǎn)也是當(dāng)前模型的根本弱點(diǎn)。

  • 使上述成為可能的新式學(xué)習(xí)策略——它可以使得模型擺脫當(dāng)前的可微分變換。

  • 需要更少的人類工程師參與的模型——無休止地調(diào)參不應(yīng)該成為你工作的一部分。

  • 對(duì)以前學(xué)習(xí)的特征和架構(gòu)進(jìn)行更大和更系統(tǒng)化的復(fù)用;基于可復(fù)用和模塊化子程序的元學(xué)習(xí)系統(tǒng)(Meta-learning systems)。

此外值得注意的是,我的這些思考并不是針對(duì)已經(jīng)成為監(jiān)督式學(xué)習(xí)主力的深度學(xué)習(xí)。恰恰相反,這些思考適用于任何形式的機(jī)器學(xué)習(xí),包括無監(jiān)督學(xué)習(xí)、自我監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。你的標(biāo)簽來自于哪里以及你的訓(xùn)練循環(huán)是什么樣的,這些都不重要。這些機(jī)器學(xué)習(xí)的不同分支只是同一構(gòu)造的不同方面。接下來讓我們開始深入探討。

模型即程序

正如我們?cè)谇耙黄恼轮兴岬降?,我們?cè)跈C(jī)器學(xué)習(xí)領(lǐng)域可以預(yù)期的一個(gè)轉(zhuǎn)變發(fā)展是,從純粹模式識(shí)別并且只能實(shí)現(xiàn)局部泛化能力(Local generalization,見上篇)的模型,轉(zhuǎn)向能夠?qū)崿F(xiàn)抽象和推理的模型,也就是可以達(dá)到終極的泛化能力。目前人工智能程序能夠進(jìn)行的基本推理形式,都是由人類程序員硬編碼的:例如依靠搜索算法、圖形處理和形式邏輯的軟件。具體而言,比如在 DeepMind 的 AlphaGo 中,大部分的「智能」都是由專業(yè)程序員設(shè)計(jì)和硬編碼的(如蒙特卡洛樹搜索),從數(shù)據(jù)中學(xué)習(xí)只發(fā)生在專門的子模塊(價(jià)值網(wǎng)絡(luò)和策略網(wǎng)絡(luò))。但是在將來,這樣的人工智能系統(tǒng)很可能會(huì)被完全學(xué)習(xí),而不需要人工進(jìn)行參與。

有什么辦法可以做到這一點(diǎn)?讓我們來考慮一個(gè)眾所周知的網(wǎng)絡(luò)類型:遞歸循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。重要的一點(diǎn)是,遞歸循環(huán)神經(jīng)網(wǎng)絡(luò)比前饋網(wǎng)絡(luò)的限制來的少。這是因?yàn)檫f歸循環(huán)神經(jīng)網(wǎng)絡(luò)不僅僅是一種幾何變換:它們是在 for 循環(huán)內(nèi)重復(fù)應(yīng)用的幾何變換。時(shí)序 for 循環(huán)本身是由人類開發(fā)者硬編碼的:它是網(wǎng)絡(luò)的內(nèi)置假設(shè)。自然地,遞歸神經(jīng)網(wǎng)絡(luò)在它們可以表征的內(nèi)容上依然非常有限,主要是因?yàn)樗鼈儓?zhí)行的每一步仍然只是一個(gè)可微分的幾何變換,而它們從當(dāng)前步到下一步傳送信息的方式是通過連續(xù)幾何空間(狀態(tài)向量)中的點(diǎn)?,F(xiàn)在,設(shè)想一下神經(jīng)網(wǎng)絡(luò)將以類似的方式「編程」,比如 for 循環(huán)編程基元,但不僅僅是一個(gè)帶有硬編碼的幾何內(nèi)存硬編碼 for 循環(huán),而是一大組編程基元,然后模型可以自由操縱這些基元以擴(kuò)展它們的處理功能,例如 if 分支、while 循環(huán)、變量創(chuàng)建、長(zhǎng)期記憶的磁盤存儲(chǔ)、排序操作和高級(jí)數(shù)據(jù)結(jié)構(gòu)(如列表、圖和散列表等)等等。這樣的網(wǎng)絡(luò)可以表征的程序空間將遠(yuǎn)遠(yuǎn)大于當(dāng)前深度學(xué)習(xí)模型可以表征的空間,并且其中一些程序甚至可以取得優(yōu)越的泛化能力。

總而言之,我們將遠(yuǎn)離「硬編碼算法智能」(手工軟件),以及「學(xué)習(xí)幾何智能」(深度學(xué)習(xí))。我們將擁有提供推理和抽象能力的形式化算法模塊,以及提供非正式直覺和模式識(shí)別功能的幾何模塊。整個(gè)系統(tǒng)只需要很少的人工參與即可完成學(xué)習(xí)。

我認(rèn)為人工智能相關(guān)的一個(gè)子領(lǐng)域可能即將迎來春天,那就是程序合成(Program synthesis),特別是神經(jīng)程序合成(Neural program synthesis)。程序合成包括通過使用搜索算法(比如在遺傳編程中可能是遺傳搜索)來自動(dòng)生成簡(jiǎn)單的程序,用以探索可能程序的巨大空間。當(dāng)找到與需求(需求通常以一組輸入-輸出對(duì)進(jìn)行提供)相匹配的程序時(shí),搜索將停止。正如你所想的,它是否讓你想起了機(jī)器學(xué)習(xí):給出輸入-輸出對(duì)作為「訓(xùn)練數(shù)據(jù)」,我們找到一個(gè)將輸入映射到輸出的「程序」,并且能將它泛化到其它輸入。不同之處在于,我們不是在硬編碼程序(神經(jīng)網(wǎng)絡(luò))中學(xué)習(xí)參數(shù)值,而是通過離散搜索過程生成源代碼。

我一定會(huì)非常期待在接下來的幾年內(nèi)這個(gè)子領(lǐng)域會(huì)再次迎來第二個(gè)春天。特別是,我期待在深度學(xué)習(xí)和程序合成之間出現(xiàn)一個(gè)交叉子領(lǐng)域,在該領(lǐng)域我們不會(huì)采用通用語言生成程序,而是增強(qiáng)了一套豐富的算法原語的生成神經(jīng)網(wǎng)絡(luò)(幾何數(shù)據(jù)處理流),例如 for 循環(huán)等等。這應(yīng)該比直接生成源代碼更加容易處理和有用,它將大大擴(kuò)展機(jī)器學(xué)習(xí)可以解決的問題范圍——我們可以根據(jù)適當(dāng)?shù)挠?xùn)練數(shù)據(jù)自動(dòng)生成程序空間。符號(hào) AI(Symbolic AI) 和幾何 AI(Geometric AI)的融合,當(dāng)代遞歸神經(jīng)網(wǎng)絡(luò)可以看做是這種混合算法幾何模型的開山鼻祖。

Fran?ois Chollet 談深度學(xué)習(xí)的局限性和未來 - 下篇

依靠幾何基元(模式識(shí)別與直覺)和算法基元(推理、搜索和存儲(chǔ))的學(xué)習(xí)程序

超越反向傳播和可微分層

如果機(jī)器學(xué)習(xí)模型變得更像是一段程序,那么它們將變得不再可微——當(dāng)然這些程序仍然會(huì)將連續(xù)的幾何層作為子程序進(jìn)行使用,這都是可微的,但是整個(gè)模型卻不會(huì)。因此,在固定的硬編碼網(wǎng)絡(luò)中使用反向傳播來調(diào)整權(quán)重值無法成為將來訓(xùn)練模型的首選辦法——至少它無法像現(xiàn)在這樣獨(dú)占鰲頭。我們需要找出能有效訓(xùn)練非微分系統(tǒng)的方法。目前的方法包括有遺傳算法、進(jìn)化策略、某些強(qiáng)化學(xué)習(xí)方法和交替方向乘子法(Alternating direction method of multipliers, ADMM)。自然而然的,梯度下降法哪兒也不會(huì)去——梯度信息對(duì)于優(yōu)化可微分參數(shù)函數(shù)總是有用的。但是我們的模型肯定會(huì)比單純的可微參數(shù)函數(shù)來的更加強(qiáng)大,因此它們的自主改善(「機(jī)器學(xué)習(xí)」中的「學(xué)習(xí)」)需要的將不僅僅是反向傳播。

此外,反向傳播是端到端的學(xué)習(xí)模式,這對(duì)于學(xué)習(xí)良好的鏈?zhǔn)睫D(zhuǎn)換是一件好事情,但在計(jì)算效率上卻非常低效,因?yàn)樗鼪]有充分利用深度神經(jīng)網(wǎng)絡(luò)的模塊化特性。為了提高效率,有一個(gè)通用的策略:引入模塊化以及層次結(jié)構(gòu)。所以我們可以通過引入分離的訓(xùn)練模塊以及它們之間的一些同步機(jī)制,以分層的方式組織起來,從而使得反向傳播計(jì)算更加高效。DeepMind 近期的工作「合成梯度」在某種程度上反映出了這一策略。我預(yù)期不久的將來在這一塊將有更多的工作開展。

我們可以預(yù)見的一個(gè)未來就是,這些模型將變得全局不可微分(但將具有局部可微分性),然后通過有效的搜索過程而不是梯度策略進(jìn)行訓(xùn)練。另一方面,通過利用一些更高效版本的反向傳播以發(fā)揮梯度下降策略的最大優(yōu)點(diǎn),局部可微分區(qū)域?qū)⒌玫礁斓挠?xùn)練速度。

自動(dòng)化機(jī)器學(xué)習(xí)

在將來,模型架構(gòu)將能夠通過學(xué)習(xí)實(shí)現(xiàn),而不是需要由工程師手工設(shè)置。并且自動(dòng)化學(xué)習(xí)架構(gòu)與使用更豐富的基元和程序式機(jī)器模型(Program-like machine learning models)將結(jié)合在一起。

目前深度學(xué)習(xí)工程師大部分工作都是使用 Python 腳本來處理數(shù)據(jù),然后花費(fèi)很多的時(shí)間來調(diào)整深度網(wǎng)絡(luò)的架構(gòu)和超參數(shù)以獲得一個(gè)還過得去的模型——或者說甚至獲得一個(gè)性能最先進(jìn)的模型,如果這個(gè)工程師是夠雄心勃勃的話。毋庸置疑,這樣的做法并非最佳的,但是此時(shí)深度學(xué)習(xí)技術(shù)依然可以發(fā)揮一定的效用。不過不幸的是,數(shù)據(jù)處理部分卻很難實(shí)現(xiàn)自動(dòng)化,因?yàn)樗ǔP枰I(lǐng)域知識(shí)以及對(duì)工程師想要的效果有非常清晰的高層次理解。然而,超參數(shù)調(diào)整是一個(gè)非常簡(jiǎn)單的搜索過程,并且我們已經(jīng)知道了工程師在這種情況下想要取得什么效果:它由正在被微調(diào)的網(wǎng)絡(luò)的損失函數(shù)定義。設(shè)置基本的「AutoML」系統(tǒng)已經(jīng)很常見了,它將負(fù)責(zé)大部分模型的調(diào)整。我甚至在幾年前設(shè)置了自己的模型并贏得了 Kaggle 競(jìng)賽。

在最基本的層面上,這樣的系統(tǒng)可以簡(jiǎn)單地調(diào)整棧中堆疊的層數(shù)、順序以及每一層中的單元或者說濾波器的數(shù)量。這通常是通過類似于 Hyperopt 這樣的庫來完成的,我們?cè)凇禗eep Learning with Python》的第 7 章中曾討論過這點(diǎn)。但我們的志向可以更加遠(yuǎn)大,并嘗試從零開始學(xué)習(xí)適當(dāng)?shù)募軜?gòu),然后盡可能減少限制條件。這可以通過強(qiáng)化學(xué)習(xí)或者遺傳算法來實(shí)現(xiàn)。

另一個(gè)重要的 AutoML 方向是與模型權(quán)重一起聯(lián)合學(xué)習(xí)模型架構(gòu)。由于從頭開始訓(xùn)練一個(gè)全新的架構(gòu),并且還要在每次嘗試中對(duì)架構(gòu)進(jìn)行微調(diào)是非常耗時(shí)和低效的,所以一個(gè)真正強(qiáng)大的 AutoML 系統(tǒng)可以在通過訓(xùn)練數(shù)據(jù)反向調(diào)整模型特征的同時(shí)設(shè)法改進(jìn)體系結(jié)構(gòu),從而消除所有的計(jì)算冗余。當(dāng)我正在撰寫這些內(nèi)容時(shí),這些方法已經(jīng)開始出現(xiàn)了。

當(dāng)這種情況發(fā)生時(shí),機(jī)器學(xué)習(xí)工程師的工作不會(huì)消失,恰恰相反,工程師將在價(jià)值創(chuàng)造鏈上走上高地。他們將開始投入更多精力來打造真正反映業(yè)務(wù)目標(biāo)的復(fù)雜損失函數(shù),并深入理解他們的模型如何影響他們所部署的數(shù)字生態(tài)系統(tǒng)(例如,負(fù)責(zé)消費(fèi)模型預(yù)測(cè)結(jié)果以及產(chǎn)生模型訓(xùn)練數(shù)據(jù)的用戶),而這些問題目前只有巨頭公司才有暇顧及。

終生學(xué)習(xí)和模塊化子程序復(fù)用

如果模型變得越來越復(fù)雜并且建立在更豐富的算法基元之上,那么這種增加的復(fù)雜度將需要在不同任務(wù)之間實(shí)現(xiàn)更好地復(fù)用性,而不是每當(dāng)我們有了新任務(wù)或者新數(shù)據(jù)集之后還需要從頭開始訓(xùn)練新模型。事實(shí)上,許多數(shù)據(jù)集都因?yàn)閿?shù)據(jù)量不夠大而不足以支持從頭訓(xùn)練新的復(fù)雜模型,并且需要利用來自先前數(shù)據(jù)集中的信息。就像你不需要在每次打開一本新書時(shí)都重新學(xué)習(xí)一遍英語一樣。此外,由于當(dāng)前任務(wù)與以前遇到的任務(wù)之間可能存在大量的重疊,因此對(duì)每個(gè)新任務(wù)都從頭開始訓(xùn)練模型的做法非常低效。 

此外,近年來反復(fù)出現(xiàn)的一個(gè)顯著的觀測(cè)結(jié)果是,訓(xùn)練相同的模型以同時(shí)執(zhí)行幾個(gè)松散連接的任務(wù),將產(chǎn)生一個(gè)對(duì)每個(gè)任務(wù)都更好的模型。例如,訓(xùn)練相同的神經(jīng)機(jī)器翻譯模型以覆蓋從英語到德語、法語到意大利語的翻譯,將得到一個(gè)比單獨(dú)訓(xùn)練來得更好的模型。又比如與圖像分割模型一起訓(xùn)練圖像分類模型,共享相同的卷積核,從而產(chǎn)生一個(gè)在兩項(xiàng)任務(wù)中都表現(xiàn)更好的模型,等等。這一點(diǎn)非常直觀:這些看起來似乎不相關(guān)的任務(wù)之間總是存在著信息重疊,因此聯(lián)合訓(xùn)練模型比起只在某一特定任務(wù)上訓(xùn)練的模型,可以獲取與每項(xiàng)單獨(dú)任務(wù)有關(guān)的大量信息。

我們目前沿著跨任務(wù)模型復(fù)用(Model reuse across tasks)的方向所做的工作就是,利用預(yù)訓(xùn)練權(quán)重模型來處理常見任務(wù),例如視覺特征提取。你將在第 5 章看到這一點(diǎn)。在將來,我希望這種泛化能力能實(shí)現(xiàn)更佳的普適性:我們不僅會(huì)復(fù)用以前學(xué)過的特征(子模型的權(quán)重值),還會(huì)復(fù)用模型架構(gòu)和訓(xùn)練過程。隨著模型變得越來越像程序,我們將開始重用程序子程序(Program subroutines),比如人類編程語言中的函數(shù)和類。

想想今天軟件開發(fā)的過程:一旦工程師解決了一個(gè)特定的問題(例如 Python 中的 HTTP 請(qǐng)求問題),他們會(huì)將其打包為一個(gè)抽象且可以重用的庫。這樣未來面臨類似問題的工程師可以通過簡(jiǎn)單地搜索現(xiàn)有的庫,然后下載并在項(xiàng)目中使用它來解決問題。相類似地,在未來元學(xué)習(xí)(Meta-learning)系統(tǒng)將可以通過篩選高級(jí)可重用塊的全局庫來組裝全新的程序。當(dāng)系統(tǒng)發(fā)現(xiàn)自己為幾個(gè)不同任務(wù)開發(fā)了類似的程序子程序時(shí),如果能夠具備「抽象」的能力,即子程序的可重用版本,然后就將其存儲(chǔ)到全局庫種。這樣的過程將實(shí)現(xiàn)抽象的能力,這是實(shí)現(xiàn)「終極泛化」的必要組成部分:在不同任務(wù)和領(lǐng)域發(fā)現(xiàn)有用的子程序可以被認(rèn)為「抽象」了一些問題解決方案的某些方面。這里「抽象」的定義與軟件工程中的抽象概念相似。這些子程序可以是幾何的(具有預(yù)訓(xùn)練表征的深度學(xué)習(xí)模塊)也可以是算法的(更接近當(dāng)代軟件工程師使用的軟件庫)。

Fran?ois Chollet 談深度學(xué)習(xí)的局限性和未來 - 下篇

元學(xué)習(xí)器能夠使用可復(fù)用基元(算法和幾何)快速開發(fā)針對(duì)特定任務(wù)的模型,從而實(shí)現(xiàn)“極端泛化”。

總結(jié):洞見未來

總而言之,這里是一些我對(duì)機(jī)器學(xué)習(xí)長(zhǎng)期發(fā)展的洞見:

  • 模型將更加像程序,并且將具有遠(yuǎn)遠(yuǎn)超出我們目前使用的輸入數(shù)據(jù)的連續(xù)幾何變換的能力。這些程序可以說更接近人類對(duì)周圍環(huán)境和自身抽象的心理模型,并且由于其豐富的算法性質(zhì),它們將具有更強(qiáng)的泛化能力。

  • 特別是,模型將融合算法模塊和幾何模塊,算法模塊可以提供正式推理、搜索和抽象能力,而幾何模塊可以提供非正式的直覺和模式識(shí)別功能。AlphaGo(一個(gè)需要大量手動(dòng)軟件工程和人為設(shè)計(jì)決策的系統(tǒng))提供了一個(gè)早期的例子,它展示了當(dāng)符號(hào) AI 和幾何 AI 融合之后將是什么樣子。

  • 通過使用存儲(chǔ)在可復(fù)用子程序全局庫(這是一個(gè)通過在數(shù)以萬計(jì)的以前的任務(wù)和數(shù)據(jù)集上學(xué)習(xí)的高性能模型演變而來的庫)中的模塊部件,它們將實(shí)現(xiàn)自動(dòng)成長(zhǎng),而不是由人類工程師手工設(shè)定。由于元學(xué)習(xí)系統(tǒng)確定了常見的問題解決模式,它們將變成一個(gè)可復(fù)用的子程序——就像當(dāng)代軟件工程中的函數(shù)和類一樣——并添加到全局庫中,從而實(shí)現(xiàn)了抽象能力。

  • 這個(gè)全局庫和相關(guān)聯(lián)的模型成長(zhǎng)系統(tǒng)(Model-growing system)將能夠在某種形式上實(shí)現(xiàn)類人的「極限泛化」:給定一個(gè)新任務(wù)、新情況,系統(tǒng)將能夠組裝一個(gè)適用于新任務(wù)的全新工作模型,而只需要很少的數(shù)據(jù)。這要?dú)w功于 1) 豐富的具有強(qiáng)泛化能力的類程序基元(Program-like primitives);2) 具有相似任務(wù)的豐富經(jīng)驗(yàn)。就像人類可以花費(fèi)很少的時(shí)間玩好一個(gè)全新復(fù)雜的視頻游戲一樣,因?yàn)樗麄冇性S多以前的游戲經(jīng)驗(yàn),并且因?yàn)閺囊郧敖?jīng)驗(yàn)得出的模型是抽象和類程序的,而不是刺激和行為之間的基本映射。

  • 因此,這種永久學(xué)習(xí)模型成長(zhǎng)系統(tǒng)(Perpetually-learning model-growing system)可以被稱為通用人工智能(Artificial General Intelligence, AGI)。但是不要擔(dān)憂任何機(jī)器人啟示錄將會(huì)降臨:因?yàn)檫@單純只是一個(gè)幻想,它來自于人們對(duì)智能和技術(shù)的一系列深刻誤解。然而,對(duì)這方面的批評(píng)并不在本篇的討論范疇之內(nèi)。

Via keras.io,雷鋒網(wǎng) AI 科技評(píng)論編譯。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

Fran?ois Chollet 談深度學(xué)習(xí)的局限性和未來 - 下篇

分享:
相關(guān)文章

知情人士

我也是個(gè)旅途的浪人
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說