你可曾想過用自己的話告訴機器人該做什麼,就像對人說話?
比如說,只要告訴你的家庭助理機器人「請幫我熱午餐」,然後它就能自己找到微波爐。很神奇,對嗎?
儘管語言是人類表達意圖的最直觀的方式,但此前很長一段時間,人們仍然嚴重依賴手寫程式碼來實現對機器人的控制。不過,當 ChatGPT 出現之後,這種情況就變一下了。
在最近的一項研究中,微軟團隊正在探索如何使用 OpenAI 的新 AI 語言模型 ChatGPT 來使自然的人機互動成為可能。
論文連結:https://www.microsoft.com/en-us/research/uploads/prod/ 2023/02/ChatGPT___Robotics.pdf
ChatGPT 是一個在大量文本和人類互動語料庫上訓練的語言模型,因此應對廣泛的prompt 和問題時,它可以產生連貫且語法正確的響應。這項研究的目標是看看 ChatGPT 是否可以超越文本思考,並對現實世界進行推理,以幫助機器人完成任務。研究者希望以此便利人們與機器人的互動,而不需要學習複雜的程式語言或機器人系統的細節。
研究的關鍵挑戰在於教會 ChatGPT:如何透過考慮物理定律、操作環境以及機器人運用肢體動作改變周圍環境的方式來解決問題。
事實證明,ChatGPT 本身可以做很多事情,但它仍然需要一些幫助。團隊在論文中描述了一系列可用於指導語言模型解決機器人任務的設計原則,包括(但不限於)特別 prompt 結構、高級 API 和透過人類文本回饋。研究者認為,這項工作只是開發機器人系統的轉變的開始,並且希望透過這項研究激勵其他研究人員加入這個有趣的研究領域。
目前機器人的操作流程是從工程師或技術使用者開始,需要他們將任務需求轉換為系統程式碼。工程師會處於工作流程的迴路中,他們需要不斷編寫新的程式碼和規格來修正機器人的行為。總得來說,這個過程是緩慢的(使用者需要編寫低階程式碼)、昂貴的(需要對機器人技術有深入了解的高技能使用者)且低效的(需要多次互動才能正常運作)。
#但ChatGPT 開啟了一種新的機器人範式,並允許潛在的非技術型用戶參與到迴路之中,在監視機器人效能的同時向大型語言模型(LLM)提供高階回饋。透過遵循研究的設計原則,ChatGPT 可以為機器人場景產生程式碼。在沒有任何微調的情況下,研究利用 LLM 的知識來控制不同的機器人形狀,以完成各種任務。工作中,研究人員展示了多個 ChatGPT 解決機器人難題的範例,以及在操作、空中和導航領域的複雜機器人部署。
#Prompting LLM 是一門高度實證的科學。研究透過反覆試驗建立了一套為機器人任務編寫prompt 的方法和設計原則:
用戶滿意解決方案的話,程式碼就可以最終部署到機器人上。
#讓我們參考幾個例子,你也可以在程式碼庫中找到更多案例研究。
研究人員讓ChatGPT 控制真正的無人機,經證明,它是非技術使用者和機器人之間非常直覺的基於語言的介面。當使用者的指令含糊不清時,ChatGPT 會提出要明確化問題,並為無人機編寫複雜的程式碼結構以直觀地檢查架構,例如鋸齒形模式。它甚至學會了自拍!
#研究人員也使用Microsoft AirSim 模擬器在一個模擬工業檢驗場景中使用ChatGPT。該模型能夠有效地解析使用者的高階意圖和幾何線索,從而準確地控制無人機。
接下來,研究人員將ChatGPT 用於機械手臂的操作場景,並使用對話回饋來教導模型如何將最初提供的API 組合成更複雜的進階函數:ChatGPT 自動程式設計。該模型能夠使用課程本位策略,按照邏輯將學習到的技能連結在一起,以執行諸如堆疊塊等操作。
此外,當用木塊建立微軟標誌時,模型展示了一個連接文字和實體領域的完美範例。它不僅能夠從內部知識庫中回憶 logo,還能夠「繪製」logo(作為 SVG 程式碼),然後使用上面學到的技能來找出哪些現有的機器人動作可以構成其外形。
#接下來,研究人員讓ChatGPT 寫一個演算法,讓無人機在達到空中目標的同時不撞上障礙物。他們告訴模型,這架無人機有一個面向前方的距離感測器,ChatGPT 立即為演算法編寫了大部分關鍵構建塊。這項任務需要與人進行一些對話,ChatGPT 僅使用語言回饋就能進行在地化程式碼改進的能力令人印象深刻。
在做某事(行動)之前感知世界(感知)的能力是任何機器人系統的基礎。因此,研究人員決定測試 ChatGPT 對這個概念的理解,並要求它探索一個環境,直到找到使用者指定的物件。研究為模型提供了物件偵測和物件距離 API 等功能,並驗證了它產生的程式碼成功實現了感知 - 行動循環。
在實驗階段,研究者進行了額外的實驗,以評估ChatGPT 是否能夠根據感測器回饋即時決定機器人應該去哪裡(而不是讓ChatGPT 產生一個程式碼迴路來做出這些決定)。有趣的是,恰好驗證了可以在對話的每一步中輸入相機影像的文字描述,並且模型能夠弄清楚如何控制機器人,直到它到達特定的物件。
良好的Prompt 工程對於大型語言模型的成功至關重要,例如ChatGPT 用於機器人任務。可惜,Prompt 是一門實證科學,缺乏全面和可訪問的資源,其中能為該領域的研究人員和愛好者提供幫助的例子也是良莠不齊。為了彌合這一差距,研究者引入了「PromptCraft」,這是一個協作開源平台,任何人在這裡都可以分享不同機器人類別的Prompt 策略範例,而且,研究者公佈了在這項研究中使用的所有Prompt 和對話。
除了 Prompt 設計,研究還希望包含多個機器人模擬器和介面,讓使用者可以測試他們的 ChatGPT 產生的演算法。作為開始,研究還發布了一個與 ChatGPT 整合的 AirSim 環境,任何人都可以使用它來展開這些想法。
#ChatGPT-AirSim 介面
發布這些技術是一件值得慶祝的事,因為這會擴大機器人技術的受眾。微軟的研究人員相信,基於語言的機器人控制將會為讓機器人從科學實驗室走進日常用戶的生活奠定基礎。
本文要強調的是,在沒有仔細分析的情況下,ChatGPT 的輸出並不代表要直接部署在機器人上。研究者鼓勵使用者利用模擬的力量,以便在潛在的現實生活部署之前評估這些演算法,並始終採取必要的安全預防措施。本文所述的工作只代表了在機器人領域運作的大型語言模型的交集中可能實現的一小部分,希望能為更多的研究提供靈感。
原文連結:https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics/
以上是當我還在跟ChatGPT聊天,有人已經開始用它來控制機器人工作了的詳細內容。更多資訊請關注PHP中文網其他相關文章!