相信對(duì)機(jī)器學(xué)習(xí)有一定了解的朋友對(duì)正則化(Regularization)這個(gè)概念都不會(huì)陌生??梢赃@么說,,機(jī)器學(xué)習(xí)中被討論最廣泛也可以說是最重要的一個(gè)問題,就是防止過擬合(Overfitting),。 為什么這么說呢,?因?yàn)橥ㄟ^增加模型復(fù)雜性來在訓(xùn)練數(shù)據(jù)上達(dá)到完美的擬合實(shí)在太過容易。如果僅希望在訓(xùn)練數(shù)據(jù)上得到輸入x預(yù)期的輸出y,,那么我們僅僅需要記住所有的訓(xùn)練數(shù)據(jù)(x,y)就可以了,。而對(duì)于機(jī)器學(xué)習(xí),我們真正的關(guān)心的問題,,是在那些沒有見過的數(shù)據(jù)上,,模型的表現(xiàn)如何,也就是模型的泛化能力。 至于正則化的方法,,很多時(shí)候被大家簡(jiǎn)化理解為了“在目標(biāo)函數(shù)上增加關(guān)于參數(shù)的?1或?2范數(shù)”的簡(jiǎn)單表達(dá),,但對(duì)于為何需要增加范數(shù)約束,以及增加以后所產(chǎn)生的效果不甚明了,。 我們這里通過一個(gè)最簡(jiǎn)單的Logistic regression的例子來看看增加范數(shù)約束的必要性,。對(duì)于Logistic regression問題,通過給定的n個(gè)數(shù)據(jù){(xi,yi)}ni=1,,其中yi∈{0,1},,我們希望尋求到一個(gè)足夠好的w,使得σ(xi)盡可能接近yi,,其中σ(x)=11+exp(?w?x)就是我們前文神經(jīng)網(wǎng)絡(luò)常用的Sigmoid函數(shù),。我們可以將Sigmoid函數(shù)的輸出解釋為某個(gè)輸出為1的概率,,那么按照最大似然原則,,需要求解如下優(yōu)化問題: argminw?∑i:yi=1logσ(xi,w)?∑i:yi=0logσ(?xi,w).
假設(shè)我們求得某個(gè)w,能夠成功讓所有yi=1的正樣本σ(xi)>0.5,,而負(fù)樣本輸出σ(xi)<0.5,,已經(jīng)意味著我們可以通過該分類器完美對(duì)數(shù)據(jù)進(jìn)行區(qū)分。但如果仔細(xì)查看我們的最優(yōu)化問題可以發(fā)現(xiàn),,如果我們將w替換成2w,,則可以進(jìn)一步降低目標(biāo)函數(shù)值,我們可以通過不斷放大w來進(jìn)一步降低目標(biāo)函數(shù)值,。事實(shí)上,,w與c?w所表達(dá)的是同一個(gè)分類器超平面(hyperplane),可以通過限制‖使其收斂到唯一解,。 上面的例子是數(shù)學(xué)上一類Inverse problem的特例,。這其中最簡(jiǎn)單的當(dāng)屬線性方程組求解的問題。當(dāng)我們已知其生成過程 y_i=w^Tx_i + \epsilon,,其中\(zhòng)epsilon \sim \mathcal{N}(0, \sigma^2)為獨(dú)立同分布(i.i.d)的高斯隨機(jī)噪聲時(shí),,可以證明,采用\ell_2范數(shù)進(jìn)行優(yōu)化,,是在最大似然意義下的理論最優(yōu)解:
\arg \min _w \|w^TX - y\|_2.
類似上述能夠給出具體數(shù)學(xué)描述的生成過程,,及其Inverse problem最優(yōu)求解方法的問題還有很多。最近哥倫比亞大學(xué)John Wright教授在字典學(xué)習(xí)問題的突破(參見Complete Dictionary Recovery over the Sphere)的結(jié)果非常漂亮,,堪稱是這一類Inverse problem和正則化應(yīng)用的典范,。 談回深度學(xué)習(xí),我們可以看到目前應(yīng)用最廣泛的兩類正則化的方法,,一類是通過給網(wǎng)絡(luò)參數(shù)w增加\|w\|_p的范數(shù)(并且往往p=2):
\arg \min_w \text{Cost}(f(x, w), y) + \lambda\|w\|_p,
另一類是采用由Hinton et. al所提出的Dropout方法進(jìn)行正則化(參見Dropout: A Simple Way to Prevent Neural Networks from Overfitting),。并且這兩類方法經(jīng)常同時(shí)在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)被采用。 范數(shù)正則化這兩種正則化方法在深度學(xué)習(xí)的應(yīng)用,與其說是理論家的貢獻(xiàn),,不如說是實(shí)踐者的勝利,。雖然通過添加范數(shù)的形式在傳統(tǒng)凸優(yōu)化中有大量可被證明正確性的應(yīng)用,并且將這個(gè)想法使用于神經(jīng)網(wǎng)絡(luò)極為自然,,但對(duì)于超過一層隱藏層的神經(jīng)網(wǎng)絡(luò),,范數(shù)所帶來的優(yōu)勢(shì)還很難被嚴(yán)格證明。這里我提供幾個(gè)非完全嚴(yán)格的“直觀”解釋:
Dropout正則化Dropout是另一類目前被廣泛使用的正則化方法,,其基本思路非常簡(jiǎn)單:在訓(xùn)練階段,對(duì)于每個(gè)mini-batch隨機(jī)抹去一定比例的神經(jīng)元進(jìn)行前向及后向傳播更新。這種方法子啊Hinton et. al的論文中所給出的解釋為:
但由于深層神經(jīng)網(wǎng)絡(luò)的一大優(yōu)勢(shì)其實(shí)就在于對(duì)于特征的層級(jí)化表達(dá),,并且深層單元可以對(duì)淺層單元進(jìn)行組合與復(fù)用,。所以上述解釋雖然乍聽之下合理,但真實(shí)的可靠性存疑,。上述論文中提到了另個(gè)解釋,,可能更為合理:通過控制每個(gè)單元的開關(guān),我們潛在使用了2^N個(gè)不同的網(wǎng)絡(luò)(N為采用Dropout的神經(jīng)元數(shù)量),,這樣的模型相當(dāng)于將2^N個(gè)不同的共享變量的網(wǎng)絡(luò)在預(yù)測(cè)時(shí)進(jìn)行幾何平均,,從而達(dá)到平滑的效果。 對(duì)于一類更特定的模型,,Dropout有在理論上有進(jìn)一步的論證,。如果我們限制所研究的為廣義線性模型(Generalized linear models),并且Dropout只在輸入x變量上進(jìn)行,,那么通過對(duì)廣義線性模型通過泰勒展開進(jìn)行二次近似,,可以得到
\text{Reg}_{\text{dropout}}(w) = \frac{\delta}{2(1-\delta)}w^T\text{diag}(nI(w))w,
其中I(w)為參數(shù)w的Fisher information矩陣:
I(w) = -\mathbb E\left[\triangledown^2 \log p(X|w)\right].
那么,對(duì)于輸入x進(jìn)行Dropout,,實(shí)際上就相當(dāng)于首先將輸入x采用\text{diag}(I(w))^{-1/2}進(jìn)行歸一化得到\bar w,,然后采用傳統(tǒng)范數(shù)\|\bar w\|_2對(duì)參數(shù)進(jìn)行正則化,從而建立起了采用Dropout與范數(shù)進(jìn)行正則化的聯(lián)系,。具體的推導(dǎo)可以參見:Dropout Training as Adaptive Regularization。 在下一次的分享中,,我們給大家談?wù)劸矸e網(wǎng)絡(luò)(Convolutional network)的使用,,歡迎關(guān)注。 |
|