Momentum digunakan untuk mengurangi fluktuasi perubahan berat selama iterasi berurutan:
mana adalah fungsi kesalahan, - vektor bobot, - tingkat pembelajaran.
Pembusukan berat menghukum perubahan berat:
Pertanyaannya adalah apakah masuk akal untuk menggabungkan kedua trik selama back-propagation dan apa efeknya?
neural-networks
optimization
regularization
gradient-descent
Oleg Shirokikh
sumber
sumber
Jawaban:
Ya, sangat umum untuk menggunakan kedua trik ini. Mereka memecahkan masalah yang berbeda dan dapat bekerja dengan baik bersama.
Salah satu cara untuk memikirkannya adalah pembusukan berat mengubah fungsi yang sedang dioptimalkan , sementara momentum mengubah jalur yang Anda ambil ke optimal .
Penurunan berat badan, dengan mengecilkan koefisien Anda ke nol, memastikan bahwa Anda menemukan optimum lokal dengan parameter magnitudo kecil. Ini biasanya penting untuk menghindari overfitting (meskipun jenis lain dari beban dapat bekerja juga). Sebagai manfaat tambahan, itu juga dapat membuat model lebih mudah untuk dioptimalkan, dengan membuat fungsi objektif lebih cembung.
Setelah Anda memiliki fungsi objektif, Anda harus memutuskan bagaimana cara menggunakannya. Keturunan curam pada gradien adalah pendekatan yang paling sederhana, tetapi Anda benar bahwa fluktuasi bisa menjadi masalah besar. Menambahkan momentum membantu menyelesaikan masalah itu. Jika Anda bekerja dengan pembaruan batch (yang biasanya merupakan ide buruk dengan jaringan saraf) langkah-langkah tipe Newton adalah pilihan lain. Pendekatan "panas" yang baru didasarkan pada gradien yang dipercepat Nesterov dan apa yang disebut optimasi "Hessian-Free".
Tetapi terlepas dari aturan pembaruan mana yang Anda gunakan (momentum, Newton, dll.), Anda masih bekerja dengan fungsi tujuan yang sama, yang ditentukan oleh fungsi kesalahan Anda (mis. Kesalahan kuadrat) dan kendala lainnya (mis. Penurunan berat badan) . Pertanyaan utama ketika memutuskan mana yang akan digunakan adalah seberapa cepat Anda akan sampai pada set bobot yang baik.
sumber