Apa yang menyebabkan penurunan tiba-tiba dalam kesalahan pelatihan / tes saat melatih jaringan saraf?

18

Saya telah melihat plot kesalahan tes / pelatihan tiba-tiba jatuh pada zaman tertentu beberapa kali selama pelatihan jaringan saraf, dan saya bertanya-tanya apa yang menyebabkan kinerja ini melonjak:

Kesalahan pengujian ResNet

Gambar ini diambil dari Kaiming He Github, tetapi plot serupa muncul di banyak surat kabar.

libphy
sumber
Satu makalah terkait: Smith et al. 2018 Jangan Membusuk
amoeba

Jawaban:

7

Mereka mengubah tingkat belajar. Perhatikan bahwa drop tepat pada 30 dan 60 zaman, jelas diatur secara manual oleh seseorang.

cwhy
sumber
Dalam bagian 3.4, ini menjelaskan bahwa tingkat belajar dibagi 10 ketika kesalahan dataran tinggi
xiawi
2

Pikirkan "lanskap pengoptimalan". Misalnya, jika Anda memiliki jaringan dengan hanya dua bobot, Anda dapat merencanakan semua kombinasi dari dua bobot ini di permukaan, di mana ketinggian di setiap titik mewakili jumlah kesalahan yang dihasilkan fungsi biaya Anda jika Anda menggunakannya (x, y ) berkoordinasi sebagai dua bobot Anda. Anda mencoba untuk pindah ke titik terendah di permukaan ini untuk mendapatkan tingkat kesalahan terendah.
Masalahnya kadang-kadang adalah bahwa permukaan bisa menjadi sangat gila, terutama di jaringan dengan jutaan parameter, bukan hanya dua. Anda bisa terjebak dalam poin sadel di mana kemajuan diperlambat, dan kemudian tiba-tiba sling ditembakkan kembali ke bukit ke bawah.
Berikut ini adalah animasi untuk membantu memvisualisasikan ini. Karena Anda dapat melihat algoritma gradient descent yang lebih mendasar, terjebak di posisi ini lebih mudah.
masukkan deskripsi gambar di sini

Mungkin ada penyebab lain untuk ini, tetapi ini adalah yang paling sering Anda dengar. Mungkin saja suatu jaringan dapat memiliki banyak unit yang mendapatkan aktivasi jenuh (atau dalam kasus relu, unit yang hanya diaktifkan oleh sejumlah kecil input pelatihan), dan ketika satu unit keluar dari saturasi maka memicu reaksi berantai yang menggerakkan sisanya keluar dari saturasi dan bobot tiba-tiba mendapatkan dorongan aliran gradien? Saya belum melihat hal seperti itu tetapi saya akan tertarik jika ada yang punya alasan lain untuk menambahkan.

Frobot
sumber
1
-1. Ini tidak menjawab pertanyaan, atau setidaknya tidak jelas bagaimana melakukannya, dan mengapa apa yang Anda tulis relevan. Mengapa mengurangi tingkat belajar mendapatkan satu dari titik sadel?
Amoeba
Bahkan tidak jelas bahwa animasi itu benar, karena SGD - menurut definisi - melihat permukaan pengoptimalan yang berbeda dengan setiap iterasi. Dalam grafik ini, permukaan optimisasi sudah diperbaiki, jadi bagi saya tidak jelas bagaimana mungkin untuk menggambarkan SGD di sini. "Titik" SGD berperilaku lebih seperti penurunan gradien batch penuh, di mana permukaan optimisasi diperbaiki selama seluruh proses pelatihan.
Josh