読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】AI が「確率95%」って言うたら、95%当たるん?キャリブレーション(確率の較正)と温度スケーリング【AI】

20レスカテゴリ:AI・機械学習
1: 名無しさん

画像分類のモデルが「猫:確率95%」って出した
でも、95%と出たやつを集めて調べたら、当たってたのは8割くらいやった。これって普通なん?

2: 名無しさん

>>1
モデルが出す確率と、実際に当たる割合が一致してる状態を「較正されている(キャリブレーションが取れている)」という
95%と言ったものが本当に95%当たるなら較正が取れてる。8割しか当たらんなら、自信過剰

3: 名無しさん

>>2
正解率が高ければそれでええやん。確率の数字まで合ってる必要ある?

4: 名無しさん

>>3
確率を使って判断するときに困る。たとえば医療の画像で「確信が低いものだけ人が見る」と決めてたら、95%の中の外れが素通りする
天気予報の降水確率も、70%と言った日に7割くらい降るから使える

5: 名無しさん

>>4
ずれの大きさはどう測るん

6: 名無しさん

>>5
よく使うのが ECE(期待較正誤差)。確信度で予測をいくつかの区間に分けて、区間ごとの「平均確信度」と「正解率」の差を、件数の割合で重みをつけて足す

7: 名無しさん

>>6
数字でやってみて

8: 名無しさん

>>7
200件の予測を2つに分ける
区間1:100件、平均確信度0.95、正解率0.80 → 差0.15
区間2:100件、平均確信度0.75、正解率0.70 → 差0.05

9: 名無しさん

>>8
区間の切り方で値が変わりそう

10: 名無しさん

>>9
変わる。区間の数や切り方、件数の少ない区間の扱いで値が動くから、比べるときは同じ条件でそろえる
区間ごとの確信度と正解率を図にしたもの(信頼度図)も一緒に見る

11: 名無しさん

深いネットワークって、自信過剰になりやすいん?

12: 名無しさん

>>11
画像分類で、昔の浅いネットワークより、層が深くて幅の広い最近のネットワークのほうが、正解率は高いのに較正が悪いと報告した研究がある(Guo et al., 2017)
学習データをほぼ全部当てられるようになったあとも、損失(負の対数尤度)を下げるために確信度だけを上げ続ける、という説明をしてる

13: 名無しさん

>>12
直し方は?

14: 名無しさん

>>13
同じ論文で効いたのが温度スケーリング。ソフトマックスに入れる前の値を、1つの数 で割るだけ

は学習に使ってない検証データで、負の対数尤度が小さくなるように決める

15: 名無しさん

>>14
割るだけで何が変わるん

16: 名無しさん

>>15
出力前の値が なら、 で確率は約
にすると約 。いちばん大きいのは同じクラスのまま、確信だけ下がる

17: 名無しさん

>>16
順番が変わらんのやったら、正解率も変わらんってこと?

18: 名無しさん

>>17
そう。温度スケーリングは予測するクラスを変えないから、正解率はそのままで確率の数字だけ直る

19: 名無しさん

>>18
それって、全部の予測を一律に弱めてるだけやろ。自信があってちゃんと当たってるやつまで弱めたら損ちゃう?

20: 名無しさん

>>19
一律に見えるけど、出力前の値の差が大きいものほど確率は高いまま残る。それに は全体の当たり方に合わせて決めるから、強めすぎた分を戻すだけ
ただ、学習時と違う種類のデータ(分布のずれ)が来ると、検証データで決めた がもう合わなくなることはある

管理人のひとこと