由於深度學習已經在需要做出重大決策的領域如安防和自動駕駛中得到越來越廣泛的應用,深度網路的可解釋性稱為愈加迫切的需要。北卡羅來納州立大學與阿里巴巴 AI 實驗室的研究人員近日提出了一種聚焦於目標檢測的定性可解釋的 R-CNN 網路,實現了未來人機對話的開端。
論文:Interpretable R-CNN
論文連結:https://arxiv.org/abs/1711.05226
這篇論文使用流行的兩階段基於區域的卷積神經網路的目標檢測系統(即 R-CNN)展示了一種學習定性可解釋模型的方法。R-CNN 由一個區域建議網路和一個感興趣區域預測網路(RoI,Region of interest)組成。通過使用可解釋的模型,我們可以聚焦於弱監督的提取基本原理生成(extractive rationale generation),即在檢測中(對任何部分都不使用監督的情況下)自動地、同步地學習展開目標例項的隱藏部分結構。我們在使用了自頂向下的分層綜合語法模型(嵌入於有向無環的與或圖,AOG),以探索並展開 RoI 中的隱藏部分結構。我們提出了一種 AOG 解析運算元(AOG parsing operator)來取代 R-CNN 中常用的 RoI 池化運算元(RoI Pooling Operator),因此我們提出的方法可以適用於很多基於卷積神經網路的頂尖目標檢測系統。AOG 解析運算元的目標是同時利用自頂向下的分層綜合語法模型的嚴密可解釋性,以及以自底向上的端到端形式訓練得到的深度神經網路的判別能力。在檢測中,將使用從 AOG 中實時得到的最佳解析樹(parse tree)來解釋邊界盒(bounding box),這個邊界盒可以看做為解釋檢測而生成的提取基本原理。在學習過程中,我們提出了一種摺疊-展開(fold-unfolding)的方法來端到端地訓練 AOG 和卷積網路。在實驗中,我們在 R-FCN 之上建立模型並測試了我們提出的方法,測試是在 PASCAL VOC 2007、 PASCAL VOC 2012 資料集上進行的,最終的效能與目前最先進的方法有可比性。
1.1. 動機和目標
近年來,由大資料驅動的深度神經網路取得了驚人的成功 [45, 40],深度神經網路能夠顯著地提升預測準確率,甚至在影象分類任務 [27,69] 中超越了人類的表現 [27, 69]。在目標檢測的相關文獻中,有一個很關鍵的方法轉變:從更明確的表徵和模型,例如可變形的元件模型 DPM[18] 的集合體、它的眾多變體以及分層綜合與或圖(AOG)模型 [66, 82, 73, 74],向不夠透明但是更加準確的基於卷積神經網路(ConvNet)方法的轉變 [61, 9, 60, 50, 26, 10]。同時,已經證明,深度神經網路可以很輕易地遭到所謂的對抗攻擊(adversarial attacks)的欺騙,這些攻擊利用人類視覺無法察覺的、精心設計的微擾動(甚至是單畫素攻擊 [67])使網路對輸入以無法預料的方式進行誤分類 [57, 2]。此外,還證明深度學習能夠輕易地擬合隨機標籤。由於目前缺乏理論基礎 [1],很難分析目前最先進的深度神經網路起作用或失敗的原因。從認知科學的角度來看,目前最先進的神經網路或許不是以人類的思維方式來工作,人類知道「為什麼」並且知道如何解釋 [43]。然而,在越來越多的應用中,基於深度神經網路的計算機視覺和機器學習模型需要對有潛在嚴重後果的場景做出決策,例如,安防視訊監控和自動駕駛。
圖 1:上方:通過論文提出的方法在 PASCAL VOC 2007 測試集上的檢測例子。除了預測邊界盒和檢測得分之外,我們的方法還輸出了隱藏判別解析樹和部分結構,後者作為檢測中的定性提取基本原理,是通過弱監督的方式計算得到的,就是說訓練中只能得到邊界盒。解析樹從隱藏完全結構的空間中實時推理得到,隱藏完全結構是由自頂向下的分層綜合語法模型來表徵的。下方:是一個想象的存在於演算法和終端使用者之間的對話,終端使用者正在嘗試著理解預測結果。你可以閱讀文字內容瞭解更多細節。
沒有可解釋的正當理由的預測最終的可應用性都是受限的。因為一個基本的直覺就是,如果我們身邊的人做了一些事但是不能給出令人信服的解釋,是很令人沮喪的。人猶如此,更不用說機器了。所以,解決機器無法解釋其預測和行為的問題是非常關鍵的(例如 DARPA 提出的可解釋 AI[12]),解決這個問題是為了提升準確率和透明度:不僅僅是一個能對隨機樣本計算得到高概率預測結果的可解釋模型,還能夠完美地以一種可解釋形式向終端使用者推理它的預測。通常而言,學習可解釋的模型就是讓機器去理解人類,這通常包含很多方面。所以,對模型的可解釋性一直都沒有一個被廣泛接受的定義。尤其是,長期以來,以量化的形式去衡量可解釋性一直是一個開放性問題。這篇文章聚焦於在目標檢測問題中學習定性可解釋的模型。我們的目標是,在不損失檢測效能的前提下,用簡單的擴充套件方法定性地解釋常用的兩階段基於區域的卷積檢測系統(即 R-CNN[22,61,9])。圖 1 展示了通過我們提出的弱監督訓練來計算解釋性的一些例子。
圖 2:將通用的由有向五環 AOG 表示的自頂向下的語法模型,和自底向上的卷積神經網路端到端地整合到一起。為簡單起見,我們展示了使用文獻 [66] 中提出的方法(利用 3x3 網格)構造的 AOG。上圖中的 AOG 展開了所有可能存在的隱藏部分結構(使用矩形元件和二分規則)。我們在 R-FCN 方法 [9] 的基礎上建立模型。基於 AOG,我們使用終端節點感知地圖(Terminal-node sensitive maps),並提出了一個 AOG 解析運算元去替代 R-FCN 中的對位置敏感的 RoI 池化運算元,它能夠為 RoI 實時推理出最佳解析樹,以及最佳的部分結構。我們將邊界盒的迴歸分支保持不變,這一點在圖中沒有展示出來。
1.2. 方法概覽
如圖 2 所示,這篇論文提出了一種能夠在目標檢測中定性學習可解釋模型的方法,這個方法以端到端的形式整合了通用的自頂向下的分層綜合語法模型以及自底向上的卷積神經網路。我們在檢測中採用了 R-CNN[22,61,9],它由兩部分組成:(i)一個用於目標檢測的區域建議元件。像 RoI 一樣的類未知目標邊界盒建議通常由兩種方式生成:要麼是利用現成的目標檢測器(如選擇性搜尋 [70]),要麼是以端到端的形式學習一個整合的區域建議網路 (RPN)[61]。(ii)RoI 預測元件。它基於 RoI 池化運算元來分類或者回歸邊界盒的建議。RoI 池化運算元計算等尺寸的特徵地圖,以適應不同型別的建議。通過可解釋的模型,我們聚焦於在 RoI 預測元件中的弱監督提取基本原理生成,也就是不為部分結構使用任何的監督,在檢測的過程中實時地、自動地學習展開 RoI 中的隱藏判別部分結構。最後,我們利用嵌在一個有向五環 AOG[66,74] 中的通用的自頂向下的綜合語法模型來探索並揭示 RoI 中的隱藏部分結構中的空間(圖 2 的上半部分是一個相關的例子)。一個 AOG 中有三種不同的節點:「與」節點代表從大部分到兩個小部分的二元分解;「或」節點代表分解的不同方式;終端節點代表的是部分例項。AOG 與通用影象語法框架是一致的 [21, 83, 17, 82]。在基於 R-CNN 的檢測系統中,我們提出了用 AOG 解析運算元代替 RoI 池化運算元。在檢測中,每一個邊界盒都由一個最佳解析樹來解釋,這個解析樹是從 AOG 中實時得到的,它是為檢測生成的提取基本原理(如圖 1 所示)。
在學習過程中,我們提出了一種摺疊-展開(folding-unfolding)方法,用端到端的方式訓練 AOG 和卷積神經網路。在摺疊步驟中,AOG 中的或節點是通過 MEAN 運算元實現的(也就是說,或節點計算了子節點的平均值)。在展開步驟中,它們是通過 MAX 運算元實現的(也就是說,每一個與節點選擇了最好的子節點)。摺疊步驟就是要整合所有的隱藏部分結構。展開步驟就是要將隱藏部分結構最大化,為每一類的每一個 RoI 明確地推斷出最佳解析樹,然後基於推斷得到的解析樹的分數類為 RoI 分類。摺疊步驟確保展開步驟中一個或節點的子節點之間的公平比較,因為用 AOG 中未充分訓練的引數來決定最佳子節點的選擇是不合理的,尤其是在隨機初始化引數的開始階段。最後的解析樹被用作為檢測到的目標提取的基本原理,它是對比性的(與 AOG 中所有可能的部分結構競爭),也是選擇性的(僅僅使用從 AOG 中得到的所有部分結構)。
在實驗中,我們在 R-FCN[9] 之上構建模型,並以在 ImageNet[63] 上預訓練的殘差網路 [27] 作為主幹網路(backbone)。我們在 PASCAL VOC 2007 和 2012 資料集上測試了我們的方法,結果證明我們的效能能夠和目前最先進的方法相媲美。我們還使用控制變數法從不同角度來研究了這個方法。
圖 4:上方:PASCAL VOC 資料集(2007,2012)中學習到的 AOG,每一個節點的類分佈都被畫了出來。下方:使用學習到的模型 AOG「AOG772-d-1」來展開隱藏部分結構的例子。我們展示了 VOC 2007 資料集中每一類的一個隨機例子。