一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【EAI 006】ChatGPT for Robotics:將 ChatGPT 應(yīng)用于機器人任務(wù)的提示詞工程研究

 netouch 2024-05-05 發(fā)布于北京

論文標(biāo)題:ChatGPT for Robotics: Design Principles and Model Abilities
論文作者:Sai Vemprala, Rogerio Bonatti, Arthur Bucker, Ashish Kapoor
作者單位:Scaled Foundations, Microsoft Autonomous Systems and Robotics Research
論文原文:https:///abs/2306.17582
論文出處:TMLR
論文被引:148(01/05/2024)
論文代碼:https://github.com/microsoft/PromptCraft-Robotics,1.6k star
項目主頁:http:///ChatGPT-Robotics

Abstract

本文介紹了一項關(guān)于將 OpenAI 的 ChatGPT [1] 用于機器人應(yīng)用的實驗研究。我們概述了一種策略,該策略結(jié)合了提示工程的設(shè)計原則和高級函數(shù)庫的創(chuàng)建,使 ChatGPT 能夠適應(yīng)不同的機器人任務(wù),模擬器和外形因素(form factors)。我們重點評估了不同提示工程技術(shù)和對話策略在執(zhí)行各類機器人任務(wù)時的有效性。除了使用特定任務(wù)的提示功能和通過對話進行閉環(huán)推理之外,我們還探索了 ChatGPT 使用自由形式對話,解析 XML 標(biāo)記和合成代碼的能力。我們的研究涵蓋了機器人領(lǐng)域的一系列任務(wù),從基本的邏輯,幾何和數(shù)學(xué)推理一直到復(fù)雜的領(lǐng)域,如空中導(dǎo)航,操縱和具身Agent。我們的研究表明,ChatGPT 可以有效地解決其中幾項任務(wù),同時允許用戶主要通過自然語言指令與之交互。除了這些研究之外,我們還介紹了一個名為 PromptCraft 的開源研究工具,其中包含一個平臺,研究人員可以通過該平臺合作上傳并投票選出機器人應(yīng)用中的優(yōu)秀提示方案示例,以及一個集成了 ChatGPT 的機器人模擬器示例,使用戶更容易開始將 ChatGPT 用于機器人。

1. Introduction

自然語言處理(NLP)技術(shù)的飛速發(fā)展帶動了大型語言模型(LLM)的發(fā)展,如 BERT [2],GPT-3 [3] 和 Codex [4],它們正在為廣泛的應(yīng)用帶來變革。這些模型在文本生成,機器翻譯和代碼合成等各種任務(wù)中取得了令人矚目的成果。OpenAI ChatGPT [1]是這一系列模型中的最新成員,它是一個預(yù)訓(xùn)練的文本生成模型,并通過人類反饋進行了微調(diào)。與之前主要在單一提示下運行的模型不同,ChatGPT 通過對話提供了特別令人印象深刻的交互技能,將文本生成與代碼合成相結(jié)合。我們在本文中的目標(biāo)是研究 ChatGPT 的能力能否以及如何推廣到機器人領(lǐng)域。

與純文字應(yīng)用不同,機器人系統(tǒng)需要深入了解現(xiàn)實世界的物理學(xué),環(huán)境背景以及執(zhí)行物理動作的能力。生成式機器人模型需要具備強大的常識性知識和復(fù)雜的世界模型,并能與用戶互動,以物理上可行且在現(xiàn)實世界中合理的方式解釋和執(zhí)行命令。這些挑戰(zhàn)超出了語言模型的原有范圍,因為它們不僅要理解給定文本的含義,還要將意圖轉(zhuǎn)化為符合邏輯順序的物理動作。

近年來,人們一直在嘗試將語言融入機器人系統(tǒng)。這些努力主要集中在使用語言標(biāo)記嵌入模型,LLM 特征和多模式模型特征,以適應(yīng)特定的形式因素或場景。應(yīng)用范圍包括:

  • 視覺語言導(dǎo)航[5, 6]
  • 基于語言的人機交互[7, 8]
  • 視覺語言操縱控制[9, 10, 11]

然而,盡管在機器人技術(shù)中使用 LLMs 具有潛在的優(yōu)勢,但大多數(shù)現(xiàn)有方法都受到了嚴(yán)格的范圍和有限的函數(shù)集(limited set of functionalities)的限制,或者由于其開環(huán)性質(zhì),無法進行流暢的交互,也無法根據(jù)用戶反饋修正行為。

