ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

機器之心發表於2019-05-14

論文:VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS

  • 論文作者:Wei Yang , Xiaolong Wang, Ali Farhadi , Abhinav Gupta, Roozbeh Mottaghi

  • 論文連結:https://openreview.net/pdf?id=HJeRkh05K

1. 研究問題

任務的具體目標是,以一個場景的隨機位置作為起點,僅依靠代理獲得的 RGB 影象,找到指定物體的類別。“目標物體類別”由一個語義標籤表示,因此這項任務也被稱為“視覺語義導航”(visual semantic navigation)。當目標物體類別的一個例項出現在視野範圍內,並且代理與物體例項的距離低於設定的閾值(threshold),便認為任務成功完成。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖1:任務(a):已知咖啡機(coffee machine)的位置,估計馬克杯(mug)的位置。黃色方框標出了代理(agent)估計的馬克杯位置為咖啡機上方的壁櫥(cupboard),此處用到的場景先驗(scene prior)為功能(funcional),即,馬克杯是配合咖啡機使用的,所以馬克杯應該放置於咖啡機附近。

任務(b):已知蘋果的位置,估計芒果(mango)的位置。黃色方框標出了代理(agent)估計的芒果位置為蘋果所在的冰箱(fridge),此任務中用到的場景先驗為語義(semantic),即,蘋果和芒果為同類物品,因此可能處於同一位置。

2. 什麼是場景先驗

論文作者在文中指出,場景先驗是“語義或是功能結構”。圖2 展示了利用知識圖譜 (knowledge graph) 表達物體間關係的兩個例子, 圖中的圓圈代表了一個物體類別 (object cateogry),也被稱為圖的一個節點(node)。節點之間的關係,用連線兩個節點的邊(edge) 表示。作者將出現在 AI2-THOR (Kolve et al., 2017) 環境中的所有物體類別都包含在了實驗中使用的知識圖譜,並通過計算 Visual Genome Dataset (Krishna et al., 2017) 兩個物體之間關係的出現數量,來判斷是否保留這種關係。只有當某種關係出現超過 3 次,兩個物體才會建立連線。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖2 : 利用知識圖譜表示場景先驗的兩個例子。 左圖中,馬克杯(mug) 與其他物體之間的位置關係,例如,馬克杯 “靠近(next to)” 咖啡機 (coffee machine), 馬克杯 “在(in)”壁櫥(cabinet)裡。

3.強化學習場景的基本組成

論文利用了一種深度深度強化學習模型,來解決所要研究的未知場景中的物體定位問題。在進一步瞭解論文提出的模型之前,我們不妨通過圖 3 簡要回顧一下強化學習場景中的基本組成。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖3: 一個典型的強化學習(Reinforcement Learning ,RL)場景:代理 (agent) 在環境(environment)中執行一系列動作(actions), 這些動作會被編譯(interpreted)成為獎賞(reward)和狀態(state),然後反饋給代理。

