專利名稱:神經(jīng)網(wǎng)絡(luò)建模方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能控制技術(shù)領(lǐng)域,尤其涉及一種神經(jīng)網(wǎng)絡(luò)建模方法及系統(tǒng)。
背景技術(shù):
隨著現(xiàn)代流程工業(yè)生產(chǎn)向復(fù)雜化、大型化發(fā)展,簡單的基于反饋的常規(guī)控制方法 已不能滿足現(xiàn)代企業(yè)的生產(chǎn)要求,基于過程模型對系統(tǒng)進(jìn)行各種高級控制算法的設(shè)計(jì)逐漸 成為通用有效的方法。其中,獲取被控對象精確的數(shù)學(xué)模型已成為當(dāng)前控制系統(tǒng)設(shè)計(jì)以及 先進(jìn)控制項(xiàng)目實(shí)施的首要任務(wù)。 系統(tǒng)建模主要有兩類方法,一類是機(jī)理建模,即根據(jù)過程本身的內(nèi)在機(jī)理來建立
系統(tǒng)的模型,然而大多數(shù)實(shí)際的工業(yè)生產(chǎn)過程機(jī)理非常復(fù)雜,干擾因素很多,通過理論分析
建立系統(tǒng)的機(jī)理模型往往非常困難;另一類是系統(tǒng)辨識方法,也就是根據(jù)待辨識過程的輸
入、輸出數(shù)據(jù)建立數(shù)學(xué)模型。隨著控制過程復(fù)雜性的增加以及對控制精度要求的不斷提高,
近年來,一系列的非線性辨識方法相繼出現(xiàn),如人工神經(jīng)網(wǎng)絡(luò)、模糊理論、小波分析、支持向
量機(jī)等建模方法,在一定程度上有效地降低了非線性過程建模的難度。 人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)是在人類對自身大腦神經(jīng)網(wǎng)絡(luò)認(rèn)識
理解的基礎(chǔ)上人工構(gòu)造的能夠?qū)崿F(xiàn)某種功能的模型,不需要建模者對建模對象的內(nèi)在機(jī)理
有精確了解,通過輸入、輸出數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù)(包含連接權(quán)值和偏置系數(shù)),就能
使神經(jīng)網(wǎng)絡(luò)模型準(zhǔn)確地反映實(shí)際的過程,它具有以下一些優(yōu)點(diǎn) ①通過非線性映射,學(xué)習(xí)系統(tǒng)的特性具有近似地表示任意非線性函數(shù)及其逆的能 力; ②人工神經(jīng)網(wǎng)絡(luò)是由許多相同的簡單處理單元采用并行分布處理結(jié)構(gòu)組合而成, 具有強(qiáng)大的信息處理能力。 ③網(wǎng)絡(luò)自身具有很強(qiáng)的容錯(cuò)性和聯(lián)想功能。 然而,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型仍然存在一些明顯的缺陷,采用記憶的方式進(jìn)行學(xué)習(xí) 和預(yù)測,當(dāng)學(xué)習(xí)數(shù)據(jù)不充分的時(shí)候,模型就無法正常工作。另外,神經(jīng)網(wǎng)絡(luò)是一種黑箱方法, 即無法以明確的方式表達(dá)它所包含的知識(輸入輸出關(guān)系,即模型增益),以及向使用者 解釋怎樣導(dǎo)出它的運(yùn)算結(jié)果,難以幫助使用者提高認(rèn)識能力和驗(yàn)證模型的正確性以及合理 性。例如,在實(shí)際的生產(chǎn)中,操作人員關(guān)心的往往是輸入對輸出的影響關(guān)系,然而,傳統(tǒng)的神 經(jīng)網(wǎng)絡(luò)模型缺少反映這種輸入輸出關(guān)系的指標(biāo),并且在模型的訓(xùn)練中只考慮模型的輸出誤 差,沒有考慮到正確的模型輸入輸出關(guān)系(即增益)對指導(dǎo)實(shí)際生產(chǎn)的重要性,這樣雖然可 以得到精度比較高的模型,然而在利用所建立的模型對實(shí)際的生產(chǎn)過程進(jìn)行控制時(shí),往往 會由于不正確的輸入輸出關(guān)系導(dǎo)致不可預(yù)知的結(jié)果。所以,研究神經(jīng)網(wǎng)絡(luò)的知識獲取與行 為解釋方式,獲取輸入輸出關(guān)系(即增益)與實(shí)際生產(chǎn)經(jīng)驗(yàn)相符合的神經(jīng)網(wǎng)絡(luò)模型,對提高 神經(jīng)網(wǎng)絡(luò)預(yù)測模型的可靠性,推廣神經(jīng)網(wǎng)絡(luò)在實(shí)際工業(yè)生產(chǎn)中的應(yīng)用具有重要意義。
學(xué)習(xí)算法的效率和有效性極大地影響神經(jīng)網(wǎng)絡(luò)模型預(yù)測的精確性和正確性。 D. E. Rumelhart等在1986年提出的多層神經(jīng)網(wǎng)絡(luò)權(quán)值修正算法——誤差反向傳播法
4(Error Back-Propagation)因其簡單、易行、計(jì)算量小、并行性強(qiáng)等優(yōu)點(diǎn),成為目前神經(jīng)網(wǎng) 絡(luò)訓(xùn)練采用最多也是最為成熟的訓(xùn)練算法。然而,BP算法存在著訓(xùn)練時(shí)間長、收斂速度 慢、易陷入局部最小點(diǎn)等缺陷。Hush已經(jīng)嚴(yán)格證明了一個(gè)多層神經(jīng)網(wǎng)絡(luò)的參數(shù)學(xué)習(xí)是一類 NP-hard問題, 一系列的研究表明,在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,存在著相變和臨界點(diǎn),在臨界 點(diǎn)處,優(yōu)化問題的計(jì)算復(fù)雜性會大大增加,優(yōu)化過程會變得非常困難。 綜上所述,對于目前的工業(yè)生產(chǎn)中存在非線性系統(tǒng)建模困難的問題,設(shè)計(jì)一種與 實(shí)際生產(chǎn)經(jīng)驗(yàn)符合的能夠合理反映系統(tǒng)輸入輸出關(guān)系(即增益)的非線性神經(jīng)網(wǎng)絡(luò)模型以 及穩(wěn)定高效的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,具有非常重要的意義。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種神經(jīng)網(wǎng)絡(luò)建模方法及系統(tǒng),可明確表征輸入輸出關(guān)系,
并可進(jìn)一步通過極值優(yōu)化算法進(jìn)行增益約束使建模更加符合實(shí)際情況。 為此,本發(fā)明實(shí)施例采用如下技術(shù)方案 —種神經(jīng)網(wǎng)絡(luò)建模方法,其特征在于,包括數(shù)據(jù)預(yù)處理的步驟采集實(shí)際生產(chǎn)過 程的歷史數(shù)據(jù),并篩選出樣本數(shù)據(jù);神經(jīng)網(wǎng)絡(luò)初始化的步驟初始化神經(jīng)網(wǎng)絡(luò)模型參數(shù);輸 出計(jì)算的步驟根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;增益計(jì)算的步驟 根據(jù)所述模型參數(shù)以及樣本數(shù)據(jù)計(jì)算模型輸出相對于輸入的增益。 優(yōu)選地,上述方法還包括模型訓(xùn)練的步驟根據(jù)模型輸出與樣本數(shù)據(jù)之間的誤 差以及模型的輸入輸出增益通過極值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí),直 到得到滿足精度要求以及增益約束的模型。 其中,所述通過極值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí)包括S1 : 系統(tǒng)初始化,隨機(jī)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和偏置系數(shù),將初始化的第一代染色體置為當(dāng) 前最優(yōu)解;S2 :對染色體進(jìn)行標(biāo)準(zhǔn)極值優(yōu)化算法變異操作,確定變異之后的新解;S3 :計(jì)算 模型的輸出,根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;S4 :計(jì)算增益懲罰值, 對每個(gè)樣本數(shù)據(jù),判斷其增益是否在預(yù)置的增益區(qū)間內(nèi)若是,增益懲罰值為0 ;否則,根據(jù) 違背增益的嚴(yán)重程度確定增益懲罰值的大小;S5 :根據(jù)模型誤差與增益懲罰值,計(jì)算出所 述新解的全局適應(yīng)度函數(shù)值;S6 :判斷所述新解的全局適應(yīng)度函數(shù)值是否優(yōu)于所述當(dāng)前最 優(yōu)解若是,將所述新解的全局適應(yīng)度函數(shù)值更新為最優(yōu)解;否則,保持當(dāng)前最優(yōu)解不變; S7 :判斷模型是否符合精度和增益約束要求若是,終止;否則,重復(fù)上述步驟S2-S7直到滿 足誤差要求。 其中,所述增益懲罰值為預(yù)置的固定數(shù)值或者為根據(jù)增益違背情況設(shè)置的線性或 非線性函數(shù)。
其中,所述極值優(yōu)化算法是基于實(shí)數(shù)編碼實(shí)現(xiàn)的。 其中,基于實(shí)數(shù)編碼實(shí)現(xiàn)的極值優(yōu)化算法包括在對模型的參數(shù)進(jìn)行優(yōu)化時(shí),通過 預(yù)置的對應(yīng)關(guān)系將神經(jīng)網(wǎng)絡(luò)的參數(shù)矩陣編碼成為極值優(yōu)化算法中所用的由實(shí)數(shù)串表示的 染色體格式;在計(jì)算模型誤差以及增益懲罰值時(shí),將極值優(yōu)化算法中使用的實(shí)數(shù)串表示的 染色體解碼后組裝成為神經(jīng)網(wǎng)絡(luò)中的參數(shù)矩陣。 其中,根據(jù)訓(xùn)練樣本通過分步求導(dǎo)的方式計(jì)算出所述增益。 —種神經(jīng)網(wǎng)絡(luò)模型系統(tǒng),包括數(shù)據(jù)預(yù)處理模塊,用于采集實(shí)際過程的歷史數(shù)據(jù),并篩選出樣本數(shù)據(jù);神經(jīng)網(wǎng)絡(luò)初始化模塊,用于初始化神經(jīng)網(wǎng)絡(luò)模型參數(shù);輸出計(jì)算模塊, 用于根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;增益計(jì)算模塊,根據(jù)所述模型 參數(shù)以及樣本數(shù)據(jù)計(jì)算模型輸出相對于輸入的增益。 上述系統(tǒng)還包括模型訓(xùn)練模塊,根據(jù)模型輸出與樣本數(shù)據(jù)之間的誤差以及模型
的輸入輸出增益通過極值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí)。 其中,所述增益計(jì)算模塊,用于判斷每個(gè)樣本數(shù)據(jù)的增益是否在預(yù)置的增益區(qū)間
內(nèi)若是,增益懲罰值為0 ;否則,根據(jù)違背增益的嚴(yán)重程度確定增益懲罰值的大小;所述模
型訓(xùn)練模塊,根據(jù)所述增益計(jì)算模塊提供的增益懲罰值以及獲取到的模型誤差,對所述模
型的參數(shù)進(jìn)行優(yōu)化。 其中,所述模型訓(xùn)練模塊是基于實(shí)數(shù)編碼實(shí)現(xiàn)的。所述增益計(jì)算模塊通過分步求 導(dǎo)的方式計(jì)算出所述增益。 對于上述技術(shù)方案的技術(shù)效果分析如下 (1)采用在訓(xùn)練樣本上計(jì)算的輸出到輸入的增益作為訓(xùn)練過程中的約束,確保得
到的神經(jīng)網(wǎng)絡(luò)模型能夠符合原理和實(shí)際的操作經(jīng)驗(yàn),增強(qiáng)了模型的可靠性。
(2)采用極值優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化,可以有效的克服傳統(tǒng)BP訓(xùn)練
算法陷入局部最小值的缺陷,增強(qiáng)了模型的學(xué)習(xí)能力和泛化能力。 (3)采用實(shí)數(shù)編碼的極值優(yōu)化算法,避免了常用的二進(jìn)制編碼極值優(yōu)化算法帶來 的精度損失問題。
圖1為神經(jīng)網(wǎng)絡(luò)建模方法流程圖; 圖2為本發(fā)明前向多層神經(jīng)網(wǎng)絡(luò)模型示意圖; 圖3為本發(fā)明網(wǎng)絡(luò)建模系統(tǒng)示意圖; 圖4為本發(fā)明神經(jīng)網(wǎng)絡(luò)參數(shù)矩陣與極值優(yōu)化算法中染色體的轉(zhuǎn)化以及增益約束 示意圖; 圖5為本發(fā)明使用極值優(yōu)化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)參數(shù)的流程圖。
具體實(shí)施例方式
如前所述,獲取輸入輸出關(guān)系(即增益)與實(shí)際生產(chǎn)經(jīng)驗(yàn)相符合的神經(jīng)網(wǎng)絡(luò)模型, 對提高神經(jīng)網(wǎng)絡(luò)預(yù)測模型的可靠性,推廣神經(jīng)網(wǎng)絡(luò)在實(shí)際工業(yè)生產(chǎn)中的應(yīng)用具有重要意 義。 本發(fā)明提出一種表征輸入輸出關(guān)系的神經(jīng)網(wǎng)絡(luò)建模方法,參見圖l,為本發(fā)明方法 流程圖,包括 S101 :數(shù)據(jù)預(yù)處理的步驟采集實(shí)際過程的歷史數(shù)據(jù),并篩選出樣本數(shù)據(jù);
S102 :神經(jīng)網(wǎng)絡(luò)初始化的步驟初始化神經(jīng)網(wǎng)絡(luò)模型參數(shù); S103 :輸出計(jì)算的步驟根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;
S104 :增益計(jì)算的步驟根據(jù)所述模型參數(shù)以及樣本數(shù)據(jù)計(jì)算模型輸出相對于輸 入的增益; S105 :模型訓(xùn)練的步驟根據(jù)模型輸出與樣本數(shù)據(jù)之間的誤差以及模型的輸入輸出增益通過極值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí),直到得到滿足精度要求 以及增益約束的模型。 其中,通過S101-S104可實(shí)現(xiàn)表征輸入輸出關(guān)系的神經(jīng)網(wǎng)絡(luò)模型,進(jìn)一步,通過執(zhí) 行S105,可采用極值優(yōu)化算法(Extremal Optimization, EO)根據(jù)模型誤差與增益懲罰值 對所述模型的參數(shù)進(jìn)行優(yōu)化。 可見,采用在訓(xùn)練樣本上計(jì)算的輸出到輸入的增益作為訓(xùn)練過程中的約束,確保 得到的神經(jīng)網(wǎng)絡(luò)模型能夠符合原理和實(shí)際的操作經(jīng)驗(yàn),增強(qiáng)了模型的可靠性。而且本發(fā)明 中的增益計(jì)算基于實(shí)際過程采集的歷史數(shù)據(jù),與已有脫離學(xué)習(xí)樣本計(jì)算增益理論上下界的 方法相比,本發(fā)明能夠約束生產(chǎn)操作范圍(即學(xué)習(xí)樣本)上的模型增益在合理區(qū)間內(nèi),確保 建立的模型更加符合實(shí)際的生產(chǎn)情況。 采用具有全局搜索能力的EO算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)尋優(yōu),可以避免傳統(tǒng)的基 于BP算法的訓(xùn)練方法陷入局部最小值的缺點(diǎn)并能夠克服訓(xùn)練過程中相變邊界點(diǎn)計(jì)算復(fù)雜 性增加導(dǎo)致的學(xué)習(xí)過程緩慢的問題,具有良好的應(yīng)用前景。
下面對本發(fā)明較優(yōu)實(shí)施例進(jìn)行詳細(xì)介紹。 如圖2所示,為前向多層神經(jīng)網(wǎng)絡(luò)模型示意圖。前向多層神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)性能 主要取決于節(jié)點(diǎn)的傳遞函數(shù)以及節(jié)點(diǎn)之間的連接權(quán)值和偏置系數(shù),因此,學(xué)習(xí)算法的效率 和有效性極大地影響神經(jīng)網(wǎng)絡(luò)模型的精確性和正確性。極值優(yōu)化算法是S. Boettcher和 A. Percus在1999年根據(jù)極值動力學(xué)(Extremal dynamics)驅(qū)動的Bak-Sn印pen模型,提 出的一種新穎的、通用的、基于局部搜索的啟發(fā)式優(yōu)化算法。EO算法的特點(diǎn)是收斂速度快, 搜索能力強(qiáng)。用EO算法解決優(yōu)化問題設(shè)計(jì)簡單,容易實(shí)現(xiàn)。其內(nèi)在的極值動力學(xué)機(jī)制,使 得EO具備很強(qiáng)的爬山能力,尤其在求解帶有相變點(diǎn)(PhasetransitionS)的組合優(yōu)化問題 時(shí)EO更是展現(xiàn)出強(qiáng)大的優(yōu)勢。顯然,和其他智能算法相比,基于遠(yuǎn)離平衡態(tài)理論的極值優(yōu) 化算法能夠更好的處理神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中臨界點(diǎn)的存在導(dǎo)致的參數(shù)優(yōu)化困難。
本發(fā)明提供的神經(jīng)網(wǎng)絡(luò)模型系統(tǒng)如圖3所示,采用一個(gè)前饋的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)作為 非線性模型的基本形式,結(jié)合極值優(yōu)化算法根據(jù)學(xué)習(xí)樣本(待建模對象的輸入輸出數(shù)據(jù)) 對模型的參數(shù)(包括連接權(quán)值和偏置系數(shù))進(jìn)行優(yōu)化和調(diào)整。同時(shí),對每一組訓(xùn)練樣本求 取在該工況下的前饋神經(jīng)網(wǎng)絡(luò)模型輸出對輸入的偏導(dǎo)數(shù)(即輸出相對于輸入的增益),并 在EO的優(yōu)化過程中檢查模型在訓(xùn)練樣本上的增益是否違背實(shí)際給定的約束(該約束通過 過程機(jī)理的先驗(yàn)知識或者實(shí)際過程的操作經(jīng)驗(yàn)獲取),若違背增益約束,則在基于模型誤差 的目標(biāo)函數(shù)上增加懲罰函數(shù)。經(jīng)過進(jìn)化,具有全局搜索能力的啟發(fā)式算法EO會在搜索空間 上找到一組經(jīng)過優(yōu)化的參數(shù)(連接權(quán)值和偏置系數(shù)),使其既符合實(shí)際的操作經(jīng)驗(yàn),又具有 很好的模型精度。 所述的基于極值優(yōu)化算法的增益約束神經(jīng)網(wǎng)絡(luò)建模方法包含以下基本功能模 塊 I.數(shù)據(jù)預(yù)處理模塊,用于采集實(shí)際過程的歷史數(shù)據(jù),并篩選合理的數(shù)據(jù)進(jìn)行建模 的準(zhǔn)備工作,包含確定模型輸入輸出,采集歷史數(shù)據(jù),去除含有壞點(diǎn)以及不正常工況的數(shù) 據(jù),歸一化正則化處理以及采用聚類方法去除冗余信息。 II.初始化模塊,初始化神經(jīng)網(wǎng)絡(luò)模型(結(jié)構(gòu),參數(shù)尋優(yōu)范圍),輸入輸出增益的范圍。
7
III.輸出計(jì)算模塊,根據(jù)當(dāng)前的模型參數(shù)(連接權(quán)值和偏置系數(shù))和樣本輸入計(jì)
算神經(jīng)網(wǎng)絡(luò)的輸出,在優(yōu)化過程中,該模塊用于計(jì)算當(dāng)前參數(shù)下的模型誤差。 IV.增益計(jì)算模塊,根據(jù)當(dāng)前的神經(jīng)網(wǎng)絡(luò)模型參數(shù),對于每一對輸入輸出數(shù)據(jù),計(jì)
算每一維輸出到輸入的增益,并且檢查其是否落入事先給定的增益范圍內(nèi),如果違背約束,
則在訓(xùn)練誤差上增加懲罰函數(shù)。 V.模型優(yōu)化模塊采用E0算法對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化。
1)在搜索空間上隨機(jī)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和偏置系數(shù)。 2)按照實(shí)數(shù)編碼的格式,將神經(jīng)網(wǎng)絡(luò)的參數(shù)編碼成為一個(gè)實(shí)數(shù)向量表達(dá)的染色 體,供EO進(jìn)行優(yōu)化。 3)進(jìn)入EO優(yōu)化程序,在優(yōu)化過程中,進(jìn)化得到的染色體需要被解碼成為神經(jīng)網(wǎng)絡(luò)
的連接權(quán)值和偏置系數(shù),并通過神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)每一組學(xué)習(xí)樣本調(diào)用模型增益計(jì)算模塊
計(jì)算增益約束懲罰值,同時(shí)調(diào)用輸出計(jì)算模塊計(jì)算模型輸出和誤差,將模型誤差和增益約
束懲罰值的加和作為參數(shù)優(yōu)化的目標(biāo)函數(shù)值,然后重新編碼為染色體進(jìn)行進(jìn)化。 4)檢查模型是否符合模型精度和增益約束要求,若否,則返回步驟3繼續(xù)進(jìn)行優(yōu)
化,若是,則停止訓(xùn)練,返回優(yōu)化后的參數(shù)值。 下面從神經(jīng)網(wǎng)絡(luò)模型的建立及優(yōu)化角度對本發(fā)明步驟進(jìn)行詳細(xì)介紹。
—、采集數(shù)據(jù)并經(jīng)過預(yù)處理得到合理的訓(xùn)練樣本 1)對于待建模的過程對象,根據(jù)工藝分析和操作特點(diǎn),確立系統(tǒng)邊界和模型輸出, 選擇操作變量和其他對輸出有影響的可測量重要過程變量作為模型的輸入,采集待建模系 統(tǒng)的歷史數(shù)據(jù),對于具有動態(tài)特性的系統(tǒng),還要特別注意由于系統(tǒng)動態(tài)導(dǎo)致的輸入輸出數(shù) 據(jù)在時(shí)間上的對應(yīng)問題。 2)對樣本數(shù)據(jù)進(jìn)行壞點(diǎn)去除,首先去除含有缺失信息的輸入輸出數(shù)據(jù)(樣本數(shù) 據(jù)),然后根據(jù)正常生產(chǎn)工況的變化范圍確立每個(gè)變量的上下限,通過上下限去除非正常工 況的數(shù)據(jù),即在上下限之間的數(shù)據(jù)得以保留,超過上限或者低于下限的數(shù)據(jù)均被刪除。
3)根據(jù)公式(1),對經(jīng)過壞點(diǎn)去除的數(shù)據(jù)進(jìn)行預(yù)處理,對輸入變量和輸出變量進(jìn) 行正則化(歸一化)處理,確保建模數(shù)據(jù)在同一標(biāo)度下
<formula>formula see original document page 8</formula> 其中,Mean_Ui代表第i個(gè)輸入變量Ui的平均值,Std_Ui代表標(biāo)準(zhǔn)差。Mean_yj和 Std_yj同理可得。 4)對預(yù)處理過的數(shù)據(jù)進(jìn)行聚類,從海量的歷史數(shù)據(jù)中得到有效的不含冗余信息的 樣本數(shù)據(jù)。聚類的方法很多,在此不一一贅述。
二、神經(jīng)網(wǎng)絡(luò)模型的初始化 1)根據(jù)實(shí)際建模對象特點(diǎn),設(shè)置模型結(jié)構(gòu),確定輸入輸出節(jié)點(diǎn)個(gè)數(shù),隱節(jié)點(diǎn)個(gè)數(shù)。
2)基于模型輸入、輸出數(shù)據(jù)建立初始神經(jīng)網(wǎng)絡(luò)模型。 3)根據(jù)實(shí)際建模對象的特點(diǎn),設(shè)定三層前向神經(jīng)網(wǎng)絡(luò)模型參數(shù)的尋優(yōu)范圍。
4)根據(jù)實(shí)際對象的機(jī)理和操作經(jīng)驗(yàn),設(shè)定輸入到輸出的增益約束范圍。該約束 通過機(jī)理或者實(shí)際過程的操作經(jīng)驗(yàn)獲取,可以是定值、確定的區(qū)間范圍、或者僅僅是一個(gè)符號,即正或負(fù);也可以是正無窮到負(fù)無窮,即不做約束。 三、采用EO算法對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化(涉及到輸出計(jì)算模塊和模型增益計(jì) 算模塊的調(diào)用,以及全局適應(yīng)度和局部適應(yīng)度函數(shù)的定義)
1)使用實(shí)數(shù)編碼的染色體表征神經(jīng)網(wǎng)絡(luò)中的參數(shù)矩陣。 本發(fā)明中使用了實(shí)數(shù)編碼的極值優(yōu)化算法,以避免二進(jìn)制編碼帶來的尋優(yōu)精度損 失問題,在使用極值優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)的參數(shù)(連接權(quán)值以及偏置系數(shù))進(jìn)行優(yōu)化時(shí),神 經(jīng)網(wǎng)絡(luò)參數(shù)是以單個(gè)一維數(shù)組的形式存在的,數(shù)組(染色體)中每一元素(基因)對應(yīng)神 經(jīng)網(wǎng)絡(luò)的一個(gè)參數(shù)(連接權(quán)值或偏置系數(shù)),如圖4所示;而在以神經(jīng)網(wǎng)絡(luò)形式表征的空間 中,模型的參數(shù)是以多個(gè)二維數(shù)組的形式存在的,如圖2所示。本發(fā)明中,神經(jīng)網(wǎng)絡(luò)參數(shù)的 優(yōu)化需要在極值優(yōu)化算法表征的優(yōu)化空間、神經(jīng)網(wǎng)絡(luò)表征的模型誤差以及增益約束計(jì)算空 間之間交替進(jìn)行。因此,在使用極值優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化時(shí),要通過固定的對應(yīng)關(guān) 系將神經(jīng)網(wǎng)絡(luò)的參數(shù)矩陣編碼成為極值優(yōu)化算法中所用的實(shí)數(shù)串表示的染色體格式;而當(dāng) 計(jì)算模型誤差和增益約束時(shí),則要將極值優(yōu)化算法中使用的實(shí)數(shù)串表示的染色體解碼后組 裝成為神經(jīng)網(wǎng)絡(luò)中的參數(shù)矩陣。
2)使用極值優(yōu)化算法對編碼后的神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行尋優(yōu)。 必須指出的是,在E0算法的尋優(yōu)過程中,只存在單一個(gè)體,該個(gè)體的每個(gè)組成部 分(又稱決策變量)被稱為"組元"。EO每次只對當(dāng)前個(gè)體中的一個(gè)組元進(jìn)行變異,其它組 元保持不變,就可以得到一個(gè)子個(gè)體。EO算法中適應(yīng)度函數(shù)的定義對于加快收斂速度和找 到全局最優(yōu)解起著至關(guān)重要的作用;但是,對于不同的問題,其適應(yīng)度函數(shù)的定義都有所不 同。 一般地,EO算法根據(jù)各個(gè)內(nèi)部組元對個(gè)體目標(biāo)函數(shù)值的貢獻(xiàn)大小來為每個(gè)組元賦予適 應(yīng)度(局部適應(yīng)度),適應(yīng)度最小的組元就是最差組元。在每次迭代中,EO總是選擇適應(yīng)度 最差的組元及其鄰居來進(jìn)行變異,從而使得所有組元都能協(xié)同進(jìn)化(Co-evolution),個(gè)體 的構(gòu)造不斷地得到改善,最終可以找到近似最優(yōu)解或最優(yōu)解。在本發(fā)明采用E0對神經(jīng)網(wǎng)絡(luò) 的參數(shù)進(jìn)行尋優(yōu)時(shí),使用了幾個(gè)最基本的計(jì)算模塊,分別用來計(jì)算神經(jīng)網(wǎng)絡(luò)的輸出,全局適 應(yīng)度函數(shù),局部適應(yīng)度函數(shù),以及增益約束懲罰。下面詳細(xì)介紹這幾個(gè)重要的計(jì)算模塊。
輸出計(jì)算模塊 以如圖3中所示的采用三層(帶有一個(gè)隱層)的神經(jīng)網(wǎng)絡(luò)為例,隱層節(jié)點(diǎn)的轉(zhuǎn)換 函數(shù)采用Sigmoid函數(shù)(用f(x)表示),輸出節(jié)點(diǎn)的轉(zhuǎn)換函數(shù)采用線性函數(shù)。設(shè)神經(jīng)網(wǎng)絡(luò) 的三層節(jié)點(diǎn)表示為Ui(i = 1,2,L,m)表示第i個(gè)輸入變量,Oj(j = 1,2,L k)表示第j個(gè) 隱節(jié)點(diǎn)的輸出,h(l = 1,2,L,n)表示第1個(gè)輸出變量。輸入節(jié)點(diǎn)Ui與隱節(jié)點(diǎn)0j間的連接 權(quán)值為Wij,偏置系數(shù)為qj,隱節(jié)點(diǎn)輸出Oj與輸出節(jié)點(diǎn)h(l = 1,2,L,n)間的連接權(quán)值為v^, 偏置系數(shù)為巧,則模型輸出的計(jì)算公式為
<formula>formula see original document page 9</formula>
<formula>formula see original document page 9</formula>
其中,/(x" u ,a。為常數(shù)。
全局適應(yīng)度函數(shù) 全局適應(yīng)度函數(shù)(Global fitness function)基于集中控制的思想,使用全局信
息來評價(jià)整體解的優(yōu)化狀態(tài)。這是較為傳統(tǒng)、直觀的方法,廣泛應(yīng)用于各種組合優(yōu)化問題。
在本發(fā)明中,全局適應(yīng)度函數(shù)由兩部分組成,模型誤差項(xiàng)以及違背增益約束的懲罰項(xiàng)。 <formula>formula see original document page 10</formula> 模型誤差項(xiàng)Error (S)可以由公式(6)進(jìn)行計(jì)算<formula>formula see original document page 10</formula>
公式(6)中,模型誤差由在學(xué)習(xí)樣本上的誤差(實(shí)際輸出yi與模型輸出少,之間的
差值)的平方和計(jì)算。
局部適應(yīng)度函數(shù) 局部適應(yīng)度函數(shù)(Local fitness function)基于分散控制的思想,使用局部的、有限的信息來評價(jià)組成整體解中單個(gè)決策變量的優(yōu)化狀態(tài),并指導(dǎo)整體解的進(jìn)化。在EO中,局部適應(yīng)度一般定義為對全局適應(yīng)度的改善,如公式(7)所示。
<formula>formula see original document page 10</formula>
增益計(jì)算以及增益約束的懲罰項(xiàng)計(jì)算 以圖4為例,采用單個(gè)隱層,隱層節(jié)點(diǎn)采用Sigmoid函數(shù),輸出節(jié)點(diǎn)采用線性輸出
函數(shù)進(jìn)行計(jì)算神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),通過分步求導(dǎo),可以獲得從輸出到輸入的導(dǎo)數(shù)為
<formula>formula see original document page 10</formula> Oj為第j個(gè)隱節(jié)點(diǎn)的輸出,由公式(8)可得,輸出對輸入的偏導(dǎo)數(shù)(增益)與訓(xùn)練數(shù)據(jù)的分布以及網(wǎng)絡(luò)的連接權(quán)值均有關(guān)系,通過調(diào)節(jié)網(wǎng)絡(luò)的權(quán)值,可以保證神經(jīng)網(wǎng)絡(luò)模型在樣本點(diǎn)(即操作工況)上的增益符合實(shí)際的生產(chǎn)經(jīng)驗(yàn)。 根據(jù)公式(8),可以計(jì)算在每一個(gè)訓(xùn)練樣本上每一維輸出對輸入的增益,通過檢驗(yàn)這些增益是否符合事先給定的經(jīng)驗(yàn)(機(jī)理)增益區(qū)間,當(dāng)有增益不符合時(shí),對該神經(jīng)網(wǎng)絡(luò)模型通過Penalty(S)進(jìn)行懲罰,Penalty (S)可以是事先設(shè)定的一個(gè)固定的懲罰值,也可以根據(jù)增益違背嚴(yán)重的情況設(shè)置線性或者非線性的懲罰函數(shù)。
參見圖5,采用E0優(yōu)化神經(jīng)網(wǎng)絡(luò)參數(shù)的流程如下 S501 :系統(tǒng)初始化,隨機(jī)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和偏置系數(shù),將初始化的第一代染色體置為當(dāng)前最優(yōu)解; 系統(tǒng)初始化,隨機(jī)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和偏置系數(shù),按照圖4中的編碼方式將神經(jīng)網(wǎng)絡(luò)中的參數(shù)矩陣采用實(shí)數(shù)編碼的染色體進(jìn)行表征。并通過公式(5)計(jì)算當(dāng)代染色體S的全局適應(yīng)度函數(shù)值,并將初始的第一代染色體S設(shè)置為最優(yōu)解Stest。
S502 :對染色體進(jìn)行標(biāo)準(zhǔn)極值優(yōu)化算法變異操作,確定變異之后的新解;
標(biāo)準(zhǔn)E0變異,根據(jù)公式(9)依次改變?nèi)旧w中的每個(gè)決策變量(在尋優(yōu)范圍內(nèi)隨機(jī)的產(chǎn)生一個(gè)數(shù)值x/替代原有的Xi):
x,-= x, + W,(O,l) (9)
通過公式(9)在S的鄰域空間得到一系列新的解集{&0 ,并通過公式(7)計(jì)算解集中每個(gè)新解W的局部適應(yīng)度li,然后根據(jù)局部適應(yīng)度函數(shù)尋找j,使得Ak(k=l,2, ... , n),也就是說,變量Xj具有"最差"的局部適應(yīng)度,選擇具有最差局部適應(yīng)度的決策變量進(jìn)行變異,得到變異之后的新解S " S503 :增益懲罰值計(jì)算對每個(gè)樣本數(shù)據(jù),判斷其增益是否在預(yù)置的增益區(qū)間內(nèi),
若是,增益懲罰值為O,否則,根據(jù)違背增益的嚴(yán)重程度確定增益懲罰值的大小; 具體地,根據(jù)公式(8),計(jì)算在每一個(gè)訓(xùn)練樣本上每一維輸出對輸入的增益,檢驗(yàn)
這些增益是否符合事先給定的經(jīng)驗(yàn)(機(jī)理)增益區(qū)間,當(dāng)增益符合約束時(shí),懲罰值為零,當(dāng)
有增益不符合時(shí)約束時(shí),根據(jù)違背增益的嚴(yán)重程度計(jì)算懲罰值的大小。
S504 :根據(jù)模型誤差與增益懲罰值,計(jì)算出所述新解的全局適應(yīng)度函數(shù)值; 具體地,根據(jù)公式(5)計(jì)算新解W的全局適應(yīng)度函數(shù)值。 S505 :判斷所述新解的全局適應(yīng)度函數(shù)值是否優(yōu)于所述當(dāng)前最優(yōu)解,若是,執(zhí)行S506將所述新解的全局適應(yīng)度函數(shù)值更新為最優(yōu)解,否則,保持當(dāng)前最優(yōu)解不變;
具體地,根據(jù)全局適應(yīng)度函數(shù)值的大小判斷當(dāng)前新解W是否好于最優(yōu)解S^t,若是,則令&,、., = W。若否,則保持S^t不變。 S507:判斷模型的增益是否符合約束要求以及誤差是否在預(yù)置的誤差范圍內(nèi),若
是,執(zhí)行S508終止,否則,重復(fù)上述步驟S502-S507直到滿足誤差要求。 具體地,判斷是否滿足終止條件,若是,終止優(yōu)化并返回最優(yōu)解Stest,若否,重復(fù)
S502至S507直到滿足終止條件,其中,終止條件為滿足所有預(yù)先設(shè)定增益約束的情況下,
系統(tǒng)的預(yù)測誤差小于事先給定的精度條件。 可見,通過EO算法對模型參數(shù)的優(yōu)化,Sbest為優(yōu)化過的包含神經(jīng)網(wǎng)絡(luò)參數(shù)(連接權(quán)值和偏置系數(shù))的染色體,將解碼后的染色體組裝成神經(jīng)網(wǎng)絡(luò)中的參數(shù)矩陣,即可得到滿足增益約束的神經(jīng)網(wǎng)絡(luò)模型,該模型能夠在精確預(yù)測系統(tǒng)輸出的同時(shí),確保模型在操作工況(即訓(xùn)練數(shù)據(jù))上的增益也符合實(shí)際的生產(chǎn)經(jīng)驗(yàn),對于開發(fā)可靠的基于模型的高級過程控制算法有著重要的實(shí)際意義。 綜上,為了克服傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型無法明確的表征輸入輸出關(guān)系(即增益)的
缺點(diǎn),以及通用的BP學(xué)習(xí)算法速度慢、容易陷入局部極小點(diǎn)的不足,在計(jì)算神經(jīng)網(wǎng)絡(luò)輸入
輸出增益的基礎(chǔ)上,本發(fā)明提供一種可以在訓(xùn)練樣本的分布范圍內(nèi)明確表征輸入輸出增益
的神經(jīng)網(wǎng)絡(luò)模型,以及基于極值優(yōu)化算法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,并在模型的訓(xùn)練過程中,將
先驗(yàn)知識(實(shí)際生產(chǎn)的經(jīng)驗(yàn))作為神經(jīng)網(wǎng)絡(luò)模型的增益約束,從而在減少模型誤差的同時(shí),
得到符合實(shí)際生產(chǎn)經(jīng)驗(yàn)的能夠正確反映輸入輸出關(guān)系的非線性神經(jīng)網(wǎng)絡(luò)模型。 以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人
員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)
視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種神經(jīng)網(wǎng)絡(luò)建模方法,其特征在于,包括數(shù)據(jù)預(yù)處理的步驟采集實(shí)際生產(chǎn)過程的歷史數(shù)據(jù),并篩選出樣本數(shù)據(jù);神經(jīng)網(wǎng)絡(luò)初始化的步驟初始化神經(jīng)網(wǎng)絡(luò)模型參數(shù);輸出計(jì)算的步驟根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;增益計(jì)算的步驟根據(jù)所述模型參數(shù)以及樣本數(shù)據(jù)計(jì)算模型輸出相對于輸入的增益。
2. 根據(jù)權(quán)利要求l所述方法,其特征在于,還包括模型訓(xùn)練的步驟根據(jù)模型輸出與樣本數(shù)據(jù)之間的誤差以及模型的輸入輸出增益通過 極值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí),直到得到滿足精度要求以及增益約 束的模型。
3. 根據(jù)權(quán)利要求2所述方法,其特征在于,所述通過極值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型 進(jìn)行參數(shù)的迭代學(xué)習(xí)包括51 :系統(tǒng)初始化,隨機(jī)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和偏置系數(shù),將初始化的第一代染色體 置為當(dāng)前最優(yōu)解;52 :對染色體進(jìn)行標(biāo)準(zhǔn)極值優(yōu)化算法變異操作,確定變異之后的新解;53 :計(jì)算模型的輸出,根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;54 :計(jì)算增益懲罰值,對每個(gè)樣本數(shù)據(jù),判斷其增益是否在預(yù)置的增益區(qū)間內(nèi)若是, 增益懲罰值為0 ;否則,根據(jù)違背增益的嚴(yán)重程度確定增益懲罰值的大??;55 :根據(jù)模型誤差與增益懲罰值,計(jì)算出所述新解的全局適應(yīng)度函數(shù)值;56 :判斷所述新解的全局適應(yīng)度函數(shù)值是否優(yōu)于所述當(dāng)前最優(yōu)解若是,將所述新解 的全局適應(yīng)度函數(shù)值更新為最優(yōu)解;否則,保持當(dāng)前最優(yōu)解不變;57 :判斷模型是否符合精度和增益約束要求若是,終止;否則,重復(fù)上述步驟S2-S7直 到滿足誤差要求。
4. 根據(jù)權(quán)利要求3所述方法,其特征在于,所述增益懲罰值為預(yù)置的固定數(shù)值或者為 根據(jù)增益違背情況設(shè)置的線性或非線性函數(shù)。
5. 根據(jù)權(quán)利要求2、3或4所述方法,其特征在于,所述極值優(yōu)化算法是基于實(shí)數(shù)編碼實(shí) 現(xiàn)的。
6. 根據(jù)權(quán)利要求5所述方法,其特征在于,基于實(shí)數(shù)編碼實(shí)現(xiàn)的極值優(yōu)化算法包括 在對模型的參數(shù)進(jìn)行優(yōu)化時(shí),通過預(yù)置的對應(yīng)關(guān)系將神經(jīng)網(wǎng)絡(luò)的參數(shù)矩陣編碼成為極值優(yōu)化算法中所用的由實(shí)數(shù)串表示的染色體格式;在計(jì)算模型誤差以及增益懲罰值時(shí),將極值優(yōu)化算法中使用的實(shí)數(shù)串表示的染色體解碼后組裝成為神經(jīng)網(wǎng)絡(luò)中的參數(shù)矩陣。
7. 根據(jù)權(quán)利要求1、2、3或4所述方法,其特征在于,根據(jù)訓(xùn)練樣本通過分步求導(dǎo)的方式 計(jì)算出所述增益。
8. —種神經(jīng)網(wǎng)絡(luò)模型系統(tǒng),其特征在于,包括數(shù)據(jù)預(yù)處理模塊,用于采集實(shí)際過程的歷史數(shù)據(jù),并篩選出樣本數(shù)據(jù); 神經(jīng)網(wǎng)絡(luò)初始化模塊,用于初始化神經(jīng)網(wǎng)絡(luò)模型參數(shù);輸出計(jì)算模塊,用于根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出; 增益計(jì)算模塊,根據(jù)所述模型參數(shù)以及樣本數(shù)據(jù)計(jì)算模型輸出相對于輸入的增益。
9. 根據(jù)權(quán)利要求8所述系統(tǒng),其特征在于,還包括模型訓(xùn)練模塊,根據(jù)模型輸出與樣本數(shù)據(jù)之間的誤差以及模型的輸入輸出增益通過極 值優(yōu)化算法指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí)。
10. 根據(jù)權(quán)利要求9所述系統(tǒng),其特征在于,所述增益計(jì)算模塊,用于判斷每個(gè)樣本數(shù)據(jù)的增益是否在預(yù)置的增益區(qū)間內(nèi)若是,增 益懲罰值為0 ;否則,根據(jù)違背增益的嚴(yán)重程度確定增益懲罰值的大??;所述模型訓(xùn)練模塊,根據(jù)所述增益計(jì)算模塊提供的增益懲罰值以及獲取到的模型誤 差,對所述模型的參數(shù)進(jìn)行優(yōu)化。
11. 根據(jù)權(quán)利要求9或10所述系統(tǒng),其特征在于,所述模型訓(xùn)練模塊是基于實(shí)數(shù)編碼實(shí) 現(xiàn)的。
12. 根據(jù)權(quán)利要求9或10所述系統(tǒng),其特征在于,所述增益計(jì)算模塊通過分步求導(dǎo)的方 式計(jì)算出所述增益。
全文摘要
本發(fā)明公開了一種神經(jīng)網(wǎng)絡(luò)建模方法及系統(tǒng),其中的方法包括數(shù)據(jù)預(yù)處理的步驟采集實(shí)際過程的歷史數(shù)據(jù),并篩選出樣本數(shù)據(jù);神經(jīng)網(wǎng)絡(luò)初始化的步驟初始化神經(jīng)網(wǎng)絡(luò)模型參數(shù);輸出計(jì)算的步驟根據(jù)所述模型以及樣本輸入計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出;增益計(jì)算的步驟根據(jù)所述模型參數(shù)以及樣本數(shù)據(jù)計(jì)算模型輸出相對于輸入的增益;模型訓(xùn)練的步驟根據(jù)模型輸出與樣本數(shù)據(jù)之間的誤差以及模型的輸入輸出增益指導(dǎo)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)的迭代學(xué)習(xí),直到得到滿足精度要求以及增益約束的模型。本發(fā)明可明確表征神經(jīng)網(wǎng)絡(luò)模型的輸入輸出增益關(guān)系,并可進(jìn)一步通過增益約束使建立的模型更加符合實(shí)際情況。
文檔編號G05B13/02GK101782743SQ201010115949
公開日2010年7月21日 申請日期2010年2月11日 優(yōu)先權(quán)日2010年2月11日
發(fā)明者呂勇哉, 潘再生, 褚健, 陳鵬 申請人:浙江大學(xué);浙江中控研究院有限公司;中控科技集團(tuán)有限公司