天天看點

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

本文主要介紹了被 CVPR 2021 錄用的文章《A Peek Into the Reasoning of Neural Networks: Interpreting with Structural Visual Concepts》。這項工作對神經網絡推理邏輯的可解釋性進行了探究:區分于大多數現有 xAI 方法通過可視化輸入圖像和輸出結果之間的相關性對網絡進行解釋,該研究提出用結構化的視覺概念 (Structural Visual Concept) 對神經網絡決策背後的推理邏輯和因果關系進行解釋,通過解答網絡決策中「為什麼是 A?為什麼不是 B?」 的問題,用人們更容易了解的 high-level 視覺概念和視覺概念之間的結構和空間關系解釋神經網絡的推理邏輯,并将其作為一種直接指導來提升被解釋網絡的性能。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

下圖概括了這篇文章要做的任務:為了解釋原網絡決策背後的推理邏輯,該研究回答了如下問題:為什麼是消防車?為什麼不是救護車?又為什麼不是校車?該研究用結構化的視覺概念圖(Structural Concept Graph) 作為解釋的語言,其中概念圖的節點 (node) 代表視覺概念(visual concept),邊 (edge) 代表視覺概念之間的結構和空間關系,點和邊的顔色代表其對該類最終決策的貢獻度(冷色:正向 或 暖色:負向):(1)為什麼是消防車?從視覺概念角度,所有檢測到的四個與消防車最相關的視覺概念(保險杠,消防車頭,車輪,救援架)都對最終消防車的決策有正向貢獻;從視覺概念的空間結構關系角度,四個概念之間的空間關系也都對決策有正向貢獻,這說明視覺概念和他們之間的關系都像一輛消防車。(2)為什麼不是校車?從視覺概念角度:從圖中檢測到的與校車視覺概念最接近的四個部分及其相關結構和空間關系都對校車的決策起到負向貢獻(否定該圖是校車的決策)尤其是概念 1 和概念 2,與真正的校車概念最不相符。(3)為什麼不是救護車?也同樣可以得到相似的人們容易了解的,邏輯上的,視覺概念角度的解釋。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

下面将詳細介紹工作的具體内容。

研究動機

在深度學習日益蓬勃發展的今天,深度神經網絡不透明的決策導緻的安全事故和隐患也越來越多,神經網絡的可解釋性對于人們如何更加信任、安全、可靠的使用他們至關重要。近年來有越來越多關注可解釋性的研究,例如:pixel-level 的方法 (CAM[1]Grad-CAM[2]等) 通過可視化輸入圖像和輸出結果之間的相關性解釋網絡的決策,為了解神經網絡決策依據找到了線索;concept-level 的方法

(TCAV[3]ACE[4]等) 可以找到給定類别重要的視覺概念。然而,這些方法是否局限于解釋相對 low-level 的相關性?是否有更加友善人們了解的更直覺的 high-level 的解釋方法?我們是否可以揭示神經網絡内在的推理邏輯和因果關系?邏輯解釋能否作為線索進一步幫助提高原網絡的性能?

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

為了回答這些問題,該研究探究如何模拟和解釋神經網絡的推理邏輯,提出用結構化的視覺概念對神經網絡決策背後的推理邏輯和因果關系進行解釋,通過解答網絡決策中 「為什麼是 A,為什麼不是 B?」 的問題,用人們更容易了解的 high-level 視覺概念和視覺概念之間的關系解釋神經網絡的推理邏輯,并将其作為指導來提升原網絡的性能。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

方法詳述

該研究提出的視覺推了解釋架構(VRX:Visual Reasoning eXplaination Framework)包括三個主要部分:

  • (1)視覺概念提取器 (VCE: Visual Concept Extractor) 用來提取特定類别相關的重要視覺概念,并将圖像表示為結構化的視覺概念圖 (SCG: Structural Concept Graph);
  • (2)概念圖推理網絡 (GRN: Graph Reasoning Network) 以視覺概念圖為輸入,通過知識蒸餾和遷移來模拟原網絡的決策過程;
  • (3)可視化決策解釋器 (VDI: Visual Decision Interpreter) 用來解釋原網絡決策背後的推理邏輯和因果關系。

