Lensa ML

Kalibrasi Model

Langkah 1 dari 6: Janji di Balik Confidence

Yakin 90% seharusnya berarti benar 90% dari seluruh kasus

Rentang confidence90% sampai 100%
220 dari 2000 prediksi test set, disusun menurut confidence (data sintetis)00.20.40.60.81benarsalahconfidence = probabilitas softmax teratasKlaim99.2%Benar93.5%
Prediksi dalam rentang
1399
Rata-rata confidence
99.2%
Porsi benar
93.5%

Di rentang ini, rata-rata klaim model 99,2%, tetapi prediksinya benar 93,5% dari seluruh kasus, kurang 5,7 poin. Pada model yang terkalibrasi, kedua batang akan sama panjang.

Geser Rentang confidence dari rentang terendah ke 90% sampai 100%, lalu bandingkan kedua batang. Confidence di sini adalah probabilitas softmax terbesar, jadi dengan 10 kelas nilainya tidak pernah di bawah 10%. Secara formal, model terkalibrasi ketika P(correct | confidence = p) = p untuk setiap p. Tidak ada test set berukuran terbatas yang bisa mengecek ini secara persis, karena hampir tidak ada dua prediksi dengan confidence yang sama. Mengelompokkan confidence yang berdekatan ke dalam rentang, seperti yang dilakukan slider ini, adalah jalan keluar praktisnya, dan langkah berikutnya mengubah rentang itu menjadi grafik lengkap.

Langkah 2 dari 6: Reliability Diagram

Akurasi terhadap confidence, per bin

Jumlah bin10
akurasioverconfidentunderconfidentsempurna00.250.50.75100.20.40.60.81confidence (abu-abu: jumlah prediksi)akurasi
Bin berisi data
8 dari 10
Bin terpadat
70%
Selisih terbesar
34.6 poin

Semua batang berada di bawah diagonal. Strip merah menunjukkan model mengklaim lebih dari yang bisa ia berikan, sampai 34,6 poin di bin 60% sampai 70%.

Geser Jumlah bin dari 2 sampai 20 dan perhatikan batang jumlah berwarna abu-abu di bawah diagram. Pada network modern, bin dengan lebar sama membuat sebagian besar prediksi berkumpul di bin teratas: di sini sekitar 70% dari 2.000 prediksi jatuh antara 0,9 dan 1. Sebagian library memakai bin dengan massa sama, yaitu jumlah prediksi yang sama di tiap bin, sehingga tidak ada batang yang hanya bertumpu pada segelintir titik. Reliability diagram berasal dari prakiraan cuaca, tempat diagram ini dipakai untuk mengecek apakah "70% kemungkinan hujan" benar-benar terjadi 70% dari seluruh kasus.

Langkah 3 dari 6: Expected Calibration Error

Rata-rata berbobot dari semua selisih

Jumlah bin10
Klik bin untuk melihat porsinya dalam ECE00.250.50.75100.20.40.60.81confidence (abu-abu: jumlah prediksi)akurasiECE = jumlah semua segmen11.32%
ECE
11.32%
Bobot bin n_b/N
70.0%
Selisih bin
5.7 poin
Kontribusi
4.02%

Bin 90% sampai 100% menyumbang paling banyak: 70.0% prediksi × selisih 5.7 poin = 4.02% dari total 11,32%. Selisih tunggal terbesar, yaitu MCE, adalah 34,6 poin.

Klik sebuah bin, lalu ubah Jumlah bin dan perhatikan angka ECE. Nilainya tetap 11,32% untuk semua jumlah bin, karena semua selisih di sini bertanda sama. Saat model overconfident di semua rentang, ECE sama dengan rata-rata confidence dikurangi akurasi: 87,0% dibanding 75,6%. Jumlah bin baru mengubah ECE kalau sebagian bin berada di atas dan sebagian lain di bawah. Naeini dkk. memperkenalkan ECE pada 2015, dan Guo dkk. memakai 15 bin. ECE juga mengabaikan kelas yang bukan prediksi teratas.

Langkah 4 dari 6: Network yang Overconfident

Logit yang diregangkan membengkokkan diagram

