微軟導入ChatGPT和機器人互動 我們離賈維斯不遠了!

by atticus
2023.08.10 12:19PM
照片中提到了S,包含了使用 chatgpt 的機器人、機器人、機器人技術、機械臂、機器人控制

假設你家裡有一台機器人,名叫小明。如果你想讓小明幫你做事,例如拿一瓶水,你需要透過遙控器或手機App來控制,而且控制的功能相當僵化,要客製化就得寫程式,這對於不懂程式設計的人來說,是相當不便的。

有了ChatGPT,我們是不是可以直接對小明說:「小明,請幫我拿一瓶水。」小明機器人不僅能理解你的話,還能夠判斷哪裡有水,如何走過去,如何拿起瓶子,然後再走回來拿給你。

這就是我們期待的人工智慧機器人,若能直接告訴家中的助理機器人:「請幫我加熱午餐”,然後它自己找到微波爐,那不是很神奇嗎?」但我們仍然大量依賴手寫的程式碼來控制機器人,真希望能用說的就好了!微軟的人工智慧團隊正在探索如何使用ChatGPT,使自然的人機互動成為可能。

ChatGPT是一個在大量文本和人類互動上受過訓練的語言模型,能夠對各種提示和問題產生連貫且語法正確的回應。我們進行這項研究的目的、是想看看ChatGPT是否能超越文本,並對物理世界進行推理,以協助機器人完成任務。

先講微軟團隊的結論,ChatGPT本身可以做很多事情,但它仍然需要一些幫助,無法一句話到底就能完成,不過成果還是相當棒的,來看微軟如何透過ChatGPT讓無人機飛來飛去不會撞到家具,以及用機器手臂完成一個超簡單的微軟商標吧!

Chat GPT-4 Plugin實際體驗感想:人工智慧的威力無可限量

當今機器人技術的挑戰,以及ChatGPT如何提供幫助

現在的機器人技術,就像是給孩子玩具組裝指南,需要工程師一步一步地寫程式下指令告訴機器人該怎麼做。但過程很麻煩,因為每次機器人做錯了,工程師都要重新編修來修正它。

現在透過ChatGPT只要告訴它你想要的結果,它就能自己想辦法給機器人指令。這樣,即使你不是專家,也可以輕鬆地跟機器人互動。舉個例子,以前如果你想讓機器人幫你拿東西,你可能需要請專家寫一大堆指令。但現在有了ChatGPT,你只要說:「我想要那杯水”,機器人就知道該怎麼做了。」

▲當今的機器人技術與ChatGPT的比較

ChatGPT開啟了一個新的機器人技術範疇,允許一位(可能是非技術性的)使用者參與其中,同時監控機器人的表現,並向大型語言模型(LLM)提供高階的回饋。遵循以下的設計原則,ChatGPT可以為機器人場景生成程式碼。我們利用LLM大型語言模型,無需任何微調,就可以控制不同形態的機器人執行各種任務。以下展示二個例子,說明ChatGPT如何解決機器人的難題,以及在操控、航空和導航領域中複雜的機器人部署。

使用ChatGPT和機器人互動的設計原則

使用LLMs(大型語言模型,就像ChatGPT)來給出提示是一門需要不斷嘗試的科學方法。我們透過不斷的試驗,建立了一套方法和原則,來為機器人任務寫出適當的提示。

使用ChatGPT的新流程如下:

建立函示庫:首先,我們定義了一套高階的機器人函示庫,可以是特定於某一台機器人的,並且應該與機器人的控制系統或感知功能能夠相對應。給這些高階功能取一個描述性的名稱很重要,這樣ChatGPT才能理解它們的行為。

寫提示(Prompt):接著,我們為ChatGPT寫一段文字提示,描述任務的目標,並明確地說明可以使用哪些高階功能。這個提示還可以包含任務的限制,或者ChatGPT應該如何形成答案(使用哪種程式語言)。

使用者評估:使用者會檢查ChatGPT產生的程式碼,可以直接看,也可以用模擬器。如果需要,使用者可以用自然語言給ChatGPT反饋,告訴它回饋的結果品質和安全性如何。

部署到機器人:當使用者對解決方案感到滿意時,最終的程式碼可以被部署到機器人上。

有了ChatGPT後不需要再事前訓練機器人了!

我們讓ChatGPT能夠控制一台真正的無人機。結果發現,使用ChatGPT作為橋梁,一般使用者可以很直觀地用語言指令來控制機器人。當使用者的指令不夠明確時,ChatGPT會提問以確認詳細要求。它甚至能為無人機編寫複雜的程式碼,例如讓無人機以之字形飛行來檢查貨架。最驚人的是,它還知道如何讓無人機自拍!

此外,我們還在一個模擬的工業檢查場景中使用了ChatGPT,這是使用Microsoft AirSim模擬器進行的。模型能夠有效地解析使用者的高階意圖和幾何提示,從而精確地控制無人機。

▲透過ChatGPT遙控一台無人機。

使用ChatGPT進行對話 完成建立微軟logo任務

接著,我們使用ChatGPT來控制一個機械手臂。透過對話反饋,我們教模型如何將原先提供的API組合成更複雜的高階功能,而這些功能是ChatGPT自己編碼的。使用一種循序漸進的策略,模型能夠邏輯地將這些學到的技能串連起來,例如堆疊積木。

此外,當我們要求模型用木塊搭建Microsoft的標誌時,它展示了一個很有趣的例子,將文字和物理領域連接起來。它不僅能夠從內部知識庫中回憶起標誌,還能夠“畫”出標誌(使用SVG代碼),然後使用上面學到的技能來確定哪些現有的機器人動作可以組成它的實體形式。

▲透過ChatGPT告知機器手臂用積木做出微軟商標。

我們還要求ChatGPT為一台無人機編寫一個算法,使其在空間中達到目標,同時不撞到障礙物。我們告訴模型,這台無人機有一個面向前方的距離感測器,ChatGPT立刻編寫了算法的大部分關鍵組件。這項任務需要與人類進行一些對話,我們對ChatGPT僅使用語言反饋進行局部代碼改進的能力感到印象深刻。

▲請ChatGPT寫出在室內飛行時不會撞到東西的程式碼。

我們離賈維斯不遠了!

按照這個發展速度,我們離鋼鐵人中的超級數位助理賈維斯不遠了,而且還是實體的機器人。儘管這個機器人的形式可能不是一個人類的造型,而是一條機器手臂、一台無人機或者是一台小型的送貨車,但都無礙於智慧型機器人真正進入人類社會的事實。科幻電影中的畫面,將逐漸成為我們真實人生中的現實。