Jaringan Neural: Pelatihan menggunakan propagasi mundur

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 propagasi mundur secara otomatis, sehingga Anda tidak perlu melakukan kalkulasi yang mendasarinya. Tonton video berikut untuk mengetahui gambaran konseptual tentang cara kerja propagasi mundur:

Praktik terbaik untuk pelatihan jaringan neural

Bagian ini menjelaskan kasus kegagalan propagasi mundur dan cara umum untuk mengatur jaringan neural.

Gradien yang Hilang

Gradien untuk neural bagian bawah lapisan jaringan (yang lebih dekat dengan lapisan input) bisa menjadi sangat kecil. Di jaringan dalam (jaringan dengan lebih dari satu lapisan tersembunyi), menghitung gradien ini dapat melibatkan perkalian dari banyak istilah kecil.

Ketika nilai gradien mendekati 0 untuk lapisan yang lebih rendah, gradiennya yang dikatakan “hilang”. Lapisan dengan gradien yang hilang dilatih dengan sangat lambat, atau tidak sama sekali.

Fungsi aktivasi ULT dapat membantu mencegah hilangnya gradien.

Gradien yang Meledak

Jika bobot dalam jaringan sangat besar, maka gradien untuk {i>layer<i} melibatkan produk dari banyak istilah yang besar. Dalam hal ini, Anda bisa memiliki gradien yang meledak: gradien yang terlalu besar untuk disatukan.

Normalisasi batch dapat membantu mencegah gradien yang meledak, karena dapat menurunkan learning rate.

Unit ULT yang Mati

Setelah jumlah terbobot untuk unit ULT turun di bawah 0, unit ULT bisa mendapatkan mereka masih tertahan. Kodenya menghasilkan 0, tidak berkontribusi apa pun pada {i>output<i} jaringan, dan gradien tidak lagi dapat mengalir melaluinya selama propagasi mundur. Dengan terpotong, input ke ULT mungkin tidak akan cukup untuk membawa jumlah terbobot kembali di atas 0.

Menurunkan kecepatan pemelajaran dapat mencegah unit ULT berhenti berfungsi.

Regularisasi dengan Pembatalan

Bentuk lain dari regularisasi, yang disebut regularisasi dropout, berguna untuk jaringan neural. Metode ini bekerja dengan "keluar" secara acak aktivasi unit dalam jaringan untuk langkah gradien tunggal. Semakin banyak Anda meloloskan, semakin kuat regularisasi:

  • 0,0 = Tidak ada regularisasi dengan pelarian.
  • 1,0 = Mengeluarkan semua node. Model tidak mempelajari apa pun.
  • Nilai antara 0,0 dan 1,0 = Lebih berguna.