提升模型效能

使用 PyTorch 的深度學習入門

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

最大化效能的步驟

$$

  • 問題能解嗎?

  • 設定效能基準

$$

  • 提升驗證集效能

$$ $$

  • 追求可達到的最佳效能

步驟 1

步驟 2

步驟 3

使用 PyTorch 的深度學習入門

步驟 1:讓訓練集過度擬合

  • 修改訓練迴圈,先讓模型過度擬合到「單一資料點」

    features, labels = next(iter(dataloader))
    for i in range(1000):
      outputs = model(features)
      loss = criterion(outputs, labels)
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()
    
    • 應能達到 1.0 準確率與 0 損失
  • 再擴大到整個訓練集

    • 先保持預設超參數
使用 PyTorch 的深度學習入門

步驟 2:降低過度擬合

  • 目標:最大化驗證準確率

  • 可以嘗試:

    • Dropout
    • 資料增強
    • 權重衰退
    • 降低模型容量

$$

  • 紀錄每個超參數與對應的驗證準確率

過度擬合

使用 PyTorch 的深度學習入門

步驟 2:降低過度擬合

$$

原始模型對訓練資料過度擬合 原始效能

$$

更新後模型正規化過強 正規化過強

使用 PyTorch 的深度學習入門

步驟 3:微調超參數

  • Grid search
for factor in range(2, 6):
    lr = 10 ** -factor

網格搜尋

  • Random search
factor = np.random.uniform(2, 6)
lr = 10 ** -factor

隨機搜尋

使用 PyTorch 的深度學習入門

一起來練習吧!

使用 PyTorch 的深度學習入門

Preparing Video For Download...