接下來對每個部分進行詳細解釋。

視覺概念提取器和結構化的視覺概念

該研究首先介紹了什麼是視覺概念 (Visual Concept),簡單來說視覺概念展示了給定神經網絡對不同類别的了解,同時人們也更容易接受符合直覺的概念級别的解釋:以下圖警車為例,在給定的神經網絡 「眼裡」,警車 Top2 重要的視覺概念可視化為最右邊綠色圈中的 patch (看起來像輪子和駕駛室側面)。ACE[4] 中作者對視覺概念進行了定義:類别相關的視覺概念是像素點的集合 (group of pixels) 并滿足以下三個要求:

  • (1)有意義 (Meaningfulness):即視覺概念需要具有語義上的涵義,單個的像素就沒有語義涵義,是以需要是像素點的集合,比如圖檔 patch。
  • (2)一緻性 (Coherency):同一視覺概念在不同圖檔中的表現應該相似,不同視覺概念之間應該不同。
  • (3)重要性 (Importance):如果一個視覺概念的存在對于該類樣本的真實預測是必要的,那麼它對于該類的預測就是「重要的」。

下圖描述了 ACE 中對給定網絡、給定類别的視覺概念的提取過程:以警車為例,首先 (a) 用多分辨率的分割算法對圖檔進行分割得到 patch(這裡的分割采用的是 SLIC[5],一種基于規則的分割算法,選擇該方法是對于其速度和效果的綜合考慮); 然後(b) 将分割得到的 patch resize 為統一大小,通過給定網絡将 patch 轉化為向量,并在向量空間做聚類; 最後(c) 利用 Testing with Concept Activation Vectors (TCAV)[3] 得到每個聚類的潛在視覺概念對警車類别的重要性分數,并剔除 outlier,留下對警車類别來說最重要的 top 視覺概念。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

但研究發現,ACE 提取視覺概念的效果非常依賴用于提取視覺概念的圖檔的品質,一般每一類選取 50~100 張左右的圖檔用于提取視覺概念,如果圖檔有一些 bias 或者不是很具有代表性,就會導緻很多提取的視覺概念落在背景區域,比如下圖(左),這些視覺概念并不能代表網絡學習了該類 1000 張圖像(ImageNet)以後對該類(救護車)的了解。為了解決這個問題,該研究提出使用自頂向下的梯度注意力 (Attention Map) 對視覺概念提取區域進行限制, 因為 Grad-CAM 的 attention map 可以高亮顯示對網絡決策重要的區域(多為前景),這樣可以幫助剔除掉提取視覺概念的圖檔中與類别無關的背景部分,使得提取的視覺概念更能代表原網絡對該類的了解,如下圖右。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

以吉普車類别為例,下圖總結了視覺概念提取器提取視覺概念的步驟。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

提取出類别相關的視覺概念後,研究者認為視覺概念之間有潛在的空間結構關系,這種空間關系對類别表達至關重要:比如我們并不能說,隻要能在圖像中檢測到吉普車的四個最重要的視覺概念就代表一定是吉普車,他們之間的空間關系是相對确定的,例如輪子不能在車頂上方。我們人類做決策也是相似的:我們認為這是一輛吉普車,不僅關鍵的特征(視覺概念)符合認知,特征之間的空間關系同樣會影響我們的推理和最終決策。是以該研究認為結構化的視覺概念 才是更符合人們直覺的,解釋神經網絡推理決策的重要「語言」。後續的模拟并解釋神經網絡的推理決策過程也是基于此展開的。

結構化視覺概念的一種表達便是結構概念圖 (SCG: Structural Concept Graph),graph 中不同顔色的點代表不同重要性 (Top k) 的視覺概念,邊代表視覺概念之間的空間關系。如下圖吉普車和斑馬的例子,我們可以把任意圖檔表達為對應類别的結構概念圖。注意:目前是 image-level 的 SCG (I-SCG),後續會用 基于 learning 的方法,學習到 class-level 的 SCG(c-SCG)。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

