紀(jì) 芳,侯一筠
(1.中國科學(xué)院海洋研究所,山東青島266071;2.中國科學(xué)院研究生院,北京100049)
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN),是1種模仿動(dòng)物行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型[1]。這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點(diǎn)之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。
互相連接的方式稱為連接模式。神經(jīng)元之間的連接強(qiáng)度稱為突觸權(quán)或連接權(quán)。當(dāng)網(wǎng)絡(luò)的連接權(quán)矩陣確定后,網(wǎng)絡(luò)的連接模式也就隨之確定。因此,連接模式也稱作網(wǎng)絡(luò)的連接權(quán)矩陣,它是對(duì)生物神經(jīng)網(wǎng)絡(luò)中的突觸連接強(qiáng)度的模仿。人工神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)和自適應(yīng)的能力,可以通過預(yù)先提供的一批相互對(duì)應(yīng)的輸入-輸出數(shù)據(jù),分析掌握兩者之間潛在的規(guī)律,最終根據(jù)這些規(guī)律,用新的輸入數(shù)據(jù)來推算輸出結(jié)果,這種學(xué)習(xí)分析的過程被稱為“訓(xùn)練”。
風(fēng)暴潮指由強(qiáng)烈大氣擾動(dòng),如熱帶氣旋(臺(tái)風(fēng))、溫帶氣旋(寒流)等引起的海面異常升高現(xiàn)象。沿海驗(yàn)潮站或河口水位站所記錄的海面升降,通常為天文潮、風(fēng)暴潮、地震及其他長波振動(dòng)引起海面變化的綜合特征。一般驗(yàn)潮裝置已經(jīng)濾掉了數(shù)秒級(jí)的短周期海浪引起的海面波動(dòng)。如果風(fēng)暴潮恰好與天文高潮相疊(尤其是與天文大潮期間的高潮相疊),加之風(fēng)暴潮往往夾狂風(fēng)惡浪而至,溯江河洪水而上,則常常使其影響所及的濱海區(qū)域潮水暴漲,甚者海潮沖毀海堤海塘,吞噬碼頭、城鎮(zhèn)和村莊,從而釀成巨大災(zāi)難[2]。因此對(duì)于風(fēng)暴潮的預(yù)報(bào),極為引人關(guān)注。海浪預(yù)報(bào)的難點(diǎn)在于產(chǎn)生浪的風(fēng)本身具有很大的隨機(jī)性和復(fù)雜性,造成浪的預(yù)報(bào)十分困難。關(guān)于海浪生成的物理機(jī)制,至今尚未得到十分圓滿的解決。因此,積極探索風(fēng)浪預(yù)報(bào)的新方法、新思路就顯得很有必要。
人工神經(jīng)網(wǎng)絡(luò)以其高度的非線性表達(dá)能力,比較適合于臺(tái)風(fēng)風(fēng)暴潮極值預(yù)報(bào)這一多因子、多目標(biāo)的擬合、預(yù)測(cè),其特有的拓?fù)浣Y(jié)構(gòu)和處理信息的方法,能夠有效地解決一些傳統(tǒng)方法難以解決的問題。它明顯的優(yōu)點(diǎn)是具有較好的自適應(yīng)學(xué)習(xí)和非線性映射能力,容錯(cuò)能力強(qiáng),預(yù)報(bào)速度快,比較適合處理那些物理機(jī)制復(fù)雜,因果關(guān)系和推理規(guī)則難以確定的非線性問題[3]。因此它的這些特點(diǎn)都為運(yùn)用到臺(tái)風(fēng)浪預(yù)報(bào)中提供了可能。
多層前饋神經(jīng)網(wǎng)絡(luò)的反傳學(xué)習(xí)理論(即BP)最早由Werbos在1974年提出,并由Rumelhart等在1985年發(fā)展為BP算法[4]。BP算法實(shí)際上是工程上最常用的最小均方誤差算法的1種廣義形式,它使用梯度最速下降搜索技術(shù),按網(wǎng)絡(luò)的實(shí)際輸出和期望輸出的均方誤差最小的準(zhǔn)則遞歸求解網(wǎng)絡(luò)的權(quán)值和各節(jié)點(diǎn)的閾值。
BP算法屬于有導(dǎo)師的學(xué)習(xí)算法[5]。其主要思想是,學(xué)習(xí)過程由信號(hào)的正向傳播與誤差的反向傳播兩個(gè)過程組成。正向傳播時(shí),輸入樣本從輸入層傳人,經(jīng)各隱含層逐層處理后,傳向輸出層。若輸出層的實(shí)際輸出與期望的輸出不符,則轉(zhuǎn)入誤差的反向傳播階段。將輸出誤差以某種形式通過隱含層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號(hào),此誤差信號(hào)即作為修正各單元權(quán)值的依據(jù)。信號(hào)正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程周而復(fù)始地進(jìn)行。此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可接受的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。對(duì)于m個(gè)學(xué)習(xí)樣本:X1…Xm,已知其對(duì)應(yīng)的輸出樣本為:Y1…Ym。學(xué)習(xí)的目的是用網(wǎng)絡(luò)的實(shí)際輸出O1…O m與目標(biāo)矢量Y1…Ym之間的誤差來修改其權(quán)值,使O與期望的Y盡量接近,即網(wǎng)絡(luò)的輸出層的誤差平方和達(dá)到最小。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 BP neural network structure
BP算法由于其具有實(shí)現(xiàn)任何復(fù)雜非線性映射的功能、具有自學(xué)習(xí)能力以及一定的推廣概括能力,在很多方面得到了廣泛的應(yīng)用。但是它也存在自身的限制和不足,其主要表現(xiàn)在它的訓(xùn)練過程的不確定上。主要缺點(diǎn)為:學(xué)習(xí)效率低、收斂速度慢;容易陷入局部極小點(diǎn);完全不能訓(xùn)練。Cauchy訓(xùn)練[4]雖然訓(xùn)練速度較慢,但它的最大長處是,在訓(xùn)練中,連接權(quán)的調(diào)整時(shí)隨機(jī)的,它有可能使網(wǎng)絡(luò)逃離局部極小點(diǎn)。因此,本文將結(jié)合Cauchy訓(xùn)練和BP算法得到1種改進(jìn)的BP算法。該算法具有BP算法的聯(lián)接權(quán)調(diào)整量確定的優(yōu)點(diǎn),又具有Cauchy算法中聯(lián)接權(quán)調(diào)整隨機(jī)性和試探性所帶來的可以逃離局部極小點(diǎn)的優(yōu)點(diǎn)。
BP算法與Cauchy算法相結(jié)合[4],由BP算法提供直接計(jì)算部分計(jì)算聯(lián)接權(quán)的調(diào)整量,wij=wij+Δwij;Cauchy算法提供隨機(jī)部分,按照Cauchy訓(xùn)練來計(jì)算聯(lián)接權(quán)的調(diào)整量。Δwij=α((1-β)δjoi+βΔwij′)+(1-α)Δ。α∈(0,1)為學(xué)習(xí)率,β∈(0,1)為沖量系數(shù)。
改進(jìn)算法的具體描述如下:
[1]初始化各層的聯(lián)接權(quán)矩陣W;定義人工溫度T的初值;初始化λ、控制精度ε
[2]E=0;
[3]從樣本集中取出一樣本(xP,yP);按均勻分布在[0,1]區(qū)間取一隨機(jī)數(shù)r;
若r<λ則執(zhí)行以下程序:
(a)計(jì)算出理想輸出與實(shí)際輸出的差EP;E=E+EP;計(jì)算輸出層調(diào)整權(quán)Δw;調(diào)整W(M);對(duì)每層神經(jīng)元按照指數(shù)平滑的方法計(jì)算;調(diào)整隱含層的W(h)。
若r>λ則執(zhí)行以下程序:
(b)計(jì)算其輸出與目標(biāo)函數(shù)E=({W});依次選取{W}中每一個(gè)W(h),按照Cauchy分布計(jì)算出W(h)的1個(gè)調(diào)整量ΔW(h);根據(jù){W(h)+ΔW(h)}重計(jì)算相應(yīng)目標(biāo)函數(shù)和輸出ΔE=E({W(h)+ΔW(h)})-E({W});E({W(h)+ΔW(h)});如果ΔE<0則調(diào)整W(h)為W(h)+ΔW(h);否則按照以下概率P(E({W(h)+ΔW(h)}))=exp(-來調(diào)整W(h)為W(h)+ΔW(h);
[4]如果E小于控制精度ε或T足夠小則結(jié)束,否則繼續(xù)[2]。
通常,BP神經(jīng)網(wǎng)絡(luò)的輸入變量即為待分析系統(tǒng)的影響因子或自變量數(shù),一般根據(jù)使用者需要求解問題來確定。輸出變量即為系統(tǒng)待分析的系統(tǒng)性能指標(biāo)或因變量,可以是1個(gè)或多個(gè)。影響臺(tái)風(fēng)風(fēng)暴潮的因素有很多。針對(duì)確定的預(yù)報(bào)地點(diǎn),它與該地點(diǎn)的風(fēng)區(qū)、風(fēng)時(shí)、風(fēng)速、風(fēng)向、底摩擦及研究海區(qū)海水深淺等有關(guān)。但是,對(duì)于某一確定地點(diǎn),除風(fēng)場(chǎng)外,其他因素對(duì)風(fēng)浪的影響可近似地認(rèn)為是相同的。風(fēng)速對(duì)風(fēng)暴潮有明顯的影響;在開闊海域,風(fēng)向?qū)︼L(fēng)暴潮浪高的影響具有各向同性的效果,但是在近岸海域,風(fēng)向的作用則有所不同。風(fēng)向不僅對(duì)風(fēng)暴潮的波向有重要影響,對(duì)風(fēng)暴潮的浪高也同樣作用顯著。另外,臺(tái)風(fēng)的移向、移速也是影響臺(tái)風(fēng)風(fēng)暴潮的重要因素。因此要做好臺(tái)風(fēng)風(fēng)暴潮的預(yù)報(bào)就要研究這些因素對(duì)臺(tái)風(fēng)浪的影響。
倘若選取的因子過多,會(huì)使得建立的網(wǎng)絡(luò)不夠穩(wěn)定,網(wǎng)絡(luò)模型對(duì)樣本擬合會(huì)存在擬合值上周期性小波的存在以及由此帶來的擬合誤差[6-7]。一般來說,臺(tái)風(fēng)風(fēng)速與臺(tái)風(fēng)風(fēng)暴潮極值浪高有較好的相關(guān)關(guān)系,通常風(fēng)速越大,所對(duì)應(yīng)的臺(tái)風(fēng)風(fēng)暴潮浪就越高;臺(tái)風(fēng)風(fēng)暴潮浪高與臺(tái)風(fēng)中心氣壓的對(duì)應(yīng)關(guān)系不是那么的明顯。臺(tái)風(fēng)風(fēng)暴潮浪高與臺(tái)風(fēng)中心距預(yù)報(bào)海區(qū)的距離關(guān)系顯著,臺(tái)風(fēng)中心距預(yù)報(bào)海區(qū)的距離越近,所對(duì)應(yīng)的浪高越高。因此,本文只選取對(duì)風(fēng)暴潮極值水位影響比較顯著的4個(gè)因子,即臺(tái)風(fēng)中心距預(yù)報(bào)海區(qū)距離、預(yù)報(bào)海區(qū)的臺(tái)風(fēng)強(qiáng)度、風(fēng)速和臺(tái)風(fēng)移速,作為輸入因子,而把臺(tái)風(fēng)風(fēng)暴潮的極值水位作為預(yù)報(bào)輸出因子,分別運(yùn)用BP算法和改進(jìn)的BP算法來構(gòu)建非線性風(fēng)暴潮極值水位網(wǎng)絡(luò)預(yù)報(bào)模型。
本文選取山東某站點(diǎn)的每年臺(tái)風(fēng)風(fēng)暴潮資料,分別運(yùn)用BP算法和改進(jìn)BP算法,建立臺(tái)風(fēng)強(qiáng)度、風(fēng)速、和臺(tái)風(fēng)移速與風(fēng)暴潮極值水位的非線性網(wǎng)絡(luò)預(yù)報(bào)模型。根據(jù)站點(diǎn)的每年臺(tái)風(fēng)風(fēng)暴潮資料,對(duì)該站的風(fēng)暴潮極值水位進(jìn)行預(yù)報(bào)。通過對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比比較,以此來驗(yàn)證改進(jìn)BP算法的可行性與準(zhǔn)確性。
在所取26個(gè)個(gè)例中,選取其中的20個(gè)個(gè)例,分別運(yùn)用2種算法對(duì)訓(xùn)練樣本進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練。為了加快計(jì)算和收斂的速度,對(duì)輸入因子作了歸一化處理。對(duì)訓(xùn)練樣本訓(xùn)練、擬合1 000步以后,實(shí)驗(yàn)結(jié)果見圖2(圖中*號(hào)為實(shí)際的極值水位值,實(shí)線為擬合曲線):
圖2(a) BP網(wǎng)絡(luò)訓(xùn)練樣本的極值水位擬合效果Fig.2(a) BP neural network sample fitted curve of maximum water stage
圖2(b) 改進(jìn)BP網(wǎng)絡(luò)訓(xùn)練樣本的極值水位擬合效果Fig.2(b) Imp roved BP neural netwo rk sample fitted curve of maximum water stage
從圖中可以看出,BP網(wǎng)絡(luò)模型與改進(jìn)的BP網(wǎng)絡(luò)模型都有很好的歷史樣本擬合能力。但是通過對(duì)比圖2(a)與圖2(b)可以看出,改進(jìn)的BP算法的實(shí)驗(yàn)效果要好于原來的BP算法,擬合程度要更高一些。在實(shí)際的運(yùn)用中,網(wǎng)絡(luò)好壞的關(guān)鍵是看能否說明網(wǎng)絡(luò)模型的預(yù)報(bào)結(jié)果。因此,取剩下的6個(gè)極值水位個(gè)例進(jìn)行檢驗(yàn),分別以BP網(wǎng)絡(luò)以及改進(jìn)的BP網(wǎng)絡(luò)運(yùn)用上述的技術(shù)原理與方法,網(wǎng)絡(luò)模型的預(yù)報(bào)極值水位實(shí)驗(yàn)結(jié)果見圖3。
從圖3(a)與圖3(b)可以看出,建立的網(wǎng)絡(luò)模型對(duì)預(yù)報(bào)極值水位的結(jié)果與實(shí)際值基本接近,只是個(gè)例2的預(yù)報(bào)結(jié)果與實(shí)際值相差較大一點(diǎn),但是從整體上看,預(yù)報(bào)結(jié)果是較為理想的,這就說明所建網(wǎng)絡(luò)模型對(duì)實(shí)際風(fēng)暴潮極值水位的描述和預(yù)報(bào)是可行、可用的。
圖3(a) BP網(wǎng)絡(luò)模型的預(yù)報(bào)極值水位檢驗(yàn)Fig.3(a) BP neural network sample test curve of maximum water stage
圖3(b) 改進(jìn)BP網(wǎng)絡(luò)模型的預(yù)報(bào)極值水位檢驗(yàn)Fig.3(a) Imp roved BP neural network sample test curve of maximum water stage
通過表1中BP網(wǎng)絡(luò)模型與改進(jìn)的BP網(wǎng)絡(luò)模型預(yù)報(bào)極值水位誤差對(duì)比,可以看出在訓(xùn)練擬合和檢驗(yàn)2方面,改進(jìn)的BP算法均比原先的BP算法效果要好。證明了改進(jìn)算法的正確性與可行性。
表1 BP與改進(jìn)BP網(wǎng)絡(luò)模型誤差對(duì)比圖Table 1 The error comparison of BP neural network and imp roved BP neural network
本文通過采用Cauchy訓(xùn)練與傳統(tǒng)BP算法相結(jié)合的方法,對(duì)傳統(tǒng)BP算法進(jìn)行了改進(jìn),并將改進(jìn)算法用于臺(tái)風(fēng)風(fēng)暴潮極值水位預(yù)報(bào)中。經(jīng)M atlab仿真實(shí)驗(yàn)結(jié)果表明,改進(jìn)的算法取得了令人滿意的效果,網(wǎng)絡(luò)所表現(xiàn)出的穩(wěn)定性以及準(zhǔn)確性都比傳統(tǒng)算法性能優(yōu)越。新的算法為神經(jīng)網(wǎng)絡(luò)算法的研究和訓(xùn)練拓寬了思路,提供了新的研究途徑,同時(shí)也為臺(tái)風(fēng)風(fēng)暴潮極值水位預(yù)測(cè)提供了新思路。
[1] 張韌.用MA TLAB中的Neural Network toolbox仿真赤道太平洋SST的預(yù)報(bào)模型[J].海洋科學(xué),2001,25(2):38-41.
[2] 沙文鈺.風(fēng)暴潮、浪數(shù)值預(yù)報(bào)[M].北京:海洋出版社,2004.
[3] 張立明.人工神經(jīng)網(wǎng)絡(luò)的模型及其應(yīng)用[M].上海:復(fù)旦大學(xué)出版社,1994:11.
[4] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001:55-56.
[5] Galvan M,Isasi P,A ler R,et al.A selective learning method to imp rove the generalization of multilayer feedforward neural networks[J].International Journal of Neural Systems,2001(2):167-177.
[6] 王科俊,王克成.神經(jīng)網(wǎng)絡(luò)建模、預(yù)報(bào)與控制[M].哈爾濱:哈爾濱工程大學(xué)出版社,1996:37.
[7] 薛彥廣,沙文鈺,徐海斌,等.人工神經(jīng)網(wǎng)絡(luò)在風(fēng)暴潮增水預(yù)報(bào)中的應(yīng)用[J].海洋預(yù)報(bào),2005,22(2):35.