Saya menggunakan tensorflow untuk menulis jaringan saraf sederhana untuk sedikit riset dan saya punya banyak masalah dengan bobot 'nan' saat pelatihan. Saya mencoba banyak solusi berbeda seperti mengubah pengoptimal, mengubah kehilangan, ukuran data, dll. Tetapi tanpa hasil. Akhirnya, saya perhatikan bahwa perubahan dalam tingkat pembelajaran membuat perbedaan yang luar biasa dalam bobot saya.
Menggunakan tingkat pembelajaran 0,001 (yang saya pikir cukup konservatif), fungsi meminimalkan sebenarnya akan meningkatkan kerugian secara eksponensial. Setelah satu zaman, kerugian bisa melonjak dari angka ribuan menjadi satu triliun dan kemudian hingga tak terbatas ('nan'). Ketika saya menurunkan tingkat belajar menjadi .0001, semuanya bekerja dengan baik.
1) Mengapa satu urutan besarnya memiliki efek seperti itu?
2) Mengapa fungsi meminimalkan benar-benar melakukan kebalikan dari fungsinya dan memaksimalkan kerugian? Menurut saya itu seharusnya tidak terjadi, tidak peduli tingkat pembelajarannya.