如果想讓機器人幫助你,你通常需要下達一個較為精準的指令,但指令在實際中的實現效果不一定理想。如果考慮真實環(huán)境,當要求機器人找某個特定的物品時,這個物品不一定真的存在當前的環(huán)境內,機器人無論如何也找不到;但是環(huán)境當中是不是可能存在一個其他物品,它和用戶要求的物品有類似的功能,也能滿足用戶的需求呢?這就是用 “需求” 作為任務指令的好處了。
近日,北京大學董豪團隊提出了一個新的導航任務 —— 需求驅動導航(Demand-driven Navigation,DDN),目前已被 NeurIPS 2023 接收。在這個任務當中,機器人被要求根據一條用戶給定的需求指令,尋找能夠滿足用戶需求的物品。同時,董豪團隊還提出了學習基于需求指令的物品屬性特征,有效地提高了機器人尋找物品的成功率。
論文地址:
項目主頁:
任務說明
具體地說,在任務的一開始,機器人會收到一條需求指令,比如 “我餓了”,“我渴了”,然后機器人就需要在場景內尋找一個能滿足該需求的物品。因此,需求驅動導航本質上還是一個尋找物品的任務,在這之前已經有類似的任務 —— 視覺物品導航(Visual Object Navigation)。這兩個任務的區(qū)別在于,前者是告知機器人 “我的需求是什么”,后者是告知機器人 “我要什么物品”。
用戶只需要根據自己的需求提出指令,而不用考慮場景內有什么。 用需求作為指令可以提高用戶需求被滿足的概率。比如當 “渴了” 的時候,讓機器人找 “茶” 和讓機器人找 “能解渴的物品”,顯然是后者包含的范圍更大。 用自然語言描述的需求擁有更大的描述空間,可以提出更為精細、更為確切的需求。
為了訓練這樣的機器人,需要建立一個需求指令到物品的映射關系,以便于環(huán)境給予訓練信號。為了降低成本,董豪團隊提出了一種基于大語言模型的、“半自動” 的生成方式:先用 GPT-3.5 生成場景中存在的物品能滿足的需求,然后再人工過濾不符合要求的。
算法設計
考慮到能滿足同一個需求的物品之間有相似的屬性,如果能學到這種物品屬性上的特征,機器人似乎就能利用這些屬性特征來尋找物品。比如,對于 “我渴了” 這一需求,需要的物品應該具有 “解渴” 這一屬性,而 “果汁”、“茶” 都具有這一屬性。這里需要注意的是,對于一個物品,在不同的需求下可能表現出不同的屬性,比如 “水” 既能表現出 “清潔衣物” 的屬性(在 “洗衣服” 的需求下),也能表現出 “解渴” 這一屬性(在 “我渴了” 的需求下)。
屬性學習階段
那么,如何讓模型理解這種 “解渴”、“清潔衣物” 這些需求呢?注意到在某一需求下物品所表現出的屬性,是一種較為穩(wěn)定的常識。而最近幾年,隨著大語言模型(LLM)逐漸興起,LLM 所表現出的對人類社會常識方面的理解讓人驚嘆。
因此,北大董豪團隊決定向 LLM 學習這種常識。他們先是讓 LLM 生成了很多需求指令(在圖中稱為 Language-grounding Demand,LGD),然后再詢問 LLM,這些需求指令能被哪些物品滿足(在圖中稱為 Language-grounding Object,LGO)。
在這里要說明,Language-grounding 這一前綴強調了這些 demand/object 是可以從 LLM 中獲取而不依賴于某個特定的場景;下圖中的 World-grounding 強調了這些 demand/object 是與某個特定的環(huán)境(比如 ProcThor、Replica 等場景數據集)緊密結合的。
然后為了獲取 LGO 在 LGD 下所表現出的屬性,作者們使用了 BERT 編碼 LGD、CLIP-Text-Encoder 編碼 LGO,然后拼接得到 Demand-object Features。注意到在一開始介紹物品的屬性時,有一個 “相似性”,作者們就利用這種相似性,定義了 “正負樣本”,然后采用對比學習的方式訓練 “物品屬性”。
具體來說,對于兩個拼接之后的 Demand-object Features,如果這兩個特征對應的物品能滿足同一個需求,那么這兩個特征就互為正樣本(比如圖中的物品 a 和物品 b 都能滿足需求 D1,那么 DO1-a 和 DO1-b 就互為正樣本);其他任何拼接均互為負樣本。作者們將 Demand-object Features 輸入到一個 TransformerEncoder 架構的 Attribute Module 之后,就采用 InfoNCE Loss 訓練了。
導航策略學習階段
通過對比學習,Attribute Module 中已經學到了 LLM 提供的常識,在導航策略學習階段,Attribute Module 的參數被直接導入,然后采用模仿學習的方式學習由 A* 算法收集的軌跡。在某一個時間步,作者采用 DETR 模型,將當前視野中的物品分割出來,得到 World-grounding Object,然后由 CLIP-Visual-Endocer 編碼。其他的流程與屬性學習階段類似。最后將對需求指令的 BERT 特征、全局圖片特征、屬性特征拼接,送入一個 Transformer 模型,最終輸出一個動作。
值得注意的是,作者們在屬性學習階段使用了 CLIP-Text-Encoder,而在導航策略學習階段,作者們使用了 CLIP-Visual-Encoder。這里巧妙地借助于 CLIP 模型在視覺和文本上強大的對齊能力,將從 LLM 中學習到的文本常識轉移到了每一個時間步的視覺上。
實驗結果
實驗是在 AI2Thor simulator 和 ProcThor 數據集上進行,實驗結果表明,該方法顯著高于之前各種視覺物品導航算法的變種、大語言模型加持下的算法。
VTN 是一種閉詞匯集的物品導航算法(closed-vocabulary navigation),只能在預先設定的物品上進行導航任務。作者們對它的算法做了一些變種,然而不管是將需求指令的 BERT 特征作為輸入、還是將 GPT 對指令的解析結果作為輸入,算法的結果都不是很理想。當換成 ZSON 這種開詞匯集的導航算法(open-vocabulary navigation),由于 CLIP 在需求指令和圖片之間的對齊效果并不好,導致了 ZSON 的幾個變種也無法很好的完成需求驅動導航任務。
而一些基于啟發(fā)式搜索 + LLM 的算法由于 Procthor 數據集場景面積較大,探索效率較低,其成功率并沒有很高。純粹的 LLM 算法,例如 GPT-3-Prompt 和 MiniGPT-4 都表現出較差的對場景不可見位置的推理能力,導致無法高效地發(fā)現滿足要求的物品。
消融實驗表明了 Attribute Module 顯著提高了導航成功率。作者們展示了 t-SNE 圖很好地表現出 Attribute Module 通過 demand-conditioned contrastive learning 成功地學習到了物品的屬性特征。而將 Attribute Module 架構換成 MLP 之后,性能出現了下降,說明 TransformerEncoder 架構更適合用于捕捉屬性特征。BERT 很好提取了需求指令的特征,使得對 unseen instruction 泛化性得到了提升。
下面是一些可視化:
本次研究的通訊作者董豪博士現任北京大學前沿計算研究中心助理教授,博士生導師、博雅青年學者和智源學者,他于 2019 年創(chuàng)立并領導北大超平面實驗室(Hyperplane Lab),目前已在 NeurIPS、ICLR、CVPR、ICCV、ECCV 等國際頂尖會議 / 期刊上發(fā)表論文 40 余篇,Google Scholar 引用 4700 余次,曾獲得 ACM MM 最佳開源軟件獎和 OpenI 杰出項目獎。他還曾多次擔任國際頂尖會議如 NeurIPS、 CVPR、AAAI、ICRA 的領域主席和副編委,承擔多項國家級和省級項目,主持科技部新一代人工智能 2030 重大項目。
-
物聯(lián)網
+關注
關注
2899文章
43793瀏覽量
369140
原文標題:NeurIPS 2023 | 北大具身智能團隊提出需求驅動導航:對齊人類需求,讓機器人更高效
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網技術研究所】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論