GPT-3,LaMDA 和 Codex 等模型也顯示了在零樣本機器人場景中執(zhí)行高級Agent規(guī)劃 [12, 13] 或代碼生成 [14, 15] 任務(wù)的前景。這些早期演示啟發(fā)我們研究 ChatGPT,將其作為機器人領(lǐng)域一種潛在的多功能工具,因為它結(jié)合了自然語言和代碼生成模型的優(yōu)勢以及對話的靈活性。ChatGPT 能夠進行自由形式的對話并捕捉長時間的上下文,因此用戶能以更自然的方式與模型進行交互,并能靈活地糾正行為。

在這里插入圖片描述

本文旨在展示 ChatGPT 在機器人應(yīng)用方面的潛力。我們概述了利用 ChatGPT 解決機器人應(yīng)用問題的一個關(guān)鍵概念,即創(chuàng)建一個高級函數(shù)庫。鑒于機器人技術(shù)是一個多樣化的領(lǐng)域,存在多種平臺,應(yīng)用場景和工具,因此有各種各樣的庫和API。我們沒有要求 LLM 輸出特定于平臺或庫的代碼,這可能會涉及大量的微調(diào),相反,我們創(chuàng)建了一個簡單的高級函數(shù)庫供 ChatGPT 處理,然后可以在后端鏈接到所選平臺的實際 API。因此,我們允許 ChatGPT 從自然對話中解析用戶意圖,并將其轉(zhuǎn)換為高級函數(shù)調(diào)用的邏輯鏈。我們還概述了幾條有助于 ChatGPT 解決機器人任務(wù)的提示性工程指南。

我們的研究表明,ChatGPT 能夠以零樣本的方式解決各種與機器人相關(guān)的任務(wù),同時適應(yīng)多種外形因素,并允許通過對話進行閉環(huán)推理(closed-loop reasoning)。此外,我們還旨在展示當(dāng)前模型的局限性,并就如何克服這些局限性提出想法。我們的主要貢獻如下:

  • 我們展示了將 ChatGPT 應(yīng)用于機器人任務(wù)的流程。該流程涉及多種提示技術(shù),如自由形式的自然語言對話,代碼提示,XML 標(biāo)記和閉環(huán)推理。我們還展示了用戶如何利用高級函數(shù)庫,讓模型快速解析人類意圖并生成解決問題的代碼;
  • 我們通過實驗評估了 ChatGPT 執(zhí)行各種機器人任務(wù)的能力。我們展示了該模型在解決數(shù)學(xué),邏輯和幾何運算時的能力和局限性,然后探索了涉及具身Agent,空中導(dǎo)航和操縱的更復(fù)雜場景。我們還包括 ChatGPT 計劃的模擬和實際實驗;
  • 我們推出了一個協(xié)作式開源平臺 PromptCraft,研究人員可以在該平臺上合作,提供在機器人環(huán)境中使用 LLM 時積極(和消極)提示策略的示例。提示工程主要是一門經(jīng)驗科學(xué),我們希望為研究人員提供一個簡單的界面,讓他們作為一個社區(qū)貢獻知識。隨著時間的推移,我們的目標(biāo)是提供不同的環(huán)境,讓用戶可以測試他們的提示,并歡迎新的貢獻;
  • 我們發(fā)布了一款基于微軟 AirSim [16] 并與 ChatGPT 集成的模擬工具。AirSim-ChatGPT 仿真包含一個無人機導(dǎo)航環(huán)境示例,旨在為研究人員探索 ChatGPT 如何實現(xiàn)機器人應(yīng)用場景提供一個起點。

我們希望通過這項工作,為未來將 LLM 與機器人技術(shù)相結(jié)合的研究開辟新的機遇和途徑。我們相信,我們的研究成果將激勵和指導(dǎo)這一激動人心的領(lǐng)域的進一步研究,為開發(fā)能夠以自然,直觀的方式與人類互動的新型,創(chuàng)新機器人系統(tǒng)鋪平道路。欲了解更多詳情,我們鼓勵讀者在項目網(wǎng)頁上觀看我們的詳細(xì)實驗視頻:https:///ChatGPT-robotics。

2. Robotics with ChatGPT

