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.
( 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?
sumber
Jawaban:
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.
sumber
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.
sumber
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
sumber
Dalam makalah Dropout sebagai Perkiraan Bayesian: Mewakili Ketidakpastian Model dalam Pembelajaran Mendalam , Yarin Gal dan Zoubin Ghahramani berpendapat sebagai berikut
Inilah gambar 1.
Jadi, jika kita mengartikan output dari softmax sebagai model ketidakpastian atau kepercayaan diri, model tersebut sangat percaya dirix∗ , 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).
sumber