徐路路,張德賢,張?chǎng)?,張?/p>
(河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,河南 鄭州 450001)
糧食儲(chǔ)備是國(guó)家調(diào)控糧食供求關(guān)系、穩(wěn)定糧食市場(chǎng)的基本要求,也是保證國(guó)民經(jīng)濟(jì)長(zhǎng)期穩(wěn)定發(fā)展的重要條件[1]。隨著現(xiàn)代化技術(shù)的提升以及當(dāng)前社會(huì)對(duì)智能化管理的需求,糧食儲(chǔ)糧數(shù)量的計(jì)量也急需引入現(xiàn)代化管理,從而解決傳統(tǒng)稱重計(jì)量法耗時(shí)耗力的問(wèn)題。近年來(lái),基于三維激光掃描[2-8]、電磁波探測(cè)[9]、雙目立體視覺[10]等儲(chǔ)糧數(shù)量計(jì)量方法被相繼提出,且在試驗(yàn)條件下都取得了很好的計(jì)量結(jié)果,但由于這些方法在實(shí)際應(yīng)用中的局限性,基于壓力傳感器的儲(chǔ)糧數(shù)量計(jì)量方法正逐步受到關(guān)注[11-15]。因此,為能夠準(zhǔn)確、智能的檢測(cè)出糧倉(cāng)的儲(chǔ)糧數(shù)量,本文引入深度置信網(wǎng)絡(luò)方法,結(jié)合壓力傳感器儲(chǔ)糧數(shù)量計(jì)量原理,提出一種基于深度置信網(wǎng)絡(luò)的糧倉(cāng)儲(chǔ)糧數(shù)量檢測(cè)方法,并通過(guò)試驗(yàn)倉(cāng)及實(shí)倉(cāng)的檢測(cè)證明了模型的有效性、可行性。與傳統(tǒng)儲(chǔ)糧數(shù)量檢測(cè)方法相比,本文提出的基于深度置信網(wǎng)絡(luò)的檢測(cè)方法,不僅依靠無(wú)監(jiān)督的深度受限玻爾茲曼機(jī)模型對(duì)數(shù)據(jù)集進(jìn)行特征學(xué)習(xí),增加了模型的智能性,強(qiáng)化了模型的學(xué)習(xí)能力,而且利用重構(gòu)后的數(shù)據(jù)集作為BP神經(jīng)網(wǎng)絡(luò)擬合回歸的輸入項(xiàng)完成儲(chǔ)糧數(shù)量的計(jì)量,再結(jié)合拉依達(dá)準(zhǔn)則提出了針對(duì)性的數(shù)據(jù)預(yù)處理方法,從而提升模型的整體檢測(cè)精度。
由文獻(xiàn)[11]可知,在糧倉(cāng)頂部糧面攤平的條件下,糧堆數(shù)量與糧倉(cāng)壓強(qiáng)分布的關(guān)系式如下:
(1)
式(1)中,W是儲(chǔ)糧數(shù)量,N;SB、SF分別是糧堆的底面與側(cè)面形狀;QB(s)、QF(s)分別表示糧倉(cāng)底面與側(cè)面s點(diǎn)處所受壓強(qiáng),kPa;fF(s)是糧堆與糧倉(cāng)側(cè)壁之間的摩擦系數(shù)。
對(duì)規(guī)則平房型糧倉(cāng),由積分中值定理可推出下式關(guān)系:
W1=AB(QB1(s)+CBfFHQF1(s)/AB),
(2)
式(2)中,W1是估計(jì)的糧堆數(shù)量,N;AB是糧倉(cāng)的底部面積,m2;CB是糧倉(cāng)的底部周長(zhǎng),m;H是糧倉(cāng)內(nèi)糧食高度,m;QB1(s)、QF1(s)分別是糧倉(cāng)內(nèi)糧堆底部及側(cè)面壓強(qiáng)的均值,kPa。
由式(2)可知,若糧倉(cāng)類型及糧倉(cāng)內(nèi)儲(chǔ)存糧食品種已知,則參數(shù)AB、CB及fF為常數(shù)。定義
QBNF=W/AB,
(3)
代表側(cè)壁摩擦為0時(shí)的糧倉(cāng)底部壓強(qiáng),結(jié)合式(2)可得
QBNF1=QB1(s)+CBfFHQF1(s)/AB,
(4)
將式(4)代入式(2)可得
W1=ABQBNF1。
(5)
式(5)為糧倉(cāng)儲(chǔ)糧數(shù)量檢測(cè)模型的基本原理,因此,若能得出高精度的壓強(qiáng),就可計(jì)算出糧倉(cāng)內(nèi)的儲(chǔ)糧數(shù)量。
1.2.1 傳感器布置與數(shù)據(jù)采集
在保證低成本的前提下,為獲得有效的糧堆底部壓強(qiáng)估計(jì),采用文獻(xiàn)[11]中的壓力傳感器布置模型方式獲取糧堆底部的壓強(qiáng)值,具體傳感器布置模型如圖1所示,其中,D、d分別是內(nèi)、外圈壓力傳感器與糧倉(cāng)側(cè)壁之間的距離。
圖1 壓力傳感器布置模型
經(jīng)分析,在不影響進(jìn)、出糧且能夠滿足多倉(cāng)型應(yīng)用的前提下,d取值范圍確定為0.5~1 m,D的取值范圍為2~3 m。試驗(yàn)使用量程為0~500 kPa的糧倉(cāng)專用電容式壓力傳感器,其工作溫度為-20~+50 ℃,測(cè)量誤差小于0.5%,符合我國(guó)大部分地區(qū)的使用條件。試驗(yàn)場(chǎng)地為北京小湯山長(zhǎng)9 m、寬4.2 m的平房型試驗(yàn)糧倉(cāng),試驗(yàn)所用糧食分別為稻谷、小麥。
試驗(yàn)前記錄各壓力傳感器的初始值,作業(yè)時(shí)采用分次進(jìn)糧的方式,且在每次達(dá)到實(shí)驗(yàn)設(shè)計(jì)進(jìn)糧數(shù)量時(shí)停止進(jìn)糧,并進(jìn)行人工平糧,待糧面穩(wěn)定后記錄此時(shí)各壓力傳感器的數(shù)值以及糧倉(cāng)內(nèi)的糧食質(zhì)量(平房倉(cāng)自帶稱量設(shè)備),以此做標(biāo)簽數(shù)據(jù)和模型的原始輸入數(shù)據(jù)。為消除糧食波動(dòng)性對(duì)糧倉(cāng)底部壓強(qiáng)的影響,對(duì)原始輸入數(shù)據(jù)進(jìn)行初步處理,以相對(duì)應(yīng)的內(nèi)、外圈傳感器數(shù)值的均值作為檢測(cè)模型的輸入值。
1.2.2 數(shù)據(jù)預(yù)處理方法
在實(shí)際測(cè)量中,由于壓力傳感器的固有特性,其數(shù)值獲取的穩(wěn)定性稍低,通常采用多次測(cè)量求平均值的方法降低因不能精確測(cè)量壓力而帶來(lái)的誤差,但此方法易受奇異值和偶然值的影響,產(chǎn)生高偏差低方差的現(xiàn)象,從而影響后續(xù)檢測(cè)的精度。為盡可能避免這種現(xiàn)象出現(xiàn),結(jié)合拉依達(dá)準(zhǔn)則提出一種對(duì)壓力傳感器原始輸入數(shù)據(jù)進(jìn)行處理的預(yù)處理方法。
通常,異常值是指一組測(cè)定值中與平均值的偏差超過(guò)標(biāo)準(zhǔn)差(SD)二倍的測(cè)量值[16],其中
(6)
式(6)中,n表示采集數(shù)據(jù)時(shí)連續(xù)記錄數(shù)據(jù)的次數(shù),XP表示連續(xù)記錄n次數(shù)據(jù)的平均值,XS表示某壓力傳感器某次的采集值。
異常值剔除規(guī)則為:若
XS-XP>2SD,
(7)
則剔除XS,反之,則保留XS。將保留后的XS求平均值,記為Xij,表示編號(hào)為i的壓力傳感器第j次的數(shù)據(jù)值,則本試驗(yàn)中{X1j,X2j,…,X8j}即為第j次傳感器處理后的輸出均值序列,也是后續(xù)檢測(cè)方法的輸入序列。因儲(chǔ)糧檢測(cè)試驗(yàn)規(guī)模大、操作復(fù)雜、費(fèi)用高,故試驗(yàn)共進(jìn)行9次,其中,稻谷試驗(yàn)5次,小麥試驗(yàn)4次,共完成405次數(shù)據(jù)采集(包含過(guò)夜數(shù)據(jù)),即j≤405,且每次數(shù)據(jù)連續(xù)記錄5次(即n=5),其中,以稻谷前4次試驗(yàn)及小麥前3次試驗(yàn)數(shù)據(jù)以及過(guò)夜數(shù)據(jù)作為建模樣本,以稻谷第5次試驗(yàn)及小麥第4次試驗(yàn)數(shù)據(jù)作為測(cè)試樣本。將試驗(yàn)所得數(shù)據(jù)按照數(shù)據(jù)預(yù)處理方法進(jìn)行處理,處理后數(shù)據(jù)集記為{X1j,X2j,…,X8j},j={1,2,…,405},為檢測(cè)方法輸入向量。
為了解方法的檢測(cè)能力,將均方根誤差(root mean squared error,RMSE)作為檢測(cè)方法的評(píng)價(jià)指標(biāo)。若檢測(cè)方法的檢測(cè)值與真實(shí)值之間存在較大的差異,則RMSE計(jì)算結(jié)果能夠很好呈現(xiàn)出來(lái),所以RMSE能夠更好的從擬合精確度角度反映檢測(cè)方法的檢測(cè)能力。RMSE計(jì)算公式為
(8)
式(8)中,yt為實(shí)際值,yp為檢測(cè)值,N為樣本數(shù)量。
1.2.3 檢測(cè)方法構(gòu)建及檢測(cè)流程
深度置信網(wǎng)絡(luò)由數(shù)據(jù)特征提取的深度受限玻爾茲曼機(jī)與用來(lái)分類或預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)二部分組成,其常見的包含三個(gè)受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)的深度置信網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 深度置信網(wǎng)絡(luò)結(jié)構(gòu)
RBM是一種無(wú)監(jiān)督、重構(gòu)原始數(shù)據(jù)的一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),其先把輸入轉(zhuǎn)為可表示它們的一系列輸出,這些輸出可以反向重構(gòu)這些輸入,因此,RBM能夠自動(dòng)地從輸入數(shù)據(jù)中提取重要的特征,RBM模型表達(dá)式與模型結(jié)構(gòu)分別如式(9)及圖3所示。
圖3 受限玻爾茲曼機(jī)結(jié)構(gòu)
(9)
式(9)中,θ=(wij,ai,bj)表示RBM模型的參數(shù),wij表示節(jié)點(diǎn)vi與節(jié)點(diǎn)hj之間的權(quán)值,ai、bj分別表示節(jié)點(diǎn)vi、hj的偏置閾值,nv、nh分別表示顯層、隱層節(jié)點(diǎn)個(gè)數(shù)。
定義聯(lián)合概率分布為
(10)
其中
(11)
為關(guān)于θ的歸一化因子。
顯層v對(duì)于隱層h的條件概率為
(12)
同理,隱層h對(duì)顯層v的條件概率為
(13)
則由式(12)、(13)可得邊緣分布,當(dāng)顯層節(jié)點(diǎn)狀態(tài)給定時(shí),隱層邊緣分布為
(14)
同理,當(dāng)給定隱層節(jié)點(diǎn)狀態(tài)時(shí),可得顯層邊緣分布為
(15)
深度置信網(wǎng)絡(luò)的實(shí)現(xiàn)過(guò)程參照文獻(xiàn)[17-18]。針對(duì)數(shù)據(jù)特征提取的深度受限玻爾茲曼機(jī)部分,首先確定深度受限玻爾茲曼機(jī)中受限玻爾茲曼機(jī)的個(gè)數(shù),通過(guò)僅改變研究因素的方法確定此部分的結(jié)構(gòu),分別嘗試2至5個(gè)不同受限玻爾茲曼機(jī)堆疊而成的深度受限玻爾茲曼機(jī)結(jié)構(gòu),并分別記錄不同結(jié)構(gòu)對(duì)應(yīng)的平均重構(gòu)誤差(average reconstruction error,ARE),具體結(jié)果如表1所示。
表1 不同RBM個(gè)數(shù)對(duì)應(yīng)的ARE
由表1可知,3個(gè)RBM組成的深度受限玻爾茲曼機(jī)結(jié)構(gòu)平均重構(gòu)誤差最小。因此,選擇3個(gè)受限玻爾茲曼機(jī)組成的深度結(jié)構(gòu)作為數(shù)據(jù)特征的提取部分。各RBM隱藏層節(jié)點(diǎn)數(shù)的選擇范圍確定為0.5倍可見層節(jié)點(diǎn)數(shù)至1.5倍可見層節(jié)點(diǎn)數(shù)之間[19],即4~12之間,分別對(duì)各RBM進(jìn)行不同節(jié)點(diǎn)數(shù)的重構(gòu)訓(xùn)練,結(jié)果如表2所示。
表2 RBM隱藏層不同節(jié)點(diǎn)數(shù)對(duì)應(yīng)的ARE
由表2可知,RBM1中ARE最小值對(duì)應(yīng)的隱藏層節(jié)點(diǎn)個(gè)數(shù)為9,由此將RBM1隱藏層節(jié)點(diǎn)數(shù)確定為9,同理,RBM2、RBM3隱藏層節(jié)點(diǎn)數(shù)分別確定為11、10。
其次,確定BP神經(jīng)網(wǎng)絡(luò)部分的模型預(yù)測(cè)結(jié)果以經(jīng)過(guò)數(shù)據(jù)預(yù)處理后的輸入序列與相對(duì)應(yīng)的糧堆重量組成有標(biāo)簽的訓(xùn)練集,并以稻谷前4次試驗(yàn)、小麥前3次試驗(yàn)數(shù)據(jù)及過(guò)夜數(shù)據(jù)作為訓(xùn)練集,以稻谷第5次試驗(yàn)、小麥第4次試驗(yàn)數(shù)據(jù)作為測(cè)試集,通過(guò)僅改變研究因素的方法確定BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層神經(jīng)元個(gè)數(shù)為8(即傳感器節(jié)點(diǎn)的個(gè)數(shù)),輸出層神經(jīng)元個(gè)數(shù)為1(即糧倉(cāng)內(nèi)糧堆質(zhì)量),隱藏層神經(jīng)元個(gè)數(shù)t由式(16)確定:
(16)
其中,d為輸入層神經(jīng)元個(gè)數(shù),p為輸出層神經(jīng)元個(gè)數(shù),α為1~10的常數(shù)。
由式(16)確定本試驗(yàn)中隱藏層神經(jīng)元的個(gè)數(shù)取值范圍為4~13。對(duì)不同隱藏層節(jié)點(diǎn)數(shù)分別進(jìn)行建模預(yù)測(cè),結(jié)果如表3所示。由表3可知,當(dāng)隱藏層節(jié)點(diǎn)數(shù)選擇11時(shí),預(yù)測(cè)模型RMSE結(jié)果最小。由此將BP神經(jīng)網(wǎng)絡(luò)隱藏層節(jié)點(diǎn)數(shù)確定為11個(gè),隱藏層神經(jīng)元激活函數(shù)選擇Sigmoid函數(shù)。
表3 BP模型隱藏層不同節(jié)點(diǎn)數(shù)預(yù)測(cè)結(jié)果
最后,確定深度置信網(wǎng)絡(luò)模型學(xué)習(xí)率及迭代次數(shù)參數(shù)。學(xué)習(xí)率通常在小于1的范圍內(nèi)選擇,本文分別對(duì)0.1、0.25、0.5、0.75、1五種學(xué)習(xí)速率進(jìn)行試驗(yàn)對(duì)比,對(duì)比結(jié)果如表4所示。由表4可知,當(dāng)學(xué)習(xí)率取0.1時(shí),檢測(cè)模型的RMSE最小,由此將模型的學(xué)習(xí)率參數(shù)設(shè)置為0.1。
表4 不同學(xué)習(xí)率對(duì)應(yīng)的RMSE
對(duì)迭代次數(shù)參數(shù)進(jìn)行試驗(yàn)對(duì)比,分別選擇50、100、150、200、300六種迭代次數(shù),對(duì)模型進(jìn)行檢測(cè),結(jié)果如表5所示。由表5結(jié)果可知,當(dāng)?shù)螖?shù)為100時(shí),檢測(cè)模型的RMSE最小,因此,模型的迭代次數(shù)設(shè)置為100。
表5 不同迭代次數(shù)對(duì)應(yīng)的RMSE
基于深度置信網(wǎng)絡(luò)的糧倉(cāng)儲(chǔ)糧數(shù)量檢測(cè)方法具體檢測(cè)流程如圖4所示。
圖4 檢測(cè)流程圖
通過(guò)構(gòu)建的深度置信網(wǎng)絡(luò)檢測(cè)模型對(duì)試驗(yàn)倉(cāng)稻谷第5次試驗(yàn)、小麥第4次試驗(yàn)數(shù)據(jù)集進(jìn)行檢測(cè),結(jié)果(表6、7)顯示:當(dāng)儲(chǔ)糧品種分別為稻谷、小麥時(shí),基于深度置信網(wǎng)絡(luò)的檢測(cè)方法檢測(cè)最大誤差僅為1.70%,最小誤差為0.26%,平均檢測(cè)誤差約為1.00%??梢?針對(duì)不同的儲(chǔ)糧品種,本文提出的檢測(cè)方法均符合儲(chǔ)糧數(shù)量的檢測(cè)要求。
表6 稻谷檢測(cè)結(jié)果
表7 小麥檢測(cè)結(jié)果
選擇通州糧庫(kù)1號(hào)倉(cāng)與齊河糧庫(kù)31號(hào)倉(cāng)進(jìn)行檢測(cè)方法的實(shí)倉(cāng)驗(yàn)證,驗(yàn)證上述方法的實(shí)用性,其中,通州糧庫(kù)1號(hào)倉(cāng)儲(chǔ)存有7 500 t稻谷,齊河糧庫(kù)31號(hào)倉(cāng)儲(chǔ)存有2 220 t小麥。經(jīng)長(zhǎng)期檢測(cè),通州1號(hào)倉(cāng)共獲得樣本數(shù)1 600條,選擇前1 500條數(shù)據(jù)作為建模樣本,后100條數(shù)據(jù)作為測(cè)試樣本,齊河31號(hào)倉(cāng)共獲得樣本數(shù)3 100條,選取前3 000條數(shù)據(jù)作為建模樣本,后100條數(shù)據(jù)作為測(cè)試樣本。
檢測(cè)結(jié)果如圖5所示。由圖5可知:在實(shí)際糧倉(cāng)的應(yīng)用中,由于糧倉(cāng)儲(chǔ)糧數(shù)量大,受側(cè)壁摩擦力等因素影響小,檢測(cè)結(jié)果更加精確,驗(yàn)證了檢測(cè)方法在實(shí)際應(yīng)用中的可行性及有效性。
圖5 不同實(shí)倉(cāng)的檢測(cè)誤差結(jié)果
(1)利用深度置信網(wǎng)絡(luò)完成儲(chǔ)糧數(shù)量的檢測(cè),能夠通過(guò)無(wú)監(jiān)督訓(xùn)練的深度受限玻爾茲曼機(jī)對(duì)數(shù)據(jù)集進(jìn)行重構(gòu),再利用BP神經(jīng)網(wǎng)絡(luò)對(duì)重構(gòu)后數(shù)據(jù)及進(jìn)行擬合。這一方法簡(jiǎn)單,且能提升了儲(chǔ)糧數(shù)量檢測(cè)的智能性。
(2)本文結(jié)合拉依達(dá)準(zhǔn)則提出的針對(duì)基于深度置信網(wǎng)絡(luò)的糧倉(cāng)儲(chǔ)糧數(shù)量檢測(cè)方法的數(shù)據(jù)預(yù)處理方法,能有效提升檢測(cè)方法的檢測(cè)精度,其檢測(cè)誤差低于2%,檢測(cè)結(jié)果準(zhǔn)確,能高效完成儲(chǔ)糧數(shù)量的檢測(cè),為時(shí)刻掌握糧食的儲(chǔ)備情況提供必要保障。
石河子大學(xué)學(xué)報(bào)(自然科學(xué)版)2020年5期