周慶芳


摘 要:人工神經網絡的組成包含了多個簡單處理單元,通過某種方式將這些處理單元連接在一起,構成一個有關人工神經網絡的計算系統。這個系統能動態響應外部輸入信息,并進行信息的處理。
關鍵詞:BP神經網絡;VHDL;模擬與仿真
一、人工神經理論基礎
神經網絡又被稱為鏈接模型,其本身是模仿動物的神經網絡,并根據其行為特征分布式進行算法數學模型處理。在計算機上,人們可以利用并行或者串行的模式模擬仿真,實現人們自身的神經網絡模型算法。在特定應用情況下,進行神經網絡研究的目標則是高性能專用的神經網絡硬件。
神經元是人工神經網絡的基本單元,具有一定的信息處理方面的能力。對于輸入的內容,神經元可以簡單進行處理,能根據學習規則做好加權求和,并根據權值來獲取神經元的狀態輸出,以便對刺激進行處理。還可建立基于VHDL語言的神經網絡元件庫,它包括基本單元、控制單元兩個部分。
二、 BP神經網絡結構模型
BP神經網絡由輸入層、隱含層和輸出層組成,相鄰層之間的各個神經元實現全連接,每層各個神經元之間沒有連接。
BP算法正向傳播過程:輸入信號從輸入層輸入,經過隱含層傳向輸出層。如果輸出層的實際輸出與期望輸出一致,那么學習算法結束。基本控制單元用于建立隱含層和輸出層的神經元,主要解決信號運算后權值存儲問題,它主要包括加權乘法、神經元輸入信號的累加、非線性激勵函數的實現、權值存儲等基本模塊。
圖1中xi代表第i個輸入,wij代表輸入i和神經元j之間的權值(weight),yj是第j個輸出。如圖1所示可以得到:
y1=f(x1.w11+x2.w21+x3.w31 ) 2-1
y2=f(x1.w11+x2.w22+x3.w32) 2-2
y3=f(x1.w11+x2.w23+x3.w33) 2-3
其中f( )是激化函數(如線性閾值的sigmoid函數等)。
三、神經網絡模型與仿真
clk產生脈沖信號,輸入端x1,x2,x3 分別置為011,100,101,權值初值設為0000,通過9個脈沖周期一次遞增到1000,將權值與輸入值進行運算,得出結果。在權值固定時,輸出取決于輸入,不同的輸入得到不同的輸出結果。而在權值變化時,輸出就由輸入和權值決定。
為了仿真的結果更直觀,代碼采用的每個神經元的3個輸入信號以及權值的位寬都為4,且帶有符號。權值共設了9個,采用9個時鐘周期將權值移入值。模擬與仿真的結果如圖2所示。
結果分析:模擬結果與結果一致,此仿真成功。
四、結語
基于VHDL編程實現簡單神經網絡的軟件模擬與仿真,從算法的提出到模型的建立,完整地體現神經網絡的可用性與優越性。文中所提的神經網絡模型是對單個神經網絡的模擬與仿真,以及基于二維數組的多個輸入輸出的大規模神經網絡的模擬。由于VHDL語言編程的靈活性,可以將編程下載到芯片用硬件實現對神經網絡的模擬,以提高系統運算的速度和可靠性。
參考文獻:
[1]張青貴.人工神經網絡導論[M].北京:中國水利水電出版社,2004.
[2]周志華,曹存根.神經網絡及其應用[M].北京:清華大學出版社,2009.