Saya melatih jaringan saraf sederhana pada dataset CIFAR10. Setelah beberapa waktu, kehilangan validasi mulai meningkat, sedangkan akurasi validasi juga meningkat. Kehilangan pengujian dan akurasi pengujian terus meningkat.
Bagaimana ini mungkin? Tampaknya jika kehilangan validasi meningkat, keakuratan akan menurun.
PS Ada beberapa pertanyaan serupa, tetapi tidak ada yang menjelaskan apa yang terjadi di sana.
neural-networks
deep-learning
conv-neural-network
overfitting
Konstantin Solomatov
sumber
sumber
Jawaban:
Membangun jawaban Ankur dan komentar di bawahnya, saya pikir skenario berikut ini mungkin, sementara saya tidak punya buktinya. Dua fenomena mungkin terjadi pada saat yang bersamaan:
Beberapa contoh dengan prediksi garis batas diprediksi lebih baik sehingga kelas outputnya berubah (misalnya gambar kucing diprediksi pada 0,4 menjadi kucing dan 0,6 menjadi kuda menjadi 0,4 diprediksi menjadi kuda dan 0,6 menjadi kucing). Berkat ini, keakuratan meningkat sementara kerugian berkurang.
Beberapa contoh dengan prediksi yang sangat buruk terus memburuk (mis. Gambar kucing diprediksi pada 0,8 menjadi kuda menjadi diprediksi pada 0,9 menjadi kuda) DAN / ATAU (lebih mungkin, khususnya untuk multi-kelas?) Beberapa contoh dengan sangat baik prediksi menjadi sedikit lebih buruk (misalnya gambar kucing diprediksi pada 0,9 menjadi kucing menjadi diprediksi pada 0,8 menjadi kucing). Dengan fenomena ini, kerugian meningkat sementara akurasi tetap sama.
Jadi jika fenomena 2 menendang di beberapa titik, pada banyak contoh (misalnya untuk kelas tertentu yang tidak dipahami dengan baik untuk beberapa alasan) dan / atau dengan peningkatan kerugian yang lebih kuat dari penurunan penurunan yang Anda peroleh dari 1., maka Anda mungkin temukan diri Anda dalam skenario Anda.
Sekali lagi, mungkin ini bukan yang terjadi, tapi saya pikir bisa membuat skenario seperti itu harus mengingatkan kita tentang hubungan yang kadang-kadang licin antara (lintas-entropi) kehilangan dan akurasi.
sumber
Akurasi set dievaluasi dengan hanya memeriksa silang output softmax tertinggi dan kelas berlabel yang benar. Tidak tergantung pada seberapa tinggi output softmax. Untuk membuatnya lebih jelas, berikut adalah beberapa angka.
Misalkan ada 3 kelas - anjing, kucing dan kuda. Untuk kasus kami, kelas yang benar adalah kuda . Sekarang, output dari softmax adalah [0,9, 0,1]. Untuk kehilangan ini ~ 0,37. Pengklasifikasi akan memperkirakan bahwa itu adalah seekor kuda. Ambil contoh lain di mana output softmax adalah [0,6, 0,4]. Kerugian ~ 0,6. Pengklasifikasi masih akan memprediksi bahwa itu adalah seekor kuda. Namun yang pasti, kerugiannya telah meningkat. Jadi, ini semua tentang distribusi output.
sumber
Dari jawaban Ankur, menurut saya sepertinya:
sementara
Begitu...
sumber
Banyak jawaban fokus pada perhitungan matematika yang menjelaskan bagaimana ini mungkin. Tetapi mereka tidak menjelaskan mengapa hal itu terjadi. Dan mereka tidak bisa menyarankan cara menggali lebih jauh agar lebih jelas.
Saya punya 3 hipotesis. Dan sarankan beberapa eksperimen untuk memverifikasinya. Semoga bisa membantu menjelaskan masalah ini.
Jangan berdebat tentang ini jika Anda tidak setuju dengan hipotesis ini. Akan lebih berarti untuk melakukan eksperimen untuk memverifikasi mereka, tidak masalah untuk membuktikannya, atau membuktikan mereka salah.
sumber