Bab 5: Gradient Descent

Algoritma optimasi inti di balik semua pembelajaran mesin modern

1. Masalah Optimasi

Dari bab-bab sebelumnya, kita sudah mengenal fungsi loss (cost function) yang mengukur seberapa buruk prediksi model kita:

Tujuan utama: mencari nilai weight (W) dan bias (b) yang meminimalkan fungsi loss tersebut.

Mengapa tidak langsung selesaikan secara analitik?
Untuk kasus sederhana (1-2 parameter), kita bisa menggunakan solusi analitik seperti Ordinary Least Squares (OLS). Namun, untuk kasus kompleks seperti neural network dengan jutaan parameter, solusi analitik tidak mungkin — kita membutuhkan metode iteratif.

Analogi: Tersesat di Gunung Berkabut

Bayangkan Anda berdiri di puncak gunung dalam keadaan kabut tebal. Anda tidak bisa melihat keseluruhan lanskap, tapi Anda ingin turun ke lembah (titik terendah). Apa yang Anda lakukan?

  1. Rasakan kemiringan tanah di bawah kaki Anda.
  2. Ambil langkah kecil ke arah yang paling menurun.
  3. Ulangi sampai Anda merasa sudah di titik paling rendah.

Inilah esensi Gradient Descent — bergerak selangkah demi selangkah menuju nilai minimum fungsi loss.

2. Intuisi Gradient Descent

Klik di mana saja pada kurva untuk menempatkan titik awal, lalu tekan tombol untuk melihat bagaimana gradient descent bekerja. Coba ubah learning rate untuk melihat efeknya!

w (bobot)
-
Gradient
-
Loss L(w)
-
Iterasi
0
Perhatikan efek learning rate:
• Terlalu kecil (0.01-0.05): konvergensi sangat lambat, butuh banyak iterasi.
• Tepat (0.1-0.3): konvergensi mulus dan cepat.
• Terlalu besar (0.7-1.0): osilasi atau bahkan divergensi — bola melompat-lompat!

3. Rumus Gradient Descent

Aturan pembaruan (update rule) gradient descent sangat sederhana:

wbaru = wlama − α · ∂L/∂w

Contoh Numerik Langkah demi Langkah

Fungsi loss: L(w) = (w − 3)² + 1. Minimum di w = 3.

Gradient: ∂L/∂w = 2(w − 3)

Mulai dari w = 0, learning rate α = 0.2:

IterasiwGradient 2(w-3)α × gradientw baruLoss
00.00-6.00-1.201.2010.00
11.20-3.60-0.721.924.24
21.92-2.16-0.432.352.17
32.35-1.30-0.262.611.42
42.61-0.78-0.162.771.15
52.77-0.47-0.092.861.06

Perhatikan: loss terus berkurang dan w mendekati nilai optimal (w = 3). Setiap iterasi, langkah menjadi lebih kecil karena gradient semakin mendekati nol di titik minimum.

4. Gradient Descent untuk Linear Regression

Untuk model y = wx + b dengan loss MSE, gradient terhadap masing-masing parameter:

∂L/∂w = −(2/n) Σ xi(yi − ŷi)
∂L/∂b = −(2/n) Σ (yi − ŷi)

Panel kiri: scatter plot dengan garis regresi yang bergerak. Panel kanan: contour plot dari loss sebagai fungsi w dan b.

Scatter plot + garis regresi
Contour plot loss landscape
Epoch
0
w
0.00
b
0.00
Loss (MSE)
-

5. Jenis-Jenis Gradient Descent

Tiga varian utama gradient descent berbeda dalam jumlah data yang digunakan untuk menghitung gradient di setiap langkah:

VarianData per UpdateKecepatan per IterasiStabilitasKasus Penggunaan
Batch GDSeluruh datasetLambatSangat stabilDataset kecil
Stochastic GD (SGD)1 sampel acakSangat cepatSangat tidak stabil (noisy)Online learning
Mini-batch GDBatch kecil (misal 32)CepatCukup stabilDeep learning (standar)

Animasi berikut menunjukkan ketiga varian secara bersamaan pada loss landscape yang sama. Perhatikan perbedaan lintasannya!

Batch GD
-
SGD
-
Mini-batch
-

6. Hubungan dengan Neural Network

Gradient descent adalah jantung dari semua deep learning. Begini hubungannya:

Backpropagation (hitung gradient) + Gradient Descent (update weight) = Pembelajaran Neural Network
Preview: Loss Landscape Neural Network
Dalam neural network, loss landscape jauh lebih kompleks dibanding parabola sederhana di atas. Landscape-nya bersifat non-convex dengan banyak:
Local minima — titik rendah yang bukan global minimum.
Saddle point — titik yang datar tapi bukan minimum.
Plateau — daerah datar yang memperlambat pembelajaran.

Inilah mengapa teknik-teknik canggih seperti Adam, RMSprop, dan learning rate scheduling dikembangkan — untuk mengatasi tantangan landscape yang kompleks ini.

Gradient descent (dengan berbagai variannya) adalah algoritma optimasi inti di balik semua model deep learning — dari neural network sederhana hingga GPT dan model bahasa besar lainnya.

Referensi

  1. [1] S. Ruder, "An overview of gradient descent optimization algorithms," arXiv:1609.04747, 2016.
  2. [2] D. E. Rumelhart, G. E. Hinton, R. J. Williams, "Learning representations by back-propagating errors," Nature, vol. 323, pp. 533-536, 1986.
  3. [3] L. Bottou, "Large-scale machine learning with stochastic gradient descent," in Proc. COMPSTAT, 2010.
  4. [4] I. Goodfellow et al., Deep Learning. MIT Press, 2016, Ch. 8.
← Regresi Logistik Preprocessing →