NIPS 2018 | MIT等提出NS-VQA:結合深度學習與符號推理的視覺問答
原標題:NIPS 2018 | MIT等提出NS-VQA:結合深度學習與符號推理的視覺問答
作者:Kexin Yi、Jiajun Wu、Chuang Gan、Antonio Torralba、Pushmeet Kohli、Joshua B. Tenenbaum
參與:panda
視覺問答是人工智慧領域的一大重要研究問題,可幫助開發能遵照人類口語指令執行任務的程序或機器人等應用。MIT、哈佛等機構合作的一項研究提出了一種神經符號視覺問答(NS-VQA)系統,將深度表徵學習與符號程序執行結合到了一起。該研究的論文已被 NIPS 2018 接收。
論文地址:https://arxiv.org/pdf/1810.02338.pdf
我們將兩種強大的技術思想結合到了一起:用於視覺識別和語言理解的深度表徵學習,以及用於推理的符號程序執行。我們的神經符號視覺問答(NS-VQA)系統首先會根據圖像恢復一個結構化的場景表徵,並會根據問題恢復一個程序軌跡。然後它會在這個場景表徵上執行該程序以得到答案。將符號結構整合成先驗知識具有三大獨特的好處。第一,在符號空間上執行程序對長程序軌跡而言更加穩健;我們的模型可以更好地解決複雜的推理任務,能在 CLEVR 數據集上達到 99.8% 的準確度。第二,這樣的模型在數據和內存上更加高效:在少量訓練數據上學習之後能取得優良的表現;它還能將圖像編碼成緊湊的表徵,所需的存儲空間會比現有的離線問答方法更少。第三,符號程序執行能為推理過程提供完整的透明度;因此我們能夠實現對每個執行步驟的解讀和診斷。
引言
對於圖 1 中的圖像和問題,我們可以立即識別出其中的物體和它們的屬性,解析複雜的問題,並利用這樣的知識來推理和回答這些問題。我們也能清楚地解釋我們推理得到這些答案的方式。現在請想像你正站在這些場景前,閉著眼睛,只能通過觸摸的方式構建你的場景表徵。毫不意外,沒有視覺的推理依然毫不費力。對於人類而言,推理是完全可解釋的,而且並不一定涉及視覺感知。
圖 1:人類推理是可解讀和可解耦的:我們首先會通過視覺感知獲取抽象的場景知識,然後會在此之上執行邏輯推理。這能夠在豐富的視覺背景中實現組分式的、準確的和可泛化的推理。
深度表徵學習的進步和大規模數據集的發展 [Malinowski and Fritz, 2014, Antol et al., 2015] 催生了很多用於視覺問答(VQA)的開創性方法,這些方法大都是以端到端的方式訓練的 [Yang et al., 2016]。但是,創新的完全基於神經網路的方法往往在高難度的推理任務上表現不佳。尤其值得一提的是,一項近期研究 [Johnson et al., 2017a] 設計了一個新的 VQA 數據集 CLEVR,其中每張圖像都帶有由程序生成的複雜多變的組分式問題,該研究也表明之前最佳的 VQA 模型的表現並不好。
之後,Johnson et al. [2017b] 表明可以通過將預先的人類語言知識連接進來作為程序,從而幫助機器學習推理。具體而言,他們的模型集成了一個程序生成器,其可推理一個問題的底層程序和一個學習後的基於注意的執行器,該執行器可在輸入圖像上運行這個程序。
這樣的組合能在 CLEVR 數據集上實現非常好的表現,而且能夠足夠好地泛化用於 CLEVR-Humans——這個數據集包含與 CLEVR 一樣的圖像但搭配的問題是人類提出的。但是,他們的模型仍然有兩個局限:第一,訓練程序生成器需要很多有標註的示例;第二,基於注意的神經執行器的行為難以解釋。相對而言,即使僅有少量有標籤的實例,我們人類也可以在 CLEVR 和 CLEVR-Humans 上執行推理,而且我們也能清楚地解釋我們的推理方式。
在這篇論文中,我們在學習 vs. 建模方面更進了一步,提出了一種用於視覺問答的神經符號方法(NS-VQA),該方法完全將視覺及語言的理解和推理分開了。我們使用神經網路作為解析工具——根據圖像推斷結構化的基於目標的場景表徵,根據問題生成程序。然後我們集成一個符號程序執行器作為神經解析器的補充,這個執行器可在場景表徵上運行生成的程序以得到答案。
深度認知模塊和符號程序執行器的組合具有三大獨特的優勢。第一,符號表徵的使用能提供對長的複雜程序軌跡的穩健性。它還能減少對訓練數據的需求。在 CLEVR 數據集上,我們的方法在有 270 個程序標註加 4000 張圖像的問題上進行了訓練,能夠實現高達 99.8% 的接近完美的準確度。
第二,我們的推理模塊和視覺場景表徵都是輕量級的,僅需要最少量的計算和內存成本。尤其值得一提的是,我們的緊湊型結構化圖像表徵在推理過程中所需的存儲空間要少得多,相比於其它當前最佳的演算法,內存成本能降低 99%。
第三,符號場景表徵和程序軌跡的使用能迫使模型準確地基於問題恢復底層的程序。結合完全透明且可解讀的符號表徵的本質,可以對推理過程進行一步步地分析和診斷。
方法
我們的 NS-VQA 模型有三個組件:場景解析器(去渲染器/de-renderer)、問題解析器(程序生成器)和程序執行器。給定一個圖像-問題對,場景解析器會去除圖像的渲染效果,得到結構化的場景表徵(圖 2-I),問題解析器會基於問題生成層次化的程序(圖 2-II),程序執行器會在結構化的表徵上運行程序從而得到答案(圖 2-III)。
圖 2:我們的模型有三個組件:一是場景解析器(去渲染器),它的功能是分割輸入圖像(a-b)並將其恢復成一個結構化的場景表徵(c);二是問題解析器(程序生成器),其可將自然語言的問題(d)轉換成程序(e);三是在結構化場景表徵上運行程序以得到答案的程序執行器。
我們的場景解析器能夠恢復圖像中場景的結構化的和解耦的表徵(圖 2a),基於此我們可以執行完全可解釋的符號推理。這個解析器採用了一種兩步式的基於分割的方法來進行去渲染:它首先會生成一些分割提議(圖 2b);對於每個分割,都會對物體及其屬性進行分類。最終得到的結構化的場景表徵是解耦的、緊湊的和豐富的(圖 2c)。
問題解析器將自然語言的輸入問題(圖 2d)映射成一個隱含程序(圖 2e)。這個程序有層次化的函數模塊,其中每個模塊都能在場景表徵上實現獨立操作。使用層次化的程序作為我們的推理骨幹能夠自然地提供組合性和泛化能力。
程序執行器能夠基於問題解析器的輸出序列,將這些函數模塊應用到輸入圖像的抽象式場景表徵上,從而生成最終答案(圖 2-III)。在整個執行過程中,這個可執行的程序會在其輸入上執行單純的符號運算,而且其在程序序列方面是完全確定性的、解耦的和可解釋的。
評估
研究表明我們的解耦的結構化場景表徵和符號執行引擎具有以下優勢。首先,我們的模型可以基於少量訓練數據進行學習,並且其表現也優於當前最佳的方法,同時還能準確地恢復隱含程序。第二,我們的模型能夠很好地泛化用於其它問題類型、屬性組合和視覺環境。
表 1:我們的模型(NS-VQA)在 CLEVR 上的表現優於當前最佳的方法並且達到了接近完美的問答準確度。用於預訓練我們的模型的問題-程序對是從該數據集的 90 個問題系列中均勻選取的:90、180、270 programs 分別對應於從每個問題系列取 1、2、3 個樣本。(*):在所有程序標註上訓練得到(700K)。
圖 3:在 CLEVR 上的定性分析結果。藍色表示正確的程序模塊和答案;紅色表示錯誤的。相比於 IEP 基準,我們的模型能夠穩健地恢復正確的程序。
圖 4:我們的模型表現出了很高的數據效率,同時也實現了當前最佳的表現並保持了可解釋性。(a)問答準確度隨預訓練所用程序數的變化情況;不同的曲線表示 REINFORCE 階段使用了不同數量的問答對。(c)問答準確度隨訓練的問答對的總數量的變化情況;我們的模型是在 270 個程序上預訓練的。
表 2:泛化到未曾見過的屬性組合和問題類型。(a)我們的圖像解析器在來自分割 A 的 4000 張合成圖像上進行了訓練,然後在 B 的 1000 張圖像上進行了微調。問題解析器僅在 A 上從 500 個程序開始進行了訓練。基準方法在來自 B 的 3000 張圖像加 30000 個問題上進行了微調。NS-VQA+Gray 在圖像解析器中採用了一個灰度通道來進行形狀識別,NS-VQA+Ori 使用了一個在來自 CLEVR 的原始圖像上訓練的圖像解析器。(b)在不同的訓練條件下,我們的模型在 CLEVR-Humans 上都優於 IEP。
本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。
TAG:機器之心Synced |