作者丨Thomas Viehmann
編譯丨錢磊 ?
今天我想要與大家分享的是深度神經(jīng)網(wǎng)絡(luò)的工作方式,以及深度神經(jīng)與“傳統(tǒng)”機(jī)器學(xué)習(xí)模型的不同之處。我的計(jì)劃具體如下:
首先簡(jiǎn)單地思考一下如何將問題設(shè)置成分類的形式;
接下來(lái)回顧偏差-方差分解,并在偏差-方差權(quán)衡的背景下,在VC-維數(shù)和非參數(shù)上進(jìn)行探討;
研究一些關(guān)于插值神經(jīng)網(wǎng)絡(luò)和雙下降的文獻(xiàn);
在文末做一個(gè)非常簡(jiǎn)單的實(shí)驗(yàn),用圖形直觀地講解為什么雙下降現(xiàn)象會(huì)發(fā)生。
1 ? 正式設(shè)置一個(gè)機(jī)器學(xué)習(xí)問題 為了有些趣味,讓我們先設(shè)置一個(gè)問題。 首先從數(shù)據(jù)開始。假設(shè)我們標(biāo)記了數(shù)據(jù),即是滿足Px,y分布的輸入數(shù)據(jù)x(比如圖片)和標(biāo)簽y。 如此一來(lái)我們得到:
分布Px,y固定且未知。對(duì)于i = 1……N來(lái)說(shuō),可獲得樣本,。
數(shù)學(xué)分析通常假設(shè)樣本是獨(dú)立的。
通常來(lái)說(shuō),我們需要假設(shè)標(biāo)簽y和輸入x間有y=?的函數(shù)關(guān)系,即是說(shuō),標(biāo)簽是精確的、沒有歧義的,但并非總是如此。
我們想要“訓(xùn)練”的是某些函數(shù)f:x?y?,或者說(shuō)是更普遍地估計(jì)條件分布P(y∣x)。我們的候選函數(shù)來(lái)自于參數(shù)集F={fθ∣θ∈Θ},在這里θ?代表參數(shù)。 為了達(dá)成目標(biāo),我們?cè)O(shè)定了損失函數(shù)(或風(fēng)險(xiǎn)函數(shù)),從概念上講,我們希望將預(yù)期損失最小化。 第一次嘗試通常是將經(jīng)驗(yàn)風(fēng)險(xiǎn)或者經(jīng)驗(yàn)損失
最小化。如果我們的損失函數(shù)是負(fù)對(duì)數(shù)似然,將最最小化就意味著計(jì)算最大相似估計(jì)。
對(duì)偏差-方差分解和偏差-方差平衡的簡(jiǎn)單介紹??
對(duì)于最小二乘損失L=(f(x)?y)2(最基本的回歸估計(jì)量)來(lái)說(shuō),把預(yù)期損失分解成幾個(gè)部分是很容易的。其訣竅在于,我們需要意識(shí)到我們的訓(xùn)練數(shù)據(jù)本身是一個(gè)從n次乘積分布
中采得的隨機(jī)變量,且我們訓(xùn)練的模型?f依賴于D,記作。通過巧妙地添加并利用??(x,y)?和D的獨(dú)立性,我們可以將預(yù)測(cè)的期望平方誤差分解為:
最后一項(xiàng)噪音并不依賴于我們的模型。 現(xiàn)在為了得到我們預(yù)測(cè)的良好的預(yù)期平方誤差,我們必須注意到模型輸出的偏差(第一項(xiàng))和方差(第二項(xiàng))的和很小。注意這里所有的項(xiàng)都是非負(fù)的。 針對(duì)二元分類器的預(yù)期精度,其實(shí)存在著類似但更復(fù)雜的分解,但其他損失函數(shù)通常很難分解,盡管我們可以想象那樣的模型選擇的工作也是類似的。 因?yàn)樽屍?方差等于0或非常接近0都相對(duì)容易,這樣分解會(huì)讓我們?cè)谄詈头讲铋g做出權(quán)衡:通過使用D中每個(gè)數(shù)據(jù)點(diǎn)的樣本均值作為估計(jì),偏差可以非常小,且能巧妙地給出正則性論證來(lái)假設(shè)函數(shù)是Lipschitz函數(shù)或至少是一致連續(xù)。這就是極端的過擬合。通過預(yù)測(cè)不依賴于D的函數(shù),比如,我們可以讓方差為0,這樣則是極端的欠擬合。 請(qǐng)注意,均方誤差的偏差-方差分解是一個(gè)根據(jù)數(shù)學(xué)定理(或至少一個(gè)引理)成立的方程,所以是普遍適用的,不需要任何條件。
2 ? 從僵化中解脫出來(lái),帶來(lái)自由的結(jié)構(gòu) 從某種程度上說(shuō),從上述極端情況轉(zhuǎn)向更溫和的條件也表明了我們?cè)趯?shí)踐中可以做些什么。
增加候選函數(shù)的集合
一種方法是,以一組非常嚴(yán)格的函數(shù)作為候選函數(shù),然后有意義地?cái)U(kuò)大候選函數(shù)的空間,以獲得(假設(shè)是嵌套的)序列F0?F1?…. 關(guān)鍵想法是,進(jìn)一步研究可以讓模型更好地適應(yīng)數(shù)據(jù),而我們則須知道何時(shí)停止這種深入。Vapnik和Chervonenkis 的結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理就是這么做的,盡管該原理沒有使用偏差-方差分解,而是使用了預(yù)期損失(風(fēng)險(xiǎn))與D上的觀察損失(經(jīng)驗(yàn)風(fēng)險(xiǎn))的邊界,和一個(gè)依賴于訓(xùn)練數(shù)據(jù)集大小N?和函數(shù)集的大小或其VC維的項(xiàng)。此處的典型情況是,一個(gè)人想要N≥VC-dim個(gè)樣本,卻可能有N≤20VC-dim個(gè)樣本。但請(qǐng)注意,這里參數(shù)的數(shù)量不是標(biāo)準(zhǔn)的一部分(但可能會(huì)影響VC維)。 最后,傳統(tǒng)標(biāo)準(zhǔn)比如赤池信息量準(zhǔn)則嘗試告訴你應(yīng)該“投資”多少參數(shù)來(lái)達(dá)到低的負(fù)對(duì)數(shù)可能性。但是Bishop在其引言中發(fā)現(xiàn),這些方法并不是很有效。
非參數(shù)估計(jì):正則化
經(jīng)典的非參數(shù)估計(jì)從另一個(gè)極端開始。如果我們?nèi)∧硞€(gè)函數(shù)空間,如在里有弱導(dǎo)數(shù)的索伯列夫函數(shù)空間?(無(wú)論采用何種測(cè)度,是x的分布抑或是包含輸入的的勒貝格測(cè)度),我們可以匹配任意有限樣本D上每一點(diǎn)的樣本均值,從而可以獲得0點(diǎn)態(tài)偏差, 但是最小化經(jīng)驗(yàn)風(fēng)險(xiǎn)是病態(tài)的,有無(wú)限多的解。 接下來(lái)要做的就是正則化。最著名的例子可能是增加一個(gè)規(guī)范項(xiàng)從而導(dǎo)致Tikhonov正則化,所以我們的損失看起來(lái)會(huì)是這樣
如果我們從偏差-方差的角度來(lái)看,我們能夠平衡偏差(當(dāng)λ→0沒有偏差,但會(huì)導(dǎo)致病態(tài))與方差(當(dāng)λ→∞,我們處于?
。我們并不想讓方差為0,因?yàn)槲覀兊恼齽t化項(xiàng)僅僅是一個(gè)半范數(shù))。當(dāng)然了,Grace Wahba有關(guān)正則化回歸的研究尤其與保持偏差-方差間的良好平衡相關(guān),特別是與如何尋找到一個(gè)合適的λ值相關(guān)。 通過觀察給定的λ,的極小值會(huì)有半范數(shù)值,該值必然能在
中將經(jīng)驗(yàn)最小二乘損失(第一項(xiàng)) 最小化,就可以將前一節(jié)中的ansatz函數(shù)與嵌套空間Fi聯(lián)系起來(lái)。因此來(lái)自遞增權(quán)重序列的遞減范數(shù)序列就給到了我們嵌套的Ansatz空間。 許多流行的正則回歸方法(例如Lasso)適合這種類型的框架。
贊美VC界
讓我們講回VC 界,正式一點(diǎn)以便增強(qiáng)直覺。關(guān)鍵的概率界限是為了準(zhǔn)確性(或者說(shuō)0-1的風(fēng)險(xiǎn))
我們來(lái)分析一下。外面部分稱“概率大于等于1?η”(我們還得更精確一點(diǎn)),此處我們覺得概率η太小了,這意味著我們所有的只是一個(gè)概率界限,而不是一個(gè)“幾乎肯定”的保證。 內(nèi)部的部分基本上是說(shuō),在全概率分布上的精度非常接近于在訓(xùn)練集上的精度,也就是說(shuō)在N變得非常大的時(shí)候,我們有一個(gè)差值趨于零的精確邊界。 從表面上看,這告訴了我們關(guān)于風(fēng)險(xiǎn)或準(zhǔn)確性的信息,但是關(guān)于模型又說(shuō)明了什么呢? 在我看來(lái),關(guān)鍵的信息是,我們的模型是如此嚴(yán)格,以至于我們可以看到測(cè)試集上發(fā)生的一切(或者更精確地說(shuō),在完整的Px,y分布上發(fā)生的一切)已經(jīng)在訓(xùn)練集中發(fā)生了。
貝葉斯放一邊
在貝葉斯環(huán)境下,正則化可以被解釋為最大后驗(yàn)(MAP)估計(jì),或者——如果我們經(jīng)歷了定義先驗(yàn)的麻煩——我們也可以對(duì)所有f∈F的估計(jì)進(jìn)行積分。
3 ? 這告訴了我們深度學(xué)習(xí)的什么? 當(dāng)我們將model.parameters()(這里我用的是PyTorch)傳遞給優(yōu)化器時(shí),深度學(xué)習(xí)看起來(lái)好像是參數(shù)化的。但其實(shí)它不是! 看起來(lái)這種正則化方法正是深度學(xué)習(xí)運(yùn)作的理論框架——有時(shí)人們對(duì)此知之甚少。我們的模型足夠大,從“道德上看來(lái)”足以成為非參數(shù),盡管我們還沒有完全理解,但我們所做的大多數(shù)事情(比如augmentation, norm layers和 dropout)其實(shí)都是正則化。 這也是M. Belkin等人所寫的《協(xié)調(diào)現(xiàn)代機(jī)器學(xué)習(xí)實(shí)踐和偏差-方差權(quán)衡》(Reconciling modern machine learning practice and the bias-variance trade-off)的主題和他們?cè)缙谘芯康闹黝},即泛化性能的關(guān)鍵是由某個(gè)特定函數(shù)空間范數(shù)衡量的函數(shù)的規(guī)律性或平滑性。? 我們有必要仔細(xì)看看M. Belkin等人(我認(rèn)為這是首次)對(duì)雙下降現(xiàn)象的描述:
這里有幾點(diǎn)需要注意:
M. Belkin等人把條件中的“傳統(tǒng)(classical)”和“現(xiàn)代(modern)”等限定詞用引號(hào)括了起來(lái)?!艾F(xiàn)代”條件是一種十分之非參數(shù)的學(xué)習(xí),具有一種我們還需要更加深入理解的正則化。
在多參數(shù)的條件下,偏差-方差思維似乎仍然是完全適用的,但非參數(shù)回歸可能是比“限制容量”的候選集更好的參考框架。
對(duì)于雙重下降現(xiàn)象的普遍理解似乎都是基于P. Nakkiran等人的文章:《雙重下降》(Deep Double Descent),這證明了這篇論文的優(yōu)秀,也證明了OpenAI能夠?qū)⑦@些選題推介給更廣泛的受眾。他們用更真實(shí)的網(wǎng)絡(luò)進(jìn)行了系統(tǒng)的實(shí)驗(yàn)(M. Belkin等人則引用了更淺層的網(wǎng)絡(luò))。對(duì)我來(lái)說(shuō),一個(gè)重要的結(jié)論是,雙重下降現(xiàn)象在標(biāo)簽損壞的兩種實(shí)驗(yàn)條件中存在“凹凸”,他們的報(bào)告稱,在標(biāo)簽干凈的實(shí)驗(yàn)中,所得到的結(jié)果則要平緩得多,沒有那么“凹凸”。 他們給出了一張圖,這張圖顯示了對(duì)于固定次數(shù)的epoch,用損壞標(biāo)簽將一個(gè)修改過的ResNet18訓(xùn)練成CIFAR10這個(gè)過程中的測(cè)試錯(cuò)誤。修改是指信道數(shù)量降到原數(shù)量的k分之一(k在64到1這個(gè)范圍)(意思是他們會(huì)從原ResNet18的64分之一開始做實(shí)驗(yàn),逐漸增加,最后達(dá)到原數(shù)量)。標(biāo)簽損壞發(fā)生在數(shù)據(jù)集中(在某一次epoch,而不是每個(gè)epoch中),15%的標(biāo)簽被切換到一個(gè)隨機(jī)錯(cuò)誤的類。這被解釋為一種概略的誤設(shè)。
4 ? VC理論對(duì)于用噪聲標(biāo)簽擬合模型有什么啟示? 通過上面的討論,我們了解到當(dāng)一個(gè)模型處于VC界有用的限定條件中(比如當(dāng)小模型處于“傳統(tǒng)”條件中),如果訓(xùn)練數(shù)據(jù)?D來(lái)自與原始數(shù)據(jù)相同的分布?Px,y,測(cè)試集的測(cè)試精度(很可能)接近訓(xùn)練精度。換句話說(shuō),這個(gè)條件意味著我們假設(shè)Px,y有相同的損壞程度(和損壞種類)。但這意味著如果模型學(xué)習(xí)了,且學(xué)會(huì)了不被損壞的訓(xùn)練數(shù)據(jù)分散太多注意力,也就是說(shuō),在訓(xùn)練數(shù)據(jù)上,正確標(biāo)簽會(huì)擠出損壞標(biāo)簽。
5 ? 特征和學(xué)習(xí) 讓對(duì)深度學(xué)習(xí)的直覺化變得困難的原因之一是Ansatz領(lǐng)域的自適應(yīng)特性。我這么說(shuō)的意思是,我們沒有一個(gè)固定的特征提取器(由手動(dòng)構(gòu)造,并由核機(jī)中使用的核家族給出)將學(xué)習(xí)應(yīng)用到特征上。通常,我們將最后一層的輸入視為特征(通過word2vet式損失、原型網(wǎng)絡(luò)、基準(zhǔn)無(wú)監(jiān)督學(xué)習(xí)等方式學(xué)習(xí)的向量表示方法),或者我們可能在MLP分類器頭之前的卷積層末尾分割卷積網(wǎng)絡(luò)。 傳統(tǒng)的做法是將學(xué)習(xí)后的分類器放在固定的特征提取器上,E. Hoffer等人的想法卻相反,他們甚至建議對(duì)分類器進(jìn)行固定,即只對(duì)特征提取器進(jìn)行訓(xùn)練。 因此,我們可能會(huì)試圖通過假裝提取特征來(lái)簡(jiǎn)化我們的直覺。在P. Nakkiran等人的標(biāo)題圖片實(shí)驗(yàn)中,當(dāng)使用t-SNE等降維機(jī)制將通過無(wú)噪聲數(shù)據(jù)學(xué)習(xí)到的特征可視化時(shí),添加標(biāo)簽噪聲相當(dāng)于在每個(gè)類對(duì)應(yīng)的點(diǎn)的blob上添加噪聲??紤]到這一點(diǎn),我們可以進(jìn)行一個(gè)類似的實(shí)驗(yàn),這個(gè)實(shí)驗(yàn)甚至比M. Belkin等人的人工數(shù)據(jù)實(shí)驗(yàn)更簡(jiǎn)單,那就是:理解深度學(xué)習(xí)。
6 ? 對(duì)標(biāo)簽噪聲、容量、雙下降和實(shí)驗(yàn)測(cè)試誤差的直覺
撇開統(tǒng)計(jì)數(shù)據(jù)不談:下文推測(cè)了一些可能發(fā)生的情況,通過想象我們可以在原型網(wǎng)絡(luò)中得到與P. Nakkiran等人圖中所描述的相同的現(xiàn)象,且容量由我們所能擁有的原型數(shù)量來(lái)表示:
在最左邊width(參數(shù))值1到5附近,我們的原型比類少,模型擬合程度不高(欠擬合),因?yàn)槟P筒荒艽硭械念悺?/p>
在width5附近,我們有10個(gè)(或者適當(dāng)?shù)馗啵┰?,但是,在每一個(gè)原型的訓(xùn)練中損壞標(biāo)簽都被擠出了,所以這些損壞標(biāo)簽沒有發(fā)揮作用。
在width5到10這個(gè)范圍,原型收集損壞的標(biāo)簽。由于每個(gè)原型都有一個(gè)用在推斷階段的“影響范圍”,所以存在一個(gè)相當(dāng)大的空間,在這個(gè)空間中損壞原型與測(cè)試是非常相關(guān)的。
在width10以外的范圍,我們?cè)黾恿烁嗟脑?。原型之間變得更近,在推斷階段中損壞的標(biāo)簽原型也被“擠出”,因此它們的“影響范圍”就會(huì)變得更小(因?yàn)楸绕饟碛?個(gè)損壞原形,同一個(gè)類擁有5個(gè)非損壞原型中的3個(gè)的概率更大)。
這對(duì)偏差-方差分解意味著什么? 回想一下,分解在空間上是逐點(diǎn)的,并像之前一樣要對(duì)各種訓(xùn)練數(shù)據(jù)集進(jìn)行方差和偏差處理。假設(shè)你只有兩個(gè)類,那么預(yù)測(cè)和標(biāo)簽要么是0要么是1。接下來(lái)原型收集已損壞的標(biāo)簽,就會(huì)產(chǎn)生偏差(因?yàn)槟銓⒁阅撤N概率預(yù)測(cè)錯(cuò)誤的事情)和方差(因?yàn)樵愀忸A(yù)測(cè)的區(qū)域取決于哪些標(biāo)簽已損壞,也就是取決于我們?cè)谀膫€(gè)數(shù)據(jù)集D上繪制),并使錯(cuò)誤預(yù)測(cè)的區(qū)域更小,從而減少方差和偏差。 在這種直覺中,早期停止的作用是檢測(cè)模型何時(shí)開始收集已損壞的標(biāo)簽。 所以看起來(lái)現(xiàn)代神經(jīng)網(wǎng)絡(luò)本質(zhì)上是非參數(shù)的,其工作方式依賴于各種正則化。為了使用M. Belkin等人的公式,我們希望更加了解,我們對(duì)于各種技術(shù)如何對(duì)某些函數(shù)空間范數(shù)作用的理解到了什么程度。似乎很難得出“傳統(tǒng)”統(tǒng)計(jì)數(shù)據(jù)表明現(xiàn)代學(xué)習(xí)不起作用的結(jié)論。 Hastie等人的《高維無(wú)脊最小二乘插值中的驚喜》(Surprises in High-Dimensional Ridgeless Least Squares Interpolation)一文將最小二乘作為模型問題,提供了非常全面的分析,這也可能為深度學(xué)習(xí)現(xiàn)象提供直覺。
在插值條件中擠出錯(cuò)誤標(biāo)記的數(shù)據(jù)??
我們可以做一個(gè)非常簡(jiǎn)單的插值條件的模擬。我們來(lái)思考一個(gè)由2d標(biāo)準(zhǔn)單位法線提取并沿著水平軸移動(dòng)±2的點(diǎn)的二分類問題,并從每個(gè)類別的分配中抽取25%的點(diǎn)。 為了得到一個(gè)插值條件,我們使用一個(gè)具有明顯峰值的核。為了有一個(gè)易分析處理的質(zhì)量并將其標(biāo)準(zhǔn)化為1,我們使用核 ?
這個(gè)核有單位質(zhì)量,在x=0時(shí)趨于無(wú)窮,且從原點(diǎn)衰減:
這意味著,如果我們將每一類的密度表示為樣本處核的均值,即:
假設(shè)不同類別的點(diǎn)不重合(幾乎肯定如此),我們可以根據(jù)更大的點(diǎn)對(duì)每個(gè)點(diǎn)進(jìn)行分類,或者說(shuō),如果我們想通過標(biāo)準(zhǔn)化每個(gè)點(diǎn)的概率密度來(lái)獲取概率
這給了我們一個(gè)插值解——在每個(gè)訓(xùn)練點(diǎn),標(biāo)簽類有無(wú)限密度,所以它被歸類為屬于這個(gè)類。 那么標(biāo)簽錯(cuò)誤發(fā)生了什么呢? 標(biāo)簽錯(cuò)誤會(huì)導(dǎo)致?lián)p壞的訓(xùn)練點(diǎn)附近的某些區(qū)域被分配給錯(cuò)誤的類。然而,附近正確類的點(diǎn)越多,錯(cuò)誤分類的區(qū)域就越小。我們可以交互地嘗試。隨著點(diǎn)數(shù)的增加,測(cè)試誤差會(huì)減少。
這意味著什么呢??這說(shuō)明對(duì)于插值解,在測(cè)試時(shí)間內(nèi),良好的訓(xùn)練點(diǎn)會(huì)擠出標(biāo)記糟糕的點(diǎn)。?
對(duì)抗示例
但是,隨著數(shù)據(jù)的增加,當(dāng)壞分類的區(qū)域和被隨機(jī)抽樣的數(shù)據(jù)點(diǎn)擊中的概率減小時(shí),隨機(jī)抽樣點(diǎn)到下一個(gè)壞樣本的距離也減小了。這意味著除了利用模型的不良連續(xù)性(即輸入的小變化會(huì)導(dǎo)致提取的特征發(fā)生大的變化),插值條件也能使對(duì)抗例子更容易產(chǎn)生,因?yàn)槲覀冎恍枰卣鞯男∽兓?/p>
特征噪聲類似于標(biāo)簽噪聲
但是,雙重下降不是也發(fā)生在沒有損壞標(biāo)簽的情況下嗎? 我們“僅僅”需要格外小心地處理我們的訓(xùn)練數(shù)據(jù)嗎? 好吧,沒這么簡(jiǎn)單。高維特征在本質(zhì)上可能比低維特征噪聲更多:想象一下在高維空間(比如d)中有一個(gè)兩類線性分類。我們有了有向量和偏差的分類器。給定輸入,當(dāng)x?v+b≥0時(shí),類為1;否則,類為0。如果我們預(yù)先知道輸入是有界的,我們可以找到類原型?,并使用距離進(jìn)行分類。但隨后的線性分類器的d?1維零空間(null-space)中的向量,比如我們可以添加到輸入中而不改變結(jié)果的向量空間
,可能對(duì)這個(gè)距離有很大幫助,從而使得成為對(duì)更相關(guān)的投影距離
的一個(gè)噪聲估計(jì)。 如果我們想保持在二維空間,我們可以放大噪聲維度。這就將我們引入第二個(gè)實(shí)驗(yàn)。我們來(lái)繪制獨(dú)立的隨機(jī)二維點(diǎn),其在“特征維度”中的標(biāo)準(zhǔn)偏差為0.5,在“噪聲維度”中的標(biāo)準(zhǔn)偏差為5。這兩個(gè)類用±1分開。我們使用EM算法來(lái)將每個(gè)維度的標(biāo)準(zhǔn)偏差為1的K高斯函數(shù)的混合值擬合到每個(gè)類中。通過比較兩個(gè)擬合密度進(jìn)行分類。我們使用5000個(gè)訓(xùn)練點(diǎn)和1000個(gè)測(cè)試點(diǎn)。
如果我們以不同的K值運(yùn)行200次,并記錄其準(zhǔn)確性,我們可以看到雙重下降中的凹凸:
關(guān)于這些實(shí)驗(yàn)的一個(gè)問題是:誤差分布是傾斜的:我們得到的很多測(cè)試誤差在2-3左右出現(xiàn),可誤差在10左右還出現(xiàn)了一個(gè)尾巴。這條差擬合的曲線尾部的質(zhì)量隨分量K的數(shù)量而變化,似乎是造成中間K的平均誤差出現(xiàn)凹凸的主要原因。
7 ? 結(jié)論 綜上,我們學(xué)到了什么呢?
在我看來(lái),噪音需要在推斷階段而不是在訓(xùn)練階段擠出特征,由此我們看出深度學(xué)習(xí)模型的本質(zhì)是非參數(shù)的。這與KDE實(shí)驗(yàn)非常接近。
即使我們有很好的標(biāo)簽(你有的,對(duì)吧?),深度學(xué)習(xí)中的高特征維度會(huì)導(dǎo)致特征中的噪音,而這些噪音的行為與標(biāo)簽中的噪音類似。
編輯:黃飛
?
評(píng)論
查看更多