張呈熙,靖青秀,彭建
(1.江西銅業(yè)股份有限公司 貴溪冶煉廠,江西貴溪 335424;2.江西理工大學(xué) 材料冶金化學(xué)學(xué)部,江西贛州 341000)
隨著科技發(fā)展,各行業(yè)對銅板帶質(zhì)量要求越來越高,盡管目前我國是世界銅產(chǎn)品生產(chǎn)、需求、貿(mào)易大國[1],但除了幾家銅產(chǎn)業(yè)巨頭之外,我國呈現(xiàn)中小型企業(yè)眾多、規(guī)模小的局面。從整體趨勢上來看,我國中小型銅板帶企業(yè)產(chǎn)能低下[2],難以滿足社會對銅板帶精密帶材的要求[3],并且銅板帶行業(yè)的自動化程度低下,因此對銅板帶進(jìn)行智能制造建設(shè)是我國銅板帶企業(yè)轉(zhuǎn)型的關(guān)鍵一步,也是必然的一步[4-5]。江西K公司也在進(jìn)行智能制造建設(shè)。根據(jù)企業(yè)要求,需要對其產(chǎn)品質(zhì)量進(jìn)行控制管理,其中銅板帶的成品率就是一個重要控制環(huán)節(jié)。為了實現(xiàn)產(chǎn)品成品率的檢測,提前做出產(chǎn)量成品率預(yù)警,方便企業(yè)管理者及時調(diào)整軋制計劃[6],提高生產(chǎn)效率,該項目使用大數(shù)據(jù)技術(shù)構(gòu)建大數(shù)據(jù)集作為分析數(shù)據(jù),采用Spark大批量數(shù)據(jù)計算引擎實現(xiàn)PCA主成分分析,并提出了BP_AdaBoost算法對其進(jìn)行預(yù)測[7]。
K公司主要以生產(chǎn)銅板帶為主,涉及到八達(dá)、400、390、600等多種產(chǎn)品規(guī)格,生產(chǎn)流程從配料、熔煉、熱軋、粗軋、銑面、中軋、精軋到包裝入庫涉及到多道工序。K公司銅板帶生產(chǎn)流程如圖1所示。
圖1 江西K公司銅板帶生產(chǎn)流程
由圖1可知,其生產(chǎn)加工流程包含了23道工序,因此影響銅板帶最終產(chǎn)品成品率的因素是各工序之間的一組參數(shù)組合。根據(jù)K公司2020年1—6月數(shù)據(jù)統(tǒng)計,該企業(yè)生產(chǎn)報廢量最高達(dá)到234 906 kg,最低為37 586 kg。各大車間部門銅板帶軋制報廢量居高不下,不僅造成了大量的浪費,還降低了銅板帶生產(chǎn)產(chǎn)能和成品率。
針對歷史數(shù)據(jù)分析,從中挑選出幾個產(chǎn)品質(zhì)量控制關(guān)鍵點,總結(jié)得到該車間銅板帶產(chǎn)品的主要報廢缺陷:1)熔鑄,缺陷表現(xiàn)有冷隔、起皮、夾灰;2)熱軋,缺陷表現(xiàn)有過燒、起皮、共攤、雙面銑打、磨印、毛刺、裂邊;3)冷軋,缺陷表現(xiàn)為疤印、坑印、挫傷、公差不好、翻邊、錯位、共攤、板形、斷帶、黏結(jié)、乳液印、塌卷、折印、油印、退火印、亮印;4)成品,主要缺陷表現(xiàn)為挫傷、刷痕、錯位、斷帶、疤印、包印、共攤、破邊、停機印、撞傷、氧化、塌卷、折印、變形;5)設(shè)備,缺陷表現(xiàn)主要為故障、跳閘。
K公司生產(chǎn)車間各軋機操作側(cè)、傳動側(cè)的工業(yè)參數(shù)多,影響銅板帶成品率的因素很多。為了得到更好的數(shù)據(jù)集,為數(shù)據(jù)分析提供強有力支撐,提高銅板帶成品率預(yù)測準(zhǔn)確性,提高生產(chǎn)效率,需要構(gòu)建一個數(shù)據(jù)量大,且數(shù)據(jù)真實的銅板帶生產(chǎn)數(shù)據(jù)集。
1)西門子PLC智能數(shù)據(jù)采集?,F(xiàn)場軋機實地運行參數(shù)數(shù)據(jù)是利用PLC智能網(wǎng)關(guān)進(jìn)行收集[8],PLC網(wǎng)關(guān)使用發(fā)布消息隊列的方式,將采集之后現(xiàn)場數(shù)據(jù)以JSON格式數(shù)據(jù)的形式上傳到中移動物聯(lián)網(wǎng)O ne NET平臺進(jìn)行存儲。
2)OneNET物聯(lián)網(wǎng)數(shù)據(jù)接收平臺。OneNET[9]是一種PaaS物聯(lián)網(wǎng)平臺,由中國移動自主研發(fā),支持多種物聯(lián)網(wǎng)協(xié)議類型,為各行業(yè)在跨物聯(lián)網(wǎng)平臺上的消息發(fā)布、云端儲存、連接提供實質(zhì)性的幫助??紤]到原始數(shù)據(jù)源來自各個不同車間的軋機,設(shè)備復(fù)雜、工藝參數(shù)多,存在數(shù)據(jù)異構(gòu)性,不方便管理存儲,為了實現(xiàn)接收存儲PLC端推送過來的現(xiàn)場數(shù)據(jù),采用了OneNet平臺進(jìn)行數(shù)據(jù)的儲存。
數(shù)據(jù)的清洗采用了Spring Boot數(shù)據(jù)采集系統(tǒng),OneNet端的JSON數(shù)據(jù)通過mqqt協(xié)議進(jìn)行數(shù)據(jù)的清洗以及解析,結(jié)果存入mysql云服務(wù)器。為了數(shù)據(jù)的多樣性,該項目搭建了4臺運行內(nèi)存為128 G、數(shù)據(jù)存儲為40 T的高可用hadoop大數(shù)據(jù)集群用以研究K公司[10];使用hive數(shù)據(jù)倉庫存儲數(shù)據(jù),采用繼承擴寫的Flume進(jìn)行遠(yuǎn)程數(shù)據(jù)準(zhǔn)實時抽取存儲在hadoop大數(shù)據(jù)平臺分布式文件HDFS上[11]。
Flume[12-13]是Cloudera提供的一個適用性高、可靠性高的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。它由代理節(jié)點(Agent)和收集節(jié)點(Collector)組成,在Flume中最重要的抽象是數(shù)據(jù)流(data flow),數(shù)據(jù)流描述了數(shù)據(jù)從產(chǎn)生、傳輸、處理的過程。為實現(xiàn)銅板帶車間數(shù)據(jù)及時對接,提高數(shù)據(jù)的準(zhǔn)時性,及時對采集的數(shù)據(jù)進(jìn)行ETL處理,研究搭建flume集群,并利用集群進(jìn)行遠(yuǎn)程實時監(jiān)控抽取收集數(shù)據(jù)。
由于采集到的數(shù)據(jù)具有噪音,并且數(shù)據(jù)維度較多,為方便更好地預(yù)測成品率,使用大數(shù)據(jù)分析Spark計算框架[14]編寫PCA主成分分析代碼對采集的數(shù)據(jù)進(jìn)行降維[15],Spark實現(xiàn)對PCA的過程描述。
1)輸入:訓(xùn)練dataset D=x(1),x(2),…x(m),低維空間維數(shù)d′;
Step1,去中心化均值操作:
Step3,利用特征值分解/奇異值分解矩陣X XT;
Step4,取最大的d′個特征值所對應(yīng)的特征向量w1,w2,...,wd′;
Step5,將原樣本矩陣與投影矩陣相乘,得到降維后數(shù)據(jù)集X′。其中X為m×n維,W=[w1,w2,...,wd′]為n×d′維;
2)輸出:降維后的數(shù)據(jù)集X′。
BP神經(jīng)網(wǎng)絡(luò)(BP Neural Network,BPNN)是一種多層前饋神經(jīng)網(wǎng)絡(luò)[16-18],主要特點是信號正向反饋,誤差反向傳播。在正向傳遞中,輸入信號從輸入層經(jīng)隱含層逐層處理,直至輸出層。如果輸出層中的實際值與預(yù)期輸出值之間的誤差太大或未達(dá)到學(xué)習(xí)時間,則將開始誤差的反向傳播。誤差的反向傳播以輸出誤差為基礎(chǔ)來調(diào)整每個隱藏層的權(quán)重,然后再次開始向前傳播,計算錯誤并重復(fù)循環(huán)直到滿足指定要求。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)見圖2。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BPNN抽象為非線性函數(shù),向量X(x1,x2,…,xn)是BPNN的輸入自變量,向量Y(y1,y2,…,yn)是BPNN的因變量預(yù)測值,wij和wjk為網(wǎng)絡(luò)的權(quán)值,BPNN有著很好的非線性映射關(guān)系;然而對于單獨的BPNN在訓(xùn)練中容易產(chǎn)生過度擬合或擬合不足的現(xiàn)象,墮入局部最優(yōu)解。為了解決這個問題,可以利用AdaBoost算法進(jìn)行改進(jìn)。
AdaBoost算法將多個“弱”分類器合并成為一個新的強分類器[19-20],提供更好的數(shù)據(jù)訓(xùn)練樣本。針對單個BPNN過度擬合或擬合不足的問題,采用AdaBoost算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)得到BP_AdaBoost模型[21-22],見圖3。該模型將BPNN作為弱分類器,通過訓(xùn)練弱分類器學(xué)習(xí)者,AdaBoost算法增加了訓(xùn)練效果較差的樣本和具有較強學(xué)習(xí)能力的弱樣本的權(quán)重,減少了分類成功和學(xué)習(xí)能力差樣本的權(quán)重,然后將這些弱學(xué)習(xí)者進(jìn)行線性組合以提高模型的泛化性能,經(jīng)過多次迭代后,最終強分類函數(shù)由弱分類函數(shù)加權(quán)得到,并且由多個弱學(xué)習(xí)者BPNN組成新的強分類器。
圖3 BP_AdaBoost模型算法結(jié)構(gòu)
BP_AdaBoost算法主要步驟如下:
2)輸出,輸出預(yù)測f(x)。
Step1,初始化訓(xùn)練數(shù)據(jù)的權(quán)重:D=(w11,w12,…,w1n)。
從樣本空間中尋找m組訓(xùn)練數(shù)據(jù),每組數(shù)據(jù)的權(quán)重均為:
依據(jù)樣本input/output維數(shù)確定BP結(jié)構(gòu),并初始化BP權(quán)值和閾值。
Step2,弱分類器BP預(yù)測。t=1且當(dāng)t≦m時,訓(xùn)練第t個弱學(xué)習(xí)者,用dataset訓(xùn)練BPNN得到預(yù)測分類結(jié)果g(t)的預(yù)測誤差和et,期望分類結(jié)果為y,其計算公式為:
Step3,根據(jù)step2得到的計算預(yù)測分類結(jié)果權(quán)重。
Step4,更新dataset的權(quán)重分布,其中是歸一化因子。
Step5,訓(xùn)練T輪后,獲得T組弱分類函數(shù)Gj(x)。由T組Gj(x)構(gòu)成強分類函數(shù)f(x),該強分類函數(shù)為:
1)試驗樣本挑選及模型參數(shù)設(shè)定。K公司的銅板帶生產(chǎn)以精剪階段的成品率衡量產(chǎn)品的生產(chǎn)效率,然而全廠精剪的實際成品率受到從來料到精剪前的22道工序產(chǎn)品成品率的影響。該公司的最終精剪成品率在實際生產(chǎn)中取決于鑄錠重量、鋸后重量、熔鑄成品率、洗后重量、熱軋成品率、成品重量、單卷成品率、酸洗重量等8個因素,因此實驗挑選以上8個因素作為BP_AdaBoost的輸入變量,用來預(yù)測精剪成品率。確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為8-11-1,通過構(gòu)建的銅板帶生產(chǎn)數(shù)據(jù)集的清洗和挑選,從半年以來4 134組訓(xùn)練樣本中隨機抽取4 000組數(shù)據(jù)作為模型訓(xùn)練樣本,134組數(shù)據(jù)作為預(yù)測樣本。表1為試驗樣本的部分?jǐn)?shù)據(jù)。試驗利用mapminmax函數(shù)將數(shù)據(jù)歸一化,使數(shù)據(jù)屬于[0,1]之間,模型使用10個BPNN弱學(xué)習(xí)分類器,最大訓(xùn)練次數(shù)為100,學(xué)習(xí)速率值為0.1,訓(xùn)練目標(biāo)值是0.000 1,把預(yù)測誤差大于0.1的作為應(yīng)該加強學(xué)習(xí)的樣本。為了分析AdaBoost改進(jìn)后的BP和單獨BP的預(yù)測效果,采用對比兩者預(yù)測誤差的方式驗證試驗。
表1 2020年1—6月部分試驗樣本
2)銅板帶成品率預(yù)測試驗結(jié)果分析。模型訓(xùn)練到31次時,達(dá)到訓(xùn)練精度要求,最佳性能是0.000 887 17。圖4為BP_AdaBoost模型預(yù)測擬合回歸線。
圖4 BP_AdaBoost模型預(yù)測擬合回歸線
由圖4可知,模型訓(xùn)練擬合度為0.990 88,驗證的擬合度為0.999 72,測試擬合度為0.956 47,綜合擬合度為R=0.985 57,擬合度均大于0.95,接近于1,模型擬合效果好。成品率預(yù)測誤差對比,見圖5。
由圖5可知,單獨的BPNN模型預(yù)測的誤差在[0,0.8]之內(nèi),而基于AdaBoost算法優(yōu)化的BPNN模型預(yù)測誤差絕對值在[0,0.3]之內(nèi)。比較兩者的銅板帶成品率預(yù)測誤差曲線,可以看出模型BP_AdaBoost的預(yù)測精確度更高,誤差低,精剪成品率最大預(yù)測誤差低于0.3,接近于實際值。結(jié)果表明,模型BP_Ada-Boost的銅板帶精剪成品率預(yù)測性能優(yōu)于未改進(jìn)的BPNN模型,具有更好的精確度,能夠更加準(zhǔn)確地預(yù)測K公司精剪成品率。
圖5 成品率預(yù)測誤差對比
本研究統(tǒng)計了銅板帶表面缺陷,為K企業(yè)構(gòu)建了大數(shù)據(jù)存儲平臺,開發(fā)了Spark的主成分分析算法PCA代碼,對具有噪音的數(shù)據(jù)進(jìn)行降維預(yù)處理,建立了BP_AdaBoost模型,并且利用該模型對4 134組實驗數(shù)據(jù)進(jìn)行訓(xùn)練并預(yù)測,結(jié)果表明BP_AdaBoost模型具有很好的非線性映射關(guān)系,并且相比單獨BPNN模型,擬合度高且性能更好,可以根據(jù)全廠軋制生產(chǎn)工序中關(guān)鍵環(huán)節(jié)的質(zhì)量控制指標(biāo)實現(xiàn)K企業(yè)銅板帶產(chǎn)品最終成品率的預(yù)測,對于銅板帶企業(yè)實現(xiàn)智能制造具有現(xiàn)實意義。