Laju belajar dan momentum

Pengantar Deep Learning dengan PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Memperbarui bobot dengan SGD

  • Melatih jaringan saraf = menyelesaikan masalah optimisasi.

Optimizer Stochastic Gradient Descent (SGD)

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • Dua argumen:
    • learning rate: mengatur besar langkah
    • momentum: menambah inersia agar tidak macet
Pengantar Deep Learning dengan PyTorch

Dampak laju belajar: laju optimal

contoh laju belajar optimal

  • Langkah mengecil dekat nol saat gradien makin kecil
Pengantar Deep Learning dengan PyTorch

Dampak laju belajar: laju kecil

contoh laju belajar kecil

Pengantar Deep Learning dengan PyTorch

Dampak laju belajar: laju tinggi

contoh laju belajar terlalu tinggi

Pengantar Deep Learning dengan PyTorch

Fungsi cembung vs. tak cembung

Ini adalah fungsi cembung (convex).

contoh fungsi cembung

Ini adalah fungsi tak cembung (non-convex).

contoh fungsi tak cembung

  • Fungsi loss umumnya tak cembung
Pengantar Deep Learning dengan PyTorch

Tanpa momentum

  • lr = 0.01 momentum = 0, setelah 100 langkah minimum ditemukan pada x = -1.23 dan y = -0.14

contoh optimizer terjebak di minimum lokal

Pengantar Deep Learning dengan PyTorch

Dengan momentum

  • lr = 0.01 momentum = 0.9, setelah 100 langkah minimum ditemukan pada x = 0.92 dan y = -2.04

contoh optimisasi dengan momentum

Pengantar Deep Learning dengan PyTorch

Ringkasan

$$

Laju Belajar Momentum
Mengatur besar langkah Mengatur inersia
Terlalu tinggi → kinerja buruk Membantu keluar dari minimum lokal
Terlalu rendah → pelatihan lambat Terlalu kecil → optimizer macet
Rentang umum: 0.01 ($10^{-2}$) dan 0.0001 ($10^{-4}$) Rentang umum: 0.85–0.99
Pengantar Deep Learning dengan PyTorch

Ayo berlatih!

Pengantar Deep Learning dengan PyTorch

Preparing Video For Download...