Bagian ini akan membahas secara
singkat mengenai Backpropagation. Salah satu kelemahan utama jaringan saraf
tiruan adalah proses penyesuaian bobot dalam model. Pendekatan tradisional,
seperti penggunaan algoritma mutasi, menggunakan nilai acak yang terbukti
memakan waktu. Mengingat hal ini, peneliti mencari alternatif, seperti
backpropagation. Teknik ini sudah ada sejak tahun 1970-an tetapi kurang
diminati karena kinerjanya kurang baik. David Rumelhart, Geoffrey Hinton, dan
Ronald Williams menyadari bahwa backpropagation masih memiliki potensi, asalkan
disempurnakan. Pada tahun 1986, mereka menulis sebuah makalah berjudul
“Representasi Pembelajaran dengan Kesalahan Penyebaran Balik,” dan itu cukup
mengejutkan di komunitas AI. Ini jelas menunjukkan bahwa propagasi balik bisa
jauh lebih cepat tetapi juga memungkinkan jaringan syaraf tiruan yang lebih
kuat. Tidak mengherankan, ada banyak unsur matematika yang terlibat dalam
backpropagation. Tetapi ketika meringkas semuanya, ini adalah tentang
menyesuaikan jaringan saraf ketika kesalahan ditemukan dan kemudian mengulang
nilai baru melalui jaringan saraf lagi. Pada dasarnya, proses tersebut
melibatkan sedikit perubahan yang terus mengoptimalkan model. Salah satu cara
untuk melatih model yang disebut sebagai backpropagation. Perhatikan diagram di
bawah ini :
Hitung kesalahan adalah seberapa jauh
keluaran model dari keluaran sebenarnya. Kesalahan minimum adalah pemeriksaan
apakah kesalahan diminimalkan atau tidak. Perbarui parameter adalah jika
kesalahannya sangat besar, perbarui parameter (bobot dan bias). Setelah itu
periksa kembali errornya. Ulangi proses tersebut hingga kesalahan menjadi
minimal. Model siap untuk membuat prediksi, setelah kesalahan menjadi minimum,
dapat memasukkan beberapa masukan ke model Anda dan itu akan menghasilkan
keluaran.
Misalnya, salah satu input memiliki
output 0,6. Ini berarti kesalahannya adalah 0,4 (1,0 minus 0,6), yang di bawah
standar. Tapi kita kemudian dapat mem-backpropogate output, dan mungkin output
baru bisa mencapai 0,65. Proses berulang hingga nilainya mendekati 1. Gambar diatas
mengilustrasikan proses ini. Pada awalnya, terdapat tingkat kesalahan yang
tinggi karena bobotnya terlalu besar. Namun dengan melakukan iterasi, error
secara bertahap akan berkurang. Namun, melakukan terlalu banyak hal ini dapat
berarti peningkatan kesalahan. Dengan kata lain, tujuan backpropagation adalah
menemukan titik tengah. Backpropagation menghitung gradien dari fungsi kerugian
sehubungan dengan bobot jaringan untuk contoh input-output tunggal, dan
melakukannya secara efisien, menghitung gradien satu lapisan pada satu waktu,
iterasi mundur dari lapisan terakhir untuk menghindari perhitungan menengah
yang berlebihan, istilah dalam aturan rantai adalah hal ini dapat diturunkan
melalui pemrograman dinamis. Penurunan gradien, atau varian seperti penurunan
gradien stokastik, biasanya digunakan. Istilah backpropagation hanya mengacu
pada algoritma untuk menghitung gradien, bukan bagaimana gradien digunakan, istilah
ini sering digunakan secara longgar untuk merujuk ke keseluruhan algoritme
pembelajaran, termasuk bagaimana gradien digunakan, seperti dengan penurunan
gradien stokastik.
Sumber : T. Taulli, 2019, Artificial Intelligence Basics A Non-Technical Introduction, Apress
Comments
Post a Comment