今天小編要介紹這個月初DeepMind提出的Relation Network(以下簡稱RN)。RN在Relational Reasoning的一些相關任務上達到了SOTA,且模型架構本身簡潔且具備相當大彈性,使其能像插件一樣整合在不同基本模型(Ex CNN)應用在不同任務上。在介紹RN之前首先要介紹什麼是Relational Reasoning。 和一般的單純影像辨識不同的是:要回答上面這個問題需要多重的推理。首先找到藍色柱子,再來比較其他物件和藍色柱子的大小,最後辨識出這個物體的顏色。一般來說,這種需要透過多重推理才能達到結果的過程我們把它稱為Relational Reasoning。 在DeepMind之前解決這種問題通常是用Neural Module Network(NMN)[1]及其延伸[2],NMN的主要概念如下圖:
上圖中每一個藍色的方框都是一個NN的Network,每一個有負責其中一部份的推理。但在訓練的過程中不會把每一個sub nn network分開來train(Ex 不會給標籤然後特別去train find blue這個Sub NN),而是在訓練大NN的過程中自動去學會如何去調用、更新每個Sub NN的Weight。但這個做法缺乏彈性因為Module layout的設計都是Handcraft的不容易有效generalize到其他task上,這部分在[2],[3]上有用不同方法去進一步去學習predict module的layout,但是架構還是相對於RN還是複雜的。 而DeepMind提出的RN且只有一個數學式子,且在VQA上達到了SOTA: 其中f,g為Multiple Layer Perceptron(MLP),而o為物件。這裡的物件其實沒有特別定義是什麼東西,因此賦予了RN相當大的彈性。在這篇Paper裡object有影像和文字兩種型態。直覺上來說,g的輸出是兩個物件之間的關係的一個分數,f則是把這個分數mapping到對應的description。以上面的例子為例: g就是用來比較哪一個東西跟藍色柱子是同樣大小,而f就是去描述跟藍色柱子同大小物件的顏色。因為是在QA的情境,所以作者在每一個object pair中多append了一個Question的Feature在後面(圖中灰色),這個是把Question輸入LSTM encode後得到。作者總共做了3個實驗來測試RN的性能。 三個實驗分別為:VQA (CLEVER), VQA(SORT-OF-CLEVER),bAbI,因為VQA(CLEVER)這個任務是之前許多模型表現不好的地方,所以我們僅舉VQA(CLEVER)做介紹。
CLEVER這組DataSet是包含以下圖片和問題的敘述的資料,其中敘述又分Non-relational和Relational兩種如下圖,模型的任務就是要根據這些圖片來回答問題。 其結果和其他baseline的模型比較如下:
可以看到DeepMind的方法(CNN+LSTM+RN)勝過其他的baselines,甚至超越人類的結果。作者也表示其結果也超越[2]且和[3]打平,更多的實驗請參考原始paper。
雖然這篇Paper用簡單的架構達到很好的效果,但是有一個問題是他目前缺乏像[1,2,3]具備良好的解釋性(Explainability),比較像個黑盒子。小編覺得如果能夠像[1,2,3] Visualize NN內部裡面到底看了什麼來做到inference,這篇Paper的說服力會更強。
相關資源
Reference [1]Andreas et.al.”Neural Module Network” CVPR 2016(arxiv) [2]Hu et.al. “Learning to Reason: End-to-End Module Networks for Visual Question Answering” (arxiv) [3]Johnson et.al. “Inferring and Executing Programs for Visual Reasoning” (arxiv) |
|