程 丹,王連明
(東北師范大學應用電子技術研究所,吉林 長春 130024)
基于NIOSⅡ多核技術的Hopfield神經網絡硬件實現方法
程 丹,王連明
(東北師范大學應用電子技術研究所,吉林 長春 130024)
為了充分發揮人工神經網絡所具有的并行計算、分布式存儲的優點,提出了將NIOSⅡ多核技術應用于Hopfield神經網絡硬件實現的方法.采用中斷方式和SDRAM實現多核之間的通信,并將所實現的硬件用于數字識別,驗證了多核通信方法應用于神經網絡硬件實現的有效性和可行性.
SOPC;NIOSⅡ;多核通信;Hopfield神經網絡
人工神經網絡是由許多個神經元組成的、并行分布式的多處理器結構,每個神經元對應一個處理器.現有的神經網絡實現方法大都采用通用計算機單核處理器對人工神經網絡算法進行模擬,這種方法實質上不能夠體現人工神經網絡并行分布的網絡結構和處理能力.
NIOSⅡ處理器是Altera公司推出的第二代用戶可配置的、基于RISC的通用32位軟核處理器,是特有的基于通用FPGA架構的軟CPU內核.NIOSⅡ系列32位RISC嵌入式處理器具有每秒執行超過20億條指令的性能,在低成本FPGA中實現后成本只有35美分.由于處理器是軟核形式,具有很大的靈活性,可以在多種系統設置組合中進行選擇,以滿足成本和功能要求[1-2].
一個FPGA系統中可以配置多個NIOSⅡ軟核,從而構成NIOSⅡ多核系統,文獻中用NIOSⅡ多核技術實現了前饋型人工神經網絡——BP神經網絡[3-8].本文采用NIOSⅡ多核技術來模擬人工神經網絡,每個NIOSⅡ軟核可以模擬人工神經網絡中的一個或若干個神經元.嘗試用NIOSⅡ多核技術實現反饋型人工神經網絡——Hopfield神經網絡.使用這種方法可以充分發揮人工神經網絡并行分布式的處理優點,同時由于采用軟件編程,可以使網絡結構具有比較好的靈活性.
Hopfield神經網絡是一種單層對稱全反饋循環網絡,Hopfield神經網絡的結構見圖1.

圖1 Hopfield神經網絡結構
當每個神經元的輸出信號不僅反饋到其他所有神經元的輸入,同時也反饋到自己的輸入時,稱為有自反饋的Hopfield神經網絡.我們研究的就是有自反饋的Hopfield神經網絡.
根據運行方式的不同,Hopfield神經網絡主要有2種工作方式:(1)串行工作方式.在某一時刻只有一個神經元改變狀態,而其他神經元的輸出不變.這一變化的神經元可以按照隨機的方式或預定的順序來選擇.(2)并行工作方式.在某一時刻有N個神經元改變狀態,而其他的神經元的輸出不變.變化的這一組神經元可以按照隨機方式或某種規則來選擇.當某一時刻所有神經元都改變狀態時,稱為全并行方式.
根據激活函數選取的不同,Hopfield神經網絡可分為離散型Hopfield神經網絡和連續型Hopfield神經網絡,分別記作DHNN (Discrete Hopfield Neural Network)和CHNN (Continues Hopfield Neural Network).本文所實現的是全并行工作方式的離散型Hopfield神經網絡.
離散型Hopfield神經網絡是激活函數的二值函數,即輸入、輸出為{0,1}的反饋網絡.網絡中每個節點都有一個閾值,每個節點都可處于一種可能的狀態{0,1},即當該神經元所受的刺激超過其閾值時,神經元處于一種狀態(如1),否則神經元就處于另一狀態(如0).離散型Hopfield神經網絡的網絡方程見公式(1)和(2).

其中:ωij表示權值;θi表示閾值.
離散型Hopfield神經網絡權值和閾值的設計方法有外積和法、偽逆法、正交化法等,其中正交化法的數學設計較為復雜,但與另兩種方法相比,具有較大的穩定域.本文基于正交化法來計算離散型Hopfield神經網絡的權值和閾值的.
正交化法計算公式推導如下:
(1)已知有q個需要存儲的穩定平衡點T1,T2,…,Tq,T∈Rs,計算s×(q-1)階矩陣YRs×(q-1)有

(2)對Y進行奇異值及酋矩陣分解,如存在2個正交矩陣U和V以及一個對角值為Y的奇異的對角矩陣A,滿足:

由此可見,網絡的權矩陣式是由W+和W-兩部分權矩陣相加而成的,每一部分權所采用的都是類似于外積和法得到的,只是用的不是原始要求記憶的樣本,而是分解后正交矩陣的分量.這兩部分權矩陣均滿足對稱條件,即有(12)式成立.

采用NIOS多核技術實現Hopfield神經網絡的系統結構見圖2.圖2中每個神經元用一個NIOSⅡ軟核實現,各個NIOSⅡ軟核分別具有PIO輸入端和PIO輸出端.每個核進行一次迭代之后,將相應的PIO輸出端設為1,各個核的PIO輸出端經過與門之后再送回給每個核的PIO輸入端,當所有核完成一次運算后,會引發一個PIO輸入端的中斷,然后繼續進行下一次的迭代運算.SDRAM作為多核之間的數據交換單元.cpu4用來接收輸入數據和將輸出數據送出顯示.

