999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于自適應學習率BP神經(jīng)網(wǎng)絡的火點定位模型①

2019-03-11 06:02:52王古森
計算機系統(tǒng)應用 2019年3期
關(guān)鍵詞:模型

王古森,高 波

1(陜西國防工業(yè)職業(yè)技術(shù)學院,西安 710300)

2(西安全階智能科技有限公司,西安 710016)

1 引言

由于我國北方部分城市冬季大量燃燒秸稈,不僅造成了空氣污染,也造成了大量的安全隱患,給市民生活和城市建設帶來很多的不便.近年來,國家加大力度治理此項問題,但仍然無法完全杜絕.現(xiàn)階段在發(fā)現(xiàn)火點時及時報告、及時記錄,再由執(zhí)法人員采取相應制止措施,以加強火點位置及燃燒時間的監(jiān)測,同時定期監(jiān)測,加強重點區(qū)域的管理,提前采取相關(guān)措施,提高城市空氣質(zhì)量水平和城市安全水平.在通過對過往年度冬季秸稈焚燒的監(jiān)測記錄入手,預測出火點大致出現(xiàn)的位置及時間,加強對此處的監(jiān)管,并利用無人機、無人車完成多點預測位置的數(shù)據(jù)采集,能夠有效的預防和減少冬季秸稈燃燒的數(shù)量.

目前預測學習領域常用CNN (卷積神經(jīng)網(wǎng)絡),BP神經(jīng)網(wǎng)絡等.CNN常用于較為復雜的圖像處理上,BP神經(jīng)網(wǎng)絡用于函數(shù)逼近、模式識別等[1].而火點預測是根據(jù)已有的火點數(shù)據(jù)進行預測,屬于一種函數(shù)逼近,且在預測的實時性上有一定要求,故BP神經(jīng)網(wǎng)絡是一個很好的選擇.

采用BP神經(jīng)網(wǎng)絡模型對火點進行預測,大大提高了環(huán)保工作的效率及人力、物力成本.在預測完成后還可以通過預測的位置對無人機或無人車規(guī)劃行動路線,設置自動巡視功能.發(fā)現(xiàn)火點后一方面將火點信息采集發(fā)送回人工控制臺,另一方面自動訓練數(shù)據(jù),修正行動路線.因此使用BP神經(jīng)網(wǎng)絡預測火點有很廣泛的應用前景.

傳統(tǒng)BP神經(jīng)網(wǎng)絡中極小值比較多,所以很容易陷入局部極小值,這就要求對初始權(quán)值和閥值有要求,要使得初始權(quán)值和閥值隨機性足夠好,可以多次隨機來實現(xiàn).而訓練次數(shù)多使得學習效率低,收斂速度慢.為了加速算法收斂.常用的改進算法如:引入動量項、自適應步長等,學習率隨著迭代次數(shù)增加而線性減小,此類方法可以減少訓練次數(shù),但依然無法達到高速的訓練效果,訓練速度提高有限.

2 火點預測模型構(gòu)建

由于冬季溫度較低,焚燒秸稈不僅與所處位置有關(guān),而且與附近幾天的天氣情況也有很大的關(guān)系.

2.1 數(shù)據(jù)來源

由于每年的10月到12月是秸稈焚燒較為嚴重的幾個月,因此對某市自2011年至2015年每年10月至12月3個月每天的秸稈焚燒數(shù)量及天氣情況為數(shù)據(jù)輸入.并以2016年及2017年作為模型驗證數(shù)據(jù).

數(shù)據(jù)來源參考中華人民共和國生態(tài)環(huán)境部發(fā)布的數(shù)據(jù)[2],結(jié)合某市環(huán)保局提供的相關(guān)數(shù)據(jù).

2.2 神經(jīng)網(wǎng)絡模型構(gòu)建

在BP神經(jīng)網(wǎng)絡中,單個樣本有m個輸入,有n個輸出,在輸入層和輸出層之間通常還有若干個隱含層.一個三層的BP網(wǎng)絡就可以完成任意的m維到n維的映射.即這三層分別是輸入層 (I),隱含層 (H),輸出層(O)[3].如圖1所示.

BP神經(jīng)網(wǎng)絡分為正向傳遞和誤差信號反向傳遞兩個過程.

正向傳播過程如下:設節(jié)點i和節(jié)點j之間的權(quán)值為wij,節(jié)點j的閥值為bj,每個節(jié)點的輸出值為xj,而每個節(jié)點的輸出值是根據(jù)上層所有節(jié)點的輸出值、當前節(jié)點與上一層所有節(jié)點的權(quán)值和當前節(jié)點的閥值還有激活函數(shù)來實現(xiàn)的.具體計算方法如下[4]:

其中,f(Sj)為激活函數(shù),一般選取s型函數(shù)或者線性函數(shù).這里我們選取雙極性的Sigmoid函數(shù)在非線性處理后輸出.

圖1 BP 神經(jīng)網(wǎng)絡結(jié)構(gòu)

反向傳播過程:由于BP神經(jīng)網(wǎng)絡的主要目的是反復修正權(quán)值和閥值,使得誤差函數(shù)值達到最小,設輸出層的所有結(jié)果為dj,則誤差函數(shù)為

通過沿著相對誤差平方和的最速下降方向,連續(xù)調(diào)整網(wǎng)絡的權(quán)值和閥值,根據(jù)梯度下降法,權(quán)值矢量的修正正比于當前位置上E(w,b)的梯度,對于第j個輸出節(jié)點有梯度值:

其中,

那么對于隱含層和輸出層之間的權(quán)值為:

由于傳統(tǒng)的BP神經(jīng)網(wǎng)絡學習速率是固定的,因此網(wǎng)絡的收斂速度慢,需要較長的訓練時間[5].對于一些復雜問題,BP神經(jīng)網(wǎng)絡需要的訓練時間可能非常長,這主要是由于學習速率太小造成的.在傳播過程中,其誤差的梯度變化是非線性的,當學習率固定時,當學習率較小時,學習速率較慢,則結(jié)果收斂較慢;若學習率較大時,則容易引起振蕩.對此我們使用一種自適應學習率對BP神經(jīng)網(wǎng)絡進行改進.可以將式(5)調(diào)整為:

式(6)(7)(8)以進化論中的進退法為理論基礎,即連續(xù)兩次觀測訓練的誤差值,如果誤差下降則增大學習率,誤差的反彈在一定的范圍內(nèi),則保持步長,誤差的反彈超過一定限度則減小學習率[6],而學習率的變化根據(jù)誤差大小呈指數(shù)性增長或減小,同時對誤差引起的振蕩有一定的抑制作用.這樣就能快速完成算法收斂,達成及時預測的效果.

3 模型訓練及驗證

由于輸入及輸出數(shù)據(jù)的位置信息是二維向量,為了驗證模型的實用性,對輸出數(shù)據(jù)與實際數(shù)據(jù)作差取平方的形式體現(xiàn)兩者之間的誤差.即訓練所得數(shù)據(jù)與實際位置的矢量差.

地球并不是一個標準的球體,不同位置的經(jīng)度和緯度所對應的地球切面圓的周長也不同,故要算出誤差的矢量值,不能使用經(jīng)緯度直接計算,需要將經(jīng)緯度轉(zhuǎn)換為距離單位進行計算.

因測量所處的維度大致在北緯40°左右,計算誤差時以米(m)為單位,計算如下:

其中,R為地球半徑,約 6371000 m,mj為東西方向即(經(jīng)度)上1 m對應的實際度數(shù);mw為南北方向即(緯度)上1 m對應的實際度數(shù);e(t)位置的矢量差,單位為米(m).

根據(jù)訓練所得結(jié)果,利用式(11),仿真誤差圖如圖2所示.

圖2 輸出矢量誤差圖

由圖2可以看出,模型輸出的矢量誤差基本在50米以內(nèi),當使用無人機或無人車的攝像頭觀察火點時,可以在有效范圍內(nèi)獲得火點的相關(guān)信息.

在此基礎上,對比使用自適應學習率前后的BP神經(jīng)網(wǎng)絡的迭代次數(shù).因?qū)W習率模型設置的初始值為0.1,故使用傳統(tǒng)BP神經(jīng)網(wǎng)絡時學習率即為0.1.

由圖3、圖4可見,使用固定學習率需要在400次左右才能完成收斂,而使用自適應學習率的BP神經(jīng)網(wǎng)絡只需要30次左右,即改進后的神經(jīng)網(wǎng)絡大大減少了迭代次數(shù),加快了收斂過程,且不會發(fā)生較大的振蕩.

圖3 固定學習率收斂曲線

圖4 自適應學習率收斂曲線

解決了模型的可行性問題,下面就可以開展算法的實現(xiàn)工作了.

4 BP 神經(jīng)網(wǎng)絡的 FPGA 實現(xiàn)

FPGA的動態(tài)可重構(gòu)技術(shù),指的是按照時序把整個設計劃分成各個不同的功能模塊,并且可以根據(jù)實際需要通過對功能模塊的增加或減少來動態(tài)調(diào)整整個電路系統(tǒng).在設計中使用該技術(shù)可以使 FPGA 硬件資源利用率得到有效提高.

