張美玉,張立軍,林明梁,簡琤峰
(浙江工業大學 計算機學院 數字媒體技術研究所,杭州 310023)
實現數字化智能制造的關鍵技術之一是基于模型定義(Model Based Definition,MBD)技術[1,2].MBD產品模型不僅包含了傳統的三維幾何信息,還包括了功能信息、裝配信息、產品制造信息(PMI)等非幾何信息,同時這些信息隱含了大量的設計意圖[3,4]等高層次語義信息,例如PMI尺寸公差等約束信息可以反映出MBD模型潛在設計意圖.這些語義規則的挖掘推理對數字化設計制造的重用具有現實意義.然而面向傳統知識圖譜知識推理的現有方法存在推理深層次實體關系能力有限、推理多跳路徑能力不足、時間復雜度高等問題,難以適應MBD模型的潛在語義推理需求.
目前知識圖譜[5]圖推理方法主要分為單步推理和多步推理兩種[6,7].單步推理中的張量分解算法著重直接相連的實體關系,由于忽略了多路徑的情況而存在推理深層次實體關系的能力有限的問題,且在利用張量分解算法推理大型知識圖譜時,時間復雜度較大.其他單步推理主要有基于轉移的表示推理方法TransE和基于其改進的其他眾多方法[8-11].然而TransE處理復雜關系的能力不足,TransR由于引入空間投影,使得計算復雜度大幅提高.多步推理中的路徑排序算法能推理出實體間更深層次的關系,但是在多跳路徑中的推理能力一般,且易出現數據稀疏問題.Lao N等提出經典的PRA算法,以路徑為特征,通過枚舉的方式,推理實體間是否存在特定關系[12].基于PRA算法,趙澤亞等提出時間差關系路徑方法TDLP,通過在結構路徑中融入關系的時間信息的方式預測實體對之間是否存在相應關系[13].
為了解決圖推理算法的不足以及傳統強化學習效率低和不適用于數據量較大的狀態動作集的問題,本文以在產品數據交換國際標準STEP AP242應用協議基礎上構建的MBD模型STEP知識圖譜為基礎,結合面向MBD知識推理的多粒度語義元模型MGSM,將STEP數據信息映射到多粒度語義元模型的相應語義元節點,利用改進的深度強化學習算法Deep Q-Learning,結合多粒度語義元節點屬性,將推理結果用相應的SWRL規則[14]進行表示,實現SWRL規則自動化提取和MBD模型中隱含語義信息的推理.最后以減速器傳動軸的MBD產品信息為例,利用推理得到的序列規則,獲取產品信息相關聯的尺寸類別、關聯面、具體數值以及是否含有圓柱度、圓跳動等深層次信息.利用本文方法提取MBD模型中的產品制造信息,使得產品制造信息在產品生命周期中的交流成為可能,能夠有效的為數字孿生技術[15-17]等應用場景提供幫助.
為了更好的推理潛在語義信息和展示推理結果,我們結合多粒度思想和產品信息語義元[18],提出面向MBD知識推理的多粒度語義元模型(Multi-granularity Semantic Model,MGSM).多粒度的思想,即從多角度、多層次、由粗到細解析物體.多粒度語義元模型可以統一描述幾何信息和非幾何信息,并將兩者通過語義相互關聯,將幾何與非幾何信息以結構化的形式表示.將MBD模型轉化為STEP AP242中性文件,從中提取所需信息,以節點和連接的形式存儲信息于多粒度語義元模型中,最后利用推理方法在STEP知識圖譜中推理節點之間的潛在關系和語義規則.基于面向MBD語義推理的多粒度模型的語義推理流程框圖如圖1所示.

圖1 推理流程圖
定義面向MBD語義推理的多粒度語義元模型MGSM由不同的4個元素組合而成,形式化表達:
MGSM={D,I,A,L}
(1)
模型結構如圖2所示.

