1、為什麼隨著網路深度增加,神經網路訓練越來越慢呢?
因為深層神經網路在做非線性變換前的啟用輸入值,隨著網路深度加深或者在訓練過程中,其分布逐漸發生偏移或者變動。訓練收斂慢,一般是因為整體分布逐漸往非線性函式的取值區間的上下限兩端靠近,這導致反向傳播時低層神經網路的梯度消失,這是訓練深層神經網路收斂越來越慢的本質原因。
2、bn(batch normalization)的基本思想
bn不僅僅對輸入層做標準化處理,還對網路的每一中間層的輸入(啟用函式前)做標準化處理,使得輸出服從均值為0,方差為1的正態分佈,從而避免變數分布偏移的問題。之所以稱之為批
標準化,是因為在訓練期間,我們僅通過計算當前層一小批資料
的均值和方差來標準化每一層的輸入。相當於把每層神經網路任意神經元這個輸入值的分布強行拉回到均值為0,方差為1的標準正態分佈。
3、batch normalization的優點
(1)避免梯度消失和梯度**。把越來越偏的分布強制拉回比較標準的分布,這樣使得啟用輸入值落在非線性函式對輸入比較敏感的區域,這樣輸入的小變化就會導致損失函式較大的變化,這樣可以讓梯度變大,避免梯度消失問題產生,而且梯度變大意味著學習收斂速度快,能大大加快訓練速度。
(2)加快訓練速度。
(3)提高模型泛化能力。因為批量標準化不是應用在整個資料集,而是mini-batch上,會產生一些雜訊,可以提高模型泛化能力。
正則化 L1正則化(稀疏性正則化)
稀疏向量通常包含許多維度。建立特徵組合會導致包含更多維度。由於使用此類高維度特徵向量,因此模型可能會非常龐大,並且需要大量的 ram。在高維度稀疏向量中,最好盡可能使權重正好降至 0。正好為 0 的權重基本上會使相應特徵從模型中移除。將特徵設為 0 可節省 ram 空間,且可以減少模型中的噪點。以乙...
批量歸一化
批量歸一化實際上也是乙個層,可以直接呼叫torch的api。我們在訓練頂部的層,實際上幹的就是在擬合底部層。所以頂部的層會收斂的很快,但是底部的層資料變化後,頂部又要重新進行訓練。乙個簡單的實現就是將分布的均值和方差進行固定。這個實現也很簡單。mu frac sum x text sigma fra...
正則化 機器學習系列9 正則化
機器學習系列9 正則化 在介紹正則化之前,我們先來介紹一下什麼是欠擬合和過擬合問題。欠擬合和過擬合 發現擬合地並不是很好,我們稱它為欠擬合。當我們用二次多項式去擬合時 我們發現這個擬合的剛剛好。當我們用高次多項式去擬合時 發現這個函式影象異常扭曲,雖然資料集全部擬合到影象上了,但是這個函式並不能很好...