“你有沒有想過,你只需告訴你的家庭助理機器人:‘請加熱我的午餐’,它就會自己找到微波爐。這是不是很神奇?”
近日,微軟在其官網發表了一篇名為《機器人 ChatGPT:設計原則和模型能力(ChatGPT for Robotics:Design Principles and Model Abilities)》論文,公布了他們正在把ChatGPT應用于機器人上的研究成果。
文中稱,這項研究的目標是觀察ChatGPT是否可以超越文本思考,并對物理世界進行推理來幫助完成機器人任務。人類目前仍然嚴重依賴手寫代碼來控制機器人。該團隊一直在探索如何改變這一現實,并使用OpenAI的新人工智能語言模型ChatGPT實現自然的人機交互。
研究人員希望ChatGPT能夠幫助人們更輕松地與機器人互動,而無需學習復雜的編程語言或有關機器人系統的詳細信息。其中的關鍵難題就是教ChatGPT如何使用物理定律、操作環境的背景以及了解機器人的物理行為如何改變世界狀態,并以此來解決指定的任務。
針對微軟的此項研究,倫敦大學學院(UCL)名譽教授和計算機科學家彼得·本特利博士(Dr。Peter John Bentley)在接受《每日經濟新聞》記者采訪時表示,人類在未來用AI工具如ChatGPT來控制機器人是完全可行的路徑。
但他同時強調,就目前而言,ChatGPT還存在很多漏洞,在功能性、保障性,以及安全性上缺乏基本的能力。
日前,微軟發布了新版必應(Bing)互聯網搜索引擎和Edge瀏覽器,這些瀏覽器由ChatGPT制造商OpenAI的最新技術提供支持。圖為一名工作人員在演示基于人工智能的微軟必應搜索引擎和Edge瀏覽器 視覺中國圖
ChatGPT如何控制機器人
ChatGPT是一種基于大量文本和人類交互語料庫而訓練的語言模型,使其能夠對各種提示和問題生成連貫且語法正確的響應。
研究人員在該文章中表示,當前的機器人運轉始于工程師或技術用戶,他們需要將任務的要求轉換為系統代碼。工程師在機器人運轉的循環中,需要編寫新的代碼和規范來糾正機器人的行為。總的來說,這個過程緩慢、昂貴且低效,因為不僅需要具有深厚機器人知識的高技能用戶,而且需要用戶參與多次交互才能使機器人正常工作。
而ChatGPT解鎖了一種新的機器人范式,并允許潛在的非技術用戶在循環中,在監控機器人性能的同時向大型語言模型(LLM)提供高級反饋。
通過遵循設計者的設計原則,ChatGPT 可以為機器人場景生成代碼。在無需任何微調的情況下,人們就可以利用LLM的知識來控制各種任務的不同機器人外形。通過反復試驗,微軟的研究人員構建了一種方法和設計原則,專門為機器人任務編寫提示:
首先,定義一組高級機器人 API 或函數庫。該庫可以針對特定的機器人類型進行設計,并且應該從機器人的控制棧或感知庫映射到現有的低層次具體實現。為高級 API 使用描述性名稱非常重要,這樣 ChatGPT 就可以推理它們的行為。
接下來,為 ChatGPT 編寫一個文本提示,描述任務目標,同時明確說明高級庫中的哪些函數可用。提示還可以包含有關任務約束的信息,或者 ChatGPT 應該如何組織它的答案,包括使用特定的編程語言,或使用輔助解析組件等。
再次是,用戶通過直接檢查或使用模擬器來評估 ChatGPT 的代碼輸出。如果需要,用戶使用自然語言向 ChatGPT 提供有關答案質量和安全性的反饋。
最后,當用戶對解決方案感到滿意時,就可以將最終的代碼部署到機器人上。
ChatGPT+機器人將帶來什么
文章中,微軟的研究團隊展示了在人們的工作中,ChatGPT解決機器人難題的多個示例,以及在操縱無人機和導航領域的復雜機器人部署。
研究人員讓 ChatGPT 訪問控制一臺真正的無人機的全部功能,事實證明,非技術用戶和機器人之間可以用非常直觀且基于自然語言的交流。
當用戶的指令模棱兩可時,ChatGPT會提出澄清問題,并為無人機編寫復雜的代碼結構,例如飛行之字(zig-zag)圖案,以便可視化地檢查貨架;甚至還能給用戶來一張自拍。
研究人員要求 ChatGPT 編寫一個算法,讓無人機在不撞上障礙物的情況下,在空中達到目標。研究人員告訴該模型,這架無人機有一個前向距離傳感器,ChatGPT立即為算法編碼了大部分關鍵構建塊。
研究人員表示,這項任務需要人類進行一些對話,但ChatGPT 僅使用自然語言反饋進行本地化代碼改進的能力給他們留下了深刻的印象。
微軟的研究人員還在模擬的工業檢測場景中使用了ChatGPT,并使用了Microsoft AirSim模擬器,該模型能夠有效地解析用戶的高級意圖和幾何線索,以準確控制無人機。
當把ChatGPT用于機械臂的操作場景時,研究者使用對話反饋來教模型如何將最初提供的 API 組合成更復雜的高級函數,即,ChatGPT自己內部編碼的函數。使用基于課程的策略,該模型能夠將這些學到的技能邏輯地鏈接在一起,以執行堆疊塊等操作。
此外,該模型還展示了一個有趣的示例,即在用木塊構建微軟logo時橋接文本域和物理域。ChatGPT不僅能夠從其內部知識庫中調用微軟的logo,還能夠用SVG的代碼“繪制”這個logo,然后利用上面學到的技能來確定現有的機器人動作和可以組成它的物理形式。
談及微軟在論文中的演示示例,本特利博士告訴《每日經濟新聞》記者,“微軟已經展示了一些簡單的操作,ChatGPT可以用來生成計算機代碼,這些代碼可以控制機器人,所以用ChatGPT來控制機器人是完全可行的方案。”。
但本特利博士認為,在現階段來說,ChatGPT雖然能夠生成計算機代碼,但機器人控制的問題在于,計算機代碼可能需要為特定的硬件量身定制才能正常工作。ChatGPT目前使用的是它已經學習到的代碼示例,它(ChatGPT)或許并不兼容最新的硬件。
“所以,ChatGPT不太可能與人類開發人員相提并論。它只是提供了一個簡單的捷徑,可以幫助人們學習基礎知識,但它缺乏作為開發人員的基本能力。”
ChatGPT輸出內容仍需評估
研究人員在該文中表示,在做某事(行動)之前能夠感知世界是打造機器人系統的基礎。因此,他們決定測試 ChatGPT 對這個概念的理解,并要求它探索一個環境,直到找到用戶指定的對象。研究者允許模型訪問對象檢測和對象距離 API 等功能,并驗證它生成的代碼是否成功實現了感知-操作循環(Perception- action loops)。
在實驗角色中,研究者進行了額外的實驗,以評估ChatGPT是否能夠根據傳感器實時反饋決定機器人應該去哪里,而不是讓ChatGPT生成一個代碼循環來做出這些決定。有趣的是,結果驗證了人們可以在聊天的每一步提供相機圖像的文本描述,并且ChatGPT模型能夠弄清楚如何在機器人到達特定物體之前控制它。
該文稱,微軟發布這些技術的目的是將機器人技術推廣到更廣泛的受眾,研究人員相信,基于語言的機器人控制系統是把機器人從科學實驗室帶到日常用戶手中的基礎。
但是,微軟的研究者也表示,ChatGPT 的輸出不應該在沒有仔細分析的情況下直接部署在機器人上。通過在模擬環境中獲得實驗結果,能夠在未來現實部署之前對算法進行評估,并采取必要的安全預防措施。
本特利博士對此表示認同,他向《每日經濟新聞》記者進一步解釋稱,就目前而言,ChatGPT還存在很多漏洞,在功能性、保障性,以及安全性上缺乏基本的能力。
“例如,ChatGPT可以編寫計算機代碼,但它不能做任何測試,也不知道它輸出的代碼運行起來是否有效。研究人員需要更好的反饋循環,以便測試結果在改進的代碼中,否則ChatGPT的輸出可能仍然是不合適的(不安全、或不能工作)。”