
作者 | Francois Chollet
編譯 | CDA數(shù)據(jù)分析師
The future of deep learning
鑒于我們對深網(wǎng)的工作原理,局限性以及研究現(xiàn)狀的了解,我們能否預(yù)測中期的發(fā)展方向?這是一些純粹的個人想法。請注意,我沒有水晶球,所以我預(yù)期的很多事情都可能無法實現(xiàn)。這是一個完全投機的職位。我之所以分享這些預(yù)測,并不是因為我希望它們將來能被證明是完全正確的,而是因為它們在當(dāng)前很有趣并且可以付諸實踐。
從高層次來看,我看到希望的主要方向是:
此外,請注意,這些注意事項并非到目前為止一直是深度學(xué)習(xí)的基礎(chǔ)的那種監(jiān)督學(xué)習(xí),而是適用于任何形式的機器學(xué)習(xí),包括無監(jiān)督,自我監(jiān)督和強化學(xué)習(xí)。標(biāo)記的來源或訓(xùn)練循環(huán)的樣子從根本上來說并不重要;機器學(xué)習(xí)的這些不同分支只是同一構(gòu)造的不同方面。
模型作為序列模型
正如我們在前一篇文章中指出的那樣,我們可以期望在機器學(xué)習(xí)領(lǐng)域進行必要的轉(zhuǎn)型發(fā)展,是從執(zhí)行純模式識別并且只能實現(xiàn)局部概括的模型轉(zhuǎn)向具有抽象和 推理能力的模型,實現(xiàn)極端概括。當(dāng)前具有基本推理形式的AI程序都由人類程序員進行硬編碼:例如,依賴于搜索算法,圖操作,形式邏輯的軟件。例如,在DeepMind的AlphaGo中,大多數(shù)“智能”都是由專業(yè)程序員設(shè)計和硬編碼的(例如,蒙特卡洛樹搜索);從數(shù)據(jù)中學(xué)習(xí)僅發(fā)生在專門的子模塊(價值網(wǎng)絡(luò)和政策網(wǎng)絡(luò))中。但是在將來,這樣的AI系統(tǒng)可能會完全被了解,而無需人工參與。
實現(xiàn)這一目標(biāo)的途徑可能是什么?考慮一種著名的網(wǎng)絡(luò):RNN。重要的是,與前饋網(wǎng)絡(luò)相比,RNN的限制略少。這是因為RNN不僅僅是幾何變換:它們是在for 循環(huán)內(nèi)重復(fù)應(yīng)用的幾何變換。暫時的for循環(huán)本身是由開發(fā)人員進行硬編碼的:它是網(wǎng)絡(luò)的內(nèi)置假設(shè)。自然地,RNN的表示能力仍然受到極大限制,主要是因為它們執(zhí)行的每個步驟仍然只是可微的幾何變換,并且它們從一步到一步傳遞信息的方式是通過連續(xù)幾何空間中的點(狀態(tài)向量)進行的?,F(xiàn)在,想象一下以類似的方式通過編程原語(例如for循環(huán))來“增強”神經(jīng)網(wǎng)絡(luò),但不僅僅是for具有硬編碼幾何內(nèi)存的單個硬編碼循環(huán),而是模型所包含的大量編程原語可以隨意操作以擴展其處理功能,例如if分支,while語句,變量創(chuàng)建,用于長期內(nèi)存的磁盤存儲,排序運算符,高級數(shù)據(jù)結(jié)構(gòu)(如列表,圖形和哈希表)等等。這樣的網(wǎng)絡(luò)可以代表的程序空間將比當(dāng)前深度學(xué)習(xí)模型所代表的程序要廣闊得多,并且其中一些程序可以實現(xiàn)更高的泛化能力。
一言以蔽之,我們將擺脫一方面擁有“硬編碼算法智能”(手工軟件),另一方面不再具有“學(xué)習(xí)幾何智能”(深度學(xué)習(xí))的能力。我們將混合使用提供推理和抽象功能的形式化算法模塊和提供非正式直覺和模式識別功能的幾何模塊。整個系統(tǒng)將在幾乎沒有人參與的情況下學(xué)習(xí)。
我認(rèn)為AI的一個相關(guān)子領(lǐng)域可能會大有作為,它是程序綜合領(lǐng)域,尤其是神經(jīng)程序綜合領(lǐng)域。程序合成包括通過使用搜索算法(可能是遺傳搜索,如遺傳編程)自動生成簡單程序,以探索大量可能的程序。當(dāng)找到符合所需規(guī)范的程序時,搜索將停止,該程序通常以一組輸入輸出對的形式提供。正如您所看到的,它是否使人聯(lián)想到機器學(xué)習(xí):給定輸入和輸出對提供的“訓(xùn)練數(shù)據(jù)”,我們找到了一個將輸入與輸出匹配并可以歸納為新輸入的“程序”。不同之處在于,我們生成的不是在硬編碼程序(神經(jīng)網(wǎng)絡(luò))中學(xué)習(xí)參數(shù)值通過離散搜索過程獲取源代碼。
我絕對希望這個子領(lǐng)域在未來幾年內(nèi)會引起新的興趣。特別是,我希望在深度學(xué)習(xí)和程序合成之間出現(xiàn)一個交叉子域,在該領(lǐng)域中,我們不會以通用語言生成程序,而會在其中生成神經(jīng)網(wǎng)絡(luò)(幾何數(shù)據(jù)處理)。流)增加了一組豐富的算法的圖元,如for循環(huán)等等。與直接生成源代碼相比,這應(yīng)該更容易處理和有用,并且它將大大擴展機器學(xué)習(xí)可以解決的問題的范圍-在給定適當(dāng)?shù)挠?xùn)練數(shù)據(jù)的情況下,我們可以自動生成的程序空間。象征性AI和幾何AI的融合。當(dāng)代的RNN可以看作是這種混合算法-幾何模型的史前祖先。
超越反向傳播和可微層
如果機器學(xué)習(xí)模型變得更像程序,那么它們將幾乎不再是可區(qū)分的—當(dāng)然,這些程序仍將利用連續(xù)的幾何層作為子例程,這將是可區(qū)分的,但整個模型則不會。結(jié)果,使用反向傳播來調(diào)整固定的硬編碼網(wǎng)絡(luò)中的權(quán)重值,將不再是將來訓(xùn)練模型的首選方法,至少,它不可能是全部。我們需要找出有效地訓(xùn)練不可微系統(tǒng)的方法。當(dāng)前的方法包括遺傳算法,“進化策略”,某些強化學(xué)習(xí)方法和ADMM(乘數(shù)的交替方向方法)。自然,梯度下降無處不在-梯度信息對于優(yōu)化可微分參數(shù)函數(shù)總是有用的。
此外,反向傳播是端到端的,這對于學(xué)習(xí)良好的鏈?zhǔn)睫D(zhuǎn)換是一件好事,但由于它沒有充分利用深度網(wǎng)絡(luò)的模塊化,因此計算效率低下。為了提高效率,有一個通用的方法:引入模塊化和層次結(jié)構(gòu)。因此,我們可以通過引入解耦的訓(xùn)練模塊以及它們之間的某些同步機制(以分層方式組織)來使反向傳播本身更加高效。這種策略在DeepMind最近關(guān)于“合成梯度”的工作中有所體現(xiàn)。我希望在不久的將來,在這些方面還有更多的工作要做。
可以想象到一個未來,其中將使用不會利用梯度的有效搜索過程來訓(xùn)練(增長)全局不可微(但具有可區(qū)分部分)的模型,而可利用優(yōu)勢來更快地訓(xùn)練可區(qū)分部分。使用一些更有效的反向傳播版本的梯度。
將來,將學(xué)習(xí)模型架構(gòu),而不是由工匠手工制作。使用更豐富的原語集和類似程序的機器學(xué)習(xí)模型,學(xué)習(xí)體系結(jié)構(gòu)會自動并駕齊驅(qū)。
當(dāng)前,深度學(xué)習(xí)工程師的大部分工作包括使用Python腳本處理數(shù)據(jù),然后冗長地調(diào)整深度網(wǎng)絡(luò)的體系結(jié)構(gòu)和超參數(shù),以獲得工作模型,甚至達到最新技術(shù)水平模型,如果工程師如此雄心勃勃。不用說,這不是最佳設(shè)置。但是人工智能也可以提供幫助。不幸的是,數(shù)據(jù)處理部分很難自動化,因為它通常需要領(lǐng)域知識以及對工程師想要達到的目標(biāo)的清晰的高級理解。但是,超參數(shù)調(diào)整是一個簡單的搜索過程,在這種情況下,我們已經(jīng)知道工程師想要實現(xiàn)的目標(biāo):它由要調(diào)整的網(wǎng)絡(luò)的損耗函數(shù)來定義。設(shè)置基本的“ AutoML”已經(jīng)是常見的做法 系統(tǒng)將負責(zé)大多數(shù)模型旋鈕的調(diào)整。我甚至在幾年前就成立了自己的公司以贏得Kaggle比賽。
在最基本的層次上,這樣的系統(tǒng)將簡單地調(diào)整堆棧中的層數(shù),其順序以及每一層中的單元或過濾器數(shù)。這通常是使用Hyperopt之類的庫完成的。但是,我們也可以野心勃勃,并嘗試從頭開始學(xué)習(xí)一種盡可能少的約束的適當(dāng)架構(gòu)。這可以通過例如強化學(xué)習(xí)或遺傳算法來實現(xiàn)。AutoML的另一個重要方向是與模型權(quán)重一起學(xué)習(xí)模型體系結(jié)構(gòu)。因為每次我們嘗試稍有不同的體系結(jié)構(gòu)都從頭開始訓(xùn)練新模型時,效率非常低下,所以真正強大的AutoML系統(tǒng)將能夠在通過對訓(xùn)練數(shù)據(jù)進行反向調(diào)整來調(diào)整模型的功能的同時,對體系結(jié)構(gòu)進行改進,因此消除所有計算冗余。在我撰寫這些內(nèi)容時,這種方法已經(jīng)開始出現(xiàn)。
當(dāng)這種情況開始發(fā)生時,機器學(xué)習(xí)工程師的工作不會消失,而是工程師將在價值創(chuàng)造鏈中向更高的方向發(fā)展。他們將開始投入更多的精力來構(gòu)建能夠真正反映業(yè)務(wù)目標(biāo)的復(fù)雜損失函數(shù),并深刻理解其模型如何影響部署它們的數(shù)字生態(tài)系統(tǒng)(例如,使用模型預(yù)測并生成模型訓(xùn)練數(shù)據(jù)的用戶) -目前只有最大的公司可以負擔(dān)的問題。
終身學(xué)習(xí)和模塊化子例程重用
如果模型變得更加復(fù)雜并且建立在更豐富的算法原語之上,那么這種增加的復(fù)雜性將要求任務(wù)之間具有更高的重用性,而不是每當(dāng)我們有新任務(wù)或新數(shù)據(jù)集時從頭開始訓(xùn)練新模型。實際上,很多數(shù)據(jù)集將包含的信息不足以從頭開始開發(fā)新的復(fù)雜模型,因此有必要利用先前遇到的數(shù)據(jù)集的信息。就像您每次打開一本新書都不會從頭開始學(xué)習(xí)英語一樣,這是不可能的。此外,由于當(dāng)前任務(wù)與先前遇到的任務(wù)之間存在大量重疊,因此從頭開始對每個新任務(wù)進行訓(xùn)練的模型效率非常低下。
另外,近年來反復(fù)觀察到的一個顯著發(fā)現(xiàn)是,訓(xùn)練相同的模型以同時執(zhí)行多個松散連接的任務(wù)會得到一個在每個任務(wù)上都更好的模型。例如,訓(xùn)練相同的神經(jīng)機器翻譯模型以涵蓋英語到德語的翻譯和法語到意大利語的翻譯,將得到一個在每種語言對上都更好的模型。共同訓(xùn)練圖像分類模型和圖像分割模型,共享相同的卷積基礎(chǔ),得到的模型在兩個任務(wù)上都更好。等等。這很直觀:總有一些 這些看似脫節(jié)的任務(wù)之間的信息重疊,因此與僅針對特定任務(wù)訓(xùn)練的模型相比,聯(lián)合模型可以訪問有關(guān)每個單獨任務(wù)的更多信息。
我們目前在跨任務(wù)的模型重用過程中所要做的就是利用預(yù)訓(xùn)練的權(quán)重來執(zhí)行執(zhí)行常見功能(如視覺特征提取)的模型。您將在第5章中看到了這一點。在將來,我希望它的通用版本是司空見慣的:我們不僅將利用先前學(xué)習(xí)的功能(子模型權(quán)重),還將利用模型架構(gòu)和訓(xùn)練過程。隨著模型變得更像程序,我們將開始重用程序子例程,例如人類編程語言中的函數(shù)和類。
想想當(dāng)今的軟件開發(fā)過程:一旦工程師解決了特定的問題(例如,Python中的HTTP查詢),他們就會將其打包為一個抽象且可重用的庫。將來面臨類似問題的工程師可以簡單地搜索現(xiàn)有庫,下載一個庫并在自己的項目中使用它。以類似的方式,將來,元學(xué)習(xí)系統(tǒng)將能夠通過在高級可重用塊的全局庫中篩選來組裝新程序。當(dāng)系統(tǒng)發(fā)現(xiàn)自己正在為幾種不同的任務(wù)開發(fā)類似的程序子例程時,如果會想出該子例程的“抽象”可重用版本并將其存儲在全局庫中。這樣的過程將實現(xiàn)抽象能力,是實現(xiàn)“極端泛化”的必要組件:可以說子例程在不同的任務(wù)和領(lǐng)域中都有用,可以說它“抽象”了解決問題的某些方面?!俺橄蟆钡亩x類似于軟件工程中的抽象概念。這些子例程可以是幾何的(具有預(yù)訓(xùn)練表示形式的深度學(xué)習(xí)模塊),也可以是算法的(更接近于當(dāng)代軟件工程師操作的庫)。
簡而言之,這是我對機器學(xué)習(xí)的長期愿景:
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10CDA 數(shù)據(jù)分析師:商業(yè)數(shù)據(jù)分析實踐的落地者與價值創(chuàng)造者 商業(yè)數(shù)據(jù)分析的價值,最終要在 “實踐” 中體現(xiàn) —— 脫離業(yè)務(wù)場景的分 ...
2025-09-10