湯文俊,王裴巖+,蔡東風,張桂平,2,王玉印
(1.沈陽航空航天大學 人機智能研究中心,遼寧 沈陽 110136;2.沈陽格微軟件有限責任公司 知識工程及服務事業(yè)部,遼寧 沈陽 110136)
隨著“中國制造2025”的提出,制造業(yè)對自動化、智能化生產(chǎn)模式的需求日益增長,智能制造成為當前亟需發(fā)展的研究領(lǐng)域[1]。其中,工藝過程生成是智能制造領(lǐng)域的一個研究熱點,國內(nèi)外學者對工藝過程自動生成技術(shù)開展了廣泛的研究[2-11]。
早在1965年,NIEBEL[2]便提出了使用計算機開發(fā)工藝過程生成系統(tǒng)的想法。之后,學術(shù)界面向該任務提出了多種方法,如基于遺傳算法的方法[3]、基于蟻群算法的方法[4-5]、基于本體的方法[6]及基于神經(jīng)網(wǎng)絡的方法[7-11]。特別是1991年OSAKADA等[7]首次將神經(jīng)網(wǎng)絡應用于冷鍛工藝過程生成任務中,以產(chǎn)品的橫截面形狀數(shù)據(jù)作為輸入,以正向擠壓、反向擠壓、組合擠壓和鍛粗加工4種成形方法作為輸出,用3層BP(back propagation)[12]神經(jīng)網(wǎng)絡生成冷鍛工藝過程。秦寶榮等[8]針對零件表面加工過程中零件表面類型較多的問題,提出一種集成BP網(wǎng)絡模型,共設計4個子網(wǎng)絡分別生成不同類型零件表面的加工工藝過程。DEB等[9-10]開發(fā)了旋轉(zhuǎn)對稱零件的加工工藝過程生成系統(tǒng),以零件的直徑范圍、公差范圍、表面光潔度范圍作為輸入,輸出零件的加工工藝過程,使用啟發(fā)式或經(jīng)驗法則形式的先驗知識對神經(jīng)網(wǎng)絡進行預構(gòu)建,減少了神經(jīng)網(wǎng)絡中學習的復雜性。VALEEV等[11]通過構(gòu)建的工藝數(shù)據(jù)庫提前設計了一組最佳的工藝過程并建立了每條工藝過程的索引,以零件加工過程中所需刀具的使用壽命為BP神經(jīng)網(wǎng)絡輸入,對索引進行預測。
上述研究表明,神經(jīng)網(wǎng)絡方法能夠發(fā)現(xiàn)工藝數(shù)據(jù)中工藝屬性與工藝方法間的關(guān)系,適用于生成工藝過程。但是限于當時計算能力、網(wǎng)絡結(jié)構(gòu)與優(yōu)化算法等條件,使得上述方法僅關(guān)注于特定專業(yè)或特定類型零件的工藝過程生成,輸入網(wǎng)絡的工藝屬性是專門人工設計,網(wǎng)絡結(jié)構(gòu)也相對簡單(僅為3層的BP網(wǎng)絡),學習能力有限。
隨著神經(jīng)網(wǎng)絡的發(fā)展,特別是自2006年深度學習提出以來,深度學習方法在自然語言處理、圖像識別、語音識別等領(lǐng)域取得了開拓性的成就[13]。特別是在語言建模與文本生成這類序列建模與序列生成上,深度學習方法能夠從輸入的源序列中自動提取特征并生成更加靈活豐富的目標序列,近年來在機器翻譯[14]、圖片標題生成[15]等方向取得了突出效果。工藝過程生成任務通過分析工藝屬性信息生成工藝方法序列(工藝過程);機器翻譯任務通過分析源語言生成目標語言詞序列;圖片標題生成任務首先對圖片特征進行提取,自動生成與圖片內(nèi)容相符的文字描述詞序列。工藝過程生成與機器翻譯和圖片標題生成任務具有類似的性質(zhì),首先分析輸入的工藝屬性、文本或圖像并提取其特征,再根據(jù)該特征生成與輸入信息相對應的序列。本文將工藝過程生成任務建模為工藝方法序列的生成問題,研究了基于深度學習方法中的編碼器—解碼器結(jié)構(gòu)的工藝過程生成。
本文的貢獻包括:
(1)將工藝過程生成問題建模為類似于語言生成的序列生成問題,提出基于編碼器—解碼器結(jié)構(gòu)的工藝過程生成方法。該方法利用工藝大綱文件數(shù)據(jù),通過編碼器提取大綱文件中工藝屬性的特征,形成工藝屬性文本表征向量,解碼器根據(jù)表征向量逐步生成工藝過程。
(2)在鈑金零件制造與裝配兩個專業(yè)工藝大綱文件數(shù)據(jù)上,比較研究了循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)[16]、長短期記憶網(wǎng)絡(Long Short-Term Memory,LSTM)[17]、門控循環(huán)單元網(wǎng)絡(Gated Recurrent Unit,GRU)[18]等分別作為編碼器與解碼器的24種結(jié)構(gòu)。編碼器為雙向GRU,解碼器為LSTM的結(jié)構(gòu),在兩個數(shù)據(jù)集上準確率分別達到0.828 7和0.697 3,即生成的工藝過程有82.87%和69.73%可直接接受不需要后續(xù)修改。這一方面表明所提方法能夠有效地從數(shù)據(jù)中學習工藝屬性與工藝方法間的關(guān)系,從而生成工藝過程;另一方面,在兩個專業(yè)采用相同的編碼器—解碼器結(jié)構(gòu),表明所提方法對于不同專業(yè)的適用性,具有較好的遷移能力。
(3)將注意力機制[19]引入編碼器—解碼器結(jié)構(gòu)中,通過注意力機制的可視化分析出了生成的工藝方法與輸入的工藝屬性之間的對應性關(guān)系。進一步表明了本文采用的編碼器-解碼器結(jié)構(gòu)在工藝過程生成任務上的有效性,同時增加了生成結(jié)果的可解釋性。
本文將工藝過程生成問題建模為工藝方法序列的生成問題,這樣便能夠按照序列生成的過程予以定義。具體地,將工藝過程生成任務理解為以工藝屬性文本為輸入生成工藝方法序列(工藝過程)。訓練數(shù)據(jù)采用工藝大綱文件數(shù)據(jù)D={d1,d2,...,dl},其中每篇工藝大綱di=(xi,yi)。若定義C和O分別為工藝屬性字符和工藝方法集合,x=c1,c2,c3,...,ct表示由字符ci∈C構(gòu)成的長度為t的工藝屬性文本,y=o1,o2,o3,...om為由工藝方法oi∈O構(gòu)成的長度為m的工藝方法序列。工藝過程生成任務可形式化描述為最大化條件概率p(y|x):
maxp(o1,o2,...,om|c1,c2,...,ct)。
(1)
工藝過程生成模型結(jié)構(gòu)采用現(xiàn)今深度學習方法中較為通用的編碼器—解碼器結(jié)構(gòu),總體框架如圖1所示。工藝過程生成的流程具體如下:
(1)工藝屬性文本的提取與向量化表示 提取工藝大綱文件中各工藝屬性并對其進行拼接,形成工藝屬性文本。將工藝屬性文本中每個字符轉(zhuǎn)化為神經(jīng)網(wǎng)絡可處理的One-hot向量形式。
(2)編碼器 編碼器實現(xiàn)對工藝屬性的理解與表征。工藝屬性文本各字符的One-hot向量依次通過編碼器,直到最后一個字符輸入完畢,得到工藝屬性文本的表征向量v。
(3)解碼器 解碼器采取逐步生成工藝方法的方式。在每個工藝方法輸入至解碼器之前均轉(zhuǎn)化為One-hot向量。第一時刻以標識符“
1.3.1 工藝大綱文件結(jié)構(gòu)
工藝大綱文件是工藝數(shù)據(jù)的格式化載體,記錄了除零件圖紙以外所有工藝要求(工藝屬性)以及工藝設計結(jié)果(工藝過程)(如圖2)。特別是對于鈑金零件制造、航電系統(tǒng)裝配、導線連接、熱處理與表面處理等考慮零件結(jié)構(gòu)信息相對較少的專業(yè),大綱文件基本涵蓋了全部的工藝設計依據(jù)與工藝設計結(jié)果。這也就確立了以工藝大綱文件為數(shù)據(jù),訓練編碼器—解碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡生成工藝過程的數(shù)據(jù)基礎(chǔ)。另外,工藝大綱文件為文本數(shù)據(jù),相比于CAD圖紙與三維模型等較容易分析與處理[20]。并且,隨著工藝設計軟件的推廣應用,企業(yè)積累了大量的各專業(yè)數(shù)字化的工藝大綱文件,屬于較容易獲得的數(shù)據(jù)資源。
1.3.2 工藝屬性與處理方法
工藝屬性是工藝設計的主要依據(jù),對于制造大綱通常包括大綱名稱、工藝大綱編號、材料、材料牌號、材料狀態(tài)、技術(shù)要求等,對于裝配大綱通常包括大綱名稱、工藝大綱編號、裝配零件表等。工藝大綱編號是工藝文件管理的標識,同一編號只能授予一份工藝文件。工藝大綱文件編碼隱含了企業(yè)工程管理的體系與方法。圖3為國標《GB/T 24735-2009機械制造工藝文件編號方法》[21]規(guī)定的生產(chǎn)性工藝文件的編碼方法。有些企業(yè)還在工藝大綱編號中包含了工站位、專業(yè)與工種等編碼信息。
工藝大綱名稱是簡要表達制造與裝配任務的專業(yè)術(shù)語[22],如制造工藝中“長桁支架的加工”,裝配工藝中“左前機身長桁的安裝”。其中體現(xiàn)了主要的制造與裝配對象(長桁支架、左前機身長桁)。
所需材料包括材料名稱、材料牌號、材料規(guī)格和材料規(guī)范。材料名稱描述了目標零件的材料類別,如鋁板、鈦板、純銅板等。材料牌號是材料的標記代號,隱含了零件的大致用途與功能[23]。如牌號“7075”表示一種中等強度的鋁合金,其化學成分及物理性能是確定的。材料規(guī)格描述了滿足零件制造實際需要的材料形狀與大小,如“64mm×55mm”表示零件制造過程中需要64mm×55mm大小的長方形包鋁板。材料規(guī)范涵蓋了零件所用材料的一般要求。如規(guī)范“AMS-QQ-A-250”涵蓋了對鋁及鋁合金板材和片材的機械特性、容許誤差、識別嘜頭等方面的要求。
技術(shù)要求屬性是對零件制造過程提出的技術(shù)性加工內(nèi)容與要求,是作為產(chǎn)品工藝過程質(zhì)量控制的依據(jù)[24]。如“支架成形后按0HE00-00B00由O狀態(tài)熱處理到T42狀態(tài)”體現(xiàn)了熱處理方法的要求標準為“0HE00-00B00”。
裝配工藝大綱除工藝大綱編號和工藝大綱名稱屬性外,還包括裝配零件表。零件表描述了全部預裝配零部件的名稱與代號及其數(shù)量(如表1),描述了該項裝配工藝所有的操作對象,也就是裝配工藝過程要完成零件表內(nèi)全部零部件的裝配工作及相關(guān)輔助性工作。
表1 裝配零件表
本文將工藝大綱文件中不同的工藝屬性直接進行拼接形成工藝屬性文本序列,并將其處理為神經(jīng)網(wǎng)絡可處理的向量形式。通常使用獨熱(One-hot)編碼的方式對原始數(shù)據(jù)進行編碼,One-hot編碼又稱為一位有效編碼,采用N位狀態(tài)寄存器來對N個狀態(tài)進行編碼[25]。由于部分工藝屬性由字母和數(shù)字組成,如工藝大綱編號、材料號等,數(shù)據(jù)分布相對離散,故工藝屬性使用按字符分割的方式,以字符為基本單元,所有字符組成大小為k的工藝屬性字符集合C={c1,c2,c3,...,ck}。對于每一個字符ci,經(jīng)過One-hot編碼后將被表示成索引第i位標記為1,其余位標記為0的k維向量。以制造工藝為例,所有制造大綱文件中的工藝屬性文本共包含556個不同的字符,即組成大小為556的工藝屬性字符集合C={c1,c2,c3,...,c556}。如c3代表字符“鋁”,則字符“鋁”的One-hot向量可表示為[0,0,1,0,0,...,0]1×556。
1.3.3 工藝過程與處理方法
工藝過程由工藝方法組成,是工藝設計的結(jié)果。工藝方法包括具體的工作內(nèi)容與工藝方法簡述,不同的工藝方法可能對應相同的簡述,但每個工藝方法的具體工作內(nèi)容是唯一的。如表2所示,最后2個工藝方法的簡述均為“檢驗”,但其工作內(nèi)容不同,本文將其看作2個不同的工藝方法。
表2 工藝方法示例
本文從各專業(yè)工藝大綱數(shù)據(jù)中預先抽取全部的工藝方法,對其進行匯總和去重,形成各專業(yè)工藝方法集合O={o1,o2,o3,...,on}。工藝過程基于集合中的工藝方法按照序列關(guān)系構(gòu)成。以制造工藝為例,從所有制造工藝大綱文件中預先抽取全部工藝方法并進行去重,共201個不同的工藝方法。此外,添加“SOS”和“EOS”標識符來表示工藝過程的開始和結(jié)束。最終形成大小為203的制造工藝方法集合O={o1,o2,o3,...,o203},每一個工藝方法使用One-hot編碼轉(zhuǎn)化為維度為203的向量形式。對于神經(jīng)網(wǎng)絡的輸入,如o202代表簡述為“供料”,工作內(nèi)容為“下料250mm×150mm”的工藝方法,該工藝方法的One-hot向量可表示為[0,0,0,0,...,1,0]1×203。對于神經(jīng)網(wǎng)絡的輸出,工藝方法概率分布表示為維度為203的向量,若第202維取得最大值,則取o202所代表的工藝方法進行輸出。
無論是制造還是裝配,工藝大綱文件中的屬性皆為文本信息,且其中隱含著序列順序關(guān)系。如制造工藝的技術(shù)要求屬性中“按xxx鉻酸陽極化,按xxx涂xxx環(huán)氧底漆”隱含了由鉻酸陽極化到涂漆的工藝方法。
(2)
式中:tanh為激活函數(shù),Ue∈Rhn×em和We∈Rhn×hn表示可訓練的參數(shù)矩陣,em和hn分別為編碼器嵌入層和循環(huán)神經(jīng)網(wǎng)絡的隱層維度。
(3)
(4)
本文研究了循環(huán)神經(jīng)網(wǎng)絡與全連接網(wǎng)絡(Fully Connected Network,FCN)兩大類解碼器。工藝過程是一系列工藝方法的有序排列,專門用于處理序列數(shù)據(jù)的循環(huán)神經(jīng)網(wǎng)絡能夠有效挖掘出工藝過程中各工藝方法之間的順序關(guān)系。為研究前序工藝方法對當前工藝方法的影響,本文對比了考慮多個前序工藝方法的循環(huán)神經(jīng)網(wǎng)絡和僅考慮前一時刻工藝方法的全連接網(wǎng)絡。
(5)
(6)
式中:tanh為激活函數(shù),Ud∈Rsn×dm,Wd∈Rsn×sn表示可訓練的參數(shù)矩陣,dm和sn分別為解碼器嵌入層和循環(huán)神經(jīng)網(wǎng)絡的隱層維度。式(6)中,Zd∈Rn×sn和bd∈Rn×1為可訓練的參數(shù)矩陣,n為工藝方法集合的大小。
(7)
式中,Zd∈Rn×dm和bd∈Rn×1為可訓練的參數(shù)矩陣。
本文引入注意力機制來學習工藝方法與工藝屬性之間的關(guān)聯(lián)關(guān)系。解碼器以編碼器輸出的工藝屬性文本的表征向量為輸入,當輸入的工藝屬性文本過長時將難以保留全部的必要信息。將注意力機制引入由循環(huán)神經(jīng)網(wǎng)絡組成的編碼器—解碼器結(jié)構(gòu),可以使得解碼過程中每個時刻的工藝方法均能關(guān)注到與其關(guān)聯(lián)性較強的工藝屬性,更好地幫助解碼器生成工藝過程。如生成“涂漆”工藝方法時可能關(guān)注到輸入的技術(shù)要求工藝屬性中有“涂BPS1786底漆”的要求。
對于時刻j的解碼器,以時刻j-1的輸出向量sj-1為查詢向量,與編碼器每一時刻的輸出向量hi(1≤i≤t)進行注意力計算得到注意力權(quán)重αij:
αij=Softmax(bTtanh(Uhi+Wsj-1))。
(8)
式中:bT∈Rsn×1,U∈Rsn×hn和sn表示可訓練的參數(shù)矩陣,hn和sn分別為編碼器和解碼器循環(huán)神經(jīng)網(wǎng)絡的隱層維度。
編碼器的輸出向量hi與其對應的注意力權(quán)重αij加權(quán)求和得到注意力向量zj:
(9)
每條訓練樣本由工藝屬性文本與工藝方法序列組成。神經(jīng)網(wǎng)絡以工藝屬性文本為輸入,依次生成工藝方法,損失函數(shù)為神經(jīng)網(wǎng)絡生成的工藝方法與參考工藝方法的交叉熵。在神經(jīng)網(wǎng)絡訓練時采用Adam[28]優(yōu)化器對各個可學習矩陣的權(quán)重進行優(yōu)化更新,以最小化損失函數(shù)。
本文采用2個工藝大綱文件數(shù)據(jù)集,分別是我國某型飛機的鈑金零件制造大綱(制造大綱)和電氣導線互聯(lián)系統(tǒng)裝配大綱(裝配大綱)。其中,制造大綱數(shù)據(jù)集共2 360份文件,每份文件包括零件制造的相關(guān)信息,包括工藝大綱名稱、工藝大綱編號、所需材料、技術(shù)要求以及零件制造的工藝過程;裝配大綱數(shù)據(jù)集共961份文件,每份文件包括裝配的相關(guān)信息,包括工藝大綱名稱、工藝大綱編號、零件表以及零件裝配的工藝過程。從大綱文件中提取出工藝屬性與工藝方法序列(工藝過程)并在工藝方法序列開頭和結(jié)尾分別添加標識符“
表3 數(shù)據(jù)集描述
本文實驗采用的評價方法為基于編輯距離(Lenvenshtein Distance,LD)[29]定義的生成工藝過程相對于參考工藝過程的準確率,如式(10)。其中:LD(Ys,Yt)表示生成的工藝過程Ys與工藝過程Yt編輯距離,是指由Ys修改為Yt所要插入、刪除、替換的工藝方法的數(shù)量;len(Ys)len(Yt)分別為Ys與Yt的工藝方法數(shù)目。P的取值范圍為[0,1],當Ys與Yt的順序完全一致時,P=1;當Ys與Yt互為逆序時,P=0。P越大,表示由生成的工藝過程經(jīng)過插入、刪除、替換工藝方法改為參考工藝過程所需的次數(shù)越少,生成的工藝過程與參考工藝過程的相似度越高,生成質(zhì)量越好。
(10)
本文的實驗環(huán)境設置如表4所示。
表4 實驗環(huán)境
為保證實驗結(jié)果的可靠性,采用了十折交叉驗證方法,取10次結(jié)果的平均值作為對算法精度的估計。每一折實驗中,從訓練集中抽取10%的數(shù)據(jù)作為驗證集,用于驗證訓練的模型調(diào)優(yōu)模型參數(shù),剩余數(shù)據(jù)作為模型訓練數(shù)據(jù),最后將在驗證集上表現(xiàn)最優(yōu)的模型在這一折的測試集上驗證。不同編碼器—解碼器結(jié)構(gòu)的最優(yōu)參數(shù)有所不同,故某些超參數(shù)的取值以集合形式表示。
實驗中首先對數(shù)據(jù)進行打亂處理,采用批量訓練,批大小取值為4;本文使用默認設定參數(shù)的Adam優(yōu)化器,學習率取值的集合為{0.0001,0.0005,0.001};此外,本文使用Dropout[30]方法來避免過擬合,比率取值為0.1。其余超參數(shù)取值如表5所示。
表5 超參數(shù)設置
3.4.1 不同編碼器-解碼器結(jié)構(gòu)的比較實驗
為評估各編碼器與解碼器在工藝過程生成任務上的效果,對組合的24種編碼器—解碼器結(jié)構(gòu)進行了比較。不同結(jié)構(gòu)在制造與裝配大綱數(shù)據(jù)集上經(jīng)十折交叉驗證的平均準確率列入表6中,括號內(nèi)為準確率的方差。表中黑體數(shù)據(jù)表示通過置信度為95%的T檢驗,在2個數(shù)據(jù)集上的準確率顯著優(yōu)于其他編碼器—解碼器結(jié)構(gòu)。表中“Bi”代表雙向網(wǎng)絡。
表6 不同編碼器-解碼器結(jié)構(gòu)的準確率
由表6可見,編碼器為Bi-GRU,解碼器為LSTM的結(jié)構(gòu)在2個數(shù)據(jù)集上具有最好的效果,準確率分別達到0.828 7和0.697 3,從而表明了編碼器-解碼器結(jié)構(gòu)在工藝過程生成任務上的有效性。當RNN為編碼器或解碼器時,實驗效果較差;而LSTM與GRU效果無明顯差異,CHUNG等[31]也同樣論證了此觀點。相較于LSTM和GRU,RNN存在長期依賴與梯度爆炸的問題,這也是導致其效果較差的原因之一。雙向循環(huán)神經(jīng)網(wǎng)絡總體上優(yōu)于單向循環(huán)神經(jīng)網(wǎng)絡,雙向網(wǎng)絡通過前向與反向的編碼表征了更多工藝屬性信息。
當解碼器為全連接網(wǎng)絡時,所得到的實驗結(jié)果均與最優(yōu)編碼器—解碼器結(jié)構(gòu)的結(jié)果存在一定差距。以循環(huán)神經(jīng)網(wǎng)絡為解碼器,當前時刻的神經(jīng)元中保留著之前每個時刻神經(jīng)元的信息。而當解碼器為全連接網(wǎng)絡時,在解碼時當前工藝方法缺少與所有前序工藝方法之間的聯(lián)系,說明工藝方法生成時不僅需要上一步工藝方法的信息,還需要多個前序工藝方法信息,一個有效的解碼器對于工藝方法的生成是必不可少的。
3.4.2 注意力機制的實驗
本文討論了結(jié)合注意力機制的編碼器—解碼器結(jié)構(gòu)對工藝過程生成任務的影響。從表6中選取了效果最優(yōu)編碼器-解碼器結(jié)構(gòu)的實驗結(jié)果列入表7中。在此基礎(chǔ)上增加了注意力機制進行實驗,并將其在2個數(shù)據(jù)集上十折交叉驗證的平均準確率列入表7。
表7 結(jié)合注意力機制的編碼器-解碼器結(jié)構(gòu)的準確率
由表7可見,結(jié)合注意力機制的編碼器-解碼器結(jié)構(gòu)在2個數(shù)據(jù)集上的準確率均有一定的提升,分別提升了0.0171和0.0341。本文還選取了制造與裝配大綱數(shù)據(jù)集上的2條數(shù)據(jù)進行可視化分析,分別如圖9和圖10所示。圖示上方的字符表示輸入的工藝屬性信息,左側(cè)表示生成的工藝方法序列。圖中顏色越深,表明橫縱的關(guān)聯(lián)性更強。
由圖9可見,在制造工藝方法生成過程中,當生成的工藝方法為“CC轉(zhuǎn)化膜層”時,通過注意力機制能準確定位到輸入的工藝屬性中的“涂cc膜處理”;同樣由圖10可見,在裝配大綱數(shù)據(jù)集上,當生成的工藝方法為“線束敷設”時,通過注意力機制能夠定位出輸入的工藝屬性中預裝配零件“傳感器線束組件”。表明注意力機制的引入加強了輸出的工藝方法與輸入的工藝屬性之間的聯(lián)系,這種強關(guān)聯(lián)性使得工藝方法序列的生成愈加準確。
3.4.3 與VSM-CBR的對比實驗
為進一步驗證本文所提方法的有效性,選取KE等[32]提出的一種基于向量空間模型(Vector Space Model,VSM)和實例推理(Case-Based Reasonin,CBR)的工藝過程生成方法(VSM-CBR)進行對比。該方法采用TF-IDF技術(shù)計算工藝屬性文本中每個字符的權(quán)重,將其轉(zhuǎn)化為計算機可處理的向量形式。本文實驗采取的是十折交叉驗證的方式,以每一折數(shù)據(jù)的訓練集為實例庫,使用詞頻-逆文檔頻率(Term Frequency-Inverse Document Frequency,TF-IDF)技術(shù)將工藝屬性文本轉(zhuǎn)化為向量形式,每個向量對應一條工藝過程。逐條取出測試集中的工藝屬性文本并使用TF-IDF轉(zhuǎn)化向量形式,利用余弦相似度從實例庫中查找得到最相似的工藝屬性,并將其對應的工藝過程輸出。將該方法與本文方法(以Bi-GRU為編碼器,LSTM為解碼器且結(jié)合注意力機制的結(jié)構(gòu))分別在2個數(shù)據(jù)集上經(jīng)十折交叉驗證的平均準確率列入表8。
表8 與VSM-CBR的對比結(jié)果
由表8可見,本文方法在兩個數(shù)據(jù)集上均優(yōu)于基于VSM-CBR的方法?;赩SM-CBR的方法通過檢索的方式查找出最相似的工藝屬性文本所對應的工藝過程,但某些測試樣本無法從實例庫中匹配到一條十分相似的工藝屬性文本,從而影響工藝過程的生成效果。而通過深度學習的方法能夠從不同的訓練樣本中學習出工藝過程與工藝屬性之間的關(guān)聯(lián)關(guān)系以及工藝過程中各工藝方法之間的順序關(guān)系,使得工藝過程的生成更加靈活和準確。
為了進一步研究編碼器—解碼器結(jié)構(gòu)在工藝過程生成任務上的有效性,本文對以Bi-GRU為編碼器,LSTM為解碼器且結(jié)合注意力機制的結(jié)構(gòu)的生成結(jié)果進行了分析。圖11給出了某份制造大綱的工藝屬性及其處理后形成的工藝屬性文本。圖12為該份制造大綱的工藝過程(參考工藝過程)與工藝屬性文本輸入神經(jīng)網(wǎng)絡后生成的工藝過程,其中生成錯誤的工藝方法以黑體標出。
通過分析該示例可以得出:上述編碼器—解碼器結(jié)構(gòu)能夠較好地學習出工藝過程與工藝屬性之間的關(guān)系,對于技術(shù)要求屬性中的具體工藝操作,工藝過程中必定依次涵蓋其對應的工藝方法。如技術(shù)要求屬性中“施加CC無色轉(zhuǎn)化膜”、“涂ZM186耐流體底漆”所要求的“CC轉(zhuǎn)化膜層”與“涂ZM186底漆”工藝方法均能按順序準確生成。此外,該結(jié)構(gòu)在一定程度上能夠?qū)W習數(shù)據(jù)集中的模式信息,如制造工藝過程通常以“供料、檢驗”工藝方法開始(零件加工前需提供原材料并進行檢驗),以“總檢、保護、核實印章入庫”工藝方法結(jié)束(零件加工完畢后需進行入庫,入庫前需要對成品進行檢驗以及保護),生成的工藝過程與上述模式相符。生成工藝過程缺少“稱重”和“蓋稱重標識”工藝方法,是因為該份工藝大綱的工藝屬性未對材料和零件的重量提出明確要求。
工藝過程生成是智能工藝設計領(lǐng)域的重要研究方向之一。本文利用數(shù)字化制造與裝配工藝大綱文件,提出基于編碼器—解碼器結(jié)構(gòu)的工藝過程生成方法。本文的主要工作如下:
(1)針對工藝屬性與工藝過程的特點,本文選取了RNN、LSTM、GRU等網(wǎng)絡結(jié)構(gòu)作為編碼器與解碼器,在制造與裝配工藝大綱數(shù)據(jù)集上驗證了以雙向GRU為編碼器,LSTM為解碼器的結(jié)構(gòu)具有最好的效果,準確率分別達到了0.8287和0.6973。表明了編碼器—解碼器結(jié)構(gòu)在工藝過程生成任務上的有效性以及在不同專業(yè)領(lǐng)域的適用性。
(2)通過對比以全連接網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡為解碼器的結(jié)構(gòu),證明了解碼過程中多個前序工藝方法隱含的信息的重要性。
(3)引入注意力機制的編碼器—解碼器結(jié)構(gòu)在2個數(shù)據(jù)集上的準確率達到0.8458和0.7314。可視化結(jié)果表明注意力機制加強了生成的工藝方法與輸入的工藝屬性之間的關(guān)聯(lián)關(guān)系,表明了注意力機制對于工藝過程生成任務的有效性。
在未來研究中,本文將在其他專業(yè)應用所提出方法,如機加、結(jié)構(gòu)裝配、熱處理等。另外,本文僅將所有工藝屬性文本直接轉(zhuǎn)為一個長文本,沒有細致區(qū)分材料、名稱、編號等工藝屬性,在今后工作中,將研究不同工藝屬性的表征方法?,F(xiàn)今基于Transformer模型的預訓練語言模型在文本生成任務上表現(xiàn)較優(yōu)[33],在未來可嘗試將預語言模型應用于工藝過程自動生成任務之中。但是,預訓練模型對于數(shù)據(jù)需求量較大,很難獲得大量的工藝大綱數(shù)據(jù)。在工藝設計任務上如何降低預訓練模型的數(shù)據(jù)量要求將是研究的重點。