圖2 語義元模型結構圖
多粒度語義元模型MGSM各元素的具體含義如下:
1)設計意圖語義元對象的有窮非空集合表達式為D={d1,d2,…,dn},集合元素di表示設計意圖語義元的一個具體實例對象.設計意圖語義元的形式化表達式為:
di={Issuei,Solutioni}
(2)
其中Issuei表示一個具體對象在設計過程中的設計目的或設計問題,Solutioni表示針對設計問題的解決方案和設計目的的實現方式.產品設計意圖信息主要包括產品和制造信息、設計歷史、特征以及約束4個方面.產品制造信息包含幾何公差、3D注釋、表面粗糙度、材料規格等.設計歷史指產品模型設計過程中的約束與決策.特征指產品設計過程中的設計特征、尺寸特征和功能特征.約束指產品設計加工過程中對幾何拓撲結構的限制,具體可分為制造約束和裝配約束兩類.
2)實例語義元的有窮非空集合表達式為I={i1,i2,…,in},集合元素ij表示實例語義元的一個具體實例對象,由幾何實例和語義實例組成.實例語義元的形式化表達式為:
ii={Geometrici,Semantici}
(3)
其中Geometric代表幾何層面上的具體實例信息,Semantic代表語義層面上的具體實例信息.
3)抽象語義元的有窮非空集合表達式為A={a1,a2,…,an},集合元素ai表示抽象語義元的一個具體實例對象.該對象是特征層中零件特征類型或知識層中零件類型或幾何層中面類型的抽象語義元實例[19].抽象語義元的形式化表達式為:
ai={KnowledgeLayeri,FeatureLayeri,GeometricLayeri}
(4)
其中知識層抽象語義元描述粒度屬性內容和屬性語義關系.特征層抽象語義元用于存儲PMI特征、功能特征和設計特征等特征相關信息.幾何層抽象語義元存儲產品數據信息,主要包括產品的幾何、拓撲信息.
4)語義元連接邊的有窮非空集合表達式為L={l1,l2,…,ln},集合元素li表示語義元連接邊的一個實例對象.集合元素li是實例語義元、抽象語義元和設計意圖語義元間的關聯關系,如屬性關系attribute-of,節點的父子類關系kind-of,實體類型和抽象類型的關系instance-of,整體和部分的關系part-of等.
多粒度語義元模型融合MBD模型中設計意圖、拓撲、約束和三維幾何特征等信息,保證模型數據結構和內容完整性,實現模型數據到強化學習間的映射.STEP中性文件與多粒度語義元模型間映射規則如表1所示.

表1 STEP文件與語義元模型間相關映射
為推理MDB模型中潛在的語義信息,將STEP文件中的產品數據信息映射到多粒度語義元模型中后,在相關映射的基礎上,需要利用改進的深度強化學習Deep Q-Learning算法,獲取智能體在與環境交互后所得的決策結果.
在利用強化學習推理深層次語義信息前需要將多粒度語義元模型中的MBD模型產品信息映射到馬爾科夫決策模型.馬爾科夫決策模型由狀態集、動作集、狀態轉移概率、回報函數、衰減因子5部分組成,可以用五元組(S,A,P,R,γ)表示.多粒度語義元模型與馬爾可夫決策模型間相關映射規則如表2所示.

表2 語義元模型與馬爾可夫決策模型間映射規則
語義元的id屬性對應馬爾可夫決策模型的一個具體狀態si,該狀態的動作集形式化表達如下:
(5)

傳統的強化學習Q-Learning算法通過Q值表來存儲每一個狀態和在該狀態下可以采取的所有動作的Q值.但是隨著狀態數和動作數的增多,如果用表格的形式存儲,會遇到維度災難的問題.為了解決這個問題,我們在后續的實驗中采用深度強化學習[20-23]Deep Q-Learning算法進行規則的挖掘,并對傳統Deep Q-Learning算法做了以下改進:
1)ε-貪心算法參數ε的選擇;
2)獎勵R值計算方式;
3)使用改進的RBM算法IRBM進行神經網絡訓練.
Deep Q-Learning算法運行前會先初始化經驗池和兩個結構相同的神經網絡.在智能體與環境交互后,把轉移樣本(st,at,rt,st+1)存儲到經驗池,在訓練階段取出部分經驗用于訓練,從而解決數據非正態分布問題.使用兩個神經網絡的目的在于減少數據間的相關性.改進的Deep Q-Learning算法通過動態的ε-貪心算法參數ε、獎勵值R和神經網絡學習率來加快網絡的收斂速度,從所有結果中快速獲得中最優路徑.
在某一狀態選擇下一步將要執行的動作時,智能體會以ε的概率選擇隨機動作at,1-ε的概率選擇當前狀態下動作值函數最大的動作.在馬爾可夫決策過程中[24,25],探索初期智能體會以較大概率隨機選擇動作與環境進行交互,中后期智能體會選擇執行獎勵值高的動作.本文從ε-貪心算法參數ε的選擇方式進行實驗.當參數ε為常數時,表達式為:
ε=C
(6)
C為常數,此時智能體在整個探索過程中一直以C的概率隨機選擇動作.使用階躍函數的表達式為:

(7)
其中a為常數,t代表當前智能體與環境交互的輪數,在threshold輪之前以a的概率隨機選擇動作,1-a的概率選擇回報最大的動作,當輪數超過threshold時,以1-a的概率隨機選擇動作,a的概率選擇回報最大的動作.使用一次函數的表達式為:
ε(x)=kx
(8)
其中k代表ε的變化速度,x代表當前學習次數,智能體每從經驗池中學習一次,x自增1.使用二次函數的表達式為:
ε(x)=kx×x
(9)
同時為了防止智能體陷入局部最優,ε(x)不能超過某一個值v,即隨著學習次數的增加,智能體最后還是會以1-v的概率隨機選擇動作與環境交互.
智能體執行所選動作后會得到該動作的獎勵值,而推理相同規則,短規則較之長規則更簡潔,因此本文設置路徑回報獎勵rp使智能體在選擇動作過程中選擇路徑更短的動作.路徑獎勵函數定義為:
(10)
其中length代表本次探索的步長.同時設置全局獎勵rg,作為智能體最后到達目標節點的獎勵,全局獎勵函數定義為:
(11)
綜合兩個獎勵,智能體在完成一次探索獲得的總獎勵可以表示為:
rtotal=λ1rg+λ2rp
(12)
其中λ1、λ2為調節全局獎勵和路徑獎勵對總獎勵影響的權重系數.
每次新選擇執行的動作后,將智能體當前狀態、選擇的動作、獲得的獎勵、和執行動作后的下一個狀態存入經驗池.每經過一定的步數,從經驗池中取出部分經歷進行學習.如果取出的經歷中的下一個狀態是結束狀態,以公式(13)計算該經歷的Q值;如果不是結束狀態,以公式(14)計算該經歷的Q值.
yj=Rj
(13)
(14)
使用均方差損失函數(公式(15)),通過神經網絡梯度反向傳播更新當前Q網絡的所有參數.
(15)
同時每隔一定步數,用當前Q網絡覆蓋目標Q網絡,從而在一定程度上降低數據間相關性.
神經網絡方面,我們通過改進學習率后的網絡對輸入的狀態和動作進行訓練.通過RBM重建誤差動態調整學習率的公式如下:
(16)
其中α∈(1,2),β∈(0,1),t為當前迭代輪數,e(t-1)為上一輪訓練誤差,e(t)為當前誤差.
使用權重衰減能夠在訓練過程中避免過擬合[26]:
Δwi,j=Δwi,j+η[c1-c2-δΔwi,j]
(17)
其中δ為權重衰減系數,δ∈(0,1),δ值公式如下:
(18)
隨著訓練進行不斷減小δ,微調模型從而保證模型收斂.
針對傳統算法中手動調整學習率的缺陷,Adagrad[27]和AdaDec[28]算法中學習率η呈非線性下降趨勢,可以很大程度上解決該問題.然而這兩種算法沒有考慮誤差降低時減小η可能會出現因訓練誤差接近收斂誤差而收斂變慢的情況,模型需要訓練更多次才能收斂.在模型訓練階段誤差不斷減小的前提下適當增加η可以加快收斂速度,但同時η的增加速率應不斷的減小.結合上述學習率改進公式,提出的改進算法IRBM公式如下:
(19)
G(t)=ζE(g(t-1)2)+g(t)2
(20)
上述公式中,e(t-1)為上一輪迭代誤差值,e(t)為本輪迭代誤差值,g(t-1)為上一次迭代的梯度,g(t)為當前的梯度,ζ為介于0與1之間的定值,E(g(t-1)2)為上一次迭代的梯度平方和的均值.
適當增加學習率能在誤差下降的階段加快梯度下降的速度,從而迅速減小誤差.在誤差經過最小值后重新增大時,合理降低學習率可以將誤差精調到合理范圍.通過在上一輪學習率基礎上自適應調整學習率大小可以在學習率下降階段更準確地描述模型當前狀態,加快模型收斂速度,通過減少歷史梯度參與計算的方式降低計算量.
在建立用于產品信息表達的多粒度語義元模型后,結合本文改進的Deep Q-Learning算法,可以實現 MBD模型產品隱含設計意圖信息規則推理.算法具體步驟描述描述如下:
“網絡品牌”在國外文獻中多以cyberbrand、extensionbrand等詞匯表述,“全新的,依托于互聯網成立,且只存在于互聯網的品牌”,稱作“cyberbrand”;另一類是“已有市場為基礎的零售店和服務組織,只是將已有品牌延伸到網絡上進行運營的網絡品牌”,稱作“extensionbrand”。②
步驟1.根據公式(1)-公式(4),提取和存儲STEP文件中產品信息,并根據公式(5)映射到馬爾科夫決策模型;
步驟2.初始化迭代輪數T,動作集A,步長α,狀態特征維度n,探索率ε,經驗回放池容量N,衰減因子γ,當前Q網絡及其參數,參數與當前Q網絡相同的目標Q網絡,參數更新頻率C,梯度下降樣本數b,路徑存儲集合P,每輪迭代的最大長度l;
步驟3.取出當前狀態序列的第一個狀態S,獲取其特征向量φ(S);
步驟4.將φ(S)其輸入當前Q網絡中,計算所有動作對應Q值,利用公式(8)計算當前探索率,利用ε-貪婪法選擇對應動作A;
步驟5.在當前狀態S執行動作A,得到下一個狀態S′對應特征向量φ(S′),利用公式(12)計算獎勵值R,并判斷S′是否為終止狀態,將當前狀態特征向量、所執行動作、獎勵值、下一動作特征向量、是否終止以五元組形式存入經驗回放池,并用下一狀態覆蓋當前狀態;
步驟6.從經驗回放池中隨即取出b條樣本,利用公式(13),公式(14)計算該條經驗的目標Q值,使用公式(15)結合IRBM反向傳播更新當前Q網絡參數;
步驟7.如果S′是終止狀態,結束本輪迭代,迭代輪數加1,將本輪路徑記錄到路徑存儲集合中;如果達到本輪迭代最大長度,迭代輪數加1;如果不是以上兩種情況,跳至步驟4;
步驟9.判斷迭代是否完成,如果完成則算法結束,否則跳至步驟3.
影響本文算法復雜度計算的因素主要有:迭代次數G、經驗回放池容量N、神經網絡中學習樣本數LN、隱藏層節點數HN.上述步驟4中計算當前狀態所有動作值的時間復雜度為O(1),選擇動作的復雜性是O(HN).步驟5中獲得下一狀態、計算獎勵值、將本次經歷寫入經驗回放池的復雜度為O(1+1+1).步驟6中,將序列結果與經驗池中的全部序列進行對比,復雜度為O(N).步驟7接收策略并記錄到路徑存儲集合的復雜度為O(1).神經網絡的復雜度為O(LN×(HN+3×HN+1)).所以IDQN的復雜度是O(IDQN)=G×(O(1)+O(3)+O(N)+O(1)+O(LN×(HN+3×HN+1))+O(HN)≈O(G×N+G×LN×HN).與之相比,TransE、TransH等算法的時間復雜度約為O(L+E×b×b),其中L為關系集合大小,E為實體集合大小,b為樣本容量.當實體集合或關系集合規模過于龐大時,使用TransE、TransH等算法所需的時間較長.
本文研究目的主要在于推理出通用的零件設計意圖規則,利用該規則獲取零件中隱含產品制造信息.本實驗的知識圖譜構建以減速器為基礎,以如圖3所示的傳動軸為例,在減速器產品數據信息與面向設計意圖推理的多粒度語義元模型之間進行相應映射,結合改進的深度強化學習算法提取規則,最后使用SWRL規則對設計意圖中的尺寸信息進行推理.

圖3 實驗分析對象
實驗主要有兩個目標:
1)驗證改進的Deep Q-Learning算法優于傳統算法;
2)驗證本文方法可以從STEP文件中提取出相應規則,并利用該規則進行進一步推理.
在相同的實驗環境下參數ε按常數、階躍函數、一次函數和二次函數取值進行多跳路徑推理的模擬實驗對比結果如圖4所示.從對比實驗結果可知,一次函數模擬參數ε變化收斂的效果較好,因此在后續實驗中參數ε按一次函數取值.

