Apa yang Sebenarnya Dilakukan Backpropagation dalam Deep Learning?
Artikel ini akan membahas konsep backpropagation, algoritma inti di balik bagaimana jaringan saraf (Neural Networks) belajar dalam konteks deep learning. Kami akan menguraikan dengan cara yang lebih intuitif, tanpa menggunakan rumus matematika, untuk memahami apa sebenarnya yang dilakukan algoritma ini. Bagi mereka yang ingin mendalam ke dalam matematika di baliknya, video berikutnya akan menjelaskan kalkulus yang mendasarinya.
Sebelum kita memahami apa itu backpropagation, mari kita lakukan pemahaman cepat tentang konteksnya. Jaringan saraf adalah model komputasi yang terinspirasi oleh struktur otak manusia dan digunakan dalam deep learning untuk berbagai tugas, salah satunya adalah pengenalan angka tulisan tangan.
Dalam contoh ini, kita memiliki jaringan saraf dengan tiga lapisan: lapisan masukan dengan 784 neuron, dua lapisan tersembunyi masing-masing dengan 16 neuron, dan lapisan keluaran dengan 10 neuron yang mengindikasikan digit mana yang dikenali oleh jaringan.
Konsep Utama
Konsep utama dalam deep learning adalah optimasi. Kami ingin menemukan bobot (weights) dan bias (biases) yang mengurangi fungsi biaya tertentu. Fungsi biaya ini mengukur sejauh mana hasil prediksi jaringan mendekati hasil yang diharapkan. Salah satu metode optimasi yang umum digunakan adalah gradien (gradient) turun (descent).
Mengapa Backpropagation Diperlukan?
Inilah tempat backpropagation masuk. Ini adalah algoritma yang menghitung gradien fungsi biaya yang rumit. Namun, kita tidak perlu memahami gradien ini dalam ruang berdimensi ribuan. Alih-alih, kita bisa memikirkannya sebagai seberapa sensitif fungsi biaya terhadap setiap bobot dan bias.
Misalnya, jika kita menghitung gradien dan komponen yang terkait dengan sebuah bobot memiliki nilai 3.2, sedangkan komponen yang terkait dengan bobot lainnya hanya 0.1, ini berarti fungsi biaya 32 kali lebih sensitif terhadap perubahan pada bobot pertama.
Bagaimana Backpropagation Bekerja?
Backpropagation adalah algoritma yang menghitung gradien ini. Namun, apa yang seringkali membingungkan adalah notasi matematika yang kompleks. Mari kita jelaskan dengan cara yang lebih intuitif.
Pertama, kita fokus pada satu contoh pelatihan, dalam hal ini gambar angka 2. Tujuan kita adalah membuat jaringan mengenali angka ini dengan benar. Kita ingin meningkatkan aktivasi (output) neuron yang sesuai dengan angka 2, sementara mengurangi aktivasi neuron lainnya.
Kita dapat mencapai ini dengan tiga cara: meningkatkan bias, meningkatkan bobot (weight), dan mengubah aktivasi dari lapisan sebelumnya. Peningkatan bobot yang paling signifikan terjadi pada koneksi dengan neuron yang memiliki aktivasi terbesar di lapisan sebelumnya.
Propagasi Mundur
Kemudian, kita ingin menyesuaikan bobot dan bias agar sesuai dengan keinginan dari semua contoh pelatihan. Ini dilakukan dengan "propagasi mundur" (backpropagation). Kita menggabungkan keinginan dari setiap contoh pelatihan, dan inilah yang kita gunakan untuk menyesuaikan bobot dan bias.
Stochastic Gradient Descent
Namun, melakukan ini untuk semua contoh pelatihan secara langsung akan memakan waktu yang sangat lama. Oleh karena itu, kita umumnya membagi data pelatihan menjadi "mini-batch" dan menghitung perubahan berdasarkan mini-batch tersebut. Ini dikenal sebagai "stochastic gradient descent" (SGD).
Dengan menggunakan SGD, kita dapat menghemat waktu komputasi, meskipun tidak seefisien dengan gradien lengkap. Ini memungkinkan jaringan untuk secara iteratif mendekati nilai minimum lokal fungsi biaya.
Kesimpulan
Dengan demikian, backpropagation adalah algoritma yang menentukan bagaimana setiap contoh pelatihan akan mengubah bobot dan bias. Ini tidak hanya tentang apakah perubahan tersebut harus naik atau turun, tetapi juga tentang proporsi relatif perubahan tersebut untuk mengurangi fungsi biaya. Meskipun rumit, pemahaman konsep ini adalah langkah pertama dalam memahami deep learning.
Jika Anda tertarik untuk mempelajari lebih jauh mengenai backpropagation dan deep learning, serta ingin menjelajahi lebih dalam tentang data science dan penerapannya dalam industri serta ingin mengubahnya menjadi karir yang cemerlang hingga menjadi #JadiTalentaData, maka Anda dapat mendaftar dalam Bootcamp Algoritma Data Science. Bootcamp ini menyajikan serangkaian program yang akan membimbing Anda untuk memahami seluruh aspek dunia data dalam industri yang Anda minati. Tunggu apa lagi, mari bergabung dengan Algoritma sekarang!