類神經網路:使用反向傳播進行訓練
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
反向傳播是類神經網路最常見的訓練演算法。這項技術可讓梯度下降演算法用於多層類神經網路。許多機器學習程式碼程式庫 (例如 Keras) 會自動處理反向傳播,因此您不需要自行執行任何基礎計算。請觀看下列影片,從概念上概略瞭解反向傳播的運作方式:
類神經網路訓練最佳做法
本節說明反向傳播的失敗案例,以及最常見的類神經網路正規化方式。
消失的梯度
較低神經網路層 (靠近輸入層) 的梯度可能會變得非常小。在深層網路 (具有多個隱藏層的網路) 中,計算這些梯度可能需要將許多小項相乘。
當下層的梯度值接近 0 時,梯度就會「消失」。梯度消失的圖層訓練速度非常緩慢,或完全無法訓練。
ReLU 活化函式有助於避免梯度消失。
爆炸漸層
如果網路中的權重非常大,則較低層的梯度會涉及許多大型項目的乘積。在這種情況下,您可能會遇到梯度爆炸問題:梯度過大而無法收斂。
批次正規化有助於避免梯度爆炸,降低學習率也有相同效果。
ReLU 死亡單元
如果 ReLU 單元的加權總和低於 0,ReLU 單元可能會卡住。輸出為 0,對網路輸出沒有任何貢獻,且梯度無法再於反向傳播期間流經該節點。如果梯度來源遭到截斷,ReLU 的輸入內容可能永遠不會有足夠的變化,使加權總和回到 0 以上。
降低學習率有助於避免 ReLU 單位失效。
Dropout Regularization
另一種形式的正規化稱為「Dropout 正規化」,適用於類神經網路。做法是在單一梯度步驟中,隨機「捨棄」網路中的單元啟用。Dropout 越多,正則化越強:
- 0.0 = 無丟棄正則化。
- 1.0 = 捨棄所有節點。 模型不會學到任何內容。
- 介於 0.0 和 1.0 之間的值 = 更有用。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-12-16 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-12-16 (世界標準時間)。"],[],[]]