圖像識(shí)別的可視化解釋史

??新智元報(bào)道??
??新智元報(bào)道??
編輯:QJP
【新智元導(dǎo)讀】使用機(jī)器學(xué)習(xí)(ML)算法(尤其是現(xiàn)代深度學(xué)習(xí))進(jìn)行圖像識(shí)別的最大挑戰(zhàn)之一,是難以理解為什么一個(gè)特定的輸入圖像會(huì)產(chǎn)生它所預(yù)測(cè)的結(jié)果。我們?yōu)檫^(guò)去十年中最先進(jìn)的圖像解釋技術(shù)整合了視覺(jué)界面,并對(duì)每種技術(shù)進(jìn)行了簡(jiǎn)要描述。
? ? ??
過(guò)去11年中用于解釋神經(jīng)網(wǎng)絡(luò)的最新方法是如何發(fā)展的呢?
本文在 Inception 網(wǎng)絡(luò)圖像分類(lèi)器上嘗試使用引導(dǎo)反向傳播進(jìn)行解釋演示。
?? ? ? ?
為什么「解釋」很重要?
使用機(jī)器學(xué)習(xí)(ML)算法(尤其是現(xiàn)代深度學(xué)習(xí))進(jìn)行圖像識(shí)別的最大挑戰(zhàn)之一,是難以理解為什么一個(gè)特定的輸入圖像會(huì)產(chǎn)生它所預(yù)測(cè)的結(jié)果。
?
ML模型的用戶(hù)通常想了解圖像的哪些部分是預(yù)測(cè)中的重要因素。這些說(shuō)明或“解釋”之所以有價(jià)值,有很多原因:
?
機(jī)器學(xué)習(xí)開(kāi)發(fā)人員可以分析調(diào)試模型的解釋?zhuān)R(shí)別偏差,并預(yù)測(cè)模型是否可能推廣到新的圖像
?
如果提供了為何做出特定預(yù)測(cè)的解釋?zhuān)瑒t機(jī)器學(xué)習(xí)模型的用戶(hù)可能會(huì)更信任模型
?
像 GDPR 這樣圍繞機(jī)器學(xué)習(xí)的規(guī)則要求一些算法決策能夠用人類(lèi)的術(shù)語(yǔ)來(lái)解釋
?
因此,至少?gòu)?009年開(kāi)始,研究人員就開(kāi)發(fā)了許多不同的方法來(lái)打開(kāi)深度學(xué)習(xí)的“黑匣子”,從而使基礎(chǔ)模型更容易解釋。
?
下面,我們?yōu)檫^(guò)去十年中最先進(jìn)的圖像解釋技術(shù)整合了視覺(jué)界面,并對(duì)每種技術(shù)進(jìn)行了簡(jiǎn)要描述。
?
我們使用了許多很棒的庫(kù),但是特別依賴(lài) Gradio 來(lái)創(chuàng)建你在下面的 gif 文件和 PAIR-code 的 TensorFlow 實(shí)現(xiàn)中看到的接口。
?
用于所有接口的模型是Inception Net圖像分類(lèi)器,可以在此jupyter筆記本和Colab上找到復(fù)制此博客文章的完整代碼。
?
在我們深入研究論文之前,讓我們先從一個(gè)非?;镜乃惴ㄩ_(kāi)始。
七種不同的解釋方法
Leave-one-out (LOO)?
? ? ? ?
? ? ? ?
Leave-one-out (LOO)?是最容易理解的方法之一。如果你想了解圖像的哪個(gè)部分負(fù)責(zé)預(yù)測(cè),這可能會(huì)是你想到的第一個(gè)算法。
?
其思想是首先將輸入圖像分割成一組較小的區(qū)域,然后,運(yùn)行多個(gè)預(yù)測(cè),每次都屏蔽一個(gè)區(qū)域。根據(jù)每個(gè)區(qū)域的「被屏蔽」對(duì)輸出的影響程度,為每個(gè)區(qū)域分配一個(gè)重要性分?jǐn)?shù)。這些分?jǐn)?shù)是對(duì)哪個(gè)區(qū)域最負(fù)責(zé)預(yù)測(cè)的量化。
?
這種方法很慢,因?yàn)樗蕾?lài)于運(yùn)行模型的許多迭代,但是它可以生成非常準(zhǔn)確和有用的結(jié)果。上面是杜賓狗的圖片示例。
?
LOO是Gradio庫(kù)中的默認(rèn)解釋技術(shù),完全不需要訪問(wèn)模型的內(nèi)部——這是一個(gè)很大的優(yōu)點(diǎn)。
?
Vanilla Gradient Ascent [2009 and 2013]
? ? ? ?
? ? ? ?
Paper: Visualizing Higher-Layer Features of a Deep Network [2009]
Paper: Visualizing Image Classification Models and Saliency Maps [2013]
?
這兩篇論文的相似之處在于,它們都通過(guò)使用梯度上升來(lái)探索神經(jīng)網(wǎng)絡(luò)的內(nèi)部。換句話說(shuō),它們認(rèn)為對(duì)輸入或激活的微小更改將增加預(yù)測(cè)類(lèi)別的可能性。
?
第一篇論文將其應(yīng)用于激活,作者報(bào)告說(shuō),「有可能找到對(duì)高級(jí)特征的良好定性解釋?zhuān)?我們證明,也許是違反直覺(jué)的,但這種解釋在單位水平上是可能的,它很容易實(shí)現(xiàn),并且各種技術(shù)的結(jié)果是一致的。」
?
第二種方法也采用梯度上升,但是直接對(duì)輸入圖像的像素點(diǎn)進(jìn)行探測(cè),而不是激活。
?
作者的方法「計(jì)算特定于給定圖像和類(lèi)的類(lèi)顯著性圖,這樣的地圖可以使用分類(lèi)ConvNets用于弱監(jiān)督的對(duì)象分割?!?/span>
?
Guided Back-Propogation [2014]
? ? ? ?
? ? ? ?
Paper: Striving for Simplicity: The All Convolutional Net [2014]
?
本文提出了一種新的完全由卷積層構(gòu)成的神經(jīng)網(wǎng)絡(luò)。由于以前的解釋方法不適用于他們的網(wǎng)絡(luò),因此他們引入了引導(dǎo)式反向傳播。
?
該反向傳播可在進(jìn)行標(biāo)準(zhǔn)梯度上升時(shí)過(guò)濾掉傳播時(shí)產(chǎn)生的負(fù)激活。作者稱(chēng),他們的方法「可以應(yīng)用于更廣泛的網(wǎng)絡(luò)結(jié)構(gòu)?!?/span>
?
Grad-CAM [2016]
?? ? ? ?
? ? ? ?
Paper: Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization [2016]
?
接下來(lái)是梯度加權(quán)類(lèi)激活映射(gradient-weighted class activation mapping,Grad-CAM) 。它利用「任何目標(biāo)概念的梯度,流入最后的卷積層,生成一個(gè)粗糙的定位映射,突出圖像中的重要區(qū)域,以預(yù)測(cè)概念?!?/span>
?
該方法的主要優(yōu)點(diǎn)是進(jìn)一步推廣了可以解釋的神經(jīng)網(wǎng)絡(luò)類(lèi)(如分類(lèi)網(wǎng)絡(luò)、字幕和可視化問(wèn)答(VQA)模型) ,以及一個(gè)很好的后處理步驟,圍繞圖像中的關(guān)鍵對(duì)象對(duì)解釋進(jìn)行集中和定位。
?
SmoothGrad [2017]
? ? ? ?
? ? ??
Paper: SmoothGrad: removing noise by adding noise [2017]
?
像前面的論文一樣,此方法從計(jì)算類(lèi)評(píng)分函數(shù)相對(duì)于輸入圖像的梯度開(kāi)始。
?
但是,SmoothGrad通過(guò)在輸入圖像中添加噪聲,然后針對(duì)圖像的這些擾動(dòng)版本中的每一個(gè)來(lái)計(jì)算梯度,從而在視覺(jué)上銳化這些基于梯度的靈敏度圖。將靈敏度圖平均在一起可以得到更清晰的結(jié)果。
?
Integrated Gradients [2017]
? ? ? ?
? ? ? ?
Paper: Axiomatic Attribution for Deep Networks [2017]
?
不同于以往的論文,本文的作者從解釋的理論基礎(chǔ)入手。它們「確定了歸因方法應(yīng)該滿(mǎn)足的兩個(gè)基本公理——敏感性和實(shí)現(xiàn)不變性」。
?
他們用這些原理來(lái)指導(dǎo)設(shè)計(jì)一種新的歸屬方法(稱(chēng)為綜合梯度),該方法可以產(chǎn)生高質(zhì)量的解釋?zhuān)瑫r(shí)仍然只需要訪問(wèn)模型的梯度; 但是它添加了一個(gè)「基線」超參數(shù),這可能影響結(jié)果的質(zhì)量。
?
Blur Integrated Gradients [2020]
?? ? ? ?
? ? ? ?
Paper: Attribution in Scale and Space [2020]
?
論文研究了一個(gè)最新技術(shù)---- 這種方法被提出來(lái)用于解決具體的問(wèn)題,包括消除「基線」參數(shù),移除某些在解釋中傾向于出現(xiàn)的視覺(jué)偽影。
?
此外,它還「在尺度/頻率維度上產(chǎn)生分?jǐn)?shù)」,本質(zhì)上提供了圖像中重要物體的尺度感。
?
下面這張圖比較了所有這些方法:
?? ? ? ?
? ? ? ?
參考鏈接:
?
https://gradio.app/blog/interpretation-history
https://github.com/gradio-app/history-of-interpretation/blob/master/History-of-Interpretation.ipynb


