王 鑫,趙清杰,徐 瑞
(1.北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京 100081;2.北京理工大學(xué) 宇航學(xué)院,北京 100081;3.深空自主導(dǎo)航與控制工信部重點(diǎn)實(shí)驗(yàn)室,北京 100081)
深空探測(cè)器自主性的首要表現(xiàn)是能夠自主規(guī)劃任務(wù),根據(jù)要求選擇所要執(zhí)行的活動(dòng),自主分配資源和時(shí)間,使得探測(cè)器能夠完成相應(yīng)的任務(wù)[1-3]。對(duì)任務(wù)規(guī)劃進(jìn)行知識(shí)表示是實(shí)現(xiàn)探測(cè)器任務(wù)規(guī)劃前提。王曉暉等[4]采用基于時(shí)間線的方法對(duì)深空探測(cè)器的約束進(jìn)行簡(jiǎn)化。朱麗穎等[5]基于PDDL(Planning Domain Definition Language)將活動(dòng)的時(shí)間信息、資源信息和活動(dòng)之間的約束關(guān)系等信息進(jìn)行建模。吳坤等[6]通過在MA-PDDL中加入連續(xù)的規(guī)劃元素對(duì)動(dòng)態(tài)環(huán)境下多智能體協(xié)作問題進(jìn)行建模。Fier等[7]采用有限域狀態(tài)變量對(duì)MA-PDDL(Multi-Agent Planning Domain Definition Language,MA-PDDL)中規(guī)劃任務(wù)進(jìn)行簡(jiǎn)潔表示。
知識(shí)圖譜[8-9]是人工智能的一個(gè)重要分支,它將復(fù)雜的知識(shí)領(lǐng)域通過數(shù)據(jù)挖掘、信息處理、知識(shí)計(jì)量和圖形繪制顯示出來,目前在金融[10]、醫(yī)療[11]、政務(wù)[12]等領(lǐng)域得到了廣泛的應(yīng)用。知識(shí)圖譜的基本組成是一個(gè)<實(shí)體–關(guān)系–實(shí)體>三元組,以及實(shí)體及其相關(guān)屬性–值,實(shí)體間通過關(guān)系相互聯(lián)結(jié),構(gòu)成網(wǎng)狀的知識(shí)結(jié)構(gòu)。鑒于傳統(tǒng)任務(wù)規(guī)劃表示方法的缺點(diǎn)和知識(shí)圖譜的優(yōu)點(diǎn),本文對(duì)復(fù)雜的多智能體深空該探測(cè)器采用知識(shí)圖譜對(duì)其進(jìn)行知識(shí)表示。
多智能體深空探測(cè)器主要是智能體之間通過采用各智能體間的通訊、合作、協(xié)調(diào)、調(diào)度、管理及控制來表達(dá)深空探測(cè)器系統(tǒng)的結(jié)構(gòu)、功能和特性。建立合適的任務(wù)規(guī)劃模型,對(duì)智能體進(jìn)行知識(shí)表示是實(shí)現(xiàn)多智能體探測(cè)器任務(wù)規(guī)劃的重要前提。但是深空探測(cè)系統(tǒng)具有復(fù)雜的約束和較大的規(guī)劃空間,而且深空環(huán)境不確定,人類對(duì)天體的認(rèn)知尚淺,對(duì)深空探測(cè)的任務(wù)規(guī)劃進(jìn)行知識(shí)表示是非常困難的。
多智能體深空探測(cè)器任務(wù)規(guī)劃需要表達(dá)的基本要素有探測(cè)器子系統(tǒng)、星上資源和約束條件,多智能體探測(cè)器每個(gè)智能體節(jié)點(diǎn)具有柔性系統(tǒng)、導(dǎo)航系統(tǒng)、制導(dǎo)系統(tǒng)、姿態(tài)系統(tǒng)、推進(jìn)系統(tǒng)、相機(jī)系統(tǒng)、熱控系統(tǒng)、通信系統(tǒng)和數(shù)據(jù)存儲(chǔ)系統(tǒng)等。每個(gè)系統(tǒng)涉及的動(dòng)作如表1所示。星上資源主要包括可耗盡資源和非可耗盡資源。其中,可耗盡資源是指可以通過一定的手段重新獲得資源;非可耗盡資源是指資源有限,資源消耗完后相關(guān)系統(tǒng)無法運(yùn)行。約束關(guān)系主要有有限資源、持續(xù)時(shí)間、活動(dòng)并發(fā)性、計(jì)算資源約束。多智能體深空探測(cè)器任務(wù)規(guī)劃的部分狀態(tài)及其含義如表2所示,部分基本動(dòng)作及其含義如表3所示。
表1 多智能體深空探測(cè)器系統(tǒng)及動(dòng)作Table 1 Multi-agent deep space probe systems and actions
表2 多智能體深空探測(cè)器的狀態(tài)及其描述Table 2 States and descriptions of multi-agent space probe
表3 多智能體深空探測(cè)器系統(tǒng)基本動(dòng)作及其描述Table 3 Basic actions and descriptions of multi-agent space probe
針對(duì)深空探測(cè)器任務(wù)規(guī)劃的特點(diǎn),本文提出采用知識(shí)圖譜對(duì)其進(jìn)行知識(shí)表示。為便于描述,首先給出以下幾個(gè)定義。
定義1智能體是指深空探測(cè)器的節(jié)點(diǎn)。深空探測(cè)器可以由多個(gè)節(jié)點(diǎn)構(gòu)成,本文以3個(gè)節(jié)點(diǎn)探測(cè)器作為示例。
定義2深空探測(cè)器任務(wù)規(guī)劃領(lǐng)域模型是用數(shù)學(xué)方法對(duì)深空探測(cè)器著陸過程的抽象,用一個(gè)四元組表示,Σ=(O,S,A,C)。O是系統(tǒng)中所有對(duì)象的集合,S是系統(tǒng)中所有可能出現(xiàn)的狀態(tài)集合,A是智能體可能執(zhí)行的動(dòng)作集合,C是對(duì)探測(cè)器規(guī)劃時(shí)的約束條件集合。
定義3知識(shí)圖譜中的實(shí)體表示深空探測(cè)器的3個(gè)節(jié)點(diǎn)及節(jié)點(diǎn)上的系統(tǒng)設(shè)備。
定義4知識(shí)圖譜中的屬性表示深空探測(cè)器系統(tǒng)的狀態(tài)和動(dòng)作。
定義5知識(shí)圖譜中的關(guān)系表示系統(tǒng)設(shè)備之間以及設(shè)備和其所具有的狀態(tài)及動(dòng)作之間的關(guān)系。
知識(shí)圖譜的構(gòu)建由知識(shí)抽取[13]、知識(shí)融合和知識(shí)加工3部分構(gòu)成,構(gòu)建流程如圖1所示。
圖1 多智能體深空探測(cè)器知識(shí)圖譜構(gòu)建流程圖Fig.1 Flow chart of constructing knowledge graph of multi-agent deep space detector
知識(shí)抽取包括實(shí)體抽取、屬性抽取和關(guān)系抽取3部分。多智能體深空探測(cè)設(shè)備的知識(shí)抽取是指從文本數(shù)據(jù)中提取出智能體上系統(tǒng)設(shè)備名字、設(shè)備狀態(tài)和動(dòng)作,以及它們之間的關(guān)系。
2.1.1 實(shí)體抽取
實(shí)體抽取也稱為命名實(shí)體識(shí)別(Named Entity Recognition,NER),是指從文本數(shù)據(jù)集中自動(dòng)識(shí)別出命名實(shí)體。多智能體深空探測(cè)器的柔性附著需要經(jīng)歷主減速段、柔性展開段、協(xié)同減速段、避障決策段和最終附著段5個(gè)階段,不同階段探測(cè)器執(zhí)行不同的任務(wù),某些系統(tǒng)設(shè)備隨著執(zhí)行的任務(wù)發(fā)生相應(yīng)的變化。針對(duì)探測(cè)器系統(tǒng)動(dòng)態(tài)變化這個(gè)特點(diǎn),本文構(gòu)建基于門控循環(huán)單元模型(Gated Recurrent Unit,GRU)的序列模型對(duì)多智能體深空探測(cè)器進(jìn)行實(shí)體抽取,流程如圖2所示。3個(gè)智能體節(jié)點(diǎn)均具有計(jì)算設(shè)備,而且GRU的計(jì)算量Flops相對(duì)較小,因此采用分布式在線訓(xùn)練GRU模型。
圖2 深空探測(cè)器實(shí)體抽取流程圖Fig.2 Entity extraction flow chart of deep space detector
智能體上的系統(tǒng)不同時(shí)刻會(huì)有不同的狀態(tài),某個(gè)時(shí)間段內(nèi)的數(shù)據(jù)連接在一起構(gòu)成一個(gè)時(shí)序數(shù)據(jù),采用GRU對(duì)其進(jìn)行特征提取,最后將特征圖和其對(duì)應(yīng)的標(biāo)簽一起訓(xùn)練分類器。新的歷史數(shù)據(jù)在特征提取之后,通過分類器預(yù)測(cè)其實(shí)體標(biāo)簽。在用GRU進(jìn)行特征提取時(shí),輸入輸出公式如式(1)~(4)所示
其中:St表示智能體在t 時(shí)刻的基本狀態(tài)向量;Ht?1表示前一隱層的狀態(tài);?表示卷積,⊙ 表示元素相乘;W 表示權(quán)重;b 表示偏置;σ [·]表示logistic sigmoid函數(shù);Zt表示t 時(shí)刻更新門的狀態(tài);rt表示t時(shí)刻重置門的狀態(tài)。
2.1.2 關(guān)系抽取
關(guān)系抽取[14]是從文本中抽取系統(tǒng)設(shè)備之間的關(guān)系以及系統(tǒng)設(shè)備及其狀態(tài)和動(dòng)作之間的關(guān)系。本文采用Att-BiLSTM[15]對(duì)表2所示的關(guān)系進(jìn)行抽取。Att-BiLSTM的結(jié)構(gòu)如圖3所示。Att-BiLSTM相較于GRU需要更多的計(jì)算量,雖然3個(gè)智能體設(shè)備均具有計(jì)算資源,但計(jì)算量有限,因此對(duì)Att-BiLSTM采用離線訓(xùn)練。
圖3 Att-BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Network structure of Att-BiLSTM
Att-BiLSTM由輸入層、Embedding層、LSTM層、Attention層和輸出層5部分構(gòu)成。輸入層是描述探測(cè)器智能體的句子,用(x1,x2,···,xr)表示,Embedding層將句子中的每一個(gè)詞映射成一個(gè)固定長(zhǎng)度的向量,然后LSTM層利用雙向LSTM對(duì)Embedding向量計(jì)算,在通過Attention層對(duì)雙向LSTM的結(jié)果進(jìn)行加權(quán),最后輸出層輸出探測(cè)器系統(tǒng)設(shè)備之間、系統(tǒng)設(shè)備及其所處的狀態(tài)和動(dòng)作之間的關(guān)系。在關(guān)系抽取時(shí),Attention層生成一個(gè)權(quán)重向量,為卷積層提取的詞匯分配不同大小的權(quán)重,這些詞匯與對(duì)應(yīng)的權(quán)重相乘,可以在迭代過程中將詞匯級(jí)特征合并為句子級(jí)的特征,節(jié)省網(wǎng)絡(luò)的推理的時(shí)間以及計(jì)算資源。Attention層的計(jì)算方法如式(5)~(7)所示,采用Softmax對(duì)提取的向量進(jìn)行分類,如公式(8)~(9)所示
2.1.3 屬性抽取
屬性抽取是指從文本數(shù)據(jù)中抽取出探測(cè)器系統(tǒng)設(shè)備的狀態(tài)和動(dòng)作。本文采用ReNoun[16]方法對(duì)表2和表3所示的狀態(tài)和動(dòng)作進(jìn)行抽取,流程如圖4所示。
圖4 屬性抽取流程圖Fig.4 Attribute extraction flow chart
多智能體深空探測(cè)器的知識(shí)抽取可以獲取實(shí)體、關(guān)系和屬性等知識(shí)要素,但是這些數(shù)據(jù)之間的關(guān)系是扁平化的、缺乏層次性和邏輯性,需要進(jìn)行知識(shí)融合。知識(shí)圖譜的知識(shí)融合[17]包括實(shí)體鏈接和知識(shí)合并兩部分。
實(shí)體鏈接是指從文本中抽取得到的實(shí)體對(duì)象,將其鏈接到知識(shí)庫中對(duì)應(yīng)的正確實(shí)體對(duì)象的操作,首先根據(jù)給定的實(shí)體指稱項(xiàng)從知識(shí)庫中選出一組候選實(shí)體對(duì)象,然后通過相似度計(jì)算將指稱項(xiàng)鏈接到正確的實(shí)體對(duì)象。例如多個(gè)系統(tǒng)具有開機(jī)和關(guān)機(jī)的動(dòng)作,開機(jī)和關(guān)機(jī)就是實(shí)體指稱項(xiàng),通過漢明距離(Hamming distance)計(jì)算它們與每個(gè)系統(tǒng)之間的相似性,選出相似性最高的系統(tǒng)與其進(jìn)行匹配。但是在匹配過程中,可能因?yàn)橄到y(tǒng)設(shè)備名稱相同而產(chǎn)生歧義,通過實(shí)體消歧,將其與正確的設(shè)備進(jìn)行匹配。此外,可能存在多個(gè)指稱對(duì)應(yīng)同一實(shí)體的問題,通過共指消解進(jìn)行處理。
知識(shí)合并主要包含兩部分,即合并外部知識(shí)庫和合并關(guān)系數(shù)據(jù)庫。合并外部知識(shí)庫是指將外部知識(shí)庫融合到本地知識(shí)庫,即是將深空探測(cè)器的外部數(shù)據(jù)庫與構(gòu)建的本地知識(shí)庫進(jìn)行數(shù)據(jù)層和模式層的融合。對(duì)于關(guān)系數(shù)據(jù)庫合并,采用資源描述框架進(jìn)行融合。
通過知識(shí)提取和知識(shí)融合,可以得到關(guān)于多智能體深空探測(cè)器任務(wù)規(guī)劃的基本事實(shí)表示,但是要最終獲得結(jié)構(gòu)化、網(wǎng)絡(luò)化的知識(shí)體系,還需要本體構(gòu)建以及知識(shí)推理對(duì)知識(shí)進(jìn)行加工。
2.3.1 本體構(gòu)建
本體是同一領(lǐng)域內(nèi)的不同主題之間進(jìn)行交流的語義基礎(chǔ),是樹狀結(jié)構(gòu),相鄰層次的節(jié)點(diǎn)(概念)之間有嚴(yán)格的“IsA”關(guān)系。在知識(shí)圖譜中,本體位于模式層,用于描述概念層次體系,是知識(shí)庫中知識(shí)的概念模板。
以數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化方式構(gòu)建本體,包含3個(gè)階段。
1)實(shí)體并列關(guān)系相似度計(jì)算
實(shí)體并列關(guān)系相似度計(jì)算是考察任意兩個(gè)給定實(shí)體屬于同一類的指標(biāo)測(cè)度,相似度越高,表明這兩個(gè)實(shí)體越有可能屬于同一語義類別。本文采用相關(guān)性聚類對(duì)實(shí)體并列關(guān)系的相似度進(jìn)行計(jì)算。如式(10)~(12)所示
2)實(shí)體上下位關(guān)系抽取
實(shí)體上下位關(guān)系抽取即確定實(shí)體的屬性。深空探測(cè)器的設(shè)備采用字符串表示,而字符串又可以理解為一種集合,因此采用Dice系數(shù)來度量屬性的相似度
其中:S和T表示集合;|S|和|T|分別表示集合的個(gè)數(shù);|S∩T|表示S和T的交集。
3)本體的生成
主要任務(wù)是對(duì)各層次得到的概念進(jìn)行聚類,并對(duì)其進(jìn)行語義類的標(biāo)定(為該類中的實(shí)體指定一個(gè)或多個(gè)公共上位詞)。
2.3.2 知識(shí)推理
知識(shí)推理[18]是指從知識(shí)庫中已有的實(shí)體關(guān)系數(shù)據(jù)出發(fā),進(jìn)行計(jì)算及推理,建立實(shí)體間的新關(guān)聯(lián),從而拓展和豐富知識(shí)網(wǎng)絡(luò)。由于深空環(huán)境不確定,多智體深空探測(cè)器在著陸過程中可能出現(xiàn)一些突發(fā)情況,比如某個(gè)智能體節(jié)點(diǎn)或者某個(gè)系統(tǒng)設(shè)備出現(xiàn)故障,或者探測(cè)器在運(yùn)行過程中發(fā)現(xiàn)其它星體或者障礙物,此時(shí)探測(cè)器系統(tǒng)設(shè)備或者探測(cè)器與其它星體或障礙物之間存在一些隱藏關(guān)系,通過進(jìn)行知識(shí)推理可以挖掘出這些隱藏關(guān)系,豐富對(duì)探測(cè)器任務(wù)規(guī)劃的知識(shí),可以實(shí)現(xiàn)探測(cè)器更好的運(yùn)行。本文基于張量神經(jīng)網(wǎng)絡(luò)(Neural Tensor Network,NTN)[19]進(jìn)行知識(shí)推理,結(jié)構(gòu)如圖5所示。
圖5 NTN神經(jīng)張量模型結(jié)構(gòu)圖Fig.5 Network structure of NTN
對(duì)于深空探測(cè)器本文以3個(gè)節(jié)點(diǎn)為基準(zhǔn),每個(gè)節(jié)點(diǎn)視為一個(gè)智能體,每個(gè)智能體以相機(jī)、數(shù)據(jù)存儲(chǔ)設(shè)備、太陽能充電器等設(shè)備以及每個(gè)設(shè)備所處的狀態(tài)和執(zhí)行的操作作為實(shí)體進(jìn)行示例構(gòu)建知識(shí)圖譜。
本實(shí)驗(yàn)環(huán)境為ubuntu18.04,GPU顯卡為GeForce GTX 1 080,深度學(xué)習(xí)框架為PyTorch,CUDA10.1?;贕RU的序列模型的超參數(shù)如表4所示。Att-BiLSTM的超參數(shù)如表5所示。NTN模型的超參數(shù)如表6所示。知識(shí)提取實(shí)驗(yàn)結(jié)果如圖6所示。
表4 GRU序列模型超參數(shù)Table 4 GRU sequence model hyperparameters
表5 Att-BiLSTM模型超參數(shù)Table 5 Att-BiLSTM hyperparameters
表6 NTN模型超參數(shù)Table 6 NTN model hyperparameters
本文以探測(cè)器智能體的部分設(shè)備進(jìn)行示例。通過圖6可以看出通過知識(shí)抽取可以提取出探測(cè)器的節(jié)點(diǎn)以及節(jié)點(diǎn)上的設(shè)備如相機(jī)、數(shù)據(jù)存儲(chǔ)設(shè)備、燃料等實(shí)體。
圖6 知識(shí)提取結(jié)果圖Fig.6 The result of knowledge extraction
通過知識(shí)提取和知識(shí)融合獲得的實(shí)驗(yàn)結(jié)果如表7所示。通過表7可以看出通過采用知識(shí)融合對(duì)提取的知識(shí)進(jìn)行實(shí)體和關(guān)系之間的一一對(duì)應(yīng),例如,可以得到探測(cè)器距離著陸點(diǎn)具有1 km,探測(cè)器的著陸速度為13.5 m/s等。構(gòu)建的知識(shí)圖譜整體結(jié)構(gòu)如圖7所示,采用neo4j[20]對(duì)知識(shí)圖譜進(jìn)行保存,保存格式為json格式。
圖7 多智能體深空探測(cè)器任務(wù)規(guī)劃知識(shí)圖譜示意圖Fig.7 Schematic diagram of the knowledge graph of multi-agent deep space detector mission planning
表7 多智能體探測(cè)器知識(shí)融合Table 7 Multi-agent detector knowledge fusion
復(fù)雜的約束關(guān)系是深空探測(cè)器規(guī)劃知識(shí)表示中的重要部分,本文以時(shí)間約束為例進(jìn)行說明。深空探測(cè)器的大部分動(dòng)作都無法瞬時(shí)完成,需要持續(xù)一定的時(shí)間。每個(gè)動(dòng)作在執(zhí)行過程中都有自己的開始時(shí)間、持續(xù)時(shí)間和結(jié)束時(shí)間。此外,動(dòng)作的持續(xù)時(shí)間會(huì)受探測(cè)器所處的狀態(tài)影響,可以將其分為動(dòng)態(tài)時(shí)間和靜態(tài)時(shí)間。在構(gòu)建知識(shí)圖譜時(shí),將動(dòng)作的持續(xù)時(shí)間作為動(dòng)作的屬性,并且靜態(tài)時(shí)間添加標(biāo)識(shí)符“static_taction”,動(dòng)態(tài)時(shí)間添加標(biāo)識(shí)符“dynamic_taction”,對(duì)動(dòng)作持續(xù)時(shí)間有影響的因素添加標(biāo)識(shí)符“A_effect_action”,其中A表示影響因素,action表示深空探測(cè)器的動(dòng)作。以探測(cè)器的姿態(tài)轉(zhuǎn)動(dòng)作為示例,結(jié)果如圖8所示。
圖8 姿態(tài)轉(zhuǎn)動(dòng)時(shí)間約束示意圖Fig.8 Schematic diagram of attitude rotation time constraint
MA-PDDL采用通常采用一階邏輯或命題邏輯等形式化語言來描述系統(tǒng)狀態(tài),通過狀態(tài)的遷移來表示動(dòng)作,在建立探測(cè)器的任務(wù)規(guī)劃模型時(shí),采用領(lǐng)域文件和問題文件進(jìn)行描述。領(lǐng)域文件的定義如圖9所示,問題文件的定義如圖10所示。
圖9 領(lǐng)域描述的BNF定義Fig.9 BNF definition of domain description
圖10 問題描述的BNF定義Fig.10 BNF definition of problem description
通過圖7與圖9和圖10進(jìn)行對(duì)比可以看出,MAPDDL需要人工根據(jù)先驗(yàn)知識(shí)提前設(shè)計(jì)出領(lǐng)域文件和問題文件,無法簡(jiǎn)單、直觀的對(duì)真實(shí)深空環(huán)境任務(wù)進(jìn)行表示,而且深空環(huán)境存在不確定性,探測(cè)器時(shí)刻處于動(dòng)態(tài)變化中,當(dāng)出現(xiàn)意外情況時(shí)需要等待地面人工的指導(dǎo),無法對(duì)任務(wù)進(jìn)行實(shí)時(shí)的、精確的表示。
面對(duì)不確定的深空環(huán)境和復(fù)雜的多智能體深空探測(cè)系統(tǒng),本文構(gòu)建知識(shí)圖譜對(duì)其進(jìn)行知識(shí)表示。該方法不僅可以全面直觀地展示出柔性多智能體之間的關(guān)系,而且面對(duì)不確定的深空環(huán)境,可以通過知識(shí)推理自動(dòng)地挖掘探測(cè)器各系統(tǒng)設(shè)備之間、探測(cè)器與深空環(huán)境之間的關(guān)系,通過與傳統(tǒng)的MA-PDDL方法進(jìn)行對(duì)比,本文提出的方法在不需要地面人工干預(yù)的情況下,可以對(duì)真實(shí)的情況建模,為后續(xù)進(jìn)行任務(wù)規(guī)劃提供了較為精確的知識(shí)表示,更有助于探測(cè)器進(jìn)行任務(wù)規(guī)劃,提高探測(cè)器成功著陸可能性。此外該方法的知識(shí)表示形式存儲(chǔ)為json格式,可以靈活地運(yùn)用于各種任務(wù)規(guī)劃方法中。