Propagasi Mundur adalah algoritma pelatihan yang paling umum untuk jaringan neural. Hal ini membuat penurunan gradien layak untuk jaringan neural multi-lapisan. Banyak library kode machine learning (seperti Keras) menangani backpropagation secara otomatis, sehingga Anda tidak perlu melakukan penghitungan yang mendasarinya sendiri. Tonton video berikut untuk ringkasan konseptual tentang cara kerja backpropagation:
Praktik terbaik untuk pelatihan jaringan saraf
Bagian ini menjelaskan kasus kegagalan propagasi mundur dan cara paling umum untuk meregulasi jaringan neural.
Vanishing Gradients
Gradien untuk lapisan jaringan neural yang lebih rendah (yang lebih dekat dengan lapisan input) dapat menjadi sangat kecil. Di jaringan dalam (jaringan dengan lebih dari satu lapisan tersembunyi), menghitung gradien ini dapat melibatkan perkalian banyak variabel dengan nilai kecil.
Saat nilai gradien mendekati 0 untuk lapisan bawah, gradien disebut "menghilang". Lapisan dengan gradien yang menghilang dilatih dengan sangat lambat, atau tidak sama sekali.
Fungsi aktivasi ReLU dapat membantu mencegah gradien yang menghilang.
Gradien Meledak
Jika bobot di jaringan sangat besar, gradien untuk lapisan yang lebih rendah melibatkan perkalian banyak variabel dengan nilai besar. Dalam hal ini, Anda dapat memiliki gradien yang meledak: gradien yang terlalu besar untuk berkonvergensi.
Normalisasi batch dapat membantu mencegah gradien yang meledak, seperti menurunkan tingkat pembelajaran.
Unit ReLU Mati
Setelah jumlah berbobot untuk unit ReLU turun di bawah 0, unit ReLU dapat macet. Fungsi ini menghasilkan output 0, yang tidak berkontribusi apa pun pada output jaringan, dan gradien tidak dapat lagi mengalir melaluinya selama backpropagation. Dengan sumber gradien yang terputus, input ke ReLU mungkin tidak pernah berubah cukup untuk mengembalikan jumlah berbobot di atas 0.
Menurunkan kecepatan pemelajaran dapat mencegah unit ULT berhenti berfungsi.
Regularisasi Dropout
Bentuk lain dari regularisasi, yang disebut regularisasi putusan, berguna untuk jaringan neural. Modifikasi ini bekerja dengan "meloloskan" aktivasi unit dalam jaringan secara acak untuk satu langkah gradien. Makin banyak yang Anda hapus, makin kuat regularisasinya:
- 0,0 = Tidak ada regularisasi dengan pelarian.
- 1.0 = Hapus semua node. Model tidak mempelajari apa pun.
- Nilai antara 0,0 dan 1,0 = Lebih berguna.