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