Pengantar Kecerdasan Buatan (Bagian 12)

 

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