Backpropagation adalah metode yang digunakan jaringan saraf untuk menghitung gradien: seberapa besar loss akan berubah jika setiap bobot atau bias diubah sedikit. Dalam bahasa sederhana, metode ini memberi tahu model parameter mana yang mendorong prediksi ke arah yang salah dan seberapa besar pengaruhnya.
Versi singkatnya sederhana: jalankan jaringan ke depan, ukur error, lalu bergerak mundur melalui perhitungan yang sama dengan aturan rantai. Ini membuat model yang dalam tetap mudah dikelola, karena setiap layer hanya perlu menyumbang turunan lokal yang kecil.
Apa yang dihitung backpropagation
Backpropagation tidak memperbarui parameter dengan sendirinya. Metode ini menghitung gradien seperti dan , dengan sebagai loss. Optimizer seperti gradient descent menggunakan gradien tersebut untuk melakukan pembaruan yang sebenarnya.
Jika model dan loss dapat diturunkan, atau setidaknya cukup piecewise differentiable untuk metode berbasis gradien, backpropagation memungkinkan Anda menghitung gradien itu secara efisien dalam satu backward pass.
Mengapa aturan rantai adalah ide kuncinya
Bayangkan jaringan saraf sebagai rantai perhitungan yang panjang. Setiap layer menerima input, mengubahnya, lalu meneruskan hasilnya ke layer berikutnya. Saat Anda sampai ke loss, error akhir bergantung pada setiap keputusan sebelumnya.
Backpropagation mengajukan pertanyaan lokal di setiap langkah: jika nilai antara ini berubah sedikit, bagaimana loss akhir akan berubah? Efek-efek lokal itu dikalikan bersama saat Anda bergerak mundur. Itulah aturan rantai dalam bahasa sederhana.
Contoh backpropagation dengan satu neuron
Gunakan satu neuron dengan satu input:
Di sini adalah input, adalah bobot, adalah bias, adalah prediksi, adalah target, dan adalah fungsi sigmoid.
Ambil
Langkah 1: Forward pass
Pertama hitung jumlah berbobot neuron:
Sekarang terapkan sigmoid:
Sekarang hitung loss:
Prediksi berada di bawah target, jadi loss bernilai positif.
Langkah 2: Backward pass
Sekarang hitung gradien terhadap bobot.
Mulai dari loss dan bergerak ke dalam:
Untuk sigmoid,
Dan untuk jumlah berbobot,
Sekarang rangkai bagian-bagian itu bersama:
Masukkan angkanya:
Tanda negatif itu penting. Tanda tersebut menunjukkan bahwa menaikkan atau sedikit akan mengurangi loss dalam kasus ini, yang sesuai dengan situasinya karena prediksi saat ini terlalu rendah.
Jika Anda menggunakan gradient descent dengan learning rate , maka
Itulah keseluruhan idenya dalam bentuk kecil: forward pass, loss, backward pass, pembaruan.
Mengapa backpropagation bekerja untuk jaringan yang dalam
Dalam jaringan yang lebih dalam, Anda melakukan hal yang sama layer demi layer. Perbedaan utamanya adalah setiap hidden layer memengaruhi loss secara tidak langsung melalui layer-layer setelahnya, sehingga gradiennya mencakup lebih banyak faktor aturan rantai.
Backpropagation tetap praktis karena setiap layer hanya membutuhkan turunan lokalnya dan sinyal yang datang dari layer setelahnya. Anda tidak perlu menurunkan ulang seluruh jaringan dari awal untuk setiap parameter.
Kesalahan umum dalam backpropagation
Mencampuradukkan backpropagation dengan gradient descent
Backpropagation menghitung gradien. Gradient descent menggunakan gradien tersebut untuk memperbarui parameter. Keduanya sangat berkaitan, tetapi bukan langkah yang sama.
Lupa bahwa loss berada di bagian akhir
Backward pass dimulai dari loss, bukan dari hidden layer sembarang. Jika Anda kehilangan jejak tentang apa saja yang memengaruhi loss, rantai turunannya biasanya akan terputus.
Mengabaikan perilaku fungsi aktivasi
Beberapa fungsi aktivasi menghasilkan gradien yang sangat kecil di wilayah tertentu. Jika ini terjadi berulang kali di banyak layer, proses belajar bisa menjadi lambat.
Menganggap satu backward pass berarti model sudah belajar
Satu backward pass memberikan satu set gradien untuk satu batch. Pelatihan biasanya membutuhkan banyak pembaruan pada banyak contoh.
Kapan backpropagation digunakan
Backpropagation adalah metode standar untuk menghitung gradien saat melatih banyak jenis jaringan saraf, termasuk multilayer perceptron, convolutional networks, model rekuren, dan transformer.
Optimizer yang digunakan bisa berbeda, dan beberapa arsitektur menambahkan trik praktis, tetapi ide intinya biasanya sama: hitung loss, propagasikan gradien ke belakang, lalu perbarui parameter untuk mengurangi error di masa depan.
Cara praktis untuk mengingatnya
Backpropagation adalah cara terstruktur untuk memberi kredit dan menyalahkan bagian-bagian di dalam model berlapis. Jika output salah, metode ini menelusuri error itu ke belakang sehingga setiap parameter menerima sinyal tentang bagaimana kontribusinya.
Itulah sebabnya frasa "bagaimana jaringan saraf belajar" sebagian besar akurat. Proses belajar terjadi melalui pembaruan parameter yang berulang, dan backpropagation membuat pembaruan itu berdasarkan informasi, bukan acak.
Coba soal serupa
Gunakan contoh yang sama, tetapi ubah target dari menjadi . Hitung ulang dan , lalu periksa bagaimana tandanya berbalik. Satu perubahan itu membuat peran loss jauh lebih jelas daripada sekadar menghafal rumus.
Butuh bantuan mengerjakan soal?
Unggah pertanyaanmu dan dapatkan solusi terverifikasi langkah demi langkah dalam hitungan detik.
Buka GPAI Solver →