深度學習 --- 正則化

有許多正則化策略。

有些策略向機器學習模型添加限制參數值的額外約束。

有些策略向目標函數增加額外項來對參數值進行軟約束

有時候,這些約束和懲罰被設計爲編碼特定類型的先驗知識;

其他時候,這些約束和懲罰被設計爲偏好簡單模型,以便提高泛化能力。

有時,懲罰和和約束對於確定欠定的問題是必要的

其他形式的正則化,如被稱爲集成的方法,則結合多個假說來解釋訓練數據

 

估計的正則化以偏差的增加換取方差的減少。一個有效的正則化能顯著減少方差而不過度增加偏差。

前述泛化和過擬合,主要側重模型訓練的3種情況:

(1)不包括真實的數據生成過程——對應欠擬合和含有偏差的情況

(2)匹配真實數據生成過程

(3)除了包括真實的數據生成過程,還包括許多其他可能的生成過程——方差(而不是偏差)主導的過擬合

正則化的目標是使模型從第三種情況轉化爲第二種情況

 

從最小化泛化誤差的意義上,最好的擬合模型是一個適當正則化的大型模型。

 

1、參數範數懲罰

在神經網絡中,通常只對權重做懲罰而不對偏置做正則懲罰,一是每個偏置僅控制一個單變量,不對其正則化也不會導致太大的方差。二是正則化偏置參數可能會導致明顯的欠擬合。

在神經網絡情況下,有時希望對網絡的每一層使用單獨的懲罰,並分配不同的α係數。

θ表示所有參數,w表示應受範數懲罰影響的權重

 

參數正則化

通常被稱爲權重衰減的參數範數懲罰

通過向目標函數添加一個正則項 ,使權重更加接近原點(更一般地,可以將參數正則化爲接近空間中的任意特定點)。也被稱爲嶺迴歸或Tikhonov正則。

目標函數:

梯度:

梯度更新:

加入權重衰減後,每步執行通常的梯度更新之前先收縮權重向量

 

權重衰減的效果是沿着由H 的特徵向量所定義的軸縮放w*。具體來說,我們會根據   因子縮放與H 第i 個特徵向量對齊的w* 的分量。 

沿着 H 特徵值較大的方向 (如 λi ≫ α ) 正則化的影響較小。而 λi≪ α 的分量將會收縮到幾乎爲零。

例,線性迴歸:

代價函數:

加入L2正則項:

解從

變爲 

矩陣的對角項對應每個輸入特徵的方差。

L2正則化能讓學習算法“感知”到具有較高方差的輸入x,因此與輸出目標的協方差較小(相對增加方差)的特徵的權重將會收縮。

 

只有在顯著減小目標函數方向上的參數會保留得相對完好。在無助於目標函數減小的方向(對應Hessian 矩陣較小的特徵值)上改變參數不會顯著增加梯度。這種不重要方向對應的分量會在訓練過程中因正則化而衰減掉。

 

正則化

求梯度:

正則化不線性縮放 ,而是添加了一項常數

 

一個解析解形式:

相比L2正則化,正則化會產生更稀疏的解,即最優值中的一些參數爲0。

正則化導出的稀疏性質被廣泛用於特徵選擇機制。

 

許多正則化策略可以被解釋爲MAP貝葉斯推斷,特別是L2正則化相當於權重是高斯先驗的MAP貝葉斯推斷。對於L1正則化,用於正則化代價函數的懲罰項 與通過MAP貝葉斯推斷最大化的對數先驗項是等價的( ,並且權重先驗是各向同性的拉普拉斯分佈):

 

2、作爲約束的範數懲罰

約束 小於某個常數k:

在所有過程中 α 在Ω(θ) > k 時必須增加,在Ω(θ) < k 時必須減小。所有正值的 α 都鼓勵Ω(θ) 收縮。最優值 α* 也將鼓勵Ω(θ) 收縮,但不會強到使得 Ω(θ) 小於k。

 

3、正則化和欠約束問題

求逆。

當數據生成分佈在一些方向上確實沒有差異時,或因爲例子較少(即相對輸入特徵的維數來說)而在一些方向上沒有觀察到方差時,這個矩陣就是奇異的。這種情況下,正則化的許多形式對應求逆 。這個正則化矩陣可以保證是可逆的。

大多數形式的正則化能夠保證應用於欠定問題的迭代方法收斂。例如當似然的斜率等於權重衰減的係數時,權重衰減將阻止梯度下降繼續增加權重的大小。

 

4、數據集增強

創建假數據並添加到訓練集中

數據集增強對一個具體的分類問題來說是特別有效的方法:對象識別。圖像是高維的幷包括各種巨大的變化因素,其中有許多可以輕易地模擬。即使模型已使用卷積和池化技術(第九章)對部分平移保持不變,沿訓練圖像每個方向平移幾個像素的操作通常可以大大改善泛化。許多其他操作如旋轉圖像或縮放圖像也已被證明非常有效。

 

在神經網絡的輸入層注入噪聲可看作是數據增強的一種方式。

向隱藏單元施加噪聲也是可行的,這可以被看作在多個抽象層上進行的數據集增強

 

神經網絡被證明對噪聲不是非常健壯。

改善神經網絡健壯性的方法之一是簡單地將隨機噪聲添加到輸入再進行訓練。向隱藏單元施加噪聲也可行,這可被看作在多個抽象層上進行的數據集增強。

 

5、噪聲魯棒性

將噪聲用於輸入,作爲數據集增強策略。對於某些模型而言,向輸入添加方差極小的噪聲等價於對權重施加範數懲罰。在一把情況下,注入噪聲遠比簡答地收縮參數強大,特別是噪聲被添加到隱藏單元時會更加強大。

