Tensorflow2-tensorflow-keras-深度神經網絡(DNN)

深度神經網絡

與神經網絡一樣,只是深度比較深(中間層數比較多 > 20)

實現深度神經網絡


Result

  • 其訓練的準確率就非常高
  • 要是發現前期訓練結果不好可能有以下兩個原因
    • 參數眾多,導致訓練不充分
    • 梯度消失

梯度消失

  • 對於一個多層次的神經網絡,離目標函數(loss)比較遠的底層神經網絡,權重無法得到有效更新,甚至神經網絡可能完全無法繼續訓練
    • 一般容易發生在深度神經網絡中
    • 造成訓練目標函數結果平緩,沒有得到有效的下降
    • 導致此情況通常由於鏈式法則
    • 批標準化(batch normalization)可緩解此現象

鏈式法則

  • 複合函數$f(g(x))$求導
    • $g(x)$的輸出就是 $f(x)$ 的輸入
    • 為基礎神經網絡的結構
    • 因參數眾多使得在進行複合函數求導的過程中造成梯度消失