盧策吾 ,王世全
a Department of Computer Science and Engineering, Shanghai Jiao Tong University , Shanghai 200240, China b Flexiv Ltd., Shanghai 201105, China
在日常的工作和生活中,我們希望智能設(shè)備能幫助我們完成各種各樣的任務(wù)。因此,我們經(jīng)常需要根據(jù)不同的任務(wù)和場(chǎng)景設(shè)計(jì)各種機(jī)器人和相應(yīng)算法。但是,這樣遠(yuǎn)遠(yuǎn)達(dá)不到我們對(duì)智能的期望,也滿足不了現(xiàn)實(shí)中對(duì)任務(wù)和場(chǎng)景自適應(yīng)的需求。而反觀我們?nèi)吮旧?,如果將人類看作一個(gè)“智能本體”,用這樣一個(gè)本體(加上適當(dāng)工具),我們可以做不同的操作任務(wù)適應(yīng)不同的場(chǎng)景。這也啟發(fā)我們,我們需要一個(gè)通用的智能本體(generalpurpose intelligent agent, GIA),大部分任務(wù)可以在同一個(gè)本體上執(zhí)行,從而大大提高產(chǎn)業(yè)和生活的智能程度。我們還認(rèn)為,為了接近通用人工智能的目標(biāo)[1],一個(gè)強(qiáng)大的、標(biāo)準(zhǔn)的通用智能本體是必要的。
所以,本文探討了通用智能本體所需要的體系結(jié)構(gòu),我們從以下兩個(gè)角度討論。類人性(human-like):我們希望通用智能本體能和人類一樣有完整的感知能力[2]、決策能力[3],同時(shí)能不斷接收新知識(shí)[4],積累經(jīng)驗(yàn),適應(yīng)新的環(huán)境,并且能驅(qū)動(dòng)本體正確實(shí)施各種操作,最終完成任務(wù)。類計(jì)算機(jī)性(computer-like):我們希望通用智能本體在體系結(jié)構(gòu)設(shè)計(jì)上能參照計(jì)算機(jī)的設(shè)計(jì)思想[5],比如,我們需要有清晰的模塊和模塊之間的協(xié)議,模塊自身可升級(jí),同時(shí)用戶能通過(guò)高級(jí)語(yǔ)義編程方式低成本地面向任務(wù)描述,而無(wú)需關(guān)心底層設(shè)計(jì)。在充分考慮功能的類人性和設(shè)計(jì)的類計(jì)算機(jī)性后,我們提出了元操作流模型,提取跨任務(wù)間的元操作共性,盡量用最簡(jiǎn)單的結(jié)構(gòu)完成盡可能多的任務(wù)。本文建議通用智能本體應(yīng)該有五大基本模塊:執(zhí)行模塊、中央GIA處理器、感知模塊、知識(shí)引擎和任務(wù)編譯器。在下文中,我們將討論這些模塊如何協(xié)同地實(shí)現(xiàn)在功能上與人類可類比(具有智能性),也同時(shí)在設(shè)計(jì)思路上與計(jì)算機(jī)可類比(具有可操作性)。我們希望設(shè)計(jì)的體系機(jī)構(gòu)能實(shí)現(xiàn)以下的三大特性。
(1)可遷移性:在執(zhí)行大多數(shù)任務(wù)時(shí),無(wú)需更換本體,用戶只需提供簡(jiǎn)單地任務(wù)描述,無(wú)需重新設(shè)計(jì)底層通用硬件,協(xié)議和操作系統(tǒng);
(2)可擴(kuò)展性:和通用計(jì)算機(jī)的模塊(CPU, RAM)一樣,各個(gè)基本模塊相對(duì)獨(dú)立,且可升級(jí);
(3)可群智性:面向群體智能,知識(shí)可增長(zhǎng),經(jīng)驗(yàn)可共享。隨著通用智能本體群完成任務(wù)的增加,知識(shí)體系得到擴(kuò)展,學(xué)習(xí)新任務(wù)所需的時(shí)間減少。
我們還進(jìn)一步討論了如何量化衡量一個(gè)本體的智能程度。我們認(rèn)為任務(wù)遷移能力是衡量一個(gè)本體智能的最重要標(biāo)準(zhǔn),所以,提出了機(jī)器人類學(xué)習(xí)成本比(agenthman cost ratio, AHCR)的衡量指標(biāo),即對(duì)于一項(xiàng)新的任務(wù),一個(gè)本體需要人類的多少倍時(shí)間學(xué)會(huì)該任務(wù),這個(gè)指標(biāo)可以很好地衡量一個(gè)本體在通用智能方面的綜合能力。必須注意的是,本文中通用智能本體的概念不是要苛求完成所有人類的操作任務(wù),而是追求盡可能多的任務(wù)能在一個(gè)統(tǒng)一的本體上完成。因?yàn)楦鶕?jù)某些特定場(chǎng)景的需要,特制機(jī)器人會(huì)有更高的效率,比如掃地機(jī)器人。這個(gè)正如通用計(jì)算機(jī)和特殊功能計(jì)算機(jī)的關(guān)系,雖然絕大多數(shù)人使用通用計(jì)算機(jī)體系結(jié)構(gòu),但是某些特殊計(jì)算需要使用特殊體系結(jié)構(gòu)的計(jì)算機(jī)。
文中我們先介紹通用智能本體的基本體系結(jié)構(gòu)和評(píng)價(jià)指標(biāo),以及對(duì)智能科學(xué)的影響,之后討論在各個(gè)行業(yè)中的應(yīng)用。最后做出總結(jié)。
各種行業(yè)、各種環(huán)境下有著各種各樣需要完成的操作任務(wù)。通用智能本體的核心就是要用一個(gè)簡(jiǎn)單模型來(lái)統(tǒng)一描述這樣近乎無(wú)窮數(shù)目的操作任務(wù)。因此,我們提出了元操作流模型。任何一個(gè)人類操作任務(wù)都可以分解為多個(gè)步驟。比如任務(wù)“擰開(kāi)螺絲”,會(huì)分解成為抓起螺絲刀,移動(dòng)螺絲刀對(duì)準(zhǔn)螺釘,擰動(dòng)螺絲刀,取出螺絲刀。
我們沿著這一思路,探討如何把一個(gè)大的操作分解成為多個(gè)小操作。為了讓一個(gè)任務(wù)的分解更明確,我們定義“可不再向下分解的通用操作”為元操作,比如抓、擰、插入、揉壓等。我們要求這些元操作需要具有足夠廣泛的遷移共性,這些共性是跨任務(wù)、跨操作對(duì)象的。
比如,我們?cè)卺t(yī)療行業(yè)扭開(kāi)一個(gè)藥瓶蓋和在家用行業(yè)扭開(kāi)一個(gè)牛奶瓶蓋具有很強(qiáng)的共性。而且可預(yù)期的是,人類的元操作集合是有限的。因此,在定義好元操作集合后,人類的任何操作任務(wù),都可以解析為一個(gè)元操作流,也就是一串元操作序列。接下來(lái),我們更加深入地討論元操作的完備定義和元操作流的構(gòu)建。
一個(gè)完備的元操作定義,除了元操作類型P(比如抓、擰、插入),需要考慮操作對(duì)象O、元操作完成后的最終狀態(tài)S集合。某些操作任務(wù)最終完成狀態(tài)S可能有多種可能性,比如敲碎玻璃,最終結(jié)果敲碎可能有普通玻璃的碎裂狀態(tài)或鋼化玻璃的顆粒狀粉碎狀態(tài)等。所以我們認(rèn)為S是一個(gè)集合,元操作P針對(duì)操作對(duì)象O順利執(zhí)行后,客觀環(huán)境狀態(tài)轉(zhuǎn)變至最終狀態(tài)集合S中的一種。我們簡(jiǎn)稱這幾個(gè)要素為自適應(yīng)元操作三要素{P,O, S}。
當(dāng)本體獲取三要素{P, O, S}后,本體啟動(dòng)元操作P的知識(shí),提取物體O的狀態(tài)(視覺(jué)、力覺(jué))與屬性,做出自適應(yīng)操作,指導(dǎo)達(dá)到完成狀態(tài)S。這需要依賴一個(gè)好的知識(shí)引擎,細(xì)節(jié)會(huì)在后面介紹。我們從概念上定義S集合,但是實(shí)際中,如果S集合過(guò)于龐大無(wú)法枚舉,我們將設(shè)計(jì)(或者訓(xùn)練)一個(gè)判別函數(shù)來(lái)反饋當(dāng)前狀態(tài)是否為完成狀態(tài),以及該狀態(tài)的具體情況。
在元操作集合確定后,如何動(dòng)態(tài)地根據(jù)當(dāng)前環(huán)境選擇元操作是一個(gè)開(kāi)放的學(xué)術(shù)問(wèn)題。我們需要一個(gè)元操作選擇函數(shù)T()來(lái)決定當(dāng)前時(shí)刻的元操作選擇,從而形成元操作流。另外,如何基于通用智能本體的基本架構(gòu)設(shè)計(jì)更加智能、更加通用的元操作,也是一個(gè)開(kāi)放的學(xué)術(shù)問(wèn)題。這些都需要群體智慧來(lái)共同推進(jìn)。
意義:元操作流模型可以使各種復(fù)雜的任務(wù)的描述和操作簡(jiǎn)單化??紤]到人類元操作種類有限,很多復(fù)雜的任務(wù)描述可以變成元操作的組合問(wèn)題。而同一個(gè)元操作,即使面對(duì)不同的物體,也會(huì)有很強(qiáng)的共性,這使得我們有可能抽取其中的共性,編輯成元操作知識(shí),實(shí)現(xiàn)非常強(qiáng)的復(fù)用性和任務(wù)可遷移性。
如圖1所示,我們探討通用智能本體的基本模塊:執(zhí)行模塊、中央GIA處理器、感知模塊、知識(shí)引擎、任務(wù)編譯器。這些模塊作為一個(gè)整體在統(tǒng)一的協(xié)議下,完成各種任務(wù),不需要為某個(gè)特定任務(wù)重新設(shè)計(jì)新的軟硬件體系結(jié)構(gòu)。
接下來(lái)我們以元操作流模型為邏輯基礎(chǔ),簡(jiǎn)單介紹五大基本模塊。
執(zhí)行模塊。該部分主要由移動(dòng)平臺(tái)與操作平臺(tái)兩大硬件體系組成。
(1)移動(dòng)平臺(tái)。通過(guò)移動(dòng)平臺(tái)空間上的移動(dòng),靠近被操作對(duì)象,使得被操作對(duì)象處于操作平臺(tái)的工作空間內(nèi)。常見(jiàn)的移動(dòng)平臺(tái)包括滑軌、輪式、四足、雙足等系統(tǒng),移動(dòng)局限和靈活性依次降低,控制難度依次提升。如何提升控制穩(wěn)定性、靈活性及運(yùn)行效率,仍是機(jī)器人領(lǐng)域重要的研究方向。
(2)操作平臺(tái)。通過(guò)對(duì)操作對(duì)象施加空間上不同位置、不同維度的施力,使得操作對(duì)象產(chǎn)生所預(yù)期規(guī)劃的結(jié)果。常見(jiàn)的操作平臺(tái)包括并行、串聯(lián)等機(jī)構(gòu)類型的機(jī)器臂及其末端執(zhí)行器,驅(qū)動(dòng)方式包括電驅(qū)、氣動(dòng)、液壓等驅(qū)動(dòng)類型。如何兼顧操作力的精度和靈活度,操作平臺(tái)的速度、穩(wěn)定性、負(fù)載和能效,是執(zhí)行模塊進(jìn)一步進(jìn)化的關(guān)鍵課題。
圖1 . 通用智能本體的五個(gè)基本模塊。
感知模塊。感知模塊接收外界信號(hào),包括采集視覺(jué)信號(hào)、力覺(jué)信號(hào)、聲音信號(hào)等,同時(shí)解析環(huán)境中的視覺(jué)、力覺(jué)、聽(tīng)覺(jué)等語(yǔ)義。其中,解析視覺(jué)語(yǔ)義和聽(tīng)覺(jué)語(yǔ)義分別需要使用計(jì)算機(jī)視覺(jué)技術(shù)和語(yǔ)音識(shí)別。
學(xué)術(shù)問(wèn)題:視覺(jué)聽(tīng)覺(jué)信號(hào)采集為相對(duì)成熟的技術(shù),其中視覺(jué)信息可能包括精確三維信息與熱感信息。而目前,基于深度學(xué)習(xí)的計(jì)算機(jī)視覺(jué)技術(shù)對(duì)于未在訓(xùn)練集中出現(xiàn)的物體識(shí)別能力有限,如何融合環(huán)境交互提高對(duì)新物體的識(shí)別也是一個(gè)開(kāi)放性的學(xué)術(shù)問(wèn)題。力覺(jué)感知器的反饋信息可能包含低頻的六維力覺(jué)信號(hào)(三維接觸力和三維接觸扭矩)、高頻的觸覺(jué)信號(hào)(接觸面的震動(dòng)狀態(tài),可用來(lái)辨識(shí)接觸物體的物理特性和操作狀態(tài)特性)以及觸覺(jué)空間信息(力覺(jué)信號(hào)的空間分布,一般通過(guò)陣列形式的傳感器獲取,類圖像特征)。目前,力覺(jué)感知器的設(shè)計(jì)與解析方法在研究上仍處于不斷發(fā)展的階段,同時(shí)如何更準(zhǔn)確全面、成本更低地獲取合適的力覺(jué)信息并與其他感知維度進(jìn)行有效融合,是一個(gè)開(kāi)放性的學(xué)術(shù)課題。
任務(wù)編譯器。任務(wù)編譯器是用戶向通用智能本體布置任務(wù)的統(tǒng)一界面。具體講,我們提出開(kāi)發(fā)一種“面向任務(wù)的高級(jí)語(yǔ)言”,用戶使用該語(yǔ)言,通過(guò)執(zhí)行模塊、感知模塊及編譯專用設(shè)備等媒介進(jìn)行任務(wù)描述,在實(shí)際應(yīng)用中能進(jìn)行元操作流生成。具體地說(shuō),任務(wù)編譯器負(fù)責(zé)編譯成可以執(zhí)行的元操作選擇函數(shù)Z()。該函數(shù)能根據(jù)感知模塊所反饋的信息,結(jié)合知識(shí)引擎提供知識(shí),從有限的元操作庫(kù)中選擇當(dāng)前最佳的元操作。和傳統(tǒng)計(jì)算機(jī)編程語(yǔ)言不同,用戶不止能通過(guò)編寫(xiě)程序代碼的形式,甚至能通過(guò)動(dòng)作示教、自然語(yǔ)言等多種方式實(shí)現(xiàn)任務(wù)描述。
學(xué)術(shù)問(wèn)題:如何描述一個(gè)任務(wù)(特別是復(fù)雜操作任務(wù))從而生成(或者學(xué)習(xí)出)一個(gè)機(jī)器可執(zhí)行的元操作選擇函數(shù)Z(),也將是一個(gè)嶄新的科學(xué)問(wèn)題。通過(guò)演示學(xué)習(xí)是一個(gè)直接的解決方案,并已研究了很長(zhǎng)時(shí)間[6],但它通常是特定于機(jī)器人的,而且成本高昂,無(wú)法記錄復(fù)雜任務(wù)的每一個(gè)可能的成功路徑??紤]到自然語(yǔ)言處理(NLP)技術(shù)最近已取得了相當(dāng)大的進(jìn)步[7],通過(guò)自然語(yǔ)言向機(jī)器人布置任務(wù)也是很有前途的方案;然而,自然語(yǔ)言是開(kāi)放的,而我們更容易從閉合詞匯集中學(xué)習(xí)到技能。
進(jìn)一步我們要思考機(jī)器教學(xué)(machine teaching),而不只是是機(jī)器學(xué)習(xí)(machine learning)。之前,大家關(guān)注機(jī)器學(xué)習(xí)是因?yàn)椋瑱C(jī)器教學(xué)問(wèn)題相對(duì)簡(jiǎn)單,只需要做樣本標(biāo)注就可以,而如何讓機(jī)器理解任務(wù)則是一個(gè)更加有難度的問(wèn)題。
技術(shù)展望:對(duì)于有固定步驟的任務(wù)(比如工業(yè)場(chǎng)景),我們可以直接編寫(xiě)元操作順序。而對(duì)于每一步都需要?jiǎng)討B(tài)決策使用什么樣的元操作,目前比較可探索的方法需要觀察人類的決策行為,采用模仿學(xué)習(xí)。這一過(guò)程中,“未來(lái)預(yù)測(cè)”,也是一個(gè)關(guān)鍵的技術(shù)點(diǎn),人類在選擇元操作流不需要大規(guī)模試錯(cuò),而是基于對(duì)未來(lái)的基本預(yù)判,這將大大地提升決策成功的可能性。
知識(shí)引擎。在統(tǒng)一的協(xié)議下,不同用戶可以對(duì)物體和物體操作進(jìn)行知識(shí)編輯,對(duì)知識(shí)庫(kù)進(jìn)行擴(kuò)展。比如,微波爐廠商生產(chǎn)微波爐,可以對(duì)其操作知識(shí)進(jìn)行知識(shí)編輯,這些知識(shí)通過(guò)統(tǒng)一格式上傳到云端的中央AIG知識(shí)引擎。通用智能本體對(duì)環(huán)境進(jìn)行解析識(shí)別,在知識(shí)庫(kù)中找到對(duì)應(yīng)知識(shí),或者找到最相似的知識(shí)集合,對(duì)當(dāng)前案例所需要的操作進(jìn)行推理。
學(xué)術(shù)問(wèn)題:①如何定義物體知識(shí)以及物體操作知識(shí)的編輯協(xié)議;②面對(duì)大量動(dòng)態(tài)知識(shí)(比如各種元操作知識(shí))如何使用人機(jī)交互完成;③當(dāng)知識(shí)庫(kù)中沒(méi)有絕對(duì)匹配知識(shí)時(shí),如何依靠相近知識(shí)進(jìn)行推理。
技術(shù)展望:我們希望構(gòu)建一個(gè)全方位的知識(shí)庫(kù),包括:
(1)基于物體屬性的知識(shí)引擎:收集大量三維物體信息,并編輯物體屬性,包括物體各個(gè)部分的功能、使用方式和物理屬性等。目前,沒(méi)有一個(gè)包含所有標(biāo)注信息的物體數(shù)據(jù)庫(kù)。作為當(dāng)前最大的物體數(shù)據(jù)集,Shape-Net [8]標(biāo)注了一些屬性,但是對(duì)象和屬性的覆蓋都不完整。然而,如何建立物體屬性標(biāo)注的有效協(xié)議也是一件重要的事情。當(dāng)我們建立了物體屬性空間后,對(duì)物體的理解會(huì)有更強(qiáng)的泛化性。當(dāng)遇到新的未見(jiàn)物體,雖然沒(méi)見(jiàn)過(guò),在通過(guò)多次交互與識(shí)別獲得其屬性后,我們?nèi)匀荒茌^好地理解該物體,并且將這些理解運(yùn)用到操作上。這樣的設(shè)置是ShapeNet無(wú)法滿足的。
(2)自適應(yīng)元操作知識(shí)引擎:對(duì)于每一個(gè)特定元操作,在處理不同物體對(duì)象時(shí)具有一定共性,并且這種共性是跨任務(wù)的。我們希望能抽取同一元操作下的共同操作知識(shí),面對(duì)不同處理對(duì)象能非常好地完成操作任務(wù)。具體講,需要設(shè)計(jì)(或者學(xué)習(xí))一個(gè)M函數(shù)。對(duì)于第i個(gè)操作元,給定操作對(duì)象物體集合O(可能包括對(duì)象物體、工具等)、最終狀態(tài)S,Mi輸出一個(gè)可執(zhí)行的指令u來(lái)完成元操作,數(shù)學(xué)上可以寫(xiě)為u = Mi(O, S)。函數(shù)M的構(gòu)建需要結(jié)合實(shí)時(shí)的力覺(jué)、視覺(jué)等感知信息及引擎中的相關(guān)知識(shí)。u為基于特定控制策略和感知信息的一段機(jī)器執(zhí)行動(dòng)作。要注意的是,物體屬性知識(shí)會(huì)是操作O的主要依據(jù)(比如插入前需要判斷物體的哪些特征可插、材質(zhì)屬性對(duì)插入力的影響等)。操作元的概念有兩種:顯式的(即基于規(guī)則的)[9]和隱式的(即數(shù)據(jù)驅(qū)動(dòng)的)[10]。傳統(tǒng)上,顯式方案從未嘗試將所有日常操作聯(lián)合起來(lái),并將注意力集中在幾個(gè)特定的小任務(wù)上,如抓取、移動(dòng)和清掃[11]。很難將規(guī)則定義的原語(yǔ)組合成相當(dāng)復(fù)雜的任務(wù)。相反,隱式方案的目標(biāo)是完全通過(guò)數(shù)據(jù)來(lái)學(xué)習(xí)操作模式。考慮到任務(wù)拓?fù)涞膹?fù)雜性,可能無(wú)法收集所需的適當(dāng)數(shù)據(jù)量。我們的想法與顯式方案密切相關(guān),因?yàn)槲覀優(yōu)槊總€(gè)原語(yǔ)分配一個(gè)人類可識(shí)別的名稱。
(3)任務(wù)知識(shí)引擎:當(dāng)我們建立和完善元操作知識(shí)引擎時(shí),我們需要根據(jù)任務(wù)確定元操作的組合步驟,其中也存在許多步驟次序不固定的任務(wù)。目前,人類的行為被海量的視頻所記錄,我們可以解析這些行為在各種環(huán)境和操作物體下的元操作序列[12],來(lái)獲得任務(wù)知識(shí)引擎[13]。這可以很大程度提高用戶使用任務(wù)編輯器描述任務(wù)的效率。任務(wù)解析具有挑戰(zhàn)性,因?yàn)槿蝿?wù)通常可以通過(guò)不同的例程來(lái)完成。換句話說(shuō),常規(guī)任務(wù)的任務(wù)拓?fù)涫菑?fù)雜的,模型參數(shù)無(wú)法捕獲如此巨大的空間。這就是為什么數(shù)據(jù)驅(qū)動(dòng)方法對(duì)于這樣一個(gè)問(wèn)題是不可行的主要原因[14]。但是,我們的操作元知識(shí)引擎將優(yōu)先處理任務(wù)解析問(wèn)題。
中央GIA處理器。解析任務(wù)編譯器的任務(wù)之后,中央GIA處理器讀取感知模塊信號(hào),并調(diào)用知識(shí)引擎中的知識(shí)做出綜合決策,并向執(zhí)行模塊發(fā)出指令。該模塊為整個(gè)系統(tǒng)的中心計(jì)算模塊,涉及如何快速提取云端知識(shí)引擎,以及實(shí)時(shí)決策,對(duì)計(jì)算設(shè)計(jì)模型提出了一定的要求。
該體系架構(gòu)有三大特點(diǎn):
(1)面向任務(wù)語(yǔ)義編輯。用戶可以通過(guò)任務(wù)編譯器向通用智能本體發(fā)放任務(wù)描述。與此配合的,我們提議一套面向任務(wù)的高級(jí)編程語(yǔ)言,用戶無(wú)需設(shè)計(jì)智能本體底層結(jié)構(gòu)。正如我們使用高級(jí)語(yǔ)言計(jì)算機(jī)編程時(shí),不需要設(shè)計(jì)處理計(jì)算機(jī)CPU、內(nèi)存等各種細(xì)節(jié)。
(2)標(biāo)準(zhǔn)協(xié)議下的可升級(jí)模塊。感知模塊、執(zhí)行模塊和中央GIA處理器都有統(tǒng)一的運(yùn)行協(xié)議,以及各模塊之間通訊協(xié)議,無(wú)論是硬件還是軟件都可以獨(dú)立升級(jí)。
(3)知識(shí)與經(jīng)驗(yàn)可增長(zhǎng)。在建立一定物體和操作知識(shí)編輯協(xié)議后,知識(shí)引擎是對(duì)全體用戶開(kāi)放的,可以在統(tǒng)一規(guī)范下提交物體、元操作、任務(wù)等知識(shí)模塊,實(shí)現(xiàn)知識(shí)不間斷增長(zhǎng)。
討論:我們提出通用智能本體既要從智能功能上與人類類比,又要從設(shè)計(jì)上與計(jì)算機(jī)類比(表1)。
類比人類:中央GIA處理器可類比大腦負(fù)責(zé)邏輯區(qū)域,負(fù)責(zé)綜合處理;感知模塊可類比眼睛、耳朵、觸覺(jué)神經(jīng),大腦視覺(jué)聽(tīng)覺(jué)觸覺(jué)理解模塊獲取環(huán)境信息;知識(shí)引擎可類比大腦記憶區(qū)間,執(zhí)行模塊類比人的手和腳;而任務(wù)編譯器類似大腦中的語(yǔ)言理解區(qū)間,用于理解用戶任務(wù)描述。
類比計(jì)算機(jī):任務(wù)編譯器類似計(jì)算機(jī)中的編譯器,使得各種程序可以執(zhí)行在中央GIA處理器(類比CPU)上。而知識(shí)引擎可以類比存儲(chǔ)器。而感知模塊自然可以類比計(jì)算機(jī)的輸入設(shè)備、鍵盤(pán)、鼠標(biāo)。但是,計(jì)算機(jī)沒(méi)有辦法影響外部物理世界,所以執(zhí)行模塊沒(méi)有對(duì)應(yīng)計(jì)算機(jī)模塊。我們列出類比表格,如表1所示。
我們需要一個(gè)可量化指標(biāo)來(lái)衡量智能通用本體的性能??蛇w移性是直接衡量一個(gè)本體的通用智能程度的標(biāo)準(zhǔn),即完成一項(xiàng)新任務(wù)所需要的學(xué)習(xí)成本是多少。這也是當(dāng)前以深度學(xué)習(xí)為基礎(chǔ)的人工智能技術(shù)的瓶頸所在[15]?;诖?,我們提出以AHCR作為衡量指標(biāo)(單位是小時(shí)),我們定義如下。
表1 人類功能器官與計(jì)算機(jī)設(shè)計(jì)模塊類比表
對(duì)于某一任務(wù)A,我們令:
Tagent:從用戶開(kāi)始編寫(xiě)任務(wù)A描述程序起,到本體學(xué)會(huì)任務(wù)A為止所需的平均時(shí)間;
Thuman:人類學(xué)習(xí)者從學(xué)習(xí)任務(wù)A起,到學(xué)會(huì)任務(wù)為止所需的平均時(shí)間。
因此,我們可以計(jì)算任務(wù)A的AHCR如下:
AHCR =Tagent/Thuman
Tagent也稱為“本體教學(xué)總成本”。這里用“平均時(shí)間”是考慮到每個(gè)人使用的時(shí)間會(huì)有所偏差。AHCR的概念是一個(gè)本體需要人類的多少倍時(shí)間完成一個(gè)新任務(wù)的學(xué)習(xí)。我們希望這個(gè)數(shù)值接近1或者小于1。
這一指標(biāo)能全面地衡量一個(gè)本體的通用智能能力。因?yàn)椤敖虒W(xué)完成時(shí)間”涉及兩個(gè)因素:①任務(wù)編程器的成熟程度,屬于“教”所需要的時(shí)間,如果我們描述一個(gè)任務(wù)需要大量的時(shí)間,比如大量的硬規(guī)則(hard-coding)編寫(xiě)時(shí)間,那么將會(huì)增大“教學(xué)總時(shí)間”,而最理想的情況,我們能用自然語(yǔ)言或肢體語(yǔ)言描述任務(wù);②本體學(xué)習(xí)需要的時(shí)間,比如模型訓(xùn)練。要特別注意的,預(yù)計(jì)大部分任務(wù)需要多輪人機(jī)交互(human in loop),用戶要根據(jù)任務(wù)反饋結(jié)果重新編程,這也考驗(yàn)本體與人的交互學(xué)習(xí)(active learning)效率。另外,當(dāng)本體的知識(shí)引擎越強(qiáng)大和基于知識(shí)引擎的推理能力越強(qiáng)大時(shí),所需要的時(shí)間也就越少。
任務(wù)庫(kù)(scalable task zoo)。由于用單個(gè)任務(wù)來(lái)衡量一個(gè)本體的遷移能力會(huì)有一定偏差,我們需要建立一個(gè)任務(wù)庫(kù)(task zoo)來(lái)綜合衡量,而且其中的難度和任務(wù)種類要有一定多樣性和代表性。這樣能防止對(duì)智能本體的衡量的偏差(bias)。我們將平均task zoo上的所有AHCR結(jié)果(average AHCR)來(lái)衡量一個(gè)智能本體的標(biāo)準(zhǔn)。我們希望的情況是,隨著任務(wù)數(shù)增加,學(xué)習(xí)總時(shí)間會(huì)減少。這里將會(huì)涉及一個(gè)嶄新的學(xué)術(shù)問(wèn)題,就是在task zoo里哪一些任務(wù)應(yīng)該先學(xué),哪一些需要慢學(xué)的策略問(wèn)題。因?yàn)槿祟悓W(xué)習(xí)任務(wù)也有一個(gè)從易到難的過(guò)程,這樣的總學(xué)習(xí)成本最小。
我們提出的通用智能本體的進(jìn)步依賴于群體智能(swarm intelligent)的發(fā)展。即我們需要建立可持續(xù)的學(xué)術(shù)與商業(yè)社群(community)和有效的組織方式。我們期待以下社群的出現(xiàn)。
知識(shí)引擎社群:社群成員提交和審核各種元操作、物體和任務(wù)知識(shí)。
感知模型社群:社群成員提交和審核各種感知模型,用于比如各種物體檢測(cè)識(shí)別器。
Task zoo社群:我們希望task zoo是可擴(kuò)展的,所有成員都可以提交新的任務(wù),而我們也需要成立一個(gè)審核委員會(huì)審核提交的測(cè)試任務(wù)是否可以加入task zoo。測(cè)試委員會(huì)則是組織對(duì)多個(gè)本體的測(cè)試。
任務(wù)編譯器社群:我們鼓勵(lì)多種“高級(jí)任務(wù)編程語(yǔ)言”共存與競(jìng)爭(zhēng),經(jīng)過(guò)一定時(shí)間后,出現(xiàn)被用戶普遍認(rèn)可的語(yǔ)言,這也需要一個(gè)任務(wù)編譯器社群的支撐。
我們認(rèn)為通用智能本體不能簡(jiǎn)單地看作AI賦能設(shè)備。我們相信這樣一個(gè)本體會(huì)大大推進(jìn)智能科學(xué)的發(fā)展。目前,主流的深度學(xué)習(xí)面臨的問(wèn)題是,對(duì)于新的任務(wù),沒(méi)有訓(xùn)練過(guò)的數(shù)據(jù)性能會(huì)大大下降,換句話說(shuō)就是可遷移性較弱。通用智能本體的提出可以很大程度上提高機(jī)器對(duì)任務(wù)的可遷移性。
對(duì)環(huán)境的深刻理解:智能體需要對(duì)其所在環(huán)境(特別是操作對(duì)象)有深度理解?;谟蟹夯芰Φ脑僮骷?,通過(guò)與物體交互操作,智能體對(duì)物理世界產(chǎn)生更加深刻的理解,能更好地表征物體各種概念,比如,物體功能、操作方式、材質(zhì)等。人類也正是通過(guò)與物體的交互,實(shí)現(xiàn)對(duì)物體屬性層面的深刻理解。比如,我們理解剪刀這個(gè)概念,我們通過(guò)交互判斷它是否能剪斷物體。如圖2所示,即使訓(xùn)練數(shù)據(jù)中沒(méi)有這樣的圖片,也能判斷這是剪刀。而傳統(tǒng)深度學(xué)習(xí)算法(如果沒(méi)有事先訓(xùn)練過(guò)類似圖片)無(wú)法識(shí)別。
通用智能本體提供了和世界交互的基礎(chǔ),可以獲得更多的物體屬性概念,這將有別于傳統(tǒng)的深度學(xué)習(xí)。基于理解物體屬性,系統(tǒng)會(huì)對(duì)未訓(xùn)練的物體也能很好地理解。從某種程度講,借助元操作構(gòu)建,本體實(shí)現(xiàn)了從模式識(shí)別到物體理解,對(duì)于沒(méi)有見(jiàn)過(guò)的物體有很好的泛化能力。
可增長(zhǎng)群體智能:雖然群體智能被提出來(lái)已經(jīng)有20年的歷史,但是要跨任務(wù)比較困難[16]。而通用智能本體的推出提供了一個(gè)很好的機(jī)會(huì)。因?yàn)槲覀兊倪壿嫽A(chǔ)是元操作,而元操作在不同任務(wù)下具有很強(qiáng)共性。隨著大量操作被(通用智能本體)群體各個(gè)成員所創(chuàng)造和記錄,這種跨任務(wù)共性會(huì)被提取出來(lái)進(jìn)一步支持任務(wù)可遷移。另外,通用智能本體有統(tǒng)一的協(xié)議,當(dāng)人類社會(huì)廣泛使用同一個(gè)通用智能本體,經(jīng)驗(yàn)共享變得更加容易,對(duì)未知任務(wù)的遷移能力越來(lái)越強(qiáng)。再次,每個(gè)元?jiǎng)幼骶哂泻軓?qiáng)的通用性和層級(jí)性,能夠?qū)A康闹悄芸臻g進(jìn)行更加高效的結(jié)構(gòu)化索引,為多維遠(yuǎn)距的共性語(yǔ)義創(chuàng)建合理鏈接。
通用智能本體將會(huì)提高各個(gè)領(lǐng)域的效率,預(yù)期會(huì)在工業(yè)制造、醫(yī)療、餐飲、農(nóng)業(yè)、家用等很多領(lǐng)域產(chǎn)生巨大影響。比如,在家用領(lǐng)域,我們不可能對(duì)每個(gè)家庭特殊環(huán)境的每個(gè)任務(wù)重新設(shè)計(jì)硬件、軟件或?qū)W習(xí)模型,這也是阻礙家用機(jī)器發(fā)展的重要原因??紤]到各個(gè)領(lǐng)域的難易程度,通用智能本體在實(shí)際應(yīng)用中的產(chǎn)業(yè)落地在時(shí)間上會(huì)有先后,我們可以粗略分成四個(gè)程度(Level)(表 2)。
我們認(rèn)為操作步驟未知,每次要決策使用什么元操作,對(duì)智能程度要求較高,比如修理物品等。而操作環(huán)境和操作物體在知識(shí)引擎的幫助下,即使有所變化也能相對(duì)簡(jiǎn)單地進(jìn)行自適應(yīng)和處理。所以,我們可以大致給出各個(gè)行業(yè)在各Level上的分布(圖3)。每個(gè)行業(yè)很難說(shuō)絕對(duì)處于哪個(gè)Level上,而是跨Level的。其中,工業(yè)通用智能本體是相對(duì)簡(jiǎn)單的階段,因?yàn)槿蝿?wù)確定后,大部分操作屬于操作對(duì)象與環(huán)境變化不大、操作步驟已知的情況。到了家用通用智能本體,需要和人(一個(gè)變化很大的物體)交互,而且步驟也是不確定的(比如照顧老人)。
所以,我們建議第一步先完成工業(yè)通用智能本體,因?yàn)檫@是近期可實(shí)現(xiàn)的,也可以非常好地形成一個(gè)通用智能本體的基本雛形。后面各個(gè)行業(yè)的智能本體可以在這個(gè)雛形上升級(jí),最終實(shí)現(xiàn)跨行業(yè)的通用智能本體。
執(zhí)行模塊。由于大多數(shù)集中于裝配的工人都固定在前方,因此我們提出的工業(yè)通用智能本體的執(zhí)行模塊可以是一對(duì)機(jī)器人手臂,其7個(gè)自由度與人類的7個(gè)自由度相匹配。在裝配復(fù)雜的零件時(shí),人類通常依靠觸覺(jué)和力來(lái)感知是否裝配成功,這是一個(gè)在零件上施加不同維度的力和力矩(共6個(gè)自由度)的過(guò)程。因此,手臂需要能夠靈活地對(duì)零件施加不同的力和力矩組合,這意味著機(jī)器人手臂也應(yīng)該具有較高的6個(gè)自由度的控制性能。
感知模塊。要有一個(gè)對(duì)力具有高控制性能的手臂,一個(gè)高質(zhì)量的力/力矩傳感器是必需的。它可以嵌入手臂關(guān)節(jié)或末端執(zhí)行器。除了觸覺(jué),還需要視覺(jué)來(lái)識(shí)別物體,定位每個(gè)物體的位置和方向,以及在每個(gè)物體上裝配特征以支持復(fù)雜的手眼協(xié)調(diào)。可考慮采用RGB-D深度相機(jī)來(lái)實(shí)現(xiàn)三維視覺(jué)。
圖2 . 我們可以識(shí)別傳統(tǒng)深度學(xué)習(xí)算法無(wú)法識(shí)別的沒(méi)有事先訓(xùn)練過(guò)的圖片。
表2 通用智能本體的四級(jí)應(yīng)用難度
圖3 . 各產(chǎn)業(yè)通用智能本體在不同難易程度的分布。
任務(wù)編譯器。在生產(chǎn)線上,編制完善的標(biāo)準(zhǔn)操作規(guī)程(SOP)和作業(yè)指導(dǎo)書(shū)對(duì)工人執(zhí)行任務(wù)是非常必要的。因此,最直接的任務(wù)編譯器是能夠解析標(biāo)準(zhǔn)操作規(guī)程并將其轉(zhuǎn)換為正確的元操作序列,并從標(biāo)準(zhǔn)操作規(guī)程中的圖片中學(xué)習(xí)對(duì)象,從而鏈接每個(gè)元操作。與通用智能本體在其他領(lǐng)域的應(yīng)用相比,工業(yè)通用智能本體的元操作集相對(duì)較小,因此另一個(gè)更簡(jiǎn)單的編譯器可以是字段工程編輯元操作流的編程板。
知識(shí)引擎。我們?cè)谶@里提出了一組常規(guī)組裝過(guò)程所需的元操作,這些元操作可能并不是所有組裝任務(wù)的完整集合。
(1)插入、夾緊A部件并將其外/內(nèi)特性滑動(dòng)到B部件的內(nèi)/外特性上??赡艿奶卣靼ㄟB接器、軸/孔、螺釘/孔。
(2)墊料,將A部件壓在B部件的上面,在A部件的表面來(lái)回移動(dòng),使具有緊密公差A(yù)和B可以配合在一起??赡艿奶卣靼ㄊ贡舜伺浜线^(guò)渡或沖壓配合的零件幾何形狀。
(3)將A部件擰緊、車削、安裝到B部件,特征包括螺紋、管螺紋等。
工業(yè)通用智能本體。與實(shí)現(xiàn)在各個(gè)領(lǐng)域廣泛應(yīng)用所需的通用智能本體能力相比,通用智能本體應(yīng)用于工業(yè)自動(dòng)化是在一個(gè)更結(jié)構(gòu)化的環(huán)境中運(yùn)行,具有更明確的過(guò)程,因此實(shí)現(xiàn)起來(lái)沒(méi)有那么困難。
如今,經(jīng)過(guò)了幾十年的技術(shù)發(fā)展,各種類型的機(jī)器人和定制的設(shè)備已經(jīng)在現(xiàn)代化的生產(chǎn)線上得到了有效的利用。成熟的自動(dòng)化工作包括焊接、噴漆、裝料等。然而,有一些程序需要更復(fù)雜的材料處理,去適應(yīng)零件的符合性和組件的非完美扭矩控制,如復(fù)雜的裝配,這些程序仍然只能依靠人類完成。我們提出了一種工業(yè)通用智能本體的可能形式,能夠進(jìn)行上述類型的工作。
本文我們提出了一種新的概念,通用智能本體,即追求各種任務(wù)間的通用可轉(zhuǎn)移性,并提出了通用智能本體的核心元操作流模型和體系結(jié)構(gòu)。我們相信如果通用智能本體的概念能實(shí)現(xiàn),不僅將極大地改進(jìn)人類生活和生產(chǎn),而且會(huì)促進(jìn)智能科學(xué)的發(fā)展。