
作者 | Francois Chollet
編譯 | CDA數據分析師
The future of deep learning
鑒于我們對深網的工作原理,局限性以及研究現狀的了解,我們能否預測中期的發展方向?這是一些純粹的個人想法。請注意,我沒有水晶球,所以我預期的很多事情都可能無法實現。這是一個完全投機的職位。我之所以分享這些預測,并不是因為我希望它們將來能被證明是完全正確的,而是因為它們在當前很有趣并且可以付諸實踐。
從高層次來看,我看到希望的主要方向是:
此外,請注意,這些注意事項并非到目前為止一直是深度學習的基礎的那種監督學習,而是適用于任何形式的機器學習,包括無監督,自我監督和強化學習。標記的來源或訓練循環的樣子從根本上來說并不重要;機器學習的這些不同分支只是同一構造的不同方面。
模型作為序列模型
正如我們在前一篇文章中指出的那樣,我們可以期望在機器學習領域進行必要的轉型發展,是從執行純模式識別并且只能實現局部概括的模型轉向具有抽象和 推理能力的模型,實現極端概括。當前具有基本推理形式的AI程序都由人類程序員進行硬編碼:例如,依賴于搜索算法,圖操作,形式邏輯的軟件。例如,在DeepMind的AlphaGo中,大多數“智能”都是由專業程序員設計和硬編碼的(例如,蒙特卡洛樹搜索);從數據中學習僅發生在專門的子模塊(價值網絡和政策網絡)中。但是在將來,這樣的AI系統可能會完全被了解,而無需人工參與。
實現這一目標的途徑可能是什么?考慮一種著名的網絡:RNN。重要的是,與前饋網絡相比,RNN的限制略少。這是因為RNN不僅僅是幾何變換:它們是在for 循環內重復應用的幾何變換。暫時的for循環本身是由開發人員進行硬編碼的:它是網絡的內置假設。自然地,RNN的表示能力仍然受到極大限制,主要是因為它們執行的每個步驟仍然只是可微的幾何變換,并且它們從一步到一步傳遞信息的方式是通過連續幾何空間中的點(狀態向量)進行的?,F在,想象一下以類似的方式通過編程原語(例如for循環)來“增強”神經網絡,但不僅僅是for具有硬編碼幾何內存的單個硬編碼循環,而是模型所包含的大量編程原語可以隨意操作以擴展其處理功能,例如if分支,while語句,變量創建,用于長期內存的磁盤存儲,排序運算符,高級數據結構(如列表,圖形和哈希表)等等。這樣的網絡可以代表的程序空間將比當前深度學習模型所代表的程序要廣闊得多,并且其中一些程序可以實現更高的泛化能力。
一言以蔽之,我們將擺脫一方面擁有“硬編碼算法智能”(手工軟件),另一方面不再具有“學習幾何智能”(深度學習)的能力。我們將混合使用提供推理和抽象功能的形式化算法模塊和提供非正式直覺和模式識別功能的幾何模塊。整個系統將在幾乎沒有人參與的情況下學習。
我認為AI的一個相關子領域可能會大有作為,它是程序綜合領域,尤其是神經程序綜合領域。程序合成包括通過使用搜索算法(可能是遺傳搜索,如遺傳編程)自動生成簡單程序,以探索大量可能的程序。當找到符合所需規范的程序時,搜索將停止,該程序通常以一組輸入輸出對的形式提供。正如您所看到的,它是否使人聯想到機器學習:給定輸入和輸出對提供的“訓練數據”,我們找到了一個將輸入與輸出匹配并可以歸納為新輸入的“程序”。不同之處在于,我們生成的不是在硬編碼程序(神經網絡)中學習參數值通過離散搜索過程獲取源代碼。
我絕對希望這個子領域在未來幾年內會引起新的興趣。特別是,我希望在深度學習和程序合成之間出現一個交叉子域,在該領域中,我們不會以通用語言生成程序,而會在其中生成神經網絡(幾何數據處理)。流)增加了一組豐富的算法的圖元,如for循環等等。與直接生成源代碼相比,這應該更容易處理和有用,并且它將大大擴展機器學習可以解決的問題的范圍-在給定適當的訓練數據的情況下,我們可以自動生成的程序空間。象征性AI和幾何AI的融合。當代的RNN可以看作是這種混合算法-幾何模型的史前祖先。
超越反向傳播和可微層
如果機器學習模型變得更像程序,那么它們將幾乎不再是可區分的—當然,這些程序仍將利用連續的幾何層作為子例程,這將是可區分的,但整個模型則不會。結果,使用反向傳播來調整固定的硬編碼網絡中的權重值,將不再是將來訓練模型的首選方法,至少,它不可能是全部。我們需要找出有效地訓練不可微系統的方法。當前的方法包括遺傳算法,“進化策略”,某些強化學習方法和ADMM(乘數的交替方向方法)。自然,梯度下降無處不在-梯度信息對于優化可微分參數函數總是有用的。
此外,反向傳播是端到端的,這對于學習良好的鏈式轉換是一件好事,但由于它沒有充分利用深度網絡的模塊化,因此計算效率低下。為了提高效率,有一個通用的方法:引入模塊化和層次結構。因此,我們可以通過引入解耦的訓練模塊以及它們之間的某些同步機制(以分層方式組織)來使反向傳播本身更加高效。這種策略在DeepMind最近關于“合成梯度”的工作中有所體現。我希望在不久的將來,在這些方面還有更多的工作要做。
可以想象到一個未來,其中將使用不會利用梯度的有效搜索過程來訓練(增長)全局不可微(但具有可區分部分)的模型,而可利用優勢來更快地訓練可區分部分。使用一些更有效的反向傳播版本的梯度。
自動化機器學習
將來,將學習模型架構,而不是由工匠手工制作。使用更豐富的原語集和類似程序的機器學習模型,學習體系結構會自動并駕齊驅。
當前,深度學習工程師的大部分工作包括使用Python腳本處理數據,然后冗長地調整深度網絡的體系結構和超參數,以獲得工作模型,甚至達到最新技術水平模型,如果工程師如此雄心勃勃。不用說,這不是最佳設置。但是人工智能也可以提供幫助。不幸的是,數據處理部分很難自動化,因為它通常需要領域知識以及對工程師想要達到的目標的清晰的高級理解。但是,超參數調整是一個簡單的搜索過程,在這種情況下,我們已經知道工程師想要實現的目標:它由要調整的網絡的損耗函數來定義。設置基本的“ AutoML”已經是常見的做法 系統將負責大多數模型旋鈕的調整。我甚至在幾年前就成立了自己的公司以贏得Kaggle比賽。
在最基本的層次上,這樣的系統將簡單地調整堆棧中的層數,其順序以及每一層中的單元或過濾器數。這通常是使用Hyperopt之類的庫完成的。但是,我們也可以野心勃勃,并嘗試從頭開始學習一種盡可能少的約束的適當架構。這可以通過例如強化學習或遺傳算法來實現。AutoML的另一個重要方向是與模型權重一起學習模型體系結構。因為每次我們嘗試稍有不同的體系結構都從頭開始訓練新模型時,效率非常低下,所以真正強大的AutoML系統將能夠在通過對訓練數據進行反向調整來調整模型的功能的同時,對體系結構進行改進,因此消除所有計算冗余。在我撰寫這些內容時,這種方法已經開始出現。
當這種情況開始發生時,機器學習工程師的工作不會消失,而是工程師將在價值創造鏈中向更高的方向發展。他們將開始投入更多的精力來構建能夠真正反映業務目標的復雜損失函數,并深刻理解其模型如何影響部署它們的數字生態系統(例如,使用模型預測并生成模型訓練數據的用戶) -目前只有最大的公司可以負擔的問題。
終身學習和模塊化子例程重用
如果模型變得更加復雜并且建立在更豐富的算法原語之上,那么這種增加的復雜性將要求任務之間具有更高的重用性,而不是每當我們有新任務或新數據集時從頭開始訓練新模型。實際上,很多數據集將包含的信息不足以從頭開始開發新的復雜模型,因此有必要利用先前遇到的數據集的信息。就像您每次打開一本新書都不會從頭開始學習英語一樣,這是不可能的。此外,由于當前任務與先前遇到的任務之間存在大量重疊,因此從頭開始對每個新任務進行訓練的模型效率非常低下。
另外,近年來反復觀察到的一個顯著發現是,訓練相同的模型以同時執行多個松散連接的任務會得到一個在每個任務上都更好的模型。例如,訓練相同的神經機器翻譯模型以涵蓋英語到德語的翻譯和法語到意大利語的翻譯,將得到一個在每種語言對上都更好的模型。共同訓練圖像分類模型和圖像分割模型,共享相同的卷積基礎,得到的模型在兩個任務上都更好。等等。這很直觀:總有一些 這些看似脫節的任務之間的信息重疊,因此與僅針對特定任務訓練的模型相比,聯合模型可以訪問有關每個單獨任務的更多信息。
我們目前在跨任務的模型重用過程中所要做的就是利用預訓練的權重來執行執行常見功能(如視覺特征提取)的模型。您將在第5章中看到了這一點。在將來,我希望它的通用版本是司空見慣的:我們不僅將利用先前學習的功能(子模型權重),還將利用模型架構和訓練過程。隨著模型變得更像程序,我們將開始重用程序子例程,例如人類編程語言中的函數和類。
想想當今的軟件開發過程:一旦工程師解決了特定的問題(例如,Python中的HTTP查詢),他們就會將其打包為一個抽象且可重用的庫。將來面臨類似問題的工程師可以簡單地搜索現有庫,下載一個庫并在自己的項目中使用它。以類似的方式,將來,元學習系統將能夠通過在高級可重用塊的全局庫中篩選來組裝新程序。當系統發現自己正在為幾種不同的任務開發類似的程序子例程時,如果會想出該子例程的“抽象”可重用版本并將其存儲在全局庫中。這樣的過程將實現抽象能力,是實現“極端泛化”的必要組件:可以說子例程在不同的任務和領域中都有用,可以說它“抽象”了解決問題的某些方面?!俺橄蟆钡亩x類似于軟件工程中的抽象概念。這些子例程可以是幾何的(具有預訓練表示形式的深度學習模塊),也可以是算法的(更接近于當代軟件工程師操作的庫)。
簡而言之,這是我對機器學習的長期愿景:
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25