另一種正則化模型的噪聲使用方式是將其加到權重。可被解釋爲關於權重的貝葉斯推斷的隨即實現。貝葉斯學習方法將權重視爲不確定的,向權重添加噪聲是反映這種不確定性的一種實用的隨機方法。

 

在某些假設下,施加於權重的噪聲可以被解釋爲與更傳統的正則化形式等同,鼓勵要學習的函數保持穩定。

 

向輸出目標註入噪聲:大多數數據集的y標籤都有一定錯誤。錯誤的y不利於最大化log p(y|x)。避免這種情況的一種方法是顯式地對標籤上的噪聲進行建模。

,標籤平滑 通過把確切分類目標從0 和1 替換成和1 - ϵ,正則化具有k 個輸出的softmax 函數的模型。標準交叉熵損失可以用在這些非確切目標的輸出上。使用softmax 函數和明確目標的最大似然學習可能永遠不會收斂——softmax 函數永遠無法真正預測0 概率或1 概率,因此它會繼續學習越來越大的權重,使預測更極端。使用如權重衰減等其他正則化策略能夠防止這種情況。標籤平滑的優勢是能夠防止模型追求確切概率而不影響模型學習正確分類。

 

6、半監督學習

我們可以構建這樣一個模型,其中生成模型P(x) 或P(x; y) 與判別模型P(y | x)共享參數,而不用分離無監督和監督部分。我們權衡監督模型準則  -log P(y | x) 和無監督或生成模型準則(如 -log P(x) 或 -log P(x; y))。生成模型準則表達了對監督學習問題解的特殊形式的先驗知識,即P(x) 的結構通過某種共享參數的方式連接到P(y | x)。通過控制在總準則中的生成準則,我們可以獲得比純生成或純判別訓練準則更好的權衡

 

7、多任務學習

多任務學習是通過合併幾個任務中的樣例(可以視爲對參數施加的軟約束)來提高泛化的一種方式。

因爲共享參數,其統計強度可大大提高。

 

8、提前終止

當驗證集上的誤差在事先指定的循環次數內沒有進一步改善時,算法就會終止,這種策略被稱爲提前終止。這可能是深度學習中最常用的正則化形式。有效、簡單。

提前終止是非常高效的超參數選擇算法。

提前終止可單獨使用或可與其他的正則化策略結合使用。

缺點:沒有辦法知道重新訓練時,對參數進行相同次數的更新和對數據集進行相同次數的遍歷哪一個更好。

缺點:驗證集的目標不一定能達到之前的目標值,所以這種策略甚至不能保證終止。

 

提前終止爲何具有正則化效果:

提前終止可以將優化過程的參數空間限制在初始參數值θ0的小鄰域內。

在大麴率(目標函數)方向上的參數值受正則化影響小於小曲率方向。在提前終止的情況下,這實際意味着在大麴率方向的參數比較小曲率方向的參數更早地學習到。

長度爲t的軌跡結束於L2正則化目標的極小點。

 

9、參數綁定與參數共享

上述討論對參數添加約束或懲罰時,一直是相對於固定的區域或點,如  L2正則化對參數偏離零的固定值進行懲罰

有時需要其他方式來表達對模型參數適當值的先驗知識,如想表達某些參數應當彼此接近,即應該與接近,則參數範數懲罰:

正則化一個模型(監督模式下訓練的分類器)的參數,使其接近另一個無監督模式下訓練的模型(捕捉觀察到的輸入數據的分佈)的參數。構造的這種架構使得分類模型中的許多參數能與無監督模型中對應的參數匹配。

更流行的方法是使用約束:強迫某些參數相等。由於我們將各種模型或模型組件解釋爲共享唯一的一組參數,這種正則化方法通常被稱爲參數共享(parameter sharing)。和正則化參數使其接近(通過範數懲罰)相比,參數共享的一個顯著優點是,只有參數(唯一一個集合)的子集需要被存儲在內存中。對於某些特定模型,如卷積神經網絡,這可能可以顯著減少模型所佔用的內存。

 

10、稀疏表示

還有一些其他方法通過激活值的硬性約束來獲得表示稀疏。例如,正交匹配追蹤通過解決以下約束優化問題將輸入值x 編碼成表示h:

其中 是h 中非零項的個數。當W 被約束爲正交時,我們可以高效地解決這個問題。這種方法通常被稱爲OMP-k,通過k 指定允許的非零特徵數量。OMP-1 可以成爲深度架構中非常有效的特徵提取器。

 

11、Bagging 和其他集成方法

模型平均(model averaging)奏效的原因是不同的模型通常不會在測試集上產生完全相同的誤差。

 

假設有k 個迴歸模型。假設每個模型在每個例子上的誤差是ϵi,這個誤差服從零均值方差爲 且協方差爲 的多維正態分佈。通過所有集成模型的平均預測所得誤差是。集成預測器平方誤差的期望是

在誤差完全相關即c = v 的情況下,均方誤差減少到v,所以模型平均沒有任何幫助。在錯誤完全不相關即c = 0 的情況下,該集成平方誤差的期望僅爲1/k *v。這意味着集成平方誤差的期望會隨着集成規模增大而線性減小。

神經網絡能找到足夠多的不同的解,意味着他們可以從模型平均中受益(即使所有模型都在同一數據集上訓練)。神經網絡中隨機初始化的差異、小批量的隨機選擇、超參數的差異或不同輸出的非確定性實現往往足以使得集成中的不同成員具有部分獨立的誤差。

 

不是所有構建集成的技術都是爲了讓集成模型比單一模型更加正則化,比如Boosting 技術。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章