概念圖推理網絡

有了結構概念圖作為人們容易了解的解釋神經網絡的「語言」,接下來可以用這種「語言」解釋神經網絡決策背後的推理邏輯。ACE[4]的作者為了驗證提取到的視覺概念對神經網絡決策的重要性,實驗驗證發現:如果隻保留輸入圖檔中表達重要視覺概念的像素(mask 掉與重要視覺概念無關的區域),神經網絡能保留原本 80% 以上的準确率。是以一個比較直接的想法便是:我們能不能追蹤并可視化神經網絡決策過程中重要視覺概念相關特征的流動,這樣我們便能找到最終決策與重要視覺概念之間的關系,進而對決策進行解釋。以下圖為例對于一個經典的由卷積層和全連接配接層構成的神經網絡,我們用不同的顔色代表吉普車最重要的四個視覺概念,在卷積層,我們可以根據結構不變性 追蹤每個視覺概念對應的 representation feature。但是全連接配接層中,所有特征 耦合到了一起,使得追蹤變得困難。研究者分析這是由于神經網絡結構上資訊流動不夠透明和難以解耦導緻的,與此同時研究者想到另一種解決辦法:如果可以用另一個結構比較解耦的,資訊流動更加透明的模型 B,全方位模拟原始神經網絡 A 的推理和決策,是不是就可以通過解釋 B 的推理邏輯來解釋 A 呢?

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

為此研究者提出概念圖推理網絡 (GRN: Graph Reasoning Network),以結構概念圖為輸入,通過知識蒸餾和遷移來模拟原網絡的決策過程(如下圖)。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

下圖解釋了概念圖推理網絡的訓練過程:對于輸入圖檔,該研究首先建構對于每個感興趣類别的結構概念圖(即先将圖像進行分割,然後在所有 patch 中分别檢測每個感興趣類别的重要視覺概念:從下圖中檢測到 2 個消防車的視覺概念(黃色圓圈),2 個老爺車的視覺概念 ... 4 個吉普車的視覺概念),這些檢測到的視覺概念組成相應類别的結構概念圖,表示對其決策的假設(該圖是消防車嗎?是老爺車嗎 ... 是吉普車嗎?)很多類别我們隻能檢測到部分視覺概念,檢測不到的視覺概念用 dummy node 來表示(黑色 node)。然後概念圖推理網絡利用圖卷積,對每一個結構概念圖進行 representation,學習其視覺概念及其之間的關系對最終決策的影響。最後該研究把所有點和邊 concatenate 為一個向量, 通過非常簡單的 MLP 輸出對所有感興趣類别的決策向量,并用知識蒸餾的方法使得概念圖推理網絡與原網絡的決策一緻。為了提升模拟的魯棒性,該研究還用 mask out 視覺概念添加擾動的方法使得概念圖推理網絡與被解釋的原網絡在面對擾動時決策一緻。(詳細訓練過程和公式推導請見原始 paper)。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

訓練中,所有類别的結構概念圖共享一套圖卷積的參數,但是每個類别在消息傳遞(message passing ) 中有專屬的注意力權重參數 eji,類别專屬的注意力權重參數是為了學習每個類别獨特的視覺概念之間的空間和依賴關系,一方面可以解釋并可視化概念圖推理網絡學習到的每個類别視覺概念之間潛在的關系(下圖),另一方面為最終推理過程的解釋提供了支援。下圖是用學習到的消防車的 eji 篩選出重要的視覺概念之間的關系。邊的 eji 值越大,代表點 j 對點 i 的貢獻越大;從右邊的 sum 可以看到消防車的視覺概念 1 和 2 對其他的視覺概念貢獻最大,這也意味着他們是對消防車來說最有區分度的視覺概念。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

