王亞昶,姬曉曉
(河南省交通規(guī)劃設(shè)計研究院股份有限公司,河南 鄭州 450046)
隨著我國基礎(chǔ)工程建設(shè)的不斷發(fā)展,我國公路工程領(lǐng)域已經(jīng)步入了養(yǎng)護、建設(shè)并重的新階段,由此預(yù)防性養(yǎng)護的意義也就顯得越發(fā)突出。預(yù)防性養(yǎng)護的特點在于其具有主動性,能夠?qū)π阅苌刑幱诹己脿顟B(tài)但存在輕微病害的路面做出處理,以“防患于未然”的理念來改善公路服務(wù)質(zhì)量。但在當前的許多對路面的預(yù)防性養(yǎng)護中,決策的落實往往依賴于技術(shù)人員的經(jīng)驗判斷。出現(xiàn)這一現(xiàn)象的主要原因在于,開展預(yù)防性養(yǎng)護時路面結(jié)構(gòu)的病害發(fā)展還不夠深入,其尚可發(fā)揮預(yù)期服務(wù)作用,因此難以得到技術(shù)人員的關(guān)注。受到這樣的影響,預(yù)防性養(yǎng)護的科學性、經(jīng)濟性都難以得到保障,容易出現(xiàn)耗費了大量資金而達不到預(yù)期養(yǎng)護效果的現(xiàn)象,嚴重的甚至還會引發(fā)路面二次病害的發(fā)生[1-2]。針對多樣化的路面病害,做出詳細分級分類,并對各類病害制定相應(yīng)的決策及養(yǎng)護方案,基于BP 神經(jīng)網(wǎng)絡(luò)分別以病害樣本、養(yǎng)護措施來建立輸入及輸出,同時采用Matlab 所內(nèi)嵌BP 神經(jīng)網(wǎng)絡(luò)模塊對上述行為進行訓練、模擬。隨后,即可將采集到的病害信息導入其中,輸出端即可給出相應(yīng)的養(yǎng)護建議,避免由于經(jīng)驗決策帶來的主觀偏差。由此可以看出,采用Matlab參與瀝青路面預(yù)防性養(yǎng)護的決策具有突出現(xiàn)實意義。
神經(jīng)網(wǎng)絡(luò)作為一類由大量簡單處理單元集成而成的復(fù)雜系統(tǒng),盡管目前計算機運算能力已經(jīng)得到了極大的提升,但對于大批量、復(fù)雜化的變參計算仍難以表現(xiàn)出足夠的適應(yīng)能力,進而導致計算效率、精度不足。神經(jīng)網(wǎng)絡(luò)通過模仿人腦神經(jīng)細胞的連接方式來強化對復(fù)雜非線性數(shù)據(jù)的處理能力,可以很好地適應(yīng)這一運算需求[3]。此外,神經(jīng)網(wǎng)絡(luò)具有非線性映射能力,對于復(fù)雜環(huán)境的適應(yīng)性較好。
BP 神經(jīng)網(wǎng)絡(luò)是在深化分布式信息分析過程中所提出的一類方法。
一般而言,BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)主要可分為三個不同的部分,分別為輸入層、隱含層及輸出層??紤]到BP 神經(jīng)網(wǎng)絡(luò)所具有的特性,在對網(wǎng)絡(luò)開展訓練時,應(yīng)重點考慮隱含層數(shù)、神經(jīng)元數(shù)、傳遞函數(shù)等因素。
1.2.1 隱含層數(shù) 在隱含層數(shù)的選擇上,主要由單隱含層及多隱含層兩類,其中隱含層的個數(shù)越多,則神經(jīng)學習的層次、精度越高。
在實際神經(jīng)網(wǎng)絡(luò)的訓練中不僅應(yīng)當兼顧網(wǎng)絡(luò)精度、訓練時間兩者的關(guān)系。特別地,對于比較復(fù)雜的映射關(guān)系,一般可采取2~3 層的隱含層設(shè)計,這樣不僅能夠確保神經(jīng)網(wǎng)絡(luò)精度,同時還可以有效降低訓練時間。通過已有分BP 神經(jīng)網(wǎng)絡(luò)訓練經(jīng)驗來看,采用3 層神經(jīng)網(wǎng)絡(luò)進行訓練在非線性映射方面能夠展現(xiàn)出較強的適應(yīng)能力,幾乎可以映射出常見的所有函數(shù)關(guān)系,且其精度較為可靠,是一類智能、綜合的決策方式[4]。在本研究中選用3 層BP 神經(jīng)網(wǎng)絡(luò)。
1.2.2 神經(jīng)元數(shù) 實踐表明,對于輸入層而言,其神經(jīng)元數(shù)主要受到網(wǎng)絡(luò)的影響,對于不同的影響因素將有相對應(yīng)的神經(jīng)元,本研究中網(wǎng)絡(luò)的影響因素就是各級病害的分級依據(jù)。而輸出層的神經(jīng)元數(shù)則主要基于預(yù)測指標來確定,本研究中即為瀝青路面預(yù)防性養(yǎng)護的具體措施,所以可以將輸出神經(jīng)元定為一個。
此外,隱含層的節(jié)點數(shù)也顯著影響著神經(jīng)網(wǎng)絡(luò)訓練精度。針對復(fù)雜程度較大的問題,隱含層的節(jié)點數(shù)越多則誤差越小。但需要注意的是,隱含層數(shù)的增加會導致預(yù)測誤差的持續(xù)增大,且將引發(fā)訓練速度的下降,并導致擬合問題。所以,隱含層數(shù)、節(jié)點數(shù)應(yīng)當慎重選擇。在實際工作中,一般沒有固定的選擇方式,可在滿足精度的基礎(chǔ)上盡可能減少隱含層數(shù)。
為推斷隱含層數(shù)的合理范圍,在樣本內(nèi)選出1 000 組病害數(shù)據(jù)作為參考展開測試,并計算在不同節(jié)點數(shù)下的誤差、均方差等基本統(tǒng)計量,其結(jié)果整理見圖1。
圖1 不同節(jié)點數(shù)下神經(jīng)網(wǎng)絡(luò)的預(yù)測誤差
由圖1 可知,當隱含層數(shù)達到13 時,分析得到相應(yīng)的相對誤差水平為-0.252 3%、均方差水平為0.004 7,達到預(yù)測精度的預(yù)期要求,所以本研究選定隱含層數(shù)為13。
1.2.3 傳遞函數(shù)的選取 在確定選擇函數(shù)前應(yīng)當首
先對函數(shù)作預(yù)處理,一般可借助歸一化方法,其公式如下:
考慮到傳遞函數(shù)應(yīng)當具備可微的特性,因此在確定隱含層傳遞函數(shù)時大多采取S 型函數(shù),而對輸出層而言則可選用線性函數(shù)[5]。
在定義時可選擇的S 型函數(shù)主要可分為Log-Sigmoid、Tan-Sigmoid 兩類,這兩者的主要區(qū)別為值域存在差異。作為一類應(yīng)用廣泛的傳遞函數(shù),S 型函數(shù)能夠?qū)⑷我夥秶鷶?shù)據(jù)轉(zhuǎn)換到指定的值域內(nèi)進行輸出,進而幫助構(gòu)建非線性映射。
上文所指的線性函數(shù)即為purelin 函數(shù),也即斜率為1 的直線。能夠起到將凈輸入轉(zhuǎn)變?yōu)閮糨敵龅淖饔谩?/p>
充分考慮到不同傳遞函數(shù)所具有的特定,本研究在Matlab 內(nèi)分別將輸入層、輸出層函數(shù)默認為Tan-sigmoid 函數(shù)及purelin 函數(shù)。
1.2.4 權(quán)值和閾值 實踐表明,權(quán)值、閾值對于收斂速度存在直接影響,且間接決定著收斂難以程度及訓練時長。從S 型傳遞函數(shù)來看,若其參數(shù)值比較大,那么神經(jīng)元的輸入將接近值閾的邊界,難以使函數(shù)給出有效反饋。此外,在網(wǎng)絡(luò)測試時,為了修正權(quán)值、閾值,應(yīng)當確保誤差修正量、傳遞函數(shù)導數(shù)之間呈現(xiàn)出大致正比關(guān)系,但S 型函數(shù)閾值邊界處的斜率近似為0,這也就導致誤差修整量接近0,由此神經(jīng)網(wǎng)絡(luò)很容易出現(xiàn)局部最小值,難以收斂。
考慮到上述因素,本研究在選擇閾值、權(quán)值的初始值時,選定(-1,1)區(qū)間的隨機值,這樣也就能夠確保輸入值被控制在較小的范圍內(nèi),能夠使得傳遞函數(shù)做出有效反饋,加快收斂效率。
在根據(jù)工程實際條件初步確定BP 神經(jīng)網(wǎng)絡(luò)主要結(jié)構(gòu)參數(shù)后,即可導入病害集對網(wǎng)絡(luò)神經(jīng)展開訓練,并基于訓練的結(jié)果實時及時修正閾值、權(quán)值等,進而確保病害庫、措施庫之間所形成非線性映射關(guān)系的有效性。在標準神經(jīng)網(wǎng)絡(luò)算法中,網(wǎng)絡(luò)將逆誤差梯度來修正權(quán)值,所以這也可被看為梯度下降算法。由于這一算法自身所具有的局限性,神經(jīng)網(wǎng)絡(luò)也就表現(xiàn)出了收斂快、易出現(xiàn)局部最小的問題。
本研究在設(shè)定病害庫的參數(shù)時主要考慮以下內(nèi)容:裂縫尺寸、坑槽深度、車轍范圍、擁包高差等幾何參數(shù)。在訓練過程中不僅應(yīng)當針對單個病害的幾何參數(shù)、處理措施展開匹配訓練,同時還應(yīng)對所有病害參數(shù)的復(fù)合作用、處理措施開展匹配訓練,所以這一訓練方式應(yīng)當滿足數(shù)據(jù)量龐大、收斂快速的特點。反復(fù)比對上述訓練方法及其特性,最終采用L-M法進行訓練,這樣可以顯著節(jié)約訓練時間,且能夠?qū)Σ『ψ龀隹焖俜磻?yīng)。
由于采用Matlab 建立BP 神經(jīng)網(wǎng)絡(luò)時,只能在輸出、輸出端采用數(shù)字進行分析,因此在正式測試前應(yīng)當使病害庫、措施庫經(jīng)預(yù)處理轉(zhuǎn)化,便于Matlab 軟件的識別與運算。瀝青路面的病害類型比較繁多,且隨著投入運營時間的不斷推移,病害也將逐漸劣化,因此采用的預(yù)養(yǎng)護方式也就需要不斷調(diào)整。對于處于不同等級下的裂縫,可采取一種或多種復(fù)合措施開展養(yǎng)護,為了適應(yīng)Matlab 僅能對數(shù)字信息做出運算的特性,因此需要對養(yǎng)護措施做出編號。
一般而言,裂縫的產(chǎn)生與發(fā)展均具有一定的連續(xù)性,所以在借助神經(jīng)網(wǎng)絡(luò)進行模擬時,可采用隨機遍歷法來擬合其幾何特征。在本研究中可通過Matlab 內(nèi)嵌的rand 函數(shù)來取用幾何特征值,具體需要選取的數(shù)據(jù)量應(yīng)當結(jié)合實際運算量、經(jīng)驗來確定。結(jié)合已有的研究,在本研究中對各級裂縫共抽取出500 組數(shù)據(jù),組成500×5 分布的矩陣,以其作為訓練數(shù)據(jù)。將病害數(shù)據(jù)及其相應(yīng)養(yǎng)護措施導入至神經(jīng)網(wǎng)絡(luò)中訓練,并以病害數(shù)據(jù)(P)為輸入量、養(yǎng)護措施(Y)作為輸出量,以此即可建立起兩者間的非線性映射。
遵照上述流程構(gòu)建起映射關(guān)系后,再抽取建立500×5 的病害矩陣,并在其中隨機選擇200 個元素確保隨機性,以此形成200×5 的驗證矩陣。在Matlab 內(nèi)導入經(jīng)隨機遍歷法處理后的數(shù)據(jù),輸出參數(shù)即為相應(yīng)的養(yǎng)護措施編號。
而對于映射的訓練而言,則選擇新版newff 函數(shù)。特別地,新版newff 函數(shù)設(shè)定了net.divideFcn 屬性,將其值賦予為'dividerand'。通過這一函數(shù),能夠自動將樣本劃分為訓練集、驗證集及測試集三部分,且其默認比例為6:2:2,得到測試結(jié)果見圖2。
圖2 誤差迭代圖
圖2 中的短虛線部分即為經(jīng)訓練集處理得到的誤差下降曲線;長虛線即為導入驗證集得到的誤差下降曲線;實線即為導入測試集得到的誤差下降曲線。通過上圖可以發(fā)現(xiàn),經(jīng)過48 次迭代處理數(shù)據(jù)即達到收斂,相較于傳統(tǒng)分析所需要進行的數(shù)千次迭代,其在訓練效率上表現(xiàn)出突出的優(yōu)勢。
根據(jù)上述驗證過程得到橫縱裂縫病害、相應(yīng)養(yǎng)護措施之間的驗證結(jié)果見圖3。
圖3 預(yù)期輸出、實際輸出比對
圖3 中,實線部分即為預(yù)期輸出;虛線則為實際輸出。根據(jù)該圖可以發(fā)現(xiàn),盡管經(jīng)過訓練,但BP 神經(jīng)網(wǎng)絡(luò)仍具有一定的誤差,不過其擬合度已經(jīng)能夠基本滿足要求。而引起這一誤差的主要原因在于裂縫劃分等級為離散型。特別地,在通過BP 神經(jīng)網(wǎng)絡(luò)分析時需要借助四舍五入來得出決策閾值,譬如對于實際輸出為3.4 和3.5 的情況,3.4 會被輸出為編號3 養(yǎng)護,而3.5 則會被輸出為編號4 養(yǎng)護,但就實際情況來看,這兩者的裂縫病害程度差別較小,幾乎可視為無差別。
為了盡可能降低不必要的隨機誤差,以隨機選擇的方式重新抽取200 組數(shù)據(jù)來驗證以上所建立的映射關(guān)系,設(shè)定重復(fù)次數(shù)為20 次,以此來驗證、判定上述模型的可行性及精確性。這20 次驗證的正確率、迭代次數(shù)見圖4。
圖4 BP 神經(jīng)網(wǎng)絡(luò)的正確率、迭代次數(shù)
當通過訓練在BP 神經(jīng)網(wǎng)絡(luò)中對裂縫、養(yǎng)護措施構(gòu)建起可靠的映射關(guān)系后,隨機選用20 組不同數(shù)據(jù)對運算有效性進行驗證,即可得出其平均正確率達到了93.32%。通過以上分析可以明顯發(fā)現(xiàn),在通過Matlab 所構(gòu)建的BP 神經(jīng)網(wǎng)絡(luò)對路面裂縫病害開展養(yǎng)護決策時能夠表現(xiàn)出收斂快、效率高的優(yōu)勢,以此來幫助技術(shù)人員提出準確可靠的決策方案。
本研究從神經(jīng)網(wǎng)絡(luò)的基本原理、實現(xiàn)路徑出發(fā)展開論述,并結(jié)合Matlab 軟件建立路面病害、養(yǎng)護措施間的映射關(guān)系。研究通過1 000 組不同的隨機數(shù)據(jù)建立起有效映射關(guān)系并對這一神經(jīng)網(wǎng)絡(luò)展開驗證,結(jié)果表明準確率達到了93.32%,這也說明采用BP 神經(jīng)網(wǎng)絡(luò)對路面病害進行預(yù)防性養(yǎng)護決策兼具較好的適應(yīng)性及有效性。