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

人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng)的制作方法

文檔序號:6459170閱讀:583來源:國知局
專利名稱:人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種人工神經(jīng)網(wǎng)絡(luò)算法,特別涉及一種通過FPGA硬件的人工 神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng)。
背景技術(shù)
人工神經(jīng)網(wǎng)絡(luò)是一種模擬人的直觀性的思維,是一個非線性動力學(xué)系統(tǒng), 其特點(diǎn)在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結(jié)構(gòu)極其簡 單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實(shí)現(xiàn)的行為卻是極其豐富多 彩的。人工神經(jīng)網(wǎng)絡(luò)的研究就是有效的利用了人大腦的這一特性,屬于一門新 興的邊緣和交叉科學(xué),對神經(jīng)網(wǎng)絡(luò)的研究,必定會對計(jì)算機(jī)科學(xué)和智能科學(xué)產(chǎn) 生深刻的影響,提高計(jì)算機(jī)的智能水平。
人工神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)技術(shù)主要可以分為軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)兩種類型。軟 件實(shí)現(xiàn)依托于目前的高性能計(jì)算機(jī),通過程序編制來模擬實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),隨著 計(jì)算機(jī)處理能力的不斷增強(qiáng),這種技術(shù)的應(yīng)用范圍也越來越廣。而硬件實(shí)現(xiàn)就 是借助于微電子、光電子技術(shù)用硬件直接實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)。
軟件實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)的局限性在于軟件實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)是由支撐軟 件運(yùn)行的平臺決定的,而目前的軟件都是運(yùn)行在單處理器的計(jì)算機(jī)或者工作站 上,這些計(jì)算機(jī)都是采用串行計(jì)算的方式來完成任務(wù),因此其運(yùn)算速度遠(yuǎn)未達(dá) 到實(shí)現(xiàn)實(shí)時神經(jīng)網(wǎng)絡(luò)的要求。雖然現(xiàn)在不斷出現(xiàn)的多級流水線結(jié)構(gòu)的專用數(shù)字 信號處理芯片從某種程度上為實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)的并行處理提供了可能,但是 其單計(jì)算單元和總線沖突控制的限制使其不可能在同一時間完成多個神經(jīng)元
加權(quán)和計(jì)算。
人工神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)是基于不斷發(fā)展的半導(dǎo)體技術(shù)的;所謂硬件實(shí)現(xiàn) 是指物理上的處理單元及通訊通道與一個實(shí)際應(yīng)用的神經(jīng)網(wǎng)絡(luò)模型中的神經(jīng) 元及連接一一對應(yīng)。因此,要采用硬件實(shí)現(xiàn)的方式實(shí)現(xiàn)一個較大規(guī)模的人工神 經(jīng)網(wǎng)絡(luò),需要耗費(fèi)大量的硬件資源。近幾十年來,半導(dǎo)體工藝的發(fā)展一直遵循摩爾定律,面積不斷增大的晶圓、 寬度不斷減小的連線、更加先進(jìn)的蝕刻工藝等都使得我們可以在一塊芯片上集 成更多的晶體管,因而可以實(shí)現(xiàn)更大規(guī)模、更加復(fù)雜的神經(jīng)網(wǎng)絡(luò)。
盡管許多通過電腦程序的人工神經(jīng)網(wǎng)絡(luò)模擬已經(jīng)被人們實(shí)現(xiàn)了,但電腦硬
件不是為神經(jīng)網(wǎng)絡(luò)處理而最優(yōu)化的,同時微處理器和DSP并不合適于并行設(shè)
計(jì)。全并行的模塊也可以使用ASIC或VLSI來實(shí)現(xiàn),但由于其開發(fā)的昂貴性 和時間消耗太大,加之人工神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)是僅針對一個目標(biāo)的設(shè)計(jì),所以并不 是很適合用于人工神經(jīng)網(wǎng)絡(luò)的開發(fā)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng), 克服了現(xiàn)有的硬件實(shí)現(xiàn)技術(shù)的昂貴與占用硬件資源過大的缺陷,用VHDL實(shí) 現(xiàn),便于硬件實(shí)現(xiàn)并且可以節(jié)省硬件資源。
本發(fā)明所解決的技術(shù)問題可以采用以下技術(shù)方案來實(shí)現(xiàn)-一種人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法,其特征在于,它包括如下的步驟
(1) 進(jìn)行人工神經(jīng)網(wǎng)絡(luò)算法將算法結(jié)果擬合成神經(jīng)元的Sigmoid函數(shù);
(2) 用硬件描述語言VHDL實(shí)現(xiàn)步驟(1)所述的算法。 所述的算法為將輸入值看成隨機(jī)脈沖,在給點(diǎn)標(biāo)準(zhǔn)脈沖輸入的情況下,輸
入的隨機(jī)脈沖與標(biāo)準(zhǔn)脈沖之間的距離可看作是一系列隨機(jī)事件,并服從正態(tài)分 布,將這些脈沖累加,擬合成神經(jīng)元的Sigmoid函數(shù)。
所述人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法還包括驗(yàn)證歩驟,所述步驟為輸入 (0, 0) (0, 1) (1, 0) (1, 1)對應(yīng)的脈沖序列和權(quán)值,在輸出端得到相應(yīng) 的輸出脈沖,與標(biāo)準(zhǔn)脈沖比較后,是否與異或算法的輸出脈沖相符。
一種人工神經(jīng)網(wǎng)絡(luò)算法的系統(tǒng),其特征在于,它包括頂層模塊,所述頂層 模塊由若干神經(jīng)元模塊組成,所述神經(jīng)元模塊的脈沖輸入端輸入給定的權(quán)值乘 積,其輸出端通過正態(tài)分布隨機(jī)發(fā)生器和非線性變換器擬合成神經(jīng)元的 Sigmoid函數(shù),再經(jīng)過脈沖轉(zhuǎn)換器,轉(zhuǎn)換成脈沖輸出。
所述人工神經(jīng)網(wǎng)絡(luò)算法的系統(tǒng)采用3-2-1網(wǎng)絡(luò),所述頂層模塊包括3個輸 入神經(jīng)元、2個隱含層神經(jīng)元、l個輸出層神經(jīng)元。所述神經(jīng)元模塊由乘法器和累加器組成,在時鐘同步信號的控制下從上層 神經(jīng)元的輸入串行進(jìn)入神經(jīng)元并和其權(quán)值相乘,相乘結(jié)果在累加器中累加。 所述神經(jīng)元模塊完成任務(wù)的時鐘周期等于其連接上層網(wǎng)絡(luò)的連接數(shù)目。 所述神經(jīng)元模塊是并行處理的,其從公共輸入線上得到一個輸入。 本發(fā)明的神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng)和現(xiàn)有的實(shí)現(xiàn)技術(shù)相比, 克服以往軟件實(shí)現(xiàn)中的串行方式來完成并行計(jì)算的尷尬,取代了軟件實(shí)現(xiàn)的弊
端;又由于進(jìn)行了算法優(yōu)化,節(jié)省了大量硬件資源,在FPGA平臺上實(shí)現(xiàn),成 本較低,利用優(yōu)化的算法,避開了 Sigmoid函數(shù)用硬件難以實(shí)現(xiàn)的困境,又使 用了累加方式,節(jié)省了硬件資源。


