Bagaimana mungkin kerugian validasi meningkat sementara akurasi validasi meningkat juga


28

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.masukkan deskripsi gambar di sini


2
Anda dapat memeriksa beberapa petunjuk untuk memahami jawaban saya di sini: stats.stackexchange.com/questions/258166/…
ahstat

@ ahstat Saya mengerti bagaimana itu mungkin secara teknis, tapi saya tidak mengerti bagaimana ini terjadi di sini.
Konstantin Solomatov

'Ilustrasi 2' adalah apa yang saya dan Anda alami, yang merupakan semacam overfitting. Untuk masalah khusus saya, itu berkurang setelah mengocok set.
ahstat

@ ahstat Ada banyak cara untuk melawan overfitting. Misalnya, saya mungkin menggunakan dropout. Yang paling menarik saya, apa penjelasan untuk ini. Yaitu mengapa itu meningkat secara bertahap dan hanya naik.
Konstantin Solomatov

Jawaban:


12

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:

  1. 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.

  2. 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.


15

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.


4
Pengamatan: dalam contoh Anda, akurasi tidak berubah. Masih 100%. Apakah Anda memiliki contoh di mana kerugian berkurang, dan akurasi juga berkurang?
Hugh Perkins

1

Dari jawaban Ankur, menurut saya sepertinya:

Akurasi mengukur persentase ketepatan prediksi, yaitucorrectclassestotalclasses

sementara

Kehilangan sebenarnya melacak kepercayaan terbalik (karena menginginkan kata yang lebih baik) dari prediksi. Skor Kerugian yang tinggi menunjukkan bahwa, bahkan ketika model membuat prediksi yang baik, yakin akan prediksi yang dihasilkannya ... dan sebaliknya.less

Begitu...

Akurasi Validasi Tinggi + Skor Kehilangan Tinggi vs Akurasi Pelatihan Tinggi + Skor Kehilangan Rendah menunjukkan bahwa model mungkin terlalu pas pada data pelatihan.


0

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.

  1. Label berisik. Bandingkan prediksi salah antara saat val_loss minimum dan val_acc maksimum. Periksa apakah sampel ini diberi label dengan benar.
  2. [Lebih kecil kemungkinannya] Model ini tidak memiliki aspek informasi yang cukup untuk memastikan. Eksperimen dengan lebih banyak lapisan tersembunyi.
  3. [Perkiraan yang sangat liar] Ini adalah kasus di mana model tersebut kurang yakin tentang hal-hal tertentu karena dilatih lebih lama. Situasi seperti itu juga terjadi pada manusia. Ketika seseorang mulai mempelajari suatu teknik, ia diberi tahu apa yang baik atau buruk, untuk apa hal-hal tertentu (kepastian tinggi). Ketika dia melewati lebih banyak kasus dan contoh, dia menyadari kadang-kadang batas tertentu bisa kabur (kurang pasti, kehilangan lebih tinggi), meskipun dia dapat membuat keputusan yang lebih baik (lebih akurat). Dan dia akhirnya bisa lebih yakin ketika dia menjadi master setelah melalui daftar sampel yang sangat banyak dan banyak percobaan dan kesalahan (lebih banyak data pelatihan). Jadi dalam hal ini, saya menyarankan agar percobaan dengan menambahkan lebih banyak suara ke data pelatihan (bukan label) dapat membantu.

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.