劉姝敏劉海龍國網山西省電力公司檢修分公司國網太原供電公司
?
基于LabVIEW實現的BP神經網絡
劉姝敏1劉海龍2
國網山西省電力公司檢修分公司1國網太原供電公司2
摘要:圖形化編程環境LabVIEW編寫圖形化語言程序可以有效提高設計者的編程效率人工智能可以利用計算機模擬人類大腦的思維。基于LabVIEW編寫的BP神經網絡,可以方便靈活的應用于人類的各種生產經營活動。
關鍵字:LabVIEW BP 神經網絡
虛擬儀器LabVIEW是美國國家儀器公司提供的圖形化編程環境,專為測量、數據分析而設計的。LabVIEW擁有龐大的函數庫和子程序庫,涉及數據采集、GPIB、數據分析、數據顯示、數據存儲和通訊等函數庫和子程序庫。LabVIEW不同于C 、C++ 和java 等文本方式編程語言,它不僅是圖形化的編程語言,還提供編程環境和運行系統。相對于傳統的編程語言,虛擬儀器LabVIEW更具靈活性,編寫圖形化語言程序可以有效提高設計者的編程效率。LabVIEW程序是由虛擬儀器VI組成的,一個LabVIEW程序可以由一個或多個VI組成。每個VI由前面板、框圖和圖標三部分組成。LabVIEW的前面板模擬了物理儀器的前面板,是交互式用戶界面,包含旋鈕、按鈕、指示器、圖形和其他控件;框圖是設計者編寫的程序源代碼,框圖由低級VI、內置函數、常量和程序執行控制結構等組成,由連線將適當的對象連接起來定義各組成元素的數據流;圖標是VI的圖形表示,使VI可以在另外的VI框圖中使用。
虛擬儀器是分層和模塊化的程序,利用這種模塊式的編程方式,可以實現模塊化編程,每一個VI都可以作為上層程序或子程序。設計者在編程時,可以將程序功能劃分為多個子任務,按分層、分級的思想逐個實現每一個任務。另外由于每一個任務都是一個VI,每一個VI都可以單獨執行,便于設計者進行調試。
人工智能是指用計算機模擬人類大腦的思維。人工神經網絡是人工智能的一個分支,因其具有智能的學習能力、可以并行模擬人腦的功能而被廣泛研究和應用。在人工神經網絡發展的幾十年歷史中,已經成功地開發出數十種神經網絡,包括ART網絡、BP網絡、RBF 網絡、Hopfield 網絡、自適應共振網絡和小波神經網絡等。在眾多神經網絡之中,反向傳播網絡(BP)是目前應用最為廣泛的一種神經網絡。BP網絡是一種前向多層的誤差反傳學習算法,它不僅具有輸入和輸出層,還具有一層到多層的隱含層。為三層BP神經網絡的結構圖。BP神經網絡的學習過程由正向傳播和反向傳播兩部分組成,在正向傳播過程中,輸入數據經輸入層、隱含層的處理后傳向輸出層,利用輸出層誤差估算輸出層的前導層誤差,再用這個誤差估算前一層的誤差,如此反復反傳誤差,直到確定輸入層誤差為止。
BP神經網絡的每一層神經元都只影響下一層神經網絡的狀態,當輸出層不能得到預期的理想輸出時,BP神經網絡進入反傳模式,通過誤差的形式,將誤差從輸出層向輸入層各層依次調整各層的權值和閾值,從而逐級減小誤差,直到達到系統設計的精度為止。BP神經網絡實際原理就是通過求誤差函數的極小值,反復訓練BP神經網絡,使權值和閾值沿著誤差函數的負梯度改變,直到收斂于最小點。
采用梯度下降法的三層BP神經網絡算法計算過程如下:設x i 為輸入層第i 個神經元的輸入值;y k 為輸出層第j 個神經元的輸出值;tk 為輸出層第j 個神經元的理想輸出值;w ji為隱含層第j 個神經元到輸入層第i個神經元的權值;vkj為輸出層第k 個神經元到隱含層第j個神經元的權值。3 BP神經網絡程序設計為實現BP神經網絡,采用虛擬儀器LabVIEW作為BP神經網絡的訓練和應用平臺,利用LabVIEW提供的數學和矩陣工具函數進行BP神經網絡的設計。
利用LabVIEW中編寫的BP神經網絡訓練程序,對多個函數及數學樣本進行訓練,訓練后得到權值矩陣,進行應用。經驗證,用LabVIEW中編寫的BP神經網絡成功率高達99.99%,誤差小于0.01% 。LabVIEW中編寫的三層BP神經網絡為人工智能的實現提供了一種簡潔、直觀的實現方法。
參考文獻
[1] Travis J,Kring J .LabVIEW大學使用教程(第3版)[M].喬瑞萍,譯.北京:電子工業出版社,2008.
[2] 虞和濟,陳長征,張省,等.基于神經網絡的智能診斷[M].北京:冶金工業出版社,2000.
[3] 敖志剛.人工智能及專家系統[M].北京:機械工業出版社,2010.