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:
Regresi: Mean Squared Error (MSE) — mengukur rata-rata kuadrat selisih antara prediksi dan nilai aktual.
Klasifikasi: Binary Cross-Entropy (BCE) — mengukur seberapa jauh probabilitas prediksi dari label asli.
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?
Rasakan kemiringan tanah di bawah kaki Anda.
Ambil langkah kecil ke arah yang paling menurun.
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
α (alpha) = learning rate, ukuran langkah. Menentukan seberapa besar pembaruan di setiap iterasi.
∂L/∂w = gradient (turunan parsial), arah kemiringan paling curam ke atas.
Negatif gradient = arah kemiringan paling curam ke bawah (descent).
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:
Iterasi
w
Gradient 2(w-3)
α × gradient
w baru
Loss
0
0.00
-6.00
-1.20
1.20
10.00
1
1.20
-3.60
-0.72
1.92
4.24
2
1.92
-2.16
-0.43
2.35
2.17
3
2.35
-1.30
-0.26
2.61
1.42
4
2.61
-0.78
-0.16
2.77
1.15
5
2.77
-0.47
-0.09
2.86
1.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:
Varian
Data per Update
Kecepatan per Iterasi
Stabilitas
Kasus Penggunaan
Batch GD
Seluruh dataset
Lambat
Sangat stabil
Dataset kecil
Stochastic GD (SGD)
1 sampel acak
Sangat cepat
Sangat tidak stabil (noisy)
Online learning
Mini-batch GD
Batch kecil (misal 32)
Cepat
Cukup stabil
Deep 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 menghitung gradient (turunan) loss terhadap setiap weight di seluruh jaringan, dari output layer kembali ke input layer.
Gradient Descent menggunakan gradient tersebut untuk memperbarui (update) setiap weight agar loss berkurang.
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] S. Ruder, "An overview of gradient descent optimization algorithms," arXiv:1609.04747, 2016.
[2] D. E. Rumelhart, G. E. Hinton, R. J. Williams, "Learning representations by back-propagating errors," Nature, vol. 323, pp. 533-536, 1986.
[3] L. Bottou, "Large-scale machine learning with stochastic gradient descent," in Proc. COMPSTAT, 2010.
[4] I. Goodfellow et al., Deep Learning. MIT Press, 2016, Ch. 8.