Modul 5: Backpropagation

Bagaimana Model "Belajar" dari Kesalahannya Sendiri

📉 Menuruni Gunung Error (Gradient Descent)

Di Modul 4, kita sudah tahu kita berada di "gunung error". Tujuan kita adalah mencapai lembah terdalam (error minimum).

🧮 Matematika di Balik Layar

Dalam matematika, "kemiringan tanah" itu disebut Gradien (turunan/derivative). Kita menghitung gradien dari Cost Function ($J$) terhadap setiap bobot ($w$).

Rumus Update Bobot

Setelah tahu arah kemiringan ($\frac{\partial J}{\partial w}$), kita melangkah *berlawanan* arah dengan gradien (karena kita ingin turun, bukan naik).

$$ w_{baru} = w_{lama} - \alpha \frac{\partial J}{\partial w} $$

$\alpha$ (alpha) adalah Learning Rate. Ini menentukan seberapa besar langkah kaki kita.

  • Jika $\alpha$ terlalu kecil: Turunnya lama sekali.
  • Jika $\alpha$ terlalu besar: Kita mungkin melompat ke seberang lembah dan malah naik.
🔗 Chain Rule (Aturan Rantai)

Masalahnya: Bagaimana cara menghitung gradien $\frac{\partial J}{\partial w}$ untuk bobot di layer awal? Padahal bobot itu jauh sekali dari output errornya. Di sinilah keajaiban Kalkulus bernama Chain Rule bekerja. Kita menghitung pengaruh error secara mundur, dari output -> hidden -> input. Itulah kenapa disebut Backpropagation (Perambatan Mundur).

$$ \frac{\partial J}{\partial w^{[1]}} = \frac{\partial J}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial z^{[2]}} \cdot \frac{\partial z^{[2]}}{\partial a^{[1]}} \cdot \frac{\partial a^{[1]}}{\partial z^{[1]}} \cdot \frac{\partial z^{[1]}}{\partial w^{[1]}} $$
Intinya: "Kesalahan total adalah akibat dari kesalahan di layer output, yang disebabkan oleh layer sebelumnya, yang disebabkan oleh layer sebelumnya lagi..."

🎉 Siklus Hidup Training

Selamat! Kamu sudah mempelajari siklus hidup training Neural Network:

1
Inisialisasi: Tebak bobot awal secara acak.
2
Forward Prop: Hitung prediksi dari input sampai output.
3
Compute Loss: Hitung seberapa salah prediksinya.
4
Backprop: Hitung gradien (kemiringan error) mundur ke belakang.
5
Update Weight: Perbaiki bobot sedikit demi sedikit.
6
Ulangi! Lakukan ribuan kali (Epochs) sampai error minimal.

Kamu Telah Menyelesaikan Kursus Dasar Ini!

Langkah selanjutnya? Cobalah implementasikan ini dengan kode Python (TensorFlow/PyTorch)!