Neural Networks: momentum perubahan berat badan dan penurunan berat badan

41

Momentum digunakan untuk mengurangi fluktuasi perubahan berat selama iterasi berurutan:α

Δωsaya(t+1)=-ηEwsaya+αΔωsaya(t),
mana adalah fungsi kesalahan, - vektor bobot, - tingkat pembelajaran.E(w)wη

Pembusukan berat menghukum perubahan berat:λ

Δωsaya(t+1)=-ηEwsaya-ληωsaya

Pertanyaannya adalah apakah masuk akal untuk menggabungkan kedua trik selama back-propagation dan apa efeknya?

Δωsaya(t+1)=-ηEwsaya+αΔωsaya(t)-ληωsaya
Oleg Shirokikh
sumber
1
Apakah Anda bermaksud mengatakan ωi (t + 1) = ωi - η ∂E / ∂wi + αΔωi (t), alih-alih Δωi (t + 1) = ωi - η∂E / ∂wi + αΔωi (t)?
hakunamatata

Jawaban:

48

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.

David J. Harris
sumber
'itu juga dapat membuat model lebih mudah untuk dioptimalkan, dengan membuat fungsi objektif lebih cembung' - bisakah Anda menjelaskan bagaimana bobot yang lebih kecil memungkinkan ini?
Alex
ssayan(x)Sebuahx2Sebuah
Jawaban yang bagus, terima kasih. Bagaimana dengan Adam Optimizer? Apakah kinerjanya lebih baik daripada kombinasi penurunan berat badan dan momentum?
A. Piro
Adam seperti momentum, tetapi tidak seperti pembusukan berat; itu mempengaruhi bagaimana Anda menavigasi fungsi tujuan, tetapi bukan fungsi tujuan itu sendiri.
David J. Harris