查劉根 謝春萍
摘要: 為了避免因隨機生成BP神經網絡初始權值和閾值而帶來的不確定性,以及得到更好的預測紗線條干CV值的精度和速度,借助免疫遺傳算法對傳統單一的BP神經網絡進行權值和閾值的優化。免疫算法中特有的濃度調節機制有效地解決了遺傳算法后期未成熟收斂的問題。利用Matlab構建單一的BP神經網絡模型、遺傳BP神經網絡模型和免疫遺傳BP神經網絡模型進行紗線條干CV值的預測實驗,通過仿真訓練結果的對比分析可得出,免疫遺傳算法優化的BP神經網絡能夠更準確、更快速、更穩定地完成紗線條干CV值的預測。
關鍵詞: 紗線條干;紗線質量預測;BP神經網絡;免疫算法;遺傳算法
中圖分類號: TS111.914
文獻標志碼: A
文章編號: 1001-7003(2019)02-0019-08
引用頁碼: 021104
Abstract: In order to avoid uncertainty caused by randomly generating initial weights and threshold values of BP neural network, and obtain higher prediction accuracy and speed of yarn evenness CV value, weights and threshold values of traditional single BP neural network were optimized with the aid of immune genetic algorithm. The unique concentration adjustment mechanism of immune algorithm effectively works in solving the problem of premature convergence in later period of genetic algorithm. Matlab was applied to construct a single BP neural network model, genetic BP neural network model and immune genetic BP neural network model to predict yarn evenness CV value. Comparative analysis of simulation training results indicate that the BP neural network developed via optimization with immune genetic algorithm performs more accurately, quickly and stably in predicting yarn evenness CV value.
Key words: yarn evenness; yarn quality prediction; BP neural network; immune algorithm; genetic algorithm
紗線粗細均勻度是指構成紗線的纖維在沿成紗方向上排列時,其根數分布的均勻一致的程度[1-3]。在紡織生產上,將紗線條干粗細的均勻度客觀地用條干CV值來進行表征[4]。如何更加快速準確地預測出紗線條干CV值,幫助控制生產是本文的研究目的,其在實際的紡織生產活動中更是具有十分重要的意義。
人工神經網絡是一種受人類神經系統啟發而提出的智能結構,其強大的容錯能力使得其具有對非線性映射問題建模的能力,所以在近十幾年來,各領域都在研究和應用人工神經網絡,特別是在質量預測方面,BP神經網絡的使用已經相當普遍,而且都取得了很好的效果[5-7]。但需要說明的是,由于BP神經網絡所使用的BP算法是基于梯度下降的,所以其誤差反向傳播過程在后期幾乎都會收斂于局部極值,這樣一來就嚴重限制了網絡的預測能力。為了彌補BP神經網絡存在的不足,更好地使用BP神經網絡解決問題,國內外的神經網絡專家在近些年做了大量的探索和深入研究,提出了一系列的智能算法來優化BP神經網絡的參數和結構,逐步地提高了BP神經網絡的預測能力,增強了其使用性能[8-9]。本文在借鑒前人研究成果的基礎上,提出將免疫遺傳算法作為BP神經網絡建模的輔助算法,優化網絡的權值和閾值,然后進行紗線條干CV值的預測實驗。通過多次的訓練仿真,并與單一的BP神經網絡模型和遺傳BP神經網絡模型的預測結果進行對比分析,驗證免疫遺傳算法在紗線質量預測模型中的有效性。
1?免疫遺傳算法
免疫算法是對生物體免疫機制的抽象表達,求解的問題是抗原,對應的解是抗體,抗原和抗體的親和度體現了可行解與最優解的逼近程度[10]。免疫遺傳算法以遺傳算法為基礎,兼具自身特有的抗體濃度調節機制,通過保持抗體群的多樣性來抑制遺傳算法后期的退化現象。獲得的免疫遺傳算法收斂速度更快,搜索能力更強,其具有的多樣性保持機制,能使算法在收斂過程中可以不斷地調整搜索方向,避免陷入局部極值,增強了算法的全局搜索能力。免疫遺傳算法是遺傳算法和免疫算法的結合。
2?基于免疫遺傳算法的BP神經網絡設計
2.1?BP神經網絡建模
本文構造的條干CV值預測模型所使用的數據來源于山東某棉紡織廠的原棉物理指標及細紗質量指標,為提高預測結果的準確性和計算的穩定性,數據在使用之前使用log函數進行了統一的歸一化處理。網絡以馬克隆值、上半部平均長度、整齊度、短纖維指數和強度作為輸入,以紗線條干CV值為輸出,即輸入層有m=5個神經元,輸出層有n=1個神經元。隱含層單元數由經驗公式(1)[11]計算,得到s=4.5,再用同一組樣本數據多次測試最后確定網絡的隱層單元數為4,得到的三層BP神經網絡的拓撲結構。
s=0.43mn+0.12n2+2.54m+0.77n+0.35+0.51(1)
2.2?網絡權值和閾值的優化設計
2.2.1?編?碼
將待尋優變量即神經網絡的連接權值和閾值作為抗體進行編碼,考慮到單獨的二進制編碼的復雜性及計算量大的缺點,本文主要采用實數編碼,在基于濃度的群體更新時再轉換成二進制進行操作,可有效提高算法的收斂速度。
2.2.2?初始群體的產生
隨機化生成M個抗體組成初始種群。設輸入單元數為m,隱層單元數為n,輸出單元數為l,則連接權值共有m×n+n×l個,閾值共有n+l個,抗體長度L=m×n+n×l+n+l。
2.2.3?適應度函數的設計
BP神經網絡的目標函數設定為[12]:
BP神經網絡通過不斷地學習訓練來進行權值和閾值的修正,直到輸出誤差滿足最初的設計要求時訓練終止。而免疫遺傳算法解決的一般是目標最大化問題,故最終的適應度函數設定為:
2.2.4?遺傳操作
1)選擇。采用適應度比例的方法選擇子代抗體,設M為抗體數量,fj是第j個抗體的適應度值,那么該抗體被選擇的概率為Pj,即:
適應度比例法很好地保留下了高適應度的父代抗體,保證優良基因逐代遺傳,有效地維持了算法的全局搜索能力。
2)交叉。本文采用算數交叉法,通過設定一個參數α和線性重組可以產生任意兩個位于兩個父代抗體間的子代抗體。
3)變異。變異操作能恢復抗體失去的或未開發的有效信息,維持群體的多樣性,本文采用單重均勻變異法。
2.2.5?基于濃度的群體更新
如果只是通過簡單的遺傳選擇篩選出大量的高適應度父代抗體,而不施加控制,那么這些個體的濃度就會越來越高,收斂后期群體的多樣性便會急劇降低,最終算法陷入局部極值。所以,就需要找到一個更好的方法,既能保留住高適應的個體,還可以確保在新產生的抗體群里,適應度值較低但可能包含優良基因的個體也有被挑選出來的機會,這就是基于濃度機制的群體更新,該操作能夠維持每代抗體群的多樣性。
這里先給出信息熵、相似度和抗體濃度的概念和計算公式:
1)信息熵。免疫系統中,一個抗體所包含的信息量可由Shannon的平均信息熵H(M)來表述。設某抗體包含s種不同的符號,某一符號位于t號基因座的概率pst可由式(5)計算得出,即:
pst=在基因座t上出現第s個符號的總數M(5)
則Ht(M)為第t個基因的信息熵,定義為:
整個群體的平均信息熵為:
2)相似度。抗體a和抗體c的相似程度稱之為相似度:
H(2)可由式(7)計算得出,是兩個抗體的平均信息熵。還可以定義群體的相似度X(M):
X(M)的大小反映了整個群體的相似程度,X(M)∈(0,1),X(M)越大,群體相似度越高。當X(M)=1時,表示所有抗體完全相同。
3)抗體濃度??贵w濃度是指某個抗體和與其相似的個體在種群中的比率,可由下式[13]求得:
伴隨著抗體群的不斷更新,部分抗體的相似度必定會逐漸增大,為了有效地保持群體的多樣性,為其相似度設定一個閾值(設為X0,X0與抗體群規模的大小成正比),當群體發展到其相似度大于該閾值時,就將隨機增殖Z個新抗體,抗體總數擴大為M+Z。
在單一適應度評價方法之上,加入抗體濃度進行調整,提出聚合適應度的概念,作為最后篩選個體的評價指標,其表達式如下式所示[14]:
采用聚合適應度比例的方法更新下一代群體,某抗體被保留下來的幾率與其聚合適應度成正比,最終篩選出M個抗體作為下一代的種群。這種做法的優點在于:一方面抗體的濃度不變時,聚合適應度的大小與適應度的值成正相關,能夠有效保留住優秀的個體;另一方面,適應度值一定時,聚合適應度的大小與抗體濃度值呈負相關,體現出免疫系統的自我調節能力,保證了算法的全局搜索能力。
3?訓練仿真實驗
本文欲對免疫遺傳算法優化的BP神經網絡在紗線質量預測上的可行性與效果進行探究,利用表1所示來自山東某棉紡廠的棉紗質量數據,其中前50組用于模型訓練,后10組數據用于測試神經網絡。
在2.1設立的BP神經網絡模型的基礎上,利用Matlab軟件進行訓練和仿真,BP神經網絡的參數設定如下:訓練步數為1000,訓練目標為0.0001,兩次顯示之間的訓練步數為50;另外,網絡的激活函數選擇tansig函數,訓練函數選擇trainlm函數。
利用遺傳算法和免疫遺傳算法進行網絡權值、閾值的優化操作,其中遺傳算法的參數設定為:種群規模為30,進化代數為50,實數編碼方式,適應度比率選擇方法,交叉概率為0.8,變異概率為0.2;免疫遺傳算法在遺傳算法的基礎上設定新增抗體數Z為10,聚合適應度計算公式中常數β設定為-0.6。兩種模型的適應度函數值迭代曲線。
免疫遺傳算法模型當進化代數達到30代以后,優化結果的適應度函數值(即平均絕對誤差)逐漸趨于穩定,約為1.1,表明每個個體都在最優解附近。遺傳算法適應度函數值從40代之后逐漸穩定在1.6左右,且曲線的平穩性要差于免疫遺傳算法模型,說明免疫遺傳算法在優化網絡參數的效果上要好于遺傳算法模型。
分別建立三個不同的預測模型-BP神經網絡模型、遺傳BP神經網絡模型和免疫遺傳BP神經網絡模型,對紗線條干CV值進行預測分析。利用前50組數據進行預測模型訓練,每個模型經過10次訓練后取實驗數據的平均值,最后所得結果如表2所示。
從表2可以看出,在單一的BP神經網絡模型上,遺傳BP神經網絡模型的性能已經有了較大的提高,訓練步數平均值從646減少到109,相對平均誤差由8.3%降到4.7%,擬合度從0.915升到0957;而免疫遺傳BP神經網絡模型在此基礎上又得到了進一步提高,訓練步數平均值從109繼續減少到29,相對平均誤差由4.7%降到3.2%,擬合度進一步升到0.975。免疫遺傳算法優于遺傳算法的原因在于,首先免疫遺傳算法相比較遺傳算法增加了多樣性保持功能,可以提高算法的局部搜索能力,然后免疫算法特有的濃度調節機制使得算法在發展過程中能夠自我調節,避免陷入局部極值,最終就能為BP神經網絡預設出比遺傳算法更精確的權值和閾值,提供更精確的網絡搜索空間。所以免疫遺傳算法優化的網絡訓練速度更快,預測值的誤差也顯著降低。其中,10次實驗的訓練步長統計情況。
三種模型中,10次訓練的平均收斂速度,免疫遺傳BP神經網絡模型遠遠高于前兩種。繪制出三種模型中訓練效果最好的一次的誤差曲線。可以看出,由于三種模型都是以BP神經網絡為模型基礎的,所以三幅誤差曲線圖的收斂趨勢近乎相同,但顯然訓練速度是逐個提升的。
為了進一步比較三個模型性能的差異,考證三種模型的擬合度,通過對真實數據的擬合來分析其與BP神經網絡預測值之間的接近程度,其結果。
三種模型中擬合度最大的是免疫遺傳BP神經網絡模型(R=0.975),說明該網絡模型的預測值與真實數據的一致性更高,訓練誤差更小,訓練效果更好。
神經網絡模型訓練好以后,再用10組測試數據對所構建的兩種優化神經網絡模型進行驗證分析,并給出測試結果紗線條干CV預測值,如表3所示。
從表3可以看出,免疫遺傳算法模型預測結果的平均相對誤差相對于遺傳算法模型降低1.6%,說明免疫遺傳算法模型的泛化性能要優于遺傳算法模型。
4?結?論
本文在使用了免疫算法和遺傳算法對BP神經網絡的權值和閾值進行優化處理后,分別建立了3種不同的BP神經網絡模型,并通過多次實驗逐一對紗線條干CV值進行訓練和測試仿真。
實驗最后統計計算得出每個模型的平均最大訓練步長、相對平均誤差和擬合度值,結果分析表明,免疫遺傳BP神經網絡模型在紗線條干預測模型中獲得了最快的訓練速度和精度,網絡的穩定性也是最高,說明將免疫遺傳算法優化后的BP神經網絡用于紗線質量預測是切實可行的,對實際的生產具有重要的意義。
參考文獻:
[1]谷有眾, 高衛東, 盧雨正, 等. 應用遺傳算法優化支持向量回歸機的噴氣渦流紡紗線質量預測[J]. 紡織學報, 2016,37(7): 9-13.
GU Youzhong, GAO Weidong, LU Yuzheng, et al. Prediction of vortex yarn properties based on hybrid genetic algorithm and support vector regression[J]. Journal of Textiles Research, 2016,37(7): 9-13.
[2]谷有眾, 劉建立, 高衛東. 基于遺傳模擬退火神經網絡的紗線強力預測[J]. 上海紡織科技, 2016,44(1): 21-25.
GU Youzhong, LIU Jianli, GAO Weidong. Prediction of yarn strength based on genetic simulated annealing BP neural network[J]. Shanghai Textile Science and Technology, 2016,44(1): 21-25.
[3]張立仿, 張喜平. 量子遺傳算法優化BP神經網絡的網絡流量預測[J]. 計算機工程與科學, 2016,38(1): 7-11.
ZHANG Lifang, ZHANG Xiping. Network traffic prediction based on BP neural networks optimized by quantum genetic algorithm[J]. Computer Engineering and Science, 2016,38(1): 7-11.
[4]熊經緯, 楊建國, 徐蘭. 基于PSO-BP神經網絡的紗線質量預測[J]. 東華大學學報(自然科學版), 2015,41(4): 43-47.
XIONG Jingwei, YANG Jianguo, XU Lan. Combining the particle swarm optimization with BP neural network for yarn quality forecasting[J]. Journal of Donghua University (Natural Science), 2015,41(4): 43-47.
[5]YANG Jianguo, XU Lan, LU Zhijun, et al. Yarn quality prediction and process parameters optimization based on genetic algorithm and neural network[J]. Applied Mechanics and Materials, 2015 (742): 112-118.
[6]徐立云, 劉偉, 樓科文, 等. 基于改進免疫遺傳算法的加工工藝重構[J]. 同濟大學學報(自然科學版), 2016,44(6): 35-39.
XU Liyun, LIU Wei, LOU Kewen, et al. Reconfigurable process planning based on improved immune genetic algorithm[J]. Journal of Tongji University (Natural Science), 2016,44(6): 35-39.
[7]EUGENE Y C Wong, HENRY S C Yeung, HENRY Y K Lau. Immunity-based hybrid evolutionary algorithm for multi-objective optimization in global container repositioning[J]. Engineering Applications of Artificial Intelligence, 2008,22(6): 842-854.
[8]韓莉, 張振宇, 劉倩, 等. 基于免疫遺傳算法-BP神經網絡的主汽溫控制[J]. 化工自動化及儀表, 2011(3): 67-71.
HAN Li, ZHANG Zhenyu, LIU Qian, et al. Main steam temperature control based on immune genetic algorithm and BP neural network[J]. Control and Instruments in Chemical Industry, 2011(3): 67-71.
[9]紀雪, 周興華, 陳義蘭, 等. 基于BP神經網絡的海底地形復雜度自動分類方法研究[J]. 海岸工程, 2016,35(4): 15-20.
JI Xue, ZHOU Xinghua, CHEN Yilan, et al. Study on automatic classification method for seafloor terrain complexity based on BP neural network[J]. Coastal Engineering, 2016,35(4): 15-20.
[10]高興培. 免疫遺傳算法在BP網絡結構優化中的應用[J]. 廣東廣播電視大學學報, 2005,14(1): 21-26.
GAO Xingpei. Application of immune genetic algorithm in structural optimization on BP network[J]. Journal of Guangdong Radio & TV University, 2005,14(1): 21-26.
[11]史步海, 朱學峰. LMBP神經網絡改進算法的研究[J]. 控制工程, 2006, 13(6): 525-529.
SHI Buhai, ZHU Xuefeng. Research on improved algorithm of LMBP neural network[J]. Control Engineering Practice, 2006, 13(6): 525-529.
[12]羅菲, 何明一. 基于免疫遺傳算法的多層前向神經網絡設計[J]. 計算機應用, 2005,25(7): 1661-1665.
LUO Fei, HE Mingyi. Multilayer feed-forward neural networks based on immune genetic algorithm[J]. Computer Applications, 2005,25(7): 1661-1665.
[13]楊孔雨, 王秀峰. 免疫記憶遺傳算法及其完全收斂性研究[J]. 計算機工程與應用, 2005(12): 47-50.
YANG Kongyu, WANG Xiufeng. Research of immune memory genetic algorithm and its complete convergence[J]. Computer Engineering and Applications, 2005(12): 47-50.
[14]宮新保, 臧小剛, 周希朗. 基于免疫算法的前向神經網絡學習方法[J]. 系統工程與電子技術, 2004, 26(12): 1927-1929.
GONG Xinbao, ZANG Xiaogang, ZHOU Xilang. Learning strategy of feedforward neural network based on immune algorithm[J]. Systems Engineering and Electronics, 2004, 26(12): 1927-1929.