可視化決策解釋器 (VDI: Visual Decision Interpreter)

 訓練好的概念圖推理網絡便是原網絡的 representation,基于圖卷積神經網絡的概念圖推理網絡具有資訊傳遞透明且容易追蹤的特點,為了用結構概念圖對推理過程進行解釋,該研究提出了基于梯度的貢獻度配置設定算法,為每個參與決策的點(視覺概念)和邊(概念之間的關系)計算其對于特定決策的貢獻值,貢獻值的高低代表了其肯定還是否定了該決策。最後決策解釋器可視化了對原網絡輸出的解釋并回答為什麼是吉普車?為什麼不是其他類别?(顔色代表肯定:冷色,或否定:暖色)如下圖右:(1)為什麼是吉普車?從視覺概念角度,所有檢測到的四個與吉普車最相關的視覺概念(前燈,擋風玻璃,後窗,車輪)都對最終吉普車的決策有正向貢獻(深藍或淺藍);從視覺概念的空間結構關系角度,四個概念之間的空間關系也都對決策有正向貢獻,這說明視覺概念和他們之間的關系都像一輛吉普車。(2)為什麼不是消防車?從視覺概念角度:從圖中檢測到的與消防車視覺概念最接近的四個部分及其相關結構和空間關系都對消防車的決策起到負向貢獻(否定該圖是消防車的決策)尤其是概念 1 和概念 2,與真正的消防車概念最不相符。(3)為什麼不是老爺車等?也同樣可以得到相似的人們容易了解的、邏輯上的、視覺概念角度的解釋。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

實驗和結果

視覺推了解釋 (VRX) 與原網絡之間邏輯一緻性實驗第一個實驗目的是驗證視覺推了解釋架構 (VRX) 做出的推了解釋與原網絡的邏輯是一緻的。

如下圖,原網絡 Xception 錯把一張消防車分類成了救護車,VRX 給出解釋(如左圖):為什麼不是消防車?因為從圖像中檢測到的消防車的視覺概念 3 和 4 都對消防車的決策起到負向貢獻即否定該決策。為什麼是救護車?因為檢測到的救護車的視覺概念 3 和 4 都對救護車的決策起到正向貢獻,即肯定該決策。即使所有消防車視覺概念之間的空間關系(邊)相對救護車的空間關系更加合理,但是綜合來看,Xception 還是做出了救護車的決策。

為了驗證解釋的合理性以及與原網絡決策邏輯的一緻性。該研究做了兩個實驗 :(1)研究人員把原圖中檢測到的對消防車決策起負向作用的消防車的概念 3 (車輪) 替換為另外一張消防車圖檔中的更合理的概念 3 (右圖第一行),然後讓 Xception 對新的圖檔再次分類,發現錯誤被糾正了。此外,該研究也做了對比試驗:如果用一張随機的消防車的 patch 去替換概念 3,或者用另外一張消防車的同樣合理的概念 1 和 2 替換原始的概念 1 和 2,Xception 都無法糾正錯誤。是以研究者認為 VRX 對 Xception 推理的解釋符合原網絡的邏輯。(2)研究人員把原圖中檢測到的對救護車的決策起正向作用的救護車的概念 3 mask 掉,發現 Xception 對新圖檔的預測結果有糾正的趨勢(消防車機率增大,救護車機率減小)。對比實驗發現如果随機删除 patch 則不會有糾正的效果。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

上述驗證明驗一共在 119 張 Xception 錯分的圖檔中實施,研究者用 VRX 對錯誤原因背後推理邏輯的解釋作為修改建議,通過視覺概念的替換和删除,原網絡超過 95% 的錯分可以被正确的糾正(如下表 1)。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

VRX 對視覺和結構解釋的敏感性實驗

VRX 可以從視覺概念(點)和視覺概念之間的空間關系(邊)兩個角度為決策提供解釋。通過添加擾動,分别預設輸入圖像的視覺層面不合理和空間結構的不合理,探究 VRX 的解釋對視覺和結構的敏感性。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

給定一張 Xception 正确預測的救護車圖檔,VRX 給出了解釋。(a)如果把一個救護車相對合理的視覺概念 2(對救護車決策起到正向貢獻)替換為一個相對不合理的視覺概念 2(在另一張救護車圖像中對決策起到負向貢獻),VRX 對新圖檔決策的解釋可以正确捕捉到不合理的部分:被替換的概念 2。(b)如果把視覺概念 4(車輪)移動到一個不合理的位置(擋風玻璃上方),VRX 對新圖檔決策的解釋可以正确捕捉到不合理的部分:視覺概念 4 和其他視覺概念之間的空間關系。由此研究者認為 VRX 可以準确的定位視覺和結構的不合理,并給出準确的解釋。

