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