李飛飛等提出新的迭代視覺推理框架,在ADE上實現8.4 %的絕對提升

AI科技大本營發表於2018-04-01


譯者 | 樑紅麗 張蔚敏

編輯 | 明 明

出品 | AI科技大本營(公眾號ID:rgznai100)


【AI科技大本營導讀】近日,陳鑫磊、李佳、李飛飛、Abhinav Gupta等提出了一種新的迭代視覺推理框架。該框架超越了目前缺乏推理能力的識別系統。該框架包括兩個核心模組:一個區域性模組,用空間記憶來儲存之前並行更新的認知;一個全域性的圖推理模組。相比普通的卷積網路( ConvNets ),新的模型效能表現更優越,各類的平均精度在 ADE 上有 8.4% 的絕對提升,在 COCO 上實現了 3.7 % 的絕對提升。分析還表明,該推理框架對當前區域分割方法造成的區域缺失具有很強的適應性。

以下內容來自 Iterative Visual Reasoning Beyond Convolutions 論文,AI 科技大本營翻譯:

這篇文章中,我們提出了一個可以同時用於空間和語義推理的生成框架。與現在只依賴於卷積的方法不同,我們的框架可以從以知識庫為形式的結構化資訊中學習,進行視覺識別。我們的核心演算法包含兩個模組:區域性模組,基於空間記憶,用 ConvNets 做畫素級推理。通過並行記憶更新,我們的執行效率得到很大提高。

此外,我們引入了全域性模組進行局域外的推理。在全域性模組中,推理是基於圖模型展開的。它有三個組成部分:a)一個知識圖譜,我們把類當做結點,建立邊來對它們之間不同型別的語義關係進行編碼;b)一個當前影像的區域圖,圖中的區域是結點,區域間的空間關係是邊;c)一個工作分配圖,將區域分配給類別。利用這種結構的優勢,我們開發了一個推理模型,專門用於在圖中傳遞資訊。區域性模組和全域性模組迭代工作,交叉互遞預測結果來調整預期。

需要注意的是,區域性模組和全域性模組不是分離的,對影像的深刻理解通常是先驗的背景知識和對影像的具體觀察間的折中。因此,我們用注意力機制聯合兩個模組,使模型在做最終預測時使用相關性最大的特徵。

我們的框架比普通的 ConvNets 表現更好。例如,框架在 ADE 測試得到的各類平均精度有 8.4% 的絕對提升,而加深網路卻只能提高 1%。



圖2:推理框架概覽。除做預測的普通ConvNets外,框架有兩個模組進行推理:一個區域性模組(Sec. 3.1),用空間記憶Si,並用另一個ConvNet C推理;一個全域性模組(Sec. 3.2),將區域和類作為圖中的結點,通過傳遞結點間資訊進行推理。兩個模組接收高層和中層的整合資訊,交叉互遞認知來迭代地工作。最後的預測通過注意力機制整合所有預測結果來生成。

Reasoning Framework(推理框架)

在這部分,我們建立推理框架。除 ConvNet 的普通預測 p0 外,它由兩個模組通過推理做預測。第一個是區域性模組,用空間記憶儲存先前並行更新的認知,仍屬於以卷積為基礎的推理(Sec. 3.1)。除卷積之外,我們的關鍵部分是作為圖中結點直接在區域和類別間推理的全域性模組(Sec. 3.2)。兩個模組都通過迭代展開估計(Sec. 3.3),認知在模組間交叉互遞。最後我們取兩模組之長,用注意力機制從所有迭代中整合預測結果(Sec. 3.4),用聚焦於硬示例(圖2)的樣本重新加權來訓練模型(Sec. 3.5)。

3.1 Reasoning with Convolutions(用卷積進行推理)

我們第一個建立的區塊——區域性模組,由文章啟發。在較高層面來看,這一想法是用空間記憶S來儲存檢測到的目標物,儲存地點就在目標物被檢測到時所在的位置。S是三維張量,高度H和寬度W為影像縮減後的尺寸(1/16),深度D(=512)將記憶的每個單元c作為向量,儲存當前位置可能有用的資訊。

S通過高層和中層特徵來更新,高層儲存有關估計的類別標籤資訊。但是,只知道類別並不理想,更多關於形狀、姿態等的細節資訊在其他物體檢測時大有用處。例如,預先知道一個“人”打網球的姿勢,會對識別“網球拍”大有幫助。本文中,我們在softmax啟用前用logits f,結合底部卷積層h的特徵圖來補給記憶。

給定一個待更新的影像區域r,我們要先從底層提取相應特徵,用雙線性插值將其調整為預定大小(7*7)的方陣h。因為高層特徵f是覆蓋整個區域的向量,所以我們將其附加在所有位置(49個)。用兩個1*1的卷積核來提取特徵併為r生成輸入特徵fr。記憶S中的相同區域也提取出來,調整為7*7,標註為sr。這一步後,我們用卷積門遞迴單元(GRU)來寫出記憶:

