蔡 鑫, 南新元 , 孔 軍
(1.新疆大學(xué) 電氣工程學(xué)院,新疆 烏魯木齊 830047; 2. 江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122)
生物氧化提金受多種因素的影響和制約,是涉及熱力學(xué)、動(dòng)力學(xué)、生物化學(xué)、電化學(xué)的復(fù)雜的工業(yè)過程[1-3].在生物氧化預(yù)處理過程中,細(xì)菌的活性決定了金解析過程的效率,對整個(gè)體系的環(huán)境及其體系有關(guān)的各種操作因素都要有嚴(yán)格的要求.氧化還原電位反應(yīng)了細(xì)菌氧化的進(jìn)行情況,主要取決于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模型,進(jìn)行氧化還原電位預(yù)測.以新疆某金礦生物氧化提金過程中氧化還原電位的實(shí)測數(shù)據(jù)為例,并以GA-BP預(yù)測模型作為對比模型,實(shí)驗(yàn)結(jié)果表明該方法是可行的.
OHF Elman(ouput-hidden feedback Elman)即輸出-隱層反饋Elman人工神經(jīng)網(wǎng)絡(luò)[7],這是在Elman網(wǎng)絡(luò)的基礎(chǔ)上所提出的一種改進(jìn)的神經(jīng)網(wǎng)絡(luò)模型,結(jié)構(gòu)如圖1所示.該模型除了輸入層、隱層、輸出層單元外,還有一個(gè)特殊的聯(lián)系單元,聯(lián)系單元是用來記憶隱層單元以前時(shí)刻的輸出值,可認(rèn)為是一時(shí)延算子[8].因此這里前饋連接部分可以進(jìn)行連接權(quán)值修正,而遞歸部分則是固定的,即不能進(jìn)行學(xué)習(xí)修正.在Elman網(wǎng)絡(luò)模型中只計(jì)入了隱層節(jié)點(diǎn)的反饋,而沒有考慮輸出層節(jié)點(diǎn)的反饋.由于各層神經(jīng)元的反饋信息會(huì)影響網(wǎng)絡(luò)的信號處理能力,因此在OHF Elman網(wǎng)絡(luò)中增加了輸出層節(jié)點(diǎn)的反饋,稱之為聯(lián)系單元2,并將它放在第2層,與隱層節(jié)點(diǎn)一起作為輸出層的輸入.
圖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é)點(diǎn)中增加了結(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ò)實(shí)質(zhì)上是在前向神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,通過引入反饋信號,存儲(chǔ)內(nèi)部狀態(tài)使其具備映射動(dòng)態(tài)特征的功能,從而使系統(tǒng)具有適應(yīng)時(shí)變特性的能力,使得其時(shí)間序列的預(yù)測性能較BP神經(jīng)網(wǎng)絡(luò)更好[9].但OHF Elman網(wǎng)絡(luò)采用梯度下降算法修正網(wǎng)絡(luò)權(quán)值,由于梯度下降算法本身具有學(xué)習(xí)速度較慢且容易陷入局部最小值的特點(diǎn),導(dǎo)致學(xué)習(xí)效率較低[10].
由于神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值的學(xué)習(xí)是一個(gè)復(fù)雜的連續(xù)參數(shù)優(yōu)化問題,所以編碼采用實(shí)數(shù)編碼方案.每個(gè)染色體由結(jié)構(gòu)單元與隱層連接權(quán)值、輸入層與隱層連接權(quán)值、隱層與輸出層連接權(quán)值、輸出層與結(jié)構(gòu)單元2連接權(quán)值、自連接反饋因子這5部分組成.選取所有染色體中碼長最大者作為其他染色體碼長標(biāo)準(zhǔn)而進(jìn)行編碼.
具體算法如下:設(shè)隱層結(jié)點(diǎn)的最大個(gè)數(shù)值是Hmax,輸入層和輸出層結(jié)點(diǎn)個(gè)數(shù)分別是m、n,則進(jìn)行編碼的各個(gè)染色體碼串長度均為
L=(n+m+1)×Hmax+m+1,
(9)
各染色體的有效碼長為(h為各個(gè)染色體碼串的隱層結(jié)點(diǎn)個(gè)數(shù))
L′=(n+m+1)×h+m+1.
(10)
遺傳算法(genetic algorithm,簡稱GA)用于神經(jīng)網(wǎng)絡(luò)的一個(gè)方面是用遺傳算法來學(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(jìn).
在選擇算子時(shí),如果選擇壓力過大就會(huì)造成種群多樣性迅速降低,形成早熟收斂.在遺傳進(jìn)化的初期,通常會(huì)出現(xiàn)一些超常的個(gè)體因競爭力突出從而控制了選擇過程,使群體陷入局部最優(yōu).因此,通過改善適應(yīng)度值和比較算子相似度來克服以上缺點(diǎn).為了增加適應(yīng)度值[6]的選擇,提高選擇能力,定義下式
(11)
其中:f′是一個(gè)已指定的適應(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)且為隨機(jī)數(shù),主要用它來增加遺傳算法的隨機(jī)性并且使分母不為零.
從公式中可以看到,fmax和fmin之間差別較大時(shí),可以適當(dāng)?shù)亟档瓦m應(yīng)度值,以防優(yōu)秀個(gè)體控制整個(gè)種群;fmax和fmin之間區(qū)別較小時(shí),此式可以矯正較大的適應(yīng)度值,種群中個(gè)體間距離會(huì)增加.此時(shí),通過提高適應(yīng)度值,避免了算法在最佳的解決方案附近左右擺動(dòng)而出現(xiàn)難以收斂的現(xiàn)象.
為避免遺傳算法中的過早收斂現(xiàn)象,以確保種群的多樣性[13],引入相似的定義.
假設(shè)一個(gè)算子具有n個(gè)基因,由于采用實(shí)數(shù)編碼,可以把兩個(gè)算子看成兩個(gè)向量X={x1,x2,…,xn},Y={y1,y2,…,yn}.定義一個(gè)距離e,且定義
(12)
如果d 相似度為種群中相似的個(gè)體類型總數(shù)占種群的比例.當(dāng)種群中個(gè)體完全不相似時(shí),相似度為0,當(dāng)種群中個(gè)體完全相似時(shí),相似度為1.相似度是衡量兩個(gè)個(gè)體之間的相似程度的指標(biāo).相似度越小,種群中個(gè)體類型越多,分配得越平均.交叉作用不能保證種群的相似度在t→∞ 時(shí)達(dá)到最大,相似度的變化與初始種群的分布有關(guān),當(dāng)初始種群的所有個(gè)體都相同,交換操作不改變種群的相似度.變異操作可顯著提高種群的多樣性,但當(dāng)t→∞變異操作使種群相似度達(dá)到最大值,變異率越大,相似度增加得越快. 相似度的提出,使在算子選擇過程中容易地取出相似的個(gè)體,確保種群的多樣性,同時(shí)適用于Elman神經(jīng)網(wǎng)絡(luò),并在優(yōu)化神經(jīng)網(wǎng)絡(luò)中發(fā)揮作用. 交叉是遺傳算法的核心,是遺傳算法區(qū)別于其他傳統(tǒng)優(yōu)化方法的重要標(biāo)志.以概率對兩個(gè)個(gè)體進(jìn)行交叉操作產(chǎn)生新的兩個(gè)個(gè)體,沒有進(jìn)行交叉操作的個(gè)體進(jìn)行直接復(fù)制. 遺傳算法引入變異算子可以提供初始種群不含的基因,或找回選擇過程中丟失的基因,為種群提供新的內(nèi)容.將個(gè)體基因以概率Pm由0變?yōu)?,或由1變?yōu)?.其中Pm若太低則可能使群體中的重要信息丟失,若太高則會(huì)使遺傳算法趨于隨機(jī)搜索.論文中選擇Pm=0.2. OHF Elman神經(jīng)網(wǎng)絡(luò)算法的權(quán)值的確定,是通過不斷的學(xué)習(xí)、訓(xùn)練按照某種確定的權(quán)值變化規(guī)則得到一個(gè)較好的權(quán)值分布.將改進(jìn)的遺傳算法引入Elman網(wǎng)絡(luò)中用于優(yōu)化網(wǎng)絡(luò)的權(quán)值,可以解決Elman網(wǎng)絡(luò)遞歸部分權(quán)值固定的缺點(diǎn),避免網(wǎng)絡(luò)易陷入局部最小值. 改進(jìn)遺傳算法優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)的具體步驟如下: 步聚1 生成初始種群過程.隨即產(chǎn)生初始種群,種群的大小是30個(gè),其中每個(gè)染色體采用實(shí)數(shù)編碼,每個(gè)染色體由結(jié)構(gòu)單元與隱層連接權(quán)值、輸入層與隱層連接權(quán)值、隱層與輸出層連接權(quán)值、輸出層與結(jié)構(gòu)單元2連接權(quán)值、自連接反饋因子組成. 圖2 改進(jìn)的GA優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)流程圖 Fig.2 Flow chart of improved GA optimizingOHF Elman neural network 步聚2 將個(gè)體的適應(yīng)度值排序,計(jì)算個(gè)體的評價(jià)函數(shù),并按評價(jià)函數(shù)的大小排序,再計(jì)算評價(jià)適應(yīng)度值,把它作為一個(gè)閾值,選擇適應(yīng)度值大于平均適應(yīng)度值的個(gè)體. 步聚3 判斷是否達(dá)到確定的進(jìn)化代數(shù)或達(dá)到進(jìn)化結(jié)束的條件,滿足則跳到步聚6,不滿足則進(jìn)行下一步. 步聚4 按一定的交叉概率和變異概率產(chǎn)生新的個(gè)體. 步聚5 判斷相似度,對新產(chǎn)生的個(gè)體進(jìn)行評價(jià).當(dāng)相似度超過一定的閾值而引起進(jìn)化減慢時(shí),將相似的個(gè)體取出,進(jìn)行高概率的變異操作,用產(chǎn)生的新個(gè)體替代原相似的個(gè)體. 步聚6 將最優(yōu)個(gè)體按順序拆分,作為Elman網(wǎng)絡(luò)的連接權(quán)值和反饋因子. 步聚7 檢查是否滿足結(jié)束條件,結(jié)束條件設(shè)定為達(dá)到最大后代數(shù)則算法結(jié)束. 基于改進(jìn)的GA優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)流程圖如圖2所示. 以新疆某金礦實(shí)測氧化槽內(nèi)的pH、溫度、黃鐵礦含量和氧化還原電位為原始值進(jìn)行算法驗(yàn)證. 對于含砷難處理金礦石,在生物氧化預(yù)處理過程中氧化還原電位主要受pH、溫度和黃鐵礦含量的影響,所以O(shè)HF Elman神經(jīng)網(wǎng)絡(luò)的輸入神經(jīng)元個(gè)數(shù)為3個(gè),輸出神經(jīng)元為1個(gè).由于單隱含層就能實(shí)現(xiàn)任意函數(shù)逼近,設(shè)定隱含層為1層.根據(jù)經(jīng)驗(yàn)公式和仿真實(shí)驗(yàn)確定隱含層神經(jīng)元個(gè)數(shù)為10個(gè),結(jié)構(gòu)層與隱含層神經(jīng)元數(shù)量相同.遺傳算法中的種群規(guī)模設(shè)為20,進(jìn)化次數(shù)為100次,交叉概率為0.4,變異概率為0.2. 由于原始數(shù)據(jù)量綱的劃分不同,且數(shù)據(jù)值之間相差較大,利用(13)式對數(shù)據(jù)進(jìn)行歸一化處理,處理后的數(shù)據(jù)均在[0,1]內(nèi),消除了量綱的影響. (13) 選取平均相對誤差和均方根誤差作為模型的評價(jià)指標(biāo).評價(jià)指標(biāo)計(jì)算公式如下 (14) (15) 表1為2種預(yù)測方法的誤差比較,表2為2種模型對照表. 表1 2種預(yù)測方法的誤差比較 表2 2種模型對照表 由以上2個(gè)表可以看出,采用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ù)少很多,進(jìn)入局部最優(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)氧化還原電位進(jìn)行預(yù)測. 圖3 改進(jìn)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ù)測值基本分布在實(shí)際目標(biāo)值附近,而GA-BP模型得到的預(yù)測結(jié)果偏離目標(biāo)值較大. 圖5、6分別是兩個(gè)預(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ù)測.以新疆某金礦為例進(jìn)行實(shí)例分析,結(jié)果表明GA-OHF Elman模型用于氧化還原電位的預(yù)測是合理可行的,模型具有較高的預(yù)測精度,為企業(yè)在控制給料中黃鐵礦含量的比例提供了依據(jù),促進(jìn)了生物氧化提金技術(shù)的發(fā)展和完善,對于相關(guān)的研究起到了借鑒作用. 參考文獻(xià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] 崔東文.改進(jìn) Elman 神經(jīng)網(wǎng)絡(luò)在徑流預(yù)測中的應(yīng)用[J].水利水運(yùn)工程學(xué)報(bào),2013,(2):71-77. [6] 唐朝偉,何國田,徐昌彪,等.神經(jīng)網(wǎng)絡(luò)在采煤工作面瓦斯涌出量預(yù)測中的應(yīng)用[J].計(jì)算機(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è)計(jì)[M].北京:機(jī)械工業(yè)出版社,2010. [10] Song Q. On the weight convergence of Elman networks[J].IEEE Trans Neural Netw,2010,21(3):463-480. [11] 劉威,李小平,毛慧歐,等.基于實(shí)數(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ò)的混沌時(shí)間序列預(yù)測[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(29):52-55. [13] 王芳,程水源,李明君,等.遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)用于大氣污染預(yù)報(bào)[J].北京工業(yè)大學(xué)學(xué)報(bào):自然科學(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 改進(jìn)遺傳算法優(yōu)化OHF Elman神經(jīng)網(wǎng)絡(luò)
4 實(shí)驗(yàn)與分析
5 結(jié)束語