朱廣,閆曉奎,欒慶磊,安君賠,趙汝海,畢曉華,薛海波
(1安徽建筑大學(xué) 機械與電氣工程學(xué)院,安徽 合肥 230601;
2 安徽省公安消防總隊,安徽 合肥 230000)
據(jù)有關(guān)部門統(tǒng)計,2000-2013年,全國消防員犧牲人數(shù)達(dá)151人,傷殘2228人;2014年,消防員犧牲人數(shù)13人,傷殘人數(shù)37人,總體呈逐年上升趨勢。特別是2015年“8·12”天津濱海新區(qū)爆炸事故”造成165人遇難,其中遇難消防員39人,失聯(lián)消防員64人[1-3]。消防員因火災(zāi)救援發(fā)生傷亡情況越來越引起相關(guān)部門的關(guān)注,尤其很多消防員傷亡是因為疲勞、體征參數(shù)異常、火災(zāi)現(xiàn)場極度惡劣等原因造成的無謂傷亡。因此需要一種對救援現(xiàn)場消防員安全評估預(yù)警的裝備,對消防員救援現(xiàn)場進行綜合評估,為消防救災(zāi)、消防員調(diào)度、危險狀態(tài)的及時救助提供重要依據(jù)。為尋求一種有效的火災(zāi)現(xiàn)場消防員安全評估算法,本文將借助神經(jīng)網(wǎng)絡(luò)相關(guān)理論對此展開研究。
BP神經(jīng)網(wǎng)絡(luò)是應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)類型,它是一種多層的前饋網(wǎng)絡(luò),信號向前傳遞,誤差反方向傳遞。網(wǎng)絡(luò)由輸入層、輸出層、隱含層組成。其中隱含層又稱為中間層,包括單層或多層[4-5]。BP神經(jīng)網(wǎng)絡(luò)算法的基本原理是:首先利用輸出層的輸出與期望輸出得到預(yù)測誤差,然后通過預(yù)測誤差反向傳遞得到前導(dǎo)層的誤差,按此規(guī)律一直進行下去,調(diào)整層與層之間的網(wǎng)絡(luò)權(quán)值與閾值,從而使網(wǎng)絡(luò)輸出的預(yù)測值逐步接近系統(tǒng)期望輸出[6]。
系統(tǒng)將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于火災(zāi)救援現(xiàn)場的數(shù)據(jù)融合,建立火災(zāi)救援現(xiàn)場消防員安全預(yù)警模型,對救援中的消防員安全狀態(tài)進行預(yù)測與評估,以判斷消防員是處于“安全狀態(tài)”或“一級危險狀態(tài)”或“二級危險狀態(tài)”。預(yù)警模型的建模過程主要包括:網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建、網(wǎng)絡(luò)多樣本訓(xùn)練、BP神經(jīng)網(wǎng)絡(luò)的預(yù)測三個步驟,整個流程如圖1所示[7]。
圖1 算法流程
2.1.1 監(jiān)測參數(shù)的選取
火災(zāi)救援現(xiàn)場環(huán)境參數(shù)主要包括一氧化碳含量、煙霧含量、氧氣含量和環(huán)境溫度,這些參數(shù)的大小代表了救援現(xiàn)場環(huán)境的惡劣程度,因此環(huán)境參數(shù)有必要作為安全預(yù)警數(shù)據(jù)融合的輸入?yún)?shù)。另一方面,消防員本身的生命體征參數(shù),如血氧、脈搏、呼吸率等,這些參數(shù)是消防員本身生命狀態(tài)的描述,故生命體征參數(shù)也是安全預(yù)警數(shù)據(jù)融合的輸入?yún)?shù)。
2.1.2 輸入層節(jié)點數(shù)設(shè)計
輸入層是用來接收外部傳來的初始數(shù)據(jù),主要包括兩類數(shù)據(jù):火災(zāi)現(xiàn)場環(huán)境數(shù)據(jù)、消防員生命體征數(shù)據(jù),其中火災(zāi)環(huán)境參數(shù)包含四種信號:一氧化碳、煙霧濃度、環(huán)境溫度、氧氣。消防員生命體征參數(shù)包含三種信號:血氧、脈搏和呼吸率。故7種信號作為神經(jīng)網(wǎng)絡(luò)的輸入信號,即輸入層節(jié)點數(shù)為7。
2.1.3 隱含層節(jié)點數(shù)設(shè)計
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),隱含層節(jié)點數(shù)設(shè)計很重要,隱含層節(jié)點數(shù)會直接影響神經(jīng)網(wǎng)絡(luò)預(yù)測準(zhǔn)確性的高低[8-9]。如果隱含層節(jié)點數(shù)過少,會導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)的效率較低,且影響最終學(xué)習(xí)效果。隱含層節(jié)點數(shù)太多,訓(xùn)練時間會增加、網(wǎng)絡(luò)易出現(xiàn)過度擬合,其誤差反而增大、從而影響容錯性,因此存在適當(dāng)?shù)碾[單元數(shù)[10-11]。本文選擇隱含層節(jié)點數(shù)參考以下公式:
上式中,l為隱含層的單元數(shù),n輸入層單元數(shù),m為輸出層單元數(shù),a為介于0-10之間的整數(shù)。系統(tǒng)隱含層節(jié)點數(shù)確定,首先依據(jù)公式(1)確定大致范圍,然后通過試湊法來確定最終節(jié)點數(shù),在試湊過程中,通過比較誤差率與隱含層節(jié)點數(shù)的關(guān)系,最終確定系統(tǒng)隱含層節(jié)點數(shù)為11個。
2.1.4 輸出層節(jié)點數(shù)設(shè)計
安全預(yù)警模型輸出層節(jié)點數(shù)根據(jù)系統(tǒng)實際需要來決定。根據(jù)實際情況設(shè)計安全預(yù)警模型,該模型能夠根據(jù)輸入?yún)?shù)來輸出消防員處于無危險狀態(tài)、一級危險、二級危險狀態(tài)三種結(jié)果,因此輸出層節(jié)點數(shù)為3,可以滿足系統(tǒng)設(shè)計要求。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 消防員預(yù)警模型拓?fù)鋱D
完成BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計后,選用經(jīng)過選擇的學(xué)習(xí)樣本對網(wǎng)絡(luò)模型進行訓(xùn)練。按照隱含層激勵函數(shù)及加權(quán)公式逐層計算出隱層神經(jīng)元和輸出層神經(jīng)元的輸入和輸出。通過誤差反向傳播,對隱含層和輸出層的閾值以及各層神經(jīng)元之間的連接權(quán)值進行多次修正,實現(xiàn)閾值與權(quán)值的更新。直至目標(biāo)值與期望輸出的偏差滿足要求,使網(wǎng)絡(luò)模型具有足夠高的預(yù)測能力[12-14]。BP網(wǎng)絡(luò)學(xué)習(xí)過程如下所示:
(1)初始化。分別為各個權(quán)值wij、wjk以及隱含層閾值aj、輸出層閾值bk賦予一個隨機值,該隨機值介于(-1,1)范圍內(nèi)的,同時確定激勵函數(shù)及學(xué)習(xí)速率。
(2)選擇任意一組輸入 p=(x1,x2,…,xn)、和目標(biāo)樣本T=(y1,y2,…,yq)提供給BP神經(jīng)網(wǎng)絡(luò)。
(3)通過輸入樣本 p=(x1,x2,…,xn)、wij和 aj,來計算中間層輸入sj,利用sj通過隱含層的激勵函數(shù)來計算隱含層各單元的輸出Hj。
式中,l是隱含層的節(jié)點數(shù)。
(4)通過隱含層的輸出Hj、wjk和bk計算輸出層各單元的輸出ok。
(5)通過目標(biāo)向量TK=(yk1,yk2,…,ykq)和預(yù)測輸出ok計算輸出層各單元預(yù)測誤差dk。
(6)通過wjk、誤差dk和隱含層的輸出bj計算隱含層的各單元誤差ej。
(7)根據(jù)隱含層的各單元誤差ej、學(xué)習(xí)速率η來修正隱含層與輸出層之間的連接權(quán)值wjk和閾值
bk。(8)利用輸出層各單元的誤差dk、隱含層輸出Hj、各單元的輸入p=(x1,x2,…,xn)來修正輸入層與隱含層之間的連接權(quán)值wij和閾值aj。
(9)判斷訓(xùn)練迭代是否完成,若沒有完成,則繼續(xù)執(zhí)行步驟(3),直至把全部訓(xùn)練樣本訓(xùn)練完畢。當(dāng)輸出誤差E小于預(yù)先設(shè)定的極小值,即網(wǎng)絡(luò)收斂完成整個學(xué)習(xí)過程。
進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前,首先要依據(jù)經(jīng)驗數(shù)據(jù)庫關(guān)于火災(zāi)現(xiàn)場環(huán)境及消防員人體體征信息來選取訓(xùn)練樣本數(shù)據(jù)。由于輸入層7個節(jié)點數(shù)據(jù)的單位不同,數(shù)據(jù)范圍不同,存在數(shù)量級上的差別,可能會對網(wǎng)絡(luò)預(yù)測結(jié)果產(chǎn)生誤差,故需要對輸入信號進行歸一化處理,即將輸入信號的取值范圍調(diào)整到[0,1]范圍內(nèi)。系統(tǒng)選取消防員安全狀態(tài)、一級危險狀態(tài)、二級危險狀態(tài)下的200組數(shù)據(jù)作為訓(xùn)練樣本,然后將其輸入BP預(yù)警模型進行反復(fù)的學(xué)習(xí)訓(xùn)練。
根據(jù)以上設(shè)計得知,輸入層節(jié)點數(shù)據(jù)共7個,主要來自兩大類:火災(zāi)救援現(xiàn)場的環(huán)境參數(shù)和消防員生命體征參數(shù),其中火災(zāi)現(xiàn)場環(huán)境參數(shù)包括:環(huán)境溫度、CO含量、O2含量、煙霧濃度等,消防員生命體征參數(shù)包括呼吸率、脈搏、血氧飽和度等。輸出信號為消防員安全危險等級信號,分為三個等級:安全、一級危險、二級危險。安全狀態(tài)下消防員可以正常戰(zhàn)斗;一級危險時,遠(yuǎn)程提醒消防員處于一級危險狀態(tài),隨時聽候中心的調(diào)度命令;二級危險狀態(tài),遠(yuǎn)程提醒消防員立即撤退,甚至需要對消防員進行緊急救助。
預(yù)警模型建立后,需要提供訓(xùn)練樣本對其多次訓(xùn)練。訓(xùn)練樣本來源于模擬現(xiàn)場,包含了對火災(zāi)環(huán)境的模擬及人體體征參數(shù)的模擬,對于火災(zāi)環(huán)境的模擬主要圍繞火災(zāi)早期、中期、后期的參數(shù)變化進行模擬。對于人體生命體征的模擬,主要運用醫(yī)學(xué)上關(guān)于體征參數(shù)隨環(huán)境變化的規(guī)律進行模擬。兩類參數(shù)同步模擬,從而完成訓(xùn)練樣本的數(shù)據(jù)收集。訓(xùn)練樣本集中了安全狀態(tài)、一級危險、二級危險三種情況,訓(xùn)練樣本數(shù)據(jù)具有一定的完整性及代表性。
系統(tǒng)選用200組樣本信號,當(dāng)對預(yù)警模型經(jīng)過180次的訓(xùn)練后其網(wǎng)絡(luò)均方誤差最小,從而確定此時權(quán)值矩陣和閾值矩陣。故180組樣本作為訓(xùn)練樣本,20組作為測試樣本。訓(xùn)練結(jié)束后,通過觀察20組測試樣本的輸出值,將其與期望值通過仿真進行對比,可以觀察到消防員處于安全狀態(tài)、一級危險、二級危險等三種狀態(tài)輸出曲線與期望輸出曲線趨勢相似,預(yù)測輸出準(zhǔn)確度高,系統(tǒng)誤差滿足要求。根據(jù)以上分析能夠推斷樣本訓(xùn)練成功,所設(shè)計的BP神經(jīng)網(wǎng)絡(luò)模型精度達(dá)到要求,能夠利用安全預(yù)警模型來進行消防員安全預(yù)警分析。
為了驗證上述安全預(yù)警絡(luò)模型滿足系統(tǒng)設(shè)計需求,對模型進行仿真。通過訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對消防員的危險狀態(tài)等級進行測試,由樣本數(shù)據(jù)仿真出消防員的狀態(tài)預(yù)測概率,并與期望的狀態(tài)概率相比較,通過圖形觀察系統(tǒng)的預(yù)測準(zhǔn)確性。
測試樣本數(shù)據(jù)也來源于模擬現(xiàn)場的數(shù)據(jù)采集,同訓(xùn)練樣本一樣,包含火災(zāi)環(huán)境和人體生命體征兩類參數(shù)的模擬。測試樣本也涵蓋了“安全”、“一級危險”、“二級危險”三種情況,由于各個數(shù)據(jù)的量程范圍、單位均有較大差異,故需要將測試數(shù)據(jù)進行歸一化,測試數(shù)據(jù)主要包括了三種狀態(tài)下的樣本輸入?yún)?shù),共20組,其中1-10組為火災(zāi)環(huán)境較安全、消防員生命體征較正常的數(shù)據(jù)樣本。11-15組是火災(zāi)環(huán)境較惡劣及消防員生命體征開始異常。15-20組火災(zāi)環(huán)境極度惡劣及消防員生命體征極度異常的數(shù)據(jù)樣本。歸一化后的測試樣本如表1所示。
表1 測試樣本(20組)
續(xù)表1
序號 呼吸率 脈搏 血氧度 溫度 CO O2 煙霧5 6 7 8 9 1 0 11 12 13 14 15 16 17 18 19 20 0.36 0.37 0.41 0.39 0.4 0.37 0.84 0.82 0.86 0.83 0.88 0.87 0.92 0.91 0.93 0.94 0.27 0.26 0.28 0.28 0.29 0.3 0.75 0.7 0.8 0.78 0.83 0.82 0.89 0.88 0.9 0.91 0.975 0.98 0.97 0.96 0.95 0.96 0.38 0.5 0.33 0.4 0.3 0.31 0.2 0.24 0.18 0.15 0.2 0.69 0.25 0.4 0.89 0.88 0.75 0.86 0.88 0.9 0.64 0.63 0.935 0.92 0.936 0.94 0.06 0.05 0.07 0.09 0.1 0.11 0.49 0.47 0.52 0.5 0.58 0.6 0.75 0.68 0.77 0.79 0.9 0.92 0.86 0.85 0.83 0.84 0.13 0.14 0.106 0.108 0.091 0.09 0.072 0.083 0.069 0.06 0.18 0.23 0.21 0.24 0.27 0.26 0.73 0.7 0.75 0.72 0.81 0.8 0.89 0.85 0.9 0.92
為了更直觀的看出火災(zāi)環(huán)境參數(shù)、消防員生命體征參數(shù)及二者將上述表用圖形繪制出來,如圖3、圖 4所示。
圖3 安全狀態(tài)下的樣本參數(shù)
圖4 危險狀態(tài)(一級、二級)樣本參數(shù)
從表1及圖3、圖4中可以看出,1-10組中,呼吸率、脈搏、CO、煙霧數(shù)據(jù)較小同時血氧度、氧氣含量高,且數(shù)值總體平穩(wěn),說明此時環(huán)境參數(shù)較安全,生命體征參數(shù)正常,消防員處于安全狀態(tài)。11-15組樣本中,呼吸率和脈搏數(shù)據(jù)升高、血氧濃度下降,環(huán)境參數(shù)CO和煙霧含量升高、氧氣含量下降。此時無論環(huán)境參數(shù)還是生命體征參數(shù)均處于異常狀態(tài),但數(shù)據(jù)并未到達(dá)極限狀態(tài),此時消防員處于一級危險狀態(tài)。16-20組樣本中,呼吸率和脈搏數(shù)據(jù)接近最大值、血氧度極度下降,空氣中CO和煙霧濃度極高、氧氣含量極低,此時環(huán)境參數(shù)和消防員生命體征參數(shù)均處于極度惡劣狀態(tài),消防員處于二級危險狀態(tài),需要緊急撤離救援現(xiàn)場[15]。
通過模擬火災(zāi)環(huán)境獲得測試樣本(20組)組序打亂,并將其輸入到訓(xùn)練成熟的安全預(yù)警模型,通過誤差分析來判斷安全預(yù)警模型的有效性,當(dāng)系統(tǒng)的誤差越小,可以說明其有效性和穩(wěn)定性越好。將所有樣本的預(yù)測結(jié)果和實際結(jié)果對照,繪制在同一圖中,如圖5所示。同時繪制樣本的預(yù)測結(jié)果誤差圖,如圖6所示。
圖5 測試樣本預(yù)測危險等級
圖6 測試樣本預(yù)測誤差
圖5 中,水平軸為測試樣本序號,縱軸為危險等級,1表示安全、2表示一級危險、3表示二級危險。紅色的為測試樣本“預(yù)測危險等級”,藍(lán)色為“實際危險等級”,可以看出20組預(yù)測測試數(shù)據(jù)中,第1組測試樣本“預(yù)測危險等級”與“實際危險等級”均為2即消防員處于一級危險,第1組樣本預(yù)測正確。同理第 2、3、4、5、8、9、10、11、13、14、15、17、18、19、20組均預(yù)測準(zhǔn)確。僅在第6、7、12、16組樣本預(yù)測等級存在誤差。20組中16組樣本預(yù)測完全正確,統(tǒng)計正確率達(dá)80%。從圖6也可以看出只有樣本6、7、12、16存在分類誤差,其他16個樣本對應(yīng)的分類誤差均為0,在誤差允許范圍內(nèi),系統(tǒng)能較準(zhǔn)確的判斷消防員的安全狀態(tài),滿足預(yù)測要求。
同樣以上述20組測試信號,如果運用單一參數(shù)(例如溫度)進行預(yù)測,由于除溫度以外的其他參數(shù)沒有參與預(yù)測,所以當(dāng)它們極度異常而溫度正常時,預(yù)測的結(jié)果為“安全”,而消防員實際處于危險狀態(tài)。將兩種情況下預(yù)測結(jié)果進行對比,如表2所示。
表2 多數(shù)據(jù)融合算法預(yù)測方法與單一參數(shù)預(yù)測方法比較
續(xù)表2
組號 多數(shù)據(jù)融合預(yù)測 單一參數(shù)(溫度)預(yù)測 實際結(jié)果7 8 9 1 0 11 12 13 14 15 16 17 18 19 20二級危險安全二級危險二級危險二級危險安全二級危險安全安全二級危險二級危險安全安全安全一級危險一級危險二級危險二級危險一級危險一級危險二級危險一級危險安全一級危險一級危險一級危險安全安全一級危險安全二級危險二級危險二級危險一級危險二級危險安全安全一級危險二級危險安全安全安全
從表2中可以看出,運用多數(shù)據(jù)融合算法,僅第6、7、12、16組預(yù)測等級存在偏差,預(yù)測準(zhǔn)確率達(dá)80%;而運用單一參數(shù)(溫度),則在第 3、6、8、11、14、17、18組存在預(yù)測偏差,準(zhǔn)確率僅為65%。所以運用單一參數(shù)進行預(yù)測,顯然過于片面,難以做到高準(zhǔn)確預(yù)測。故基于神經(jīng)網(wǎng)絡(luò)的多參數(shù)融合進行預(yù)測的方法更準(zhǔn)確、可行。
本文運用通過BP神經(jīng)網(wǎng)絡(luò)設(shè)計一種安全預(yù)警模型,對火災(zāi)救援現(xiàn)場的消防員進行安全等級評估,火災(zāi)現(xiàn)場環(huán)境參數(shù)及消防員生命體征參數(shù)作為BP神經(jīng)網(wǎng)絡(luò)預(yù)警模型的輸入層參數(shù),輸出層以消防員處于三個危險狀態(tài)等級概率作為輸出節(jié)點,判斷火災(zāi)現(xiàn)場消防員的危險等級,為火災(zāi)現(xiàn)場消防員指揮調(diào)度提供支持。預(yù)警模型通過測試樣本進行仿真預(yù)測與分析,在誤差允許的范圍內(nèi)安全預(yù)警模型能夠?qū)馂?zāi)現(xiàn)場消防員的狀態(tài)進行可靠評估[16-18]。說明運用神經(jīng)網(wǎng)絡(luò)進行多數(shù)據(jù)融合的預(yù)警評估方法,較單一參數(shù)的預(yù)測,更加完整,準(zhǔn)確性更高。