
在本周的AI大會(huì)上,Google展示可為機(jī)器人加入AI能力,使機(jī)器人能為自己寫(xiě)程序,而不必再通過(guò)大量資料訓(xùn)練。
Google研究科學(xué)家Andy Zeng說(shuō)明,控制機(jī)器人最常見(jiàn)的方法是寫(xiě)程序讓它們偵測(cè)物體、串行指令來(lái)推進(jìn)制動(dòng)器及反饋循環(huán)(feedback loop),命令機(jī)器人該做什么。但是為每一項(xiàng)新任務(wù)撰寫(xiě)規(guī)則,卻相當(dāng)耗時(shí),且需要領(lǐng)域知識(shí)。
現(xiàn)代AI語(yǔ)言模型已越來(lái)越強(qiáng)大,例如Google今年初發(fā)布的PaLM具備復(fù)雜的理解能力,這類(lèi)語(yǔ)言模型以數(shù)百萬(wàn)程序加以訓(xùn)練而成,只要人類(lèi)給適當(dāng)自然語(yǔ)言指令,模型就能撰寫(xiě)泛型程序,也能寫(xiě)出控制機(jī)器人行為的程序代碼。
為了實(shí)現(xiàn)上述概念,Google開(kāi)發(fā)了Code as Policies(CaP),這是將語(yǔ)言模型產(chǎn)生的程序,以實(shí)體機(jī)器人實(shí)例執(zhí)行。CaP是Google早先開(kāi)發(fā)的幫手機(jī)器人模型PaLM-SayCan的延伸。Google的CaP希望用戶(hù)以Python通用語(yǔ)言運(yùn)用少量、簡(jiǎn)單的說(shuō)明,就能讓語(yǔ)言模型撰寫(xiě)機(jī)器人程序代碼,讓機(jī)器人精準(zhǔn)執(zhí)行,最終目的在可讓單一系統(tǒng)執(zhí)行多種復(fù)雜任務(wù),而不需特別訓(xùn)練。
研究人員解釋?zhuān)珻aP使用一種程序代碼撰寫(xiě)模型,在提供了暗示(如告知它有哪些API)及范例(如命令該如何轉(zhuǎn)成程序代碼)后,就能為新命令撰寫(xiě)新程序代碼,像是重寫(xiě)API調(diào)用、合成新函數(shù),表達(dá)反饋循環(huán),以程序語(yǔ)言表達(dá)出來(lái),在runtime組成新行為。
CaP可將概括化結(jié)果輸入到有知覺(jué)控制的系統(tǒng),不需要像傳統(tǒng)機(jī)器人學(xué)習(xí)過(guò)程中搜集大量資料才能學(xué)習(xí)。它還能運(yùn)用第三方函數(shù)庫(kù)來(lái)內(nèi)插數(shù)據(jù)點(diǎn)或分析、產(chǎn)生形狀;除了能泛化指令,還能將精準(zhǔn)的值翻譯成模糊描述(例如將特定速度翻譯成“很快”)。并能套用其他語(yǔ)言模型,像是支持非英語(yǔ)指令及emoj的指令。
Google說(shuō),這策略也是在現(xiàn)有機(jī)器學(xué)習(xí)從“模塊化”(modularity)到“泛化”(generalization)的策略,并運(yùn)用開(kāi)源及從網(wǎng)絡(luò)搜集大量資料外,另辟蹊徑的方法。
目前Google的CaP機(jī)器人可以執(zhí)行簡(jiǎn)單任務(wù),像是在某區(qū)塊中間“畫(huà)5厘米六角形”或是“將積木排成水平直線”。不過(guò)研究人員也坦承這系統(tǒng)還無(wú)法處理抽象或復(fù)雜指令,或理解較復(fù)雜的描述。
Google已經(jīng)將CaP的程序代碼及技術(shù)白皮書(shū)公開(kāi)在GitHub上。