訓練神經網路的問題之一是 特別是很深的神經網路時 是資料消失以及梯度爆炸 這個的意思是當您訓練 很深的網路您的導數 或者您的斜率有時候會變得 很大很大 或者很小很小 也許是指數般的小 而這會讓訓練變得很難 在這段影片您會看到 梯度爆炸跟消失 的問題真正的含義 同時您如何可以謹慎選擇 隨機權重初始可以 明顯地減低這個問題 假設您正在訓練一個 很深的神經網路像這樣 為了節省投影片的空間 我畫成您只有 兩個隱藏單元在每一層 但它可以更多 這個神經網路會有參數 w[1], w[2], w[3] 等等到 w[L] 為了簡單起見 假設我們使用啟動函數 g of z 等於 z 也就是線性啟動函數 讓我們先忽略 b, 假設 b[l] 等於 0 這種情況下您可以證明輸出 y 會是 w[L] 乘 w[L-1] 乘 w[L-2] ...直到 w[3], w[2], w[1] 乘 x 但如果您要檢查我的數學 w[1] 乘 x 會是 z1 因為 b 等於 0 所以 z[1] 等於 w[1] 乘 x 然後加 b 但為 0 但然後 a[1] 等於 g of z[1] 但因為我們使用線性啟動函數 這個就等於 z[1] 所以這第一個項目 w[1]x 等於 a[1] 然後用類似的方式我們可以發現 w[2] 乘 w[1] 乘 x 等於 a[2] 因為那將會是 g of z[2] 將會是 g of w[2] 乘 a[1], 我們可以代入這裡 所以這個東西會等於 a[2] 然後這個東西將會是 a[3], 直到所有這些 矩陣的乘積會給您 y-hat, 不是 y 現在假設每個您個權重矩陣 w[L] 只有比 1 乘單元矩陣 大一點 所以像是 1.5, 1.5, 0, 0 技術上而言最後一個維度有所不同 也許這只是其餘這些權重矩陣 那 y-hat 會是 先忽略最後一個不同維度 這個 1.5, 0, 0, 1.5 矩陣的 L - 1 次方乘上 x 因為我們假設每一個 這些矩陣等於這個東西 這其實是 1.5 乘上單元矩陣, 那您最終會有這個計算 所以 y-hat 基本上會是 1.5 的 L 次方 L - 1 次方乘上 x 如果 L 很大, 是很深的神經網路 y-hat 會非常大 實際上, 這個是指數成長 它會長成 1.5 的層數次方 如果您有很深的神經網路 y 的值會爆炸 現在,相反地,如果我們取代這個為 0.5 是一種小於 1 的數字 那這個會變成 0.5 的 L 次方 這個矩陣會變成 0.5 的 L - 1 次方乘 x, 再次忽略 w[L] 所以每一個矩陣小於 1 假設 x1, x2 是 1, 1 那啟動值會是 一半 一半,四分之一 四分之ㄧ, 八分之ㄧ, 八分之一 直到這個變成 1/2 的 L 次方 啟動值會指數般減少 像一個網路深度的函數 也就是像函數對於 網路層的數目 所以在很深的網路時, 啟動值會指數般減少 這裡學到的直覺是從這個權重 w 如果他們只是比 1 大一點點 或者說把單元矩陣大一點點 那在很深的網路, 啟動值會爆炸 如果  w 比單元矩陣小一點點 那也許是 0.9, 0.9 在您用很深的網路時 啟動值會指數般下降 即使我歷經這個討論是 啟動值指數般增加或減少 是一個對於 L 的函數 類似的討論也可以用在證明 計算導數或者梯度在梯度下降 時也會指數般增加 或指數般減少 為一個對於層數的函數 一些現代的神經網路, L 等於 150 微軟最近用 152 層的神經網路 獲得很好的成果 但在這樣深的神經網路 如果您的啟動值或者梯度 指數般增加或減少為 L 的函數 那這些值可以很大或很小 而這會讓訓練更困難 特別是如果您的梯度是指數般小於 L 那梯度下降會用非常小的步伐 這樣會讓梯度下降 花很長的時間來學習 總結一下, 您看到深度網路如何承受 梯度消失或爆炸的問題 實際上, 長久以來這個問題是 訓練深度神經網路的很大障礙 實際上有部份解決方案 不能完全解決 這個問題但幫助很大 也就是 仔細選擇您的初始權重 讓我們在下一段影片 看這個方案