深度學習 八 神經網路正則化方法

2021-10-07 04:46:20 字數 987 閱讀 8892

在傳統的機器學習中,提高泛化能力的方法主要是限制模型複雜度,比如採用l1和l2正則化等方式。而在訓練深度神經網路時,特別是在過度引數化時,l1和l2的效果往往不如淺層機器學習模型中顯著。因此訓練深度學習模型時,往往還會使用其他正則化方法。

λ為正則化係數,p=1 or 2

折中方法:彈性網路正則化

α是學習率,gt是第t步更新的梯度,β為權重衰減係數,一般取值比較小,比如0.0005.

訓練深度神經網路時,可以隨機丟棄一部分神經元防止過擬合

對於乙個神經層y=f(wx+b)引入掩蔽函式mask(*),使得y=f(wmask(x)+b)

例如影象資料增強主要通過演算法對影象進行轉變,引入雜訊等方法來增加資料的多樣性。增強的方法如下:

(1) 旋轉(rotation)

(2) 翻轉(flip)

(3) 縮放(zoom in/out)

(4) 平移(shift)

(5) 隨機雜訊(noise)

區別於獨熱編碼[0,0,0,0,1,0,0,0,]→[0.01,0.02,0.01,0.01,0.7,0.15,0.05,0.05]

缺點:無法表示語義之間的關聯性,也可能導致某詞權重越來越大,其他的始終為0

深度神經網路正則化

在深層網路學習中,為了防止過擬合問題,正則化是個有效措施。以下是用tensorflow搭建的小例子,配合tensorboard。import tensorflow as tf import os os.environ tf cpp min log level 2 cpu加速 def get weig...

神經網路正則化方法

在訓練資料不夠多時,或者overtraining時,常常會導致overfitting 過擬合 其直觀的表現如下圖所示,隨著訓練過程的進行,模型複雜度增加,在training data上的error漸漸減小,但是在驗證集上的error卻反而漸漸增大 因為訓練出來的網路過擬合了訓練集,對訓練集外的資料卻...

深度神經網路 正則化(二)dropout正則化

深度學習可能存在過擬合問題 高方差,有兩個解決辦法,一是正則化,另乙個是準備更多的資料,但由於無法時時刻刻準備足夠多的訓練資料或者獲取資料的成本高,所以通常使用正則化的方法來避免過擬合。正則化的主要方法有 l2正則化 dropout 資料增廣 early stopping bagging 在樣本中增...