Overconfidence γ (pengali logit)γ = 2.00
akurasioverconfidentunderconfidentsempurna00.250.50.75100.20.40.60.81confidenceakurasiECE saat γ berubah (10 bin)0.511.522.53γ (1 = terkalibrasi menurut konstruksinya)
Akurasi
75.6%
Rata-rata confidence
87.0%
ECE
11.32%
NLL
0.908

Pada γ = 2.00 logit diregangkan. Rata-rata confidence naik ke 87,0% sementara akurasi tetap 75,6%, dan ECE naik ke 11,32%.

Geser Overconfidence γ dari 0,5 sampai 3 dan ikuti titiknya di sepanjang kurva ECE. Guo dkk. membandingkan LeNet dari 1998 dengan ResNet dari 2016 pada CIFAR-100: network yang lama nyaris terkalibrasi, sedangkan yang baru jauh lebih akurat tetapi sangat overconfident. Network yang lebih dalam dan lebih lebar, batch normalization, dan weight decay yang lebih kecil semuanya mendorong confidence naik. Training terus menurunkan log loss pada training set dengan memperbesar logit, bahkan setelah hampir semua contoh terklasifikasi dengan benar, dan regangan itulah yang ditiru γ di sini.

Langkah 5 dari 6: Temperature Scaling

Satu parameter yang di-fit pada data validasi

Temperature T (logit ÷ T)T = 1.00
Test set, 10 bin00.250.50.75100.20.40.60.81confidenceakurasiNLL validasi1.049ECE test set11.32%0.51234T (putus-putus: T* hasil fit)
NLL validasi
1.049
ECE test set
11.32%
Akurasi
75.6%
T* hasil fit
2.03

Pada T = 1.00 softmax masih terlalu tajam, jadi batang berada di bawah diagonal dan ECE bernilai 11,32%. Naikkan T mendekati 2,03 untuk melunakkannya.

Tekan Fit T pada validasi, lalu geser Temperature T sedikit ke kiri dan ke kanan sambil memperhatikan kedua kurva. T dipilih dengan meminimalkan NLL pada validation set yang dipisahkan, tidak pernah pada test set, dan hasil fit-nya T = 2.03, dekat dengan γ = 2 yang membuat model ini overconfident. NLL bersifat convex terhadap 1/T, jadi pencarian satu dimensi menemukannya dalam hitungan milidetik. Guo dkk. mendapati satu parameter ini menyamai atau mengalahkan metode dengan jauh lebih banyak parameter pada sebagian besar dataset mereka. Cara ini memperbaiki regangan yang seragam, bukan bias yang berbeda antarkelas.

Langkah 6 dari 6: Kalibrasi dalam Praktik

Platt, isotonic, dan threshold keputusan

Bertindak hanya pada confidence minimal90%
akurasioverconfidentunderconfidentsempurna00.250.50.75100.20.40.60.81confidence (abu-abu: jumlah prediksi)akurasibertindak →
ECE
11.32%
Brier score (label teratas)
0.1252
Prediksi dipertahankan
1399 (70%)
Error diperkirakan / terjadi
11 / 91

Aturan ini mempertahankan 1399 prediksi. Dari confidence-nya, diperkirakan ada sekitar 11 error, tetapi 91 prediksi salah, 80 lebih banyak daripada janji model.

Beralih antara Tanpa kalibrasi, Temperature, Platt, dan Isotonic, lalu atur threshold ke 90%. Brier score adalah rata-rata dari (p − correct)^2, di sini hanya untuk label teratas; nilainya turun dari 0,125 tanpa kalibrasi ke sekitar 0,100 setelah salah satu dari tiga perbaikan itu. Platt scaling mencocokkan kurva logistik dengan dua parameter dan awalnya dipakai untuk skor SVM. Isotonic regression mencocokkan fungsi tangga naik apa pun, jadi butuh lebih banyak data validasi dan bisa overfit kalau contohnya hanya beberapa ratus. Ketiganya tidak mengubah urutan prediksi.

Apa itu kalibrasi model (model calibration) dalam machine learning?

