1. 程式人生 > >論文筆記 Learning Visual Knowledge Memory Networks for Visual Question Answering (CVPR2018)

論文筆記 Learning Visual Knowledge Memory Networks for Visual Question Answering (CVPR2018)

這篇文章的一個出發點也是希望VQA裡面的視覺內容與人的結構化知識相聯絡起來,提出了一種visual

knowledge memory network (VKMN)來將結構化知識與視覺特徵融合進端對端的學習框架。在經典VQA

資料集VQA v1.0與v2.0上在與知識推理相關的問題上取得不錯效果。

在這裡插入圖片描述

對於上圖這樣一個VQA範例,在視覺內容中並不存在Monkey這樣一種視覺物件,其需要外部知識來進行演

繹或者推理(deduction/reasoning)。
這裡寫圖片描述
這裡寫圖片描述

方法:

(1)Encoding of Image/Question Inputs

這兒值得關注的是其利用了MLB方法中的low-rank bilinear pooling對視覺特徵與文字特徵進行融合,對於

其它跨媒體問題也有一般性。

(2)Knowledge Spotting and Sub-graph Hashing

這裡寫圖片描述

對於給定question,分析出相關實體與屬性,基於其構造的知識庫進行實體擴充套件,形成如上所示的triplet

關係群,作為Knowledge facts。

(3)Visual Knowledge Memory Network

對於triplet < s

r t &gt; &lt;s,r,t&gt; ,(即<主體,關係,客體>),構造Key-value這樣的鍵值對,因為VQA不確定對

s

, r , t s, r, t 中的哪一部分提問,故 ( s , r ) (s, r) ( s , t ) (s, t) ( r , t ) (r, t) 都可做為key,然後分別對key與value進行編碼。

這篇文章的memory機制的流程比較直觀與形象,簡述如下:

對於一個query(這在記憶機制中是個很關鍵的一點,很多非QA的問題,如果能很好地定義query也可引

入記憶機制,比如可往跨媒體檢索上面引),其與memory中的主鍵key進行相似度比較,然後進行value

的讀取,進行問題的回答。

Knowledge base:

本文自身構造了一個visual knowledge base,即知識條目triplet的構造其主要有兩種來源:

(1)從VQA v1.0中question與answer這樣的pair中抽取 。

(2)直接從現有的Visual Genome Relationship(VGR)中獲得knowledge triplet,通過這兩種方式構造自

己的視覺知識庫。

這篇文章的一些不足:

(1)雖然涉及memory的讀,但我發現其並沒有寫機制。

(2)triplet的擴充套件。該文是基於question中的實體與屬性,繼而在知識庫中進行關聯擴充套件,對於VQA中

視覺資訊的利用,該文僅僅只是提影象全域性特徵,其實另外一方面可以對圖片進行屬性/目標提取,與

前者question中分析出的概念共同作為query,來形成更為豐富與完備的知識條目。

實驗結果

baseline

這裡寫圖片描述

VQA 1.0

這裡寫圖片描述

VQA 2.0

這裡寫圖片描述

視覺化

這裡寫圖片描述

參考原文:Learning Visual Knowledge Memory Networks for Visual Question Answering