(來源:https://en.wikipedia.org/wiki/Reinforcement_learning#Deep_reinforcement_learning )

簡單的 “ 強化” (reinforcement) 可以被認為是一個馬爾可夫決策過程 (markov decision process):

  • 環境和代理狀態的集合,記為 S;

  • 代理的動作集合,記為 A;

  • 執行動作 a 時, 狀態由 s 變成 s’ 的概率:

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

  • 通過執行動作 a, 狀態由 s 變成 s’ 以後,獲得的即時回報(immediate reward):ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

此外,代理選擇動作的過程,被構造成一張被稱為”策略”(policy)的圖(map)。策略圖給出了代理處於狀態 s 時,執行動作 a 的概率。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

4. 基於深度強化學習的模型

為了解決在未知場景定位新物體的問題,論文作者提出了一個基於深度強化學習的模型,圖 4 展示了該模型的結構。

4.1 視覺網路(visual network)

如圖 4(頂層)所示,視覺網路將以 224x224 大小的 RGB 影象作為輸入,然後輸出 521 維的特徵矩陣。視覺網路的主幹選用了已經在 ImageNet 上進行預訓練的ResNet-50 (He et al., 2016)。 具體的來說,作者在 ResNet-50 的全域性平均池化(global average pooling)過程後,提取了 2048 維的特徵。而為了記錄代理執行的動作歷史,當前影象幀,以及前三幀的所有特徵將被串聯(concatenated),得到2048x4=8192 維的特徵矩陣。最後,被串聯的影象特徵通過全連線層(fully-connected layer) 以及 ReLU 層,對映得到 512 維的視覺-語義特徵。

4.2 語義網路(semantic network)

語義網路將目標物體,用物體型別進行描述。圖 4 中目標物體是“電視機”(television)。 論文作者利用 fastText (Joulin et al., 2016)為每個英文單詞計算出,一個對應的 100 維單詞嵌入(embedding)。如圖 4(中層)所示,這些單詞嵌入將通過一個全連線層和 ReLU,被影射為一個 512 維的特徵(向量)。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖4:模型結構圖。

在實際的語義導航(semantic navigation)任務中, 知識圖譜中的每個節點(物體類別),均由語義提示(semnatic cues, 例如單詞嵌入),以及視覺提示(visual cues,如當前狀態的圖片分類得分)聯合表示。具體來說,單詞嵌入由 fastText 產生, 而分類得分,則由經過 ImageNet 資料集(擁有1000個影象類別)預訓練的ResNet-50 網路產生。 值得注意的是, 分類得分基於影象幀的當前狀態,而針對不同的圖譜節點(物體類別),模型將使用不同的單詞嵌入。 語義提示與視覺提示,被兩個不同的全連線層,分別對映成為 512 維的特徵向量。512 維的語義和視覺特徵向量隨後被串聯,並形成一個 1024 維的聯合向量,用於表示圖譜中每一個節點。

4.3 圖卷積網路(graph convolutional networks ,gCNs)

如圖 5 所示,論文提出的模型使用了三層 GCN,第一、二層 將輸出 1024 維的隱含特徵(latent features),第三層則針對每一個節點輸出一個數值,並最終形成一個|V|維的特徵向量(V為節點的總數)。 這個特徵向量本質上是,當前場景和環境下的語義先驗編碼 (encoding of semantic prior)。

最後,模型將視覺、語義以及 GCN 三個分支串聯,併產生 512x3=1536 維的特徵向量。 這個 1536 維的向量將被輸入到下文將要介紹的策略網路中,用於策略的預測。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖5: 圖卷積網路(Graph, Convolutional Network, GCN)

4.4 執行者-評論員策略網路(actor-critic policy network)

論文提出的模型採用了“非同步優勢動作-評論” (Asynchronous Advantage Actor-Critic, A3C) 模型 (Mnih et al., 2016),來預測每個時間戳的策略(即,狀態到動作的對映)。A3C 模型的輸入為,上文提到的“視覺網路”、“語義網路”以及 GCN 分支的聯合表示 (joint represenation),即,由三個網路的輸出串聯而成的 1536 維特徵向量。 A3C 模型最終將產生兩個輸出:策略 (policy) 以及評價分數 (value)。最後,處於某個時間戳的代理將要執行的動作,則會通過取樣(sampled)從預測的策略中得到。與現有的工作不同(如 Zhu et al. (2017), 對於不同場景使用不同的策略網路),論文提出的模型,針對不同的場景,採用同一種策略網路,使得這種模型更加精簡以及具有通用性。

4.5 回報函式(reward)

獎賞是用於激勵代理尋找通向目標物體的最短路徑: 如果在指定步數內找到了目標物體類別中的一個例項(如目標物體為“微波爐”,在指定步數內找到任意一臺微波爐,則視為成功完成任務),代理將獲得 10.0 的正面回報(target reward)。否則,總步數一旦超出指定步數,代理將獲得每步 -0.01 的負面回報 (negative reward)。

回報函式的設計會受到代理動作型別的影響,論文作者在實驗中,使用兩組動作型別,分別是“具有停止操作”,已經“不具有停止操作”:(1)在“不具有停止操作”的設定中,當環境告知代理已經找到指定物體後, 代理將獲得正面回報,並同時終止訓練過程;(2)而在“具有停止操作”的設定中,只有當執行“停止”動作時,訓練過程才會終止。而代理只有在正面距離目標 1 米及以內時,才能獲得獲得正面回報,這種設定較前一種更具挑戰性。

5. 實驗結果

論文作者在 AI2-THOR 對提出的模型進行了驗證。AI2-THOR 提供了 4 個類別(廚房、客廳、臥室,以及洗手間),共 120個 場景的圖片。每一個類別均有 30個 外觀及陳設不同的房間,在實驗中,作者將每一個型別分為 3 組,即,20 個房間用於訓練 (training),5 個用於驗證 (validation),5 個用於測試 (testing)。

5.1 定性分析

論文作者在附錄 a 中提供了用於測試模型的具體場景型別、參與訓練的物體,以及用於測試模型的目標物體,表 1 摘錄了其中兩個場景型別,分別是廚房(目標物體為馬克杯、蘋果、微波爐以及吐司機)、客廳(目標物體為掛畫以及雕像)。

表 1: 實驗中使用的場景(房間)型別,參與訓練的物體,以及用於測試模型的目標物體。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖 6 則展示了在廚房和客廳兩個場景中,使用“具有停止操作”設定時(見上文 4.5 節的介紹),代理停止前的最後八個影象幀以及對應動作(如,前進forward,右轉 turn right,右轉 rotate right 終止 terminal,等等)。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

圖6:使用“具有停止操作”設定時,代理在廚房(kitchen)尋找“吐司機”(toaster),以及在客廳(living room)尋找“掛畫”(painting)的過程。每個場景均展示了代理在停止前的最後8個影象幀,以及相應的動作。

5.2 定量分析

作者使用了 Anderson et al. (2018a) 中提出的兩個評估指標,分別是成功率(success rate)和 SPL 值(Success weighted by Path Length, SPL)。

成功率 = 代理成功找到目標物體的次數 / 訓練的總節數 ,而 SPL 則兼顧考慮了(1)成功率 一極 (2)從起點出發找到目標物體的路徑長度。SPL 的正式定義如下:

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

其中,N 是訓練的節數(episodes),S_i 是一個標記成功與否的二元符號(0和1),P_i指的是路徑長度,而L_i則是訓練節數為i時,由環境提供的最短路徑長度。

表2: 使用“具有停止操作”設定時,模型在四個場景(從左至右依次為:廚房、客廳、臥室、洗手間)取得的實驗結果,即 成功率/SPL 值。此外,表格的最後一列為每行的成功率平均值 /SPL 平均值。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

表3 :使用“不具有停止操作”設定時(這一設定較表 2 的設定難度低),模型在四個場景(從左至右依次為:廚房、客廳、臥室、洗手間)取得的實驗結果,即成功率/SPL 值。此外,表格的最後一列為每行的成功率平均值 /SPL 平均值。

ICLR 2019 | 騎驢找馬:利用深度強化學習模型定位新物體

表 2 和表 3 分別展示了,使用 2 個不同的回報函式設定時,論文提出的模型所取得的實驗資料。實驗結果顯示,模型在訓練中未見過的場景(unseen scenes)中,能夠找到全新的目標物體(novel objects)。此外,該模型同時也與 random (即,在每一個時間戳,代理始終從動作集中隨機選擇一個動作)和 A3C 這兩種方法進行了比較。

6. 結語

論文提出了一個通過知識圖譜(knowledge graph)整合語義(semantic)與功能(functional)先驗知識,並基於深度強化學習的模型,用於解決“視覺語義導航”(visual semantic navigation)這一極具挑戰的問題。該模型由視覺網路、語義網路、GCN 以及動作-評論模型(actor-critic model)這四個部分組成,四者協同完成在各種場景下的物體定位任務。這一模型與現有其他模型的區別在於:(1)不需要所在場景的地圖;(2)針對不同的場景例項採取同一個策略網路,使得模型更加精簡和具通用性。

論文作者還提到他們將從兩個方面進行後續的研究:(1)在模型中加入長期記憶 (long-term memory),以便訓練更為複雜的物體定位/導航策略; (2)在模型中融入物體與場景之間更高階(higher-order)的關係。筆者比較感興趣的一個問題是,如何進行跨場景之間的導航,網路訓練時“廚房”這一場景裡有“蘋果“放在”果籃“裡,那麼代理是否能在”客廳”這一新場景裡,找到“香蕉”或者“水果刀”這些沒有在訓練時出現的物體? 

筆者注: 論文作者在 3.2 節和 4.2.2 節對於 A3C 模型的輸入維數前後表述不一致。筆者的理解是,A3C 模型的輸入是visual, semantic 以及 GCN 三個部分串聯後的特徵向量,維數應該是 512x3=1536 維。

3.2節 ”actor-critic network”:“the input of our a3c model is ... a 1024-d feature vector...” .

4.2.2節:”... which results in a 1536-d feature vector. As illustrated in Figure 2, the joint feature is further fed into the policy network for policy prediction” .

相關文獻

Eric Kolve, Roozbeh Mottaghi, Daniel Gordon, Yuke Zhu, Abhinav Gupta, and Ali Farhadi. AI2-THOR: An Interactive 3D Environment for Visual AI. arXiv, 2017.

Ranjay Krishna, Yuke Zhu, Oliver Groth, Justin Johnson, Kenji Hata, Joshua Kravitz, Stephanie Chen, Yannis Kalantidis, Li-Jia Li, David A Shamma, et al. Visual genome: Connecting language and vision using crowdsourced dense image annotations. IJCV, 2017.

Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In CVPR, 2016.

Armand Joulin, Edouard Grave, Piotr Bojanowski, and Tomas Mikolov. Bag of tricks for efficient text classification. arXiv, 2016.

Yuke Zhu, Roozbeh Mottaghi, Eric Kolve, Joseph J Lim, Abhinav Gupta, Li Fei-Fei, and Ali Farhadi. Target-driven visual navigation in indoor scenes using deep reinforcement learning. In ICRA, 2017.

Peter Anderson, Angel X. Chang, Devendra Singh Chaplot, Alexey Dosovitskiy, Saurabh Gupta, Vladlen Koltun, Jana Kosecka, Jitendra Malik, Roozbeh Mottaghi, Manolis Savva, and Amir Roshan Zamir. On evaluation of embodied navigation agents. arXiv, 2018a.

Volodymyr Mnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy Lillicrap, Tim Harley, David Silver, and Koray Kavukcuoglu. Asynchronous methods for deep reinforcement learning. In ICML, 2016

相關文章