跳至主要内容

Improve Deep Neural Networks

在這個章節,我們會學習到深度學習的「魔法」,而不只是將其作為黑盒子使用。瞭解如何控制性能,並有系統地取得良好的結果:

  • 了解業界在構建深度學習應用的最佳實踐;
  • 能夠使用常見的神經網路技巧,如初始化、L2 正則化、Dropout 正則化、批次正規化和梯度檢查;
  • 能夠應用各種優化演算法,如小批次梯度下降、動量、RMSprop、Adam,以及檢查收斂;
  • 瞭解如何設定新的最佳實踐,如訓練/開發/測試集、分析偏差/變異;
  • 掌握 TensorFlow 的使用。

Overview

📄️ 2 - Regularizing Neural Network

Regularization 是 machine learning 中常見的技術,用於限制模型參數和權重,以減少模型對訓練數據過度擬合的可能性。而當我們將其套用到 Neural Network 上時,也有 Frobenius Norm 以及 Weight Decay 等技術可以做到 regularization。此外,我們也會使用 Dropout Regularization 來避免 Overfitting,而 Data Augmentation 和 Early Stopping 也是可以用來避免 Overfitting 的方法。本文將會詳細解釋這些技術,以及它們彼此之間的關係。

📄️ 4 - Optimization algorithms

本文介紹了有助於進行深度學習最佳化的算法,包括 Mini-Batch Gradient Descent 以及 Exponentially Weighted Averages。因為 Batch Gradient Descent 對整個 training set 進行一次 gradient descent,每個 iteration 時間較長,訓練過程較慢。Mini-Batch 將 Batch 和 Stochastic Gradient Descent 優點合併,但需要找出適合的 batch size。Exponentially Weighted Averages 是一個用於分析移動平均的算法,可以減緩短期波動,反映長期趨勢。

📄️ 5 - Hyperparameter, Batch Normalization, Softmax

本文探討了訓練深度學習模型時最常用的兩個觀念,包括調整超參數 (hyperparameter tuning) 以及使用批次正規化 (batch normalization)。文中比較了不同的調整超參數的方法,並列出了調整的區間以及最適當的範圍。文章接著介紹了批次正規化,並說明了在深度學習模型中如何使用批次正規化來加快訓練速度。文中更進一步介紹了 Softmax Regression 以及其 Cost Function 和 Gradient Descent 的用法,並且提及了常見的深度學習框架,以及如何選擇合適的框架以及框架的重要性。