圖4 多種函數對比結果
在相同實驗環境下,參數ε按一次函數取值,選擇不同ε閾值進行多跳路徑推理實驗如表3所示.實驗結果顯示,在閾值取0.96情況下,動作值函數需要最多的迭代次數才能達到收斂狀態,0.98和0.99效果最好且相近,故在后續實驗中ε的閾值取0.98.

表3 不同閾值模擬對比結果
改進的IRBM與傳統RBM的訓練改進對比如圖5所示,橫縱坐標分別代表訓練次數和重構誤差,由圖可知IRBM訓練精度更高,收斂速度更快.

圖5 模型訓練模擬結果
為了驗證算法在STEP知識圖譜推理方面的相對優劣,本文對比文獻[20]提出的原版Deep Q-Learning算法和文獻[29]中算法.本文與原版DQN算法在網絡結構上的不同在于,原版算法神經網絡的輸入是像素圖像,所以神經網絡的隱藏層使用了兩個卷積層和兩個全連接層,而本文只使用了全連接層作為隱藏層.在實驗中,公式(12)的兩個參數均設置為0.5.實驗模擬結果對比如圖6所示,由圖可知,本文算法更穩定,更快達到收斂狀態.

圖6 實驗模擬結果對比
STEP中性文件中每一條EXPRESS語句可分為實體名稱、實體標識和實體屬性3部分.從傳動軸的STEP文件中隨機取一條EXPRESS語句為例,“#44=DATUM(″,″,#2058,.F.,′A-B′);” DATUM表示實體名稱,#44代表實體標識,(″,″,#2058,.F.,′A-B′)是該實體的相關屬性.該語句與多粒度語義元模型映射關系如表4所示.

