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