專利名稱:采用人造神經(jīng)網(wǎng)絡(luò)和遺傳算法的高速公路事件自動檢測系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及人造神經(jīng)網(wǎng)絡(luò),更具體地說涉及一種采用人造神經(jīng)網(wǎng)絡(luò)和遺傳算法的高速公路事件自動檢測系統(tǒng)的實現(xiàn)。
本發(fā)明背景在高速公路上的交通管理中,許多努力已經(jīng)集中到通過使交通流量均勻以及避免對司機造成險情,來提高交通安全性和現(xiàn)有公路網(wǎng)的使用效率。在現(xiàn)有的公路網(wǎng)中,通常由諸如交通延遲,意外事件,殘廢車輛,超載,維修以及其它事件引起的意外的干擾會破壞正常的交通流動。這導(dǎo)致公路網(wǎng)容量的減少?!笆录倍x為惡化公路安全條件的非再現(xiàn)事件。為了使一個交通管理系統(tǒng)是有效的,它必須能夠檢測意外的干擾,例如,通過一個事件自動檢測系統(tǒng),在某種意義上是可靠的和快速反應(yīng)的。
事件自動檢測系統(tǒng)通常包括兩個主要的部分,一個是交通檢測系統(tǒng)和另一個是事件檢測算法。交通檢測系統(tǒng)作為交通管理系統(tǒng)的一部分,可以獲得當前的交通數(shù)據(jù)。事件檢測算法整理由交通檢測系統(tǒng)取得的數(shù)據(jù)并確定事件或非再現(xiàn)堵塞存在或者不存在。通常,交通事件的檢測是基于觀察交通數(shù)據(jù)中的特殊中斷,并且事件檢測算法高度地依靠交通檢測系統(tǒng)。因此,作為用于整理被檢測的交通數(shù)據(jù)的檢測算法的神經(jīng)網(wǎng)絡(luò)的設(shè)計,意外的交通流動干擾的發(fā)生和位置的精確和快速的檢測對于交通監(jiān)視是重要的。具體地說,在這些領(lǐng)域內(nèi)不斷地尋求提高,以便駕駛員可以通過使用這項技術(shù)的實時旅行者信息服務(wù),從而,能夠進行交通路線的變換和緊急狀況服務(wù)的及時派遣。
在最近二十年里,從各種理論基礎(chǔ)上,已經(jīng)建議了許多種事件檢測算法。它們涉及從比較算法或模式比較算法到人造智能型的范圍。然而,它們的構(gòu)成在不同的混合程度、復(fù)雜性以及數(shù)據(jù)要求方面是不同的?,F(xiàn)有的算法諸如加利福尼亞,MacMaster和Minnesota算法被歸類為比較方法,而它們具有一些設(shè)計的不確定性和難度,尤其當缺少啟發(fā)式的知識時要決定臨界值具有不確定性和難度。人工智能型神經(jīng)網(wǎng)絡(luò)的提出已經(jīng)顯示成一個有希望的方法,除了這些類型要以特定的方式經(jīng)受大部分的手動設(shè)計之外。
因此,需要一種高速公路事故自動檢測系統(tǒng),把改良的神經(jīng)網(wǎng)絡(luò)設(shè)計性能組合到事件檢測軟件里,以對高速公路事件進行更有效和精確的檢測。
在一個實施例中,在選定的時間實例中交通阻塞事件的存在或不存在通過首先獲得和存儲交通數(shù)據(jù)被識別出來。至少一個神經(jīng)網(wǎng)絡(luò)被用于評估交通數(shù)據(jù),以確定一個特定的時間實例(instance)的事件狀態(tài)。利用優(yōu)化神經(jīng)網(wǎng)絡(luò)設(shè)計的后向繁殖和遺傳算法技術(shù)來更新神經(jīng)網(wǎng)絡(luò)。
在另一方面,交通數(shù)據(jù)儲存在一個數(shù)據(jù)服務(wù)器里,從數(shù)據(jù)服務(wù)器中產(chǎn)生模擬的交通數(shù)據(jù),該模擬的交通數(shù)據(jù)中帶有預(yù)定義的發(fā)生事件,這樣模擬的交通數(shù)據(jù)用作為優(yōu)化被更新的神經(jīng)網(wǎng)絡(luò)設(shè)計的輸入。
所用的交通數(shù)據(jù)可以被格式化為一排排數(shù)據(jù)集實例(instance),包括事件狀態(tài)、在上游交通測量站收集的時間實例時的交通量、在上游交通測量站收集的時間實例時的占有量、在下游測量點所收集的時間實例的交通量、和在下游測量點所收集的時間實例的占有量。
可以通過首先產(chǎn)生一個按照染色體編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的最初群體而實現(xiàn)神經(jīng)網(wǎng)絡(luò)的更新,每個候選方案分配有一個從性能估算中獲得的適合值(fitness value)。最初的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案從最佳到最壞分級排列,并且,全局記錄中保留一個最適合的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案。群體交配選擇操作被執(zhí)行,并且隨后對選定的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案進行交叉(crossover)和突變(mutation),以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體,從而通過基于分等級的選擇、交叉和突變來進行一個全局搜索。然后關(guān)于神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的后向繁殖訓(xùn)練操作被執(zhí)行,從而完成一個局部搜索,并且改進了神經(jīng)網(wǎng)絡(luò)的連接權(quán)重(weight),以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體。后向繁殖神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的適當性(fitness)被評估并且一個適當值被分配給它。然后代溝(generation gap)操作被執(zhí)行,它從神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的新群體和以前的群體中選擇一個候選方案,它將存在于下一進化過程中。遺傳繁殖的進化過程不斷重復(fù),直至達到停止的標準。
本發(fā)明的一個技術(shù)優(yōu)點是,與傳統(tǒng)的神經(jīng)遺傳設(shè)計方法相比,減少了NN的設(shè)計時間,傳統(tǒng)的神經(jīng)遺傳設(shè)計不具有多樣化探索的能力。另一個優(yōu)點是,鄰式搜索能力采用梯度引導(dǎo)的局部搜索技術(shù),通過具備這種鄰式搜索能力,而能夠處理更長的染色體長度,這從傳統(tǒng)的訓(xùn)練,即后向繁殖訓(xùn)練而自然地衍生出。這改善以下情況,即隨著染色體長度的增加,搜索空間成指數(shù)地增加,從而導(dǎo)致搜索時間更長,或者不能找到近乎最佳的解決辦法。
本發(fā)明的另一個技術(shù)優(yōu)點是,使用了實數(shù)編碼,從而避免了與通常使用于傳統(tǒng)的神經(jīng)-遺傳設(shè)計方法的二進制編碼關(guān)聯(lián)的“HammingCliffs”問題。靈活性也來源于多-模式編碼能力的實數(shù)編碼,多-模式編碼能力表示整數(shù)、符號以及實數(shù)值。因此在遺傳進化中,NN的結(jié)構(gòu)和連接性在值、類型以及存在形式方面得到優(yōu)化。
另外,本發(fā)明的一個技術(shù)優(yōu)點是,NN的每個輸入變量的適當性也在遺傳進化中得到優(yōu)化。
圖2表示
圖1系統(tǒng)的一個NN的結(jié)構(gòu)。
圖3表示圖1系統(tǒng)的輸入和輸出數(shù)據(jù)的格式。
圖4是采用遺傳算法的圖1系統(tǒng)所使用的NN設(shè)計的示意方框圖。
圖5是按照本發(fā)明采用遺傳算法的圖4的NN優(yōu)化方法的流程圖。
圖6是按照本發(fā)明采用后向繁殖的圖4的NN優(yōu)化方法的流程圖。
圖7表示采用圖5所示的方法對圖4中NN進行優(yōu)化的結(jié)構(gòu)。
發(fā)明的詳細描述眾所周知,神經(jīng)網(wǎng)絡(luò)(“NN”)在不同的條件下能夠表現(xiàn)數(shù)據(jù)的非線性變換。NN能夠通過提供優(yōu)于傳統(tǒng)的事件檢測算法,來識別空間的和時間的交通模式,而不需要交通模式的數(shù)學(xué)模型。參見,例如,R.L.Cheu的論文“用于高速公路車道-阻塞事件的自動檢測的神經(jīng)網(wǎng)絡(luò)模型”,加利福尼亞大學(xué),Irvine,1994,以及R.L.Cheu和S.G.Ritchie的文章“采用人造神經(jīng)網(wǎng)絡(luò)的高速公路事件車道-阻塞自動檢測”,Transp.Res.-C,1996,這兩篇文章中的全部內(nèi)容在此作為參考。
圖1是一個交通事件自動檢測系統(tǒng)100的系統(tǒng)方框圖,該系統(tǒng)100使用了本發(fā)明的神經(jīng)網(wǎng)絡(luò)和神經(jīng)網(wǎng)絡(luò)設(shè)計技術(shù)。
如圖1所示,交通事件檢測系統(tǒng)100通過檢測攝象機101和/或紅外線探測器102獲得當前交通數(shù)據(jù)。在大多數(shù)情況下,環(huán)路探測器將由于它的低安裝費用而被使用。此種交通數(shù)據(jù)可以包括,例如,容量、占有量以及速度。通過攝象機101和探測器102取得的交通數(shù)據(jù)由數(shù)據(jù)服務(wù)器104或其等效物收集,并且被實時儲存在它的數(shù)據(jù)庫里。數(shù)據(jù)服務(wù)器104隨后將格式化的交通數(shù)據(jù)提供給事件檢測系統(tǒng)106,該事件檢測系統(tǒng)106包含一個或更多個配置好的NN。每個NN隨后評估當前收集的交通數(shù)據(jù),以將此時間實例的事件狀態(tài)進行解碼。在此期間,歷史的交通數(shù)據(jù)將明確的表述在數(shù)據(jù)服務(wù)器104上并且送至一個通常稱為“FRESIM”108的高速公路仿真模型,它包含一個校準系統(tǒng),以獲得當前交通狀況的更精確的模型。任選地,F(xiàn)RESIM系統(tǒng)108使用歷史交通數(shù)據(jù)的輸入來產(chǎn)生帶有預(yù)定義事件發(fā)生的交通數(shù)據(jù)。通過FRESIM108產(chǎn)生的模擬數(shù)據(jù)然后被格式化,以輸入到帶有合并的遺傳算法的NN設(shè)計系統(tǒng)110。
不言而喻,系統(tǒng)100的部件,即服務(wù)器104,FRESIM108,NN設(shè)計系統(tǒng)110以及NN事件檢測系統(tǒng)106,可以用商業(yè)上可獲得的硬件來實現(xiàn),這些硬件已經(jīng)與計算機程序結(jié)合,以實現(xiàn)其功能。這些硬件包括處理器、含有計算機-可讀介質(zhì)的存儲器、輸入/輸出設(shè)備(包括外圍設(shè)備如顯示器或打印機)以及其它單元,這一點對本領(lǐng)域的普通技術(shù)人員來說將很好理解。此外,只要合適,這些部件同樣也可以配置成一個或多個不同的機器或作為單一機器來操作。系統(tǒng)100的程序設(shè)計方面可以以各種不同的方式組織和執(zhí)行,采用熟知的程序設(shè)計語言,這些都在本象下面對有關(guān)NN設(shè)計系統(tǒng)110的更詳細的描述那樣,通過系統(tǒng)用合作的方式工作來更新一個新的NN,從而適應(yīng)后來的交通狀況的事件檢測,后向繁殖設(shè)計技術(shù)和遺傳算法過程被執(zhí)行。一般地,一種歪斜的定時(skewed timing)被用于新NN的設(shè)計,以適應(yīng)于新的交通狀況。
在交通事件檢測系統(tǒng)100的NN的應(yīng)用中,一種簇方法被采用,其中,如果在交通指標落入事件-發(fā)生簇內(nèi),則一個警告將被激活。一般地,使用兩個簇,即,事件和無事件。在上游和下游,所選的交通指標可以包括下列因素容量、占有量和速度。過去的交通信息也考慮在該設(shè)計中。
交通事件檢測系統(tǒng)100的NN的一種典型結(jié)構(gòu)如圖2所示,并且用標號200表示。如圖所示,NN 200包括輸入層(layer)201、一個或多個隱藏層202以及輸出層204。對本領(lǐng)域的普通技術(shù)人員來說很明顯,層201,202,204的每一個都包含一個或多個神經(jīng)元。交通數(shù)據(jù)206,比如容量、占有量以及速度,輸入到NN 200,并通過輸入層201和決定部分208,即,“事件”或“無事件”,在輸出層204從NN200輸出。
對于對本領(lǐng)域的普通技術(shù)人員來說,可以看出,輸入層201通常具有一個神經(jīng)元,該神經(jīng)元用于每個被提供的輸入變量。輸入層201中的神經(jīng)元通常除了作為輸入變量值的緩沖區(qū)外沒有其它功能。每個隱藏層202處理來自輸入層或前面的隱藏層的信息,并且把結(jié)果提供給下一層。在操作時,NN 200的每個神經(jīng)元把在它的輸入端提供的信號求和,把總和乘以一組權(quán)重值,權(quán)重值是選定的或NN訓(xùn)練時確定的,并且給下一層的每一個神經(jīng)元提供一個加權(quán)的總和信號。這些加法和乘法步驟在每個層的神經(jīng)元中同時進行,始于輸入層201并且通過隱藏層以前向饋送方式進行到輸出層204以產(chǎn)生NN的輸出值。對于一個受過良好訓(xùn)練的NN,輸出值包括一個處理的輸出變量的預(yù)知值,這里的處理是基于所提供的輸入變量值。
一種NN訓(xùn)練方法是后向繁殖算法。由于后向繁殖算法操作對本領(lǐng)域的普通技術(shù)人員來說是熟知的,它的細節(jié)不必討論,除非它有助于本發(fā)明的理解。后向繁殖算法使連接到輸出層204的權(quán)重值可以由輸出誤差信號進行調(diào)整。該誤差是后向繁殖的,并且權(quán)重值是以倒序從輸出層204到輸入層201一層接一層地后向調(diào)整的。這個過程重復(fù)一個“世代(epoch)”,即,直到所有的訓(xùn)練數(shù)據(jù)都被使用。一個完整的訓(xùn)練過程一般需要許多世代以便獲得最佳的連接強度和相關(guān)的臨界值。成批和增量的學(xué)習(xí)方法使用于這樣的后向繁殖訓(xùn)練。采用成批學(xué)習(xí)方法的優(yōu)勢是以低的學(xué)習(xí)速度換取高的建模準確度的能力,而增量的學(xué)習(xí)方法可以提供一個更好的學(xué)習(xí)速度,又有更高的建模準確度。學(xué)習(xí)動力和學(xué)習(xí)速率也在后向繁殖訓(xùn)練中合并成學(xué)習(xí)效率。然而,采用后向繁殖作為設(shè)計的一種訓(xùn)練方法有一些缺點,包括(a)梯度指導(dǎo)(guidance)被嵌入后向繁殖訓(xùn)練中,并且它只被動地調(diào)整參數(shù)來消除誤差;因此,它不允許反映實際工程要求的修改誤差項。
(b)訓(xùn)練過的網(wǎng)絡(luò)參數(shù)可能在局部為最佳,而不引起多模式設(shè)計空間的全局匯聚。
(c)如果算術(shù)引導(dǎo)的最佳化被使用,則網(wǎng)絡(luò)的結(jié)構(gòu)和單種激活函數(shù)的使用(一般為S形功能)則必須在參數(shù)訓(xùn)練之前固定;以及(d)將設(shè)計人員擁有的關(guān)于NN的知識與專家的意見結(jié)合是困難的。
構(gòu)造最佳的NN是有問題的,因為每個NN的結(jié)構(gòu)隨著不同的數(shù)據(jù)和應(yīng)用的類型而不同。簡單地說,一個程序員理解一個復(fù)雜的NN是很難的。因此,組織NN的結(jié)構(gòu)經(jīng)常通過試驗和誤差實現(xiàn),采用知識表示的直覺的理解。在許多工程應(yīng)用中,通常需要一個專家來訓(xùn)練啟發(fā)式過程的固定結(jié)構(gòu)的NN,更不用說同時優(yōu)化該結(jié)構(gòu)。為了NN設(shè)計的具體化,采用事件檢測的后向繁殖,在設(shè)計過程中會遇見一些不確定性,包括(a)用于NN的隱藏層數(shù)目;(b)用于每個隱藏層的神經(jīng)元數(shù)目;(c)每個隱藏層的每個特定的神經(jīng)元的存在;(d)用于NN的每個神經(jīng)元的激活函數(shù)的類型選擇;(e)在包含偏置結(jié)點的神經(jīng)元之間每個連接的權(quán)重和存在;(f)每個輸入變量對于該網(wǎng)絡(luò)的適當性;以及(g)設(shè)計搜索的全局性。
在進化計算最近的發(fā)展中,如A.Haeeussler等人的文章“利用遺傳算法設(shè)計的神經(jīng)控制器”,在Eng.Sys.召開的關(guān)于GA的第一次IEE/IEEE國際會議創(chuàng)新和應(yīng)用,第536-542頁,(1995);Y.Li等人的文章“根據(jù)進化計算的線性和非線性控制系統(tǒng)設(shè)計的自動化”,IFAC青年自動化會議,中國,北京,(1995);以及Y.Li等人的文章“根據(jù)神經(jīng)計算的英國GDP宏觀經(jīng)濟模型的建立(Modeling)”,IFAC/IFIP/IFORS/SEDC討論會的預(yù)印本,國家和地區(qū)經(jīng)濟模型的建立和控制,澳大利亞(1995),所有的這些都被結(jié)合進來作為整體參考,它們描述了可用于解決上述缺點和不確定性的遺傳算法技術(shù)。如在下面詳細描述的,為了解決如此復(fù)雜的設(shè)計問題,系統(tǒng)100利用一個體系的和可重復(fù)使用的進化計算范例,并將精力集中在利用遺傳算法的設(shè)計自動化上。
NN設(shè)計的訓(xùn)練數(shù)據(jù)在下面有詳細描述,首先描述輸入數(shù)據(jù),然后描述輸出數(shù)據(jù)。輸入數(shù)據(jù)離線(off-line)訓(xùn)練和測試數(shù)據(jù)集首先從一個稱為FRESIM的校準的微觀高速公路交通仿真模型中產(chǎn)生,此模型即形式上所稱的INTRAS(“集成的交通仿真”),它被描述在D.A.Wicks和E.B.Lieberman的文章中“INTRAS的發(fā)展和測試,一種微觀的高速公路仿真模型”,聯(lián)邦的公路管理,1980(在下文中稱之為“INTRAS報告”),參數(shù)校準和高速公路動力學(xué)組件開發(fā),報告編號FHWA/AD-80/106,卷1,程序設(shè)計;它被結(jié)合于此作為參考。數(shù)據(jù)集包括幾百個交通測量數(shù)據(jù)塊。具體而言,兩個數(shù)據(jù)集將被格式化為一排排的數(shù)據(jù)集實例。這些數(shù)據(jù)集實例是在時間實例t,t-1,t-2,t-3和t-4中在一個上游交通測量站收集的主要交通量(交通工具/小時/車道),在時間實例t,t-1,t-2,t-3和t-4中在上游交通測量站收集的占有量(%),在時間實例t,t-1和t-2下游交通測量站收集的交通量(交通工具/小時/車道),在時間實例中t,t-1和t-2中下游交通測量站收集的占有量(%)。如上所述,歷史交通數(shù)據(jù)被考慮進來。在某些情況下,占有量、速度和容量的不同函數(shù)也被考慮,例如occ_dif(t)=occ(t)-occ(t-1)或occ_UpDn_dif=occup(t)-occdn(t)。
對于每個數(shù)據(jù)集有幾百個事件情況被模擬和產(chǎn)生。每個事件數(shù)據(jù)塊將持續(xù)一個合理的持續(xù)時間,該時間應(yīng)該考慮事件出現(xiàn)前后的正常交通狀況。事件的發(fā)生將考慮在上游和下游交通測量站之間的1車道和2車道中途阻塞的情形。在上游和下游交通測量站收集的數(shù)據(jù)實例將考慮分別出現(xiàn)在上游和下游交通測量站前后的場所的事件。在這些情況下,無事件狀態(tài)將分配給收集的數(shù)據(jù)實例。至于事件發(fā)生,車道阻塞將在一條高速公路的極左、中央、以及極右車道上考慮。
圖3表示輸入和輸出數(shù)據(jù)格式300,其中有序列號、下游和上游交通測量站號、數(shù)據(jù)塊號、時間標志、交通數(shù)據(jù)實例以及用于簡單數(shù)據(jù)檢索和復(fù)原的事件狀態(tài)。
在每個30或60秒的時間實例中,一排數(shù)據(jù)集由上游和下游交通測量站的數(shù)據(jù)組成,其中平均交通量,占有量以及速度將被饋送至NN,以用于設(shè)計。在采用遺傳算法的NN設(shè)計的訓(xùn)練階段,將使用總數(shù)為幾千排的數(shù)據(jù)集。一個相似大小的新建數(shù)據(jù)集也將被用于事件檢測性能的驗證或測試;然而,訓(xùn)練和測試數(shù)據(jù)的大小是主觀的并取決于網(wǎng)絡(luò)設(shè)計要求的范圍和準確性。
在線(on-line)設(shè)計中,微觀的高速公路交通仿真模型,F(xiàn)RESIM,可以自動地校準,以產(chǎn)生帶有預(yù)定義事件情況的訓(xùn)練和測試數(shù)據(jù)集?;蛘撸绻?xùn)練目標是可達到的,則人工篩選的(manually screened)實際交通數(shù)據(jù)也可以被收集,并使用于NN設(shè)計。輸出數(shù)據(jù)從圖3中可以看出,NN的輸出數(shù)據(jù)將與表示每個交通數(shù)據(jù)實例事件狀態(tài)的事件狀態(tài)列相比較。此數(shù)據(jù)列將被用作NN訓(xùn)練的目標值,尤其在離線設(shè)計中。因此,這種格式的NN設(shè)計有利于將目標和網(wǎng)絡(luò)輸出值之間的誤差最小化。
現(xiàn)在將開始描述采用遺傳算法的NN200的設(shè)計自動化和最佳化。遺傳算法,它基于在自然過程中用于生物學(xué)的繁殖和突變的達爾文的適者生存原理,用來使NN設(shè)計過程自動化。與自然的進化相比,此仿真過程是更有效的和可控制的,而對于人為最佳化也更有靈活性。這個方法已經(jīng)被證明在搜索時特別有效,盡管其貧乏地被理解以及設(shè)計空間不規(guī)則,并且該設(shè)計空間采用有限長度的字串表示法編碼的染色體。
一般地,本領(lǐng)域的普通技術(shù)人員可以意識到,對于一種功能的遺傳算法的應(yīng)用,第一步是將參數(shù)空間作為字串或數(shù)字的“染色體”(通常為二進制)進行編碼。對應(yīng)于該功能的參數(shù)的此種表示法的子串被優(yōu)化,而且每個染色體代表解決該具體問題的NN的“設(shè)計圖”。一個特定的單獨串代表功能參數(shù)空間的一個點。遺傳算法考慮到此種個體的群體。群體,加上對于每個個體(通常稱為“適當性”)的功能值,代表搜索最佳字串的狀態(tài)。一個具體的NN的適當性是在該問題上對其性能的一種組合量度,其中可以考慮學(xué)習(xí)速度、準確度、以及如NN大小和容量之類的成本因素。
遺傳算法是通過對群體的統(tǒng)計信息功能進行暗含(implicitly)編碼而進行的,并且利用該信息創(chuàng)建新個體。群體根據(jù)生殖計劃而循環(huán)地更新。通過首先按照適當性從以前的一代取樣而產(chǎn)生每個群體的新的“一代”;差別選擇所用的方法是一種已知的對搜索空間取樣的幾乎最佳方法。新近的字串是通過改變帶有遺傳算子的所選定的個體而建立的。其中,突出之處是通過把兩個取樣的個體段拼接在一起來合成新字串的交叉算子。
在許多實際問題中產(chǎn)生令人滿意結(jié)果的遺傳算法包括下列過程中的三個主要操作,它們是生殖、交叉和突變。
t←0產(chǎn)生最初的群體。
重復(fù)t←t+1從群體中選擇父母;選定的父母產(chǎn)生根據(jù)它們的個體適當性而加權(quán)的孩子(通過交叉和突變);擴展帶有孩子的群體;選擇擴展群體的最適當?shù)膫€體以在下一循環(huán)中生存。
直至找到滿意的一代輸出群體的最適宜情況(最終的解決辦法)交叉操作在父母對之間交換內(nèi)部表示部分,而突變改變基因的值。從最初的群體開始,遺傳算法從一代到另一代評估進化中每個可行的解決方法的適當性,直至滿足停止標準為止。每個可行的解決方法作為用字串表示法的染色體被編碼。遺傳算法已經(jīng)用來解決NN研究中不同類型的問題。一個典型的問題是確定保持NN拓撲結(jié)構(gòu)時克服局部最適宜的連接權(quán)重。遺傳算法的另一應(yīng)用是搜索NN的結(jié)構(gòu)。使用于與本發(fā)明連接的特定的遺傳算法將優(yōu)化連接權(quán)重和NN的結(jié)構(gòu),而且建立連接和偏置結(jié)點的存在、輸入數(shù)據(jù)的適當性、以及激活函數(shù)的選擇。因此,建議的遺傳算法將在搜索過程中使用實數(shù)(基因)編碼的染色體?;谶x擇方案的等級、多個交叉點、適合的突變方案、以及代溝假設(shè)也適用于遺傳算法。例如,減少的基于準則的和直接的實現(xiàn)或模糊邏輯控制系統(tǒng),在下述文章中已有描述,即K.C.Ng的博士論文“切換控制系統(tǒng)和通過遺傳算法的設(shè)計自動化”,Glasgow大學(xué),UK,1995,其全部內(nèi)容在此作為參考,并且它圖示了所需的方案和假說。
采用交通事件檢測系統(tǒng)100(圖1)的遺傳算法的NN設(shè)計的示意圖如圖4所示。參考圖4以及如圖1所示,F(xiàn)RESEM系統(tǒng)108產(chǎn)生模擬輸入/輸出數(shù)據(jù)400給NN設(shè)計系統(tǒng)110,系統(tǒng)110至少包括一個NN,如NN200(圖2),以及用于訓(xùn)練NN的遺傳算法402。
NN200通過結(jié)合成批和增量學(xué)習(xí)方案的混合組合的后向繁殖算法來訓(xùn)練,而遺傳算法用來優(yōu)化設(shè)計。采用的學(xué)習(xí)方案用來實現(xiàn)高學(xué)習(xí)速度和良好的建模準確度。
在此附上一個附錄,包括只用來做例證的程序設(shè)計代碼的表示法,可以用于執(zhí)行關(guān)于下面圖5和6中更完整描述的本發(fā)明的設(shè)計最佳化技術(shù)。對本領(lǐng)域的普通技術(shù)人員來說,可以知道,在本發(fā)明的范圍內(nèi)可以采用其它的代碼表示法。
圖5表示采用遺傳算法來優(yōu)化NN設(shè)計的流程圖500。在步驟501中,隨機產(chǎn)生的染色體(NN設(shè)計參數(shù)的實數(shù)表示法)的最初群體被建立。例如,群體的染色體可以格式化并表示如下實數(shù)編碼
注意每個設(shè)計參數(shù)只由一個沒有分解(resolution)限制的基因代表。
然而,還有其它編碼方法可用,例如,無符號整數(shù)編碼,就象K.C.Ng,的博士論文“切換控制系統(tǒng)和通過遺傳算法的設(shè)計自動化”,Glasgou大學(xué),UK,1995,所描述的那樣,其全部內(nèi)容結(jié)合在此作為參考,也可以用傳統(tǒng)的二進制編碼。對于兩種編碼方法表示法的例子給定如下無符號整數(shù)編碼(基數(shù)n) 注意該給定的實例采用10進制(base-10)編碼。每個設(shè)計參數(shù)通常由一個或多個基因代表,以符合分解要求。二進制編碼 注意每個設(shè)計參數(shù)通常由許多基因代表,以符合分解要求。
從上面的例子可以看出,與無符號整數(shù)編碼和實數(shù)編碼相比,因為每個編碼了的參數(shù)可以由一組采用1或0的基因代表,所以,二進制編碼可以輕易地增加染色體的長度。另外,“hamming cliffs”和分解問題容易在二進制和無符號整數(shù)編碼中遇見。為了避免擴展的染色體長度、“hamming cliffs”和分解問題,我們在利用接受染色體中的符號、整數(shù)和實數(shù)表示法的附加優(yōu)點時,采用了實數(shù)編碼技術(shù)。設(shè)計參數(shù),尤其是神經(jīng)網(wǎng)絡(luò)設(shè)計的參數(shù),包括(a)用于NN中的隱藏層數(shù)目;(b)用于每個隱藏層的神經(jīng)元數(shù)目;(c)每個隱藏層的每個具體神經(jīng)元的存在;(d)用于NN的每個神經(jīng)元的激活函數(shù)的類型選擇;(e)在包含偏置結(jié)點的神經(jīng)元之間每個連接的權(quán)重和存在;以及(f)每個輸入變量對于該網(wǎng)絡(luò)的適當性。用實數(shù)編碼的染色體的詳細表示法將稍后給出和討論。
在步驟502中,在步驟501中建立的群體居住者(inhabitants)依照它們的由(1)或(7)中功能度量的適當性分等級。在步驟503中(參見附錄),分等級的居住者產(chǎn)生一個最佳候選方案,其在步驟512中被輸入至評估過程BB(圖6),其中,它將經(jīng)歷后向繁殖訓(xùn)練操作的一個時期,以單獨探索局部搜索。
在步驟504中,一個選擇模塊被執(zhí)行,以找到用于繁殖的染色體的一組父母對。在繁殖中,第一對父母根據(jù)其適當性從頂端25%的群體中選定。第二對父母從由適當性排列的頂端50%和底端50%的群體中隨機地選定。如果第一和第二對父母是完全相同的,則第二對父母的重新選擇將被激活。在這種繁殖方法中,第一對父母將使用兩次,用于交叉操作的成對處理。在步驟506中,交叉模塊利用每個父母對來執(zhí)行,以交換它們的遺傳基因部分。遺傳基因部分是指在一些交叉點交換的一些小組基因,如5個點,帶有染色體的預(yù)定義段長度。預(yù)定義段內(nèi)的一個交叉點的位置是帶有一種可能性(如0.8)而隨機選定的。經(jīng)過這個操作,不同于它們的父母對的兩個新的染色體產(chǎn)生了。在步驟508中,突變模塊被執(zhí)行,以改變在步驟506中產(chǎn)生的兩個新的染色體的基因值?;蚴歉鶕?jù)概率(如0.05)而隨機選定的,以經(jīng)歷基因值隨機增減的突變。在步驟510中,最終的染色體被解碼成神經(jīng)網(wǎng)絡(luò)設(shè)計參數(shù),以構(gòu)造用于稍后網(wǎng)絡(luò)性能評估的網(wǎng)絡(luò)。染色體指神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案。解碼的細節(jié)稍后描述。在步驟512中,神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案通過對等式(1)或(7)所描述的適當性的全局量度來評估。它按照下列方式執(zhí)行。在評估期間,一組神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)饋送至網(wǎng)絡(luò),并且把網(wǎng)絡(luò)的輸出與目標輸出相比較。在這個過程中,后向繁殖訓(xùn)練也適當?shù)卮_定權(quán)重增加的數(shù)量,并且采用成批和增加權(quán)重更新的連接權(quán)重的調(diào)整。采用后向繁殖的局部訓(xùn)練之后,利用性能度量的訓(xùn)練數(shù)據(jù)組對網(wǎng)絡(luò)重新進行評估。網(wǎng)絡(luò)輸出和目標輸出之間的累積的設(shè)計誤差信息,如等式(2),(3),(4),(5)和(6)所表示的那樣,將被得到,并用于等式(1)或(7)。評估之后,每個神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案或染色體被分配有各自的適當值。
在步驟514中,因為連接權(quán)重已經(jīng)在訓(xùn)練期間改變了,染色體利用后向繁殖訓(xùn)練之后的改變的神經(jīng)網(wǎng)絡(luò)設(shè)計參數(shù)編碼。編碼通過把網(wǎng)絡(luò)設(shè)計參數(shù)值重新寫入染色體的各自的基因而被完成。它包括連接權(quán)重、隱藏層數(shù)目、每個隱藏層神經(jīng)元的數(shù)目、使用的激活函數(shù)類型、以及輸入數(shù)據(jù)的適當性等等。編碼細節(jié)稍后描述。
在步驟516中,確定是否已經(jīng)滿足停止標準。例如,世代(generations)的指定數(shù)目已經(jīng)達到或最佳記錄的適當值比世代的規(guī)定數(shù)目沒有更多提高,如20代。如果這樣,執(zhí)行結(jié)束;否則,執(zhí)行進入步驟518,其中代溝模塊518被執(zhí)行。
代溝模塊518允許優(yōu)良的遺傳基因傳遞到下一代,使得潛在地更好的解決辦法保留下來,并從而改進遺傳算法的集中率。該方案包括(a)如果與全局記錄的最佳適當性相比,新一代的適當性有提高,則把新一代最壞的染色體更換為老一代最佳的染色體;以及(b)當沒有提高時,把一組新一代染色體更換成根據(jù)其適當性分等級的老一代中相同大小的組,然后返回步驟502。
“最佳候選方案”是全局記錄的適當性最高的染色體。它的適當值用來確定代溝操作是否把新一代的一個染色體或一組染色體替換為老一代的。
圖6是一個時期內(nèi)采用后向繁殖的NN設(shè)計的流程圖600。在步驟601中,由FRESIM產(chǎn)生的輸入數(shù)據(jù)被提供,F(xiàn)RESIM是由McTrans中心(佛羅里達大學(xué),512 Well Hall,PO Box 116585,Gainesville,佛羅里達32611-6585)提供的商用系統(tǒng)。FRESIM的輸出數(shù)據(jù)以文本形式儲存在文件中,文件的格式在下面進行描述。
還參考圖4,輸入/輸出(I/O)數(shù)據(jù)模塊400包括“中間軟件”,以提取FRESIM的輸出數(shù)據(jù),并把數(shù)據(jù)n作成如圖3所示格式的表。
在步驟602,604,606和608中,分別執(zhí)行前向傳遞(forward pass)模塊、誤差模塊、后向傳遞(backward pass)模塊、和權(quán)重增加更新模塊。前向傳遞模塊使得網(wǎng)絡(luò)的每個神經(jīng)元能夠把輸入端提供的信號加起來,把總信號乘以一組關(guān)聯(lián)的權(quán)重,然后把加權(quán)的總信號提供給下一層的每一個神經(jīng)元。信號以前向饋送方式繁殖,通過隱藏層到輸出層,以產(chǎn)生網(wǎng)絡(luò)的輸出值。在前向傳遞模塊中,如每一個神經(jīng)元所做的,一種激活函數(shù)被選定,以產(chǎn)生輸出,繁殖到下一層。誤差模塊用來當與目標值相比較時,在輸出層執(zhí)行誤差計算。計算的誤差將被后向繁殖到前面的層,直到第一隱藏層。后向傳遞模塊執(zhí)行與前向傳遞模塊相似的任務(wù),但傳遞模式相反,其中總誤差信號后向繁殖到每一隱藏層。權(quán)重增加更新模塊在每個神經(jīng)元執(zhí)行一種計算,以確定輸入端加權(quán)連接所要求的改變數(shù)量。在步驟610中,確定是否時期的結(jié)束已經(jīng)到達。
對于訓(xùn)練方式,時期是用戶預(yù)定義的數(shù),定義訓(xùn)練數(shù)據(jù)的大小,它用于決定什么時候執(zhí)行成批權(quán)重更新模塊614或增加權(quán)重更新模塊612。如果不這樣,執(zhí)行過程進行到步驟612,增加權(quán)重更新模塊612重新執(zhí)行并且執(zhí)行過程返回到步驟600。如果在610,時期的結(jié)束已經(jīng)到達,執(zhí)行過程進行到步驟614,其中成批權(quán)重更新模塊被執(zhí)行。
成批權(quán)重更新模塊614用來行使每個連接權(quán)重所要求的數(shù)量改變,它在時期的結(jié)束時被執(zhí)行。當權(quán)重增加更新已經(jīng)計算了由通過每個數(shù)據(jù)輸入產(chǎn)生的每個誤差產(chǎn)生的改變數(shù)量時,增加權(quán)重更新模塊612立即改變連接權(quán)重。在步驟616中,類似于用于訓(xùn)練的輸入數(shù)據(jù)再次輸入到網(wǎng)絡(luò),以在成批權(quán)重更新和增加權(quán)重更新模塊完成改進之后,評估實際的網(wǎng)絡(luò)性能。在步驟618和620中,前向傳遞模塊和全局誤差模塊分別地執(zhí)行。
前向傳遞和全局誤差模塊618,620用來執(zhí)行實際的實現(xiàn)任務(wù),以利用新的連接權(quán)重計算網(wǎng)絡(luò)性能。在步驟622中,確定是否時期的結(jié)束點已經(jīng)到達。如果沒有,執(zhí)行返回步驟616;否則,執(zhí)行結(jié)束。
通常在采用遺傳算法的神經(jīng)網(wǎng)絡(luò)的設(shè)計中,過程包括下列遺傳算法準備設(shè)計步驟1)選擇染色體編碼方案的適當類型;2)定義在染色體中被編碼的參數(shù);3)對于最佳化目標制訂適當?shù)妮斎?輸出數(shù)據(jù)格式或評估模型;4)選擇適當?shù)哪繕撕瘮?shù)或適當性函數(shù);5)定義適當?shù)倪z傳算法以控制參數(shù),比如突變速率、交叉速率、交叉點數(shù)、群體大小數(shù)、停止標準;6)選擇適當?shù)倪x擇方案、突變方案和交叉方案以及代溝假設(shè);7)應(yīng)用適當?shù)乃阉?最優(yōu)化方法;以及8)使最初的群體適當?shù)爻跏蓟?,用現(xiàn)有的設(shè)計候選方案或染色體進行初始化。
對于準備階段,采用適當性的全局量度,它類似于最佳化的逆成本函數(shù)(inverse of a cost-function)。它是自定義的,并在設(shè)計人員和搜索算法之間提供接口,以獲得有效和最佳的設(shè)計。在對于編碼設(shè)計問題的進化過程中,染色體的群體根據(jù)反映評估性能指數(shù)的相對的個體適當性來更新。通常,分配有較高適當值的設(shè)計候選方案會具有在下一代中貢獻一個或多個子孫(“孩子”)的較高可能性。
因此,一種簡單的適當性函數(shù)反映所測假警報數(shù)與總事件數(shù)之比的低假警報率(“FAR1”)、所測假警報與總的無事件間隔之比的低假警報率(“FAR2”)、高檢測速率(“DR”)、總絕對誤差與總的最大絕對誤差之比的好的建模準確度(“MA”)、以及所有的檢測時間間隔之和與總給定狀態(tài)之比的高正確的輸出狀態(tài)性能(“CSP”),它由下式給出(1)f(Pi)=a*FAR1+b*FAR2+c*DR+d*MA+e*CSP這里,常數(shù)a,b,c,d和e用來依據(jù)優(yōu)先級或重點給每個個體因子分等級,比如FAR、DR、MA和CSP。a,b,c,d和e的典型值都是1.0。FARI,FAR2,DR,MA和CSP的等式如下(2)FAR1=1-[∑假警報數(shù)(False_Alarm_cases)/∑實際事件數(shù)(Actual_Incident_cases)](3)FAR2=1-[∑假警報間隔(False_A1arm_intervals)/∑實際無事件間隔(Actual_Incident_Free_intervals)](4)DR=∑檢測到的事件數(shù)(Detected_incidents_cases)/∑實際事件數(shù)(actual_Incident_cases)(5)MA=1-∑|err|/∑|errmax|(6)CSP=∑正確的輸出狀態(tài)(Correct_Output_State)/∑給定狀態(tài)(Given_Output_State)同樣地,為了相同的目標,不換算系數(shù)a,b,c,d和e,等式(1)可以重新定義如下(7)f(Pi)=a*FAR1*FAR2*DR+b*MA*CSP現(xiàn)在將詳細描述染色體的編碼。為了算法應(yīng)用和操作的簡易性,染色體的連接實數(shù)編碼被用于遺傳算法。因此編碼了的參數(shù)包括如下(a)用于NN的隱藏層數(shù)目;
(b)用于每個隱藏層的神經(jīng)元數(shù)目;(c)連接神經(jīng)元的權(quán)重,包含偏鏈(biased links);(d)輸入變量或輸入結(jié)點的存在的選擇;(e)每個隱藏層中每個具體的神經(jīng)元的存在;(f)用于NN每個神經(jīng)元的三種類型激活函數(shù)的選擇;以及(g)神經(jīng)元之間每個連接存在的選擇,包含偏鏈。
染色體長度的選擇將考慮具有要被優(yōu)化的參數(shù)的全部網(wǎng)絡(luò)配置。例如,假設(shè)隱藏層的最大數(shù)目是2,并且每個隱藏層神經(jīng)元的數(shù)目是30,那么,在大多數(shù)情況下,兩個隱藏層的最大數(shù)目對于許多應(yīng)用是正好夠的。為了使染色體的長度最小化,染色體的每個基因用來確定每個網(wǎng)絡(luò)參數(shù),比如一個鏈的權(quán)重、一個鏈的存在、一種激活函數(shù)的選擇、每個隱藏層結(jié)點的數(shù)目等等。
因此,其基因被用于事件檢測系統(tǒng)設(shè)計的格式化(formulated)染色體將需要一種編碼和一種解碼功能,如下面所示解碼
G1-用于確定隱藏層的數(shù)目。將實數(shù)值規(guī)范成1或2。上界是用戶定義的。C編碼的例子如下<pre listing-type="program-listing"><![CDATA[hiddenlayer=1+((int)fabs(chrom[p]*100.0))%MAX_H_LAYER;/*decoding*/chrom[p]=(hiddenlayer-1)*0.01;/*encoding*/]]></pre>
注意MAX_H_LAYER=2,p是基因位置的增量計數(shù)器。為了防止基因的實數(shù)值分解,染色體基因的編碼也在這里執(zhí)行。
G2-用于確定每個隱藏層神經(jīng)元的數(shù)目。將實數(shù)值規(guī)范成1到30的整數(shù)。上界是用戶定義的。一個C編碼的例子如下<pre listing-type="program-listing"><![CDATA[for(i=1;i<=MAX_H_LAYER;i++{neuron_in_layer[i]=1+((int)fabs (chrom[p]*1000.0))%MAXNEURON:/* decoding*/ chrom[p]=(neuron_in_layer[i]-1)*0.001; /*encoding*/}]]></pre>注意MAX_H_LAYER=2,p是基因位置的增量計數(shù)器。為了防止基因的實數(shù)值分解,染色體基因的編碼也在一個里執(zhí)行。
G3-用于確定包含偏鏈的從輸入層到輸出層的每個連接的權(quán)重。范圍=-3.4×10+38至3.4×10+38G4-用于確定NN所用的輸入變量的選擇。將實數(shù)值規(guī)范成1或0的整數(shù)值。一個C編碼的例子如下<pre listing-type="program-listing"><![CDATA[for (I=1;i<=Input_Size;i++){neuron_in_layer[i]=((int) fabs(chrom[p]*100.0))%2;/* decoding*/ chrom[p]=neuron_in_layer[i]* 0.01;/* encoding*/}]]></pre>注意Input_Size=24,p是基因位置的增量計數(shù)器。為防止基因的實數(shù)值分解,染色體基因的編碼也在這里執(zhí)行。
G5-用于確定每個隱藏層中每個特定的神經(jīng)元的存在。將實數(shù)值規(guī)范成1或0的整數(shù)值。C編碼的例子為上面給出的G4的例子。
G6-用于確定在S形、高斯和正切雙曲線形的激活函數(shù)中的選擇,這些激活函數(shù)用于每個神經(jīng)元中。將實數(shù)值規(guī)范成0、1或2的整數(shù)值。C編碼的例子如上面給出的G4的例子,其模數(shù)操作的值被設(shè)置為3。所使用的激活函數(shù)如下 其中,x表示結(jié)點的輸入,y表示結(jié)點的輸出,θ表示偏值,w表示前面的結(jié)點i和當前結(jié)點j之間鏈接的權(quán)重。
(9)正切雙曲線形y=1-e-2Σwyxj-θj1+e-2Σwyxj-θj]]>其中,x,y,θ和2如等式(8)中的定義(10)高斯形y=e|Σwyxj+θj|βσ]]>其中α,β,θ和w如等式(8)中的定義,并且α和β分別表示定義長度基數(shù)和高斯函數(shù)形狀的比例值。α和β值的解碼也在與結(jié)點位置相關(guān)的組G6中完成。
G7-用于確定包含偏鏈的從輸入層到輸出層的每個連接存在的選擇。將實數(shù)值規(guī)范成1或0的整數(shù)值。C編碼的例子為上面給出的G4的例子。
注意1和0的整數(shù)值分別代表網(wǎng)絡(luò)參數(shù)的存在和不存在。也要注意解碼染色體順序,以利用如下步驟形成網(wǎng)絡(luò)(ⅰ)確定染色體隱藏層的數(shù)目;
(ⅱ)利用(ⅰ),確定使用于每個隱藏層的神經(jīng)元的數(shù)目;(ⅲ)利用(ⅰ)和(ⅱ),確定每個隱藏層的每個具體神經(jīng)元的存在;(ⅳ)利用(ⅰ)和(ⅱ),確定在每個神經(jīng)元中使用的,在S形、高斯和正切雙曲線形的激活函數(shù)之間的選擇;(ⅴ)利用(ⅰ)和(ⅱ),確定包含偏鏈的從輸入層到輸出層的每個連接的存在的選擇;(ⅵ)利用(ⅰ)和(ⅱ),確定包含偏鏈的從輸入層到輸出層的每個連接的權(quán)重;以及(ⅶ)確定用于NN的輸入變量的選擇。編碼
組G3(連接權(quán)重)在該值由后向繁殖訓(xùn)練算法改變之后,將被重新編碼到關(guān)聯(lián)的染色體。參數(shù)組的剩余部分也將被重新編碼但被修改到由它們各自的因子100或1000分級的它們各自的實際表示值,如解碼函數(shù)所給出的。
現(xiàn)在將描述進化。在進化期間,兩個最佳化過程同時進行;即,利用后向繁殖訓(xùn)練的遺傳生殖過程和為了最佳記錄的設(shè)計候選方案的獨立的后向繁殖訓(xùn)練。在這種采用遺傳算法的自動設(shè)計方法中,如上所述,有必要規(guī)定群體大小和適當性函數(shù)。NN事件檢測設(shè)計的一個小的群體大小通常被選定,例如4,考慮到研究中的設(shè)計問題的數(shù)據(jù)大小和復(fù)雜性,并且這里描述的遺傳算法也具有一個微遺傳算法的相似性能。交叉率固定為0.8,適合的突變率范圍約從0.025到0.25,取決于父母和孩子之間的相似性。NN設(shè)計的動力和學(xué)習(xí)速率也分別地固定為0.7和0.01。
在NN的離線和在線設(shè)計中,現(xiàn)有的設(shè)計作為先驗知識,遺傳算法可以提供從現(xiàn)有的設(shè)計開始搜索的能力。采用先驗知識,系統(tǒng)設(shè)計人員可以首先進行具有編碼染色體的最初群體的設(shè)計,其余的最初群體可以利用隨機產(chǎn)生的染色體或由現(xiàn)有的設(shè)計突變的染色體補充。這保證了遺傳算法的良好開端,并且減少了設(shè)計時間。整個遺傳算法設(shè)計過程是可以選擇某一代比如20代完成,因此不改善最后的幾代,基操作是容易的并且自動化的。
圖7表示由遺傳算法推薦和優(yōu)化的NN結(jié)構(gòu)的一個例子。
在事件監(jiān)視中,選定的高速公路通常包括按探測站劃分的一些區(qū)域。結(jié)果,為了監(jiān)視高速公路的每個區(qū)域,需要具有不同結(jié)構(gòu)和參數(shù)的不同NN。在具有后向繁殖的NN的傳統(tǒng)的設(shè)計中,啟發(fā)式的知識和過去的經(jīng)驗是必需的,尤其是對于每個隱藏層所用的激活函數(shù)的類型、隱藏層的數(shù)目、和每個隱藏層神經(jīng)元的數(shù)目。另外,在每個層的神經(jīng)元之間的完整的連接配置通常假定從輸入層到輸出層。此種設(shè)計方法是特設(shè)的,并通過試驗-與-誤差過程而產(chǎn)生,而且消耗時間,尤其對于被監(jiān)視的高速公路的每個區(qū)域而設(shè)計多個不同的NN。
因此,采用人造的、多層的前向饋送的NN的事件自動檢測系統(tǒng)的開發(fā)成果被公開了,所述的NN是基于遺傳算法進化計算技術(shù)而設(shè)計的。采用這種“離線”計算范例,遺傳算法可以自動地推薦網(wǎng)絡(luò)配置、權(quán)重、存在、連接性隱藏層數(shù)目、每個隱藏層神經(jīng)元的數(shù)目、激活函數(shù)的類型以及輸入數(shù)據(jù)的選擇。比較的結(jié)果已經(jīng)說明這個被引導(dǎo)的進化導(dǎo)致全局最佳網(wǎng)絡(luò)以及更精確的結(jié)果。在適應(yīng)性應(yīng)用的NN在線設(shè)計中,遺傳算法將利用采用現(xiàn)有設(shè)計的先驗知識開始搜索過程。隨后,NN參數(shù)的歪斜時間更新將被用于自適應(yīng)。
再次參考圖1,通過從用遺傳算法優(yōu)化的編碼的染色體中得到神經(jīng)網(wǎng)絡(luò)設(shè)計參數(shù),事件檢測系統(tǒng)106實現(xiàn)一個指定的神經(jīng)網(wǎng)絡(luò)。具有其關(guān)聯(lián)的連接權(quán)重和其它設(shè)計參數(shù)的神經(jīng)網(wǎng)絡(luò)的每個配置被儲存在染色體中。因此,每個神經(jīng)網(wǎng)絡(luò)通過重新采用解碼函數(shù)可以重新構(gòu)造。在用于事件檢測的神經(jīng)網(wǎng)絡(luò)的執(zhí)行過程中,例如,通過采用前向傳遞和誤差計算模塊618,620,每個時間實例的交通數(shù)據(jù)將被評估,以認定事件狀態(tài)。
事件檢測系統(tǒng)106中的每個個體神經(jīng)網(wǎng)絡(luò)被周期性地更新。在染色體中編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計參數(shù)通過遺傳算法優(yōu)化之后,儲存在一個二進制文件中。通過更換一個具體神經(jīng)網(wǎng)絡(luò)中的現(xiàn)有染色體,儲存的染色體稍后被傳送到事件檢測系統(tǒng)106,以重新更新神經(jīng)網(wǎng)絡(luò)。
雖然本發(fā)明的實施例已經(jīng)被顯示和描述了,更寬范圍的修改、改變和替換都將包括在本發(fā)明所要保護的范圍之內(nèi)。在某些實例中,可以使用本發(fā)明的一些特征,而不使用其它特征。
權(quán)利要求
1.一種用于識別交通阻塞事件存在或不存在的交通事件自動檢測系統(tǒng),包括用于獲得交通數(shù)據(jù)的傳感器;用于收集和存儲由傳感器取得的交通數(shù)據(jù)的數(shù)據(jù)服務(wù)器;連接到數(shù)據(jù)服務(wù)器的事件檢測處理器,該事件檢測處理器包括至少一個用于評估交通數(shù)據(jù)以確定時間實例的事件狀態(tài)的神經(jīng)網(wǎng)絡(luò);以及一個神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng),用于更新至少一個在事件確定過程中由事件檢測處理器使用的神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)接收交通數(shù)據(jù)作為輸入,并利用后向繁殖和遺傳算法技術(shù)來優(yōu)化更新的神經(jīng)網(wǎng)絡(luò)的設(shè)計。
2.根據(jù)權(quán)利要求1所述的交通事件自動檢測系統(tǒng),其中,進一步包括一個仿真系統(tǒng),用于接收儲存在數(shù)據(jù)服務(wù)器的交通數(shù)據(jù),并且從此產(chǎn)生具有預(yù)定義事件發(fā)生的模擬交通數(shù)據(jù),因此,在優(yōu)化更新的神經(jīng)網(wǎng)絡(luò)設(shè)計中,該神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)接收模擬交通數(shù)據(jù)作為輸入。
3.根據(jù)權(quán)利要求1所述的交通事件自動檢測系統(tǒng),其中,輸入到該神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)的交通數(shù)據(jù)被格式化為一排排的數(shù)據(jù)集實例,包括事件狀態(tài)、在上游交通測量站收集的時間實例的交通量、在上游交通測量站收集的時間實例的占有量、在下游測量場所收集的時間實例的交通量、以及在下游測量場所收集的時間實例的占有量。
4.根據(jù)權(quán)利要求1所述的交通事件自動檢測系統(tǒng),其中,神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)產(chǎn)生一個以染色體編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的最初群體,每個候選方案被分配有從性能評估中獲得的適當值,執(zhí)行關(guān)于該候選方案的遺傳生殖的遺傳進化過程,直至達到停止標準,以產(chǎn)生一個更新的神經(jīng)網(wǎng)絡(luò)。
5.根據(jù)權(quán)利要求1所述的交通事件自動檢測系統(tǒng),其中,通過從一個由神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)優(yōu)化的編碼的染色體中得到神經(jīng)網(wǎng)絡(luò)參數(shù),事件檢測處理器實現(xiàn)一個神經(jīng)網(wǎng)絡(luò),具有其關(guān)聯(lián)的連接權(quán)重的每個神經(jīng)網(wǎng)絡(luò)的配置被儲存在染色體中,于是解碼功能被實現(xiàn),以重建神經(jīng)網(wǎng)絡(luò),而且,通過執(zhí)行前向傳遞和誤差計算功能,每個時間實例的交通數(shù)據(jù)被評估,以認定其事件狀態(tài)。
6.根據(jù)權(quán)利要求5所述的事件自動檢測系統(tǒng),其中,編碼的染色體的神經(jīng)網(wǎng)絡(luò)設(shè)計參數(shù)在被優(yōu)化之后儲存在一個二進制文件中,隨后輸入到事件檢測系統(tǒng),以通過更換神經(jīng)網(wǎng)絡(luò)的已有染色體來更新神經(jīng)網(wǎng)絡(luò)。
7.根據(jù)權(quán)利要求1所述的交通事件自動檢測系統(tǒng),其中,神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)產(chǎn)生一個以染色體編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的最初群體,每個候選方案被分配有從性能評估獲得的適當值,執(zhí)行關(guān)于該候選方案的遺傳生殖的遺傳的進化過程,直至達到停止標準,以產(chǎn)生一個更新的神經(jīng)網(wǎng)絡(luò);遺傳的進化過程由計算機程序指令執(zhí)行,包括(ⅰ)用于產(chǎn)生以染色體編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的最初群體的指令,每個候選方案被分配有一個從性能評估獲得的適當值;(ⅱ)用于把最初的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案從最佳到最壞分等級以及將迄今為止保留的最佳適當神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的全局記錄進行保持的指令;(ⅲ)指令,用于執(zhí)行群體交配選擇操作,隨后對選定的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的交叉和突變操作,以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體,從而全局搜索通過基于分等級的選擇、交叉和突變操作被執(zhí)行;(ⅳ)指令,用于解碼新群體中的每個染色體,以構(gòu)造一個神經(jīng)網(wǎng)絡(luò),并且用于執(zhí)行至少一個后向繁殖訓(xùn)練操作的時期,從而執(zhí)行一個局部搜索,神經(jīng)網(wǎng)絡(luò)連接權(quán)重被改進;(ⅴ)指令,用于評估后向繁殖神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的適當性,并且對于預(yù)先解碼的染色體,編碼設(shè)計參數(shù)回到每個都有一個與之關(guān)聯(lián)的指定適當值的染色體,從而產(chǎn)生一個神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的新群體;(ⅵ)指令,用于執(zhí)行從以前的和新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體中選擇候選方案的代溝操作,該群體將生存至下一次進化;以及(ⅶ)指令,用于重復(fù)遺傳生殖的進化過程,直至達到停止標準。
8.根據(jù)權(quán)利要求7的神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng),其中,用于執(zhí)行至少一個后向繁殖訓(xùn)練操作的指令包括用于執(zhí)行成批和增量學(xué)習(xí)方案的指令。
9.根據(jù)權(quán)利要求7的神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng),其中,用于執(zhí)行至少一個后向繁殖訓(xùn)練操作的指令包括用于進行至少一個時期的后向繁殖訓(xùn)練的指令,該后向繁殖訓(xùn)練用于從以前的群體到新的群體迄今為止保留的最佳神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案。
10.根據(jù)權(quán)利要求7的神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng),其中,用于評估后向繁殖的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的適當性的指令包括用于執(zhí)行一個實際的實現(xiàn)任務(wù)以為該神經(jīng)網(wǎng)絡(luò)候選方案計算具有新連接權(quán)重的性能的指令。
11.一個具體記錄在計算機可讀介質(zhì)中的計算機程序,用于在一個計算機系統(tǒng)上實現(xiàn)自動地識別給定的時間實例的交通阻塞事件的存在或不存在,該程序優(yōu)化神經(jīng)網(wǎng)絡(luò)的設(shè)計,使其評估交通數(shù)據(jù)來確定事件狀態(tài),該程序包括執(zhí)行下列步驟的指令(ⅰ)產(chǎn)生以染色體編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的最初群體,每個候選方案被分配一個從性能評估獲得的適當值;(ⅱ)把最初的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案從最佳到最壞分等級以及保持迄今為止保留的最佳適當神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的全局記錄;(ⅲ)執(zhí)行群體交配選擇操作,并且隨后對選定的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案進行交叉和突變操作,以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體,從而一個全局搜索通過基于分等級的選擇、交叉和突變操作被執(zhí)行;(ⅳ)執(zhí)行對神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的后向繁殖訓(xùn)練操作,從而完成一個局部搜索,并且神經(jīng)網(wǎng)絡(luò)的連接權(quán)重被改進,以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體。(ⅴ)評估后向繁殖的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的適當性并對其分配一個適當值;(ⅵ)執(zhí)行代溝操作,該代溝操作從新的和以前的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體中選擇候選方案,該群體將生存至下一次進化;以及(ⅶ)重復(fù)步驟(ⅱ)到步驟(ⅵ)的遺傳生殖進化過程,直至達到停止標準。
12.根據(jù)權(quán)利要求11的程序,其中,執(zhí)行至少一個后向繁殖訓(xùn)練操作的步驟包括執(zhí)行成批和增量學(xué)習(xí)方案。
13.根據(jù)權(quán)利要求11所述的程序,其中,執(zhí)行至少一個后向繁殖訓(xùn)練操作的步驟包括執(zhí)行至少一個時期的后向繁殖訓(xùn)練,后向繁殖訓(xùn)練用于從以前的群體到新的群體迄今為止保留的最佳神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案。
14.根據(jù)權(quán)利要求11所述的程序,其中,評估后向繁殖的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的適當性的步驟包括執(zhí)行一個實際的實現(xiàn)任務(wù)以為該神經(jīng)網(wǎng)絡(luò)候選方案計算具有新連接權(quán)重的性能。
15.一種為了識別在選定的時間實例中交通阻塞事件存在或不存在的方法,包括下列步驟獲得交通數(shù)據(jù);存儲取得的交通數(shù)據(jù);采用至少一個神經(jīng)網(wǎng)絡(luò)來評估交通數(shù)據(jù),以確定一個具體的時間實例的事件狀態(tài);以及更新至少一個利用后向繁殖和遺傳算法技術(shù)的神經(jīng)網(wǎng)絡(luò),以優(yōu)化神經(jīng)網(wǎng)絡(luò)設(shè)計。
16.根據(jù)權(quán)利要求15所述的方法,進一步包括一個接收儲存在數(shù)據(jù)服務(wù)器中的交通數(shù)據(jù)并從此產(chǎn)生具有預(yù)定義事件發(fā)生的模擬交通數(shù)據(jù)的步驟,因此,在優(yōu)化更新的神經(jīng)網(wǎng)絡(luò)設(shè)計中,模擬的交通數(shù)據(jù)被用作為輸入。
17.根據(jù)權(quán)利要求15所述的方法,其中,輸入到該神經(jīng)網(wǎng)絡(luò)設(shè)計系統(tǒng)的交通數(shù)據(jù)被格式化為一排排的數(shù)據(jù)集實例,包括事件狀態(tài)、在上游交通測量站收集的時間實例的交通量、在上游交通測量站收集的時間實例的占有量、在下游測量場所收集的時間實例的交通量、和在下游測量場所收集的時間實例的占有量。
18.根據(jù)權(quán)利要求15所述的方法,其中,更新神經(jīng)網(wǎng)絡(luò)的步驟進一步包括下列步驟(ⅰ)產(chǎn)生以染色體編碼的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的最初群體,每個候選方案被分配一個從性能評估獲得的適當值;(ⅱ)把最初的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案從最佳到最壞分等級,以及保持迄今為止保留的最佳適當神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的全局記錄;(ⅲ)執(zhí)行群體交配選擇操作,隨后對選定的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案進行交叉和突變操作,以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體,從而一個全局搜索通過基于分等級的選擇、交叉和突變操作被執(zhí)行;(ⅳ)執(zhí)行關(guān)于神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的后向繁殖訓(xùn)練操作,從而完成一個局部搜索,并且神經(jīng)網(wǎng)絡(luò)的連接權(quán)重被改進,以產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體;(ⅴ)評估后向繁殖的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案的適當性,并對其分配一個適當值;(ⅵ)執(zhí)行代溝操作,該代溝操作從新的和以前的神經(jīng)網(wǎng)絡(luò)設(shè)計候選方案群體中選擇候選方案,該群體將生存至下一次進化;以及(ⅶ)重復(fù)步驟(ⅱ)到步驟(ⅵ)的遺傳生殖進化過程,直至達到停止標準。
19.一種構(gòu)造染色體字串的方法,該方法用于對交通事件自動檢測系統(tǒng)中所使用的神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進行編碼,以識別交通阻塞事件的存在或不存在,并且該方法還用于確定神經(jīng)網(wǎng)絡(luò)的神經(jīng)元之間的每個連接的權(quán)重,這種方法包括下列步驟ⅰ)確定一個在神經(jīng)網(wǎng)絡(luò)中用于多個隱藏層的染色體內(nèi)的最大數(shù)目的基因;ⅱ)確定每個隱藏層中用于多個神經(jīng)元的染色體內(nèi)的最大數(shù)目的基因;ⅲ)確定每個隱藏層中用于每個具體的神經(jīng)元存在的染色體內(nèi)的最大數(shù)目的基因;ⅳ)確定神經(jīng)網(wǎng)絡(luò)的每個神經(jīng)元中用于激活函數(shù)三種類型之間選擇的染色體內(nèi)的最大數(shù)目的基因;ⅴ)確定用于神經(jīng)元連接權(quán)重的染色體內(nèi)的最大數(shù)目的基因;ⅵ)確定用于神經(jīng)元之間每個連接的存在的選擇的染色體內(nèi)的最大數(shù)目的基因;ⅶ)確定用于輸入變量或輸入結(jié)點的存在的選擇的染色體內(nèi)的最大數(shù)目的基因;以及ⅷ)把最大的網(wǎng)絡(luò)配置和參數(shù)編碼至一個染色體。
20.一種用于識別在選定的時間實例中交通阻塞事件存在或不存在的方法,其包括步驟存儲取得的交通數(shù)據(jù);利用遺傳算法技術(shù)以在評估交通數(shù)據(jù)中優(yōu)化神經(jīng)網(wǎng)絡(luò)的設(shè)計;利用神經(jīng)網(wǎng)絡(luò)來評估交通數(shù)據(jù),以確定具體時間實例的事件狀態(tài),通過由遺傳算法技術(shù)優(yōu)化的編碼的染色體得到神經(jīng)網(wǎng)絡(luò)參數(shù),神經(jīng)網(wǎng)絡(luò)被實現(xiàn),執(zhí)行解碼功能來重建神經(jīng)網(wǎng)絡(luò),并執(zhí)行前向傳遞和誤差計算功能,以認定事件狀態(tài)。
全文摘要
本發(fā)明公開了一種用于高速公路上自動檢測事件的神經(jīng)網(wǎng)絡(luò)的設(shè)計。一個神經(jīng)網(wǎng)絡(luò)利用基于后向繁殖和遺傳算法方法的組合被訓(xùn)練,以優(yōu)化神經(jīng)網(wǎng)絡(luò)的設(shè)計。在神經(jīng)網(wǎng)絡(luò)設(shè)計中,后向繁殖和遺傳算法按照合作方式一起工作。訓(xùn)練開始于基于即時誤差的增量學(xué)習(xí),全局總誤差累積起來用于在神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)訓(xùn)練末期的成批更新。遺傳算法直接地并行評估多組神經(jīng)網(wǎng)絡(luò)的性能,然后利用分析結(jié)果養(yǎng)育新的神經(jīng)網(wǎng)絡(luò),它趨向于更適合處理手中的問題。
文檔編號G06N3/00GK1311880SQ99809212
公開日2001年9月5日 申請日期1999年7月6日 優(yōu)先權(quán)日1998年7月31日
發(fā)明者黃佑廉, 黃錦水 申請人:特許科技有限公司