VRX 根據解釋對原網絡進行診斷并提升原網絡的表現 

之前的實驗展示了 VRX 對原網絡的解釋可以幫助原網絡糾正對圖檔的錯誤分類,接下來的實驗中,VRX 将利用可解釋性對原網絡進行診斷,發現原網絡訓練中存在的問題(比如訓練資料的 bias),進而提出針對性修改建議,進而提升原網絡的表現。如下圖,研究者用 Resnet-18 訓練了一個三種車輛的分類器 ,(a) 訓練資料有 pose 的 bias,所有的公共汽車都是 pose 1,所有坦克都是 pose 2,所有軍用汽車都是 pose 3;但測試資料沒有 pose bias,即所有車輛都有全部的 pose 1,2 和 3。(b) 測試發現分類器的準确率較低,該研究用 VRX 對模型進行診斷,發現大部分錯分的圖像其實都能找到正确的視覺概念,錯誤原因是因為概念之間的關系否定了正确的決策,導緻錯分。以下圖 (b) 為例,一輛軍用汽車被錯分為坦克,解釋為什麼不是軍用汽車的時候發現是軍用汽車視覺概念之間的空間關系否定了該圖是軍用汽車的決策,而從圖中檢測到的坦克的視覺概念雖然較差,但是空間關系支援是坦克的決策,綜合以上導緻了錯分。是以 VRX 診斷給出的建議是增加視覺概念之間空間關系的多樣性和魯棒性 。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

根據診斷建議,最直接的實作方法便是增加不同 pose 的圖檔,研究者做了接下來的驗證明驗:setting 1:為每類增加 150 張不同于原始資料集 pose 的圖檔;setting 2:為每類增加 150 張與原始資料集 pose 相同的圖檔(對照組)。研究者用新的資料集分别重新訓練了 Resnet-18 分類器并測試資料集準确率 (結果如下表 2)。VRX 根據解釋性的診斷幫助提升了原始模型的效果。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

VRX 對原模型的診斷可以總結模型的不同問題并提出相應提升建議。下圖是 VRX 對在 ImageNet 上預訓練的 Xception 其中六類的診斷,VRX 将其錯誤總結為三種類别,并對每種錯誤的修改提出建議。(細節請參考原 paper)。

CVPR2021 | 視覺推了解釋架構VRX:用結構化視覺概念作為解釋網絡推理邏輯的「語言」

總結和展望

總結來說,這項工作在神經網絡的可解釋性方向做了進一步探索:解釋神經網絡決策背後的推理邏輯。該研究提出了一個視覺推了解釋架構 (VRX: Visual Reasoning eXplanation), 将人們容易了解的、high-level 的結構化的視覺概念作為“語言”,通過回答為什麼是 A,為什麼不是 B 解釋神經網絡的推理邏輯。VRX 還可以利用解釋對網絡進行診斷,進一步提升原網絡的性能。研究者相信這是朝着更透明、更安全、更可信的 AI 方向邁出的小但是重要的一步。

論文講解視訊:

https://www.bilibili.com/video/BV1tb4y1C7yY/

參考文獻

1.     CAM, Bolei Zhou , et al. 2016 

https://openaccess.thecvf.com/content_cvpr_2016/papers/Zhou_Learning_Deep_Features_CVPR_2016_paper.pdf

2.     Grad-CAM, RR Selvaraju , et al. 2017 

https://arxiv.org/pdf/1610.02391.pdf

3.     TCAV, Been Kim, et al. 2017;  

https://arxiv.org/pdf/1711.11279.pdf

4.     ACE, Ghorbani, et al. 2019 

https://arxiv.org/pdf/1902.03129.pdf

5.     SLIC, Radhakrishna Achanta, et al. 2011 

https://core.ac.uk/download/pdf/147983593.pdf

繼續閱讀