徐洪飛,咸云飛,吳佰勝
(中船重工信息科技有限公司,江蘇 連云港 222000)
隨著社會(huì)的不斷發(fā)展,橋梁建設(shè)在城市發(fā)展過程中扮演著越來越重要的角色[1]。其中鋼箱梁其作為一種非常典型的橋梁,其具備工藝簡單、施工方便等優(yōu)勢被越來越多的廣泛使用[2-4]。就目前的技術(shù)而言,鋼箱梁重要地方的焊接仍然通過人工來完成,其不可避免的導(dǎo)致焊接質(zhì)量存在差異。通過人工來判定焊接質(zhì)量不僅存在效率低下,而且存在大量的人為因素[5]。因此亟需一種能夠客觀評(píng)價(jià)鋼箱梁焊接質(zhì)量的方法。
2017年國務(wù)院頒發(fā)并實(shí)施《關(guān)于印發(fā)新一代人工智能發(fā)展規(guī)劃的通知》,其有效的推動(dòng)人工智能技術(shù)在鋼箱梁焊接質(zhì)量評(píng)估的發(fā)展[6-7]。基于此,本文設(shè)計(jì)了一種基于BP神經(jīng)網(wǎng)絡(luò)技術(shù)和模糊集合理論相結(jié)合的方法,能夠有效根據(jù)傳感器所測得信號(hào)對(duì)鋼箱梁焊接質(zhì)量做出評(píng)價(jià)。
BP神經(jīng)網(wǎng)絡(luò)通常采用單向傳播的多級(jí)前饋架構(gòu),通過建立輸入層、隱含層以及輸出層的非線性映射關(guān)系,可以將任意的多輸入與指定的多輸出通過S函數(shù)進(jìn)行數(shù)據(jù)的擬合。通常神經(jīng)元的輸出通過激活函數(shù)被映射到區(qū)間(0,1)。
BP神經(jīng)網(wǎng)絡(luò)將學(xué)習(xí)樣本送入到所建立網(wǎng)絡(luò)架構(gòu)中進(jìn)行學(xué)習(xí),計(jì)算神經(jīng)網(wǎng)絡(luò)輸出層的預(yù)測值與理想值誤差大小,將所得到的誤差逐級(jí)反饋并且更新權(quán)重的數(shù)值。通過不斷的循環(huán)迭代,直至BP神經(jīng)網(wǎng)絡(luò)的預(yù)測值與理想值的誤差滿足所設(shè)定的要求,則系統(tǒng)停止迭代。
本文根據(jù)實(shí)際需求建立一層輸入層、一層隱含層和一層輸出層的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其架構(gòu)如圖1所示。

圖1 BP神經(jīng)網(wǎng)絡(luò)示意圖
如上圖所示,x1,x2,…,xn是BP神經(jīng)網(wǎng)絡(luò)的輸入值,這里我們輸入傳感器所測得的信號(hào)值。Y1,Y2,…,Yn是BP神經(jīng)網(wǎng)絡(luò)輸出值,這里表示為概率大小。wij和wjk分別是輸入層到隱含層以及隱含層到輸出層權(quán)值,最初始的權(quán)重我們通過隨機(jī)初始化的方式。BP神經(jīng)網(wǎng)絡(luò)權(quán)重和閾值的更新可以通過BP神經(jīng)網(wǎng)絡(luò)反向傳播實(shí)現(xiàn)。
本文將輸入層、隱含層以及輸出神經(jīng)元的個(gè)數(shù)分別設(shè)定為n=5、l=10和m=5,同時(shí)將輸入量和輸出量分別用X和Y表示,隱含層和輸出層的閾值分別用a和b表示,學(xué)習(xí)率用η表示。對(duì)于所有的激活函數(shù)我們用S函數(shù)進(jìn)行表示,其表達(dá)式如下所示:
(1)
將輸入層的向量表示為:
X=(x1,x2,…,xi,…,xn)T
(2)
將輸入經(jīng)過隱含層得到隱含層的輸出,其可以表示為:
netj=w1jx1+w2jx2+…+wnjxn
(3)
將隱含層的輸出利用如下激活函數(shù)進(jìn)行非線性處理:
Hj=f(netj-aj)
(4)
因此可以得到隱含層的輸出為:
H=(H1,H2,...,Hj,…,Hl)T
(5)
經(jīng)過上述步驟的操作,我們將輸出層的輸入值表示為:
netk=w1kH1+w2kH2+...+wlkHl
(6)
輸出層經(jīng)過激活函數(shù)的非線性操作得到:
ok=g(netk-bk)
(7)
將BP神經(jīng)網(wǎng)絡(luò)的預(yù)測值與理想值做差,得到預(yù)測誤差e:
ek=Yk-Ok,k=1,2,…,m
(8)
將誤差進(jìn)行反向傳播,更新權(quán)重:
(9)
wjk=wjk+ηHjek
(10)
由于經(jīng)過BP神經(jīng)網(wǎng)絡(luò)輸出的值集中在區(qū)間(0,1),其不能很好的說明樣本之間的差異性。基于此,我們引入模糊規(guī)則來衡量不同焊接質(zhì)量的差異性。
根據(jù)BP神經(jīng)網(wǎng)絡(luò)的輸出、焊接速度來確定焊接質(zhì)量,因此將模糊系統(tǒng)的輸入量和輸出量分別均設(shè)定為2個(gè)和1個(gè)。
通過MATLAB/Simulink仿真分析對(duì)比以及前人實(shí)驗(yàn)經(jīng)驗(yàn)的總結(jié),我們將輸入和輸出的模糊論域均設(shè)定為[0,1]。為了實(shí)現(xiàn)良好的模糊效果以及實(shí)時(shí)性要求,將BP神經(jīng)網(wǎng)絡(luò)的輸出、焊接速度以及焊接質(zhì)量分為5個(gè)模糊子集,即用NB,NS,Z,PS,PB表示。
由于模糊函數(shù)的隸屬度函數(shù)復(fù)雜多樣,我們選擇常用的高斯型隸屬度函數(shù),如圖2-圖4所示。