圖2 實現Hopfield神經網絡的系統結構的硬件連線
為了將多核系統用于數字識別,首先將0~9標準數字的編號存入Hopfield神經網絡作為初始穩態,然后用正交化法計算出Hopfield神經網絡的權值和閾值,并存儲到系統當中.當輸入一個被噪聲污染的數字的編碼后,經過系統的訓練,最終能收斂到初始穩態中的一個數字,完成了識別過程.
依據圖2所示的結構,我們實現的是規模為64個神經元的Hopfield神經網絡,共用了5個NIOSⅡ處理器核,cpu0,cpu1,cpu2和cpu3分別用來實現Hopfield神經網絡的16個神經元.
具體運行步驟:各個核進行一次迭代運算后,都將迭代結果寫入分別對應的SDRAM地址單元中,然后將其對應的一位PIO輸出端置1.由于各個核的一位PIO輸出端相與之后送到所有核的一位PIO輸入端作為各個核的中斷觸發信號(本系統設定上升沿為中斷觸發信號),因此,當所有核都向存儲器寫完運算結果后,與門的輸出為1.當各個核的中斷被觸發后,都開始讀數過程,由于各個核每次迭代都需要所有核上一次的迭代結果,因此,每個核除讀取自己所對應的SDRAM地址單元中的數據外,還需要讀取其他核所對應的SDRAM地址單元中的數據.
各個核讀數結束后開始進行下一次的迭代運算,如此循環反復,直到前后2次迭代運算得到的數據相同時,迭代運算結束.最后迭代運算結果送LED點陣顯示.
之所以沒有采用一個NIOSⅡ軟核實現一個神經元,是因為考慮到離散型Hopfield每個核的運算都很簡單,用一個NIOSⅡ軟核實現多個神經元的運算可以節省時間,同時也可以節省FPGA的資源.
10個被噪聲污染的輸入數字和經Hopfield神經網絡識別后的數字的對比見圖3和4.

圖3 被噪聲污染的數字

圖4 Hopfield神經網絡識別后的數字
經驗證,當輸入被噪聲污染的0~9間的數字后,經Hopfield神經網絡計算后能較好的識別初始樣本0~9,實現了預期的功能.所用FPGA芯片為Altera CycloneⅡEP2C20F484C8,NIOSⅡ核選為經濟型時,用本系統完成一次數字識別所用時間約500ms,具體時間依據所輸入的被噪聲污染的數字編碼不同略有差異.
本文研究將NIOSⅡ多核技術應用于Hopfield神經網絡的硬件實現,這種硬件實現方法充分體現了人工神經網絡并行計算、分布式存儲的優點,為人工神經網絡的實現提供了新的方法.通過將硬件實現的Hopfield神經網絡應用于數字識別,為人工神經網絡的應用提供了新的思路.
[1] 李蘭英.NIOSⅡ嵌入式軟核SOPC設計原理及應用[M].北京:北京航空航天大學出版社,2006:35-49.
[2] 周立功.SOPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2006:30-56.
[3] 張文娟.基于NIOSⅡ多核技術的BP神經網絡的硬件實現方法研究[D].長春:東北師范大學物理學院,2009:5-45.
[4] 王連明,黃瑩,鄧玉芬,等.基于RBF神經網絡的非線性電子器件的建模方法研究[J].東北師大學報:自然科學版,2008,40(3):46-50.
[5] 何東曉,周春光,劉淼,等.手寫數字識別中組合式神經網絡的構建方法[J].吉林大學學報:理學版,2009,47(6):1211-1216.
[6] 劉延喜.Linex損失下的BP神經網絡分類方法及在人臉識別中的應用[J].吉林大學學報:理學版,2010,48(3):411-413.
[7] 董琰,彭琦,李建志.基于FPGA的輻射定標電源系統[J].東北師大學報:自然科學版,2010,42(3):67-70.
[8] 陳廷勇,殷樹友,林和平.RBF人工神經網絡拓撲結構定義與解的唯一性證明[J].東北師大學報:自然科學版,2009,41(3):30-35.
Method for hardware implementation of Hopfield neural network based on NIOSⅡ multi-core technology
CHENG Dan,WANG Lian-ming
(Institute of Applied Electronics,Northeast Normal University,Changchun 130024,China)
To take advantage of the parallel computing and distributed storage characteristics of Neural network,NIOS Ⅱ multi-core technology is used to implement the hardware of Hopfield neural network.The method uses interrupt and SDRAM to realize the communication between NIOS Ⅱmulti-cores.Then,the implemented Hopfield network is used for digital number identification.The effectiveness and feasibility of this method are proved.
SOPC;NIOSⅡ;multicore communications;Hopfield network
TP 183;TP 399
520·30
A
1000-1832(2011)03-0065-04
2010-08-28
國家自然科學基金資助項目(50478007).
程丹(1979—),女,碩士研究生;王連明(1972—),男,博士,教授,主要從事智能信息處理及嵌入式系統領域研究.
石紹慶)