視覺注意力的循環神經網絡模型

Recurrent Models of Visual Attention(RAM)

摘要

在大量圖片上使用深度卷積網絡的計算量隨着圖片像素的增加而線性增加。本文提出一個循環神經網絡模型,能夠選擇性地從圖片或視頻中提取一系列的區域位置,使其有很高的像素,而區域之外的像素很低,實驗過程中只對高像素區域進行處理。和卷及神經網絡一樣,循環神經網絡具有平移不變性,但其計算量與圖片大小無關。由於所提模型是不可微分的,所以使用強化學習得到基於任務的策略。模型用於手寫數字分類,能夠得到比卷積神經網絡更好的效果,同時在一個動態視覺控制遊戲中,模型也能取得很好的控制效果。

背景介紹

面對整個場景時,人類是有選擇地分配注意力的,聚焦不同的區域,並將信息整合以得到整個空間的視覺表達,進而指導後面的眼球運動及策略制定。這樣能夠過濾掉無用信息,將與任務相關的物體放在視野中心。對於視覺注意力的研究一般基於低級的視覺特徵及自下而上的過程(比如視覺顯著圖,見我的博客),但任務導向也是視覺注意力的重要特徵。我們將基於注意力的視覺處理過程當成一個控制任務,使其能夠應用於靜態圖,視頻,或一個與動態場景實時交互的Agent模塊,比如移動機器人。

本文描述了一個端對端(end-to-end)的優化過程,使得模型在一個任務下直接得以訓練,並且基於模型在整個時間序列上的決策優化其性能。該過程使用反向傳播法訓練神經網絡的參數,用強化學習中的策略梯度解決控制問題中的不可微問題。

循環注意力模型(The Recurrent Attention Model,RAM)

本文中我們將注意力問題看成是與視覺環境交互的agent基於目標的一系列決策過程。在某一時間點,agent通過限制帶寬(視野大小)的傳感器觀察場景,並提取局部區域的信息,該agent能夠:1)控制傳感器放置區域,2)也能夠通過執行動作影響環境狀態。隨時間推移,將局部信息整合,爲更有效地放置傳感器提供決策輔助,每一步,agent都將得到一定數量的獎勵(基於agent行爲效果),agent的目標就是最大化總的獎勵(reward)。具體地,在一個遊戲場景中,agent動作對應着遊戲杆的操作,而獎勵對應着分數。

模型如下圖,模型解釋見圖下面的英文









 是:隨機搜索法

居中數字訓練:我們用上述的訓練方法成功學習了一個glimpse策略,在MNIST手寫字數據集上,用它訓練最多7次glimpse的RAM模型,傳感器大小爲8*8,只能提取數字的部分信息,我們要驗證其組合部分信息的能力。我們還訓練了一個標準的反饋神經網絡,它包含兩個隱層,每個256個線性轉換單元,輸出作爲基準值(baseline)。不同模型在測試集上得到的誤差率見下表1a,當有6次glimpse的時候,RAM模型的正確率就差不多和傳統的在28*28圖片上訓練的兩層全連接神經網絡(FC)相媲美了,這證明了RAM模型具備信息組合的能力。

非居中數字訓練:如果數字不在居中了,而是像圖2a中的那樣,可以在其他區域。表1b列出了不同模型在60*60圖片上的分類錯誤率,除了RAM模型和全連接模型(FC)我們還訓練了一個卷積神經網絡模型,卷基層有16個10*10 的濾波器(卷積核),步長爲5,後面跟着一個有256個變換單元(rectifier units)的全連接層。卷基網絡、RAM、全連接模型具有相同數目的參數。由於距安吉審計網絡具有平移不變性(translation invariance),所以它比全連接層的錯誤率小,爲2.3%左右,但4次glimpse的RAM模型的錯誤率與它相當,而6次和8次glimpse的RAM錯誤率基本達到1.9%,這可能是因爲RAM模型能夠將視野集中在數字上,學習一個平移不變的策略。該實驗說明RAM模型能夠成功地在一幅大圖片中找到不居中的物體。


雜亂的非居中數字訓練:一個挑戰性的工作是在有干擾的圖片中進行分類,除了要分類的數字外,還有其他的雜亂的圖形,這些圖形是從其他數字的圖片下提取的8*8的小塊,直接加入待分類圖片中。上圖2b是加入干擾的非居中數字圖片。該實驗爲了證明注意力機制能夠在複雜的環境下忽略不相關信息,而集中於相關部分。下表2a列出了各模型訓練60*60帶有4塊干擾小塊圖片的分類結果,爲了進一步驗證模型的效果,還在含有8塊干擾小塊的100*100圖片上進行了實驗,結果如表2b,RAM都能達到最低的錯誤率,且相比於60*60的圖片,其計算量並沒有增加,而卷積神經網絡模型的計算量卻線性增加了。


下圖中是學習的策略,空心圓圈是初始化的glimpse中心位置,實心圓圈是最終的glimpse中心位置,中間的glimpse位置用綠線連起來了。


動態環境:在一個控制策略遊戲中,使用了RAM模型,85%的時間都能達到控制效果,具體見原文。

總結

本文提出了一個全新的視覺注意力模型,循環神經網絡以一個glimpse窗口爲輸入,利用網絡的內部狀態選擇下一個聚焦的位置,並在動態環境中生成一個控制信號。儘管該模型是不可微的,所提統一框架使用一個策略梯度模型從像素到動作進行端對端(end-to-end)的訓練。RAM模型有以下兩個巨大的優勢: 1)計算量與輸入圖片像素大小沒有關係。 2)可以排除其他干擾,將視野放在相關物體上。而且模型本身比較靈活,可以控制glimpse的次數,改變採樣區域的大小使其適應各種大小的物體。

具體代碼實現見這篇博文,基於torch的代碼框架如下:


感覺基於注意力和記憶的計算機視覺是很有前景的研究方向。有沒有朋友想在github上開源基於其他深度學習平臺(caffe,MXNet)的,這篇文章的python實現版?對torch實在不熟悉啊...

Reference

1 Recurrent Models of Visual Attention, Volodymyr Mnih, Nicolas Heess, Alex Graves, Koray Kavukcuoglu.
2 http://www.cosmosshadow.com/ml/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/2016/03/08/Attention.html#_label2_3


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章