在機器人控制中提示 LLMs 會帶來一些挑戰(zhàn),例如提供完整準(zhǔn)確的問題描述,確定正確的允許函數(shù)調(diào)用和 API 集,以及用特殊參數(shù)調(diào)整答案結(jié)構(gòu)。為了在機器人應(yīng)用中有效利用 ChatGPT,我們構(gòu)建了一個由以下步驟組成的流水線:

  1. 首先,我們定義一個高級機器人函數(shù)庫。
  2. 接下來,我們?yōu)?ChatGPT 創(chuàng)建一個提示,在描述目標(biāo)的同時,確定庫中允許使用的高級函數(shù)集。提示中還可以包含約束信息,或 ChatGPT 應(yīng)如何構(gòu)建其響應(yīng)結(jié)構(gòu)的信息。
  3. 用戶可以通過直接分析或模擬的方式,繼續(xù)循環(huán)評估 ChatGPT 輸出的代碼,并就輸出代碼的質(zhì)量和安全性向 ChatGPT 提供反饋。
  4. 在對 ChatGPT 生成的實現(xiàn)進行迭代后,可將最終代碼部署到機器人上。

圖 2 以家用機器人為例,形象地描述了這一流程。

在這里插入圖片描述

2.1. Construction and description of the robotics API library

