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

  • Ukuran langkah mengecil dekat nol saat gradien mengecil
Pengantar Deep Learning dengan PyTorch

Dampak laju belajar: laju kecil

contoh laju belajar kecil

Pengantar Deep Learning dengan PyTorch

Dampak laju belajar: laju tinggi

nilai laju belajar yang terlalu tinggi

Pengantar Deep Learning dengan PyTorch

Fungsi konveks dan non-konveks

Ini adalah fungsi konveks.

contoh fungsi konveks

Ini adalah fungsi non-konveks.

contoh fungsi non-konveks

  • Fungsi loss bersifat non-konveks
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...