斑馬識別成狗,AI犯錯的原因被史丹佛找到了

明明是隻斑馬,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辨別出「綠色」為偽相關的分數也就越高(綠線)

除此之外,CCE也有用在醫學領域的潛力。

像Abubakar Abid等人就使用CCE,在皮膚病學(皮膚狀況分類)、胸片圖像中的心臟病學(氣胸分類)中都做了相關測試。

CCE使用學習到的偏差和圖像質量條件來解釋模型犯錯,也已被專業的皮膚科醫生證實——這些因素,確實很大程度上是導致皮膚圖像難以分類的原因。

此外,CCE的速度也很快。

概念庫只需要使用簡單的支持向量機學習一次,每個測試示例在單個CPU上花費的時間小於0.3s

重要的是,它可以很簡單地應用到任何深度網路,在不需要訓練資料的情況下檢測到模型犯錯的原因。

如果你對這種方法感興趣,想親自試試的話,可以戳下文連結查看。

作者介紹

James Zou

James Zou,論文通訊作者,是史丹佛大學生物醫學資料科學系的助理教授,電腦科學與電氣工程系的助理教授。

於 2014 年獲得哈佛大學博士學位,曾是微軟研究院成員、劍橋大學蓋茲學者和加州大學柏克萊分校西蒙斯研究員。

他的研究得到了 Sloan Fellowship、NSF CAREER Award 以及 Google、Amazon 和騰訊 AI 獎項的支持。

Abubakar Abid

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

相關文章