楊 丁,董寶力,陳依玲
(浙江理工大學(xué)機(jī)械與自動(dòng)控制學(xué)院,浙江杭州 310018)
車間生產(chǎn)制造受缺料、故障、插單等不確定因素的影響,產(chǎn)品加工周期存在較大波動(dòng)。生產(chǎn)車間能按時(shí)交貨是企業(yè)穩(wěn)健發(fā)展的基石,也是影響企業(yè)競(jìng)爭(zhēng)力和聲譽(yù)的重要因素,因此生產(chǎn)車間應(yīng)盡可能制定合理的計(jì)劃保障產(chǎn)品按時(shí)交付。隨著工業(yè)互聯(lián)網(wǎng)的快速發(fā)展,制造業(yè)車間的海量數(shù)據(jù)得以準(zhǔn)確采集,龐大的數(shù)據(jù)量和復(fù)雜的數(shù)據(jù)關(guān)系為產(chǎn)品制造周期的預(yù)測(cè)奠定了基礎(chǔ)。
產(chǎn)品制造周期預(yù)測(cè)方法包括統(tǒng)計(jì)分析法、仿真建模法和神經(jīng)網(wǎng)絡(luò)法等。在神經(jīng)網(wǎng)絡(luò)方面,Chang 等提出基于淺層神經(jīng)網(wǎng)絡(luò)的生產(chǎn)周期預(yù)測(cè)方法,其與線性回歸算法相比準(zhǔn)確度更高;Chen 等使用BP 神經(jīng)網(wǎng)絡(luò)對(duì)晶圓生產(chǎn)加工周期進(jìn)行了預(yù)測(cè),采用先聚類后預(yù)測(cè)的方法提高了預(yù)測(cè)精度;陳佳珍等分別采用BP 神經(jīng)網(wǎng)絡(luò)和多元線性回歸對(duì)縫口強(qiáng)力進(jìn)行預(yù)測(cè),由MATLAB 編程建立預(yù)測(cè)模型,實(shí)驗(yàn)結(jié)果表明BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)能力優(yōu)于多元線性回歸。深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)在產(chǎn)品制造周期方面也有一定應(yīng)用,例如Wang 等使用傳感器采集車間生產(chǎn)過程的數(shù)據(jù),并以訂單信息作為數(shù)據(jù)樣本集,采用DNN 進(jìn)行生產(chǎn)制造周期預(yù)測(cè);劉道元等收集影響制造車間訂單完工期的特征信息作為數(shù)據(jù)樣本集,構(gòu)建DNN 進(jìn)行訂單完工期預(yù)測(cè)。
以上3 種方法中仿真建模法難以精準(zhǔn)描述生產(chǎn)車間制造過程,模型復(fù)雜且難以維護(hù)。統(tǒng)計(jì)分析法在處理數(shù)據(jù)量少、應(yīng)用場(chǎng)景簡(jiǎn)單、數(shù)據(jù)特征集復(fù)雜度低的情況下精度較高,在加工工序多、生產(chǎn)規(guī)模較大的場(chǎng)景下預(yù)測(cè)準(zhǔn)確度難以提升。特征選擇和特征提取作為神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練過程,可提取特征間有價(jià)值的信息,但可能會(huì)造成非線性信息損失。神經(jīng)網(wǎng)絡(luò)法在產(chǎn)品制造場(chǎng)景簡(jiǎn)單、工序少的情況下能取得較好預(yù)測(cè)效果,在加工不確定因素多、數(shù)據(jù)維度大的情況下不能較好地表達(dá)特征維度,預(yù)測(cè)精度低。基于此,本文提出一種改進(jìn)DNN 的產(chǎn)品制造周期預(yù)測(cè)方法。該方法采用棧式自編碼器(Stacked Auto Encoder,SAE)提取特征中的重要信息,獲得網(wǎng)絡(luò)輸入等于輸出的重要特征關(guān)系,代替?zhèn)鹘y(tǒng)特征提取或選擇過程,使用SAE 網(wǎng)絡(luò)預(yù)訓(xùn)練參數(shù)初始化DNN 進(jìn)行預(yù)測(cè)。為避免模型發(fā)生過擬合,在訓(xùn)練過程中加入L2 正則化和dropout,并通過某產(chǎn)品生產(chǎn)制造車間實(shí)例對(duì)該預(yù)測(cè)模型的性能進(jìn)行驗(yàn)證。
以制造業(yè)生產(chǎn)車間為背景,研究產(chǎn)品加工周期的預(yù)測(cè)問題。在生產(chǎn)加工過程中,產(chǎn)品類型、加工數(shù)量以及各工序加工時(shí)間的共同影響導(dǎo)致產(chǎn)品制造周期的預(yù)測(cè)難度較大,而預(yù)測(cè)產(chǎn)品生產(chǎn)周期有利于企業(yè)合理安排作業(yè)為此提出一種改進(jìn)DNN 的方法進(jìn)行產(chǎn)品制造周期預(yù)測(cè)。
基于棧式自編碼器—深度神經(jīng)網(wǎng)絡(luò)(SAE-DNN)的產(chǎn)品制造周期預(yù)測(cè)模型如圖1 所示。對(duì)于制造車間,生產(chǎn)不確定性因素主要包括物料供應(yīng)、人員狀態(tài)、設(shè)備工況、故障異常、加工任務(wù)變更等。
Fig.1 Manufacturing cycle prediction model based on SAE-DNN圖1 基于SAE-DNN 的產(chǎn)品生產(chǎn)制造周期預(yù)測(cè)模型
產(chǎn)品制造過程中的數(shù)據(jù)包括加工路線、設(shè)備狀況、人員狀態(tài)以及物料清單表等。為保證各特征值在量綱上的一致性,使其能夠擺脫單位束縛進(jìn)行比較與加權(quán),統(tǒng)一對(duì)所有特征值進(jìn)行歸一化處理。各特征歸一化結(jié)果落在(0,1)之間,歸一化定義表示為:
式中,x和x為特征數(shù)據(jù)集的最大值和最小值。
X
={x
,x
,…,x
,…,x
},其中x
={x
,x
,…,x
},n
為數(shù)據(jù)樣本集中包含的樣本個(gè)數(shù),x
表示第k
個(gè)樣本中的特征變量集。神經(jīng)元的各節(jié)點(diǎn)與x
內(nèi)各特征變量一一對(duì)應(yīng)。在編碼過程中,將x
中的特征變量作為輸入傳至隱藏層神經(jīng)元,通過式(2)進(jìn)行編碼,完成特征提取,然后使用式(3)對(duì)隱藏層的特征進(jìn)行復(fù)現(xiàn),得到解碼結(jié)果y
(x
)。w
,b
}和{w
,b
}分別表示編碼和解碼過程中連接的權(quán)值矩陣和偏置矩陣。由于傳統(tǒng)激活函數(shù)在進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)容易造成特征信息丟失,故在SAE 預(yù)訓(xùn)練過程中采用ReLU 激活函數(shù)。此外,ReLU 函數(shù)可使部分輸出為0,能夠緩解過擬合現(xiàn)象。單層自編碼器采用反向傳播算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,重構(gòu)后得到輸入值,使用最小化代價(jià)函數(shù),得到使輸入等于輸出的參數(shù)w
和b
值。自編碼過程的誤差代價(jià)函數(shù)C表達(dá)式為:β
為傳播過程中權(quán)重的衰減參數(shù);n 為隱藏層神經(jīng)元個(gè)數(shù);γ 為稀疏項(xiàng)權(quán)重參數(shù);ρ 值設(shè)定為0.05,表示稀疏項(xiàng)懲罰因子KL
(ρ||ρ
)。使用逐層貪婪訓(xùn)練法對(duì)網(wǎng)絡(luò)的第一層進(jìn)行訓(xùn)練,得到初始參數(shù)w
和b
;在神經(jīng)網(wǎng)絡(luò)的初始層將特征數(shù)據(jù)集作為輸入項(xiàng),對(duì)其進(jìn)行訓(xùn)練并解碼隱藏層神經(jīng)元,將解碼后的向量作為下一層輸入,訓(xùn)練第二層的參數(shù)w
和b
。同樣利用該方法對(duì)神經(jīng)網(wǎng)絡(luò)的其他層數(shù)進(jìn)行訓(xùn)練,每次更新權(quán)值的算法表示為:l
={1,2,…,n
},k
表示迭代次數(shù),α
表示學(xué)習(xí)率。w
和b
賦值給DNN 第一層。在對(duì)DNN 最后一層進(jìn)行訓(xùn)練時(shí),隨機(jī)生成網(wǎng)絡(luò)參數(shù),主要由之前神經(jīng)網(wǎng)絡(luò)層提取的特征信息進(jìn)行產(chǎn)品制造周期預(yù)測(cè)。由于DNN 層數(shù)和網(wǎng)絡(luò)節(jié)點(diǎn)較多,訓(xùn)練模型容易出現(xiàn)過擬合現(xiàn)象。為得到預(yù)測(cè)能力更強(qiáng)的模型,加入L正則化和dropout步驟。
(1)L正則化是在原有損失函數(shù)中增加L正則項(xiàng),即增加了所有層所有參數(shù)的平方和,定義為:
(2)在DNN 訓(xùn)練過程中加入dropout,使特征信息在神經(jīng)元中傳輸?shù)倪^程中,神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)按照一定的概率消失,以改善DNN 的過擬合現(xiàn)象,其定義為:
式中,Bernoulli 為隨機(jī)生成0、1 向量的概率生成函數(shù)。
以某制造業(yè)生產(chǎn)車間的加工數(shù)據(jù)為研究對(duì)象,驗(yàn)證SAE-DNN 模型對(duì)產(chǎn)品制造周期預(yù)測(cè)的合理性和準(zhǔn)確性。該生產(chǎn)線共有11個(gè)加工工序,產(chǎn)品制造流程如圖2 所示。
Fig.2 Processing flow of some manufacturing workshop圖2 某制造業(yè)車間加工流程
根據(jù)排產(chǎn)工單的不同,依次對(duì)制造執(zhí)行系統(tǒng)(MES)中的數(shù)據(jù)進(jìn)行采集,形成影響產(chǎn)品制造周期的數(shù)據(jù)樣本集。該數(shù)據(jù)集包含某季度車間的實(shí)時(shí)加工數(shù)據(jù),利用該數(shù)據(jù)對(duì)產(chǎn)品制造周期預(yù)測(cè)模型進(jìn)行訓(xùn)練。對(duì)于數(shù)據(jù)樣本中的空值、異常值、缺失值,使用Pandas 計(jì)算該數(shù)據(jù)列的特征均值并完成替換,經(jīng)篩選共獲得5 000個(gè)工單數(shù)據(jù)樣本,將工單樣本數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集占80%。
在Python3.7.2 上調(diào)用Tensorflow2.3.0、Sklearn、Matplotlib,構(gòu)建SAE-DNN 模型并完成預(yù)測(cè),經(jīng)分析處理后獲得872個(gè)特征,部分樣本特征集示例如表1 所示。
Table 1 Example of characteristic variable set of production manufacturing cycle表1 產(chǎn)品生產(chǎn)制造周期部分特征變量集示例
SAE 層數(shù)為7,網(wǎng)絡(luò)結(jié)構(gòu)為872→500→200→75→200→500→872,學(xué)習(xí)率為0.001;DNN 采用6 層深度神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)為872→500→200→75→20→1。dropout 各層神經(jīng)元保存概率為0.85,學(xué)習(xí)率為0.001,學(xué)習(xí)周期為500。均方根誤差(RMSE)能很好地反映預(yù)測(cè)模型的精度,作為評(píng)價(jià)本文模型性能的指標(biāo),定義為:
SAE-DNN 的優(yōu)化過程如圖3 所示,虛線代表測(cè)試集,實(shí)線代表訓(xùn)練集。SAE-DNN 在測(cè)試集上的RMSE 為29.91,訓(xùn)練集上的RMSE 為24.84,誤差相對(duì)較小,收斂速度較快。
使用訓(xùn)練數(shù)據(jù)集對(duì)制造周期預(yù)測(cè)模型進(jìn)行訓(xùn)練,模型訓(xùn)練結(jié)束后,采用測(cè)試數(shù)據(jù)集對(duì)預(yù)測(cè)模型的準(zhǔn)確度進(jìn)行驗(yàn)證,結(jié)果如圖4 所示。隨機(jī)從測(cè)試數(shù)據(jù)集中選取150 條數(shù)據(jù),實(shí)際值采用實(shí)線表示,SAE-DNN 模型的預(yù)測(cè)值采用虛線表示??梢钥闯?,SAE-DNN 模型的預(yù)測(cè)值與實(shí)際值之間誤差較小,實(shí)際值與預(yù)測(cè)值的變化方向與幅度基本一致。
Fig.3 SAE-DNN model optimization process圖3 SAE-DNN 模型優(yōu)化過程
Fig.4 SAE-DNN model prediction results圖4 SAE-DNN 模型預(yù)測(cè)結(jié)果
為驗(yàn)證SAE-DNN 模型在加工制造周期過程中的預(yù)測(cè)精度,選擇以下3 種模型作為對(duì)照:①PCA-BPNN(PCA 降維到300個(gè)特征),BP 網(wǎng)絡(luò)結(jié)構(gòu)為300→50→1;②R-SAEDNN(無dropout 和正則化L2),神經(jīng)元結(jié)構(gòu)與SAE-DNN 一致;③無預(yù)訓(xùn)練的深層神經(jīng)網(wǎng)絡(luò)N-DNN,神經(jīng)元網(wǎng)絡(luò)結(jié)構(gòu)為872→500→200→75→20→1。分別對(duì)以上算法建立模型并進(jìn)行產(chǎn)品制造周期預(yù)測(cè),預(yù)測(cè)結(jié)果分別如圖5、圖6、圖7 所示。與這3 種預(yù)測(cè)模型相比,SAE-DNN 模型在測(cè)試樣本集上的實(shí)際值與預(yù)測(cè)值之間誤差較小,產(chǎn)品制造周期預(yù)測(cè)準(zhǔn)確度更高。N-DNN 模型在測(cè)試樣本集上的預(yù)測(cè)值與實(shí)際值之間誤差較大,預(yù)測(cè)準(zhǔn)確度最低。PCA-DNN、RSAE-DNN、N-DNN 中僅有部分樣本的預(yù)測(cè)值與實(shí)際值相差較小,而SAE-DNN 中所有樣本值均擬合較好。
Fig.5 PCA-BPNN prediction results圖5 PCA-BPNN 預(yù)測(cè)結(jié)果
Fig.6 R-SAE-DNN prediction results圖6 R-SAE-DNN 預(yù)測(cè)結(jié)果
Fig.7 N-DNN prediction results圖7 N-DNN 預(yù)測(cè)結(jié)果
采用均方根誤差RMSE、均方誤差MSE、平均絕對(duì)誤差MAE、R(R-Squared 擬合度)4個(gè)指標(biāo)對(duì)以上4 種預(yù)測(cè)模型進(jìn)行評(píng)價(jià),實(shí)驗(yàn)結(jié)果如表2 所示。結(jié)果表明,SAEDNN 除R外,各項(xiàng)評(píng)價(jià)指標(biāo)值均最小,即預(yù)測(cè)精度最高;PCA-BPNN 的預(yù)測(cè)精度低于SAE-DNN,R-SAE-DNN 的預(yù)測(cè)精度低于PCA-BPNN,N-DNN 的預(yù)測(cè)精度最低。
Table 2 Comparison results of each prediction model表2 各預(yù)測(cè)模型結(jié)果比較
由以上實(shí)驗(yàn)數(shù)據(jù)可知:①與PCA-BPNN 相比,SAEDNN 在特征提取中非線性信息損失更小,擬合效果更好;②與R-SAE-DNN 相比,dropout 和正則化L2 減少了SAEDNN 的過擬合問題;③SAE 確定的DNN 初始化參數(shù)優(yōu)于N-DNN 模型隨機(jī)產(chǎn)生的參數(shù),預(yù)測(cè)精確度更高。綜上可知,SAE-DNN 可靠性與預(yù)測(cè)精確度高于其他模型,更易于擬合制造車間復(fù)雜、多變的數(shù)據(jù)。
本文在考慮產(chǎn)品制造影響因素多、樣本量大的情況下,利用SAE 訓(xùn)練模型參數(shù)并完成特征提取過程,同時(shí)采用訓(xùn)練參數(shù)初始化DNN 參數(shù),減少了傳統(tǒng)特征提取過程中非線性信息的損失。通過生產(chǎn)車間實(shí)例驗(yàn)證,并與其他3種模型進(jìn)行比較,證實(shí)本文模型有更好的預(yù)測(cè)效果。
產(chǎn)品制造周期的合理預(yù)測(cè)能使車間排產(chǎn)更完善,生產(chǎn)效率更高。后續(xù)將采用機(jī)器學(xué)習(xí)方法,根據(jù)車間制造數(shù)據(jù)對(duì)預(yù)測(cè)模型進(jìn)行修正,使其在車間信息不斷變化的情況下預(yù)測(cè)精度保持不變或更高。