機器人技術(shù)是一個成熟的領(lǐng)域,目前已有大量黑盒或開源庫,可用于感知和動作領(lǐng)域的基本功能(如物體檢測和分割,映射,運動規(guī)劃,控制和抓?。H绻谔崾局姓_指定,LLM 就能使用這些預(yù)定義的函數(shù)進行機器人推理和執(zhí)行。

一個重要的提示設(shè)計要求是,所有API的名稱必須能夠描述整體功能行為。要讓 LLM 能夠推理出 API 之間的功能聯(lián)系,并為問題生成所需的結(jié)果,明確的名稱是必不可少的。因此,我們可以定義高級函數(shù),將其作為各自庫中實際實現(xiàn)的封裝器。例如,名為 detect_object(object_name) 的函數(shù)可以內(nèi)部鏈接到 OpenCV 函數(shù)或計算機視覺模型,而類似 move_to(x,y,z) 的函數(shù)則可以內(nèi)部調(diào)用運動規(guī)劃和避障管道以及無人機的相應(yīng)底層電機指令。在提示中列出這樣一組高級函數(shù),對于 ChatGPT 創(chuàng)建行為基元的邏輯序列,以及泛化到不同場景和平臺至關(guān)重要。

在這里插入圖片描述

根據(jù)具體情況,我們建議解釋API的功能,并在必要時將其分解為具有明確輸入和輸出的子組件,類似于代碼文檔。在圖 3 中,我們以家庭烹飪機器人為例,介紹了一種良好的 API 提示策略。該策略允許 ChatGPT 根據(jù)機器人實際能夠執(zhí)行的函數(shù)來推理任務(wù)的順序和內(nèi)容。感興趣的讀者參閱附錄 A.1,以了解 ChatGPT 在未提供 API 指導(dǎo)時如何進行推理,這將導(dǎo)致基于文本的無限制回答;或參閱附錄 A.2,以了解 API 不夠清晰時的情況,這將導(dǎo)致對函數(shù)調(diào)用參數(shù)產(chǎn)生幻覺。

我們注意到,經(jīng)典的符號人工智能結(jié)構(gòu)脆弱,需要在物體和函數(shù)之間預(yù)先定義嚴(yán)格的關(guān)系,而 LLM 與之不同,當(dāng)與特定問題相關(guān)時,它能夠完全定義新的函數(shù)和概念。在處理機器人應(yīng)用時,這種能力賦予了 LLM 靈活性和穩(wěn)健性。圖 4 顯示了 ChatGPT 如何在需要解決問題時創(chuàng)建新的高級概念,甚至低級代碼,甚至融合現(xiàn)有的API。環(huán)路上的用戶可以將這種能力作為一種設(shè)計策略加以利用,當(dāng)目前的API不足以解決手頭的任務(wù)時,可以在 LLM 的幫助下反復(fù)定義新的API。

在這里插入圖片描述

2.2. Clear description of the task details in the prompt

通過對所需機器人任務(wù)及其上下文進行簡明扼要的描述,ChatGPT 可以生成更準(zhǔn)確的回復(fù)。除了機器人API外,一個好的上下文描述還應(yīng)包含以下內(nèi)容:

  • 限制和要求:指定與任務(wù)相關(guān)的限制或要求。如果任務(wù)涉及移動物體,可以指定要移動的物體的重量,大小和形狀。

  • 環(huán)境:描述機器人任務(wù)所處的環(huán)境。例如,如果任務(wù)是在迷宮中導(dǎo)航,可以描述迷宮的大小和形狀,以及需要避開的任何障礙或危險。

  • 當(dāng)前狀態(tài):描述機器人系統(tǒng)的當(dāng)前狀態(tài)。例如,如果任務(wù)是拾取一個物體,可以描述機器人和物體的當(dāng)前位置和方向。

  • 目標(biāo)和目的:說明任務(wù)的目標(biāo)和目的。如果任務(wù)是組裝拼圖,可以說明需要組裝的拼圖塊數(shù)和預(yù)期完成時間。

  • 解決方案示例:演示如何解決類似任務(wù),以此指導(dǎo) LLM 的解決策略。例如,如果任務(wù)涉及與用戶的互動,我們可以舉例說明機器人應(yīng)如何以及何時詢問用戶的輸入(見圖 5)。需要注意的是,引子也會帶來偏差,因此我們應(yīng)該提供多種多樣的示例,避免使用規(guī)定性過強的語言。

在這里插入圖片描述

即使是精心設(shè)計的提示也可能不包含解決問題所需的所有必要信息,或者在某些情況下 ChatGPT 無法以 zero-shot 的方式生成正確的回復(fù)。在這種情況下,我們發(fā)現(xiàn)用戶可以采取一種簡單而有效的策略,那就是以聊天格式向 ChatGPT 發(fā)送描述問題的額外指令,讓它自行糾正。以往依賴 GPT-3 或 Codex 模型 [15, 14] 的方法需要用戶重新設(shè)計輸入提示,并從頭開始生成新的輸出。然而,ChatGPT 的對話能力是一種令人驚訝的有效行為糾正工具。第 3.2 節(jié)和補充視頻展示了用戶與 ChatGPT 之間的交互行為示例。

2.3. Special arguments to bias the answer’s structure

不同的提示方法可以用來強制模型的輸出服從某種特定的模式。例如,用戶可能希望自動解析 ChatGPT 的輸出,以便將其用于其他腳本的實時執(zhí)行。如圖 3 所示,一種簡單的策略是直接要求 ChatGPT 生成特定語言(如 Python,C++)的代碼。接下來通常是一段自由格式的文本,然后是一個代碼塊。如圖 5 所示,通過要求模型使用 XML 標(biāo)記來幫助我們自動解析輸出,可以生成更有條理的響應(yīng)。

在其他情況下,用戶可能希望強制模型按照列表模式而不是代碼或自由格式文本輸出答案。附錄 A.3 展示了這種方法的一個示例,其中用戶提示的最后一行指示模型的輸出。

3. ChatGPT abilities for solving robotics problems

本節(jié)將深入探討 ChatGPT 解決機器人問題的能力。具體來說,我們研究了 ChatGPT 在處理各種機器人相關(guān)任務(wù)時的表現(xiàn),從簡單的時空推理問題一直到真實世界的空中Agent和操縱部署。我們強調(diào)了在這些實驗中觀察到的幾個有趣的功能。

雖然 ChatGPT 的功能令人印象深刻,但實際部署中的安全考慮也不容忽視,尤其是在物理機器人部署的情況下。如圖 2 所示,我們發(fā)現(xiàn)在 ChatGPT 出現(xiàn)意外行為時,有必要派人進行監(jiān)控和干預(yù)。此外,在現(xiàn)實世界中部署之前,使用模擬器對評估模型性能也特別有幫助。我們強調(diào),在機器人技術(shù)中使用 ChatGPT 并不是一個完全自動化的過程,而是一種增強人類能力的工具。

我們在附錄 B 中提供了本節(jié)問題的所有初始提示。為簡潔起見,我們只摘錄了每個任務(wù)的簡要內(nèi)容。完整對話可在以下資源庫中找到:https://github.com/microsoft/PromptCraft-Robotics。

3.1. Zero-shot task planning

首先,我們注意到,ChatGPT 能夠以 '0-shot '的方式解決多個機器人任務(wù),只需訪問提示和函數(shù)庫說明,而無需實際代碼示例。

3.1.1. Spatio-temporal reasoning: catching a basketball with visual servoing

在這里插入圖片描述

在這里插入圖片描述

在這個示例中,我們要求 ChatGPT 控制一個裝有向上攝像頭的平面機器人。機器人要根據(jù)籃球的外觀,使用視覺伺服方法接住籃球。我們看到,ChatGPT 能夠恰當(dāng)?shù)厥褂盟峁┑?API 函數(shù),推理出球的外觀并調(diào)用相關(guān)的 OpenCV 函數(shù),并根據(jù)比例控制器來控制機器人的速度。更令人印象深刻的是,ChatGPT 可以使用 SVG 代碼估算攝像機圖像中球和天空的外觀。這種行為暗示了一種可能性,即 LLM 跟蹤的隱式世界模型超越了基于文本的概率。