神經(jīng)網(wǎng)絡的實質(zhì)是采用梯度下降法來不斷修改神經(jīng)元之間的聯(lián)接權(quán)值,以此達到求解最優(yōu)解的目的.文中使用Xilinx公司的Zynq-7000系列FPGA芯片,使用400 MB作為主時鐘,Verilog為開發(fā)語言.

根據(jù)算法主要將神經(jīng)網(wǎng)絡分為激活函數(shù)模塊、運算模塊、數(shù)據(jù)更新和外圍接口模塊四個模塊.

4.1 激活函數(shù)

由于輸入層的激活函數(shù)為非線性函數(shù),由于激活函數(shù)選取的為雙線性S函數(shù),將數(shù)據(jù)分割為[0,1]、[1,2]、[2,3]、[3,4]等[7],在這些區(qū)間內(nèi)通過文獻[7]的逼近函數(shù)實現(xiàn)激活函數(shù).

4.2 運算模塊

運算模塊主要實現(xiàn)數(shù)據(jù)的乘、累加,使用FPGA內(nèi)置的DSP48E輔助完成功能.DSP48E是Xilinx 7系列FPGA的專用DSP模塊,運算速度可以達到600 M/s以上,適合運用于乘累加運算.

由于運算過程是大量的定點數(shù)運算,直接運算會存在截尾操作,這樣就會影響運算的精度,所以運用Xilinx自帶的IP核將定點數(shù)轉(zhuǎn)換為浮點數(shù),然后進行乘加運算,運算后再利用IP核將浮點數(shù)轉(zhuǎn)換為定點數(shù)輸出.同時運算模塊需要在正向傳播和反向傳播中交替使用,這就需要將不同時刻的運算值交替更新到不同的寄存器中.

4.3 權(quán)值更新

權(quán)值更新包括權(quán)值修正量的計算和權(quán)值更新兩部分.根據(jù)式(6)到式(8),權(quán)值修正計算設計如圖5所示.

圖5 權(quán)值更新模塊示意圖

圖5 中W(k)為k時刻的權(quán)值,eta_η為學習率,D(k)為k時的梯度值.

學習率的計算部分為將上一次計算的梯度值與本次計算的梯度值取最高位,即符號位進行異或,得到符號函數(shù)的結(jié)果,再通過移位完成學習率的更新.使用新一輪的學習率與本次的權(quán)值,再根據(jù)梯度值,得出下次計算的權(quán)值.

由于權(quán)值在學習訓練后需要一直保存,在計算完本次收斂的權(quán)值后,數(shù)據(jù)需要掉電保存,所以這里使用外掛 Flash,型號為AT24C16A.它是一個標準的I2C接口總線的Flash.FPGA在完成權(quán)值修正計算后將更新的權(quán)值存儲在外部Flash中.而其他中間數(shù)據(jù)則存在內(nèi)部寄存器中.

4.4 外圍接口

外圍接口主要實現(xiàn)數(shù)據(jù)的輸入、Flash控制(I2C接口)等.

4.5 總控制狀態(tài)機

如圖6所示,算法的狀態(tài)跳轉(zhuǎn)首先讀取Flash中的權(quán)值信息,然后從正向傳播到反向誤差的訓練,利用上文提到的各個模塊將訓練所得權(quán)值重新存儲到Flash中,直到所得輸出基本到達期望值時停止訓練.

圖6 神經(jīng)網(wǎng)絡控制狀態(tài)機

5 仿真及驗證

根據(jù)圖5設計學習率更新模塊,其仿真如圖7所示.

圖7中eta_n為學習率,vid_data為梯度值,在誤差訓練階段,eta_n根據(jù)vid_data的改變進行移位,改變學習率.

完成FPGA設計后,將FPGA輸出結(jié)果保存為txt格式,然后導入 Matlab進行數(shù)據(jù)比較,以2017年10月到12月的數(shù)據(jù)為參考,其結(jié)果誤差如圖8所示.

由圖8發(fā)現(xiàn),FPGA輸出的矢量誤差最大約50 m,與模型誤差基本一致.

圖7 學習率自適應仿真圖

圖8 FPGA 實際輸出矢量誤差

設計傳統(tǒng)BP神經(jīng)網(wǎng)絡學習率為0.1,改進BP算法初始學習率為0.1,均為三層神經(jīng)網(wǎng)絡,激活函數(shù)為式(2).