表4 EXPRESS語句至語義元模型映射
按上述規則把傳動軸模型每一條語句映射到多粒度語義元模型中,根據相應層次結構創建語義元連接邊,構建傳動軸的面向知識推理的語義元知識圖譜.以提取零件是否包含線性PMI信息為例,線性尺寸在EXPRSS語言中的表述方式為DIMENSIONAL_CHARACTERISTIC_REPRESENTATIONS,零件幾何面的表述為CLOSED_SHELL[30].在傳動軸知識圖譜中實體名稱CLOSED_SHELL對應的實體標識為#454,實體名稱為DIMENSIONAL_CHARACTERISTIC_REPRESENTATIONS對應的實體標識為#43.包含起點#43和終點#454的部分實驗環境如圖7所示.

圖7 部分實驗環境
利用深度強化學習得到起點與終點間獎勵值最高的路徑,用實體標識方式的表示結果如表5所示.
在上述決策結果的基礎上結合實體標識間對應的連接邊層級結構關系,抽象出語義元節點類型和節點關系,用SWRL語義規則表示.表5決策結果對應SWRL規則如表6所示.

表5 實體標識表示結果
表6右側的SWRL語義規則代表零件具有PMI信息.以空間狀態#43-狀態#102為例,在MGSM中,狀態#43的屬性信息為” DIMENSIONAL_CHARACTERISTIC_REPRESENTATIONS”,狀態#102的屬性信息為”DIMENSIONAL_LOCATIONS”,故將其表示為”DIMENSIONAL_CHARACTERISTIC_REPRESENTATIONS_include_DIMENSIONAL_LOCATIONS(?d,?d)”,include表示兩個狀態之間執行的是正向動作集中的動作,include-1表示兩個狀態之間執行的是反向動作集中的動作.終點狀態#454對應的屬性信息為” CLOSED_SHELL”,故該面存在PMI尺寸約束的規則可以表示為”CLOSED_SHELL_contains_PMI(?c)”.上述推理規則可以推理出零件是否具有PMI尺寸信息,但與尺寸信息相關的更深層次信息仍需進一步推理.獲取PMI尺寸信息類別、具體數值以及相關聯面的規則如表7所示.

表6 對應SWRL規則

表7 PMI尺寸信息對應的SWRL規則
傳動軸中PMI相關信息可按上述推理規則對傳動軸知識圖譜推理可得.以零件具有線性尺寸信息為例,線性尺寸在EXPREEE語言中的表述方式為” DIMENSIONAL_LOCATION”,且需要該面具有PMI尺寸信息,結合上一步內容,推理得到” DIMENSIONAL_CHARACTERISTIC_REPRESENTATION_include_DIMENSIONAL_LOCATIONS(?r,?d)”,如果該面滿足這兩項條件,則可以推理出該面具有線性尺寸信息.利用上述方法推理得到的傳動軸部分具有代表性推理結果如表8所示.

表8 部分推理結果
實驗推理結果表明,利用基于深度強化學習的規則提取方法能夠推理出MBD模型中隱含的維度約束、尺寸等語義信息.
本文利用STEP知識圖譜體系結構,結合多粒度思想,提出面向MBD模型知識推理的多粒度語義元模型MGSM.結合強化學習中的馬爾可夫決策過程對STEP文件中的信息進行相應的映射,以便于后續利用深度強化學習進行推理.在深度強化學習方面,提出改進的Deep Q-Learning算法,對傳統的DQN算法的隨機概率值ε和最終獎勵reward進行優化,同時使用改進的RBM算法IRBM,動態修改神經網絡學習率,使得模型可以在確保精確度的情況下加快訓練速度.最后以傳動軸為例,結合多粒度語義元模型MGSM,將STEP文件中的信息映射到語義元模型中,利用深度強化學習推理出的SWRL規則,并用推理得到的規則做了進一步推理,實現隱含設計語義等深層次信息的推理.