廖俊杰 胡光忠 夏 秋 朱文昌 賓秋月
(四川輕化工大學(xué)機(jī)械工程學(xué)院,四川 宜賓 644000)
大曲是中國(guó)傳統(tǒng)白酒釀造中特有的關(guān)鍵糖化發(fā)酵劑,主要包括菌系、酶系和物系,其中菌系和酶系是乙醇生成和復(fù)雜風(fēng)味化合物產(chǎn)生的必要條件,物系為釀酒提供部分發(fā)酵原料和風(fēng)味形成的前體物質(zhì)[1-2]。大曲質(zhì)量的好壞直接決定著白酒的產(chǎn)率和品質(zhì),因而素有“曲為酒之骨”之說(shuō)[3]。目前,大部分大曲生產(chǎn)車間仍依靠人工監(jiān)測(cè)大曲發(fā)酵,人工判斷大曲的發(fā)酵狀態(tài)與質(zhì)量,但人工測(cè)量容易帶入雜菌影響曲塊發(fā)酵。大曲的濕度是大曲發(fā)酵的重要指標(biāo),也是大曲微生物發(fā)酵的關(guān)鍵條件之一,因此將大曲濕度作為大曲發(fā)酵狀態(tài)的監(jiān)測(cè)指標(biāo)具有一定的可行性。
劉國(guó)海等[4]提出了利用dbiPLS-SPA建立固體蛋白飼料發(fā)酵濕度模型,檢測(cè)發(fā)酵物濕度,但此方法不適于實(shí)時(shí)監(jiān)測(cè)發(fā)酵。劉慧等[5]探究了稻谷在不同貯藏溫、濕度中的霉菌生長(zhǎng)規(guī)律,并采用Logistic方程擬合了稻谷霉菌在不同貯藏條件下的生長(zhǎng)動(dòng)力學(xué)模型。但此方法采集樣本比較困難,不適用于實(shí)時(shí)檢測(cè)。李清亮等[6]提出了融合遷移學(xué)習(xí)的土壤濕度預(yù)測(cè)時(shí)空模型,通過三維卷積層提取土壤濕度滯后時(shí)刻的空間特征對(duì)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。但訓(xùn)練過程復(fù)雜,且采集樣本數(shù)量不夠,極易影響模型結(jié)果。徐佳樂等[7]提出了雙神經(jīng)網(wǎng)絡(luò)控制算法與內(nèi)循環(huán)管道結(jié)構(gòu),僅解決了曲房?jī)?nèi)溫濕度的檢測(cè)與控制,使得曲房?jī)?nèi)溫度更均勻,但并未對(duì)大曲發(fā)酵狀態(tài)進(jìn)行研究,并不能反映大曲發(fā)酵情況。
研究擬建立一種實(shí)時(shí)預(yù)測(cè)診斷大曲發(fā)酵系統(tǒng),采用Tent改進(jìn)麻雀搜索算法(SSA)優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,實(shí)時(shí)預(yù)測(cè)大曲發(fā)酵濕度。通過預(yù)測(cè)值與濕度傳感器測(cè)量值比較,判斷大曲當(dāng)前發(fā)酵狀態(tài)。并采用濕度動(dòng)態(tài)閾值法,通過調(diào)控曲房溫濕度,改變大曲發(fā)酵濕度至正常狀態(tài),為保障大曲質(zhì)量研究提供依據(jù)。
系統(tǒng)通過傳感器采集大曲發(fā)酵過程中的相關(guān)參數(shù),傳輸至上位機(jī)數(shù)據(jù)庫(kù),大曲發(fā)酵濕度預(yù)測(cè)模型輸出實(shí)時(shí)濕度預(yù)測(cè)值,系統(tǒng)比較預(yù)測(cè)值與真實(shí)值誤差進(jìn)行大曲發(fā)酵診斷,并將診斷結(jié)果反饋給工作人員。根據(jù)白酒行業(yè)標(biāo)準(zhǔn),若差值超過正常發(fā)酵濕度的10%,則大曲發(fā)酵異常,系統(tǒng)通過動(dòng)態(tài)閾值法調(diào)用執(zhí)行設(shè)備調(diào)控曲房環(huán)境溫濕度。大曲發(fā)酵實(shí)時(shí)監(jiān)控結(jié)構(gòu)如圖1所示。
圖1 大曲發(fā)酵實(shí)時(shí)預(yù)測(cè)診斷結(jié)構(gòu)圖
采用混沌算法(Tent)改進(jìn)的麻雀搜索算法作優(yōu)化算法,并利用Matlab以3種機(jī)器學(xué)習(xí)常用算法(BP/SVM/RF)建立預(yù)測(cè)仿真模型。通過設(shè)置模型最佳參數(shù),比較3種仿真預(yù)測(cè)模型的收斂情況、誤差大小、決定系數(shù)等,選擇其中最適仿真預(yù)測(cè)模型,并采用改進(jìn)SSA算法優(yōu)化其預(yù)測(cè)模型,降低預(yù)測(cè)模型預(yù)測(cè)誤差至設(shè)定閾值范圍內(nèi)。預(yù)測(cè)模型建立流程圖如圖2所示。
圖2 仿真預(yù)測(cè)模型建立流程圖
1.2.1 預(yù)測(cè)模型建立 建立3種預(yù)測(cè)仿真模型(BP/SVM/RF),模型輸入設(shè)定為發(fā)酵時(shí)長(zhǎng)(△t)、起始溫度(Tf)、起始濕度(Hf)、實(shí)時(shí)溫度(Tt);模型輸出設(shè)定為大曲實(shí)時(shí)濕度。利用采集所得的1 200組樣本進(jìn)行訓(xùn)練,其中隨機(jī)將900組設(shè)定為訓(xùn)練集,其余300組為測(cè)試集,3種預(yù)測(cè)模型分別以最佳參數(shù)進(jìn)行訓(xùn)練。
(1) 輸入:
(2) 輸出:
① BP神經(jīng)網(wǎng)絡(luò)仿真預(yù)測(cè)模型:
(1)
式中:
Sj——第j個(gè)神經(jīng)元輸入值;
W——權(quán)值;
b——偏置。
經(jīng)樣本不斷訓(xùn)練確定參數(shù)。
② SVM仿真預(yù)測(cè)模型:
y=f(X)=Wφ(x)+b,
(2)
式中:
W——權(quán)值向量;
b——偏置。
利用最小化確定參數(shù)。
③ RF仿真預(yù)測(cè)模型:
(3)
式中:
b——樣本個(gè)數(shù)。
1.2.2 Tent改進(jìn)麻雀搜索優(yōu)化算法 麻雀搜索算法[8](SSA)是一種近年提出的新型群體優(yōu)化算法,具有搜索精度高,收斂速度快,穩(wěn)定性好,魯棒性強(qiáng)等特點(diǎn)。但SSA仍然存在搜索接近全局最優(yōu)時(shí),容易陷入局部最優(yōu)。文中利用Tent映射初始化種群,引入基于隨機(jī)變量的混沌映射[9],使種群分布更加均勻,加快了種群優(yōu)化效率。根據(jù)改進(jìn)SSA算法對(duì)基礎(chǔ)預(yù)測(cè)模型進(jìn)行進(jìn)一步優(yōu)化,根據(jù)試驗(yàn)法選擇最佳模型參數(shù),降低預(yù)測(cè)誤差,仿真預(yù)測(cè)模型輸出大曲濕度與真實(shí)發(fā)酵的大曲實(shí)時(shí)濕度基本一致。
(1) 麻雀搜索算法(SSA):SSA主要模擬麻雀[10]的覓食與反捕食行為,其發(fā)現(xiàn)者位置公式:
(4)
式中:
t——迭代次數(shù);
Xi,j——第i個(gè)麻雀種群在j維度中的位置;
α∈(0,1);
Iitermax——最大迭代次數(shù);
Q——服從正態(tài)分布隨機(jī)數(shù);
L——1×d且元素均為1的矩陣;
R2∈(0,1)——麻雀預(yù)警值;
ST∈(0.5,1)——麻雀種群安全值。
跟隨者更新位置公式[11]:
(5)
式中:
A——元素為1或-1的d維矩陣,A+=A+(AAT)-1。
種群位置更新公式:
(6)
式中:
Xbest——全局最優(yōu)位置;
β∈(-1,1);
fi——麻雀?jìng)€(gè)體適應(yīng)值;
fg——全局最佳適應(yīng)值;
fw——全局最差適應(yīng)值。
(2) Tent改進(jìn)SSA算法:利用Tent混沌算法改進(jìn)SSA,避免陷入局部最優(yōu),提高全局搜索能力和尋優(yōu)精度[12]。
步驟一:將Tent變量載波到待求解問題的求解空間。
newXd=mind+(maxd-mind)Zd,
(7)
式中:
mind、maxd——d維變量newXd的最大值與最小值。
步驟二:Tent擾動(dòng)公式
newX′=(X′+newX)/2,
(8)
式中:
X′——需要Tent擾動(dòng)的個(gè)體;
newX——產(chǎn)生的Tent擾動(dòng)量;
newX′——Tent擾動(dòng)后的個(gè)體。
采用四川宜賓某酒廠發(fā)酵大曲作為采集對(duì)象,大曲重量約為4.96 kg,大曲組成為大麥粉約60%,豌豆粉40%,制曲時(shí)加水量為48%~50%,成曲水分37%~41%,呈中心凸起的長(zhǎng)方體,大曲305 mm×180 mm×85 mm,凸起110 mm材料均勻。
通過傳感器在曲房中采集的溫濕度建立樣本。大曲發(fā)酵是大曲上的酵母菌、霉菌、細(xì)菌等微生物在淀粉、水、氧氣、適宜溫度等情況下大量增殖產(chǎn)生生物熱。大曲上的水分不斷被微生物吸收、產(chǎn)生,大曲內(nèi)濕度在發(fā)酵過程中維持一個(gè)穩(wěn)態(tài),因此利用初始溫度、初始濕度、發(fā)酵時(shí)長(zhǎng)、實(shí)時(shí)溫度作為模型輸入,以實(shí)時(shí)濕度作為輸出建立樣本。將所記錄樣本進(jìn)行擬合與插值可視化處理,樣本數(shù)據(jù)見表1。
表1 樣本數(shù)據(jù)
利用Matlab分別將BP神經(jīng)網(wǎng)絡(luò)算法、支持向量機(jī)(SVM)、隨機(jī)森林(RF)建立仿真預(yù)測(cè)模型,設(shè)定900組訓(xùn)練樣本,300組測(cè)試樣本進(jìn)行模型訓(xùn)練。訓(xùn)練樣本集測(cè)試結(jié)果的誤差平方、平均絕對(duì)誤差MAE、均方誤差MSE、均方根誤差RMSE、平均百分比誤差MAPE、相關(guān)系數(shù)及響應(yīng)時(shí)間見表2。
表2 模型評(píng)估
將模型響應(yīng)時(shí)間、相關(guān)系數(shù)、均方根誤差RMSE作為判定模型的評(píng)判標(biāo)準(zhǔn);仿真預(yù)測(cè)模型測(cè)試如圖3所示。
圖3 預(yù)測(cè)模型測(cè)試圖
根據(jù)3種模型仿真測(cè)試結(jié)果與相關(guān)系數(shù)、RMSE和相應(yīng)時(shí)間,研究擬采用BP預(yù)測(cè)模型,但BP神經(jīng)網(wǎng)絡(luò)算法存在極小化、收斂速度慢等問題。因此,采用改進(jìn)SSA優(yōu)化BP算法解決以上問題并減小預(yù)測(cè)誤差,并采用試驗(yàn)法確定模型結(jié)構(gòu)。
根據(jù)改進(jìn)SSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)仿真預(yù)測(cè)模型,確定隱藏層層數(shù)與隱藏層節(jié)點(diǎn)數(shù)。預(yù)測(cè)模型隱含層設(shè)定為1層。BP神經(jīng)網(wǎng)絡(luò)算法確定隱含層節(jié)點(diǎn)一般依賴經(jīng)驗(yàn)公式[13]:
(9)
式中:
L——隱含層節(jié)點(diǎn)數(shù);
m——輸入層節(jié)點(diǎn)數(shù);
n——輸出層節(jié)點(diǎn)數(shù);
a——調(diào)節(jié)常數(shù)(1~10)。
由表3可知,當(dāng)隱含層節(jié)點(diǎn)數(shù)為9時(shí),均方差誤差最低,因此最佳模型結(jié)構(gòu)確定為4-9-1。預(yù)測(cè)模型正反向傳播調(diào)整權(quán)值,將輸出值逼近期望值,其模型結(jié)構(gòu)圖如圖4 所示。
在正向傳播中,輸出值:
(10)
在反向傳播中,樣本誤差:
(11)
全局誤差:
(12)
權(quán)值調(diào)整:
(13)
式中:
μ——學(xué)習(xí)率;
表3 隱含層不同節(jié)點(diǎn)誤差
圖4 預(yù)測(cè)模型結(jié)構(gòu)圖
由圖5~圖7可知,改進(jìn)SSA優(yōu)化仿真預(yù)測(cè)模型在迭代5次時(shí)即獲得最小值,均方誤差低于0.625,預(yù)測(cè)模型穩(wěn)定且可靠性強(qiáng)。改進(jìn)SSA優(yōu)化預(yù)測(cè)模型總體均方誤差(MSE)從優(yōu)化前的2.511 30降低至0.950 17,模型更穩(wěn)定。
圖5 改進(jìn)SSA優(yōu)化BP模型收斂曲線圖
圖6 模型預(yù)測(cè)偏差圖
圖7 誤差對(duì)比圖
大曲發(fā)酵濕度預(yù)測(cè)診斷調(diào)控系統(tǒng)采用Tent-SSA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型進(jìn)行大曲發(fā)酵濕度實(shí)時(shí)預(yù)測(cè),實(shí)現(xiàn)了通過預(yù)測(cè)值與誤差值的比較診斷判斷大曲發(fā)酵狀態(tài),同時(shí)可利用動(dòng)態(tài)閾值法調(diào)用設(shè)備調(diào)控曲房環(huán)境溫濕度。系統(tǒng)具有精準(zhǔn)預(yù)測(cè)診斷大曲發(fā)酵的能力,均值百分比誤差約0.596%,且運(yùn)行穩(wěn)定,滿足大曲發(fā)酵監(jiān)控需求。但模型訓(xùn)練主要采用一個(gè)曲房?jī)?nèi)的大曲,未考慮普遍采樣,且采樣時(shí)間太短,因此預(yù)測(cè)模型只適用于大曲階段性的濕度預(yù)測(cè),后續(xù)應(yīng)通過不同曲房采樣,同時(shí)將采樣時(shí)間延長(zhǎng)至整個(gè)大曲發(fā)酵周期,使預(yù)測(cè)模型更穩(wěn)定,且具有普遍適用性。