9、過擬合
9.1模型的容量
通俗地講,模型的容量或表達能力,是指模型擬合復雜函式的能力,
9.2過擬合與欠擬合
當模型的容量過大時,也就是模型泛化能力偏弱,我們把這種現象叫作過擬合(Overfitting),當模型的容量過小時,導致訓練集上表現不佳,們把這種現象叫作欠擬合(Underfitting),

9.3模型的設計
對于神經網路來說,網路的層數和引數量是網路容量很重要的參考指標,通過減少網路的層數,并減少每層中網路引數量的規模,可以有效降低網路的容量,反之,如果發現模型欠擬合,需要增大網路的容量,可以通過增加層數,增大每層的引數量等方式實作,
2 層的神經網路即可獲得不錯的泛化能力,更深層數的網路并沒有提升性能,反而出現過擬合現象,泛化能力變差,同時計算代價也更高,

9.4正則化

wi=(1-𝜆a )wi
較大的𝜆意味著網路的稀疏性更重要,泛化能力強,但是容易欠擬合;較小的𝜆則意味著網路的訓練誤差更重要,容易過擬合,
9.4.1L0正則化
L0 正則化是指采用 L0 范數作為稀疏性懲罰項𝛺(𝜃)的正則化計算方式:

其中 L0 范數‖𝜃𝑖‖0定義為𝜃𝑖中非零元素的個數,通過約束∑𝜃𝑖‖𝜃𝑖‖0的大小可以迫使網路中的連接權值大部分為 0,從而降低網路的實際引數量和網路容量,但是由于 L0 范數‖𝜃𝑖‖0并不可導,不能利用梯度下降演算法進行優化,在神經網路中使用的并不多,
9.4.2L1正則化

其中 L1 范數‖𝜃𝑖‖1定義為張量𝜃𝑖中所有元素的絕對值之和,L1 正則化也叫 Lasso Regularization,它是連續可導的,在神經網路中使用廣泛,
9.4.3L2正則化

其中 L2 范數‖𝜃𝑖‖2定義為張量𝜃𝑖中所有元素的平方和,L2 正則化也叫 RidgeRegularization,它和 L1 正則化一樣,也是連續可導的,
9.4.4正則化效果
可以看到,隨著正則化系數𝜆的增加,網路對引數稀疏性的懲罰變大,從而迫使優化演算法搜索讓網路容量更小的模型,在𝜆 = 0.00001時,正則化的作用比較微弱,網路出現了過擬合現象;但是𝜆 = 0.1時,網路已經能夠優化到合適的容量,并沒有出現明顯過擬合或者欠擬合現象,


9.5Dropout
Dropout 通過隨機斷開神經網路的連接,減少每次訓練時實際參與計算的模型的引數量;但是在測驗時,Dropout 會恢復所有的連接,保證模型測驗時獲得最好的性能,
每條連接是否斷開符合某種預設的概率分布,如斷開概率為𝑝的伯努利分布,
在 TensorFlow 中,可以通過 tf.nn.dropout(x, rate)函式實作某條連接的 Dropout 功能,其中 rate 引數設定斷開的概率值𝑝,例如:
#添加 dropout 操作,斷開概率為 0.5
x = tf.nn.dropout(x, rate=0.5)
也可以將 Dropout 作為一個網路層使用,在網路中間插入一個 Dropout 層,例如:
#添加 Dropout 層,斷開概率為 0.5
model.add(layers.Dropout(rate=0.5))
通過在 5 層的全連接層中間隔插入不同數量的 Dropout 層來觀測 Dropout 對網路訓練的影響,不添加 Dropout 層時,網路模型與之前觀測的結果一樣,出現了明顯的過擬合現象;隨著 Dropout 層的增加,網路模型訓練時的實際容量減少,泛化能力變強,

9.6資料增強
對于圖中的人物圖片,根據先驗知識,我們知道旋轉、縮放、平移、裁剪、改變視角、遮擋某區域區域都不會改變圖片的主體類別標簽,因此針對圖片資料,可以有多種資料增強方式,
TensorFlow 中提供了常用圖片的處理函式,位于 tf.image 子模塊中,通過tf.image.resize 函式可以實作圖片的縮放功能:

9.7.1旋轉
通過 tf.image.rot90(x, k=1)可以實作圖片按逆時針方式旋轉 k 個 90 度,例如:

9.7.2翻轉
可以通過 tf.image.random_flip_left_right 和 tf.image.random_flip_up_down 實作圖片在水平方向和豎直方向的隨機翻轉操作,例如:

9.7.3裁剪
通過在原圖的左右或者上下方向去掉部分邊緣像素,可以保持圖片主體不變,同時獲得新的圖片樣本,

圖 9.33 是縮放到244 × 244大小的圖片,圖 9.34 某次隨機裁剪到224 × 224大小的例子,圖 9.35 也是某次隨機裁剪的例子,

9.7.4生成資料
通過生成模型在原有資料上進行訓練,學習到真實資料的分布,從而利用生成模型獲得新的樣本,這種方式也可以在一定程度上提升網路性能,如通過條件生成對抗網路(Conditional GAN,簡稱 CGAN)可以生成帶標簽的樣本資料
9.7.5其他方式
可以根據先驗知識,在不改變圖片標簽資訊的條件下,任意變換圖片資料,獲得新的圖片,圖 9.37 演示了在原圖上疊加高斯噪聲后的圖片資料,圖 9.38 演示了通過改變圖片的觀察視角后獲得的新圖片,圖 9.39 演示了在原圖上隨機遮擋部磁區域獲得的新圖片,
9.8過擬合問題實戰
匯入相應的包:

加載繪制月牙形狀圖形的相應的資料:

根據加載的資料繪制相應的月牙圖:

9.8.1網路層數對過擬合的影響
為了探討不同的網路深度下的過擬合程度,我們共進行了 5 次訓練實驗,在𝑛 ∈ [0,4]時,構建網路層數為𝑛 + 2層的全連接層網路,并通過 Adam 優化器訓練 500 個 Epoch,獲得網路在訓練集上的分隔曲線,由此判斷網路層數對過擬合的影響,



網路層數兩層:

網路層數六層

9.8.2Dropout影響
為了探討 Dropout 層對網路訓練的影響,我們共進行了 5 次實驗,每次實驗使用 7 層的全連接層網路進行訓練,但是在全連接層中間隔插入 0~4 個 Dropout 層,并通過 Adam優化器訓練 500 個 Epoch,

無Dropout層:

4層dropout層:

9.8.3正則化的影響
為了探討正則化系數𝜆對網路模型訓練的影響,我們采用 L2 正則化方式,構建了 5 層的神經網路,其中第 2、3、4 層神經網路層的權值張量 W 均添加 L2 正則化約束項,代碼如下:


正則化系數小,這樣會有過擬合現象,同時系數引數會偏大,




轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/59465.html
標籤:其他
