欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種可編程硬件bp神經(jīng)元處理器的制作方法

文檔序號:6346875閱讀:214來源:國知局
專利名稱:一種可編程硬件bp神經(jīng)元處理器的制作方法
技術(shù)領(lǐng)域
本實用新型涉及神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)領(lǐng)域,特別涉及BP神經(jīng)網(wǎng)絡(luò)運(yùn)算的硬件實現(xiàn), 具體是指BP神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元處理器。
背景技術(shù)
人工神經(jīng)網(wǎng)絡(luò)在智能控制、模式識別等領(lǐng)域中應(yīng)用廣泛,其中BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用 最為廣泛,BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法有多種,以滿足不同的應(yīng)用需求。但是傳統(tǒng)的基于通用處 理器的軟件實現(xiàn)方法存在的主要問題并行程度較低,特別是在嵌入式應(yīng)用領(lǐng)域,計算速度 無法滿足現(xiàn)場的實時性需求。神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)可滿足并行計算的要求,但硬件實現(xiàn)存 在靈活性差的問題。本實用新型裝置通過對神經(jīng)元處理器的控制寄存器組進(jìn)行編程設(shè)置, 實現(xiàn)三種典型的BP神經(jīng)網(wǎng)絡(luò)在神經(jīng)元節(jié)點上的運(yùn)算。多個神經(jīng)元處理器串聯(lián)可實現(xiàn)流水 運(yùn)算,既滿足并行計算的要求,又提高了靈活性和適用性。
發(fā)明內(nèi)容本實用新型要解決的問題是在嵌入式應(yīng)用領(lǐng)域,硬件BP神經(jīng)網(wǎng)絡(luò)中單個神經(jīng)元 節(jié)點在不同運(yùn)算階段的運(yùn)算以及實現(xiàn)不同學(xué)習(xí)算法的問題。具有可編程的特點,靈活性高, 適用性強(qiáng)。本實用新型提供的一種可編程硬件BP神經(jīng)元處理器是由局部數(shù)據(jù)總線1、專用寄 存器組2、控制寄存器組3、運(yùn)算器4、權(quán)值存儲器5、誤差傳遞因子存儲器6、權(quán)值個數(shù)計數(shù)器 7、層數(shù)計數(shù)器8、訓(xùn)練批次計數(shù)器9、微控制器10和外部控制總線11組成。其中專用寄存 器組2、控制寄存器組3、運(yùn)算器4、權(quán)值存儲器5、誤差傳遞因子存儲器6分別與局部數(shù)據(jù)總 線1相連;微控制器10通過微控制信號線Li、L2、L3、L4、L5、L6、L7、L8分別與專用寄存器 組2、控制寄存器組3、運(yùn)算器4、訓(xùn)練批次計數(shù)器9、層數(shù)計數(shù)器8、誤差傳遞因子存儲器6、 權(quán)值存儲器5、權(quán)值個數(shù)計數(shù)器7相連;運(yùn)算器4與權(quán)值存儲器5之間,運(yùn)算器4與誤差傳 遞因子存儲器6之間通過獨立的總線相連。在具體使用中,本實用新型所述的可編程硬件BP神經(jīng)元處理器12在外部總控制 器13的控制下,接收外部數(shù)據(jù)存儲器14的數(shù)據(jù),并將計算結(jié)果傳給外部的激勵函數(shù)電路 15,激勵函數(shù)輸出的結(jié)果存儲在外部數(shù)據(jù)存儲器14中。常用的BP神經(jīng)網(wǎng)絡(luò)通常由輸入層、若干個隱層和輸出層構(gòu)成,每層有若干個神經(jīng) 元節(jié)點。其中所述的運(yùn)算器可以執(zhí)行輸入層、各隱層和輸出層單個節(jié)點的計算,總層數(shù)最多 可達(dá)8個.其中包括各輸入層神經(jīng)元凈輸入計算net,輸出層誤差計算error。,各隱層誤差 計算errOTh,各層誤差傳遞因子計算δ和各層權(quán)值調(diào)整量計算AW。其中所述的各層權(quán)值 調(diào)整量計算AW與具體的學(xué)習(xí)算法有關(guān),本新型實用可以實現(xiàn)BP標(biāo)準(zhǔn)算法、附加動量項算 法及學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算法這三種典型的學(xué)習(xí)算法。所述的權(quán)值存儲器用于存放各輸入節(jié)點到當(dāng)前計算層該神經(jīng)元節(jié)點的連接權(quán)值 Qij及輸出層的期望值Cli,不同層的計算所涉及的權(quán)值是不同的,可通過外部存器調(diào)入。同時在各層權(quán)值調(diào)整量計算階段還用于存放權(quán)值調(diào)整量Δ W。所述的誤差傳遞因子存儲器用于存儲運(yùn)算器執(zhí)行誤差傳遞因子計算產(chǎn)生的的誤 差傳遞因子S??刂萍拇嫫鹘M中由一個控制字寄存器和八個各層神經(jīng)元個數(shù)寄存器構(gòu)成,其中的 控制字寄存器含三類控制信息,包括三位學(xué)習(xí)算法類型編碼、四位BP網(wǎng)絡(luò)層數(shù)以及一位工 作方式位。每個神經(jīng)元個數(shù)寄存器存放一層的的神經(jīng)元個數(shù)。工作方式位用于指示運(yùn)算器 是工作在正常運(yùn)算狀態(tài)還是工作在訓(xùn)練狀態(tài)。通過對控制寄儲器組的編程設(shè)置,可滿足不 同規(guī)模、不同學(xué)習(xí)算法的選擇。所述的專用寄存組由四個寄存器構(gòu)成,每個寄存器存儲計算過程中要使用的一個 參數(shù),其中包括學(xué)習(xí)速率η、附加動量算法中的附加動量系數(shù)α,學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算 法中的學(xué)習(xí)速率調(diào)整因子β (0< β < 1),Y (Y > 1)。所述的權(quán)值個數(shù)計數(shù)器用于統(tǒng)計運(yùn)算器在各層運(yùn)算的循環(huán)運(yùn)算次數(shù)。當(dāng)權(quán)值計數(shù) 器為零時,本階段的運(yùn)算結(jié)束。所述的層數(shù)計數(shù)器用于統(tǒng)計運(yùn)算器當(dāng)前計算的是哪一層的數(shù)據(jù)。當(dāng)層數(shù)計數(shù)器為 零時,整個計算完畢。所述的微控制器產(chǎn)生微控制信號完成初始化工作及控制運(yùn)算器完成不同階段運(yùn) 算操作。微控制器在接收到外部總控制器的初始化控制信號后,從外部數(shù)據(jù)存儲器依次調(diào) 入數(shù)據(jù),寫入控制寄存器組、專用寄存器組和權(quán)值存儲器,并將控制寄存器中的輸入層神經(jīng) 元個數(shù)值賦給權(quán)值個數(shù)計數(shù)器。完成初始化工作后,微控制器通過控制字寄存器的工作方 式位選擇進(jìn)入正常運(yùn)算狀態(tài)還是訓(xùn)練狀態(tài)。在正常運(yùn)算狀態(tài)下,微控制器控制運(yùn)算器完成 神經(jīng)元凈輸入計算,并將計算結(jié)果輸出至外部的激勵函數(shù)電路;在訓(xùn)練狀態(tài)下,微控制器控 制運(yùn)算器依次完成各層神經(jīng)元凈輸入計算net,輸出層誤差計算error。,各層誤差傳遞因子 計算δ,各隱層誤差計算erroiv根據(jù)控制字寄存器中的學(xué)習(xí)算法類型編碼選擇不同類型 的學(xué)習(xí)算法完成各層權(quán)值調(diào)整量計算Xl權(quán)值計數(shù)器為減1計數(shù),每計算一次,微控制器 控制權(quán)值計數(shù)器執(zhí)行減1操作。當(dāng)權(quán)值計數(shù)值器的值為零時,微控制器從控制寄存器組中 取出下一層計算所需的神經(jīng)元個數(shù),賦給權(quán)值個數(shù)計數(shù)器后開始下一階段計算。層數(shù)計數(shù) 器可進(jìn)行加減1計數(shù),在前饋運(yùn)算時每計算完一層減1,當(dāng)層數(shù)計數(shù)器為零時,整個運(yùn)算結(jié) 束;在誤差反傳運(yùn)算時每計算完一層加1,當(dāng)層數(shù)計數(shù)器值等于第1隱層時,微控制器向外 部的總控制器發(fā)送計算完畢控制信號,并等待總控制器新的運(yùn)算控制信號。

