王婷婷,張學東
(塔里木大學信息工程學院,新疆 阿拉爾 843300)
棉花是中國重要的經(jīng)濟作物之一,在經(jīng)濟發(fā)展中占據(jù)重要地位。棉花回潮率是指棉花中所含水分的重量與干燥棉花纖維重量的百分比,水分所占比例越高,棉花回潮率就越高。回潮率是棉農(nóng)進行棉花貿(mào)易時的重要依據(jù),也是存儲時的一項重要的數(shù)據(jù)指標,然而現(xiàn)存設備存在檢測的數(shù)據(jù)不準確或者設備價格高昂等問題。因此,研究一套價格便宜且數(shù)值精確的回潮率檢測設備是我國現(xiàn)代棉花行業(yè)急需解決的問題。
我國棉花回潮率檢測方法分為直接法和間接法兩種類型。直接法根據(jù)回潮率的定義,用烘箱得到干燥的棉花纖維,根據(jù)重量進行計算得出回潮率數(shù)值;間接法又分為微波式、紅外式、CCD式、電容式和電阻式等。其中較為常見的是電阻式檢測方法,烏斯特公司的Intelligin產(chǎn)品利用電阻式檢測原理實現(xiàn)棉花回潮率的在線檢測,該系統(tǒng)在設計時,需要將溫度補償、外加電壓等誤差因素考慮進去,增加了系統(tǒng)的復雜性和成本。安少元等研究了YZ-1型智能在線檢測系統(tǒng),實現(xiàn)棉花在加工生產(chǎn)線上的回潮率的檢測,該系統(tǒng)不適用于棉花交易收儲時使用。李懷珍等基于微波相位法測定皮棉回潮率,有利于提高回潮率檢測時的效率,但是設備的成本較高。院志霞等通過微波法建立微波衰減和籽棉整體回潮的對應關(guān)系,為籽棉回潮率驗收提供了一種新的方法,同樣設備成本高。
本文提出一種基于BP神經(jīng)網(wǎng)絡的方法得出回潮率數(shù)據(jù),該方法需要先通過硬件檢測出籽棉樣本的溫度、濕度以及電阻值的數(shù)據(jù),建立BP神經(jīng)網(wǎng)絡預測模型,利用該模型對籽棉回潮率的數(shù)值進行預測。夏春江等提出了一種基于深度信念網(wǎng)絡的木材含水率預測模型,通過該模型得出的預測值與實際值之間的均方根誤差小,預測精度較高,通過該神經(jīng)網(wǎng)絡預測模型可知,將深度學習算法應用到回潮率預測方面是有效可行的。
神經(jīng)網(wǎng)絡是模擬人腦智能化處理過程的一種技術(shù),是處理非線性問題的較好方法,具有處理任意復雜的模式分類能力和優(yōu)良的多維函數(shù)映射能力。盡管存在樣本量需求較高等困難,但目前尚無研究表明樣本量與精確度之間存在對應關(guān)系。在樣本量較少的情況下,設置合適的參數(shù)也可以最大限度的突出其優(yōu)點,BP神經(jīng)網(wǎng)絡也是該方法較成熟的表現(xiàn)形式。因此本文選用BP神經(jīng)網(wǎng)絡對籽棉回潮率的數(shù)值進行預測,為南疆當?shù)氐拿揶r(nóng)提供一個準確率較高、成本低的回潮率檢測設備,從而促進棉花產(chǎn)業(yè)的健康發(fā)展。
BP(Back Propagation)神經(jīng)網(wǎng)絡是人工神經(jīng)網(wǎng)絡的分類中的多層前饋型神經(jīng)網(wǎng)絡。BP神經(jīng)網(wǎng)絡的主要特征為傳遞信號向前傳播,而誤差向后傳播。在前向傳遞中,輸入信號從輸入層經(jīng)隱含層逐層處理,直至輸出層。如果輸出層得不到想要的輸出,則進行逆向傳播,根據(jù)預測誤差調(diào)整網(wǎng)絡的權(quán)值和閥值,從而使BP神經(jīng)網(wǎng)絡預測輸出不斷的逼近期望輸出,BP神經(jīng)網(wǎng)絡的拓撲結(jié)構(gòu)如圖1所示。
圖1 三層BP神經(jīng)網(wǎng)絡拓撲
BP神經(jīng)網(wǎng)絡信息傳播過程和生物體的突觸結(jié)構(gòu)類似,樣本從輸入層輸入后,經(jīng)過每個隱含層計算后輸出,上一層中輸出的數(shù)值加權(quán)值后再求和,就作為下一層的輸入,每層都需要進行計算直到輸出為止。
設W
是兩層之間的兩個節(jié)點i
、j
之間的權(quán)值,b
是節(jié)點j
的閾值,每個節(jié)點都會有一個輸出值為x
,輸出值x
與上層每一個結(jié)點的輸出值,當前層與上一層之間的權(quán)值和閾值,以及激活函數(shù)有關(guān)。其計算公式如下(1)
X
=f
(S
)(2)
g
(z
)=max(0,z
)(3)
其中f
為激活函數(shù),常用的就是sigmoid函數(shù)、tanh激活函數(shù)、Relu以及帶泄露的Relu函數(shù),本文選用的是Relu激活函數(shù),計算公式如式(3)、函數(shù)圖像如圖2所示:圖2 Relu函數(shù)圖像
d
,y
為理想輸出,誤差函數(shù)式如(4)所示(4)
根據(jù)梯度下降法,對于隱含層和輸出層權(quán)值和閾值更新公式如式(5)、(6)所示
(5)
(6)
同樣,隱含層與輸入層也適用此公式,式中字母代表含義同上,η
為學習率。要想創(chuàng)建一個好的神經(jīng)網(wǎng)絡模型用于預測,網(wǎng)絡結(jié)構(gòu)設計非常重要。BP神經(jīng)網(wǎng)絡建立模型的思路是:確定輸入輸出端,選擇合適的網(wǎng)絡層數(shù)以及隱含層的神經(jīng)元個數(shù),選取初始權(quán)值,確定學習速率,利用合適的激活函數(shù)訓練模型,使誤差減小達到理想值。
本文采用南疆棉花測得的數(shù)值為樣本,構(gòu)建基于BP神經(jīng)網(wǎng)絡的棉花回潮率預測模型,如圖3所示。
圖3 基于BP神經(jīng)網(wǎng)絡的棉花回潮率預測模型圖
通過文獻調(diào)研的方式對棉花回潮率影響因素進行詳細的研究,倪玉婷等做了溫濕度對棉花回潮率測定的影響,實驗結(jié)果明確指出棉纖維與其水分含量與溫濕度之間具有相關(guān)關(guān)系,水分含量可間接用電阻值表示出來。何啟平做了棉花加工回潮率對棉纖維長度影響的實驗,該實驗分為兩個車間對比進行,實驗表明手采棉和機采棉的平均回潮率有一定的差距,同時回潮率的高低對棉纖維長度影響較大。所以本文選取了如表1所示的溫度、濕度、電阻值、長絨棉細絨棉、手采棉機采棉五項因素作為影響回潮率數(shù)據(jù)的變量。
表1 變量說明表
/
手采棉和長絨棉/
短絨棉這兩項參數(shù)直接可以用0/
1輸出,在本文中機采棉和長絨棉定義為1,手采棉和短絨棉定義為0。表2 部分實驗數(shù)據(jù)截取
數(shù)據(jù)歸一化處理有兩種方法,最大最小法和平均數(shù)方差法,本文采用最大最小法來處理數(shù)據(jù),公式如下
(7)
x
為處理之后的數(shù)據(jù),x
為原始數(shù)據(jù),x
為樣本最大值,x
為樣本最小值。樣本訓練時采用的是處理后的數(shù)據(jù),后期輸出的預測值也需要對其進行轉(zhuǎn)化。本文利用Tensorflow深度學習框架訓練網(wǎng)絡,它支持Python語言,并且內(nèi)置了全面的神經(jīng)網(wǎng)絡各種算法,具有很好的擴展性。Tensorflow中的Tensor的含義就是“張量”,用數(shù)組和矩陣來表示,訓練網(wǎng)絡的基本流程和結(jié)構(gòu)如圖4所示。
圖4 網(wǎng)絡訓練基本流程圖
構(gòu)造的神經(jīng)網(wǎng)絡模型可以通過Tensorflow中自帶的可視化工具Tensorboard查看,構(gòu)造好的BP神經(jīng)網(wǎng)絡模型如圖5所示:
該模型輸入層包含 5個節(jié)點,分別對應5個影響因素,隱藏層 3 個節(jié)點,輸出層一個節(jié)點,對應預測值籽棉回潮率數(shù)值??紤]到輸入特征與結(jié)果存在較為明顯的規(guī)律,故使用網(wǎng)絡層數(shù)較少。這樣在保證準確率的前提下,有效減少訓練以及預測的耗時,同時防止出現(xiàn)過擬合現(xiàn)象。
表3 參數(shù)設置表
圖5 BP神經(jīng)網(wǎng)絡模型圖
利用得到的訓練模型在測試集中使用,其均方誤差均MSE符合要求。如圖6均方根誤差圖所示,模型未出現(xiàn)過擬合現(xiàn)象,且訓練、測試中MSE都很小,能達到精度的要求,梯度也是穩(wěn)步下降的,可用于實際生成環(huán)境中。
圖6 均方誤差圖
BP神經(jīng)網(wǎng)絡中的參數(shù)設置,都會對預測結(jié)果產(chǎn)生一定的影響。目前對于模型訓練時參數(shù)設置并沒有統(tǒng)一的理論指導,通常情況下時根據(jù)經(jīng)驗或者進行多次網(wǎng)絡訓練得到最優(yōu)結(jié)果。本文從隱含層和隱含層節(jié)點數(shù)的選擇來優(yōu)化模型,最終確定最優(yōu)模型。
一般來說數(shù)據(jù)量越多,選擇的模型越復雜,數(shù)據(jù)量越少模型越簡單。本文分別對三層神經(jīng)網(wǎng)絡和四層神經(jīng)網(wǎng)絡進行訓練,結(jié)果如圖7、8所示。
圖7 三層神經(jīng)網(wǎng)絡誤差
圖8 四層神經(jīng)網(wǎng)絡誤差
通過圖6、圖7對比,可以明顯看出三層神經(jīng)網(wǎng)絡效果更好一些,誤差在逐步減小,四層神經(jīng)網(wǎng)絡隨著迭代次數(shù)增加,并未出現(xiàn)明顯下降趨勢。無論是從理論知識還是從訓練結(jié)果來看,三層結(jié)構(gòu)更適合回潮率的預測模型,故本文選用三層結(jié)構(gòu)。
應用Tensorflow框架搭建了預測回潮率數(shù)據(jù)的BP神經(jīng)網(wǎng)絡模型,并且對該模型進行了訓練和優(yōu)化,結(jié)果表明:
1)BP神經(jīng)網(wǎng)絡模型能夠處理好溫濕度、電阻值、機采棉/手工棉、長絨棉/短絨棉這5個參數(shù)與回潮率之間的非線性關(guān)系,對BP神經(jīng)網(wǎng)絡模型進行訓練學習之后,能夠用來對籽棉回潮率數(shù)據(jù)進行預測。
2)基于深度學習Tensorflow框架的神經(jīng)網(wǎng)絡建模較簡單,網(wǎng)絡參數(shù)和結(jié)構(gòu)修改較靈活,預測結(jié)果精度較高,具有一定的推廣意義。