明明是只斑馬,AI 為什么說(shuō)它是一條狗?
分類(lèi)模型在歸類(lèi)圖像時(shí)有時(shí)會(huì)錯(cuò)誤地判斷類(lèi)別。
經(jīng)過(guò)學(xué)習(xí)的 AI,還會(huì)搞砸一些預(yù)測(cè),肯定是在其中的某個(gè)環(huán)節(jié)出現(xiàn)了紕漏。
斯坦福大學(xué)的兩位博士生和教授 James Zou 在一篇論文中,帶我們探究了分類(lèi)模型犯錯(cuò)的原因。
隨后,論文提出一種方法 —— 反事實(shí)的概念性解釋?zhuān)–onceptual Counterfactual Explanations),并評(píng)估了它的效果。
通過(guò)這種方法,我們就能重新定義模型的分類(lèi)標(biāo)準(zhǔn),從而解釋 AI 犯錯(cuò)的原因。
一起來(lái)看看吧。
AI 為什么會(huì)犯錯(cuò)?
想要提高分類(lèi)模型后續(xù)預(yù)測(cè)的準(zhǔn)確性,就先得整明白這個(gè)模型在哪里出了岔子。
一般來(lái)說(shuō),AI 搞砸預(yù)測(cè)是以下原因造成的:
首先是在模型實(shí)際預(yù)測(cè)的過(guò)程中,分類(lèi)標(biāo)準(zhǔn)可能會(huì)與預(yù)訓(xùn)練時(shí)有些偏差,使得訓(xùn)練模型在實(shí)際預(yù)測(cè)的過(guò)程中效果不佳,進(jìn)而降低預(yù)測(cè)結(jié)果的準(zhǔn)確性。
比如說(shuō),病理學(xué)家使用預(yù)先訓(xùn)練好的模型來(lái)分類(lèi)組織病理學(xué)圖像,但效果在他的圖像上卻不是很好。
這就可能是在他的圖像中,色調(diào)與原始訓(xùn)練數(shù)據(jù)中不同導(dǎo)致的。
其次,在模型學(xué)習(xí)的過(guò)程中,可能會(huì)學(xué)習(xí)到一種叫做“偽相關(guān)性”的東西,即將一些看似無(wú)關(guān)的要素與被識(shí)別的圖像關(guān)聯(lián)起來(lái)。
可以看這個(gè)例子:
在這個(gè)模型訓(xùn)練過(guò)程中,樣本里所有狗的照片里都有雪,這導(dǎo)致該模型將雪與狗聯(lián)系在一起,并錯(cuò)誤地預(yù)測(cè):沒(méi)有雪的狗不是狗。
這可能是用的數(shù)據(jù)集,都是在同一場(chǎng)景下收集的,會(huì)阻礙模型的泛化。
除此之外,也可能是在訓(xùn)練模型時(shí),人為制造的一些偏差。
例如,某一皮膚科專(zhuān)家利用訓(xùn)練好的 AI 來(lái)分類(lèi)圖像中的皮膚病,但其他同事使用的效果卻不盡如人意。
這可能是因?yàn)樵谟?xùn)練的樣本中,皮膚的膚色單一、且年齡段分布窄。
了解了 AI“犯錯(cuò)”的原因后,我們要怎樣才能準(zhǔn)確地判斷模型哪里出現(xiàn)了錯(cuò)誤呢?
AI 犯錯(cuò),它來(lái)解釋
James Zou 在論文中提出了一種叫反事實(shí)的概念性解釋?zhuān)–CE)的方法。
具體來(lái)說(shuō),就是通過(guò)這種方法,來(lái)探究輸入數(shù)據(jù)與預(yù)測(cè)結(jié)果之間的聯(lián)系,最終找到模型的錯(cuò)誤之處。
那 CCE 是怎么來(lái)解釋的呢?
定義概念庫(kù)
首先要做的,就是設(shè)置并細(xì)化一個(gè)概念庫(kù) C,即制作一個(gè)分類(lèi)標(biāo)準(zhǔn)。
具體來(lái)說(shuō),概念庫(kù) C 中的各個(gè)概念可以用來(lái)分類(lèi)圖像,如裝置 c1(街道、雪等)、圖片質(zhì)量 c2(清晰、模糊等)??????
這樣,就能獲得一組可解釋的概念庫(kù) C={c1,c2,…}。
然后,需要給其中的每個(gè)概念找對(duì)應(yīng)訓(xùn)練數(shù)據(jù)。
具體的,就是收集與其相符(Pci)和不符(Nci)的例子,一般來(lái)說(shuō)數(shù)量上要一樣(Pci=Nci=100)。
對(duì)于每個(gè)概念,CCE 都要學(xué)習(xí)它們的分類(lèi)方法和“思維方式”。
分別通過(guò)兩種方法:
一個(gè)是通過(guò)學(xué)習(xí)支持向量機(jī)(SVM),來(lái)尋找可以區(qū)分兩種事物最優(yōu)方式的算法(線性分類(lèi)器)。
另一個(gè)是學(xué)習(xí)相應(yīng)的概念激活向量(CAV),它可以用來(lái)解釋圖像被錯(cuò)誤分類(lèi)的具體原因。
就像下圖,都是斑馬的圖像,歸類(lèi)錯(cuò)誤的原因卻不一樣。
這一步只需要對(duì)每個(gè)想要評(píng)估的模型做一次,之后 CAV 便可以用來(lái)解釋任意數(shù)量的錯(cuò)誤分類(lèi)。
給定錯(cuò)誤分類(lèi)標(biāo)準(zhǔn)
我們可以通過(guò)改變不同概念在模型中的比重,對(duì)其分類(lèi)標(biāo)準(zhǔn)進(jìn)行相應(yīng)的調(diào)整,這些調(diào)整要滿足以下原則:
1、正確性:如果一個(gè)分類(lèi)標(biāo)準(zhǔn)達(dá)到了預(yù)期的結(jié)果,那么它就被認(rèn)為是正確的。
2、有效性:分類(lèi)標(biāo)準(zhǔn)不能違反人類(lèi)的基本認(rèn)知。
3、稀疏性:最終目標(biāo)是向用戶傳達(dá)模型的錯(cuò)誤之處,太多的變量不利于有效傳達(dá)信息。
我們的目的是盡可能地使預(yù)測(cè)結(jié)果貼近訓(xùn)練結(jié)果,即最小化交叉熵?fù)p失。
因此就要不斷優(yōu)化模型預(yù)測(cè)的標(biāo)準(zhǔn),通過(guò)調(diào)整待修改的標(biāo)準(zhǔn),對(duì)其進(jìn)行加權(quán),最終達(dá)到糾正錯(cuò)誤分類(lèi)的效果。
了解之后,我們通過(guò)一個(gè)實(shí)際例子來(lái)看看,怎么用 CCE“探測(cè)”分類(lèi)模型出錯(cuò)的地方。
在這里,分類(lèi)模型錯(cuò)誤地將斑馬圖像識(shí)別為非洲獵犬。
于是,我們首先生成這個(gè)模型將斑馬識(shí)別成狗的一系列標(biāo)準(zhǔn)。
然后,對(duì)這些標(biāo)準(zhǔn)進(jìn)行評(píng)分,如果評(píng)分為正,則代表在圖像中增加這個(gè)概念,將會(huì)提高正確分類(lèi)的概率,反之亦然。
在這個(gè)例子中,如果增加 stripes(條紋)這個(gè)概念,識(shí)別出它為斑馬的概率就會(huì)大一些。
在 c)圖中,通過(guò) CCE 分析也可以直觀地看到,“Polka Dots”(斑點(diǎn))和“Dog”(狗)是導(dǎo)致模型預(yù)測(cè)錯(cuò)誤的原因。
CCE 效果怎么樣?
看到這里,想必大家對(duì) CCE 的原理都有了初步的認(rèn)識(shí)。
那它判斷得到底準(zhǔn)不準(zhǔn)確,效果究竟如何呢?
CCE 的目的,主要是揭示模型在訓(xùn)練過(guò)程中學(xué)習(xí)到的“偽相關(guān)性”,用它就可以捕獲圖像中出現(xiàn)的其他“無(wú)關(guān)要素”和圖像的偽相關(guān)性。
測(cè)試發(fā)現(xiàn),在大多數(shù)情況下,該模型在超過(guò) 90% 的錯(cuò)誤分類(lèi)的測(cè)試樣本中識(shí)別出偽相關(guān)。
看看這個(gè)表格,相較于其他方法,使用 CCE,識(shí)別出樣本中偽相關(guān)的概率最高。
CCE 能夠精準(zhǔn)地識(shí)別出樣本中的偽相關(guān),可以看這個(gè)例子:
改變蘋(píng)果圖片的顏色(使圖片變灰),分類(lèi)模型識(shí)別錯(cuò)誤的概率增大時(shí)(黑線),CCE 辨別出“綠色”為偽相關(guān)的分?jǐn)?shù)也就越高(綠線)。
除此之外,CCE 也有用在醫(yī)學(xué)領(lǐng)域的潛力。
像 Abubakar Abid 等人就使用 CCE,在皮膚病學(xué)(皮膚狀況分類(lèi))、胸片圖像中的心臟病學(xué)(氣胸分類(lèi))中都做了相關(guān)測(cè)試。
CCE 使用學(xué)習(xí)到的偏差和圖像質(zhì)量條件來(lái)解釋模型犯錯(cuò),也已被專(zhuān)業(yè)的皮膚科醫(yī)生證實(shí) —— 這些因素,確實(shí)很大程度上是導(dǎo)致皮膚圖像難以分類(lèi)的原因。
此外,CCE 的速度也很快。
概念庫(kù)只需要使用簡(jiǎn)單的支持向量機(jī)學(xué)習(xí)一次,每個(gè)測(cè)試示例在單個(gè) CPU 上花費(fèi)的時(shí)間小于 0.3s。
重要的是,它可以很簡(jiǎn)單地應(yīng)用到任何深度網(wǎng)絡(luò),在不需要訓(xùn)練數(shù)據(jù)的情況下檢測(cè)到模型犯錯(cuò)的原因。
如果你對(duì)這種方法感興趣,想親自試試的話,可以戳下文鏈接查看。
作者介紹
James Zou ,論文通訊作者,是斯坦福大學(xué)生物醫(yī)學(xué)數(shù)據(jù)科學(xué)系的助理教授,計(jì)算機(jī)科學(xué)與電氣工程系的助理教授。
于 2014 年獲得哈佛大學(xué)博士學(xué)位,曾是微軟研究院成員、劍橋大學(xué)蓋茨學(xué)者和加州大學(xué)伯克利分校西蒙斯研究員。
他的研究得到了 Sloan Fellowship、NSF CAREER Award 以及 Google、Amazon 和騰訊 AI 獎(jiǎng)項(xiàng)的支持。
Abubakar Abid (前)、 Mert Yuksekgonul(后) 論文第一作者,均為斯坦福大學(xué)博士生。
參考鏈接:
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
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。