圖1為本實用新型的可編程硬件BP神經(jīng)元處理器結(jié)構(gòu)示意圖圖2為本實用新型的可編程硬件BP神經(jīng)元處理器與外部部件的結(jié)構(gòu)示意圖圖3為本實用新型的可編程硬件BP神經(jīng)元處理器專用寄存器組示意圖圖4為本實用新型的可編程硬件BP神經(jīng)元處理器控制寄存器組示意圖圖1中,1是局部數(shù)據(jù)總線,2是專用寄存器組,3是控制寄存器組,4是運(yùn)算器,5是 權(quán)值存儲器,6是誤差傳遞因子存儲器,7是權(quán)值個數(shù)計數(shù)器,8是層數(shù)計數(shù)器,9是訓(xùn)練批次 計數(shù)器,10是微控制器,11是外部控制總線。圖2中,12是可編程硬件BP神經(jīng)元處理器,13是外部總控制器,14是外部數(shù)據(jù)存儲器,15是激勵函數(shù)電路。圖3中,數(shù)字代表專用寄存器組自上而下的層間編碼。圖4中,數(shù)字代表控制寄存器組自上而下的層間編碼。
具體實施方式
本實用新型提供的一種可編程硬件BP神經(jīng)元處理器12由局部數(shù)據(jù)總線1、專用寄 存器組2、控制寄存器組3、運(yùn)算器4、權(quán)值存儲器5、誤差傳遞因子存儲器6、權(quán)值個數(shù)計數(shù)器 7、層數(shù)計數(shù)器8、訓(xùn)練批次計數(shù)器9、微控制器10和外部控制總線11構(gòu)成。所述的專用寄存器組2、控制寄存器組3、運(yùn)算器4、權(quán)值存儲器5、誤差傳遞因子存 儲器6分別與局部數(shù)據(jù)總線1有連接。所述的微控制器10與專用寄存器組2、控制寄存器組3、運(yùn)算器4、訓(xùn)練批次計數(shù)器 9、層數(shù)計數(shù)器8、誤差傳遞因子存儲器6、權(quán)值存儲器5、權(quán)值個數(shù)計數(shù)器7有連接。所述的控制寄存器組3由控制字寄存器20和八個各層神經(jīng)元個數(shù)寄存器21 觀 構(gòu)成。所述的專用寄存器組2由學(xué)習(xí)速率寄存器η 15、附加動量算法中的附加動量系數(shù) 寄存器α 17,學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算法中的學(xué)習(xí)速率調(diào)整因子寄存器β 18(0 < β <1), 學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算法中的學(xué)習(xí)速率調(diào)整因子寄存器> 1)構(gòu)成。所述的一種可編程硬件BP神經(jīng)元處理器12工作在兩種狀態(tài),正常運(yùn)算狀態(tài)和訓(xùn) 練狀態(tài)。微控制器10從外部數(shù)據(jù)存儲器14依次調(diào)入學(xué)習(xí)算法類型編碼、BP網(wǎng)絡(luò)層數(shù)及工 作方式位構(gòu)成的控制字?jǐn)?shù)據(jù)寫入控制字寄存器組3、調(diào)入與BP網(wǎng)絡(luò)層次及每層神經(jīng)元個數(shù) 的數(shù)據(jù)寫入神經(jīng)元個數(shù)寄存器21 觀,根據(jù)控制字寄存器20中的工作方式位,判斷工作狀 態(tài)。當(dāng)工作方式位為0時,進(jìn)入正常運(yùn)算狀態(tài);當(dāng)工作方式位為1時,進(jìn)入訓(xùn)練狀態(tài)。在正常運(yùn)算狀態(tài),微控制器10從外部數(shù)據(jù)存儲器14調(diào)入已訓(xùn)練好的輸入層連接 權(quán)值寫入權(quán)值存儲器5、讀出輸入層神經(jīng)元個數(shù)寄存器21的值寫入權(quán)值個數(shù)計數(shù)器7,讀出 控制字寄存器20中的的BP網(wǎng)絡(luò)層數(shù)值寫入層數(shù)計數(shù)器8。完成初始化工作后,啟動運(yùn)算 器4,從外部數(shù)據(jù)存儲器14依次讀入樣本數(shù)據(jù),進(jìn)行下一層神經(jīng)元的凈輸入運(yùn)算net,當(dāng)權(quán) 值個數(shù)計數(shù)器7為零時,本層單個節(jié)點的計算完成,將計算結(jié)果輸出至外部的激勵函數(shù)電 路15,層數(shù)計數(shù)器8減1,微控制器10從神經(jīng)元個數(shù)寄存器0 中取出下一層計算所需的 神經(jīng)元個數(shù),賦給權(quán)值個數(shù)計數(shù)器7,從外部數(shù)據(jù)存儲器14調(diào)入已訓(xùn)練好的下一層連接權(quán) 值寫入權(quán)值存儲器5后,依次從外部數(shù)據(jù)存儲器14中讀入上一層激勵函數(shù)電路15計算的 結(jié)果,開始進(jìn)行下一層計算階段,層數(shù)計數(shù)器8的值為零時,樣本運(yùn)算結(jié)束,微控制器10向 外部的總控制器13發(fā)送計算完畢控制信號,并等待總控制器13新的運(yùn)算控制信號。在訓(xùn)練狀態(tài),完成初始化工作,完成凈輸入運(yùn)算net后,還要完成輸出層誤差計算 error。,各層誤差傳遞因子計算δ,各隱層誤差計算errOTh,各層權(quán)值調(diào)整量計算Δ W。所述輸出層誤差計算error。= d_o,其中期望輸出值d存放在權(quán)值存儲器5中,實 際輸出值ο存放在外部數(shù)據(jù)存儲器14中,計算結(jié)果寫入外部數(shù)據(jù)存儲器14。所述各層誤差傳遞因子計算δ = erroriXffcet),其中本層的誤差值 凈輸出的導(dǎo)數(shù)f (net)存放在外部數(shù)據(jù)存儲器14中,均由微控制器10控制讀入運(yùn)算器4中 計算,計算結(jié)果存放在誤差傳遞因子存儲器6中。[0032]所述各隱層誤差計算errOTh=E δ X ω,其中的誤差傳遞因子δ存放在誤差傳 遞因子存儲器6,權(quán)值ω存放在權(quán)值存儲器5中,由微控制器10控制讀入運(yùn)算器4中計算, 計算結(jié)果寫入外部數(shù)據(jù)存儲器14。所述各層權(quán)值調(diào)整量計算AW涉及不同的學(xué)習(xí)算法,由微控制器10讀取控制字寄 存器20中的三位學(xué)習(xí)算法類型編碼,這三位編碼分別代表BP算法、附加動量項算法和學(xué)習(xí) 速率自適應(yīng)算法。所述的BP標(biāo)準(zhǔn)算法完成AW= ηΧ δ XO計算,其中學(xué)習(xí)速率η存放在學(xué)習(xí)速 率寄存器η 15中,δ存放在誤差傳遞因子存儲器6中,0存放在外部數(shù)據(jù)存儲器14中,由 微控制器10控制讀到運(yùn)算器4中計算,計算結(jié)果寫入權(quán)值存儲器5中。所述的附加動量項算法完成AW(t) = nX δ χο+α X AW(t_l),其中α存放在 附加動量系數(shù)寄存器α 17中,上一次層權(quán)值調(diào)整量計算AW(t-l)存放在權(quán)值存儲器5中, 由微控制器10控制讀入運(yùn)算器4中計算,計算結(jié)果寫入權(quán)值存儲器5中。所述的學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算法完成AW= nX δ XO計算。本學(xué)習(xí)算法在網(wǎng)絡(luò) 經(jīng)過t次權(quán)值調(diào)整后,若總誤差上升,則本次調(diào)整無效,S卩AW不寫入權(quán)值存儲器5中,同時 修改η = β X η (O < β < 1);若總誤差有效,則本次調(diào)整有效,將Δ W寫入權(quán)值存儲器5 中,同時修改η = γΧη(γ>ι)。其中β存放在學(xué)習(xí)速率調(diào)整因子寄存器β 18中,Y 存放在學(xué)習(xí)速率調(diào)整因子寄存器Y 19中,訓(xùn)練批次數(shù)t由微控制器10在初始化時從外部 數(shù)據(jù)存儲器14讀入訓(xùn)練批次計數(shù)器9,權(quán)值每調(diào)整一次,訓(xùn)練批次計數(shù)器9減1,當(dāng)訓(xùn)練批 次計數(shù)器9為零時,執(zhí)行學(xué)習(xí)速率的修改操作。本實用新型提供的一種可編程硬件BP神經(jīng)元處理器,可通過對控制寄存器進(jìn)行 編程設(shè)置,實現(xiàn)三種典型的BP神經(jīng)網(wǎng)絡(luò)在神經(jīng)元節(jié)點上的運(yùn)算。多個神經(jīng)元處理器串聯(lián)可 實現(xiàn)流水運(yùn)算,即滿足并行計算的要求,又提高了靈活性和適用性,適合用于嵌入式硬件BP 神經(jīng)網(wǎng)絡(luò)應(yīng)用領(lǐng)域。
權(quán)利要求1.一種可編程硬件BP神經(jīng)元處理器,其特征在于處理器是由局部數(shù)據(jù)總線(1)、專用 寄存器組O)、控制寄存器組(3)、運(yùn)算器G)、權(quán)值存儲器(5)、誤差傳遞因子存儲器(6)、 權(quán)值個數(shù)計數(shù)器(7)、層數(shù)計數(shù)器(8)、訓(xùn)練批次計數(shù)器(9)、微控制器(10)和外部控制總 線(11)組成,其中專用寄存器組O)、控制寄存器組(3)、運(yùn)算器G)、權(quán)值存儲器(5)、誤差 傳遞因子存儲器(6)分別與局部數(shù)據(jù)總線(1)相連;微控制器(10)通過微控制信號線Li、 L2、L3、L4、L5、L6、L7、L8分別與專用寄存器組O)、控制寄存器組(3)、運(yùn)算器、訓(xùn)練批 次計數(shù)器(9)、層數(shù)計數(shù)器(8)、誤差傳遞因子存儲器(6)、權(quán)值存儲器( 、權(quán)值個數(shù)計數(shù)器 (7)相連;運(yùn)算器(4)與權(quán)值存儲器( 之間,運(yùn)算器(4)與誤差傳遞因子存儲器(6)之間 通過獨立的總線相連。
2.根據(jù)權(quán)利要求1所述的可編程硬件BP神經(jīng)元處理器,特征在于所述的專用寄存器組 (2)由四個寄存器構(gòu)成,每個寄存器存儲計算過程中要使用的一個參數(shù),其中包括學(xué)習(xí)速率 η、附加動量算法中的附加動量系數(shù)α,學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算法中的學(xué)習(xí)速率調(diào)整因子0 < β < 1, Y > 1。
3.根據(jù)權(quán)利要求1所述的可編程硬件BP神經(jīng)元處理器,其特征在于控制寄存器組(3) 由控制字寄存器00)和八個各層神經(jīng)元個數(shù)寄存器 08)構(gòu)成。
4.根據(jù)權(quán)利要求1所述的可編程硬件BP神經(jīng)元處理器,其特征在于運(yùn)算器(4)與權(quán)值 存儲器(5)、誤差傳遞因子存儲器(6)有連接。
專利摘要本新型實用涉及一種可編程硬件BP神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元處理器,是由運(yùn)算器、權(quán)值存儲器、誤差傳遞因子存儲器、專用寄存器組、控制寄存器組、微控制器、權(quán)值個數(shù)計數(shù)器、層數(shù)計數(shù)器及訓(xùn)練批次計數(shù)器構(gòu)成。所述說的神經(jīng)元處理器用于執(zhí)行BP神經(jīng)網(wǎng)絡(luò)各層單個節(jié)點的運(yùn)算。通過對控制寄存器進(jìn)行編程設(shè)置,微控制器可以控制運(yùn)算器執(zhí)行三種不同的BP神經(jīng)網(wǎng)絡(luò)在神經(jīng)元節(jié)點上的運(yùn)算,其中所述說的BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法指三種典型的學(xué)習(xí)算法,即BP標(biāo)準(zhǔn)算法、附加動量項算法及學(xué)習(xí)速率自適應(yīng)調(diào)節(jié)算法。多個神經(jīng)元處理器串聯(lián)可實現(xiàn)流水運(yùn)算,具有靈活性高,實用性強(qiáng)的特點,適合用于嵌入式硬件BP神經(jīng)網(wǎng)絡(luò)應(yīng)用領(lǐng)域。
文檔編號G06N3/063GK201927073SQ20102063184
公開日2011年8月10日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者黃晞 申請人:福建師范大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
虞城县| 比如县| 三河市| 揭东县| 东明县| 金坛市| 城市| 邮箱| 巴中市| 丹巴县| 淄博市| 葵青区| 定日县| 荣昌县| 客服| 江城| 新蔡县| 花莲市| 通许县| 柳江县| 常州市| 鄂伦春自治旗| 镇安县| 新和县| 博乐市| 东乌珠穆沁旗| 保山市| 惠东县| 阿尔山市| 鄂尔多斯市| 阜新| 星子县| 锦州市| 沛县| 阿鲁科尔沁旗| 卓尼县| 新竹县| 左贡县| 苏州市| 南宁市| 北票市|