Pine 發自 凹非寺
量子位 | 公眾號 QbitAI
明明是隻斑馬,AI為什麼說它是一條狗?
分類模型在歸類影象時有時會錯誤地判斷類別。
經過學習的AI,還會搞砸一些預測,肯定是在其中的某個環節出現了紕漏。
斯坦福大學的兩位博士生和教授James Zou在一篇論文中,帶我們探究了分類模型犯錯的原因。
隨後,論文提出一種方法——
反事實的概念性解釋
(Conceptual Counterfactual Explanations)
,並評估了它的效果。
透過這種方法,我們就能重新定義模型的分類標準,從而解釋AI犯錯的原因。
一起來看看吧。
AI為什麼會犯錯?
想要提高分類模型後續預測的準確性,就先得整明白這個模型在哪裡出了岔子。
一般來說,AI搞砸預測是以下原因造成的:
首先
是在模型實際預測的過程中,分類標準可能會與預訓練時有些偏差,使得訓練模型在實際預測的過程中效果不佳,進而降低預測結果的準確性。
比如說,病理學家使用預先訓練好的模型來分類組織病理學影象,但效果在他的影象上卻不是很好。
這就可能是在他的影象中,色調與原始訓練資料中不同導致的。
其次
,在模型學習的過程中,可能會學習到一種叫做“偽相關性”的東西,即將一些看似無關的要素與被識別的影象關聯起來。
可以看這個例子:
在這個模型訓練過程中,樣本里所有狗的照片裡都有雪,這導致該模型將雪與狗聯絡在一起,並錯誤地預測:沒有雪的狗不是狗。
這可能是用的資料集,都是在同一場景下收集的,會阻礙模型的泛化。
除此之外
,也可能是在訓練模型時,人為製造的一些偏差。
例如,某一面板科專家利用訓練好的AI來分類影象中的面板病,但其他同事使用的效果卻不盡如人意。
這可能是因為在訓練的樣本中,面板的膚色單一、且年齡段分佈窄。
瞭解了AI“犯錯”的原因後,我們要怎樣才能準確地判斷模型哪裡出現了錯誤呢?
AI犯錯,它來解釋
James Zou在論文中提出了一種叫
反事實的概念性解釋
(CCE)
的方法。
具體來說,就是透過這種方法,來探究
輸入資料
與預測結果之間的聯絡,最終找到模型的錯誤之處。
那CCE是怎麼來解釋的呢?
定義概念庫
首先要做的,就是設定並細化一個概念庫C,即製作一個分類標準。
具體來說,概念庫C中的各個概念可以用來分類影象,如裝置c1
(街道、雪等)
、圖片質量c2
(清晰、模糊等)
······
這樣,就能獲得一組可解釋的概念庫C={c1,c2,…}。
然後,需要給其中的每個概念找對應訓練資料。
具體的,就是收集與其相符
(Pci)
和不符
(Nci)
的例子,一般來說數量上要一樣
(Pci=Nci=100)
。
對於每個概念,CCE都要學習它們的分類方法和“思維方式”。
分別透過兩種方法:
一個是透過學習支援向量機
(SVM)
,來尋找可以區分兩種事物最優方式的演算法
(線性分類器)
。
另一個是學習相應的概念啟用向量
(CAV)
,它可以用來解釋影象被錯誤分類的具體原因。
就像下圖,都是斑馬的影象,歸類錯誤的原因卻不一樣。
這一步只需要對每個想要評估的模型做一次,之後CAV便可以用來解釋任意數量的錯誤分類。
給定錯誤分類標準
我們可以透過改變不同概念在模型中的比重,對其分類標準進行相應的調整,這些調整要滿足以下原則:
1、正確性:如果一個分類標準達到了預期的結果,那麼它就被認為是正確的。
2、有效性:分類標準不能違反人類的基本認知。
3、稀疏性:最終目標是向用戶傳達模型的錯誤之處,太多的變數不利於有效傳達資訊。
我們的目的是儘可能地使預測結果貼近訓練結果,即最小化交叉熵損失。
因此就要不斷最佳化模型預測的標準,透過調整待修改的標準,對其進行加權,最終達到糾正錯誤分類的效果。
瞭解之後,我們透過一個實際例子來看看,怎麼用CCE“探測”分類模型出錯的地方。
在這裡,分類模型錯誤地將斑馬影象識別為非洲獵犬。
於是,我們首先生成這個模型將斑馬識別成狗的一系列標準。
然後,對這些標準進行評分,如果評分為正,則代表在影象中增加這個概念,將會提高正確分類的機率,反之亦然。
在這個例子中,如果增加stripes
(條紋)
這個概念,識別出它為斑馬的機率就會大一些。
在c)圖中,透過CCE分析也可以直觀地看到,“Polka Dots”
(斑點)
和“Dog”
(狗)
是導致模型預測錯誤的原因。
CCE效果怎麼樣?
看到這裡,想必大家對CCE的原理都有了初步的認識。
那它判斷得到底準不準確,效果究竟如何呢?
CCE的目的,主要是揭示模型在訓練過程中學習到的“偽相關性”,用它就可以捕獲影象中出現的其他“無關要素”和影象的偽相關性。
測試發現,在大多數情況下,該模型在
超過90%
的錯誤分類的測試樣本中識別出偽相關。
看看這個表格,相較於其他方法,使用CCE,識別出樣本中偽相關的機率最高。
CCE能夠
精準
地識別出樣本中的偽相關,可以看這個例子:
改變蘋果圖片的顏色
(
使圖片變灰)
,分類模型識別錯誤的機率增大時
(黑線)
,CCE辨別出“綠色”為偽相關的分數也就越高
(綠線)
。
除此之外,CCE也有用在醫學領域的潛力。
像Abubakar Abid等人就使用CCE,在面板病學
(面板狀況分類)
、胸片影象中的心臟病學
(氣胸分類)
中都做了相關測試。
CCE使用學習到的偏差和影象質量條件來解釋模型犯錯,也已被專業的面板科醫生證實——這些因素,確實很大程度上是導致面板影象難以分類的原因。
此外,CCE的速度也很快。
概念庫只需要使用簡單的支援向量機學習一次,每個測試示例在單個CPU上花費的時間小於
0.3s
。
重要的是,它可以很簡單地應用到任何深度網路,在不需要訓練資料的情況下檢測到模型犯錯的原因。
如果你對這種方法感興趣,想親自試試的話,可以戳下文連結檢視。
作者介紹
James Zou
,論文通訊作者,是斯坦福大學生物醫學資料科學系的助理教授,計算機科學與電氣工程系的助理教授。
於 2014 年獲得哈佛大學博士學位,曾是微軟研究院成員、劍橋大學蓋茨學者和加州大學伯克利分校西蒙斯研究員。
他的研究得到了 Sloan Fellowship、NSF CAREER Award 以及 Google、Amazon 和騰訊 AI 獎項的支援。
Abubakar Abid
(前)
、
Mert Yuksekgonul
(後)
論文第一作者,均為斯坦福大學博士生。
參考連結:
1、https://arxiv。org/pdf/2106。12723。pdf
2、https://github。com/mertyg/debug-mistakes-cce
3、https://twitter。com/james_y_zou/status/1541452062344417280
— 完 —
量子位 QbitAI · 頭條號簽約