Konsep Gradient Descent
Algoritma backpropagation (backprop) adalah sebuah algoritma yang digunakan dalam pembelajaran jaringan saraf untuk menyesuaikan bobot dan bias dari jaringan tersebut. Algoritma ini digunakan untuk mengurangi error antara output yang diharapkan dan output yang dihasilkan oleh jaringan saraf.
Secara umum, backprop menggunakan konsep dari gradient descent untuk menentukan perubahan bobot dan bias yang diperlukan. Gradient descent adalah sebuah metode yang digunakan untuk menemukan nilai minimum dari sebuah fungsi. Dalam hal ini, fungsi yang digunakan adalah error yang dihasilkan oleh jaringan saraf.
Rumus-Rumus
algoritma backpropagation memiliki rumus-rumus yang digunakan untuk mengoptimalkan parameter jaringan saraf. Beberapa rumus yang digunakan dalam algoritma backpropagation adalah sebagai berikut:
- Rumus Error: digunakan untuk menghitung seberapa jauh hasil yang dihasilkan oleh jaringan saraf dari target yang diharapkan. Biasanya digunakan rumus Mean Squared Error (MSE) atau Mean Absolute Error (MAE).
- Rumus Perubahan Bobot: digunakan untuk mengupdate bobot dari setiap neuron dalam jaringan saraf. Rumus yang digunakan biasanya adalah rumus yang dikembangkan oleh Rumelhart, Hinton, dan Williams yang dikenal dengan rumus delta rule atau rumus delta backpropagation.
- Rumus Perubahan Bias: digunakan untuk mengupdate nilai bias dari setiap neuron dalam jaringan saraf. Rumus yang digunakan mirip dengan rumus perubahan bobot, namun dilakukan pada nilai bias dari neuron tersebut.
- Rumus Aktivasi: digunakan untuk menentukan apakah sebuah neuron akan mengirimkan sinyal atau tidak. Biasanya digunakan rumus aktivasi seperti sigmoid, ReLU, atau tanh.
Dalam proses backpropagation, setiap rumus akan digunakan secara bergantian untuk mengoptimalkan parameter jaringan saraf dan meningkatkan akurasi dari jaringan saraf.
Proses Backpropagation
Proses backprop diawali dengan melakukan feedforward atau perhitungan output dari jaringan saraf dengan menggunakan input yang diberikan. Kemudian, error yang dihasilkan ditentukan dengan membandingkan output yang dihasilkan dengan output yang diharapkan.
Langkah selanjutnya adalah backpropagation of error yang dilakukan dari lapisan output hingga lapisan input. Pada lapisan output, error ditentukan dengan menghitung selisih antara output yang diharapkan dan output yang dihasilkan. Kemudian, error tersebut dibagi ke lapisan yang sebelumnya dengan menggunakan bobot dari masing-masing neuron.
Setelah error ditentukan pada setiap lapisan, bobot dan bias dari masing-masing neuron diperbarui dengan menggunakan gradient descent. Proses ini dilakukan berulang-ulang hingga error yang dihasilkan mencapai nilai minimum yang ditentukan.
Contoh
Contoh aplikasinya, jika kita ingin membuat jaringan saraf yang dapat mengenali jenis buah dari sebuah gambar, kita dapat menggunakan dataset yang berisi gambar-gambar buah dan label jenis buahnya. Kemudian melatih jaringan saraf dengan algoritma backpropagation dengan input gambar-gambar tersebut dan output label jenis buahnya. Setelah proses latihan selesai, jaringan saraf dapat digunakan untuk mengenali jenis buah dari gambar yang belum dikenal sebelumnya dengan tingkat akurasi yang cukup tinggi.
Sesudah proses latihan selesai, jaringan saraf dapat digunakan untuk mengenali jenis buah dari gambar yang belum dikenal sebelumnya dengan tingkat akurasi yang cukup tinggi. Namun, hasil yang diharapkan dari akurasi tersebut sangat tergantung dari kualitas dataset latih yang digunakan. Jika dataset latih yang digunakan kurang representatif atau kurang bervariasi, maka akurasi yang dihasilkan oleh jaringan saraf akan rendah. Sebaliknya, jika dataset latih yang digunakan berkualitas baik, maka akurasi yang dihasilkan oleh jaringan saraf akan tinggi.
Baca juga Daftar Semua Artikel.