3.1.2. Aerial robotics: real-world drone flight with intuitive human-robot interface (Click for video)

在這里插入圖片描述

在這里插入圖片描述

我們還使用 ChatGPT 和不同的API來控制一架真正的無人機。ChatGPT 在用戶和機器人之間提供了一個極其直觀的自然語言界面,可以根據(jù)模棱兩可,定義不清的指令編寫機器人代碼,并在必要時提出澄清問題。該模型還能僅根據(jù)提示的基礎(chǔ)API編寫復(fù)雜的代碼結(jié)構(gòu),用于無人機導(dǎo)航(環(huán)形和割草機檢查)。

3.1.3. Aerial robotics: AirSim industrial inspection (Click for video)

在這里插入圖片描述
在這里插入圖片描述

我們還將 ChatGPT 應(yīng)用于微軟 AirSim [16] 模擬器的模擬領(lǐng)域。我們探索了由非技術(shù)用戶指揮模型控制無人機并執(zhí)行工業(yè)檢查的想法。我們從下面的摘錄中觀察到,ChatGPT 能夠有效地解析用戶輸入的意圖和幾何線索,并準(zhǔn)確地控制無人機。

3.2. User on the loop: interactive conversations for complex tasks

下一步,我們重點研究了 ChatGPT 在用戶提供文字反饋的情況下執(zhí)行更復(fù)雜任務(wù)的能力。我們注意到,這種交互模式允許進行復(fù)雜的構(gòu)造,例如課程學(xué)習(xí),在課程學(xué)習(xí)中,系統(tǒng)將學(xué)習(xí)較小范圍的技能,這些技能可以組合成更大,更復(fù)雜的任務(wù)。此外,我們還發(fā)現(xiàn) ChatGPT 能夠接收有關(guān)生成代碼或其性能的高級文本反饋,并將其映射到所需的低層次代碼更改中,從而使?jié)撛诘姆羌夹g(shù)用戶能夠輕松地與之互動。

3.2.1. Manipulation with curriculum learning (Click for video)

在這里插入圖片描述
在這里插入圖片描述

作為第一個例子,我們使用機械臂設(shè)置了一個積木排列任務(wù),并為此設(shè)計了一套課程。我們要求 ChatGPT 學(xué)習(xí)拾取物體和放置物體的簡單技能。隨后,當(dāng)被要求使用這些技能來完成更復(fù)雜的積木排列任務(wù)時,ChatGPT 會將這些學(xué)到的技能邏輯地串聯(lián)起來。此外,在用木塊拼出微軟徽標(biāo)的任務(wù)中,該模型還展示了在文字和物理領(lǐng)域之間架起橋梁的可概括性的精彩實例。這項任務(wù)需要記憶公司徽標(biāo)的外觀(包括顏色),然后將徽標(biāo)抽象為物理部分,并通過現(xiàn)有的機器人動作進行構(gòu)建。

3.2.2. Aerial robotics: AirSim obstacle avoidance (Click for video)

在這里插入圖片描述
在這里插入圖片描述

我們委托 ChatGPT 為一架配備了前向距離傳感器的無人機編寫一個具有避障功能的目標(biāo)搜索算法。ChatGPT 構(gòu)建了避障算法的大部分關(guān)鍵構(gòu)件,但在無人機的方位問題上,還需要一些人工反饋。雖然反饋完全是以高級文本的形式提供的,但 ChatGPT 還是在適當(dāng)?shù)牡胤綄Υa進行了局部修改,從而改進了其解決方案。

3.3. Perception-action loops

我們還對 ChatGPT 感知-行動循環(huán)的推理能力進行了評估。首先,我們概述了該模型利用 API 庫在代碼輸出中構(gòu)建感知-動作循環(huán)的能力。該模型正確使用了圖像采集和物體檢測等感知功能,以提取機器人導(dǎo)航和控制的相關(guān)信息。

在復(fù)雜性的第二個層面,我們試圖回答 ChatGPT 的對話系統(tǒng)本身是否可以作為一個封閉的反饋感知-行動環(huán)路的問題。我們探索了通過文本對話向模型持續(xù)提供感知信息的想法,在對話過程中,我們向 ChatGPT 輸入觀察結(jié)果(轉(zhuǎn)換成文本格式)。我們發(fā)現(xiàn) ChatGPT 能夠解析這些觀察信息流并輸出相關(guān)行動。

