朱湘臨,宋 彥,王 博,丁煜函,朱 莉,姜哲宇2,陳 威
(1.江蘇大學 電氣信息工程學院,江蘇 鎮(zhèn)江 212013;2.無錫太湖水務有限公司,江蘇 無錫 214000)
松茸作為一種珍貴的食藥兩用真菌,因其自身特有的抗腫瘤、抗衰老、改善免疫系統(tǒng)功能等功效而大受人們喜愛[1]。隨著我國對松茸需求量的日益增大,傳統(tǒng)的培養(yǎng)方式已遠遠不能滿足人們對松茸的需求。松茸液態(tài)深層發(fā)酵和其他傳統(tǒng)生產方式相比,具有菌絲體生長周期短、產量高、污染小等優(yōu)越性,并且通過液體深層發(fā)酵獲得的菌絲體在營養(yǎng)價值上與野生子實體相近。然而,由于發(fā)酵過程的高度時變性和不確定性,目前,關鍵生物參量還難以實時在線測量。通常將發(fā)酵液于3500r/min離心20min,菌絲體經去離子水反復洗滌,離心多次,取沉淀物于60℃烘干至衡重,用分析天平沉重。離線化驗時滯性很大,并且在線取樣容易引入人為污染,會降低發(fā)酵品質,無法滿足現場實時優(yōu)化控制的需要。因此,軟測量技術的引入是解決上述問題的有效途徑[2-5]。
BP神經網絡(BPNN)[6]軟測量是近年來應用很廣泛的一種數據驅動軟測量方法,因其優(yōu)良的非線性逼近能力,已被廣泛地應用于微生物發(fā)酵過程的軟測量建模中[7]。但是傳統(tǒng)BPNN在發(fā)酵過程軟測量實際應用中存在以下問題:
①其算法本質為梯度下降法,權值修正時收斂緩慢,易陷入局部最優(yōu);
②初始權值和閾值為隨機選擇,缺乏理論依據。
國內外學者在這方面做了許多研究,花亞梅等[8]將動量和自適應調節(jié)學習率引入BPNN,對其進行改進,增加了沼氣厭氧發(fā)酵的穩(wěn)定性、縮短了訓練時間;楊強大等[9]改進了傳統(tǒng)BPNN的誤差函數,由此在一定程度上克服了用傳統(tǒng)BPNN對諾西肽建模的過擬合現象;遲雷等[10]采用添加動量項和可變學習速率的方法對BP算法進行改進,提高了發(fā)酵過程的預測精度;以上對傳統(tǒng)BPNN的改進,都是對權值修正公式進行了改進,一定程度上提高了預測精度,但是還存在著初始權值和閾值選擇不當而陷入局部最小值的問題。文獻[11]強調在多峰值優(yōu)化過程中,布谷鳥搜索算法(CS)相對于粒子群算法和遺傳算法更容易獲得最優(yōu)解;國內外研究者也已將CS優(yōu)化BPNN運用到短時交通流量預測[12]、微波加熱溫度預測模型[13]、網絡流量預測[14]、神經網絡圖像復原[15]、股價預測[16]等。以上這些運用布谷鳥算法優(yōu)化BPNN雖然具有較好的全局性能和收斂速度[17],然而在局部搜索能力上稍有欠缺[18-23]。同時這些智能優(yōu)化算法只能得到BPNN的一個參量初值,之后的參量更新依靠傳統(tǒng)BPNN的自身修正。
為解決上述存在的這些問題,提出了一種基于改進CS優(yōu)化改進BPNN的軟測量建模方法。將兩階段發(fā)現概率的改進CS和運用附加動量與動態(tài)學習率的改進BPNN相結合,以松茸發(fā)酵過程中難測量為對象,建立軟測量模型。仿真結果表明,改進的CS-BPNN軟測量模型預測精度提高了6%以上,能夠滿足松茸發(fā)酵過程中實時在線測量的需求。
傳統(tǒng)BP算法的權值更新公式為:
w(i+1)=w(i)+Δw(i+1)
(1)
引入附加動量和動態(tài)調整學習率對BP算法進行改進,附加動量法的改進以傳統(tǒng)BP算法的權值更新公式為基礎,其在每個權重的變化上加上一項正比于上次權重變化量的值,由此得到新的權值。其權值更新公式為:
w(i+1)=mc×w(i)+μ×Δw(i+1)
(2)
式中,mc為動量因子、μ為學習率,都取0~1之間的數。
動態(tài)調整學習率進行的規(guī)則為:檢驗權重修正值,倘若能將誤差函數減少,就代表此學習速率值較小,那么增大它;倘若不能,就減小它的值。它的調整公式為:
(3)
式中,μ為學習率,當權重修正值使誤差函數E(i)降低時,增大μ;相反,則減少。
布谷鳥算法是由模擬布谷鳥借窩產卵的繁衍習性與飛行方式轉變得到的[24],它屬于第3種新型仿生群智能算法。布谷鳥算法采用萊維飛行更新布谷鳥鳥巢位置,萊維飛行(Lévy flight)是具有截尾概率分布步長的隨機游走[25-27]。此外,布谷鳥算法要遵守3個準則:①一只布谷鳥一次僅分娩一只蛋,并且隨機挑選鳥巢孵化;②相對最優(yōu)的鳥巢能夠保留到下一代;③鳥巢總個數是固定的,鳥窩主人有概率pa發(fā)現外來鳥蛋。在上面3個準則下,布谷鳥算法使用Lévy飛行實現位置更新的公式為:
⊕L(λ)i=1,2,...n
(4)
(5)
布谷鳥算法雖然擁有較好的全局性能,可它的收斂速度和局部搜索能力卻還存在問題。在布谷鳥算法里,pa為十分關鍵的參量,優(yōu)異的pa能夠使算法的全局搜索能力與局部搜索能力得到平衡。因此從pa入手對傳統(tǒng)布谷鳥算法進行改進,具體為將原固定發(fā)現概率改進為兩階段動態(tài)發(fā)現概率。第一階段以全局為主、局部為輔,第二階段以局部為主、全局為輔。實現方法:在算法前Nmax/2(Nmax為最大迭代次數)里保證pa值逐步降低,使得布谷鳥可以搜尋新的鳥巢,pa選取負正弦自適應遞減策略;而在后Nmax/2里使布谷鳥在現鳥巢附近搜索更優(yōu)異的鳥巢,pa選取負余弦自適應遞減策略。具體公式為:
(6)
式中,pamax和pamin分別表示發(fā)現概率的最大值和最小值;Nmax和Ni分別表示迭代次數的最大值和當前迭代值。
在建立松茸發(fā)酵關鍵參量軟測量模型之前,必須對發(fā)酵機理進行分析[28],確定合適的輔助變量。在松茸發(fā)酵過程中,既對主導變量(菌絲生物量)有影響,又易于在線實時測量的有:空氣流量q、發(fā)酵罐壓力p、發(fā)酵罐溫度T、發(fā)酵液體積V、CO2釋放率CER、氨水流加速率η、葡萄糖流加速率l、溶解氧DO、電機攪拌速度r、發(fā)酵液酸堿度pH。
(7)
式中,k為采樣時刻,μij是兩個變量的相關系數,si是不易測變量數據組,sj是可測變量數據組,m為樣本大小。
(8)
式中,λij(k)是變化率相關系數,M為取樣個數,ζk是符號因子,rij是關聯度,β是數據變化率對關聯度的影響。
通過一致關聯度法,根據公式(7)、(8)得到環(huán)境變量數據和主導輸出變量之間的關聯度,具體的計算數值結果如表1所示。
表1 環(huán)境變量和主導變量的關聯度
關于輔助變量的選取數量,過多會導致模型復雜,增加模型學習訓練的時間;過少會導致模型學習能力差,預測結果不準確。本文選擇關聯度最高的前4個作為輔助變量,即電機攪拌轉速r、空氣流量q、溶解氧DO、發(fā)酵液酸堿度pH。因此該軟測量的主導變量與輔助變量之間的模型為:
φ(X)=f(pH,r,q,DO)
(9)
鑒于改進后,CS的全局搜索能力和局部搜索能力會更加突出,更易適合用來優(yōu)化BPNN的構架。我們將BPNN看作改進CS算法的適應度函數,那么即可利用算法自身全局尋優(yōu)能力強的優(yōu)勢去尋覓初始的權值與閾值組合,進而把獲得的最優(yōu)神經網絡結構運用到實際發(fā)酵過程。
改進的CS-BPNN軟測量模型的算法如下:
(3)根據公式(6)對pa進行更新,產生服從均勻分布的隨機數r∈(0,1),與pa進行對比,若r>pa,就將鳥巢位置隨機變化,若r (5)將獲得的最優(yōu)解向量進行反編碼操作,提取出BPNN的權值和閾值之后根據輸入輸出就可建立改進的CS-BP模型。 (6)計算均方誤差E,若E≤ε,則保存對應的權值。若不是,則計算出權值的改變量ΔW,具體過程如同傳統(tǒng)BPNN一樣。 (7)將ΔW代入公式(2)得到新的權值,對比先后兩次均方誤差E,按公式(3)調整學習速率μ。 按照工藝要求,本次取用100 L發(fā)酵罐,裝液量為70 L,將發(fā)酵罐進行高溫蒸汽滅菌,發(fā)酵過程溫度控制在25 ℃±1 ℃、通氣量為0.7 (V/V·min)、接種量為8%、發(fā)酵罐壓控制在0.3~0.5 MPa。攪拌電機帶動攪拌軸旋轉,攪拌轉速設為200 rpm。菌絲體經去離子水反復洗滌、離心多次,取沉淀物于60 ℃烘干直到恒重,采用分析天平就可獲取菌絲生物量。由于發(fā)酵過程中的初始生物量過小,我們一般不測量。在正常發(fā)酵條件下,每次采樣間隔3小時同時離線測量菌絲生物量。匯集現場數據進行數據預處理,一共采集15個發(fā)酵批次的數據,從上述批次中拿出3批(包含180個樣本)作為測試樣本,其余12批數據(包含720個樣本)作為訓練樣本。 圖1 菌絲生物量預測曲線 從預測結果擬合程度能夠發(fā)現,改進型CS-BPNN軟測量模型相比傳統(tǒng)BPNN軟測量建模,具有更強的預測能力。比較兩種軟測量模型的菌絲生物量誤差曲線如圖2所示。 圖2 菌絲生物量誤差曲線 根據圖中曲線,能夠輕易的發(fā)現,改進CS-BPNN模型的預測值與實驗值之間的誤差要比傳統(tǒng)BPNN小得多,擬合程度也高很多。 表2為松茸發(fā)酵過程中菌絲生物量用改進CS-BPNN和傳統(tǒng)BPNN軟測量模型預測輸出的誤差對比情況。由表能夠輕易發(fā)現,對于第一批測試樣本,改進CS-BPNN模型下樣本均方根誤差(RMSE)為0.247 7,明顯低于傳統(tǒng)BPNN均方誤差0.581 4。其他兩批測試樣本,傳統(tǒng)BPNN的均方誤差也明顯高于CS-BPNN,表明了改進CS-BPNN建模的預測性能更為優(yōu)越,穩(wěn)定性更強并且精度更高。由于采用離線軟測量建模,在實際應用中離線建模速度并是很重要,因此此處不做詳細說明。 表2 兩種模型誤差對比 針對松茸發(fā)酵過程的關鍵參量(菌絲生物量)難以在線測量的問題,提出了一種基于改進CS-BPNN的軟測量建模方法。分別采用兩階段動態(tài)發(fā)現概率法和引入附加動量與動態(tài)調整學習率來依次對CS和BPNN進行改進,仿真結果表明,和傳統(tǒng)BPNN相比,改進CS-BPNN能更好的平衡局部搜索和全局搜索的能力,并且預測精度提高6%以上。3 實驗與仿真
4 結束語