Mengapa output softmax bukan ukuran ketidakpastian yang baik untuk model Deep Learning?

22

Saya telah bekerja dengan Convolutional Neural Networks (CNNs) untuk beberapa waktu sekarang, sebagian besar pada data gambar untuk segmentasi semantik / contoh segmentasi. Saya sering memvisualisasikan softmax dari output jaringan sebagai "peta panas" untuk melihat seberapa tinggi per pixel aktivasi untuk kelas tertentu. Saya telah menafsirkan aktivasi rendah sebagai prediksi "tidak pasti" / "tidak percaya diri" dan aktivasi tinggi sebagai prediksi "tertentu" / "percaya diri". Pada dasarnya ini berarti menafsirkan output softmax (nilai dalam ) sebagai probabilitas atau (un) ukuran kepastian model.(0,1)

( Misalnya saya telah menginterpretasikan objek / area dengan aktivasi softmax rendah yang dirata-ratakan atas pikselnya menjadi sulit untuk dideteksi oleh CNN, karenanya CNN menjadi "tidak pasti" tentang memprediksi objek semacam ini. )

Dalam persepsi saya ini sering berhasil, dan menambahkan sampel tambahan dari area "tidak pasti" ke hasil pelatihan meningkatkan hasil ini. Namun saya sudah cukup sering mendengar dari sisi yang berbeda bahwa menggunakan / menafsirkan output softmax sebagai ukuran (un) kepastian bukanlah ide yang baik dan umumnya tidak disarankan. Mengapa?


EDIT: Untuk memperjelas apa yang saya minta di sini saya akan menguraikan wawasan saya sejauh ini dalam menjawab pertanyaan ini. Namun tidak satu pun dari argumen berikut yang menjelaskan kepada saya ** mengapa ini umumnya merupakan ide yang buruk **, karena saya berulang kali diberitahu oleh rekan kerja, penyelia dan juga dinyatakan misalnya di sini di bagian "1.5"

Dalam model klasifikasi, vektor probabilitas yang diperoleh pada akhir pipa (output softmax) sering keliru ditafsirkan sebagai kepercayaan model.

atau di sini di bagian "Latar Belakang" :

Meskipun mungkin tergoda untuk menginterpretasikan nilai-nilai yang diberikan oleh lapisan softmax akhir dari jaringan saraf convolutional sebagai skor kepercayaan, kita perlu berhati-hati untuk tidak membaca terlalu banyak tentang hal ini.


Sumber di atas alasan bahwa menggunakan output softmax sebagai ukuran ketidakpastian buruk karena:

gangguan yang tak terlihat ke gambar nyata dapat mengubah output softmax jaringan yang dalam ke nilai sewenang-wenang

Ini berarti bahwa output softmax tidak kuat untuk "gangguan tak terlihat" dan karenanya output itu tidak dapat digunakan sebagai probabilitas.

Makalah lain mengambil ide "output softmax = kepercayaan" dan berpendapat bahwa dengan jaringan intuisi ini dapat dengan mudah dibodohi, menghasilkan "output kepercayaan tinggi untuk gambar yang tidak dapat dikenali".

(...) wilayah (dalam domain input) yang sesuai dengan kelas tertentu mungkin jauh lebih besar daripada ruang di wilayah itu yang ditempati oleh contoh-contoh pelatihan dari kelas itu. Hasil dari ini adalah bahwa gambar mungkin terletak di dalam wilayah yang ditugaskan untuk kelas dan karenanya diklasifikasikan dengan puncak besar dalam output softmax, sementara masih jauh dari gambar yang terjadi secara alami di kelas itu dalam set pelatihan.

Ini berarti bahwa data yang jauh dari data pelatihan seharusnya tidak pernah mendapatkan kepercayaan yang tinggi, karena model "tidak" bisa yakin tentang hal itu (karena belum pernah melihatnya).

Namun: Bukankah ini umumnya hanya mempertanyakan sifat generalisasi NNs secara keseluruhan? Yaitu bahwa NN dengan kehilangan softmax tidak menggeneralisasi dengan baik untuk (1) "gangguan tak terlihat" atau (2) memasukkan sampel data data yang jauh dari data pelatihan, misalnya gambar yang tidak dapat dikenali.

Mengikuti alasan ini, saya masih tidak mengerti, mengapa dalam praktiknya dengan data yang tidak diubah secara abstrak dan artifisial dibandingkan data pelatihan (yaitu sebagian besar aplikasi "nyata"), menafsirkan output softmax sebagai "probabilitas semu" adalah buruk ide. Setelah semua, mereka tampaknya mewakili apa yang model saya yakin tentang, bahkan jika itu tidak benar (dalam hal ini saya perlu memperbaiki model saya). Dan bukankah model ketidakpastian selalu "hanya" merupakan perkiraan?

Beruang Madu
sumber
4
(-,)(0,1)
2
(0,1)(0,1)
Saya suka bagaimana Anda mengutarakan ini: "Bagaimanapun, mereka tampaknya mewakili dengan baik apa yang model saya yakini, bahkan jika itu tidak benar (dalam hal ini saya perlu memperbaiki model saya)."
HeyWatchIni

Jawaban:

14

Pertanyaan ini dapat dijawab lebih tepat daripada jawaban saat ini. Memperbaiki penyimpangan antara probabilitas yang diprediksi (output dari lapisan softmax dari jaringan saraf) dan probabilitas sebenarnya (yang mewakili gagasan kepercayaan), dikenal sebagai kurva kalibrasi atau reliabilitas.

