Kehilangan pelatihan meningkat seiring waktu [duplikat]

21

Saya melatih model (Recurrent Neural Network) untuk mengklasifikasikan 4 jenis urutan. Ketika saya menjalankan pelatihan saya, saya melihat kehilangan pelatihan turun sampai pada titik di mana saya dengan benar mengklasifikasikan lebih dari 90% sampel dalam kelompok pelatihan saya. Namun beberapa zaman kemudian saya perhatikan bahwa kehilangan pelatihan meningkat dan akurasi saya menurun. Ini tampak aneh bagi saya karena saya berharap pada set pelatihan kinerja harus meningkat dengan waktu tidak memburuk. Saya menggunakan cross entropy loss dan tingkat pembelajaran saya adalah 0,0002.

Pembaruan: Ternyata tingkat belajarnya terlalu tinggi. Dengan rendahnya tingkat belajar yang cukup rendah saya tidak mengamati perilaku ini. Namun saya masih menemukan ini aneh. Setiap penjelasan yang baik dapat diterima mengapa hal ini terjadi

Kehilangan menurun dan kemudian meningkat

dins2018
sumber

Jawaban:

6

Saya memiliki perilaku yang sama ketika melatih CNN, itu karena saya menggunakan gradient descent dengan tingkat pembelajaran yang membusuk untuk perhitungan kesalahan. Sudahkah Anda meningkatkan jumlah iterasi secara signifikan dan memeriksa apakah perilaku ini muncul belakangan dengan tingkat pembelajaran rendah yang baru?

Freundlicher
sumber
Namun sebenarnya ya ada titik bahwa untuk tingkat belajar yang cukup rendah di mana itu tidak akan pernah naik lagi. Saya mencari penjelasan yang secara teoritis masuk akal mengapa ini terjadi
dins2018
Algoritma pengoptimalan mana yang Anda gunakan?
Freundlicher
Saya menggunakan pengoptimal Adam dengan lr = 0,00001, betas = (0,5, 0,999)
dins2018
1
Saya pikir Anda kira-kira dengan tingkat pembelajaran kecil ini sangat lambat ke minimum lokal sehingga titik di mana nilai kerugian sedikit meningkat lagi (karena Anda melebihi minimum) memerlukan terlalu banyak iterasi. Peningkatan nilai kerugian ini disebabkan oleh Adam, saat minimum lokal terlampaui dan sejumlah iterasi tertentu, sejumlah kecil dibagi dengan angka yang bahkan lebih kecil dan nilai kerugian meledak.
Freundlicher
2
Anda dapat mengatur beta1 = 0,9 dan beta2 = 0,999. Itulah nilai-nilai umum yang harus bertentangan dengan perilaku ini.
Freundlicher
1

Karena tingkat pembelajaran terlalu besar, itu akan menyimpang dan gagal menemukan minimum fungsi kerugian. Menggunakan penjadwal untuk mengurangi tingkat pembelajaran setelah zaman tertentu akan membantu memecahkan masalah

Yawen Zheng
sumber
0

Dengan tingkat pembelajaran yang lebih tinggi Anda terlalu banyak bergerak ke arah yang berlawanan dengan gradien dan mungkin menjauh dari minimum lokal yang dapat meningkatkan kerugian. Penjadwalan tingkat pembelajaran dan kliping gradien dapat membantu.

namuchan95
sumber
Selamat Datang di CV. Untuk mendapatkan upvote yang terbaik adalah memberikan jawaban yang lebih lengkap, lihat stats.stackexchange.com/help/how-to-answer untuk panduan.
ReneBt