3.3.1. Embodied agent: closed loop object navigation with API library (Click for video)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
我們讓 ChatGPT 訪問計算機視覺模型,作為其功能庫的一部分,并要求它探索未知環(huán)境并導(dǎo)航至用戶指定的物體。物體檢測API(后端為 YOLOv8 [17])會返回邊界框,而 ChatGPT 會生成代碼來估算物體的相對角度并導(dǎo)航至物體。當(dāng)我們向 ChatGPT 提供來自深度傳感器的額外信息時,它就會生成一個具有 pixel depth masking 的改進算法,并以模塊化流水線的形式表達出來。

3.3.2. Embodied agent: closed loop visual-language navigation using ChatGPT’s dialogue (Click for video)

在這里插入圖片描述

在實驗中,我們還評估了 ChatGPT 使用其對話功能作為感知-行動控制反饋回路的能力。在這種操作模式下,新的狀態(tài)觀察結(jié)果以對話文本的形式輸入系統(tǒng),機器人每一步都會執(zhí)行模型的輸出,從而產(chǎn)生新的觀察結(jié)果。我們注意到,這類行為在很大程度上依賴于基于對話的 LLM,如 ChatGPT,它可以自然地接收觀察結(jié)果流。我們使用 Habitat 模擬器構(gòu)建了一個場景[18],要求機器人導(dǎo)航到感興趣的區(qū)域。每一步,我們都會向 ChatGPT 提供場景描述,即相對于Agent的可見物體的極坐標(biāo)。我們對 ChatGPT 的輸出進行了限制,使其只能返回前向運動距離和轉(zhuǎn)彎角度。我們驗證了該模型能夠完成簡單的導(dǎo)航任務(wù),但對于更復(fù)雜的任務(wù)和環(huán)境,還需要進行更多的研究,才能以文本或矢量形式正確描述場景背景。

有關(guān)其他實驗,請讀者參閱附錄 C。

3.4. Reasoning and common-sense robotics tasks

我們讓 ChatGPT 回答簡單的邏輯推理問題以及基本的機器人問題,如附錄 D 所示。我們發(fā)現(xiàn),ChatGPT 提供了豐富的常識和邏輯推理能力基礎(chǔ),在此基礎(chǔ)上可以構(gòu)建更高級的機器人能力。這種邏輯基礎(chǔ)讓用戶可以更自然地與模型互動,而不必提示或從頭定義每個概念。此外,ChatGPT 對控制,攝像頭幾何形狀和物理形狀因素等基本機器人概念的開箱即用的理解,使其成為建立可通用和用戶友好型機器人管道的絕佳選擇。

4. PromptCraft, a collaborative tool for LLM + Robotics research

提示(Prompt)是在大型語言模型(LLM)中生成所需行為的關(guān)鍵組成部分。在 LLM 與機器人技術(shù)的交叉領(lǐng)域,提示工程尤其具有挑戰(zhàn)性,因為在這些領(lǐng)域缺乏提供積極(和消極)互動示例的全面,可訪問的資源。為了填補這一空白,我們推出了 PromptCraft,這是一個供研究人員共享提示策略示例并在機器人環(huán)境示例中測試其算法的協(xié)作式開源平臺。

PromptCraft 是一個基于 Github 的平臺,允許研究人員分享不同機器人類別(如導(dǎo)航,抓取和操縱)中的提示工程策略示例。用戶可以提交自己的示例,并對他人提交的示例進行評分,我們希望這將為使用 LLMs 的研究人員創(chuàng)建一個社區(qū)驅(qū)動的資源。提交的提示和對話主要基于文本,但我們也鼓勵用戶分享描述機器人行為的視頻和圖片,尤其是針對實際部署場景的視頻和圖片。

PromptCraft 不僅提供了一個分享提示示例的平臺,還提供了一個帶有 ChatGPT 封裝程序的 AirSim [16] 環(huán)境,供研究人員在受控的模擬環(huán)境中對提示和算法進行原型開發(fā)。我們歡迎大家提供新的測試環(huán)境,以擴大研究人員測試算法的場景范圍。

通過 Promptcraft,我們旨在支持提示工程的實證科學(xué),使研究人員能夠推動該領(lǐng)域的發(fā)展。

在這里插入圖片描述

5. Related Work

Natural language and robotics