圖1為本發(fā)明的結(jié)構(gòu)示意圖; 圖2為本發(fā)明的模塊結(jié)構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解, 下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。
如圖1、周2所示, 一種人工神經(jīng)網(wǎng)絡(luò)算法的系統(tǒng),它包括頂層模塊xor一s, 頂層模塊xor—s由若干神經(jīng)元模塊NY3—s組成。神經(jīng)元模塊NY3—s由乘法器 Multiplier—s和累加器Adder—s組成,在時鐘同步信號的控制下從上層神經(jīng)元的 輸入串行進(jìn)入神經(jīng)元并和其權(quán)值相乘,相乘結(jié)果在累加器Adder—s中累加。
所述人工神經(jīng)網(wǎng)絡(luò)算法的系統(tǒng)采用3-2-1網(wǎng)絡(luò),頂層模塊xor—s包括3個 輸入神經(jīng)元、2個隱含層神經(jīng)元、l個輸出層神經(jīng)元。
參見圖1,整個神經(jīng)網(wǎng)絡(luò)可以由3個3輸入1輸出的神經(jīng)元模塊NY3—s 構(gòu)成(陰影部分)。每個神經(jīng)元模塊NY3一s的模型可以用圖1和圖2所闡述的 數(shù)學(xué)模型代替,其中每個神經(jīng)元模塊NY3_s的3個輸入脈沖經(jīng)過給定的權(quán)值 乘積,輸入到累加器Adder一s中,再由正態(tài)分布隨機(jī)發(fā)生器LFSR—s產(chǎn)生對應(yīng) 的隨機(jī)數(shù),擬合成Sigmoid函數(shù),完成相應(yīng)的函數(shù)變換功能后,再經(jīng)過脈沖轉(zhuǎn) 換器,轉(zhuǎn)換成脈沖輸出。
5(1) 數(shù)據(jù)表示
在開始一個人工神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)之前,關(guān)于輸入、權(quán)重、和激活函數(shù)等數(shù)據(jù) 格式(定點(diǎn),浮點(diǎn)等問題)必須考慮,但提高設(shè)計(jì)元素的精度會顯著地增加資 源消耗。在學(xué)習(xí)階段數(shù)據(jù)精度必須盡可能地高,而在傳播階段,較低精度也是
可以接受的。在解決異或(XOR)問題中我們規(guī)定輸入值在O和1之間,訓(xùn)練 結(jié)果產(chǎn)生的權(quán)值必須在0和1之間。我們選擇帶符號位的8位精度來覆蓋[O, l]的范圍。
(2) 網(wǎng)絡(luò)結(jié)構(gòu)
在FPGA上實(shí)現(xiàn)全并行神經(jīng)網(wǎng)絡(luò),在全并行的網(wǎng)絡(luò)中每個神經(jīng)元模塊 NY3一s的乘法器Multiplier—s的數(shù)目和到此神經(jīng)元模塊NY3—s的連接數(shù)是相等 的,而且所有的輸出必須求和。累加器Adder一s的數(shù)目為和連接到上層的連接 的數(shù)目減l,見圖l。
(3) 神經(jīng)元模塊NY3一s結(jié)構(gòu)
每個神經(jīng)元模塊NY3—s有一個乘法器Multiplier—s和累加器Adder—s,處 理時,在時鐘同步信號的控制下從上層神經(jīng)元的輸入串行進(jìn)入神經(jīng)元并和其權(quán) 值相乘,每個神經(jīng)元模塊NY3—s有它自己保存權(quán)值的地方,相乘結(jié)果在累加 器Adder—s中累加。每個神經(jīng)元模塊NY3—s完成任務(wù)的時鐘周期等于其連接上 層網(wǎng)絡(luò)的連接數(shù)目。
(4) 層次結(jié)構(gòu)
所有的神經(jīng)元模塊NY3一s都是并行處理的,它們從公共輸入線上得到一 個輸入,乘以相應(yīng)的權(quán)值再累加其輸出,不計(jì)輸入層的神經(jīng)元,把隱含層和輸 出層的神經(jīng)元共有3個,為使算法簡單,每個設(shè)計(jì)元設(shè)計(jì)成3輸入1輸出。這 樣在編程的時候底層模塊可以分別調(diào)用3個神經(jīng)元。
(5) 激活函數(shù)
將輸入脈沖加權(quán)后累加可以得到Sigmoid函數(shù)的擬合,這和傳統(tǒng)的查表法 編程相比,可以節(jié)省大量硬件資源。
圖2是各個主要VHDL程序在QuartusII生成的Block圖,其中xor一s是 頂層模塊,由三個神經(jīng)元模塊NY3一s組成。
所述人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法,它包括如下的步驟-(1) 進(jìn)行人工神經(jīng)網(wǎng)絡(luò)算法將算法結(jié)果擬合成神經(jīng)網(wǎng)絡(luò)的Sigmoid函數(shù);
(2) 用硬件描述語言VHDL實(shí)現(xiàn)步驟(1)所述的算法。 所述的算法為將輸入值看成隨機(jī)脈沖,在給點(diǎn)標(biāo)準(zhǔn)脈沖輸入的情況下,輸
入的隨機(jī)脈沖與標(biāo)準(zhǔn)脈沖之間的距離可看作是一系列隨機(jī)事件,并服從正態(tài)分 布,將這些脈沖累加,即正態(tài)分布的積分,擬合成神經(jīng)網(wǎng)絡(luò)的Sigmoid函數(shù)。 所述人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法還包括驗(yàn)證步驟,所述步驟為輸入 (0, 0) (0, 1) (1, 0) (1, 1)對應(yīng)的脈沖序列和權(quán)值(IO位2進(jìn)制數(shù)),在 輸出端得到相應(yīng)的輸出脈沖,與標(biāo)準(zhǔn)脈沖比較后,是否與異或算法的輸出脈沖 相符。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè) 的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中 描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明 還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi),本 發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1、一種人工神經(jīng)網(wǎng)絡(luò)算法的系統(tǒng),其特征在于,它包括頂層模塊,所述頂層模塊由若干神經(jīng)元模塊組成,所述神經(jīng)元模塊的脈沖輸入端輸入給定的權(quán)值乘積,其輸出端通過正態(tài)分布隨機(jī)發(fā)生器和非線性變換器擬合成神經(jīng)網(wǎng)絡(luò)的Sigmoid函數(shù),再經(jīng)過脈沖轉(zhuǎn)換器,轉(zhuǎn)換成脈沖輸出。
2、 如權(quán)利要求1所述的系統(tǒng),其特征在于所述人工神經(jīng)網(wǎng)絡(luò)算法的系 統(tǒng)采用3-2-1網(wǎng)絡(luò),所述頂層模塊包括3個輸入神經(jīng)元、2個隱含層神經(jīng)元、1 個輸出層神經(jīng)元。
3、 如權(quán)利要求1所述的系統(tǒng),其特征在于所述神經(jīng)元模塊由乘法器和 累加器組成,在時鐘同步信號的控制下從上層神經(jīng)元的輸入串行進(jìn)入神經(jīng)元并 和其權(quán)值相乘,相乘結(jié)果在累加器中累加。
4、 如權(quán)利要求1所述的系統(tǒng),其特征在于所述神經(jīng)元模塊完成任務(wù)的時鐘周期等于其連接上層網(wǎng)絡(luò)的連接數(shù)目。
5、 一種人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法,其特征在于,它包括如下的(1) 進(jìn)行人工神經(jīng)網(wǎng)絡(luò)算法將算法結(jié)果擬合成神經(jīng)網(wǎng)絡(luò)的Sigmoid函數(shù);(2) 用硬件描述語言VHDL實(shí)現(xiàn)步驟(1)所述的算法。
6、 如權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于所述的算法為將輸入值 看成隨機(jī)脈沖,在給點(diǎn)標(biāo)準(zhǔn)脈沖輸入的情況下,輸入的隨機(jī)脈沖與標(biāo)準(zhǔn)脈沖之 間的距離可看作是一系列隨機(jī)事件,并服從正態(tài)分布,將這些脈沖累加,即正 態(tài)分布的積分,擬合成神經(jīng)網(wǎng)絡(luò)的Sigmoid函數(shù)。
7、 如權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于所述人工神經(jīng)網(wǎng)絡(luò)算法 的硬件實(shí)現(xiàn)方法還包括驗(yàn)證步驟,所述步驟為輸入(0, 0) (0, 1) (1, 0) (1, 1)對應(yīng)的脈沖序列和權(quán)值,在輸出端得到相應(yīng)的輸出脈沖,與標(biāo)準(zhǔn)脈沖比較 后,是否與異或算法的輸出脈沖相符。
全文摘要
本發(fā)明提供一種人工神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng),克服了現(xiàn)有的硬件實(shí)現(xiàn)技術(shù)的昂貴與占用硬件資源過大的缺陷;它包括頂層模塊,所述頂層模塊由若干神經(jīng)元模塊組成,所述神經(jīng)元模塊的脈沖輸入端輸入給定的權(quán)值乘積,其輸出端通過正態(tài)分布隨機(jī)發(fā)生器和非線性變換器擬合成神經(jīng)網(wǎng)絡(luò)的Sigmoid函數(shù),再經(jīng)過脈沖轉(zhuǎn)換器,轉(zhuǎn)換成脈沖輸出;本發(fā)明的神經(jīng)網(wǎng)絡(luò)算法的硬件實(shí)現(xiàn)方法及其系統(tǒng)和現(xiàn)有的實(shí)現(xiàn)技術(shù)相比,克服以往軟件實(shí)現(xiàn)中的串行方式來完成并行計(jì)算的尷尬,取代了軟件實(shí)現(xiàn)的弊端;又由于進(jìn)行了算法優(yōu)化,節(jié)省了大量硬件資源,在FPGA平臺上實(shí)現(xiàn),成本較低,利用優(yōu)化的算法,避開了Sigmoid函數(shù)用硬件難以實(shí)現(xiàn)的困境,又使用了累加方式,節(jié)省了硬件資源。
文檔編號G06N3/00GK101527010SQ20081003431
公開日2009年9月9日 申請日期2008年3月6日 優(yōu)先權(quán)日2008年3月6日
發(fā)明者張學(xué)佳, 李長樂, 馬立新 申請人:上海理工大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
邹城市| 陆良县| 偏关县| 东丰县| 中阳县| 贺兰县| 吉木乃县| 民乐县| 枣阳市| 平谷区| 罗源县| 祁阳县| 萨迦县| 怀安县| 克山县| 陇南市| 汶川县| 临桂县| 兰考县| 磐安县| 秀山| 从化市| 吴桥县| 娄烦县| 长宁区| 米脂县| 禹州市| 巨鹿县| 宁陵县| 揭东县| 贞丰县| 西贡区| 抚顺县| 太仓市| 大厂| 噶尔县| 台东市| 河源市| 客服| 长乐市| 平遥县|