Fungsi kehilangan-koefisien dadu vs lintas-entropi

27

Saat melatih jaringan saraf segmentasi piksel, seperti jaringan konvolusional penuh, bagaimana Anda membuat keputusan untuk menggunakan fungsi kehilangan lintas-entropi versus fungsi kerugian koefisien-dadu?

Saya menyadari ini adalah pertanyaan singkat, tetapi tidak yakin informasi apa yang diberikan. Saya melihat sekumpulan dokumentasi tentang dua fungsi yang hilang tetapi tidak bisa memahami secara intuitif kapan harus menggunakannya.

Kristen
sumber
Mengapa tidak menggunakan pendekatan langsung untuk menggunakan keduanya dan membandingkan hasilnya. Melihat banyak bidang aplikasi yang berbeda, pembahasan fungsi kerugian adalah topik tersendiri dari penelitian panjang. Karena jaringan konvolusional masih menjadi 'topik hangat', saya rasa sebagian besar makalah masih akan diterbitkan di masa depan.
kerub

Jawaban:

27

Salah satu alasan kuat untuk menggunakan cross-entropy over-koefisien-dadu atau metrik IoU serupa adalah bahwa gradien lebih baik.

Gradien cross-entropy wrt log adalah sesuatu seperti , di mana adalah output softmax dan adalah target. Sementara itu, jika kita mencoba menulis koefisien dadu dalam bentuk terdiferensiasi: atau , maka gradien yang dihasilkan wrt jauh lebih jelek : dan . Sangat mudah untuk membayangkan kasus di mana dan kecil, dan gradien meledak hingga beberapa nilai besar. Secara umum, nampaknya pelatihan akan menjadi lebih tidak stabil.hal-thalt2halthal2+t22halthal+thal2t2(hal+t)22t(t2-hal2)(hal2+t2)2halt


Alasan utama mengapa orang mencoba menggunakan koefisien dadu atau IoU secara langsung adalah bahwa tujuan sebenarnya adalah memaksimalkan metrik-metrik tersebut, dan cross-entropy hanyalah proxy yang lebih mudah untuk memaksimalkan menggunakan backpropagation. Selain itu, koefisien Dice berkinerja lebih baik di masalah ketidakseimbangan kelas dengan desain:

Namun, ketidakseimbangan kelas biasanya diatasi hanya dengan menetapkan pengganda kerugian untuk setiap kelas, sehingga jaringan sangat tidak bersemangat untuk mengabaikan kelas yang jarang muncul, sehingga tidak jelas bahwa koefisien Dice benar-benar diperlukan dalam kasus-kasus ini.


Saya akan mulai dengan kerugian lintas-entropi, yang tampaknya menjadi kerugian standar untuk jaringan segmentasi pelatihan, kecuali ada alasan yang sangat kuat untuk menggunakan koefisien Dice.

shimao
sumber
hal-t
3
Kapan maksimalisasi "tujuan utama" dari kehilangan dadu? Saya memeriksa makalah asli dan semua yang mereka katakan adalah "kami memperoleh hasil yang kami amati secara eksperimental jauh lebih baik daripada yang dihitung melalui jaringan yang sama yang dilatih mengoptimalkan kehilangan logistik multinomial dengan sampel ulang bobot." Ini tidak terlalu meyakinkan.
Neil G
@shimao Dengan "jelek" Anda hanya berarti bahwa gradien dapat meledak, apakah itu benar?
flawr
17

Seperti yang dirangkum oleh @shimao dan @cherub, orang tidak bisa mengatakan apriori mana yang akan bekerja lebih baik pada dataset tertentu. Cara yang benar adalah dengan mencoba keduanya dan membandingkan hasilnya. Juga, perhatikan bahwa ketika datang ke segmentasi, tidak mudah untuk "membandingkan hasilnya" : langkah-langkah berbasis IoU seperti koefisien dadu hanya mencakup beberapa aspek kualitas segmentasi; dalam beberapa aplikasi, langkah-langkah yang berbeda seperti jarak permukaan rata-rata atau jarak permukaan Hausdorff perlu digunakan. Seperti yang Anda lihat, pilihan metrik kualitas yang tepat pun tidak sepele, apalagi pilihan fungsi biaya terbaik.

Saya pribadi memiliki pengalaman yang sangat baik dengan koefisien dadu; itu benar-benar keajaiban ketika datang ke ketidakseimbangan kelas (beberapa segmen menempati lebih sedikit piksel / voxels daripada yang lain). Di sisi lain, kurva kesalahan pelatihan menjadi berantakan total: itu memberi saya sama sekali tidak ada informasi tentang konvergensi, sehingga dalam hal ini lintas-entropi menang. Tentu saja, ini dapat / harus dilewati dengan memeriksa kesalahan validasi.

Jan Kukacka
sumber