提升神經網路

提升神經網路

提升神經網路是適用於深度學習的一種模型,主要包括以下幾個方面:1)數據增強;2)圖像預處理;3)網路的初始化。

基本介紹

  • 中文名:提升神經網路
  • 套用領域:深度學習
數據增強,網路的初始化,正則化,

數據增強

如果原始圖像數據集包含的訓練圖像有限,而對於深度網路一般需要大量的訓練圖像數據才能取得一個較好的性能,所以我們最好通過數據增強以提高性能。此外,數據增強成為訓練深度網路時必須做的事情。
有許多方法可以進行數據增強,例如比較流行的水平翻轉,隨機修剪和光照、彩色變換。此外,也可以嘗試多種不同處理的組合,例如,同時進行旋轉和隨機縮放。此外,您可以嘗試將所有像素的飽和度和值(HSV彩色空間的S和V分量)提高到0.25和4倍之間的倍數(對於一個色塊內的所有像素都相同),將這些值乘以係數0.7和1.4,並且向它們添加一個在[-0.1,0.1]範圍內的值。此外,也可以添加一個[-0.1,0.1]的值在圖像/塊中所有像素的色調上(HSV的H分量)。

網路的初始化

(1)全零初始化
在理想情況下,通過適當的數據歸一化,可以合理的預測大約一半的權重權重為正數,一半權重將為負數。假設一個合理的想法是可以將所有的初始權重設定為零,但是,這是一個錯誤的權重初始化方式。因為如果網路中的每個神經元計算相同的輸出,那么它們在反向傳播過程中也將計算相同的梯度,並進行完全相同的參數更新。換句話說,如果神經元的權重初始化為相同,則不存在不對稱的來源。
(2)小隨機數初始化
在ResNet網路中,就認為網路的權值是一個近似0但是不等於0的值,而且驗證了該假設的合理性。所以,我們在網路中可以將這些神經元隨機初始到非常接近於零的權值。權重的實現可以簡單地表達為0.001*N(0,1),其中N(0,1)是均值為0,標準差為1的高斯分布。也可以使用均勻分布的初始化權值,這對最終的權值結果沒有太大的影響。
(3)權值歸一化
上述方案的一個問題是隨機初始化神經元權值的輸出分布的方差隨著輸入樣本量而增加。通過實驗證明,可以將每個神經元輸出的方差歸一化為1,通過將其權重向量按其輸入數的平方根進行縮放。

正則化

神經網路防止過擬合的方法有以下方法:
L2正則化是正則化最常用的形式之一,可以直接在損失函式中加上帶有乘性偏置的所有權值w的平方和來實現。
L1正則化是正則化中相對常見的形式,在原始的代價函式後面加上一個L1正則化項,即所有權重w的絕對值的和,乘以λ/n。
最大範圍限制,正則化的另一種形式是強制每個神經元的權重的絕對上限,並使用預測的梯度下降來強制約束。
Dropout是一個很簡單的正則化技術,dropout策略是以一定的機率(dropout ratio)將隱層神經元的輸入、輸出設定為零。選中“dropped out”的隱層神經元在網路中既不參與前向傳播,也不參與誤差的反向傳播,但是它的權重會保留下來。所以每次輸入樣本進行訓練,該卷積神經網路就相當於採用了與先前不同的網路結構,但是不同網路結構之間的權重是共享的。
Batch Normalization是最近最為流行的防止過擬合的方法,他也有正則化的作用。BN是在卷積計算和激活函式中間進行規範化計算,逐層尺度歸一,首先通過對相應的激活區域做規範化操作,使得輸出信號各個維度服從均值為0,標準差為1的常態分配,最後通過縮放和平移(scale and shift)操作讓批規範化計算輸出的結果還原最初的輸入特徵,從而保證網路的容納能力。

相關詞條

熱門詞條

聯絡我們