長期以來,自然語言處理(NLP)一直被認(rèn)為是人機交互的重要組成部分。在許多應(yīng)用中,機器人都能從 NLP 中受益,包括但不限于任務(wù)指令,導(dǎo)航和信息檢索。傳統(tǒng)上,使用語言模擬人與機器人的交互具有挑戰(zhàn)性,因為它迫使用戶在一套死板的指令中操作 [19],或者需要復(fù)雜的數(shù)學(xué)算法來跟蹤行動和目標(biāo)物體的多種概率分布 [20,21]。最近的研究探索利用神經(jīng)網(wǎng)絡(luò)來隱式地跟蹤語言和動作之間的復(fù)雜映射,但這類技術(shù)通常需要大量的標(biāo)注數(shù)據(jù)進行訓(xùn)練 [22, 5, 6, 23] 。

Large (vision and) language models for robotics

論文 [24] 中介紹的 Transformer 架構(gòu)給 NLP 帶來了革命性的變化,在機器人技術(shù)領(lǐng)域也大有可為。變壓器已被用于機器人控制和規(guī)劃 [25, 26, 27],物體識別 [28] 和機器人導(dǎo)航 [29]。變壓器在機器人技術(shù)中更常見的用途是同時作為一種或多種模式的特征提取模塊。這些系統(tǒng)通常與來自預(yù)訓(xùn)練的大規(guī)模視覺和語言模型的附加特征相結(jié)合 [30, 10, 31, 32, 11, 9]。

SayCan [31]等模型側(cè)重于將 LLM 落地(grounding),從而使用自由形式的文本命令來計算值函數(shù)(value function),以便在機器人專用庫中對最佳動作類型進行排序。另一方面,RT-1 [33] 采用端到端方法學(xué)習(xí)語言命令與低級動作之間的映射,而不使用中間的高級函數(shù)。近期的研究還探索了大型語言模型(LLM)在零點高級機器人任務(wù)規(guī)劃方面的能力[15, 14, 12]。這些模型利用帶有預(yù)定義函數(shù),行為和示例的提示結(jié)構(gòu)來指導(dǎo)模型答案的生成。[13]還探索了在桌面操作設(shè)置中使用用戶和 LLM 之間的交互性。

從概念上講,這些方法與我們利用 ChatGPT [1] 所做工作的主要區(qū)別在于,我們的 LLM 具備對話能力,允許用戶交互式地改進和糾正機器人的行為(而不是從頭開始重新設(shè)計提示并生成另一個零樣本答案)。此外,我們的工作旨在提供一個可通用的管道和一套原則,供機器人學(xué)不同領(lǐng)域的研究人員使用,而不是專注于桌面操作或任務(wù)規(guī)劃等單一領(lǐng)域。

Prompting LLMs with APIs, and its connections to symbolic AI

在為機器人應(yīng)用設(shè)計 LLM 提示時,用戶通常會使用高級 API 庫來表示要使用的特定行為。我們可以將這種方法與經(jīng)典的符號人工智能聯(lián)系起來,后者使用邏輯和規(guī)則來表示和推理知識[34]。傳統(tǒng)的符號人工智能方法在新知識獲取和處理分布外數(shù)據(jù)方面存在困難,而我們相信 LLM 可以克服這些挑戰(zhàn)。正如我們在第 2.1 節(jié)和第 3 節(jié)中所展示的,像 ChatGPT 這樣的模型可以根據(jù)上下文組成新的原始函數(shù),并自動為其生成代碼。

6. Conclusions and Future Work

我們提出了一個將 ChatGPT 用于機器人應(yīng)用的框架。該框架包括設(shè)計和實現(xiàn)一個用于機器人控制的 API 庫,該 API 庫可用于 ChatGPT 的提示工程。我們討論了創(chuàng)建此類 API 的設(shè)計原則,以及可用于通過 ChatGPT 生成機器人應(yīng)用代碼的提示策略。所提出的框架允許用戶通過一系列方法(包括模擬和人工檢查)對生成的代碼進行測試,驗證和確認(rèn)。我們演示了如何將該框架用于多種應(yīng)用,從簡單的常識性機器人知識任務(wù)一直到空中機器人,操縱和視覺導(dǎo)航的部署。

我們相信,這項工作只展示了機器人領(lǐng)域大型語言模型交叉領(lǐng)域的一小部分成果。我們希望不僅能激勵其他研究人員邁出下一步,還能幫助他們利用 PromptCraft 協(xié)作工具取得成果。

