論文筆記之: Recurrent Models of Visual Attention


Recurrent Models of Visual Attention

Google DeepMind

 

  模擬人類看東西的方式,我們並非將目光放在整張圖像上,盡管有時候會從總體上對目標進行把握,但是也是將目光按照某種次序(例如,從上倒下,從左到右等等)在圖像上進行掃描,然后從一個區域轉移到另一個區域。這么一個一個的區域,就是定義的part,或者說是 glimpse。然后將這些區域的信息結合起來用於整體的判斷和感受。

  站在某個底層的角度,物體的顯著性已經將這個物體研究的足夠透徹。本文就是從這些東西上獲得了啟發,提出了一種新的框架,即:應用神經網絡,基於 attention 任務驅動的視覺處理系統。本文模型考慮到一個視覺場景基於attention的處理看做是一個控制問題(a control problem),並且可以應用到動態圖像,視頻,或者處理動態視覺環境,像機器人,或者能夠打游戲的agents。

  這個模型是一個 recurrent neural network(RNN),按照時間順序處理輸入,一次在一張圖像中處理不同的位置,逐漸的將這些部分的信息結合起來,來建立一個該場景或者環境的動態間隔表示。並非馬上處理整張圖像甚至bbox,在每一個步驟中,模型基於過去的信息和任務的需要選擇下一個位置進行處理。這樣就可以控制模型的參數和計算量,使之擺脫輸入圖像的大小的約束。這里和CNN有明顯的不同。我們就是要描述這么一個端到端的優化序列,能夠直接訓練模型,最大化一個性能衡量,依賴於該模型在整個任務上所做的決策。利用反向傳播來訓練神經網絡的成分和策略梯度來解決 the non-differentiabilities due to the control problem。

 

  RAM:The Recurrent Attention Model

  本文將 attention problem 看做是目標引導的序列決策過程,能夠和視覺環境交互。在每一個時間點,agent 只能根據有帶寬限制的感知器來觀察全局,即: it never senses the environment in full. 他只能在一個局部區域或者狹窄的頻域范圍進行信息的提取。The agent 可以自主的控制如何布置感知器的資源,即:選擇感知的位置區域。該agent也可以通過執行 actions 來影響環境的真實狀態。由於該環境只是部分可觀察,所以他需要額外的信息來輔助其進行決定如何行動和如何最有效的布置感知器。每一步,agent 都會收到獎勵或者懲罰,agent 的目標就是將獎勵最大化。

 

  1. Model

  

  Sensor:

  在每一個步驟t,該agent 接收部分觀察,沒有處理全幅圖像的權限,但是可以通過感知器 ρ 來提取從xt 得到的信息。假設從 Lt-1 提取的類似視網膜表示 ρ(xt, lt-1) ,該表示比原始圖像 x 維度較低,我們稱之為 glimpse。有一個叫 glimpse network  fg 的網絡結構包含 glimpse sensor 來產生 glimpse feature vector gt,像上圖B所示。

 

  Internal state:

  The agent 保持一個間隔狀態,用來總結從過去觀察得到的歷史信息。The internal state 由RNN的隱單元 ht 構成,隨着時間利用 core network進行更新,該網絡的額外輸入是: the glimpse feature vector gt.

 

  Actions

  每一步,agent 執行兩個步驟:

    1. 通過感知控制 lt 來決定如何布置感知器;

    2. 一個可能會影響環境狀態的環境動作 at 。

 

  Reward:

  在執行一個動作之后,agent會收到一個環境中得到的新的視覺觀察 xt+1 和 一個獎勵信號 rt+1。在目標識別場景中,如果分類正確,就獎勵1分,否則獎勵就設置為0.

  

  以上就是Partially Observable Markov Decision Process (POMDP) 的一種特殊示例。

 

 


  2. Training

  總結下,可以看出整個pipeline 有三個小網絡,即: the glimpse network, the core network, and the action network。我們的訓練目標就是學習到一種策略使得總的獎勵達到最大。

  最大化 J 實際上是不容易的,因為這涉及到高維聯系序列的期望,將這個問題看做是 POMDP, 然而,允許我們從RL的技術角度來解決該問題,即:一個樣本近似的方法來逼近梯度:

  

  整體結構,引用下這個博客上的一個插圖鏈接:http://www.cosmosshadow.com/ml/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/2016/03/08/Attention.html#_label2_3

  

  基於 Torch 的實現代碼:

  https://github.com/Element-Research/rnn/blob/master/examples/recurrent-visual-attention.lua

   


 

    總結

  我覺得作為將強化學習和深度學習結合的先鋒者,google deepmind 在這方面做的還算不錯,論文的motivation 很自然,具體深度學習流程的設計也是比較合理的,其實我就有一個問題:

  ------------------------------

  更新一個網絡架構的示意圖:

  

  那么,可以看出,attention model 的輸入是一個圖像,那么根據任務的需要,可以輸出一系列的圖像 patch,即 attention region,僅僅對這些圖像patch 進行處理,一方面可以減少非必要信息的干擾,降低噪聲的影響,然后還可以減少計算量. 

 

  

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM