對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及工業(yè)自動化軟件控制技術(shù)領(lǐng)域,特別是一種對角遞歸神經(jīng)網(wǎng)絡(luò)控制器 在多平臺中的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002] 在復(fù)雜流程工業(yè)系統(tǒng)中,被控對象多為多輸入多輸出的動態(tài)時(shí)變參數(shù)系統(tǒng),難以 建立精確的數(shù)學(xué)模型;同時(shí),常規(guī)的PID控制方法在非線性系統(tǒng)的精度控制與解耦控制上 也難以達(dá)到理想的控制效果。神經(jīng)網(wǎng)絡(luò)控制技術(shù)作為一種智能控制方法能夠充分逼近未 知非線性對象的動態(tài)行為,可以彌補(bǔ)常規(guī)PID方法的局限性,常用來解決一些難以建模的 非線性系統(tǒng)的控制問題。然而常用的多層前向神經(jīng)網(wǎng)絡(luò)是一種靜態(tài)網(wǎng),其在控制系統(tǒng)中應(yīng) 用時(shí)必須先確定對象的模型,對未知或先驗(yàn)知識很少的系統(tǒng)而言,既不準(zhǔn)確又影響辨識和 控制效果,而對角遞歸神經(jīng)網(wǎng)絡(luò)(DRNN)具有內(nèi)部反饋機(jī)制可用來記憶系統(tǒng)的動態(tài)響應(yīng),其 用于系統(tǒng)辨識與控制時(shí)無須知道詳細(xì)的對象知識,可以有效改善控制系統(tǒng)的魯棒性和適應(yīng) 性,提高系統(tǒng)的控制性能。如何在工業(yè)控制系統(tǒng)中有效實(shí)現(xiàn)和應(yīng)用DRNN等神經(jīng)網(wǎng)絡(luò)算法, 提高整個系統(tǒng)運(yùn)行的穩(wěn)定性和實(shí)時(shí)性是整個控制工程界需要解決的問題。
[0003] 在現(xiàn)有技術(shù)中,對角遞歸神經(jīng)網(wǎng)絡(luò)算法在控制領(lǐng)域中的實(shí)現(xiàn)方式主要有以下三 種: (1) 全PC機(jī)實(shí)現(xiàn)。目前對角遞歸神經(jīng)網(wǎng)絡(luò)控制器的研宄通常都是借助PC機(jī)上Matlab 軟件實(shí)現(xiàn)系統(tǒng)建模與仿真,多數(shù)停留在理論研宄階段,并未真正應(yīng)用到實(shí)際控制工程中,其 算法程序也無法直接移植到工程現(xiàn)場中使用。 (2) PC+PLC架構(gòu)實(shí)現(xiàn)。采用PC+PLC架構(gòu)實(shí)現(xiàn)對角遞歸神經(jīng)網(wǎng)絡(luò)控制器主要有兩種方 式:一是整個神經(jīng)網(wǎng)絡(luò)的模型在上位機(jī)(PC)中建立和訓(xùn)練,神經(jīng)網(wǎng)絡(luò)算法僅為PLC控制站 提供參數(shù)辨識的功能,如對PID控制參數(shù)進(jìn)行優(yōu)化,而神經(jīng)網(wǎng)絡(luò)算法的執(zhí)行并非在PLC中完 成。 ⑶全PLC實(shí)現(xiàn)。神經(jīng)網(wǎng)絡(luò)模型在上位機(jī)的組態(tài)軟件中建立,可下載到PLC中進(jìn)行計(jì)算, 但由于組態(tài)軟件與PLC品牌相互綁定,神經(jīng)網(wǎng)絡(luò)算法程序只能運(yùn)行在特定品牌的PLC中。
[0004] 而以上方法均存在不同層面的弊端: 首先,多數(shù)研宄中神經(jīng)網(wǎng)絡(luò)模型的建立與計(jì)算都是在上位機(jī)中完成,而管理上位機(jī)采 用的是普通PC,其硬件及軟件的可靠性均十分有限,可能對控制系統(tǒng)的長期穩(wěn)定運(yùn)行造成 不利影響; 其次,在上位機(jī)中運(yùn)行的神經(jīng)網(wǎng)絡(luò)算法往往是在非實(shí)時(shí)數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)處理,控制 站采集的實(shí)時(shí)數(shù)據(jù)也需要傳輸?shù)缴衔粰C(jī)中計(jì)算,嚴(yán)重地影響了系統(tǒng)控制的實(shí)時(shí)性; 再次,由于不同廠商生產(chǎn)的組態(tài)軟件與特定品牌的PLC相互綁定,不同品牌的控制器 采用的編程規(guī)則也千差萬別,針對一個品牌控制器編寫的算法程序基本不可能直接移植到 另一個品牌控制器的平臺上運(yùn)行,因此現(xiàn)有技術(shù)中實(shí)現(xiàn)的神經(jīng)網(wǎng)絡(luò)程序的通用性都較差。
[0005] 最后,多數(shù)研宄采用類C語言的編程方法實(shí)現(xiàn)對角遞歸神經(jīng)網(wǎng)絡(luò)控制器算法程 序,算法通用性差,當(dāng)系統(tǒng)更復(fù)雜或模型稍作修改,就需要進(jìn)入編程環(huán)境重新編程,無法支 持在線調(diào)試,調(diào)試過程也不直觀。
[0006] 有鑒于此,有必要提出一種通用的神經(jīng)網(wǎng)絡(luò)控制器實(shí)現(xiàn)方法以解決上述問題。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于提供一種對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,用 于解決現(xiàn)有技術(shù)中DRNN神經(jīng)網(wǎng)絡(luò)算法程序難以在不同類型計(jì)算器件上移植、共享等技術(shù) 問題,以克服現(xiàn)有技術(shù)的不足。
[0008] 為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺 中的實(shí)現(xiàn)方法,其特征在于,按照如下步驟實(shí)現(xiàn): 51 :建立DRNN神經(jīng)網(wǎng)絡(luò)控制器,所述DRNN神經(jīng)網(wǎng)絡(luò)控制器包括一 DRNC神經(jīng)網(wǎng)絡(luò)和一 DRNI神經(jīng)網(wǎng)絡(luò); 52 :分別對所述DRNC神經(jīng)網(wǎng)絡(luò)和所述DRNI神經(jīng)網(wǎng)絡(luò)對應(yīng)選取學(xué)習(xí)訓(xùn)練方法; 53 :通過計(jì)算單元模塊組態(tài)的方式建立所述DRNN神經(jīng)網(wǎng)絡(luò)控制器的拓?fù)浣Y(jié)構(gòu),并對各 個計(jì)算單元模塊的計(jì)算順序進(jìn)行時(shí)序分析與判斷; 54 :建立所述計(jì)算單元模塊與通用中間件的映射關(guān)系; 55 :建立所述通用中間件與目標(biāo)平臺的映射關(guān)系; 56 :將所述通用中間件對應(yīng)部署到所述目標(biāo)平臺中; 57 :在所述目標(biāo)平臺上對應(yīng)解析所述通用中間件與所述目標(biāo)平臺間的映射關(guān)系; 58 :在所述目標(biāo)平臺上運(yùn)行所述DRNN神經(jīng)網(wǎng)絡(luò)控制器。
[0009] 在本發(fā)明一實(shí)施例中,在所述步驟Sl中,所述DRNI神經(jīng)網(wǎng)絡(luò)用于識別未知的被控 設(shè)備,并將被控設(shè)備的敏感度信息提供給所述DRNC神經(jīng)網(wǎng)絡(luò);所述DRNC神經(jīng)網(wǎng)絡(luò)用于調(diào)節(jié) 系統(tǒng)中被控設(shè)備的輸出和期望輸出之間的誤差,使得被控設(shè)備的輸出和期望輸出之間的誤 差最?。凰鯠RNI神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和所述DRNC神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)均根據(jù)被控設(shè)備輸入輸出 的個數(shù)來建立的。
[0010] 在本發(fā)明一實(shí)施例中,在所述步驟S2中,所述DRNC神經(jīng)網(wǎng)絡(luò)和所述DRNI神經(jīng)網(wǎng) 絡(luò)的學(xué)習(xí)訓(xùn)練方法采用梯度下降法;所述DRNI神經(jīng)網(wǎng)絡(luò)與所述DRNC神經(jīng)網(wǎng)絡(luò)中迭代過程 的權(quán)值均采用如下該方式進(jìn)行更新:
【主權(quán)項(xiàng)】
1. 一種對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在于,按照如下步驟 實(shí)現(xiàn): 51 :建立DRNN神經(jīng)網(wǎng)絡(luò)控制器,所述DRNN神經(jīng)網(wǎng)絡(luò)控制器包括一 DRNC神經(jīng)網(wǎng)絡(luò)和一 DRNI神經(jīng)網(wǎng)絡(luò); 52 :分別對所述DRNC神經(jīng)網(wǎng)絡(luò)和所述DRNI神經(jīng)網(wǎng)絡(luò)對應(yīng)選取學(xué)習(xí)訓(xùn)練方法; 53 :通過計(jì)算單元模塊組態(tài)的方式建立所述DRNN神經(jīng)網(wǎng)絡(luò)控制器的拓?fù)浣Y(jié)構(gòu),并對各 個計(jì)算單元模塊的計(jì)算順序進(jìn)行時(shí)序分析與判斷; 54 :建立所述計(jì)算單元模塊與通用中間件的映射關(guān)系; 55 :建立所述通用中間件與目標(biāo)平臺的映射關(guān)系; 56 :將所述通用中間件對應(yīng)部署到所述目標(biāo)平臺中; 57 :在所述目標(biāo)平臺上對應(yīng)解析所述通用中間件與所述目標(biāo)平臺間的映射關(guān)系; 58 :在所述目標(biāo)平臺上運(yùn)行所述DRNN神經(jīng)網(wǎng)絡(luò)控制器。
2. 根據(jù)權(quán)利要求1所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在 于:在所述步驟Sl中,所述DRNI神經(jīng)網(wǎng)絡(luò)用于識別未知的被控設(shè)備,并將被控設(shè)備的敏感 度信息提供給所述DRNC神經(jīng)網(wǎng)絡(luò);所述DRNC神經(jīng)網(wǎng)絡(luò)用于調(diào)節(jié)系統(tǒng)中被控設(shè)備的輸出和 期望輸出之間的誤差,使得被控設(shè)備的輸出和期望輸出之間的誤差最?。凰鯠RNI神經(jīng)網(wǎng) 絡(luò)的結(jié)構(gòu)和所述DRNC神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)均根據(jù)被控設(shè)備輸入輸出的個數(shù)來建立的。
3. 根據(jù)權(quán)利要求2所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在 于:在所述步驟S2中,所述DRNC神經(jīng)網(wǎng)絡(luò)和所述DRNI神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練方法均采用梯 度下降法;所述DRNI神經(jīng)網(wǎng)絡(luò)與所述DRNC神經(jīng)網(wǎng)絡(luò)中迭代過程的權(quán)值均采用如下該方式 千畝新.
其中W表示權(quán)重,W(n)和W(n+1)分別表示在迭代過程中,該權(quán)重的當(dāng)前值和下一時(shí)刻 的值;η表示學(xué)習(xí)率,〇(k)表示所述DRNI神經(jīng)網(wǎng)絡(luò)或所述DRNC神經(jīng)網(wǎng)絡(luò)的輸出;Em表示 所述DRNI神經(jīng)網(wǎng)絡(luò)的一個周期的誤差函數(shù),e m(k) =y(k)_ym(k)表示被控設(shè)備響應(yīng)y(k) 和所述DRNI神經(jīng)網(wǎng)絡(luò)響應(yīng)ym(k)間的誤差;E c表示所述DRNC神經(jīng)網(wǎng)絡(luò)的一個周期的誤差 函數(shù),ec(k) = yJlO-yQO表示期望響應(yīng)yjk)和被控設(shè)備響應(yīng)y(k)之間的誤差;yu(k)為 被控設(shè)備的敏感度,即被控設(shè)備的輸入輸出關(guān)系。
4. 根據(jù)權(quán)利要求1所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在 于:在所述步驟S3中,所述DRNN神經(jīng)網(wǎng)絡(luò)控制器包括多個拓?fù)浣Y(jié)構(gòu),且每個拓?fù)浣Y(jié)構(gòu)均包 括多個節(jié)點(diǎn)以及與所述節(jié)點(diǎn)相連的連接線;所述計(jì)算單元模塊為所述拓?fù)浣Y(jié)構(gòu)中最小組成 的節(jié)點(diǎn);所述計(jì)算單元模塊為執(zhí)行模擬量或數(shù)字量計(jì)算操作的控制單元;所述連接線用以 表示數(shù)據(jù)變量信號類型和信號流動方向;所述拓?fù)浣Y(jié)構(gòu)之間的數(shù)據(jù)流是通過每個拓?fù)浣Y(jié)構(gòu) 對應(yīng)的輸入控制單元或輸出控制單元相互銜接。
5. 根據(jù)權(quán)利要求1所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在 于:在所述步驟S4中,所述通用中間件通過對所述計(jì)算單元模塊進(jìn)行結(jié)構(gòu)化數(shù)字編碼,建 立所述計(jì)算單元模塊與所述通用中間件的映射關(guān)系。
6. 根據(jù)權(quán)利要求4或5所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其 特征在于:所述通用中間件用于連接所述拓?fù)浣Y(jié)構(gòu)與所述目標(biāo)平臺,且該通用中間件包括: 結(jié)構(gòu)數(shù)據(jù)庫、事務(wù)調(diào)度模塊、中間件模塊以及算法執(zhí)行模塊;所述結(jié)構(gòu)數(shù)據(jù)庫用于接收和管 理經(jīng)結(jié)構(gòu)化數(shù)字編碼后計(jì)算單元模塊的組態(tài)信息;所述事務(wù)調(diào)度模塊和所述算法執(zhí)行模塊 用于讀取所述組態(tài)信息以及所述拓計(jì)算單元模塊的時(shí)序定義信息,以及完成所述DRNN神 經(jīng)網(wǎng)絡(luò)控制器的計(jì)算與執(zhí)行。
7. 根據(jù)權(quán)利要求5所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在 于:在所述步驟S5中,分析所述目標(biāo)平臺的編程規(guī)范,在所述通用中間件的結(jié)構(gòu)化數(shù)字編 碼系統(tǒng)與所述目標(biāo)平臺的指令系統(tǒng)之間建立映射關(guān)系。
8. 根據(jù)權(quán)利要求5所述的對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,其特征在 于:在所述步驟S7中,通過所述中間件模塊解析所述通用中間件與目標(biāo)平臺之間的映射關(guān) 系,并生成所述目標(biāo)平臺所支持的程序代碼。
【專利摘要】本發(fā)明涉及一種對角遞歸神經(jīng)網(wǎng)絡(luò)控制器在多平臺中的實(shí)現(xiàn)方法,按照如下實(shí)現(xiàn):建立DRNN神經(jīng)網(wǎng)絡(luò)控制器,其包括DRNC神經(jīng)網(wǎng)絡(luò)和DRNI神經(jīng)網(wǎng)絡(luò);對DRNC神經(jīng)網(wǎng)絡(luò)和DRNI神經(jīng)網(wǎng)絡(luò)對應(yīng)選取學(xué)習(xí)訓(xùn)練方法;通過計(jì)算單元模塊組態(tài)的方式建立DRNN神經(jīng)網(wǎng)絡(luò)控制器拓?fù)浣Y(jié)構(gòu);建立計(jì)算單元模塊與通用中間件的映射關(guān)系;建立通用中間件與目標(biāo)平臺的映射關(guān)系;將通用中間件對應(yīng)部署到目標(biāo)平臺中;在目標(biāo)平臺上對應(yīng)解析通用中間件與目標(biāo)平臺間的映射關(guān)系;在目標(biāo)平臺上運(yùn)行DRNN神經(jīng)網(wǎng)絡(luò)控制器。本發(fā)明所提出的方法可在多種不同類型的計(jì)算平臺中相互移植與共享,支持在線組態(tài)和調(diào)試,其學(xué)習(xí)、訓(xùn)練以及測試應(yīng)用均可在下位機(jī)中實(shí)現(xiàn),能夠滿足工業(yè)現(xiàn)場長期穩(wěn)定工作的需要。
【IPC分類】G05B19-418
【公開號】CN104834285
【申請?zhí)枴緾N201510144288
【發(fā)明人】鄭松, 宋怡霖
【申請人】福州大學(xué)
【公開日】2015年8月12日
【申請日】2015年3月30日