鍵.png)
使用這些基本 REST API 最佳實(shí)踐構(gòu)建出色的 API
以經(jīng)典的決策樹模型為例, 當(dāng)樹模型學(xué)習(xí)數(shù)據(jù)集的通用規(guī)律時(shí):一種好的情況,假如樹第一個(gè)分裂節(jié)點(diǎn)時(shí),剛好就可以良好區(qū)分開不同標(biāo)簽的樣本,深度很小,相應(yīng)的各葉子上面的樣本數(shù)是夠的(即統(tǒng)計(jì)規(guī)律的數(shù)據(jù)量的依據(jù)也是比較多的),那這會(huì)得到的規(guī)律就更有可能泛化到其他數(shù)據(jù)。(即:擬合良好, 有泛化能力)。
另外一種較差的情況,如果樹學(xué)習(xí)不好一些通用的規(guī)律,為了學(xué)習(xí)這個(gè)數(shù)據(jù)集,那樹就會(huì)越來越深,可能每個(gè)葉子節(jié)點(diǎn)分別對(duì)應(yīng)著少數(shù)樣本(少數(shù)據(jù)帶來統(tǒng)計(jì)信息可能只是噪音),最后,死記硬背地記住所有數(shù)據(jù)(即:過擬合 無(wú)泛化能力)。我們可以看到過深(depth)的樹模型很容易過擬合。
那么過參數(shù)化的神經(jīng)網(wǎng)絡(luò)如何達(dá)到良好的泛化性呢?
本文是從一個(gè)簡(jiǎn)單通用的角度解釋——在神經(jīng)網(wǎng)絡(luò)的梯度下降優(yōu)化過程上,探索泛化能力的原因:
我們總結(jié)了梯度相干理論?:來自不同樣本的梯度產(chǎn)生相干性,是神經(jīng)網(wǎng)絡(luò)能有良好的泛化能力原因。當(dāng)不同樣本的梯度在訓(xùn)練過程中對(duì)齊良好,即當(dāng)它們相干時(shí),梯度下降是穩(wěn)定的,可以很快收斂,并且由此產(chǎn)生的模型可以有良好的泛化性。否則,如果樣本太少或訓(xùn)練時(shí)間過長(zhǎng),可能無(wú)法泛化。
基于該理論,我們可以做出如下解釋。
更寬的神經(jīng)網(wǎng)絡(luò)模型具有良好的泛化能力。這是因?yàn)椋鼘挼木W(wǎng)絡(luò)都有更多的子網(wǎng)絡(luò),對(duì)比小網(wǎng)絡(luò)更有產(chǎn)生梯度相干的可能,從而有更好的泛化性。換句話說,梯度下降是一個(gè)優(yōu)先考慮泛化(相干性)梯度的特征選擇器,更廣泛的網(wǎng)絡(luò)可能僅僅因?yàn)樗鼈冇懈嗟奶卣鞫哂懈玫奶卣鳌?/p>
論文原文:Generalization and width. Neyshabur et al. [2018b] found that wider networks generalize better. Can we now explain this? Intuitively, wider networks have more sub-networks at any given level, and so the sub-network with maximum coherence in a wider network may be more coherent than its counterpart in a thinner network, and hence generalize better. In other words, since—as discussed in Section 10—gradient descent is a feature selector that prioritizes well-generalizing (coherent) features, wider networks are likely to have better features simply because they have more features. In this connection, see also the Lottery Ticket Hypothesis [Frankle and Carbin, 2018]
論文鏈接:https://github.com/aialgorithm/Blog
但是個(gè)人覺得,這還是要區(qū)分下網(wǎng)絡(luò)輸入層/隱藏層的寬度。特別對(duì)于數(shù)據(jù)挖掘任務(wù)的輸入層,由于輸入特征是通常是人工設(shè)計(jì)的,需要考慮下做下特征選擇(即減少輸入層寬度),不然直接輸入特征噪音,對(duì)于梯度相干性影響不也是有干擾的。
越深的網(wǎng)絡(luò),梯度相干現(xiàn)象被放大,有更好的泛化能力。
在深度模型中,由于層之間的反饋加強(qiáng)了有相干性的梯度,存在相干性梯度的特征(W6)和非相干梯度的特征(W1)之間的相對(duì)差異在訓(xùn)練過程中呈指數(shù)放大。從而使得更深的網(wǎng)絡(luò)更偏好相干梯度,從而更好泛化能力。
通過早停我們可以減少非相干梯度的過多影響,提高泛化性。
在訓(xùn)練的時(shí)候,一些容易樣本比其他樣本(困難樣本)更早地?cái)M合。訓(xùn)練前期,這些容易樣本的相干梯度做主導(dǎo),并很容易擬合好。訓(xùn)練后期,以困難樣本的非相干梯度主導(dǎo)了平均梯度g(wt),從而導(dǎo)致泛化能力變差,這個(gè)時(shí)候就需要早停。
(注:簡(jiǎn)單的樣本,是那些在數(shù)據(jù)集里面有很多梯度共同點(diǎn)的樣本,正由于這個(gè)原因,大多數(shù)梯度對(duì)它有益,收斂也比較快。)
我們發(fā)現(xiàn)全梯度下降也可以有很好的泛化能力。此外,仔細(xì)的實(shí)驗(yàn)表明隨機(jī)梯度下降并不一定有更優(yōu)的泛化,但這并不排除隨機(jī)梯度更易跳出局部最小值、起著正則化等的可能性。
Based on our theory, finite learning rate, and mini-batch stochasticity are not necessary for generalization
我們認(rèn)為較低的學(xué)習(xí)率可能無(wú)法降低泛化誤差,因?yàn)檩^低的學(xué)習(xí)率意味著更多的迭代次數(shù)(與早停相反)。
Assuming a small enough learning rate, as training progresses, the generalization gap cannot decrease. This follows from the iterative stability analysis of training: with 40 more steps, stability can only degrade. If this is violated in a practical setting, it would point to an interesting limitation of the theory
目標(biāo)函數(shù)加入L2、L1正則化,相應(yīng)的梯度計(jì)算, L1正則項(xiàng)需增加的梯度為sign(w) ,L2梯度為w。以L2正則為例,相應(yīng)的梯度W(i+1)更新公式為:
我們可以把“L2正則化(權(quán)重衰減)”看作是一種“背景力”,可將每個(gè)參數(shù)推近于數(shù)據(jù)無(wú)關(guān)的零值 ( L1容易得到稀疏解,L2容易得到趨近0的平滑解) ,來消除在弱梯度方向上影響。只有在相干梯度方向的情況下,參數(shù)才比較能脫離“背景力”,基于數(shù)據(jù)完成梯度更新。
Momentum 、Adam等梯度下降算法,其參數(shù)W更新方向不僅由當(dāng)前的梯度決定,也與此前累積的梯度方向有關(guān)(即,保留累積的相干梯度的作用)。這使得參數(shù)中那些梯度方向變化不大的維度可以加速更新,并減少梯度方向變化較大的維度上的更新幅度,由此產(chǎn)生了加速收斂和減小震蕩的效果。
我們可以通過優(yōu)化批次梯度下降算法,來抑制弱梯度方向的梯度更新,進(jìn)一步提高了泛化能力。比如,我們可以使用梯度截?cái)啵╳insorized gradient descent),排除梯度異常值后的再取平均值。或者取梯度的中位數(shù)代替平均值,以減少梯度異常值的影響。
文末說兩句,對(duì)于深度學(xué)習(xí)的理論,有興趣可以看下論文提及的相關(guān)研究。
文章轉(zhuǎn)自微信公眾號(hào)@算法進(jìn)階
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)