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