這些是我在2020年秋季在莫斯科物理與技術研究所(MIPT)和Yandex數據分析學院(YSDA)做的演講筆記。這些筆記涵蓋了初始化、損失曲面、泛化和神經切線核理論的一些方面。雖然許多其他的主題(如表達性,平均場理論,雙下降現象)在當前版本中缺失,我們計劃在未來的修訂中添加它們。
統計學是關于可觀測現象的數學建模,使用隨機模型,以及分析數據:估計模型的參數和檢驗假設。在這些注釋中,我們研究了各種評估和測試程序。我們考慮它們的理論性質,并研究各種最優化的概念。
深度學習在實踐中的顯著成功,從理論的角度揭示了一些重大的驚喜。特別是,簡單的梯度方法很容易找到非凸優化問題的接近最優的解決方案,盡管在沒有任何明確的努力控制模型復雜性的情況下,這些方法提供了近乎完美的訓練數據,這些方法顯示了優秀的預測精度。我們推測這些現象背后有特定的原理: 過度參數化允許梯度方法找到插值解,這些方法隱含地施加正則化,過度參數化導致良性過擬合,也就是說,盡管過擬合訓練數據,但仍能準確預測。在這篇文章中,我們調查了統計學習理論的最新進展,它提供了在更簡單的設置中說明這些原則的例子。我們首先回顧經典的一致收斂結果以及為什么它們不能解釋深度學習方法的行為方面。我們在簡單的設置中給出隱式正則化的例子,在這些例子中,梯度方法可以得到完美匹配訓練數據的最小范數函數。然后我們回顧顯示良性過擬合的預測方法,關注二次損失的回歸問題。對于這些方法,我們可以將預測規則分解為一個用于預測的簡單組件和一個用于過擬合的尖狀組件,但在良好的設置下,不會損害預測精度。我們特別關注神經網絡的線性區域,其中網絡可以用一個線性模型來近似。在這種情況下,我們證明了梯度流的成功,并考慮了雙層網絡的良性過擬合,給出了精確的漸近分析,精確地證明了過參數化的影響。最后,我們強調了在將這些見解擴展到現實的深度學習設置中出現的關鍵挑戰。
在過去的十年里,神經網絡在視覺、語音、語言理解、醫學、機器人和游戲等領域取得了驚人的成果。人們原本以為,這種成功需要克服理論上存在的重大障礙。畢竟,深度學習優化是非凸的、高度非線性的、高維的,那么我們為什么能夠訓練這些網絡呢?在許多情況下,它們擁有的參數遠遠多于記憶數據所需的參數,那么為什么它們能夠很好地推廣呢?盡管這些主題已經占據了機器學習研究領域的大部分注意力,但當涉及到更簡單的模型時,神經網絡領域的原則是先數據訓練再說。顯然,這招奏效了。
//www.cs.toronto.edu/~rgrosse/courses/csc2541_2021/
結果,神經網絡的實際成功已經超過了我們理解它們如何工作的能力。這門課是關于開發概念工具來理解當神經網絡訓練時會發生什么。其中一些思想早在幾十年前就已經形成了(可能已經被社區的大部分人遺忘了),而另一些思想今天才剛剛開始被理解。我將試圖傳達我們最好的現代理解,盡管它可能不完整。
這門課從優化中汲取靈感,它不是一門優化課。一方面,優化的研究通常是指令性的,從優化問題的信息和明確定義的目標(如在特定規范下快速收斂)開始,并找出保證實現該目標的計劃。對于現代神經網絡來說,分析通常是描述性的: 采用在使用的程序,并找出它們(似乎)有效的原因。希望這種理解能讓我們改進算法。
與優化研究的另一個區別是,目標不是簡單地擬合一個有限的訓練集,而是一般化。盡管神經網絡有巨大的能力,但為什么它能泛化與訓練的動態密切相關。因此,如果我們從優化中引入一個想法,我們不僅需要考慮它是否會更快地最小化成本函數,還需要考慮它是否以一種有利于泛化的方式實現。
這類應用不會為您提供在ImageNet上實現最先進性能的方法。它也不是那種為了證明定理而去證明定理的理論課。相反,我們的目的是為您提供概念性工具,以便您在任何特定情況下推斷出影響訓練的因素。
除了讓你的網絡更好地訓練之外,學習神經網絡訓練動力學的另一個重要原因是,許多現代架構本身就足夠強大,可以進行優化。這可能是因為我們在體系結構中明確地構建了優化,就像在MAML或深度均衡模型中那樣。或者,我們可能只是在大量數據上訓練一個靈活的架構,然后發現它具有驚人的推理能力,就像GPT3一樣。不管怎樣,如果網絡架構本身在優化某些東西,那么外部訓練過程就會與本課程中討論的問題糾纏在一起,不管我們喜歡與否。為了有希望理解它提出的解決方案,我們需要理解問題。因此,本課程將以雙層優化結束,利用課程中涵蓋的所有內容。
目錄內容:
我們將通過分析一個簡單的模型開始這門課,梯度下降動力學可以被精確地確定:線性回歸。盡管線性回歸很簡單,但它提供了對神經網絡訓練驚人的洞察力。我們將使用線性回歸來理解兩種神經網絡訓練現象: 為什么對輸入進行歸一化是一個好策略,以及增加維度可以減少過擬合。
線性化是我們理解非線性系統最重要的工具之一。我們將涵蓋神經網絡的一階泰勒近似(梯度,方向導數)和二階近似(Hessian)。我們將看到如何用雅可比向量乘積有效地計算它們。我們將使用Hessian診斷緩慢收斂和解釋網絡預測。
度量給出了流形上距離的一個局部概念。在許多情況下,兩個神經網絡之間的距離可以更有效地定義為它們所代表的函數之間的距離,而不是權重向量之間的距離。這就引出了一個重要的優化工具,叫做自然梯度。
我們從幾個角度來激勵神經網絡的二階優化:最小化二階泰勒近似、預處理、不變性和近端優化。我們將看到如何使用共軛梯度或克羅內克因子近似來近似二階更新。
我們看看已經成為神經網絡訓練的主要內容的三個算法特征。我們試圖理解它們對動力學的影響,并找出構建深度學習系統的一些陷阱。
深度學習的研究在許多機器學習任務上產生了最先進的結果。大多數的進步都是由直覺和通過試驗和錯誤進行的大規模探索推動的。因此,目前理論落后于實踐。ML社區并不完全理解為什么最好的方法是有效的。來自UIUC Matus Telgarsky教授撰寫了關于深度學習理論筆記,值得關注。
地址: //mjt.cs.illinois.edu/dlt/
這些筆記的哲學。兩個關鍵的觀點決定了到目前為止所包含的內容。 我的目標是對文獻中出現的東西提供簡化的證明,理想情況下,把困難的東西簡化成適合一節課的東西。 我主要關注通過標準(通常是ReLU)前饋網絡實現IID數據的二進制分類的低測試誤差的經典觀點。
內容組織:
近似 (從第1節開始): 給定一個分類問題,存在一個深度網絡,在分布上實現低誤差。
優化 (從第9節開始): 對于一個分類問題,給定一個有限的訓練集,存在尋找低訓練誤差和低復雜度的預測器的算法。
泛化 (從第16節開始): 對于低復雜度的網絡,訓練和測試誤差之間的差距很小。
本課程涵蓋了每個專業程序員需要了解的關于算法和數據結構的基本信息,重點是應用程序和Java實現的科學性能分析。第一部分介紹基本的數據結構、排序和搜索算法。第二部分重點介紹圖形和字符串處理算法。
《算法(第四版》是普林斯頓超級大神教授Robert Sedgewick的神作,該書還有配套的MOOC課程,是算法領域經典的參考書。
這本書涵蓋所有程序員必須掌握的50種算法,全面介紹了關于算法和數據結構的必備知識,并特別針對排序、搜索、圖處理和字符串處理進行了論述。第4版具體給出了每位程序員應知應會的50個算法,提供了實際代碼,而且這些Java代碼實現采用了模塊化的編程風格,讀者可以方便地加以改造。
本課程關注控制理論和強化學習的理論介紹,側重于連續狀態空間以及物理世界和機器人技術的應用。我們強調計算效率的算法和可證明的界。特別關注RL中非隨機控制和遺憾最小化的新方法。我們將與該領域的經典方法論進行比較和對比。
本課程的練習和項目將需要用python編寫代碼。
這門課程對所有學生開放,但要求有很強的數學背景。
//sites.google.com/view/cos59x-cct/home
深度學習的先驅、圖靈獎獲得者Yann Lecun教授有一種非常簡潔明了地抓住問題癥結的氣質。2020年2月左右,他在巴巴多斯研討會上說,
“控制=梯度強化學習”。
強化學習和控制理論的關鍵區別在于它們所操作的空間。強化學習的范圍通常位于離散狀態空間(如圍棋、國際象棋),而控制理論通常處理涉及物理和連續空間(如機器人)的問題。物理學和結構環境的知識使我們能夠利用差分信息。
后者允許我們使用強大的數學優化和凸松弛技術來設計高效的算法。這是自適應非隨機控制理論的主題,也是本課程的主題。
這是對常微分方程的介紹。摘要討論了一階標量方程、二階線性方程和線性方程組的解的主要思想。利用冪級數法求解變系數二階線性方程組。本文引入拉普拉斯變換方法求解具有廣義源函數的常系數方程。簡要介紹邊值問題、特征值-特征函數問題和傅立葉級數展開。本文采用分離變量的方法,通過求解無窮多個常微分方程得到偏微分方程的解
管理統計和數據科學的原理包括:數據可視化;描述性措施;概率;概率分布;數學期望;置信區間;和假設檢驗。方差分析;簡單線性回歸;多元線性回歸也包括在內。另外,本書還提供了列聯表、卡方檢驗、非參數方法和時間序列方法。
教材:
異步分布式計算系統的模型。基本概念的并發和同步,通信,可靠性,拓撲和電子約束,時間和空間的復雜性,和分布式算法。