深度學習已經成為機器學習的核心范式。然而,對數學的理解仍然缺乏。需要多少樣本?訓練多快能成功?為什么卷積神經網絡適合圖像數據?本課程將涵蓋回答這些問題的最新進展。本專著討論了新興的深度學習理論。它以普林(lin)斯頓大學(xue)2019年秋季的研究生研討會(hui)為基礎,同(tong)時與高等研究所的優化、統計和機器(qi)學(xue)習特(te)別(bie)年相結(jie)合(he)
優化基礎
本章建立了基于(yu)梯(ti)度的優化(hua)算法的基本分析(xi)框(kuang)架,并討論了如何(he)將(jiang)其應(ying)用于(yu)深度學習。
反向傳播以及變體
在整本書中,我們依靠計算梯度的損失與模型參數。對于深網,這個計算是用反向傳播,一個簡單的算法,使用鏈式法則的微積分。為了方便,我們更一般地描述為一種計算神經網絡輸出對其所有參數靈敏度的方法,即?f /?wi,其中f是輸出,wi是第i個參數。這里的參數可以是與網絡的節點或邊相關的邊權或偏差。從20世紀60年代到80年代,這一基本算法的不同版本在多個領域被明顯地獨立地重新發現了幾次。本章介紹了這些算法以及一些高級的變體,不僅涉及梯度,還涉及Hessian。在這本書的大部分內容中,感興趣的量是訓練損失的梯度。但是上面的表述——計算輸出相對于輸入的梯度——是完全通用的,因為我們可以簡單地在網絡中添加一個新的輸出節點,來計算舊輸出造成的訓練損失。那么感興趣的量確實是這個新輸出相對于網絡參數的梯度。反向傳播的重要性源于它的效率。假設節點的操作時間為單位時間,則運行時間為線性,具體為O(Network Size) = O(V + E),其中V為網絡中節點的數量,E為邊的數量。在計算機科學的許多其他設置中——例如,排序數字——這種樸素的算法將花費二次元的時間,而這將是非常低效的,甚至在今天的大型網絡中是不可行的。
泛化理論基礎
泛化理論給出了訓練樣本數量的估計,足以保證訓練網絡的測試損失幾乎與訓練損失一樣好。本章描述的經典觀點給出了非常松散的估計。本書后面的一章描述了最近對樣本復雜性進行更嚴格估計的嘗試。泛化界在數學理解中很有意義,為什么學習算法要泛化?泛化理論的靈感來自一個古老的哲學原理,叫做奧卡姆剃刀:如果要在一個更簡單的理論和一個更復雜的理論之間做出選擇,這兩個理論都能解釋一些經驗觀察,我們應該相信更簡單的理論。例如,哥白尼的日心說在科學界獲得了青睞,因為它比古代亞里士多德的理論更簡單地解釋了已****知的事實。雖然這很直觀,但奧卡姆的剃刀有點模糊,而且是手搖的。是什么讓一個理論“更簡單”或“更好”?
先進的優化概念
本章將介紹基本的二階方法(牛頓法),然后簡要討論動量,AdaGrad(以及AdaDelta/RMSProp)和Adam。一些關于利用Hessian-vector積的嘗試以及它們為什么沒有幫助的討論。
非凸的可處理景觀
深度學習依賴于優化復雜的非凸損失函數。尋找非凸目標的全局最小值在最壞情況下是NP困難的。然而,在深度學習中,隨機梯度下降等簡單算法往往會將目標值最后趨近于零或接近零。本章重點討論由非凸目標定義的優化景觀,并確定這些景觀的屬性,這些屬性允許簡單的優化算法找到全局最小值(或接近最小值)。迄今為止,這些性質適用于比深度學習更簡單的非非凸問題,如何用這種橫向分析來分析深度學習是開放的。
超寬神經網絡與神經切線核
訓練神經網絡是一個非凸優化問題,在最壞情況下,它是NP-hard [BR89]。另一方面,從經驗來看,隨機梯度下降這樣的簡單梯度算法往往可以達到零訓練損失,即簡單算法可以找到一個適合所有訓練數據的神經網絡。而且,即使將原始標簽替換為隨機標簽[ZBH+16b],仍然可以觀察到這種現象。對于這一令人驚訝的現象,一個被廣泛相信的解釋是神經網絡被過度參數化。例如,Wide ResNet使用的參數是訓練數據數量的100倍。因此,必須存在一種這種結構的神經網絡,可以適合所有的訓練數據。但是,從理論上講,這種存在性并不意味著用隨機初始化梯度法得到的網絡就能擬合所有數據。過度參數化也給泛化帶來了新的理論挑戰。傳統的泛化邊界通常要求參數的數量遠遠小于數據點的數量,而在過度參數化的范圍內,這些邊界變得空洞。本章涉及一種通過隨機初始化梯度下降訓練的神經網絡,該神經網絡使用具有特定核函數的核方法:由Jacot, Gabriel和Hongler [JGH18]首先提出的神經切線核(NTK)。在下面,我們將描述NTK是如何產生的,并使用NTK來解釋過度參數化神經網絡的優化和泛化行為。最后,我們還將討論NTK的一些實際應用。
基于算法正則化的歸納偏差
許多成功的基于深度神經網絡的現代機器學習系統都是過度參數化的,即參數的數量通常比樣本大小大得多。換句話說,經驗風險存在(無限)個(近似的)最小化者,其中許多不能很好地在未見的數據上推廣。要想學習成功,關鍵是要讓學習算法傾向于“更簡單”的假設,方法是用一定的復雜性項來權衡經驗損失,以確保經驗風險和總體風險接近。一些明確的正則化策略在實踐中被用于幫助這些系統的泛化,包括參數的l1和l2正則化[NH92]。
無監督學習:概述
到目前為止,這本書的大部分內容都是關于監督學習的。學習將輸入分類到類中,其中訓練數據由抽樣輸入和它們的正確標簽組成。這一章是無監督學習的介紹,其中一個隨機抽樣的數據點,但沒有標簽或類。
生成對抗網絡
第10章描述了生成模型的一些經典方法,這些方法通常使用對數似然方法進行訓練。我們還看到,對于復雜分布(比如真實圖像的分布)的高保真學習,它們通常是不夠的。生成式對抗網(GANs)是一種生成更真實樣本的方法。在本章中,為了方便起見,我們假設模型試圖生成圖像。下面是對模型生成的分布是否真實的一種標準解釋。
這本(ben)教(jiao)(jiao)科(ke)書(shu)在機器學(xue)習的背景下介(jie)紹線性代(dai)數和優化。書(shu)中(zhong)提供(gong)了例子和練習。每個章節末尾的練習解(jie)決方(fang)案(an)手冊可供(gong)教(jiao)(jiao)學(xue)指(zhi)導老師使用(yong)。本(ben)教(jiao)(jiao)材針對(dui)計算(suan)機科(ke)學(xue)、數學(xue)和數據科(ke)學(xue)領(ling)域(yu)的研究(jiu)生和教(jiao)(jiao)授(shou)。高級本(ben)科(ke)生也可以(yi)使用(yong)本(ben)教(jiao)(jiao)材。本(ben)書(shu)各章節的組織方(fang)式如(ru)下:
1. 線性代數及其應用:章節集中在線性代數的基礎以及它們在奇異值分解、矩陣分解、相似矩陣(核方法)和圖分析方面的常見應用。大量的(de)機器(qi)學(xue)習(xi)應用(yong)已經(jing)被用(yong)作例子(zi),如光譜(pu)聚類(lei)、基于核的(de)分(fen)類(lei)和(he)異常值(zhi)檢測。緊密整合(he)的(de)線性代數(shu)方法與(yu)例子(zi),從機器(qi)學(xue)習(xi)區分(fen)這(zhe)本(ben)書從線性代數(shu)的(de)一(yi)般卷。重點顯然(ran)是(shi)機器(qi)學(xue)習(xi)線性代數(shu)最相關的(de)方面,并教(jiao)讀者如何(he)應用(yong)這(zhe)些概念。
2. 優化及其應用:機器學習的大部分內容都是優化問題,其中我們試圖最大化回歸和分類模型的準確性。以優(you)化為中(zhong)心的(de)機(ji)器學(xue)習的(de)“父問(wen)(wen)題”是最(zui)小(xiao)二(er)乘(cheng)回(hui)(hui)歸。有趣的(de)是,這個(ge)問(wen)(wen)題在線性代數和優(you)化中(zhong)都有出現,是連(lian)接這兩個(ge)領域的(de)關(guan)鍵問(wen)(wen)題之一(yi)。最(zui)小(xiao)二(er)乘(cheng)回(hui)(hui)歸也(ye)(ye)是支(zhi)持向(xiang)量機(ji)、邏輯回(hui)(hui)歸和推薦系統的(de)起點。此外(wai),降維和矩陣(zhen)分解的(de)方法也(ye)(ye)需要優(you)化方法的(de)發展。在計算圖中(zhong)討論了優(you)化的(de)一(yi)般觀點,以及它在神經網絡中(zhong)的(de)反向(xiang)傳(chuan)播的(de)應用。
機(ji)(ji)器(qi)學(xue)習初(chu)學(xue)者(zhe)經常面臨的(de)(de)(de)一(yi)個挑(tiao)戰是(shi)線(xian)性(xing)代數(shu)和(he)優化(hua)(hua)(hua)所需的(de)(de)(de)廣泛背景。一(yi)個問題是(shi),現有的(de)(de)(de)線(xian)性(xing)代數(shu)和(he)優化(hua)(hua)(hua)課程(cheng)并不(bu)是(shi)針對機(ji)(ji)器(qi)學(xue)習的(de)(de)(de);因此(ci),一(yi)個人(ren)通常需要完(wan)成(cheng)比機(ji)(ji)器(qi)學(xue)習所需的(de)(de)(de)更多(duo)的(de)(de)(de)課程(cheng)材料。此(ci)外,優化(hua)(hua)(hua)和(he)線(xian)性(xing)代數(shu)的(de)(de)(de)某些類型的(de)(de)(de)思想和(he)技巧(qiao)在機(ji)(ji)器(qi)學(xue)習中(zhong)出現的(de)(de)(de)頻(pin)率(lv)比其他(ta)以應用程(cheng)序為中(zhong)心的(de)(de)(de)設置更高。因此(ci),發展一(yi)種更適合(he)機(ji)(ji)器(qi)學(xue)習的(de)(de)(de)特定視角的(de)(de)(de)線(xian)性(xing)代數(shu)和(he)優化(hua)(hua)(hua)的(de)(de)(de)觀點具有重要的(de)(de)(de)價(jia)值。
這項正在進行的工作旨在提供統計學習的統一介紹,從經典模型(如GMM和HMM)慢慢構建到現代神經網絡(如VAE和擴散模型)。今天,有許多互聯網資源單獨地解釋這個或那個新的機器學習算法,但它們沒有(也不能,在這么短的時間內)將這些算法彼此聯系起來,或將這些算法與統計模型的經典文獻聯系起來,現代算法就是從這些文獻中產生的。另一個明顯缺乏的是單一的符號系統,盡管對于那些已經熟悉材料的人來說(如這些帖子的作者)并不困擾,但這增加了新手進入的巨大障礙。同樣,我的目標是盡可能地將各種模型同化為一個單一的框架來進行推理和學習,展示如何(以及為什么)將一個模型轉變為另一個模型,而最小化更改(其中一些是新穎的,其他來自文獻)。一些背景(jing)知識(shi)當(dang)然是(shi)必要的(de)。我假設讀者熟悉基本的(de)多變量微積分、概率和統計以及(ji)線(xian)性代數。這本書的(de)目(mu)標當(dang)然不是(shi)完整的(de),而是(shi)或多或少地從基礎知識(shi)到(dao)過去十(shi)年中極(ji)其強(qiang)大的(de)新模型的(de)直線(xian)路徑。
第一部分:表示和推理
我(wo)們通(tong)常從(cong)一(yi)組(zu)變(bian)量(liang)和(he)(假設的(de)(de)(de))它們之間的(de)(de)(de)統(tong)計(ji)相關(guan)性開始(shi)我(wo)們的(de)(de)(de)綜述(shu)。注(zhu)意,這個集(ji)合可能包括“潛(qian)在”變(bian)量(liang),我(wo)們還(huan)沒有觀(guan)察到(dao)(dao)這些(xie)變(bian)量(liang)。推(tui)理是(shi)本書的(de)(de)(de)兩(liang)個主(zhu)要操作之一(yi)(另一(yi)個是(shi)學習(xi)),它由使(shi)用(yong)某種模型(xing)(xing)和(he)對(dui)非潛(qian)在變(bian)量(liang)(“觀(guan)察到(dao)(dao)的(de)(de)(de)”或(huo)“專利(li)的(de)(de)(de)”變(bian)量(liang))的(de)(de)(de)觀(guan)察來(lai)估計(ji)未(wei)觀(guan)察到(dao)(dao)的(de)(de)(de)或(huo)潛(qian)在的(de)(de)(de)變(bian)量(liang)組(zu)成。更準(zhun)確地說,我(wo)們可以根據觀(guan)測到(dao)(dao)的(de)(de)(de)變(bian)量(liang),推(tui)斷出其中(zhong)一(yi)些(xie)或(huo)所有變(bian)量(liang)的(de)(de)(de)概率分(fen)布。相反,學習(xi)包括為模型(xing)(xing)參數(shu)尋(xun)找(zhao)最優數(shu)值。因此(ci)(ci),推(tui)理和(he)學習(xi)分(fen)別(bie)是(shi)概率和(he)統(tong)計(ji)領域的(de)(de)(de)問(wen)題(ti)。盡管(guan)如此(ci)(ci),學習(xi)可以被同化(hua)為推(tui)理(貝葉斯推(tui)理),推(tui)理也可以被同化(hua)為學習(xi)(變(bian)分(fen)推(tui)理)。在接下來(lai)的(de)(de)(de)兩(liang)章中(zhong),我(wo)們將(jiang)假設我(wo)們的(de)(de)(de)數(shu)據模型(xing)(xing)是(shi)“完美的(de)(de)(de)”——盡管(guan)我(wo)們仍然將(jiang)通(tong)過(guo)分(fen)別(bie)使(shi)用(yong)p和(he)?p對(dui)應的(de)(de)(de)概率分(fen)布來(lai)保持模型(xing)(xing)生成過(guo)程(cheng)和(he)真實生成過(guo)程(cheng)之間的(de)(de)(de)區(qu)別(bie)。
第二部分:學習
對(dui)于機器,無論是生(sheng)物(wu)的(de)(de)(de)還是人工的(de)(de)(de),“學(xue)習”意(yi)味(wei)著什(shen)么?模(mo)糊地(di)(di)(di)說,它指的(de)(de)(de)是逐漸地(di)(di)(di)改(gai)變“參(can)數(shu)”的(de)(de)(de)值(zhi),從(cong)而提高某一(yi)特定任務的(de)(de)(de)性(xing)能。這些(xie)(xie)參(can)數(shu)可(ke)以是人工神經(jing)網絡(luo)的(de)(de)(de)權重和偏(pian)差,圖模(mo)型的(de)(de)(de)統計參(can)數(shu)(平均值(zhi)、方差等(deng)),或者生(sheng)物(wu)神經(jing)網絡(luo)的(de)(de)(de)突觸強度。任務可(ke)能是建立一(yi)個從(cong)輸入到(dao)輸出的(de)(de)(de)地(di)(di)(di)圖(例如,從(cong)照片(pian)到(dao)照片(pian)中(zhong)物(wu)體的(de)(de)(de)標簽),能夠從(cong)目(mu)標概率分布生(sheng)成樣本(ben),或在(zai)某些(xie)(xie)環境中(zhong)最大(da)化獎勵。
為什(shen)么我們只要求“好的(de)(de)(de)(de)(de)”而不是(shi)(shi)(shi)(shi)“正確的(de)(de)(de)(de)(de)”表現?從非(fei)常(chang)廣泛的(de)(de)(de)(de)(de)意義上說,統計學習(xi)問(wen)題出現時,沒有單(dan)一的(de)(de)(de)(de)(de)解(jie)(jie)決方案(an)是(shi)(shi)(shi)(shi)由(you)數據決定(ding)的(de)(de)(de)(de)(de)。解(jie)(jie)決方案(an)可能是(shi)(shi)(shi)(shi)不確定(ding)的(de)(de)(de)(de)(de)或(huo)(huo)過(guo)(guo)度(du)確定(ding)的(de)(de)(de)(de)(de),但在(zai)任何一種情況下,解(jie)(jie)決方案(an)都是(shi)(shi)(shi)(shi)放(fang)棄“對或(huo)(huo)錯(cuo)”,而選擇“更好或(huo)(huo)更壞”。例如,在(zai)過(guo)(guo)度(du)確定(ding)的(de)(de)(de)(de)(de)問(wen)題中,我們通過(guo)(guo)為不匹配分配“成本”,(通常(chang))隨著與正確解(jie)(jie)決方案(an)的(de)(de)(de)(de)(de)距離平滑地增加,來(lai)指定(ding)解(jie)(jie)決方案(an)的(de)(de)(de)(de)(de)錯(cuo)誤(wu)程(cheng)度(du);然后(hou)嘗(chang)試最小化這(zhe)個代價或(huo)(huo)損失(L)。因此,學習(xi)問(wen)題是(shi)(shi)(shi)(shi)典(dian)型(xing)的(de)(de)(de)(de)(de)優化問(wen)題。
//nostarch.com/math-deep-learning
深度學習無處不在,這使得AI的強大驅動力成為更多STEM專業人士需要了解的東西。學習使用哪個庫命令是一回事,但要真正理解這一原則,您需要掌握使之正確的數學概念。本書將為您提供概率論、統計學、線性代數和微分學等主題的工作知識,這些是使深度學習易于理解的基本數學知識,也是成功練習深度學習的關鍵。 這四個子領域中的每一個都與Python代碼和實際操作的示例相關聯,這些示例彌合了純數學及其在深度學習中的應用之間的差距。章節建立在彼此的基礎上,基本的主題,如貝葉斯定理,然后是更高級的概念,如使用向量、矩陣和函數的導數訓練神經網絡。在探索和實現深度學習算法時,您將最終使用所有這些數學知識,包括反向傳播和梯度下降——這些基本算法使AI革命成為可能。 你將學習:
目錄內容:
Introduction Chapter 1: Setting the Stage Chapter 2: Probability Chapter 3: More Probability Chapter 4: Statistics Chapter 5: Linear Algebra Chapter 6: More Linear Algebra Chapter 7: Differential Calculus Chapter 8: Matrix Calculus Chapter 9: Data Flow in Neural Networks Chapter 10: Backpropagation Chapter 11: Gradient Descent Appendix: Going Further View the Copyright page
View the detailed Table of Contents
View the Index
深(shen)度(du)神(shen)經網(wang)絡(luo)在(zai)計算(suan)機視覺(jue)、機器學(xue)習(xi)和(he)人工智能(neng)等許多領域都取得了顯(xian)著(zhu)的(de)(de)(de)經驗成功。隨(sui)著(zhu)經驗上的(de)(de)(de)成功,深(shen)度(du)學(xue)習(xi)在(zai)理(li)論(lun)上已(yi)被證明(ming)在(zai)表(biao)達能(neng)力方面(mian)具(ju)(ju)有(you)吸引(yin)力。即具(ju)(ju)有(you)一(yi)(yi)(yi)個(ge)隱(yin)層的(de)(de)(de)神(shen)經網(wang)絡(luo)可以(yi)近(jin)似(si)任意連續函(han)(han)(han)數(shu),而具(ju)(ju)有(you)更深(shen)層次的(de)(de)(de)神(shen)經網(wang)絡(luo)可以(yi)近(jin)似(si)具(ju)(ju)有(you)較少參數(shu)的(de)(de)(de)特定類函(han)(han)(han)數(shu)。表(biao)達理(li)論(lun)指出,在(zai)一(yi)(yi)(yi)定規模的(de)(de)(de)神(shen)經網(wang)絡(luo)中(zhong),存(cun)在(zai)近(jin)似(si)目標函(han)(han)(han)數(shu)的(de)(de)(de)最優(you)(you)(you)參數(shu)向量。然而,在(zai)神(shen)經網(wang)絡(luo)優(you)(you)(you)化(hua)(hua)(hua)過(guo)(guo)程(cheng)(cheng)中(zhong),表(biao)達理(li)論(lun)并不(bu)(bu)能(neng)保(bao)證能(neng)夠有(you)效地找到(dao)這樣的(de)(de)(de)最優(you)(you)(you)向量。優(you)(you)(you)化(hua)(hua)(hua)是(shi)深(shen)度(du)學(xue)習(xi)的(de)(de)(de)關鍵步驟之一(yi)(yi)(yi),因為對數(shu)據的(de)(de)(de)學(xue)習(xi)是(shi)通過(guo)(guo)優(you)(you)(you)化(hua)(hua)(hua)來實現的(de)(de)(de),即對深(shen)度(du)神(shen)經網(wang)絡(luo)的(de)(de)(de)參數(shu)進(jin)行優(you)(you)(you)化(hua)(hua)(hua),使網(wang)絡(luo)與數(shu)據保(bao)持一(yi)(yi)(yi)致的(de)(de)(de)過(guo)(guo)程(cheng)(cheng)。這個(ge)過(guo)(guo)程(cheng)(cheng)通常(chang)需(xu)要非凸優(you)(you)(you)化(hua)(hua)(hua),這對于一(yi)(yi)(yi)般的(de)(de)(de)高維問(wen)題來說是(shi)不(bu)(bu)可擴(kuo)展的(de)(de)(de)。事實上,一(yi)(yi)(yi)般來說,神(shen)經網(wang)絡(luo)的(de)(de)(de)優(you)(you)(you)化(hua)(hua)(hua)是(shi)不(bu)(bu)可擴(kuo)展的(de)(de)(de),除非對其架(jia)構做額外的(de)(de)(de)假設。
本文通過研究可擴展性中的一些基本瓶頸,如次最優局部極小值和鞍點,研究了各種深度神經網絡體系結構的非凸優化問題。特別地,對于深度(du)神經(jing)網(wang)(wang)絡(luo)(luo)(luo),我(wo)(wo)們給出(chu)了局(ju)部(bu)極(ji)小(xiao)值(zhi)和臨界點的(de)(de)(de)各(ge)種(zhong)保證,以(yi)及(ji)梯度(du)下降找到的(de)(de)(de)點。證明(ming)了在(zai)深度(du)神經(jing)網(wang)(wang)絡(luo)(luo)(luo)非凸優化(hua)中,對實際度(du)進(jin)行適度(du)的(de)(de)(de)過參(can)數(shu)化(hua)可(ke)(ke)以(yi)保證梯度(du)下降找到全(quan)局(ju)最(zui)小(xiao)值(zhi)。此外(wai),即(ji)使沒(mei)有過度(du)參(can)數(shu)化(hua),我(wo)(wo)們表明(ming),無論是理論還(huan)是經(jing)驗,增(zeng)加參(can)數(shu)的(de)(de)(de)數(shu)量,改(gai)善臨界點和局(ju)部(bu)極(ji)小(xiao)值(zhi)的(de)(de)(de)值(zhi)向全(quan)局(ju)最(zui)小(xiao)值(zhi)。我(wo)(wo)們還(huan)證明(ming)了殘差神經(jing)網(wang)(wang)絡(luo)(luo)(luo)局(ju)部(bu)極(ji)小(xiao)值(zhi)的(de)(de)(de)理論保證。此外(wai),本文提出(chu)了一個統一的(de)(de)(de)理論來分析(xi)這(zhe)(zhe)(zhe)些(xie)特定架構(gou)之外(wai)的(de)(de)(de)各(ge)種(zhong)深度(du)神經(jing)網(wang)(wang)絡(luo)(luo)(luo)的(de)(de)(de)臨界點和局(ju)部(bu)極(ji)小(xiao)值(zhi)。這(zhe)(zhe)(zhe)些(xie)結(jie)果表明(ming),盡管在(zai)理論的(de)(de)(de)最(zui)壞(huai)情(qing)況和最(zui)壞(huai)的(de)(de)(de)架構(gou)中存在(zai)可(ke)(ke)伸(shen)縮(suo)性問(wen)題,但我(wo)(wo)們可(ke)(ke)以(yi)避免(mian)這(zhe)(zhe)(zhe)個問(wen)題,并在(zai)實踐中對各(ge)種(zhong)有用架構(gou)的(de)(de)(de)大(da)型(xing)問(wen)題進(jin)行良好的(de)(de)(de)可(ke)(ke)擴展(zhan)性。
圖片
凸優化研究在凸集上最小化凸函數的問題。凸性,以及它的眾多含義,已經被用來為許多類凸規劃提出有效的算法。因此,凸優化已經廣泛地影響了科學和工程的幾個學科。
在過去的幾年里,凸優化算法已經徹底改變了算法設計,無論是離散優化問題還是連續優化問題。對于諸如圖中最大流、二分圖中最大匹配和子函數最小化等問題,已知最快的算法涉及凸優化算法的基本和非平凡使用,例如梯度下降、鏡像下降、內點方法和切割平面方法。令人驚訝的是,凸優化算法也被用來設計離散對象(如擬陣)的計數問題。同時,凸優化算法已經成為許多現代機器學習應用的核心。在越來越大和越來越復雜的輸入實例的驅動下,對凸優化算法的需求也極大地推動了凸優化本身的發展。
//convex-optimization.github.io/
這本書的目標是使讀者能夠深入理解凸優化的算法。重點是從第一性原理導出凸優化的關鍵算法,并根據輸入長度建立精確的運行時間界限。鑒于這些方法的廣泛適用性,單本書不可能展示所有這些方法的應用。這本書展示了各種離散優化和計數問題的快速算法的應用。本書中選擇的應用程序旨在說明連續優化和離散優化之間令人驚訝的橋梁。
在過去的(de)(de)(de)(de)十年里,人(ren)們對人(ren)工智能和(he)機(ji)器學(xue)(xue)(xue)習的(de)(de)(de)(de)興趣有(you)(you)(you)了相(xiang)當(dang)(dang)大的(de)(de)(de)(de)增(zeng)長。從最廣泛(fan)的(de)(de)(de)(de)意義上說(shuo),這(zhe)些領(ling)(ling)域(yu)旨在“學(xue)(xue)(xue)習一(yi)些有(you)(you)(you)用(yong)的(de)(de)(de)(de)東西”,了解(jie)生物體所處(chu)的(de)(de)(de)(de)環(huan)境。如何處(chu)理(li)(li)(li)收集到的(de)(de)(de)(de)信(xin)息導致(zhi)了算法的(de)(de)(de)(de)發(fa)展(zhan)——如何處(chu)理(li)(li)(li)高維數據和(he)處(chu)理(li)(li)(li)不(bu)確(que)定(ding)性。在機(ji)器學(xue)(xue)(xue)習和(he)相(xiang)關領(ling)(ling)域(yu)的(de)(de)(de)(de)早期(qi)研究(jiu)階(jie)段,類似的(de)(de)(de)(de)技(ji)術(shu)在相(xiang)對孤立(li)的(de)(de)(de)(de)研究(jiu)社區中(zhong)被發(fa)現(xian)。雖然不(bu)是(shi)所有(you)(you)(you)的(de)(de)(de)(de)技(ji)術(shu)都有(you)(you)(you)概率(lv)(lv)(lv)論(lun)的(de)(de)(de)(de)自(zi)然描述(shu),但(dan)許多都有(you)(you)(you),它是(shi)圖模(mo)(mo)型(xing)的(de)(de)(de)(de)框架(jia)(圖和(he)概率(lv)(lv)(lv)論(lun)的(de)(de)(de)(de)結合),使從統計物理(li)(li)(li)、統計、機(ji)器學(xue)(xue)(xue)習和(he)信(xin)息理(li)(li)(li)論(lun)的(de)(de)(de)(de)想(xiang)法的(de)(de)(de)(de)理(li)(li)(li)解(jie)和(he)轉(zhuan)移。在這(zhe)種程度上,現(xian)在有(you)(you)(you)理(li)(li)(li)由期(qi)待(dai)機(ji)器學(xue)(xue)(xue)習研究(jiu)人(ren)員熟悉統計建(jian)模(mo)(mo)技(ji)術(shu)的(de)(de)(de)(de)基礎知識。這(zhe)本書(shu)集中(zhong)在信(xin)息處(chu)理(li)(li)(li)和(he)機(ji)器學(xue)(xue)(xue)習的(de)(de)(de)(de)概率(lv)(lv)(lv)方(fang)面(mian)。當(dang)(dang)然,沒(mei)有(you)(you)(you)人(ren)說(shuo)這(zhe)種方(fang)法是(shi)正確(que)的(de)(de)(de)(de),也沒(mei)有(you)(you)(you)人(ren)說(shuo)這(zhe)是(shi)唯一(yi)有(you)(you)(you)用(yong)的(de)(de)(de)(de)方(fang)法。事實上,有(you)(you)(you)人(ren)可(ke)能會反駁說(shuo),這(zhe)是(shi)沒(mei)有(you)(you)(you)必要的(de)(de)(de)(de),因為“生物有(you)(you)(you)機(ji)體不(bu)使用(yong)概率(lv)(lv)(lv)論(lun)”。無論(lun)情況(kuang)是(shi)否(fou)如此,不(bu)可(ke)否(fou)認的(de)(de)(de)(de)是(shi),圖模(mo)(mo)型(xing)和(he)概率(lv)(lv)(lv)框架(jia)幫助機(ji)器學(xue)(xue)(xue)習領(ling)(ling)域(yu)出現(xian)了新算法和(he)模(mo)(mo)型(xing)的(de)(de)(de)(de)爆炸式增(zeng)長。我(wo)們還應(ying)該(gai)清楚,貝葉(xie)斯觀點并不(bu)是(shi)描述(shu)機(ji)器學(xue)(xue)(xue)習和(he)信(xin)息處(chu)理(li)(li)(li)的(de)(de)(de)(de)唯一(yi)方(fang)法。貝葉(xie)斯和(he)概率(lv)(lv)(lv)技(ji)術(shu)在需(xu)要考慮不(bu)確(que)定(ding)性的(de)(de)(de)(de)領(ling)(ling)域(yu)中(zhong)發(fa)揮了自(zi)己的(de)(de)(de)(de)作用(yong)。
//www0.cs.ucl.ac.uk/staff/d.barber/brml/
本書結構
本書第一(yi)(yi)部分(fen)的(de)(de)(de)(de)(de)目的(de)(de)(de)(de)(de)之(zhi)一(yi)(yi)是鼓勵計算(suan)機(ji)科學(xue)專業的(de)(de)(de)(de)(de)學(xue)生進入(ru)這(zhe)(zhe)一(yi)(yi)領域。許多現代學(xue)生面臨的(de)(de)(de)(de)(de)一(yi)(yi)個(ge)特(te)別(bie)(bie)困難是有限的(de)(de)(de)(de)(de)正規微積分(fen)和(he)線性代數(shu)訓練(lian),這(zhe)(zhe)意(yi)味(wei)著連續和(he)高(gao)維分(fen)布的(de)(de)(de)(de)(de)細節可能會讓他們離開。在(zai)以概率作為推理系統的(de)(de)(de)(de)(de)一(yi)(yi)種(zhong)形(xing)式開始時(shi),我們希望(wang)向(xiang)讀者展示(shi)他們可能更熟悉(xi)的(de)(de)(de)(de)(de)邏輯推理和(he)動態規劃(hua)的(de)(de)(de)(de)(de)想(xiang)法(fa)(fa)如何在(zai)概率環(huan)境(jing)中有自然(ran)的(de)(de)(de)(de)(de)相(xiang)似之(zhi)處。特(te)別(bie)(bie)是,計算(suan)機(ji)科學(xue)的(de)(de)(de)(de)(de)學(xue)生熟悉(xi)的(de)(de)(de)(de)(de)概念(nian),算(suan)法(fa)(fa)為核(he)心(xin)。然(ran)而,在(zai)機(ji)器學(xue)習中更常見的(de)(de)(de)(de)(de)做法(fa)(fa)是將模型視為核(he)心(xin),而如何實現則是次(ci)要(yao)的(de)(de)(de)(de)(de)。從這(zhe)(zhe)個(ge)角度來(lai)看,理解(jie)如何將一(yi)(yi)個(ge)數(shu)學(xue)模型轉(zhuan)換成一(yi)(yi)段計算(suan)機(ji)代碼是核(he)心(xin)。
第二部(bu)(bu)分(fen)介紹了(le)理解連續分(fen)布所需的(de)(de)統計(ji)背景(jing),以及如何從(cong)概率框架來(lai)看待學(xue)習(xi)。第三(san)部(bu)(bu)分(fen)討(tao)論(lun)機器(qi)(qi)(qi)學(xue)習(xi)的(de)(de)主題。當(dang)然,當(dang)一(yi)些讀者看到他(ta)們最喜歡的(de)(de)統計(ji)話題被列(lie)在(zai)機器(qi)(qi)(qi)學(xue)習(xi)下面(mian)時(shi),他(ta)們會感到驚訝。統計(ji)學(xue)和機器(qi)(qi)(qi)學(xue)習(xi)之間(jian)的(de)(de)一(yi)個不(bu)同觀點是(shi)(shi),我們最終希望構建什(shen)么(me)樣的(de)(de)系統(能夠完成“人類/生(sheng)物信息處理任(ren)務的(de)(de)機器(qi)(qi)(qi)),而不(bu)是(shi)(shi)某些技(ji)術。因此,我認為這本書的(de)(de)這一(yi)部(bu)(bu)分(fen)對機器(qi)(qi)(qi)學(xue)習(xi)者來(lai)說是(shi)(shi)有(you)用的(de)(de)。第四部(bu)(bu)分(fen)討(tao)論(lun)了(le)明(ming)確(que)(que)考慮時(shi)間(jian)的(de)(de)動態模(mo)(mo)型。特別是(shi)(shi)卡爾曼濾波器(qi)(qi)(qi)被視為圖模(mo)(mo)型的(de)(de)一(yi)種形式,這有(you)助于強調模(mo)(mo)型是(shi)(shi)什(shen)么(me),而不(bu)是(shi)(shi)像工(gong)程文獻中更傳統的(de)(de)那樣把它作為一(yi)個“過濾器(qi)(qi)(qi)”。第五部(bu)(bu)分(fen)簡要介紹了(le)近似推理技(ji)術,包括隨(sui)機(蒙特卡羅)和確(que)(que)定(ding)性(xing)(變分(fen))技(ji)術。
近(jin)年來,深度(du)學習已經成為(wei)機(ji)器學習和計算機(ji)視覺、自然(ran)語言處理等相關(guan)領域的(de)(de)中心范式。但(dan)是對這一努(nu)力(li)的(de)(de)許多方(fang)面的(de)(de)數學理解仍然(ran)缺乏。訓(xun)練何時成功,速度(du)有多快? 用了多少例子? 各種架(jia)構(gou)的(de)(de)優點和局限性是什么? 本書(shu)重(zhong)點研究(jiu)深度(du)學習的(de)(de)理論方(fang)面。
在過(guo)去的(de)(de)(de)(de)十年(nian)里,神經(jing)網絡在視覺、語音(yin)、語言理(li)(li)解(jie)、醫學、機器人(ren)和游(you)戲(xi)等領(ling)(ling)域取(qu)得了(le)(le)驚人(ren)的(de)(de)(de)(de)成(cheng)果。人(ren)們原(yuan)本(ben)以為(wei),這(zhe)(zhe)種成(cheng)功需要克服理(li)(li)論上存在的(de)(de)(de)(de)重大(da)障礙。畢(bi)竟,深度學習優化是非凸的(de)(de)(de)(de)、高(gao)度非線性(xing)的(de)(de)(de)(de)、高(gao)維的(de)(de)(de)(de),那么我們為(wei)什(shen)么能夠(gou)訓練這(zhe)(zhe)些網絡呢?在許多情況下(xia),它(ta)們擁有的(de)(de)(de)(de)參(can)數(shu)遠遠多于(yu)記憶數(shu)據所(suo)需的(de)(de)(de)(de)參(can)數(shu),那么為(wei)什(shen)么它(ta)們能夠(gou)很好地推廣呢?盡管這(zhe)(zhe)些主題已經(jing)占據了(le)(le)機器學習研究領(ling)(ling)域的(de)(de)(de)(de)大(da)部分注意力,但當涉及到(dao)更簡單的(de)(de)(de)(de)模型時,神經(jing)網絡領(ling)(ling)域的(de)(de)(de)(de)原(yuan)則是先數(shu)據訓練再說。顯然,這(zhe)(zhe)招奏(zou)效(xiao)了(le)(le)。
//www.cs.toronto.edu/~rgrosse/courses/csc2541_2021/
結果,神(shen)經網(wang)絡的實際成功已經超過了我們理(li)解它們如何工作的能(neng)力。這門課(ke)是(shi)關于(yu)開(kai)發(fa)概念工具來(lai)理(li)解當(dang)神(shen)經網(wang)絡訓練時(shi)會發(fa)生什么。其中一些(xie)思想早在(zai)幾十年前就已經形成了(可能(neng)已經被社(she)區的大部分人遺忘(wang)了),而另(ling)一些(xie)思想今(jin)天才(cai)剛剛開(kai)始(shi)被理(li)解。我將試圖傳達我們最(zui)好的現代理(li)解,盡管(guan)它可能(neng)不完(wan)整。
這(zhe)門(men)課(ke)(ke)從優化(hua)中汲取(qu)靈感(gan),它不是一門(men)優化(hua)課(ke)(ke)。一方面,優化(hua)的(de)(de)(de)研究通常(chang)是指令性的(de)(de)(de),從優化(hua)問題的(de)(de)(de)信息(xi)和明確(que)定義的(de)(de)(de)目標(如在(zai)特定規范下快速(su)收斂)開始,并找出保證實(shi)現該目標的(de)(de)(de)計劃。對于現代神經網絡來說,分(fen)析通常(chang)是描述(shu)性的(de)(de)(de): 采用在(zai)使用的(de)(de)(de)程序,并找出它們(似乎)有效(xiao)的(de)(de)(de)原(yuan)因(yin)。希望這(zhe)種理解能(neng)讓我們改進算法。
與優化(hua)研(yan)究(jiu)的(de)另一(yi)個(ge)區別(bie)是(shi)(shi),目標不是(shi)(shi)簡單地擬合一(yi)個(ge)有限(xian)的(de)訓(xun)練集,而(er)是(shi)(shi)一(yi)般化(hua)。盡管神經(jing)網絡(luo)有巨(ju)大的(de)能力(li),但(dan)為什么它能泛化(hua)與訓(xun)練的(de)動態(tai)密切相關。因此,如(ru)果我(wo)們從優化(hua)中引(yin)入(ru)一(yi)個(ge)想法(fa),我(wo)們不僅(jin)需要考(kao)慮它是(shi)(shi)否(fou)會更快地最小(xiao)化(hua)成(cheng)本函數(shu),還需要考(kao)慮它是(shi)(shi)否(fou)以一(yi)種有利于泛化(hua)的(de)方式實(shi)現。
這(zhe)類(lei)應用(yong)不會為(wei)您(nin)提(ti)供(gong)(gong)在ImageNet上(shang)實(shi)現(xian)最先(xian)進性能的(de)方(fang)法。它也不是那(nei)種為(wei)了證明(ming)定理(li)而去證明(ming)定理(li)的(de)理(li)論(lun)課。相反(fan),我們的(de)目的(de)是為(wei)您(nin)提(ti)供(gong)(gong)概念性工具,以便您(nin)在任何特(te)定情況下推斷出影響(xiang)訓(xun)練的(de)因素。
除了(le)讓你的(de)(de)網絡更好地(di)訓(xun)(xun)練之外(wai)(wai),學(xue)習神經網絡訓(xun)(xun)練動力學(xue)的(de)(de)另一個重要(yao)原因(yin)(yin)是(shi),許多現代架(jia)構(gou)本(ben)身(shen)(shen)就足夠強(qiang)大,可(ke)(ke)以(yi)進行優化(hua)。這可(ke)(ke)能(neng)(neng)是(shi)因(yin)(yin)為我們(men)(men)在體系結構(gou)中明確地(di)構(gou)建(jian)了(le)優化(hua),就像(xiang)在MAML或深(shen)度均衡模(mo)型中那樣。或者(zhe),我們(men)(men)可(ke)(ke)能(neng)(neng)只是(shi)在大量數(shu)據上訓(xun)(xun)練一個靈(ling)活的(de)(de)架(jia)構(gou),然后發(fa)現它具有(you)(you)驚人的(de)(de)推理能(neng)(neng)力,就像(xiang)GPT3一樣。不管(guan)怎樣,如果網絡架(jia)構(gou)本(ben)身(shen)(shen)在優化(hua)某些(xie)東西,那么外(wai)(wai)部訓(xun)(xun)練過程(cheng)就會與(yu)本(ben)課(ke)程(cheng)中討論的(de)(de)問(wen)題(ti)糾纏在一起(qi),不管(guan)我們(men)(men)喜歡與(yu)否(fou)。為了(le)有(you)(you)希望理解它提出的(de)(de)解決(jue)方案,我們(men)(men)需要(yao)理解問(wen)題(ti)。因(yin)(yin)此,本(ben)課(ke)程(cheng)將以(yi)雙層優化(hua)結束(shu),利用課(ke)程(cheng)中涵蓋的(de)(de)所有(you)(you)內容。
目錄內容:
我們將通過(guo)分析(xi)一(yi)個簡單(dan)的(de)模型開始這門課,梯度下降動力(li)學可以被精(jing)確地確定:線(xian)性(xing)回歸。盡管(guan)線(xian)性(xing)回歸很簡單(dan),但它提(ti)供了對神經(jing)網(wang)絡訓練驚(jing)人的(de)洞察力(li)。我們將使(shi)用(yong)線(xian)性(xing)回歸來理(li)解兩種神經(jing)網(wang)絡訓練現象: 為(wei)什么(me)對輸入進行歸一(yi)化(hua)是一(yi)個好策略,以及(ji)增加(jia)維(wei)度可以減(jian)少過(guo)擬合。
線(xian)性化(hua)是我們(men)理解非線(xian)性系統最重要的工具之一(yi)(yi)。我們(men)將涵蓋神經(jing)網絡(luo)的一(yi)(yi)階(jie)泰勒近似(si)(si)(梯度,方向(xiang)導數)和(he)二階(jie)近似(si)(si)(Hessian)。我們(men)將看到如何用(yong)(yong)雅可比(bi)向(xiang)量乘積有效地計算它們(men)。我們(men)將使用(yong)(yong)Hessian診斷緩慢收斂和(he)解釋(shi)網絡(luo)預測。
度量(liang)給(gei)出了流形(xing)上距離(li)的一個(ge)(ge)局部概(gai)念。在許多情況下,兩(liang)個(ge)(ge)神經網絡(luo)之間(jian)的距離(li)可以更(geng)有效地定義為(wei)它們所代表的函(han)數(shu)之間(jian)的距離(li),而不是(shi)權重(zhong)向量(liang)之間(jian)的距離(li)。這就引出了一個(ge)(ge)重(zhong)要的優化工具,叫做自然梯度。
我們(men)從幾個角度(du)來激勵神經(jing)網絡的(de)二(er)階(jie)優(you)化:最(zui)小(xiao)化二(er)階(jie)泰勒近(jin)似(si)、預處理、不變性(xing)和近(jin)端優(you)化。我們(men)將看到如何使用共軛梯(ti)度(du)或克羅內克因子近(jin)似(si)來近(jin)似(si)二(er)階(jie)更新。
我們看看已經(jing)成為神經(jing)網(wang)絡(luo)訓練的(de)主要內容的(de)三(san)個算法特征。我們試圖(tu)理解它們對動力學(xue)(xue)的(de)影(ying)響,并找出(chu)構建深度學(xue)(xue)習系統的(de)一些陷阱(jing)。
機器(qi)學(xue)(xue)習使(shi)用(yong)各(ge)種(zhong)數(shu)學(xue)(xue)領(ling)域的(de)(de)(de)工(gong)具。本(ben)(ben)文試圖對(dui)機器(qi)學(xue)(xue)習入門(men)課程(cheng)所需的(de)(de)(de)數(shu)學(xue)(xue)背(bei)景(jing)進行(xing)總(zong)結,這(zhe)門(men)課在加(jia)(jia)州(zhou)大(da)學(xue)(xue)伯克利分校被稱為CS 189/289A。我(wo)們(men)假設讀者(zhe)已經(jing)熟(shu)悉多變量微積分和線性代數(shu)的(de)(de)(de)基(ji)本(ben)(ben)概(gai)念(UCB數(shu)學(xue)(xue)53/54的(de)(de)(de)水(shui)平)。這(zhe)里(li)介紹的(de)(de)(de)大(da)多數(shu)主題都很少涉(she)及; 我(wo)們(men)打(da)算給出一個(ge)概(gai)述(shu),并向感興(xing)趣的(de)(de)(de)讀者(zhe)指出更(geng)全(quan)面的(de)(de)(de)處理(li)以獲得進一步的(de)(de)(de)細節。請注意,本(ben)(ben)文關注的(de)(de)(de)是(shi)機器(qi)學(xue)(xue)習的(de)(de)(de)數(shu)學(xue)(xue)背(bei)景(jing),而不(bu)(bu)是(shi)機器(qi)學(xue)(xue)習本(ben)(ben)身(shen)。我(wo)們(men)將不(bu)(bu)討論具體的(de)(de)(de)機器(qi)學(xue)(xue)習模型(xing)或算法,除非可能(neng)通(tong)過強調數(shu)學(xue)(xue)概(gai)念的(de)(de)(de)相(xiang)關性。該文件的(de)(de)(de)早期版本(ben)(ben)不(bu)(bu)包括校樣(yang)。我(wo)們(men)已開始在有助于理(li)解的(de)(de)(de)相(xiang)當短的(de)(de)(de)證(zheng)明(ming)(ming)(ming)里(li)加(jia)(jia)上(shang)證(zheng)明(ming)(ming)(ming)。這(zhe)些證(zheng)明(ming)(ming)(ming)不(bu)(bu)是(shi)cs189的(de)(de)(de)必要背(bei)景(jing),但(dan)可以用(yong)來加(jia)(jia)深讀者(zhe)的(de)(de)(de)理(li)解。