模糊神經(jīng)網(wǎng)絡簡介
模糊神經(jīng)網(wǎng)絡就是模糊理論同神經(jīng)網(wǎng)絡相結(jié)合的產(chǎn)物,它匯集了神經(jīng)網(wǎng)絡與模糊理論的優(yōu)點,集學習、聯(lián)想、識別、信息處理于一體。
系統(tǒng)的復雜性與所要求的精確性之間存在尖銳矛盾,為此,通過模擬人類學習和自適應能力,人們提出了智能控制的思想。控制理論專家Austrom(1991)在IFAC 大會上指出:模糊邏輯控制、神經(jīng)網(wǎng)絡與專家控制是三種典型的智能控制方法。通常專家系統(tǒng)建立在專家經(jīng)驗上,并非建立在工業(yè)過程所產(chǎn)生的操作數(shù)據(jù)上,且一般復雜系統(tǒng)所具有的不精確性、不確定性就算領(lǐng)域?qū)<乙埠茈y把握,這使建立專家系統(tǒng)非常困難。而模糊邏輯和神經(jīng)網(wǎng)絡作為兩種典型的智能控制方法,各有優(yōu)缺,模糊邏輯與神經(jīng)網(wǎng)絡的融合———模糊神經(jīng)網(wǎng)絡(Fuzzy Neural Network)由于吸取了模糊邏輯和神經(jīng)網(wǎng)絡的優(yōu)點, 部分避免了兩者的缺點, 已經(jīng)成為當今智能控制研究的熱點之一
模糊邏輯(FL)、神經(jīng)網(wǎng)絡理論(NN)、遺傳算法(GA)、隨機推理(PR), 以及置信網(wǎng)絡、混沌理論和部分學習理論相融合,形成了一種協(xié)作體,這種融合并非雜亂無章地將模糊邏輯、神經(jīng)網(wǎng)絡和遺傳算法等進行拼湊,而是通過各種方法解決本領(lǐng)域的問題并相互取長補短,從而形成了各種方法的協(xié)作。從這個意義上講,各種方法是互補的, 而不是競爭的。在協(xié)作體中, 各種方法起著不同的作用。通過這種協(xié)作,產(chǎn)生了混合智能系統(tǒng)。模糊邏輯和神經(jīng)網(wǎng)絡都是重要的智能控制方法,將模糊邏輯和神經(jīng)網(wǎng)絡這兩種軟計算方法相結(jié)合, 取長補短, 形成一種協(xié)作體———模糊神經(jīng)網(wǎng)絡。
RTT作為網(wǎng)絡擁塞控制的重要參數(shù),能對網(wǎng)絡所發(fā)生的擁塞作出較早的反映。文獻[1]根據(jù)求得的RTT估計值,提出一種RTT驅(qū)動的擁塞控制算法,此算法在實時性和網(wǎng)絡狀態(tài)的震蕩抑制等方面,比基于丟包率的擁塞控制算法有明顯改善。
選取公式(1)來估計RTT的值:
RTTn+1=RTTn+gE (E=RTTm-RTTn) (1)
其中RTTm為當前所測得的RTT值;RTTn為上一探測包的平均RTT估值,g∈(0,1]。不同網(wǎng)絡或同一網(wǎng)絡的不同時段對g的選取有很大影響。文獻[2]針對可靠組播傳輸,提出了一種基于主動式網(wǎng)絡的往返行程時間估算策略,可靠組播協(xié)議借助這一策略可以有效地減少網(wǎng)絡中不必要的控制信息,根據(jù)網(wǎng)絡環(huán)境可以及時準確地確定進入網(wǎng)絡的數(shù)據(jù)包速率,從而提高整個組播組的吞吐量。RTT預測研究目前是一個熱點問題,對RTT進行精確預測很有意義。文獻[3]采用基于波形平滑指數(shù)和波形突變指數(shù)的滑動窗口加權(quán)平均RTT估計算法,對RTT值進行平滑估計。利用神經(jīng)網(wǎng)絡對RTT進行了預測,達到了較好的效果。但這僅限于網(wǎng)絡比較空閑的狀態(tài)下。利用算術(shù)平均濾波和BP網(wǎng)絡相結(jié)合的辦法,對RTT進行預測,在網(wǎng)絡較擁塞的情況下,預測結(jié)果不太理想。這是由于RTT誤差值隨著網(wǎng)絡負荷加重時也會增加,因為隊列延時和延時的抖動都會隨著網(wǎng)絡擁塞程度加重而明顯增加。另外,在網(wǎng)絡擁塞時會導致數(shù)據(jù)包或ACK包丟失,這些都會導致估計RTT的難度增加并且估計出的RTT值也不準確,出現(xiàn)一些波動,導致網(wǎng)絡有時出現(xiàn)訓練失控狀態(tài)。所以本文采用了低通濾波和MBP網(wǎng)絡相結(jié)合的預測策略。本文主要分析了RTT的特性,發(fā)現(xiàn)其有很強的高頻噪聲,采用低通濾波和MBP網(wǎng)絡相結(jié)合的RTT預測策略。實驗表明,即使在網(wǎng)絡狀況較忙的情況下,也能獲得很好的預測結(jié)果。
網(wǎng)絡往返延時特性
網(wǎng)絡環(huán)境和網(wǎng)絡設(shè)備的性能對數(shù)據(jù)吞吐量影響很大,致使網(wǎng)絡上的數(shù)據(jù)具有較強的隨機性,常常表現(xiàn)為短期的高頻噪聲。由于網(wǎng)絡中兩個節(jié)點之間的通信數(shù)據(jù)流可以有很多的路徑到達,如果每個數(shù)據(jù)包所流經(jīng)的路徑不同, RTT就可能不同;另一方面,即使每個數(shù)據(jù)包是經(jīng)由相同的路徑到達目的節(jié)點,但是由于這個路徑中的網(wǎng)絡設(shè)備是網(wǎng)絡共享的,在不同的數(shù)據(jù)包通過時網(wǎng)絡設(shè)備所承擔的數(shù)據(jù)傳送任務也不會相同,這就導致RTT也可能不相同,相關(guān)研究結(jié)果的準確性會受到這種短期噪聲導致的隨機性影響。
網(wǎng)絡狀況和網(wǎng)絡設(shè)備性能在較長期內(nèi)的參數(shù)是相對穩(wěn)定的。由于網(wǎng)絡數(shù)據(jù)是在隨機和穩(wěn)定這兩種因素的共同制約下產(chǎn)生的,所以濾波對于研究網(wǎng)絡數(shù)據(jù)是必不可少的,因為此時我們主要關(guān)注的是網(wǎng)絡節(jié)點的群體行為給予網(wǎng)絡數(shù)據(jù)的規(guī)律性。
RTT數(shù)據(jù)預處理
低通滑動濾波算法的思想為:取a為(0,1)之間的數(shù)據(jù),則:
本次濾波結(jié)果=(1-a)×本次采樣值+a×上次濾波結(jié)果。它的優(yōu)點在于對周期性的干擾具有很好的抑制作用,適用于波動頻率較高的場合。選取a=0.05。
RTT的測試實驗是在校園網(wǎng)上進行的。源節(jié)點和反饋節(jié)點分別位于天津職業(yè)技術(shù)師范大學和天津工業(yè)大學。在實驗中,每隔100ms就發(fā)送200個10bytes大小的TCP數(shù)據(jù)包,然后記錄發(fā)送時間和接收返回結(jié)果的時間,并計算它們的差值,差值就是RTT。
基于MBP網(wǎng)絡的RTT預測算法
圖1所示,RTT在網(wǎng)絡比較忙的時候,有極強的波動性,用BP網(wǎng)絡作為RTT智能預測器,采用低通濾波和BP網(wǎng)絡相結(jié)合的算法,預測曲線有太多毛刺,在RTT值突變更大的情況下,極容易出現(xiàn)失控現(xiàn)象。由于BP網(wǎng)絡是一種全反傳式的前向網(wǎng)絡,所以BP網(wǎng)絡學習算法的收斂速度很慢,即只要存在誤差反傳信號,網(wǎng)絡所有層的權(quán)值將會統(tǒng)一修正,這樣就會拖延學習時間。如果在修正神經(jīng)網(wǎng)絡的誤差反傳權(quán)值時增加一個協(xié)調(diào)器,該協(xié)調(diào)器把全反傳式網(wǎng)絡變成了局部反傳式網(wǎng)絡,則可大大提高網(wǎng)絡學習速率。對網(wǎng)絡的靈敏度的分析決定了協(xié)調(diào)器的協(xié)調(diào)方法,這里我們選用滑動濾波算法和降低網(wǎng)絡靈敏度的MBP算法相結(jié)合的策略,設(shè)計新的智能RTT預測器。
定義:是由信號的各種變化及擾動引起的網(wǎng)絡輸出變化,為網(wǎng)絡輸入,權(quán)值變化及辨識系統(tǒng)變化引起的總和誤差。對第i樣本,神經(jīng)網(wǎng)絡辨識器的靈敏度定義:
降低神經(jīng)網(wǎng)絡靈敏度的一種方法:
定理:在網(wǎng)絡輸入擾動、網(wǎng)絡參數(shù)變化或被辨識系統(tǒng)參數(shù)變化時,根據(jù)系統(tǒng)在被辨識過程中的誤差,動態(tài)地控制神經(jīng)網(wǎng)絡各層權(quán)值,特別是最末一級隱層到輸出層的權(quán)值矩陣(即輸出層的權(quán)值矩陣)修正,可以使網(wǎng)絡輸出的均方差快速減小,從而使網(wǎng)絡靈敏度降低。
所以當網(wǎng)絡參數(shù)變化時,降低網(wǎng)絡靈敏度的方法是動態(tài)地控制網(wǎng)絡各層,特別是輸出層的權(quán)值修正。
(1)在BP學習算法的基礎(chǔ)上,增加一個協(xié)調(diào)器放在網(wǎng)絡的誤差反向傳播信號線上,用于控制各層權(quán)值的修正。
(2)協(xié)調(diào)器控制網(wǎng)絡輸出層的權(quán)值陣隨著網(wǎng)絡的綜合誤差增大而增大。
(3)當訓練誤差為10%≤|e|《20%時,協(xié)調(diào)器控制網(wǎng)絡輸出層的權(quán)值矩陣減小,同時停止其他層權(quán)值的修正,使網(wǎng)絡靈敏度降低。
(4)當訓練誤差|e|《10%時,協(xié)調(diào)器只允許修正靠近網(wǎng)絡輸入層的第一或第二級隱層權(quán)值,同時停止修正網(wǎng)絡輸出層的權(quán)值陣和其他級隱層權(quán)值,網(wǎng)絡靈敏度再降低,使得輸出誤差達到允許值。
通過這種BP網(wǎng)絡改進算法,動態(tài)地將全局反向傳播式網(wǎng)絡變成局部反傳式網(wǎng)絡,可以使網(wǎng)絡學習速率大大提高,降低了網(wǎng)絡的靈敏度。
預測模型
由于測試的RTT數(shù)據(jù)序列是按時間順序排列的,它們之間這種統(tǒng)計意義上的關(guān)系不好用確定的函數(shù)或方程組來描述。
在用神經(jīng)網(wǎng)絡對RTT進行預測時,通常的做法是在已掌握的樣本數(shù)據(jù)之上對網(wǎng)絡進行訓練。假如希望用過去掌握的N(N≥1)個數(shù)據(jù)去預測未來的M(M≥1)個數(shù)據(jù),也就是進行M步預測,取N個相鄰的樣本為滑動窗,并將它們映射為M個值。如表1所示,該表把訓練數(shù)據(jù)分成K段長度為(N+M)而且有一定重疊的數(shù)據(jù)段,每一段的前N個數(shù)據(jù)作為網(wǎng)絡的輸入,后M個數(shù)據(jù)作為網(wǎng)絡的輸出。
實驗結(jié)果
在本次實驗中,選擇的網(wǎng)絡訓練樣本是前140個RTT數(shù)據(jù),其中每5個數(shù)據(jù)一組,作為神經(jīng)網(wǎng)絡的輸入向量,第6個數(shù)據(jù)作為目標向量,即取N=5,M=1,這樣可以得到135組訓練樣本。網(wǎng)絡的測試樣本用136~200之間的數(shù)據(jù)。
設(shè)計神經(jīng)網(wǎng)絡具有2個隱層,節(jié)點數(shù)目分別為3-9-9-1,在網(wǎng)絡比較忙的時候,預測結(jié)果和預測誤差如下:
在網(wǎng)絡比較忙的情況下,用BP網(wǎng)絡和FMBP網(wǎng)絡進行預測相比,最后10個預測值的預測誤差見表2.
網(wǎng)絡類型預測誤差:
DMBP1.245-0.300-1.528-0.913-0.125
可見,在網(wǎng)絡比較忙的情況下,用本文的預測算法依然可以使預測結(jié)果達到比較滿意的程度。
本文采用低通濾波和MBP網(wǎng)絡結(jié)合的算法對RTT進行預測,得到了不錯的結(jié)果。即使在網(wǎng)絡比較忙的情況下,也可以使預測結(jié)果達到比較滿意的程度。由于程序運行開始, RTT存在一個低通濾波的過程,會有一些短期的振蕩,但這并不影響算法的有效性。
評論