周奕軍,陳 昭,李 悅,紀(jì)柏林,王國棟,劉國華
(東華大學(xué) a.計算機(jī)科學(xué)與技術(shù)學(xué)院;b.化學(xué)化工與生物工程學(xué)院,上海 201620)
傳統(tǒng)的織物染色工藝中,染料配方設(shè)計具有人工經(jīng)驗依賴性強(qiáng)、耗時費(fèi)力等特點,并且由于生產(chǎn)線環(huán)境與配色實驗室環(huán)境存在較大差異,染色產(chǎn)品的顏色可能偏離預(yù)期,需憑借人工經(jīng)驗修改染料配方。為減少調(diào)節(jié)染色處方的工作量、節(jié)省染料成本、降低污染,有必要尋找提高織物染色準(zhǔn)確率和生產(chǎn)效率的方法。除可以從化工方面改進(jìn)織物染色外,還可應(yīng)用計算機(jī)技術(shù),特別是近年來興起的人工智能技術(shù)。通過應(yīng)用計算機(jī)技術(shù)分析歷史工藝參數(shù)來預(yù)測織物顏色,可有效降低染色誤差。Senthilkumar等[1-2]使用人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)預(yù)測染色的上色時間和固色時間,以及織物的顏色(CIELAB值);Kandi等[3]使用遺傳算法(genetic algorithm,GA)預(yù)測織物的染色配方。然而,文獻(xiàn)[1-3]只考慮了染料配方對織物最終顏色的影響,忽略了染色過程中眾多關(guān)鍵生產(chǎn)參數(shù)如織物白度、染料濃度等的影響。Balci等[4]考慮到了染色過程中若干個對顏色有影響的關(guān)鍵生產(chǎn)參數(shù),但只應(yīng)用了現(xiàn)有的機(jī)器學(xué)習(xí)模型,而未深層次研究模型內(nèi)部結(jié)構(gòu),也未提出針對染料配方數(shù)據(jù)集特征的模型優(yōu)化方法。諸如此類的研究雖然在特定應(yīng)用上取得了一定成效,但缺乏系統(tǒng)的理論框架,難以適應(yīng)不同的配方設(shè)計需求。
基于對山東省華紡股份有限公司(簡稱“華紡”)生產(chǎn)記錄的分析,提出一種端到端的織物顏色自動預(yù)測框架,期望對織物染色給予精準(zhǔn)的理論指導(dǎo)和有力的輔助作用。出于效果和效率的綜合考慮,采用多維支持向量回歸機(jī)(multi-dimensional support vector regressor,M-SVR)、反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)和遺傳算法初始化的BPNN(GA-BPNN)等3種具體模型來實現(xiàn)織物顏色的端到端預(yù)測。選擇BPNN和M-SVR模型的主要原因是:這兩個模型都可以直接處理多維向量樣本,并且可以通過描述數(shù)據(jù)內(nèi)在的非線性結(jié)構(gòu),實現(xiàn)非線性擬合;M-SVR在處理少量樣本數(shù)據(jù)時效果較好,而BPNN能夠有效處理大容量樣本數(shù)據(jù)。鑒于人工神經(jīng)網(wǎng)絡(luò)作為一種較為先進(jìn)的配色預(yù)測方法,已被用于色紡紗[5]和織物染色[6]的計算機(jī)配色,將BPNN作為一種備選模型。選用GA初始化BPNN的原因是,GA在搜尋最優(yōu)解問題方面具有良好的性能,可以用來搜尋BPNN參數(shù)的最優(yōu)初始值,降低參數(shù)隨機(jī)初始化給模型性能帶來的不穩(wěn)定性和不確定性,從而加快BPNN的收斂,提升織物顏色的預(yù)測效率。還使用徑向基函數(shù)(radial basis function, RBF)網(wǎng)絡(luò)做對比算法,RBF網(wǎng)絡(luò)屬于機(jī)器學(xué)習(xí)的一種基礎(chǔ)網(wǎng)絡(luò),通過和RBF網(wǎng)絡(luò)進(jìn)行對比以檢驗提出的模型。
設(shè)數(shù)據(jù)樣本為x∈Rn,先驗標(biāo)記信息為y∈Rm,一般地,有監(jiān)督機(jī)器學(xué)習(xí)框架下的多維回歸問題描述如下:
(1)
表1 部分原始數(shù)據(jù)Table 1 Partial raw data
圖1 織物顏色自動預(yù)測框架流程圖Fig.1 Flowchart of automatic fabric color prediction framework
為實現(xiàn)織物顏色預(yù)測,采用BPNN、M-SVR和GA-BPNN等3種機(jī)器學(xué)習(xí)算法估計多維非線性回歸函數(shù)r(·)。
1.2.1 多元非線性回歸算法
為描述實現(xiàn)方案的步驟,分別給出BPNN、M-SVR或GA-BPNN的設(shè)計原理。
(2)
Perez-Cruz等[10]引入核映射,提出M-SVR算法,其模型如式(3)所示。
(3)
GA模擬自然界優(yōu)勝劣汰的生物進(jìn)化過程,從代表問題的潛在解集的一個種群開始,以迭代的方式進(jìn)行適應(yīng)度計算以及選擇、交叉、變異操作,從而進(jìn)化種群個體,最終在末代得到最優(yōu)解[11]。利用GA對BPNN的參數(shù)初始值進(jìn)行優(yōu)化[12],使得BPNN經(jīng)過較少的訓(xùn)練迭代次數(shù)就能達(dá)到預(yù)期目標(biāo),還可提升BPNN的收斂速度和織物顏色預(yù)測效率。
1.2.2 實現(xiàn)步驟
將多元非線性回歸算法BPNN、M-SVR和GA-BPNN作為圖1中的多維非線性回歸模型r(·),實現(xiàn)織物顏色預(yù)測。其步驟如下:
算法端到端的織物顏色自動預(yù)測算法
輸入:關(guān)鍵生產(chǎn)工藝參數(shù)訓(xùn)練樣本xi∈Rn,其對應(yīng)的織物CIELAB先驗值yi=[Li*,ai*,bi*]T∈Rn,關(guān)鍵生產(chǎn)工藝參數(shù)預(yù)測樣本xipred∈Rn,其中n∈N*,m∈N*,i=1, 2, …,I和ipred=1, 2, …,Ipred。
//第一步 數(shù)據(jù)預(yù)處理
//第二步 訓(xùn)練
3) 若選擇BPNN,執(zhí)行步驟(4)和(5);
6) 若選擇GA-BPNN,執(zhí)行步驟(7)和(8);
9) 若選擇M-SVR,執(zhí)行步驟(10)和(11);
10) 生成式(3)的參數(shù)初始值{W0,b0};
11) 由權(quán)值迭代最小二乘法求得最優(yōu)解,{W,b}代入式(3)得到多維非線性回歸模型model{φ(·),W,b};
//第三步 預(yù)測
試驗數(shù)據(jù)來自華紡提供的軋染生產(chǎn)記錄,經(jīng)整理得到4個數(shù)據(jù)集。數(shù)據(jù)集1和2各含505個軋染小樣,分別在光源D65和光源F2下通過Datacolor 650型超高精度臺式分光光度測色儀測量得到其CIELAB值,數(shù)據(jù)集3包含在光源D65下實測的999個軋染小樣,數(shù)據(jù)集4包含在光源F2下實測的348個軋染小樣。
為實現(xiàn)算法中機(jī)器學(xué)習(xí)模型的訓(xùn)練和測試,將每組數(shù)據(jù)劃分為訓(xùn)練集{xitrain,yitrain}(itrain=1, 2, …,Itrain)和測試集{xipred,yipred}(ipred=1, 2, …,Ipred),其中訓(xùn)練集由歷史染色樣本的工藝參數(shù)及其所對應(yīng)的先驗織物CIELAB值構(gòu)成,測試集由新樣本的生產(chǎn)工藝參數(shù)及其對應(yīng)的CIELAB預(yù)測參考值構(gòu)成。訓(xùn)練樣本是從每個數(shù)據(jù)集以預(yù)設(shè)比例隨機(jī)挑選的,該比例稱為訓(xùn)練樣本數(shù)與樣本總數(shù)之比T,按式(4)計算。
(4)
在表2所示的數(shù)據(jù)集1~4的樣本容量中,改變T值(見表2第1列),得到不同的訓(xùn)練集和測試集(表2第2、 3、 5、 6、 8、 9列),然后進(jìn)行相應(yīng)的試驗。為了定量評價顏色預(yù)測效果和模型性能,采用相關(guān)系數(shù)R、樣本誤差ESE以及均方誤差ERMSE作為評價指標(biāo),其中:
表2 數(shù)據(jù)集1~4的樣本容量Table 2 Size of data set 1 to 4
(5)
(6)
數(shù)據(jù)集1的最優(yōu)模型參數(shù)如表3所示。通過網(wǎng)格搜索法將不同T值下的BPNN的結(jié)構(gòu)和M-SVR的參數(shù)調(diào)至最優(yōu)。GA-BPNN則沿用BPNN的結(jié)構(gòu),不再進(jìn)行調(diào)整。使用數(shù)據(jù)集2時,BPNN、GA-BPNN、M-SVR分別沿用數(shù)據(jù)集1的模型結(jié)構(gòu)和主要參數(shù)值。BPNN的訓(xùn)練次數(shù)、目標(biāo)誤差、學(xué)習(xí)率和目標(biāo)梯度分別設(shè)為10 000、10-3、0.05和10-6。M-SVR使用RBF核,目標(biāo)誤差為10-4,主要參數(shù)包含懲罰因子c及RBF核寬度g。GA初始化的BPNN所用的隱層層數(shù)、節(jié)點數(shù)、訓(xùn)練次數(shù)、目標(biāo)誤差、學(xué)習(xí)率和目標(biāo)梯度這些重要參數(shù)都與BPNN一樣。每種參數(shù)下的試驗重復(fù)10次,試驗結(jié)果取10次試驗的平均值。為體現(xiàn)3個模型的預(yù)測效果,選用RBF神經(jīng)網(wǎng)絡(luò)[13]作為對比算法。所有的代碼在MATLAB R2015a軟件中實現(xiàn),運(yùn)行環(huán)境為Intel i7-6700 CPU@3.40 GHz。
表3 數(shù)據(jù)集1的最優(yōu)模型參數(shù)Table 3 Optimal model parameters for data set 1
2.3.1 織物CIELAB值預(yù)測效果
為全面評估模型的性能,在T=20%~90%條件下對數(shù)據(jù)集1~4進(jìn)行試驗。數(shù)據(jù)集1~4的織物顏色預(yù)測ESE均值及ERMSE值分別如表4和圖2所示。
由表4和圖2可知,BPNN、M-SVR、GA-BPNN都能夠有效預(yù)測織物顏色,驗證了算法的可行性與有效性。當(dāng)訓(xùn)練樣本較少(T=20%~30%)時,M-SVR的顏色預(yù)測誤差ERMSE和ESE均值最低,優(yōu)于BPNN;當(dāng)訓(xùn)練樣本較多時,BPNN則優(yōu)于M-SVR。在機(jī)器學(xué)習(xí)領(lǐng)域,M-SVR被廣泛用于小樣本的數(shù)據(jù)挖掘和模式識別,而BPNN在結(jié)構(gòu)上具有靈活性,其多層的結(jié)構(gòu)能夠更好地描述工藝參數(shù)與織物顏色之間的非線性映射關(guān)系,適用于規(guī)模較大的訓(xùn)練集。例如:在T=40%~90%的數(shù)據(jù)集1上,BPNN的誤差較低,顏色預(yù)測效果較好。
圖2 數(shù)據(jù)集1~4的織物顏色預(yù)測ERMSE值Fig.2 ERMSE of fabric color prediction for data set 1 to 4
表4 數(shù)據(jù)集1~4的織物顏色預(yù)測ESE均值Table 4 Average ESE of fabric color prediction for data set 1 to 4
數(shù)據(jù)集1~4的織物顏色預(yù)測值和實際值的相關(guān)系數(shù)如表5所示。由表5可知,在相關(guān)系數(shù)方面,BPNN表現(xiàn)優(yōu)于M-SVR,也說明BPNN的擬合性能更好。未經(jīng)結(jié)構(gòu)精調(diào)的GA-BPNN也能得到較低的顏色預(yù)測誤差(如T=20%時,數(shù)據(jù)集1的ESE均值為0.63),甚至低于BPNN的誤差,可見GA在加快BPNN收斂速度時不會對模型預(yù)測能力造成負(fù)面影響。RBF網(wǎng)絡(luò)的表現(xiàn)尚可,而BPNN、GA-BPNN、M-SVR的誤差普遍小于RBF的預(yù)測誤差,驗證了所提端到端顏色預(yù)測框架的可行性以及本文模型的優(yōu)越性和可靠性。
表5 數(shù)據(jù)集1~4的織物顏色預(yù)測值和實際值的相關(guān)系數(shù)Table 5 Correlation coefficients between predicted values and real values of fabric color for data set 1 to 4
2.3.2 織物CIELAB值預(yù)測效率
數(shù)據(jù)集1和2的訓(xùn)練時間如表6所示。由表6可知:數(shù)據(jù)集1中,M-SVR比BPNN運(yùn)行速度更快、效率更高;數(shù)據(jù)集2中,M-SVR比BPNN更耗時,這是因為求解M-SVR最優(yōu)決策面時,涉及大量矩陣運(yùn)算,當(dāng)訓(xùn)練樣本數(shù)量增大時,內(nèi)存開銷和運(yùn)行時間都會大幅攀升。由于GA-BPNN比BPNN多執(zhí)行一個GA算法,因此GA-BPNN的總耗時高于BPNN。然而,在計算機(jī)運(yùn)行算法并自動預(yù)測顏色之前,為保障織物顏色預(yù)測效果,BPNN需耗費(fèi)大量時間執(zhí)行網(wǎng)格搜索法以調(diào)優(yōu)結(jié)構(gòu)參數(shù)。將使用GA參數(shù)初始化后得到的BPNN記為BPNN(GA)。由表6可以看出,BPNN(GA)的耗時低于未使用GA的BPNN,表明基于GA的參數(shù)初始值尋優(yōu)方法有助于縮短BPNN的訓(xùn)練時間。結(jié)合表4可知,無需精細(xì)調(diào)節(jié)結(jié)構(gòu)參數(shù),GA-BPNN也能達(dá)到較低的預(yù)測誤差,表明使用GA初始化BPNN能夠降低BPNN對人工調(diào)參的依賴性,節(jié)省用戶在參數(shù)調(diào)節(jié)上的的時間和精力,進(jìn)而提升模型的智能化、實用性以及織物顏色預(yù)測效率。
表6 數(shù)據(jù)集1和2的訓(xùn)練時間Table 6 Training time of data set 1 and 2
兩種機(jī)器學(xué)習(xí)模型在數(shù)據(jù)集3且T為50%時的訓(xùn)練曲線如圖3所示。當(dāng)模型收斂時,說明模型已達(dá)到穩(wěn)定狀態(tài),訓(xùn)練完畢。由圖3可知:BPNN和GA-BPNN均具有良好的收斂性,能夠平穩(wěn)有效地實現(xiàn)非線性回歸和織物顏色預(yù)測;GA-BPNN比BPNN收斂速度更快,收斂誤差更低,說明GA能夠提升BPNN的效率和效果,也印證了前文對GA-BPNN織物顏色預(yù)測性能的分析結(jié)論。收斂曲線較為平滑,說明BPNN和GA-BPNN未出現(xiàn)過擬合現(xiàn)象。
圖3 BPNN和GA-BPNN的收斂曲線Fig.3 Convergence curves of BPNN and GA-BPNN
2.3.3 模型參數(shù)調(diào)優(yōu)
改善模型結(jié)構(gòu)、精調(diào)參數(shù)可以有力提升模型的顏色預(yù)測性能。圖4給出2例網(wǎng)格搜索參數(shù)調(diào)優(yōu)的結(jié)果。對于數(shù)據(jù)集1,當(dāng)T為50%時,BPNN和M-SVR主要參數(shù)的變化對織物顏色預(yù)測ERMSE的影響分別如圖4(a)和(b)所示。當(dāng)BPNN的結(jié)構(gòu)為8-11-8-3(P(1)/P(2)/P(3)/P(4)=8/11/8/3),M-SVR的懲罰因子c=0.25, RBF核寬度g=0.25時,兩個模型達(dá)到各自的訓(xùn)練樣本ERMSE極小值,即最優(yōu)擬合誤差。由圖4(a)可知,比8-11-8-3更為復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)沒有達(dá)到更低的誤差,說明結(jié)構(gòu)為8-11-8-3的BPNN沒有對當(dāng)前數(shù)據(jù)集進(jìn)行過擬合。因此,對于T為50%的數(shù)據(jù)集1,選用表3中的模型參數(shù),得到表4數(shù)據(jù)集1中的試驗結(jié)果。對于其他試驗,通過類似的方法,也有針對性地設(shè)計了良好的機(jī)器學(xué)習(xí)模型,實現(xiàn)了精確的顏色預(yù)測。
圖4 T=50%時數(shù)據(jù)集1基于BPNN和M-SVR的參數(shù)分析Fig.4 Parameter analysis based on BPNN and M-SVR for data set 1 while T=50%
本文基于端到端的機(jī)器學(xué)習(xí)框架,將織物顏色預(yù)測問題轉(zhuǎn)化為有監(jiān)督的多維非線性回歸問題,采用BPNN、M-SVR和GA-BPNN 3種模型進(jìn)行求解,根據(jù)關(guān)鍵生產(chǎn)工藝參數(shù)預(yù)測織物的CIELAB值,并輔助提升織物配色工藝的效率?;谌A紡實際生產(chǎn)數(shù)據(jù)的試驗結(jié)果表明,所提模型能夠自動有效地預(yù)測織物顏色,并且預(yù)先使用GA后BPNN的效率明顯提高,說明使用GA進(jìn)行參數(shù)初始值尋優(yōu)的確可以縮短BPNN的耗時,從而提升其顏色預(yù)測性能。由此可見,本文研究的方法具有應(yīng)用價值,可降低染色誤差,減少調(diào)節(jié)染色處方的工作量。今后將研究更深層次的神經(jīng)網(wǎng)絡(luò)以及遞歸模型,充分利用其泛化能力和長短期記憶能力,對海量生產(chǎn)數(shù)據(jù)進(jìn)行分析,以期進(jìn)一步提高織物顏色預(yù)測的自動化和智能化。