對比使用PC端傳統(tǒng)的BP神經(jīng)網(wǎng)絡、改進的BP神經(jīng)網(wǎng)絡、及FPGA端使用傳統(tǒng)的BP神經(jīng)網(wǎng)絡、改進的BP神經(jīng)網(wǎng)絡訓練速率.PC端使用C語音完成設計,使用VS2013作為開發(fā)工具,使用CPU的主頻為3.6 GHz.FPGA使用文中的設計模塊.而由于FPGA不能直接計算算法消耗的時間,故從讀完Flash中的權(quán)值開始計數(shù),直到訓練完成輸出期望的數(shù)據(jù),計算消耗的周期,從而算出時間.

表1 不同平臺上算法的消耗時間 (單位:s)

由表1可以看出在經(jīng)過自適應學習率改進和使用硬件實現(xiàn)的BP神經(jīng)網(wǎng)絡,在完成預測的基礎上學習和訓練效率上提高了約200倍.

6 結(jié)束語

本文從冬季秸稈焚燒的火點入手,根據(jù)往年留下的大量數(shù)據(jù),設計了一種基于BP神經(jīng)網(wǎng)絡的改進模型,比之傳統(tǒng)的BP神經(jīng)網(wǎng)絡,其收斂速度提高了近10倍,從而大大加快了訓練的速度.與此同時利用FPGA可重構(gòu)技術(shù),將設計的模型在硬件上完成設計及實現(xiàn),對比輸出數(shù)據(jù),驗證了模型與FPGA設計的準確性.利用改進后的算法和FPGA硬件實現(xiàn)的神經(jīng)網(wǎng)絡,比之PC端的BP神經(jīng)網(wǎng)絡,運算速度獲得大大提高.這不僅在環(huán)境保護火點預防監(jiān)測有很大的應用前景,同時也為后期無人機及無人車的路線自動規(guī)劃提供了一定的理論基礎.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數(shù)模型及應用
p150Glued在帕金森病模型中的表達及分布
函數(shù)模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产麻豆精品久久一二三| 欧美精品H在线播放| 原味小视频在线www国产| 欧美三级日韩三级| 五月婷婷伊人网| 毛片久久久| 国产日韩欧美黄色片免费观看| 国产农村妇女精品一二区| 精品国产免费观看| 在线观看精品自拍视频| 免费女人18毛片a级毛片视频| 国产午夜无码片在线观看网站| 99在线小视频| 成人精品区| 日韩美女福利视频| 中文字幕在线视频免费| 色网站免费在线观看| 国产福利2021最新在线观看| 国产综合色在线视频播放线视| 波多野结衣一区二区三区88| 国产亚洲视频中文字幕视频| 超清无码一区二区三区| 午夜福利无码一区二区| 91探花国产综合在线精品| 午夜性刺激在线观看免费| 久久人搡人人玩人妻精品一| 99久久精品免费看国产电影| 91精品啪在线观看国产| 成年人国产网站| 亚洲天堂网在线视频| 四虎在线观看视频高清无码| 亚洲成人在线免费| 日本精品一在线观看视频| 亚洲综合在线网| 亚洲欧美日韩综合二区三区| 波多野结衣一区二区三区四区 | 亚洲成人精品在线| 啪啪啪亚洲无码| 国产高潮视频在线观看| 中文字幕在线播放不卡| 亚洲福利片无码最新在线播放| 日本尹人综合香蕉在线观看| 精品99在线观看| 日本尹人综合香蕉在线观看| 亚洲一区色| 国产欧美日韩视频怡春院| 亚洲免费人成影院| 亚洲国产日韩一区| 91丝袜乱伦| 亚洲日本中文字幕天堂网| 青青草原国产免费av观看| 国产福利在线免费观看| 亚洲国产成人超福利久久精品| 国产色婷婷| 亚洲国产中文在线二区三区免| 久久中文无码精品| 亚洲欧洲综合| 91美女在线| 亚洲综合激情另类专区| 91精品视频网站| 国产午夜精品一区二区三区软件| 国产女人18水真多毛片18精品| 在线观看国产精品第一区免费| 国产精品欧美激情| 高清大学生毛片一级| 最新国产成人剧情在线播放| 成人精品视频一区二区在线| 欧美亚洲欧美| 欧美日韩亚洲国产| 国产成人高清精品免费| 亚洲成人免费看| 3344在线观看无码| 亚洲天堂视频在线免费观看| h网址在线观看| 香蕉综合在线视频91| 国产真实二区一区在线亚洲| 91精品伊人久久大香线蕉| 91在线播放免费不卡无毒| 99精品国产自在现线观看| 亚洲成在线观看| 国产乱子伦精品视频| 中文无码伦av中文字幕|