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