不確定性量化(uncertainty quantification)
/ un-SUR-tun-tee kwon-tih-fih-KAY-shun /
不確定性量化,是一門讓模型不僅說出「這是我的答案」、還說出「以及我有多確信」的功夫。一份說「70%的機率會下雨」的天氣預報,就在做這件事;一輛說「我有99%的把握那是行人,但對那道陰影只有40%的把握」的自動駕駛車,也在做這件事。要點在於,為每一個預測都繫上一個誠實的置信度,好讓下游的決策能把一個搖搖欲墜的猜測,與一個穩穩當當的結論區別對待。
把不確定性分成兩種,會有幫助。一種,是這個世界裡固有、無法消減的雜訊——一枚公平硬幣的結果,無論你研究多久都是不確定的。另一種,是你自身的無知,而更多的資料能把它縮小——是對某個你只是測得不夠多的量的不確定。這一區分要緊,因為它們要求不同的應對:第一種你沒法靠收集資料來減少,第二種你卻可以。一個好的系統,會告訴你哪個是哪個。
它為何重要:在高風險的場合——醫療、金融、自主機器——一個帶著虛假自信端出的錯誤答案,遠比一個亮明自身疑慮的答案危險得多。誠實而令人不安的真相是:大多數標準的機器學習模型,尤其是深度神經網路,出了名地過度自信:它們吐出的那些機率數字,往往與它們真實的準確率對不上號——口口聲聲99%確信,答對的次數卻遠沒那麼多。產出可信、經過校準的不確定性是件難事,至今仍是一個活躍的難題;一個會報告不確定性的模型,並不自動等於一個「其不確定性值得你信任」的模型。
兩個皮膚病變分類器,都把一顆痣標為「良性」。第一個只說「良性」。第二個則說「良性,但我的置信度只有55%,而且這張圖與我訓練資料裡的大多數都不像」——它同時亮出了低置信與陌生病例兩件事。醫生只有在第一種被良好校準時,才能放心據它行事;第二種則招來一次複看,而這恰恰是不確定性量化派上用場的時刻。
報出一個置信度數字,只有在它被校準時才有用——一個真有55%命中率的「55%」,而非其實有90%。
必須戳破的關鍵誤解:一個模型吐出一個置信度分數,並不等於那個分數值得信賴。現代深度網路系統性地過度自信,所以一個未經校準的「99%」可能比根本不給數字還糟,它會哄你去信任一個錯誤的答案。