根據看到的圖像來回答問題,需要在圖像識别和分類的基礎上再進一步,形成對圖中物體彼此關系的推理和了解,是機器完成複雜任務所需的一項基本能力,也是視覺研究人員目前正在努力攻克的問題。
最近,在視覺推理任務中,子產品化的網絡展現出了很高的性能,但它們在可解釋性方面還多有欠缺。為了解決這個問題,MIT和普朗克航空系統公司的研究人員合作,圍繞視覺注意力機制,提出了一組視覺推理原語(primitives),組合起來後得到的模型,能夠以明确可解釋的方式,執行複雜的視覺推理任務,在視覺了解資料集CLEVR上達到了99.1%的準确率。
他們将這種設計模型的方法稱之為“透明設計”(Transparency-by-Design,TbD),使用這種方法設計出的網絡則稱為“透明設計網絡”(TbD-nets)。

CLEVR視覺問答任務示意:新提出的透明設計網絡(TbD-net)組成了一系列的注意力掩碼(mask),使其能夠正确計數圖像中的兩個大型(Large)金屬(Metal)圓柱體(Cyliner)。
由上可見,子產品在輸出時,将結果高亮顯示,這樣人類也能夠檢查每個子產品的中間輸出,并且從一個高的層次了解子產品的行為,研究人員認為,這樣的模型就可以說是“透明”的。他們在論文中寫道,這些原語的輸出的保真度(fidelity)和可解釋性(interpretability),讓我們在診斷所得模型的優缺點方面,獲得了無與倫比的能力。由此,縮小了現有視覺了解模型在性能和可解釋性之間的差距。
他們還表明,當提供給模型的資料集很小,而且其中含有從未見過的新資料時,模型也能很好地學會泛化表示。在CoGenT泛化任務中,得到了比現有最好技術提高了20個百分點的成績。
相關論文《透明設計:縮小視覺推理中性能和可解釋性之間的差距》(Transparency by Design: Closing the Gap Between Performance and Interpretability in Visual Reasoning),已經被CVPR 2018接收。利用開源代碼,你也能建構視覺了解模型并在CLEVR資料集上測試,自己問問題,看看模型能否給出正确回答。
論文: https://arxiv.org/abs/1803.05268v1
代碼: https://github.com/davidmascharka/tbd-nets
CLEVR:10 萬圖像+100 萬問題,建構視覺了解基準
在介紹成果前,簡單介紹一下這項工作的基礎——CLEVR資料集。CLEVR是李飛飛上司的斯坦福人工智能實驗室和Facebook AI Lab聯合提出的一個視覺問題基準,結合語義和推理,測試機器的語言視覺(Language Vision)在語義(Syntax)和推理(Inference)方面的能力。
CLEVR 包含 10 萬張經過渲染的圖像和大約 100 萬個自動生成的問題,其中有 85.3 萬個問題是互不相同的,包含了測試計數、比較、邏輯推理和在記憶中存儲資訊等視覺推理能力的圖像和問題。
CoGenT是CLEVR的一個子任務,全稱是Compositional Generalization Test,檢驗模型在測試時識别新組合的屬性的能力。
CLEVR中的每個問題都以自然語言和函數程式設計(functional program)的形式表示,函數程式設計表示讓人能精确确定模型回答每個問題所需的推理技能。
透明設計:圍繞注意力機制建構,可解釋的視覺推理原語
将一個複雜的推理鍊分解為一系列較小的子問題,其中每一個子問題都可以獨立解決,然後組合起來,這是一種強大而直覺的推理手段。像這樣的子產品化結構還允許在推理過程的每個步驟檢查網絡的輸出,取決于産生可解釋輸出的子產品設計。
受此啟發,我們提出一個神經子產品網絡(neural module network),該網絡在圖像空間中建構一個注意力機制模型,我們稱之為透明設計網絡( Transparency by Design network ,TbD-net),因為透明度(Transparency)是我們設計決策的驅動因素。
這個設計決策考慮到一些子產品隻需要關注圖像中某個局部的特征,例如注意力子產品(Attention module)隻關注不同的對象或特征一樣。其他子產品則需要在全局環境中執行操作,例如關聯子產品(Relate modules),它必須要将注意力轉移到整個圖像上。我們将每個子產品任務的先驗知識與經驗實驗相結合,進而為每個操作優化出一套新的子產品化架構。
在視覺問題回答任務中,推理鍊中的大多數步驟都需要對具有一些明顯可見屬性的對象(例如顔色,材質等)進行定位。我們確定每個執行此類型過濾的TbD子產品都輸出一維注意力掩模(attention mask),它可以明确地劃分相關的空間區域。是以, TbD-net不是在整個網絡中細化高維特征映射,而是僅通過其子產品之間的attention mask。通過故意強化這種行為,我們産生了一個極好的具有可解釋性和直覺性的模型。這意味着我們離打開複雜的神經網絡的黑盒又近了一步。
圖3顯示了一個TbDnet如何在整個推理鍊中适當地轉移注意力,它解決了一個複雜的VQA問題,并且通過直接顯示它産生的attention mask,可以很容易地解釋這個過程。這裡顯示的所有attention masks都是使用視覺均勻的顔色圖生成的。
架構細節
以下描述每個子產品的架構。表1顯示了所有的子產品概覽。有幾個子產品共享輸入和輸出類型(例如Attention和Relate),但實作方式不同,這取決于它們的特定任務。
表1:Transparency by Design network中使用的子產品。Attention和Encoding分别指前一子產品的單維和高維輸出。Stem是指訓練的神經網絡産生的圖像特征。變量x和y表示場景中不同的對象,例如[property]表示顔色,形狀,大小或材質
我們使用從ResNet-101中提取的圖像特征,并通過一個簡單的卷積子產品“stem”提供這些特征。我們為大多數子產品提供了stem特征,這確定了每個子產品都可以輕松通路圖像特征,并且在長的合成中不會丢失任何資訊。stem可以将ResNet的高維特征輸入轉換為适合我們任務的低維特征。
具體的子產品描述如下:
Attention 子產品處理包含具有指定屬性的對象的圖像區域。
And和Or子產品分别在一組交集和并集中組合兩個attention masks。
Relate 子產品處理與另一個區域有一定空間關系的區域。
Same子產品處理一個區域,從該區域提取相關的屬性,并出現在共享該屬性的圖像中其他區域。
Query 子產品從圖像的參與區域提取特征。
Compare 子產品比較兩個Query 子產品輸出的特征,并生成一個特征映射,用于對特征是否相同進行編碼。
最後一個子產品是一個classifier,它将Query或Compare 子產品中的特征映射作為輸入,并産生一個分布答案。
圖3. 從上到下看,透明設計網絡(TbD-net)組成視覺attention masks來回答關于場景中對象的問題。樹形圖(左側)表示TbD-net使用的子產品,右側顯示了相應的attention masks。
實驗:精度達到99.1%
我們使用CLEVR資料集和CLEVR-CoGenT來評估我們的模型。CLEVR是一個VQA資料集,包含70k圖像和700k問題的訓練集,以及15k圖像和150k問題的測試和驗證集。
CLEVR
我們的初始模型在CLEVR資料集上實作了98.7%的測試精度,遠遠超過其他基于神經網絡的方法。我們利用模型生成的attention masks來優化這個初始模型,進而實作99.1%的精确度。考慮到針對CLEVR已有許多高效的模型,我們對模型進行了5次訓練,以得到統計性能測量,結果平均驗證準确率為99.1%,标準差為0.07。此外,我們注意到其他模型沒有一個能夠以直覺的方式檢查它們的推理過程。而我們的模型在視覺推理過程的每個階段都提供了直接的、可解釋的輸出。
圖4. 輸入圖像(左)和Attention[large]子產品産生的attention mask覆寫在輸入圖像上。如果不處罰attention mask輸出(中間),attention mask會産生噪音并在背景區域産生響應。懲罰attention輸出(右圖)提供了一個信号來減少外界的attention。
透明度
我們檢查了TbD模型的中間子產品産生的attention masks。結果顯示,我們的模型明确地構成了視覺attention masks以得出答案,進而導緻神經網絡具有前所未有的透明度(transparency)。
圖3顯示了整個問題的視覺注意力組成。在本節中,我們提供透明度的定量分析。我們進一步檢查了幾個子產品的輸出,表明任何組成的每一步都可以直接解釋。
圖5. 輸入圖像(左)和被要求注意藍色柱狀塊後面區域以及大的青色橢球塊前面區域産生的attention masks,輸入特征分别是14×14(中)和28×28(右)。
表2. CLEVR資料集上 state-of-the-art 模型的性能比較。我們的模型運作良好,同時保持模型透明度。我們在Query問題上實作了最先進的性能表現,同時保持了其他所有類别的競争力。
圖6. 輸入圖像(左)和Attention[metal]子產品(右)産生的attention mask。當attention mask疊加在輸入圖像頂部(中圖)時,顯然注意力集中在金屬塊上。
CLEVR-CoGenT
CLEVR-CoGenT資料集為泛化提供了極好的測試。它與CLEVR資料集的形式完全相同,隻是它有兩個不同的條件。在條件A中,所有立方體的顔色都是灰色,藍色,棕色或黃色,并且所有圓柱體都是紅色,綠色,紫色或青色中的一種; 在條件B中所有顔色交換。這可以檢查模型是否将形狀和顔色的概念關聯在一起。
圖7. 一個輸入圖像(左)和Relate[right]子產品(右)在紫色圓柱體受到注意時産生的attention mask。當attention mask疊加在輸入圖像頂部(中圖)時,很明顯注意力集中在紫色圓柱右側的區域。
表3. 僅在條件A資料(中間列)上訓練,并且在微調具有新屬性的少量資料(右側列)之後的CoGenT資料集上,TbD-net與目前 state-of-the-art 模型的性能比較。
如表3所示,我們的模型在條件A上達到98.8%的準确性,但條件B上隻有75.4%。然後我們使用3k圖像和條件B資料中的30k個問題對我們的模型進行微調。其他模型在微調後會看到條件A資料的性能顯着下降,而我們的模型保持高性能。如表3所示,我們的模型可以從少量的條件B資料中有效地學習。在微調後,我們在條件A上達到96.9%的準确度,在條件B上達到96.3%的準确度,遠高于 state-of-the-art模型報告的條件A 76.1%和條件B 92.7%的準确度。
強大的診斷工具,有助于信任視覺推理系統
我們提出Transparency by Design網絡,它構成了利用明确的注意力機制來執行推理操作的可視化基元。與此前的模型不同,由此産生的神經元件網絡既具有高性能又易于解釋。這是利用TbD模型的關鍵優勢——通過生成的attention masks 直接評估模型的學習過程,這是一個強大的診斷工具。
人們可以利用這種能力來檢查視覺操作的語義,例如“相同的顔色”,并重新設計子產品以解決推理中明顯的偏差。利用這些attention作為提高性能的手段,我們在具有挑戰性的CLEVR資料集和CoGenT generalization任務上實作了最高的準确度。對神經網絡操作的這種洞察也有助于使用者建立對視覺推理系統的信任。
原文釋出時間為:2018-03-16
本文作者:聞菲、肖琴
本文來自雲栖社群合作夥伴新智元,了解相關資訊可以關注“AI_era”微信公衆号