其中,s′r 是 r 更新後的記憶,u 是更新後的門,z 是重置門,Wf,Ws 和 b 分別是卷積的權重和偏置,○ 是 entry-wise 矩陣內積,σ(⋅) 為啟用函式。更新後,s′r 通過再提取和尺寸調整放回到S。

前期的研究工作將序列更新到記憶。但是,序列推斷低效且 GPU 密集,這限制其每張影像只能有 10 個輸出。本文提出用並行更新區域作為近似。在交疊情況下,一個單元可以由不同區域覆蓋多次。將區域放回至S時,我們也計算權值矩陣 Γ ,矩陣中,對於每一個入口 yr,c∈[0,1] 記錄了區域 r 對記憶單元 c 的貢獻率:1 表示單元被區域完全覆蓋,0 表示沒有覆蓋。更新後的單元的終值是所以區域的加權平均。

實際的推理模組為一個ConvNet C,由三個 3*3 的卷積核和兩個 4096D 的全連線層組成,以 S 為輸入,在接受域的局地窗間建立連線關係來進行預測。因為影像的二維結構和位置資訊儲存在 S 中,所以,這樣的結構對於空間推理關係非常有用。

圖3:用多種邊在圖中直接傳遞資訊的圖解。這裡,四個結點連線兩個型別的邊,每個結點表示一個輸入特徵向量mi(集合為M)。權值矩陣Wj學習為邊型別j來轉換輸入量。之後連線矩陣Aj用來向關聯結點傳遞資訊。最後,通過累計所有的邊型別並使用啟用函式生成輸出G。

3.2 Beyond Convolutions(卷積之外)

我們的第二個模組採用的是對全域性推理進行卷積操作而不是針對區域性區域進行的。這裡的“global”全域性有兩個含義。首先從空間角度來講,我們希望讓更遠的區域也可以彼此直接進行資訊交流,而不受推理模組C的接受域的限制。其次從語義層面來說,我們希望可以充分的利用視覺知識庫,它可以提供跨影像的全域性真實的類間關係( 比如常識類資訊 )。為了實現以上兩個層面的推理,我們構造了一個圖G = ( N,E ),其中N和E分別為節點集和邊集。在N中定義了兩種型別的節點: R區域的區域節點N,和C類的類節點Nc。

對於E,在節點之間定義三組邊。首先,對於Nr來說,我們使用空間圖來編碼區域( Er→r )之間的空間關係。設計多種型別的邊來表徵相對位置。我們從諸如“左/右”、“上/下”之類的基本關係開始,並且通過測量兩者之間的畫素級距離來定義邊緣權重。需要說明的是,我們並不是直接使用原始距離x,而是使用核κ( x ) = exp ( - x /δ)(其中δ= 50代表頻寬)將其歸一化為[ 0,1 ],這樣可以使得越接近的區域相關程度越高。然後直接在圖的鄰接矩陣中使用邊緣權重。此外,為了能夠有效的解決區域重疊時的分類問題,我們也把用於編碼覆蓋模式的邊( 例如IoU intersection over union, )包含在了其中。

第二組邊是位於區域和類之間的集合,即決定一個區域是否屬於某一類。這些邊緣的作用是,將資訊從一個區域傳播到另一個類別( er→c )或從一個類別反向傳播到另一個區域( EC→r )。我們採用soft-max值p來定義連線到所有類別的邊緣權重,而不是僅僅計算連線到可能性最高的那一類。這樣做是希望它能提供更多的資訊,並且提高對錯誤分類的魯棒性。

第三組邊是使用知識庫中的語義關係構造類間( Ec→c )關係的集合。同樣,這裡可以包括多種型別的邊。經典的例子有“is-kind-of”( 例如 “蛋糕”和“食物”)、“is-part-of”(例如“車輪”和“汽車”)、“相似性”( 例如“豹”和“獵豹”),其中許多都是普遍正確的,因此可以被認為是常識。這種常識可以是人工列出的或自動收集的。有趣的是,即使是這些以外的關係(例如“行為”,“介詞”)也可以幫助識別。以“人騎自行車”為例,這顯然是一種更加具體形象的關係。然而,由於對“人”和“自行車”這兩類的識別準確度不夠高,那麼從兩者之間的“騎行”的關係以及他們的空間位置出發,則可以幫助我們對這一區域進行更好的推理。為了研究這兩種情況,我們在本文中嘗試了兩種知識圖譜:一種是內部建立的,大部分是常識邊,另一種則是大規模積累的更多型別的關係。有關我們實驗中所使用的圖,請參閱4.1,那裡會對這一部分工作進行更詳情的介紹。

