深層神經網路梯度問題及解決方法

2021-10-01 16:12:44 字數 675 閱讀 8873

反向傳播演算法的工作原理是從輸出層到輸入層,傳播誤 差的梯度。 一旦該演算法已經計算了網路中每個引數的損失函式的梯度,它就使用這些梯度來 用梯度下降步驟來更新每個引數。

不幸的是,梯度往往變得越來越小,隨著演算法進展到較低層。 結果,梯度下降更新使得低層 連線權重實際上保持不變,並且訓練永遠不會收斂到良好的解決方案。 這被稱為梯度消失問 題。

在某些情況下,可能會發生相反的情況:梯度可能變得越來越大,許多層得到了非常大 的權重更新,演算法發散。這是梯度**的問題,在迴圈神經網路中最為常見。

glorot 和 bengio 在 2010 年的**中的乙個見解是,消失/**的梯度問題部分是由於啟用函 數的選擇不好造成的。 在那之前,大多數人都認為,如果大自然選擇在生物神經元中使用 sigmoid 啟用函式,它們必定是乙個很好的選擇。 但事實證明,其他啟用函式在深度神經網 絡中表現得更好,特別是 relu 啟用函式,主要是因為它對正值不會飽和(也因為它的計算 速度很快)。

不幸的是,relu啟用功能並不完美。 它有乙個被稱為 「relu 死區」 的問題:在訓練過程中, 一些神經元有效地死亡,意味著它們停止輸出 0 以外的任何東西。在某些情況下,你可能會 發現你網路的一半神經元已經死亡,特別是如果你使用大學習率。 在訓練期間,如果神經元 的權重得到更新,使得神經元輸入的加權和為負,則它將開始輸出 0 。當這種情況發生時, 由於當輸入為負時,relu函式的梯度為0,神經元不可能

深層神經網路的正則化問題

1.什麼是正則化 我們知道,在使用神經網路進行分類時,有時會出現 訓練集的分類效果很好而測試集的分類效果卻不理想 這種現象。這種現象稱之為 過擬合 正則化 的提出就是為了解決這個問題。那麼究竟什麼才是 正則化 呢?首先讓我們來看下面兩個公式 1 式是我們之前定義的代價函式,2 式相對於 1 式而言增...

神經網路中關於梯度的問題

在數學上,對於乙個可微分的函式f x,y,z 向量grad稱為f x,y,z 的梯度。因為沿梯度方向時,方向導數取得最大值,計算速度最快。因此,在求解損失函式的最小值時,可以通過梯度下降法來一步步的迭代求解,得到最小化的損失函式和模型引數值。梯度下降法的計算過程就是沿梯度下降的方向求解極小值。當梯度...

神經網路與深度學習筆記 梯度消失問題

神經網路與深度學習筆記系列一共有五個專題,分別是 第一章使用神經網路識別手寫數字 梯度下降演算法是什麼。主要介紹了神經網路的基礎例如感知器啟用函式等概念,最主要介紹了梯度下降演算法。第二章反向傳播演算法如何工作 反向傳播演算法原理。主要介紹了反向傳播演算法的工作原理。第三章改變神經網路的學習方法 代...