Masalah dengan banyak jaringan saraf yang dalam adalah bahwa, meskipun mereka cenderung berkinerja baik untuk prediksi, perkiraan probabilitas yang diprediksi yang dihasilkan oleh output dari lapisan softmax tidak dapat diandalkan digunakan sebagai probabilitas sebenarnya (sebagai kepercayaan untuk setiap label). Dalam praktiknya, mereka cenderung terlalu tinggi - jaringan saraf 'terlalu percaya diri' dalam prediksi mereka.

Chuan Go et. al., bekerja sama dengan Kilian Weinberger, mengembangkan solusi yang efektif untuk mengkalibrasi kemungkinan prediksi jaringan saraf dalam makalah ini: https://arxiv.org/pdf/1706.04599.pdf

Makalah ini juga menjelaskan bagaimana probabilitas yang diprediksi dapat diinterpretasikan sebagai langkah-langkah kepercayaan ketika probabilitas yang diprediksi dikalibrasi dengan benar.

cgnorthcutt
sumber
1
Terima kasih @cgnorthcutt, saya telah mendengar orang menyebutkan ini berkali-kali dan telah mencari makalah ini sejak itu, referensi yang sangat bagus
Théophile Pace
Cantik, terima kasih. Berikut ini tautan ke abstrak (alih-alih kertas) untuk mereka yang tertarik: arxiv.org/abs/1706.04599
Waylon Flinn
3

Apa yang disebut softmax dalam ML memiliki persamaan yang sama dengan persamaan logistik multinomial . Yang terakhir dapat digunakan untuk menghitung probabilitas. Dalam praktiknya ini banyak digunakan dalam estimasi probabilitas default dalam kerangka risiko yang bersaing untuk hipotek, misalnya lihat Persamaan. 4 dalam tulisan ini .

Oleh karena itu, saya akan mengatakan bahwa intuisi Anda tidak sepenuhnya melenceng. Namun, dalam contoh pemodelan hipotek di atas variabel dependen adalah metrik probabilitas default pinjaman. Anda memiliki kumpulan hipotek dan mengamati jumlah default. Sebuah hipotek tunggal dapat menjadi lancar atau default, probabilitas defaultnya tidak dapat diamati. Kami hanya mengamati kejadian terpisah. Namun, kami memodelkan probabilitas.

Apa bedanya dengan pembelajaran mesin? Tergantung. Saya bisa memutuskan untuk menerapkannya ke default hipotek, maka tidak akan jauh berbeda sama sekali. Di sisi lain dalam aplikasi yang berbeda, ini mungkin tidak berfungsi. Jika Anda tidak memodelkan probabilitas secara eksplisit seperti dalam contoh saya, maka output model Anda mungkin tidak mewakili probabilitas secara tepat.

Aksakal
sumber
Terima kasih atas jawabannya. Jadi apakah ini menjadi: Dalam beberapa kasus itu sebenarnya akan menjadi pendekatan yang valid, namun umumnya itu bukan ide yang baik karena tidak kuat dan orang tidak (dengan mudah) tahu apakah itu berlaku dalam tugas tertentu?
Honeybear
Saya tidak akan membolak-balik istilah seperti "kuat" karena mereka memiliki arti yang sangat spesifik dalam statistik, tetapi Anda mendapatkan inti dari argumen saya. Jika Anda secara khusus memodelkan probabilitas, Anda mungkin berakhir menggunakan persamaan softmax di beberapa titik, dan akan OK untuk menginterpretasikan output sebagai probabilitas. Secara umum, output softmax tidak sesuai dengan probabilitas.
Aksakal
1

Softmax mendistribusikan 'probabilitas' 0-1 antara kelas yang tersedia. Itu tidak mengekspresikan kemandulan, itu bukan fungsi PDF. Jika Anda ingin mengekspresikan ketidakmampuan Anda harus melihat ke dalam jaringan saraf bayesian. Lihatlah tulisan ini: Ketidakpastian dalam Pembelajaran Dalam Beberapa kerangka kerja probabilitas yang agak baru:

Pembicara utama yang menarik oleh Zoubin Ghahramani (Universitas Cambridge)

Lihatlah makalah ini: Jaringan Campuran Kepadatan :

Saya kira Anda dapat menerapkannya dan menambahkan sebagai lapisan terakhir ke CONVNET. Jika Anda menerapkannya jangan lupa berbagi itu peduli ;-) Semoga beruntung

AI4U.ai
sumber
1

Dalam makalah Dropout sebagai Perkiraan Bayesian: Mewakili Ketidakpastian Model dalam Pembelajaran Mendalam , Yarin Gal dan Zoubin Ghahramani berpendapat sebagai berikut

Dalam klasifikasi, probabilitas prediktif yang diperoleh pada akhir pipa ( output softmax ) sering keliru ditafsirkan sebagai kepercayaan model. Model dapat menjadi tidak pasti dalam prediksinya bahkan dengan output softmax yang tinggi (gbr. 1). Melewati estimasi titik fungsi (garis padat 1a) melalui softmax (garis padat 1b) menghasilkan ekstrapolasi dengan kepercayaan tinggi yang tidak dapat dibenarkan untuk poin yang jauh dari data pelatihan.x misalnya akan diklasifikasikan sebagai kelas 1 dengan probabilitas 1.

Inilah gambar 1.

masukkan deskripsi gambar di sini

Jadi, jika kita mengartikan output dari softmax sebagai model ketidakpastian atau kepercayaan diri, model tersebut sangat percaya diri x, meskipun tidak ada data pelatihan yang diamati di wilayah itu, tetapi ini bisa menyesatkan, karena fungsi sebenarnya, di wilayah itu, bisa sangat berbeda dari yang dipelajari (garis hitam solid).

nbro
sumber