我們強調(diào),不應(yīng)讓這些工具完全控制機器人流水線,尤其是對安全要求較高的應(yīng)用而言。鑒于 LLM 最終會產(chǎn)生錯誤響應(yīng)的傾向,因此在機器人上執(zhí)行代碼之前,在人工監(jiān)督下確保解決方案的質(zhì)量和安全性相當(dāng)重要。我們期待接下來的幾項研究工作能采用適當(dāng)?shù)姆椒ǎ瑸樵跈C器人領(lǐng)域運行的 LLM 正確設(shè)計,構(gòu)建和創(chuàng)建測試,驗證和確認(rèn)管道。

我們在這項工作中展示的大多數(shù)示例都是開放式的感知-行動循環(huán),即 ChatGPT 生成代碼以解決任務(wù),之后并不向模型提供反饋。鑒于閉環(huán)控制在感知-行動循環(huán)中的重要性,我們希望未來在這一領(lǐng)域的大部分研究都能探索如何正確利用 ChatGPT 的能力,以文本或特殊用途模態(tài)的形式接收任務(wù)反饋。

6.1. ChatGPT for paper writing

請注意,本文主要是在 ChatGPT 的協(xié)助下撰寫的,并由作者提供了提示。我們注意到,使用 LLM 可以大大加快寫作過程,我們向感興趣的讀者推薦使用 LLM。

A. Additional examples on design principles on prompt engineering

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

B. Original initial prompts for robotics tasks examples

B.1. Spatial-temporal reasoning: catching a basketball with visual servoing

Full conversation found at: https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/spatial_temporal_reasoning/visual_servoing_basketball.md

Initial ChatGPT prompt:

在這里插入圖片描述

B.2. Aerial robotics: real-world drone flight

Full conversation found at: https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/aerial_robotics/tello_example.md

Initial ChatGPT prompt:

在這里插入圖片描述

B.3. Aerial robotics: AirSim industrial inspection

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/aerial_robotics/airsim_turbine_inspection.md

Initial ChatGPT prompt:

在這里插入圖片描述

B.4. Aerial robotics: AirSim obstacle avoidance

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/aerial_robotics/airsim_obstacleavoidance.md

Initial ChatGPT prompt:

在這里插入圖片描述

B.5. Embodied agent: Habitat navigation

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/embodied_agents/visual_language_navigation_1.md

Initial ChatGPT prompt:

在這里插入圖片描述

B.6. Embodied agent: AirSim object navigation

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/embodied_agents/airsim_objectnavigation.md

Initial ChatGPT prompt:

在這里插入圖片描述

B.7. Manipulation with curriculum learning: Picking, stacking, and building the Microsoft logo

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/manipulation/pick_stack_msft_logo.md

Initial ChatGPT prompt:

在這里插入圖片描述

C. Additional experiments

C.1. Zero-shot manipulation: Pick and place, stacking, and pushing

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/manipulation/manipulation_zeroshot.md

C.2. Controlling multiple robot form factors from a single prompt

Full conversation found at:https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/multiple_robots/multiple_robots.md

D. Other commonsense/reasoning tasks

D.1. Computer vision problem

在這里插入圖片描述

D.2. Transformation matrices

在這里插入圖片描述

D.3. Balancing a ball on a plate

在這里插入圖片描述

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲精品中文字幕熟女| 在线观看免费视频你懂的| 国产高清视频一区不卡| 日韩不卡一区二区在线| 深夜福利亚洲高清性感| 国产精品内射婷婷一级二级| 国产成人国产精品国产三级| 97精品人妻一区二区三区麻豆| 国产日韩欧美专区一区| 热情的邻居在线中文字幕| 免费在线观看激情小视频| av一区二区三区天堂| 国产又粗又猛又大爽又黄| 精品久久少妇激情视频| 在线观看免费视频你懂的| 搡老妇女老熟女一区二区| 日韩人妻欧美一区二区久久| 日韩三级黄色大片免费观看| 污污黄黄的成年亚洲毛片| 91一区国产中文字幕| 日韩精品一区二区毛片| 色婷婷人妻av毛片一区二区三区| 成年人黄片大全在线观看| 国产精品流白浆无遮挡| 香蕉久久夜色精品国产尤物| 久久少妇诱惑免费视频| 国产麻豆视频一二三区| 日本熟妇五十一区二区三区| 日韩欧美亚洲综合在线| 欧美日韩综合免费视频| 国产精品超碰在线观看| 午夜久久精品福利视频| 欧美国产日产综合精品| 老鸭窝老鸭窝一区二区| 欧美有码黄片免费在线视频| 日韩精品一区二区亚洲| 国产麻豆一线二线三线| 午夜精品久久久免费视频| 久久人人爽人人爽大片av| 欧洲亚洲精品自拍偷拍| 亚洲性日韩精品一区二区|