Grasp2Vec 通過自我監督式抓取學習物體表徵

2021-09-08 14:08:52 字數 2936 閱讀 1838

從很小的時候開始,人類就能夠識別最喜歡的物品,並將它們撿起來,儘管從未有人明確教過他們這樣做。認知發展研究表明,與周圍物體互動的能力在培養物體感知和操縱能力(例如有目的的抓取)的過程中起著至關重要的作用。通過與周圍的環境互動,人類能夠以自我監督的方式學習:我們知道自己作出的動作,並會從結果中學習。在機械人領域,人們正在積極研究這種自我監督學習,因為這使機械人系統能夠在不需要大量訓練資料或人工監督的情況下進行學習。

受物體恆存概念的啟發,google提出了 grasp2vec,這是一種簡單但非常高效的演算法,可用於獲取物體表徵。grasp2vec 基於這樣一種直覺,即抓起任何物體的嘗試都會提供一些資訊。如果機械人抓住並舉起某個物體,則此物體在被抓取前必須存在於場景中。此外,機械人知道它抓取的物體目前在自己手中,因此物體被移出了場景。通過這種形式的自我監督,機械人可以根據抓取後場景中的視覺變化來學會識別物體。

基於之前與 x robotics 的合作(即一系列機械人同時僅通過單目攝像機輸入來學習抓取家居用品),google使用機械臂來 「無目的地」 抓取物體,而這種體驗使機械人可以學習豐富的物體表徵。然後它們可以將這些表徵用於獲得 「有目的抓取」 的能力,即機械臂之後可以根據使用者指令抓取物體。效果如下所示:

構建感知獎勵函式

在強化學習 (rl) 的框架中,任務成功與否可以通過 「獎勵函式」 來衡量。通過使獎勵最大化,機械人可以從頭開始自學各種抓取技能。當成功可以由簡單的感測器測量結果來衡量時,設計獎勵函式並非難事。舉乙個簡單的例子,當機械人按下某個按鈕時,它會直接得到獎勵。

但是,如果我們的成功標準取決於對手頭任務的感知認識,那麼設計獎勵函式就會困難得多。例如例項抓取任務,我們向機械人呈現一張,其中需要其抓取的物體正被抓著。在機械人嘗試抓取該物體後,它會檢查手中的物體。此任務的獎勵函式可以歸結為回答物體識別問題:這些物體是否與目標匹配?

在左圖中,機器臂正抓著刷子,背景中有一些物體(黃色杯子、藍色塑料塊)。在右圖中,機器臂正抓著黃色杯子,背景中有刷子。如果左圖是所需結果,則正確的獎勵函式應該能夠 「理解」 上面兩張對應不同的物體

那麼如果我們在資料收集期間,使用機械人實際分離不同物件呢?機械人領域為表徵學習提供了絕佳的機會,由於機械人可以操縱物體,因此能夠提供資料中所需的變化因素。我們的方法基於以下想法:被抓取的物體會從場景中移除。這會產生:

左圖:抓取前的物體 中間:抓取後的物體 右圖:所抓取的物體

那麼,如果我們定義乙個從影象中提取 「物件集」 的嵌入函式,則該函式應該存在以下減法關係:

google使用完全卷積架構和簡單的度量學習演算法來實現這種等式關係。在訓練時,下圖中展示的架構會將抓取前和抓取後的影象嵌入到密集空間特徵圖中。這些特徵圖經平均池化後變為向量,「抓取前」 和 「抓取後」 向量之間的差異代表一組物體。該向量和被抓取物體的相應向量表徵會通過 n 配對目標歸於等價。

經過訓練後,我們的模型會自然出現兩個有用的屬性。

1.物件相似性

第乙個屬性是向量嵌入之間的余弦距離,這讓我們可以比較物件,並確定它們是否相同。此屬性可用於實現強化學習的獎勵函式,並使機械人能夠在沒有人為提供標籤的情況下學習例項抓取。

2.尋找目標物件

第二個屬性是我們可以將場景空間圖和物件嵌入結合起來,以確定 「查詢物件」 在影象空間中的位置。通過獲取空間特徵圖的元素積和查詢物件的對應向量,我們可以在空間圖中找到與查詢物件 「匹配」 的所有畫素。

使用 grasp2vec 嵌入在場景中尋找物體。左上方的影象展示了箱子中的物體。左下方是我們希望抓取的查詢物件。通過將查詢物件向量的點積與場景影象的空間特徵相結合,我們得到每畫素的 「啟用圖」(右上方的影象),其中展示了影象中的相應區域與查詢物件的相似度。此響應圖可用於尋找要抓取的物體

當存在多個與查詢物件匹配的物體時,或者即使查詢中包含多個物件(兩個向量的平均值),我們的方法仍然有效。例如,以下是在場景中檢測到多個橙色塊的情況。

所生成的 「熱圖」 可用於規劃機械人尋找目標物件的方法。我們將 grasp2vec 的定位和例項識別功能與 「無目的抓取」 的策略相結合,在資料收集期間實現機械人找到已見過物體的 80% 成功率,以及找到未見過新物體的 59% 成功率。

結論

在這篇文章中,我們展示了機械人抓取技能如何生成用於學習物件中心表徵的資料。然後,我們可以利用表徵學習來 「引導」 機械人學習例項抓取等更複雜的技能,同時保留自主抓取系統的自我監督學習屬性。

除了我們自己的研究以外,最近的許多**也研究了如何通過抓取、推壓以及採用其他方法操縱環境中的物體,從而將自我監督互動應用於獲取表徵。展望未來,我們不僅對機器學習能夠通過更出色的感知和控制能力為機械人帶來哪些成果而感到興奮,還對機械人在新的自我監督正規化中能為機器學習帶來哪些改變感到期待。

MATLAB中的ind2vec和vec2ind函式

先說容易理解的vec2ind吧,從命令名字上可以看出是 向量變索引 假設乙個3 6的稀疏矩陣t 1,0 1 0 0 1 0 t 2,1 0 1 1 0 0 t 3,0 0 0 0 0 1 通過vec2ind t 將會得到什麼?因為通過矩陣知道t是6列的,t 0 1 0 0 1 0 1 0 1 1 0...

與word2vec 原來word2vec那麼簡單

說到word2vec,它可謂非結構化資料裡面的佼佼者,尤其是在推薦和nlp當中,足以體現它的優勢所在,並且多年一直備受工業界喜愛.那麼word2vec到底是怎麼個原理的,發現身邊總是有很多人問,確不能準確的說出為什麼是兩個矩陣,到底是怎麼自動反向傳播的,以及對於softmax之後那麼大的維度資料,是...

word2vec學習參考

最近看nlp的東西比較多。就拿現在google 基於神經網路做的 word2vec 作為部落格的開始吧,今後會陸陸續續補充內容。基本是分4塊內容 1.神經網路語言模型 2.語言模型分層優化 3.word2vec 原理 4.google word2vec 看一點寫一點,先扔些參考資料鏈接上去。附上在研...