圖2 概率隸屬度函數(shù)圖

圖3 焊接速度隸屬度函數(shù)圖

圖4 質(zhì)量評(píng)價(jià)隸屬度圖
根據(jù)已知經(jīng)驗(yàn),將焊接速度和BP神經(jīng)網(wǎng)絡(luò)的概率輸出建立模糊規(guī)則表(見表1)。

表1 模糊規(guī)則表
最終的模糊規(guī)則曲面如圖5所示。

圖5 模糊規(guī)則曲面圖
為了充分說明本算法的有效性,本文將傳統(tǒng)的BP算法與模糊BP算法相比較,設(shè)定迭代次數(shù)為200次,迭代誤差為0.01,結(jié)果如圖6所示。

圖6 迭代誤差曲線圖
如圖6所示,模糊BP神經(jīng)網(wǎng)絡(luò)在迭代次數(shù)為100次的時(shí)候,滿足系統(tǒng)迭代誤差,停止迭代,而BP神經(jīng)網(wǎng)絡(luò)在迭代次數(shù)為100次的時(shí)候,其迭代誤差為0.1。通過上述,有效說明了模糊BP神經(jīng)網(wǎng)絡(luò)的優(yōu)越性。
為了充分說明本文所提出算法的魯棒性,本文分別利用BP神經(jīng)網(wǎng)絡(luò)算法和模糊BP對(duì)實(shí)際焊接情況的20個(gè)樣本進(jìn)行測試,結(jié)果如圖7所示。

圖7 預(yù)測結(jié)果對(duì)比圖
圖中縱坐標(biāo)表示焊接質(zhì)量,分別用數(shù)字0,1,2,3,4進(jìn)行表示。橫坐標(biāo)表示樣本的序號(hào),共計(jì)測試20組樣本。綠色曲線為期望值曲線,藍(lán)色曲線代表為BP神經(jīng)網(wǎng)絡(luò)算法對(duì)焊接質(zhì)量的評(píng)估,紅色曲線代表模糊BP神經(jīng)網(wǎng)絡(luò)方法對(duì)焊接質(zhì)量的評(píng)估結(jié)果。從圖中可以看出,在誤差允許的范圍內(nèi),紅色曲線相比于藍(lán)色曲線更加接近于綠色曲線。經(jīng)過計(jì)算,利用BP神經(jīng)網(wǎng)絡(luò)算法對(duì)20組測試樣本預(yù)測正確的數(shù)量為17個(gè),其準(zhǔn)確率為85.0%。利用模糊BP神經(jīng)網(wǎng)絡(luò)算法對(duì)20組測試樣本預(yù)測正確的數(shù)量為19個(gè),其準(zhǔn)確率為95.0%。充分說明了本文所提出算法的有效性。