蔡 鑫, 南新元 , 孔 軍
(1.新疆大學(xué) 電氣工程學(xué)院,新疆 烏魯木齊 830047; 2. 江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122)
生物氧化提金受多種因素的影響和制約,是涉及熱力學(xué)、動力學(xué)、生物化學(xué)、電化學(xué)的復(fù)雜的工業(yè)過程[1-3].在生物氧化預(yù)處理過程中,細菌的活性決定了金解析過程的效率,對整個體系的環(huán)境及其體系有關(guān)的各種操作因素都要有嚴格的要求.氧化還原電位反應(yīng)了細菌氧化的進行情況,主要取決于Fe3+和Fe2+的比值[4].作為影響生物氧化體系的主要因素,對其預(yù)測在給料中黃鐵礦含量的控制、生物氧化過程的穩(wěn)定和優(yōu)化、提金率都具有重要意義.氧化還原電位具有復(fù)雜的非線性影響,很難建立精確預(yù)測數(shù)學(xué)模型.而人工神經(jīng)網(wǎng)絡(luò)在處理復(fù)雜非線性問題上具有顯著優(yōu)勢[5-6].為此,論文提出了一種基于遺傳算法優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)連接權(quán)值的GA-Elman模型,進行氧化還原電位預(yù)測.以新疆某金礦生物氧化提金過程中氧化還原電位的實測數(shù)據(jù)為例,并以GA-BP預(yù)測模型作為對比模型,實驗結(jié)果表明該方法是可行的.
OHF Elman(ouput-hidden feedback Elman)即輸出-隱層反饋Elman人工神經(jīng)網(wǎng)絡(luò)[7],這是在Elman網(wǎng)絡(luò)的基礎(chǔ)上所提出的一種改進的神經(jīng)網(wǎng)絡(luò)模型,結(jié)構(gòu)如圖1所示.該模型除了輸入層、隱層、輸出層單元外,還有一個特殊的聯(lián)系單元,聯(lián)系單元是用來記憶隱層單元以前時刻的輸出值,可認為是一時延算子[8].因此這里前饋連接部分可以進行連接權(quán)值修正,而遞歸部分則是固定的,即不能進行學(xué)習(xí)修正.在Elman網(wǎng)絡(luò)模型中只計入了隱層節(jié)點的反饋,而沒有考慮輸出層節(jié)點的反饋.由于各層神經(jīng)元的反饋信息會影響網(wǎng)絡(luò)的信號處理能力,因此在OHF Elman網(wǎng)絡(luò)中增加了輸出層節(jié)點的反饋,稱之為聯(lián)系單元2,并將它放在第2層,與隱層節(jié)點一起作為輸出層的輸入.
圖1 OHF Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
其數(shù)學(xué)模型為
x(k)=f(W1xc(k)+W2u(k-1)),
(1)
xc(k)=α·xc(k-1)+x(k-1),
(2)
y(k)=g(W3x(k)+W5yc(k)),
(3)
yc(k)=α·yc(k-1)+y(k-1).
(4)
OHF Elman網(wǎng)絡(luò)只是在Elman網(wǎng)絡(luò)的輸出層節(jié)點中增加了結(jié)構(gòu)單元2作為輸入,所以誤差對連接權(quán)W1,W2,W3偏導(dǎo)沒有什么變化,因此它們的權(quán)值修正公式與Elman網(wǎng)絡(luò)相同.
(5)
(6)
(7)
將誤差對結(jié)構(gòu)單元2到輸出層的連接權(quán)W4求偏導(dǎo),并令其等于零,得到權(quán)W4的修正公式
(8)
OHF Elman神經(jīng)網(wǎng)絡(luò)實質(zhì)上是在前向神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,通過引入反饋信號,存儲內(nèi)部狀態(tài)使其具備映射動態(tài)特征的功能,從而使系統(tǒng)具有適應(yīng)時變特性的能力,使得其時間序列的預(yù)測性能較BP神經(jīng)網(wǎng)絡(luò)更好[9].但OHF Elman網(wǎng)絡(luò)采用梯度下降算法修正網(wǎng)絡(luò)權(quán)值,由于梯度下降算法本身具有學(xué)習(xí)速度較慢且容易陷入局部最小值的特點,導(dǎo)致學(xué)習(xí)效率較低[10].
由于神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值的學(xué)習(xí)是一個復(fù)雜的連續(xù)參數(shù)優(yōu)化問題,所以編碼采用實數(shù)編碼方案.每個染色體由結(jié)構(gòu)單元與隱層連接權(quán)值、輸入層與隱層連接權(quán)值、隱層與輸出層連接權(quán)值、輸出層與結(jié)構(gòu)單元2連接權(quán)值、自連接反饋因子這5部分組成.選取所有染色體中碼長最大者作為其他染色體碼長標準而進行編碼.
具體算法如下:設(shè)隱層結(jié)點的最大個數(shù)值是Hmax,輸入層和輸出層結(jié)點個數(shù)分別是m、n,則進行編碼的各個染色體碼串長度均為
L=(n+m+1)×Hmax+m+1,
(9)
各染色體的有效碼長為(h為各個染色體碼串的隱層結(jié)點個數(shù))
L′=(n+m+1)×h+m+1.
(10)
遺傳算法(genetic algorithm,簡稱GA)用于神經(jīng)網(wǎng)絡(luò)的一個方面是用遺傳算法來學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的權(quán)值,也就是用GA來取代一些傳統(tǒng)的學(xué)習(xí)算法以克服其缺陷[11-12].為了提高神經(jīng)網(wǎng)絡(luò)的選擇能力,避免過早收斂,論文對遺傳算法中算子的選擇作了適當(dāng)?shù)母倪M.
在選擇算子時,如果選擇壓力過大就會造成種群多樣性迅速降低,形成早熟收斂.在遺傳進化的初期,通常會出現(xiàn)一些超常的個體因競爭力突出從而控制了選擇過程,使群體陷入局部最優(yōu).因此,通過改善適應(yīng)度值和比較算子相似度來克服以上缺點.為了增加適應(yīng)度值[6]的選擇,提高選擇能力,定義下式
(11)
其中:f′是一個已指定的適應(yīng)度值,fmax是適應(yīng)度值的上限,如果fmax未知,可以用當(dāng)前的適應(yīng)度最大值取代;fmin是適應(yīng)度值下限,如果fmin未知,可以用當(dāng)前的適應(yīng)度值的最小值取代;f是當(dāng)前的適應(yīng)度值,α∈(0,1)且為隨機數(shù),主要用它來增加遺傳算法的隨機性并且使分母不為零.
從公式中可以看到,fmax和fmin之間差別較大時,可以適當(dāng)?shù)亟档瓦m應(yīng)度值,以防優(yōu)秀個體控制整個種群;fmax和fmin之間區(qū)別較小時,此式可以矯正較大的適應(yīng)度值,種群中個體間距離會增加.此時,通過提高適應(yīng)度值,避免了算法在最佳的解決方案附近左右擺動而出現(xiàn)難以收斂的現(xiàn)象.
為避免遺傳算法中的過早收斂現(xiàn)象,以確保種群的多樣性[13],引入相似的定義.
假設(shè)一個算子具有n個基因,由于采用實數(shù)編碼,可以把兩個算子看成兩個向量X={x1,x2,…,xn},Y={y1,y2,…,yn}.定義一個距離e,且定義
(12)
如果d 相似度為種群中相似的個體類型總數(shù)占種群的比例.當(dāng)種群中個體完全不相似時,相似度為0,當(dāng)種群中個體完全相似時,相似度為1.相似度是衡量兩個個體之間的相似程度的指標.相似度越小,種群中個體類型越多,分配得越平均.交叉作用不能保證種群的相似度在t→∞ 時達到最大,相似度的變化與初始種群的分布有關(guān),當(dāng)初始種群的所有個體都相同,交換操作不改變種群的相似度.變異操作可顯著提高種群的多樣性,但當(dāng)t→∞變異操作使種群相似度達到最大值,變異率越大,相似度增加得越快. 相似度的提出,使在算子選擇過程中容易地取出相似的個體,確保種群的多樣性,同時適用于Elman神經(jīng)網(wǎng)絡(luò),并在優(yōu)化神經(jīng)網(wǎng)絡(luò)中發(fā)揮作用. 交叉是遺傳算法的核心,是遺傳算法區(qū)別于其他傳統(tǒng)優(yōu)化方法的重要標志.以概率對兩個個體進行交叉操作產(chǎn)生新的兩個個體,沒有進行交叉操作的個體進行直接復(fù)制. 遺傳算法引入變異算子可以提供初始種群不含的基因,或找回選擇過程中丟失的基因,為種群提供新的內(nèi)容.將個體基因以概率Pm由0變?yōu)?,或由1變?yōu)?.其中Pm若太低則可能使群體中的重要信息丟失,若太高則會使遺傳算法趨于隨機搜索.論文中選擇Pm=0.2. OHF Elman神經(jīng)網(wǎng)絡(luò)算法的權(quán)值的確定,是通過不斷的學(xué)習(xí)、訓(xùn)練按照某種確定的權(quán)值變化規(guī)則得到一個較好的權(quán)值分布.將改進的遺傳算法引入Elman網(wǎng)絡(luò)中用于優(yōu)化網(wǎng)絡(luò)的權(quán)值,可以解決Elman網(wǎng)絡(luò)遞歸部分權(quán)值固定的缺點,避免網(wǎng)絡(luò)易陷入局部最小值. 改進遺傳算法優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)的具體步驟如下: 步聚1 生成初始種群過程.隨即產(chǎn)生初始種群,種群的大小是30個,其中每個染色體采用實數(shù)編碼,每個染色體由結(jié)構(gòu)單元與隱層連接權(quán)值、輸入層與隱層連接權(quán)值、隱層與輸出層連接權(quán)值、輸出層與結(jié)構(gòu)單元2連接權(quán)值、自連接反饋因子組成. 圖2 改進的GA優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)流程圖 Fig.2 Flow chart of improved GA optimizingOHF Elman neural network 步聚2 將個體的適應(yīng)度值排序,計算個體的評價函數(shù),并按評價函數(shù)的大小排序,再計算評價適應(yīng)度值,把它作為一個閾值,選擇適應(yīng)度值大于平均適應(yīng)度值的個體. 步聚3 判斷是否達到確定的進化代數(shù)或達到進化結(jié)束的條件,滿足則跳到步聚6,不滿足則進行下一步. 步聚4 按一定的交叉概率和變異概率產(chǎn)生新的個體. 步聚5 判斷相似度,對新產(chǎn)生的個體進行評價.當(dāng)相似度超過一定的閾值而引起進化減慢時,將相似的個體取出,進行高概率的變異操作,用產(chǎn)生的新個體替代原相似的個體. 步聚6 將最優(yōu)個體按順序拆分,作為Elman網(wǎng)絡(luò)的連接權(quán)值和反饋因子. 步聚7 檢查是否滿足結(jié)束條件,結(jié)束條件設(shè)定為達到最大后代數(shù)則算法結(jié)束. 基于改進的GA優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)流程圖如圖2所示. 以新疆某金礦實測氧化槽內(nèi)的pH、溫度、黃鐵礦含量和氧化還原電位為原始值進行算法驗證. 對于含砷難處理金礦石,在生物氧化預(yù)處理過程中氧化還原電位主要受pH、溫度和黃鐵礦含量的影響,所以O(shè)HF Elman神經(jīng)網(wǎng)絡(luò)的輸入神經(jīng)元個數(shù)為3個,輸出神經(jīng)元為1個.由于單隱含層就能實現(xiàn)任意函數(shù)逼近,設(shè)定隱含層為1層.根據(jù)經(jīng)驗公式和仿真實驗確定隱含層神經(jīng)元個數(shù)為10個,結(jié)構(gòu)層與隱含層神經(jīng)元數(shù)量相同.遺傳算法中的種群規(guī)模設(shè)為20,進化次數(shù)為100次,交叉概率為0.4,變異概率為0.2. 由于原始數(shù)據(jù)量綱的劃分不同,且數(shù)據(jù)值之間相差較大,利用(13)式對數(shù)據(jù)進行歸一化處理,處理后的數(shù)據(jù)均在[0,1]內(nèi),消除了量綱的影響. (13) 選取平均相對誤差和均方根誤差作為模型的評價指標.評價指標計算公式如下 (14) (15) 表1為2種預(yù)測方法的誤差比較,表2為2種模型對照表. 表1 2種預(yù)測方法的誤差比較 表2 2種模型對照表 由以上2個表可以看出,采用GA-OHF Elman神經(jīng)網(wǎng)絡(luò)方法來預(yù)測氧化還原電位的平均相對誤差為2.35,小于GA-BP神經(jīng)網(wǎng)絡(luò)[14]方法的5.69.GA-OHF Elman神經(jīng)網(wǎng)絡(luò)的均方根誤差為6.13,小于GA-BP神經(jīng)網(wǎng)絡(luò)方法的10.06 .GA-OHF Elman神經(jīng)網(wǎng)絡(luò)方法相比GA-BP,平均迭代次數(shù)少很多,進入局部最優(yōu)的概率相比也小很多,僅是0.009 2.綜合比較而言,GA-OHF Elman模型預(yù)測效果優(yōu)于GA-BP模型,表明論文提出的GA-OHF Elman模型用于氧化還原電位預(yù)測是合理可行的,模型具有較高的預(yù)測精度和較好的泛化能力. 在MATLAB平臺上分別建立了GA-OHF Elman(如圖3所示)、GA-BP 2種神經(jīng)網(wǎng)絡(luò)預(yù)測模型(如圖4所示),對氧化槽內(nèi)氧化還原電位進行預(yù)測. 圖3 改進Elman神經(jīng)網(wǎng)絡(luò)預(yù)測圖 圖4 BP神經(jīng)網(wǎng)絡(luò)預(yù)測圖 由圖3、4可看出,用GA-Elman神經(jīng)網(wǎng)絡(luò)模型得到的預(yù)測值基本分布在實際目標值附近,而GA-BP模型得到的預(yù)測結(jié)果偏離目標值較大. 圖5、6分別是兩個預(yù)測模型的訓(xùn)練誤差曲線,可以看出GA-Elman神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練誤差比GA-BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練誤差小. 圖5 Elman神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線 圖6 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線 目前,對OIF Elman神經(jīng)網(wǎng)絡(luò)的研究較多,但對OHF Elman神經(jīng)網(wǎng)絡(luò)的研究較少.論文基于OHF Elman神經(jīng)網(wǎng)絡(luò)基本原理,針對Elman神經(jīng)網(wǎng)絡(luò)存在的學(xué)習(xí)速度較慢、易陷入局部極小值等缺陷,提出了一種GA優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)連接權(quán)值的GA-OHF Elman模型,用于氧化還原電位預(yù)測.以新疆某金礦為例進行實例分析,結(jié)果表明GA-OHF Elman模型用于氧化還原電位的預(yù)測是合理可行的,模型具有較高的預(yù)測精度,為企業(yè)在控制給料中黃鐵礦含量的比例提供了依據(jù),促進了生物氧化提金技術(shù)的發(fā)展和完善,對于相關(guān)的研究起到了借鑒作用. 參考文獻: [1] 李騫.含砷金礦生物預(yù)氧化提金基礎(chǔ)研究[D].長沙:中南大學(xué)資源加工和生物工程學(xué)院,2007. [2] 鄭曄.難處理金礦石預(yù)處理技術(shù)及應(yīng)用現(xiàn)狀[J].黃金,2009,30(1):36-41. [3] Arrascue M E L. Biooxidation of arsenopyrite concentrate using BIOX?process: industrial experience in Tamboraque, Peru[J].Hydrometallurgy,2006,83(1):90-96. [4] 楊松榮.含砷難處理金礦石生物氧化提金基礎(chǔ)與工程化研究[D].長沙:中南大學(xué)資源加工和生物工程學(xué)院,2004. [5] 崔東文.改進 Elman 神經(jīng)網(wǎng)絡(luò)在徑流預(yù)測中的應(yīng)用[J].水利水運工程學(xué)報,2013,(2):71-77. [6] 唐朝偉,何國田,徐昌彪,等.神經(jīng)網(wǎng)絡(luò)在采煤工作面瓦斯涌出量預(yù)測中的應(yīng)用[J].計算機應(yīng)用,2007,27(B12):202-204. [7] Shi X, Liang Y, Lee H, et al. Improved Elman networks and applications for controlling ultrasonic motors[J].Applied Artificial Intelligence,2004,18(7):603-629. [8] Gao X Z, Ovaska S J. Genetic algorithm training of Elman neural network in motor fault detection[J].Neural Computing & Applications,2002,11(1):37-44. [9] 傅薈璇,趙紅.MATLAB 神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計[M].北京:機械工業(yè)出版社,2010. [10] Song Q. On the weight convergence of Elman networks[J].IEEE Trans Neural Netw,2010,21(3):463-480. [11] 劉威,李小平,毛慧歐,等.基于實數(shù)編碼遺傳算法的神經(jīng)網(wǎng)絡(luò)成本預(yù)測模型及其應(yīng)用[J].控制理論與應(yīng)用,2004,21(3):423-426. [12] 李松,羅勇,張銘銳.遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的混沌時間序列預(yù)測[J].計算機工程與應(yīng)用,2011,47(29):52-55. [13] 王芳,程水源,李明君,等.遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)用于大氣污染預(yù)報[J].北京工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2009,35(9):1230-1234. [14] Yang B, Su X H, Wang Y D. BP neural network optimization based on an improved genetic algorithm[C]∥Proceedings of the Machine Learning and Cybernetics, International Conference on IEEE,2002:141-146.2.3 交叉和變異
3 改進遺傳算法優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)
4 實驗與分析
5 結(jié)束語