Model disebut terkalibrasi ketika probabilitas prediksinya cocok dengan seberapa sering ia benar. Dari semua prediksi dengan confidence 80%, classifier yang terkalibrasi benar sekitar 80% dari seluruh kasus. Akurasi mengukur apakah jawaban teratasnya benar, sedangkan kalibrasi mengukur apakah confidence yang disebutkan bisa dipercaya. Model bisa bagus di satu ukuran dan buruk di ukuran lainnya.

Kalibrasi berpengaruh setiap kali probabilitas menentukan keputusan. Sistem triase medis merujuk kasus dengan confidence rendah ke dokter, filter penipuan memblokir pembayaran di atas skor risiko tertentu, dan sistem mobil swakemudi menimbang hasil deteksi berdasarkan confidence. Ensemble dan aturan cost-sensitive sama-sama mengasumsikan probabilitasnya jujur. Large language model menghadapi pertanyaan yang sama saat memilih antara menjawab atau menahan jawaban, karena skor confidence hanya berguna jika 90% berarti benar sembilan dari sepuluh kali.

Ide utama

  • Model yang terkalibrasi benar sekitar p dari seluruh kasus pada prediksi yang ia buat dengan confidence p.
  • Reliability diagram mengelompokkan prediksi ke dalam bin menurut confidence dan memplot akurasi terhadap diagonal.
  • Expected calibration error adalah selisih di tiap bin, diberi bobot sesuai porsi prediksi di dalamnya.
  • Deep network modern cenderung overconfident walaupun akurasinya tinggi.
  • Temperature scaling membagi logit dengan satu konstanta hasil fit dan tidak pernah mengubah kelas yang diprediksi.
  • Platt scaling dan isotonic regression mempelajari pemetaan dari skor mentah ke probabilitas terkalibrasi pada data yang dipisahkan.

Pertanyaan umum

Apakah kalibrasi mengubah akurasi model?

Temperature scaling, Platt scaling, dan isotonic regression semuanya monotonik, jadi kelas teratas dan urutan contoh tetap sama dan akurasi tidak berubah. Isotonic regression bisa menghasilkan nilai yang seri, dan ini sedikit memengaruhi metrik peringkat seperti AUC. Metode yang mengubah training itu sendiri, seperti label smoothing atau mixup, bisa menggeser akurasi sekaligus kalibrasi.

Apakah log loss yang lebih rendah sama dengan kalibrasi yang lebih baik?

Tidak persis. Log loss dan Brier score adalah proper scoring rule, dan keduanya menghargai kalibrasi sekaligus sharpness, yaitu prediksi yakin yang ternyata benar. Model bisa menurunkan log loss karena lebih akurat, sementara kalibrasinya tetap buruk. ECE mengukur kalibrasi saja, tetapi model yang memprediksi base rate untuk setiap contoh punya ECE nol dan tidak berguna.

Apakah large language model terkalibrasi?

Kadavath dkk. menemukan bahwa model besar yang baru di-pretrain cukup terkalibrasi pada soal pilihan ganda ketika opsi jawabannya disajikan dengan jelas. Fine-tuning untuk percakapan dengan umpan balik manusia sering membuatnya lebih overconfident, penurunan yang juga ditunjukkan laporan teknis GPT-4. Confidence yang diucapkan dengan kata-kata, seperti "saya 90% yakin", biasanya kurang andal dibanding probabilitas yang diberikan model pada token jawabannya.

Apakah perlu kalibrasi ulang setelah datanya berubah?

Ya, kalibrasi hanya berlaku untuk data yang mirip dengan data tempat ia di-fit. Saat terjadi distribution shift, akurasi biasanya turun lebih cepat daripada confidence, jadi model yang terkalibrasi di lab menjadi overconfident di produksi. Kalibrasi ulang pada data berlabel terbaru itu murah karena hanya satu atau dua parameter yang berubah.

Penjelasan terkait

Referensi

  1. Guo et al. (2017), "On Calibration of Modern Neural Networks"
  2. Naeini, Cooper & Hauskrecht (2015), "Obtaining Well Calibrated Probabilities Using Bayesian Binning"
  3. Niculescu-Mizil & Caruana (2005), "Predicting Good Probabilities with Supervised Learning"
  4. Kadavath et al. (2022), "Language Models (Mostly) Know What They Know"

Terakhir diperbarui