接下來,我們來看一下基於圖的推理模組r。作為圖的輸入,我們使用Mr∈RR×D來表示來自所有區域節點Nr組合的特徵,其中D ( = 512 )是特徵通道的數目。為了方便表示,對於每個類節點NC,我們選擇現成的字向量作為表示,記為Mc∈RC×d。然後我們對文獻[ 42,35 ]的工作進行了擴充套件,並直接在G上傳遞訊息(見圖3 )。需要注意的是,因為我們的最終目標是為了能夠更好地識別區域,所以所有的類節點都只是中間表示,為的是能夠更好地表示區域。基於此,我們設計了兩種推理路徑來學習輸出特徵Gr :僅包含區域節點的空間路徑:

其中Ae∈Rr×r是邊緣型別e的鄰接矩陣,We∈rd×d是權重(為了簡單起見,忽略了偏置)。第二個推理路徑是通過類節點的語義路徑:

在這裡,我們首先通過Aer→c和Wer→c將區域對映到類,將中間特徵與類特徵Mc相結合,然後在類之間聚集來自多種型別邊緣的特徵。最後,通過合併這兩條路徑來計算區域Gr的輸出:

其首先將語義資訊傳播回區域,然後使用非線性啟用(參見圖4 )。

與卷積濾波器一樣,上述路徑也可以堆疊,其中可以經過另一組圖形操作輸出Gr,從而允許框架執行具有更深特徵的聯合空間語義推理。在輸出被反饋用以進行預測之前,我們在R中使用了具有殘差連線的三個操作棧。

圖4 :在我們的全域性推理模組r中使用的兩個推理路徑。以區域和類輸入Mr和Mc為例,空間路徑直接傳遞具有區域到區域邊緣 Er→r 的區域圖中的資訊,而語義路徑首先將區域分配給具有 Er→c 的類,然後將資訊傳遞給具有類到類邊緣Ec→c 的其他類,然後傳播回來。組合最終輸出以生成輸出區域特徵 Gr

3.3 Iterative Reasoning(迭代推理)

推理的一個關鍵要素是迭代地建立估計。但是資訊是如何從一個迭代傳遞到另一個迭代的呢?我們的答案是顯式記憶體,它儲存之前迭代的所有歷史記錄。本地模組使用空間儲存器S,全域性模組使用另一無空間結構的儲存器M。對於第i次迭代,Si之後是卷積推理模組C,以生成每個區域的新預測fli。類似地,全域性模組還給出來自R的新預測fgi。這些作為高階特徵的新的預測可以用於對儲存器Si + 1和Mi + 1進行更新。新的記憶將帶來fi + 1輪更新,以此類推。

雖然可以單獨進行區域性和全域性推理,但這兩個模組協同工作時的效果是最好。因此,我們希望在生成預測時加入兩個模組的結果。為此,我們引入了cross-feed 連線。在完成推理後,將區域性特徵和全域性特徵連線在一起,利用GRU更新Si + 1和Mi + 1兩個儲存單元,這樣,可是使空間儲存單元能夠從空間和語義關係的全域性知識中受益,並且圖能夠更好地理解區域性區域的佈局。

3.4 Attention(注意力機制)

受到文獻attention模型的啟發,我們對模型輸出進行了一次修改。具體來說,模型必須產生“attention”值來表示,當前預測與來自其它迭代或模組的預測的相對置信度,而不是僅僅是產生分數f。從而融合輸出是使用“attention”的所有預測的加權版本。在數學上,如果模型展開I次,並且輸出N = 2I + 1 (包括I個區域性、I個全域性和1個普通的ConvNet網路)預測fn,使用注意(attention)an,則最終輸出f計算為:

需要注意的是,這裡fn是soft-max之前的logits,被啟用以後產生pn。

“attention”的引入使模型能夠智慧地從不同的模組和迭代中選擇最可行的預測。

3.5 Training(訓練)

最後,對整個框架進行端到端的訓練,總損失函式包括: 

a )普通ConvNet損失L0;

b )本地模組損耗Lli;

c )全域性模組損耗Lgi;

d ) 包含注意(attention)的最終預測損失Lf。

由於我們希望推理模組更多地關注較難的示例,因此我們建議根據以前迭代的預測,簡單地對損失中的示例進行重新加權。具體的,對於迭代I≥1時的區域r,兩個模組的交叉熵損失計算為:

其中pi ( r )是ground-truth類的soft-max輸出,β∈[ 0,1 ]控制權重分佈的熵:當β= 1時,它是均勻分佈;當β= 0時,熵最小。在我們的實驗中,β設定為0.5。P1 ( r )用作沒有反向傳播的特徵。對於本地和全域性來講,P0 ( r )是來自普通卷積神經網路(ConvNet)的輸出。

總結

我們提出了一種新的迭代視覺推理框架。 除了卷積之外,它還使用圖來編碼區域和類之間的空間和語義關係,並在圖上傳遞訊息。與普通ConvNets相比,我們的效能表現更加優越,在ADE上實現了8.4 %的絕對提升,在COCO上實現了3.7 %的絕對提升。分析還表明,我們的推理框架對當前區域分割方法造成的區域缺失具有很強的適應性。

論文連結:https://arxiv.org/abs/1803.11189




相關文章