楊麗華,劉欣星
(湖北汽車工業(yè)學(xué)院 經(jīng)濟(jì)管理學(xué)院,湖北 十堰442002)
在我國(guó)石油工業(yè)化進(jìn)程中,國(guó)家戰(zhàn)略性原油儲(chǔ)備的實(shí)施導(dǎo)致油庫(kù)大型儲(chǔ)油罐的發(fā)展,而油氣儲(chǔ)備量的增加必然使油庫(kù)儲(chǔ)油規(guī)模和數(shù)量大幅增加。由于成品油屬于易燃易爆品在庫(kù)區(qū)里最重要的就是安全問題,一旦發(fā)生爆炸后果不堪設(shè)想。這使得及時(shí)發(fā)現(xiàn)異常和有效的預(yù)防變得格外的重要。
石油化工這樣一個(gè)生產(chǎn)、運(yùn)輸、儲(chǔ)存易燃易爆品的行業(yè)很容易發(fā)生火災(zāi)事故并且有著惡劣的影響,所以安全監(jiān)測(cè)和預(yù)測(cè)顯得尤為重要,神經(jīng)網(wǎng)絡(luò)作為人工智能的一種體現(xiàn),依靠其高度的并行結(jié)構(gòu)和實(shí)現(xiàn)能力,具有高效率尋找最優(yōu)解的能力,能夠發(fā)揮計(jì)算機(jī)的高速運(yùn)算能力,很快地找到優(yōu)化解。根據(jù)神經(jīng)網(wǎng)絡(luò)模擬人的思維有助于非線性處理的特性。通過(guò)對(duì)大量已知數(shù)據(jù)的學(xué)習(xí),訓(xùn)練出一個(gè)具有能夠基本滿足全部數(shù)據(jù)規(guī)律的特定的神經(jīng)網(wǎng)絡(luò)。
本文以國(guó)內(nèi)某油庫(kù)為應(yīng)用對(duì)象,搜集數(shù)據(jù),嘗試運(yùn)用神經(jīng)網(wǎng)絡(luò)算法中的BP算法建立神經(jīng)網(wǎng)絡(luò)來(lái)研究油庫(kù)儲(chǔ)油安全問題,其中包括對(duì)影響油庫(kù)儲(chǔ)油安全因素的定性和定量的分析,同時(shí)對(duì)改進(jìn)后的BP算法作了簡(jiǎn)要對(duì)比,從中選擇較優(yōu)的算法,最后用MATLAB建模實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),分析油庫(kù)儲(chǔ)油安全問題。將神經(jīng)網(wǎng)絡(luò)算法運(yùn)用到儲(chǔ)油安全的監(jiān)測(cè)和預(yù)測(cè)中是現(xiàn)實(shí)技術(shù)進(jìn)步的必然,有著實(shí)用價(jià)值。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN),亦稱為神經(jīng)網(wǎng)絡(luò)(Neural Networks,NN),是由大量處理單元(神經(jīng)元Neurons)互連而成的網(wǎng)絡(luò),是對(duì)人腦的抽象、簡(jiǎn)化和模擬,反映人腦的基本特性。
BP(Back Propagation)網(wǎng)絡(luò)在結(jié)構(gòu)上類似于多層感知器,是一種多層前饋神經(jīng)網(wǎng)絡(luò)。在網(wǎng)絡(luò)訓(xùn)練中,調(diào)整網(wǎng)絡(luò)權(quán)值的訓(xùn)練算法是誤差反向傳播學(xué)習(xí)算法,即BP學(xué)習(xí)算法,該算法是Rumelhart等在1986年提出的。由于結(jié)構(gòu)簡(jiǎn)單,可調(diào)參數(shù)多、訓(xùn)練算法多、可操作性好,近年來(lái)廣泛應(yīng)用于模式識(shí)別、預(yù)測(cè)評(píng)估等領(lǐng)域[1]。據(jù)統(tǒng)計(jì),80%~90%的神經(jīng)網(wǎng)絡(luò)模型采用BP網(wǎng)絡(luò)或其變化形式。
1)BP神經(jīng)網(wǎng)絡(luò)模型
與一般的人工神經(jīng)網(wǎng)絡(luò)一樣,構(gòu)成BP網(wǎng)絡(luò)的神經(jīng)元仍然是神經(jīng)元,其網(wǎng)絡(luò)模型見圖1。
圖1 BP神經(jīng)網(wǎng)絡(luò)模型
按照BP算法的要求,這些神經(jīng)元所用的激活函數(shù)必須是處處可導(dǎo)的。一般都使用S型函數(shù)。對(duì)一個(gè)神經(jīng)元來(lái)說(shuō),它的網(wǎng)絡(luò)輸入可表示為
式中x1,x…,xn——神經(jīng)元所接受的輸入;
w1,w2…,wn——神經(jīng)元對(duì)應(yīng)的連接權(quán)值。該神經(jīng)元的輸出為
2)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程
標(biāo)準(zhǔn)BP算法是基于梯度下降法的學(xué)習(xí)算法,學(xué)習(xí)過(guò)程是通過(guò)權(quán)值和閥值,使輸出期望值和神經(jīng)網(wǎng)絡(luò)實(shí)際輸出值的均方誤差趨于最小而實(shí)現(xiàn)的,但是它只用到均方誤差函數(shù)對(duì)權(quán)值和閥值的一階導(dǎo)數(shù)(梯度)的信息,使得算法存在收斂速度緩慢、易陷入局部極小等缺陷[2]。
油庫(kù)儲(chǔ)油安全事故其中包含了一般事故的各種特點(diǎn)比如隨機(jī)性、隱藏性和可預(yù)防性。調(diào)查顯示,油庫(kù)儲(chǔ)油安全事故的發(fā)生是由環(huán)境、人、油罐構(gòu)成的系統(tǒng)中因素不協(xié)調(diào)變化所導(dǎo)致的[4]。下面將從影響油庫(kù)儲(chǔ)油安全的人為因素、環(huán)境因素、罐體因素分析說(shuō)明:
1)人為因素
在安全行為學(xué)里描述為個(gè)人行為,個(gè)人行為取決于個(gè)人因素(心理因素和生理因素)、環(huán)境因素及遺傳因素[3]。人為因素中心理素質(zhì)、生理素質(zhì)、工人的工齡、管理措施、安全教育都會(huì)對(duì)油庫(kù)儲(chǔ)油安全產(chǎn)生影響。按5種因素的重要性從大到小排序:工齡>心理素質(zhì)>管理>安全教育>生理,雖然心理因素重要,但是由于無(wú)法量化所以僅選擇工齡作為衡量員工的綜合標(biāo)準(zhǔn)。根據(jù)實(shí)際情況結(jié)合現(xiàn)有的工作人員的信息可將工齡對(duì)安全的影響歸納見表1。
表1 平均工齡對(duì)危險(xiǎn)系數(shù)的影響
2)環(huán)境因素
油品儲(chǔ)藏屬于易燃易爆物品儲(chǔ)藏,對(duì)溫度和點(diǎn)火源的控制要非常到位。結(jié)合歷年來(lái)油罐火災(zāi)事故的統(tǒng)計(jì)結(jié)果,在環(huán)境因素中,鑒于風(fēng)對(duì)油罐儲(chǔ)油安全的影響較小,所以選擇影響大而且可以量化的高溫時(shí)間和閃電密度作為指標(biāo)。具體內(nèi)容見表2~3。
表2 高溫時(shí)間對(duì)系數(shù)的影響
表3 閃電密度對(duì)系數(shù)的影響
3)罐體因素
容量、油溫、液位高度和壓強(qiáng)是油罐的主要參數(shù)。根據(jù)實(shí)際的罐體數(shù)據(jù),將危險(xiǎn)程度分為幾個(gè)危險(xiǎn)等級(jí)如表4所示。
表4 液位高低對(duì)系數(shù)的影響
罐內(nèi)正負(fù)壓差是罐體采集的幾個(gè)重要數(shù)據(jù)之一,內(nèi)浮頂罐較低的負(fù)壓易造成氣體揮發(fā),反映出的正負(fù)壓差也變大。油罐內(nèi)基本正壓2.0 kPa,基本負(fù)壓0.5 kPa。按照正負(fù)壓差影響大小如表5所示。
表5 正負(fù)壓差對(duì)系數(shù)的影響
通過(guò)對(duì)儲(chǔ)油安全方面存在影響的各種人為因素,環(huán)境因素,罐體本身因素的作用進(jìn)行了科學(xué)的分析選擇,最后取其中5個(gè)可以量化且重要的要素作為本次課題研究的輸入樣本的取樣對(duì)象,即平均工齡、高溫時(shí)間、閃電密度、液面高度和正負(fù)壓差。
MATLAB是一個(gè)基于矩陣運(yùn)算的快速解釋程序,它交互式地接受用戶輸入的各項(xiàng)命令,輸出計(jì)算結(jié)果。MATLAB軟件為神經(jīng)網(wǎng)絡(luò)理論的實(shí)現(xiàn)提供了一種便利的仿真手段。
神經(jīng)網(wǎng)絡(luò)的建立首先考慮框架結(jié)構(gòu)的建立:網(wǎng)絡(luò)的層數(shù)、每層神經(jīng)元個(gè)數(shù)。本文采用的是有一個(gè)隱含層的3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該BP神經(jīng)網(wǎng)絡(luò)輸入層的神經(jīng)元個(gè)數(shù)由影響儲(chǔ)油安全因素的多少來(lái)決定,根據(jù)上面確定的5個(gè)重要因素,有5個(gè)神經(jīng)元:平均工齡、高溫時(shí)間、閃電密度、液面高度和正負(fù)壓差。預(yù)測(cè)結(jié)果按照參數(shù)的大小作用可分為參數(shù)異常、爆炸、起火、安全。
為了方便計(jì)算對(duì)比,將所收集的原始數(shù)據(jù)做了歸一化處理保存在*.txt文件里調(diào)用。網(wǎng)絡(luò)權(quán)值的初始化常使用2種方法:取足夠小的初始權(quán)值或使初始值為+1和-1的權(quán)值數(shù)相等[5]。權(quán)值變化量的不同取決于學(xué)習(xí)速率的大小,學(xué)習(xí)率高則變化量大,學(xué)習(xí)率過(guò)小則變化量小。學(xué)習(xí)速率過(guò)小會(huì)大幅提高訓(xùn)練時(shí)間,收斂速率很慢,但是能保證趨于最小值,所以一般選擇較小的學(xué)習(xí)速率來(lái)保證系統(tǒng)的穩(wěn)定性。學(xué)習(xí)速率一般應(yīng)選在0.01~0.7之間。在多次試驗(yàn)的基礎(chǔ)上,在保證了網(wǎng)絡(luò)收斂速度的基礎(chǔ)上,為了提高穩(wěn)定性根據(jù)訓(xùn)練情況定為0.01。
實(shí)踐證明,隱含層節(jié)點(diǎn)數(shù)目對(duì)神經(jīng)網(wǎng)絡(luò)的性能有一定的影響。隱含層節(jié)點(diǎn)數(shù)較少時(shí),雖然在處理大量數(shù)據(jù)時(shí)很快,但是網(wǎng)絡(luò)復(fù)雜程度低,學(xué)習(xí)的能力有限,不足以儲(chǔ)存訓(xùn)練樣本中蘊(yùn)含的所有規(guī)律;而隱含層節(jié)點(diǎn)過(guò)多不僅會(huì)增加網(wǎng)絡(luò)訓(xùn)練時(shí)間,同時(shí)也會(huì)將樣本中非規(guī)律性的內(nèi)容如干擾和噪聲存儲(chǔ)進(jìn)去,反而降低泛化能力。一般情況先是采用湊試法,先由經(jīng)驗(yàn)公式
確定,其中m為隱含層節(jié)點(diǎn)數(shù),n為輸入節(jié)點(diǎn),l為輸出節(jié)點(diǎn),α為調(diào)節(jié)常數(shù),在1~10之間。改變
用同一樣本集訓(xùn)練,在結(jié)合誤差精度和速度的基礎(chǔ)上確定對(duì)應(yīng)的隱含層節(jié)點(diǎn)數(shù)。為了更好地作對(duì)比,這里選擇在編程中采用收斂比較慢的傳統(tǒng)梯度下降法作訓(xùn)練的循環(huán)模式來(lái)調(diào)用不同隱含層變量值進(jìn)行運(yùn)算比較。圖2中,橫軸為調(diào)節(jié)常數(shù),在1~10之間,縱軸為訓(xùn)練的標(biāo)準(zhǔn)差。算法的運(yùn)算次數(shù)如表6所示。
圖2 標(biāo)準(zhǔn)差
表6 不同調(diào)節(jié)常數(shù)取值下算法的運(yùn)算次數(shù)
本課題考慮到收斂速度和誤差精度情況將隱含層節(jié)點(diǎn)數(shù)定為9(3+6)。
標(biāo)準(zhǔn)的BP算法采用的是最速梯度下降法來(lái)修正權(quán)值,但是該方法訓(xùn)練過(guò)程中存在收斂速度緩慢、易陷入局部極小等缺陷。為了克服其不足,出現(xiàn)了許多改進(jìn)算法[1]。本課題采用收集到的數(shù)據(jù)對(duì)各種常見的改進(jìn)算法一一對(duì)比。
1)采用基本的最速梯度下降法,訓(xùn)練過(guò)程見圖3,其顯著的特點(diǎn)就是收斂速度慢,矩陣標(biāo)準(zhǔn)誤差為0.15218。
2)學(xué)習(xí)率可變的BP算法,結(jié)果見圖4,曲線出現(xiàn)鋸齒不平滑說(shuō)明收斂的過(guò)程中收斂速度變化大,由此可見學(xué)習(xí)率對(duì)收斂速度影響很大。矩陣標(biāo)準(zhǔn)誤差為0.19367。
3)動(dòng)量可變BP算法,結(jié)果見圖5,相比上面兩種算法動(dòng)量可變算法曲線流暢有明顯的起伏變化且相對(duì)訓(xùn)練時(shí)間較長(zhǎng),說(shuō)明動(dòng)量可變是在穩(wěn)定中求變化有較強(qiáng)的適應(yīng)性。矩陣標(biāo)準(zhǔn)誤差為0.14366。
4)用于動(dòng)量可變與學(xué)習(xí)率可變相結(jié)合的BP算法,結(jié)果見圖6,矩陣標(biāo)準(zhǔn)誤差為0.18063,從圖6中看到訓(xùn)練過(guò)程很快而且曲線基本平滑無(wú)鋸齒,說(shuō)明結(jié)合動(dòng)量可變和學(xué)習(xí)率可變的算法在很大程度上提高了訓(xùn)練速度和穩(wěn)定性。
5)擬牛頓BP算法,結(jié)果見圖7,可看出明顯特點(diǎn)是運(yùn)算時(shí)間短且容易達(dá)到高精度要求,矩陣標(biāo)準(zhǔn)誤差為0.14417。由此可見擬牛頓算法在一定程度上提得高了收斂速度而且精度較高。
6) 麥夸特(L-M)算法,結(jié)果見圖 8,矩陣標(biāo)準(zhǔn)誤差為0.14018,從圖8中可以看出整個(gè)曲線下降很快而且達(dá)到很小的誤差均方差。說(shuō)明LM算法的收斂速度特別快,精度高。
通過(guò)各種算法比較見表7,LM算法明顯在誤差精度和收斂速度優(yōu)于其他算法,符合儲(chǔ)油安全預(yù)測(cè)的基本要求,故選擇LM算法。
圖3 最速下降訓(xùn)練過(guò)程
圖4 學(xué)習(xí)率可變訓(xùn)練過(guò)程
圖5 動(dòng)量可變訓(xùn)練過(guò)程
圖6 學(xué)習(xí)率可變和動(dòng)量可變訓(xùn)練過(guò)程
圖7 擬牛頓訓(xùn)練過(guò)程
圖8 LM訓(xùn)練過(guò)程
表7 算法比較
BP神經(jīng)網(wǎng)絡(luò)所需的原數(shù)據(jù) (0代表該事件不會(huì)發(fā)生,1代表該事件發(fā)生)見圖9,對(duì)其歸一化后得到的數(shù)據(jù)見圖10。訓(xùn)練過(guò)程見圖11。
取10組專家預(yù)測(cè)好的油庫(kù)的相關(guān)數(shù)據(jù)進(jìn)行模型的測(cè)試,樣本數(shù)據(jù)見圖12。結(jié)果見表8。
其中第6~8組通過(guò)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)出的結(jié)果同專家判斷不同,準(zhǔn)確率是70%,效果一般,這可能是由于數(shù)據(jù)較少的原因造成,矩陣標(biāo)準(zhǔn)誤差2.5439。
圖9 訓(xùn)練數(shù)據(jù)
圖10 歸一化后數(shù)據(jù)
圖11 訓(xùn)練過(guò)程
圖12 專家預(yù)測(cè)數(shù)據(jù)
通過(guò)對(duì)影響油庫(kù)儲(chǔ)油安全因素的分析,同時(shí)對(duì)改進(jìn)后的BP算法作了簡(jiǎn)要對(duì)比,從中選擇較優(yōu)的算法,最后用MATLAB建模實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò),并應(yīng)用到油庫(kù)儲(chǔ)油安全中,能夠?qū)τ蛶?kù)的安全提前進(jìn)行預(yù)測(cè),具有較大的實(shí)用價(jià)值。存在的問題是本課題需要大量數(shù)據(jù)來(lái)做神經(jīng)網(wǎng)絡(luò)訓(xùn)練,但實(shí)際中搜集的數(shù)據(jù)較少,這表明我國(guó)油罐安全事故確實(shí)較少,間接說(shuō)明了在儲(chǔ)油安全方面中國(guó)做得還是不錯(cuò)的。能夠把BP神經(jīng)網(wǎng)絡(luò)實(shí)際應(yīng)用到油庫(kù)儲(chǔ)油安全中去,是今后努力的方向。
表8 BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果
[1]葛哲學(xué),孫志強(qiáng).神經(jīng)網(wǎng)絡(luò)理論與MATLAB2007實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2007.
[2] 張良均,曹 晶,蔣世忠.神經(jīng)網(wǎng)絡(luò)實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2008.
[3] 葉 龍,Mei Shen.安全行為學(xué)[M].北京:清華大學(xué)出版社,2005.
[4] 張振中,張維平,鄭賢斌.油罐火災(zāi)爆炸的故障樹形圖分析[J].江漢石油學(xué)院學(xué)報(bào),2005(6):123-124.
[5] 馮 定.神經(jīng)網(wǎng)絡(luò)專家系統(tǒng) [M].北京: 科學(xué)出版社,2006.