Ketika kita melakukan kesalahan, biasanya kita akan evaluasi apa saja yang salah lalu memperbaikinya pada kesempatan selanjutnya. Prinsip yang serupa juga diterapkan dalam konteks jaringan syaraf tiruan melalui algoritma Backpropagation.
Backpropagation merupakan salah satu algoritma yang digunakan dalam machine & deep learning. Cara kerjanya adalah saat model menerima data masukan (input), model akan menghasilkan suatu prediksi (output). Prediksi tersebut kemudian dibandingkan dengan nilai sebenarnya. Selisih nilai prediksi dan nilai aktual disebut dengan error.
Backpropagation bertugas untuk:
- Menghitung besar kesalahan yang terjadi.
- Menentukan bagian jaringan mana yang menyebabkan kesalahan tersebut.
- Menyesuaikan bobot/weight agar prediksi berikutnya jadi lebih baik.
Bisa dibilang, Backpropagation memungkinkan model yang dibuat untuk belajar secara bertahap melalui proses trial and error.
Analogi
Analoginya adalah seseorang yang sedang latihan bola basket:
- Percobaan pertama lemparannya terlalu jauh.
- Percobaan kedua lemparannya terlalu dekat.
- Percobaan ketiga lemparannya mulai mendekati target.
Tiap lemparan, orang tersebut akan mengevaluasi lemparannya dan menyesuaikannya untuk lemparan selanjutnya.
Cara kerja Backpropagation mirip seperti itu. Model melihat hasil prediksinya, menghitung seberapa besar kesalahan yang terjadi, lalu menyesuaikan parameter agar prediksi pada run berikutnya bisa lebih akurat.
Cara Kerja
Cara kerja Backpropagation dapat dikelompokkan menjadi lima tahap utama.
- Inisialisasi Bobot. Pada awal pelatihan, tiap koneksi antar neuron diberikan nilai secara acak. Karena bobot masih acak, hasil prediksi awal biasanya masih jauh dari nilai aktual.
- *Forward Propagation. Data input dikirimkan ke lapisan output. Tiap neuron akan melakukan berdasarkan:
- Nilai input.
- Bobot koneksi.
- Fungsi aktivasi.
Di tengah proses input layer ke output layer, ada hidden layer yang berfungsi sebagai pusat perhitungan tempat kesalahan.
Input → Hidden Layer → Output
Contohnya, apabila model akan digunakan untuk memprediksi trafik jaringan, maka nilai historis trafik sebelumnya akan diproses untuk menghasilkan prediksi trafik berikutnya.
Perhitungan Error
Setelah nilai prediksi diperoleh, model membandingkannya dengan nilai aktual. Contoh:
Nilai aktual : 100 Mbps
Nilai prediksi : 85 Mbps
Error : 15 Mbps
Semakin besar selisihnya, makin besar juga kesalahan yang diprediksi oleh model. Ada juga fungsi kerugian (loss function) yang dapat digunakan untuk mengukur besarnya kesalahan. Misalnya Mean Squared Error (MAE) dan Mean Absolute Error (MAE).
Backward Propagation
Kesalahan yang telah dihitung akan disebarkan kembali dari lapisan output menuju lapisan sebelumnya. Tahap ini bertujuan untuk mengetahui neuron mana yang paling berpengaruh pada kesalahan, dan bobot mana yang perlu diperbaiki. Proses ini menggunakan konsep matematika yang dikenal sebagai gradient descent dan chain rule dalam kalkulus.
Inti dari tahap ini adalah “cari tahu penyebab kesalahan, lalu perbaiki parameter yang bertanggung jawab atas kesalahan tersebut”.
Update Bobot
Bobot baru = bobot lama - (learning rate x gradien)
Parameter learning rate menentukan seberapa besar perubahan bobot pada setiap iterasi. Apabila terlalu besar, model bisa sulit stabil. Apabila terlalu kecil, proses pelatihan model bisa sangat lambat. Tahapan ini dilakukan berulang kali hingga model mencapai tingkat akurasi yang diinginkan.
Kelebihan Backpropagation
- Dapat mempelajari pola yang kompleks.
- Cocok untuk berbagai jenis prediksi dan klasifikasi.
- Menjadi dasar banyak model deep learning modern.
Kekurangan Backpropagation
- Membutuhkan data yang cukup banyak.
- Proses pelatihan dapat memakan waktu yang lama.
- Sensitif terhadap pemilihan parameter seperti learning rate dan jumlah neuron.
- Berpotensi mengalami overfitting apabila model terlalu kompleks.
Penutup
Backpropagation merupakan algoritma yang memungkinkan jaringan syaraf tiruan untuk belajar dari kesalahan yang dilakukan. Melalui proses forward propagation, perhitungan error, backward propagation, dan pembaruan bobot secara berulang, model dapat meningkatkan akurasinya dari waktu ke waktu.
Tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.