陳 群,左 鋒,盧文科(東華大學信息科學與技術學院,上海201620)
基于人工魚群BP神經網絡算法的壓力傳感器溫度補償研究
陳 群,左 鋒,盧文科
(東華大學信息科學與技術學院,上海201620)
為實現壓力傳感器的溫度補償,采用BP神經網絡作為壓力傳感器軟件補償系統的核心算法,但由于BP神經網絡算法易陷入局部極值,因此采用具有全局搜索能力的算法—人工魚群算法(AFSA)進行優化,得到的結果是壓力傳感器的線性度提升1個數量級,溫度靈敏度系數降低2個數量級,得到了很好的補償效果。
壓力傳感器;溫度補償;人工魚群算法
與傳統傳感器相比,智能傳感器具有精度高、可靠性高、自適應性強等特點,運用傳統傳感器制造工藝來完善傳感器的測量性能已經暴露出相當多的局限性,以大規模集成電路為基礎的微處理器的發展為改善傳統傳感器性能提供了一個基于可編程芯片和軟件的解決方案。而壓力作為最常見的物理量,對它的測量是工控系統中的重要環節,基于硅半導體材料的壓力傳感器因為對溫度的敏感性,很難在寬泛的環境溫度下保證測量精度(零點和靈敏度隨溫度漂移),因此需要進行溫度補償[1]。
軟件補償的本質是利用微處理器強大的數據處理能力修正外界干擾量(如溫度)對壓力傳感器輸出的影響。可以構建一個具有溫度補償功能的二傳感器數據融合智能傳感器系統,其中一個是輔助傳感器,用來監測干擾量溫度T;另一個是主傳感器,即壓力傳感器,如圖1。
溫度補償問題本質上是個非線性優化問題,因此引入具有自學習、自適應的BP神經網絡算法來解決。
2.1 結構
BP神經網絡可以由一個或者多個隱層組成,一般采用三層BP神經網絡。假設權值Wjk(l×r)、Wkj(m×l)與閾值b1j(l個)、b2j(m個)隨機賦予初始值、確定分組輸入P1,P2,…,Pr,如圖2所示。

圖2 BP神經網絡示意圖
由此可以得出輸出層節點k的輸出o2k與期望輸出dk存在誤差,輸出層m個節點的總誤差E取為:

通過反復計算,求取E,根據E的大小調整網絡參數,最終使得誤差E足夠小,這個過程稱之為網絡學習,也稱之為網絡訓練過程。網絡權值的調整所遵循的規則稱為梯度下降法,其基本思想是:沿著誤差函數E的負梯度方向修改各個節點的權值[1]。
2.2 特點
與其他局部搜索的優化方法一樣,BP神經網絡算法也有缺陷,首先網絡的權值是通過沿局部改善的方向逐漸進行調整的,這樣就容易過早地陷入局部極值;其次,由于BP神經網絡的實質屬于梯度下降算法,隨著其優化的目標函數復雜度增加,算法的收斂速度顯著放慢。李曉磊[2]提出的一種具有全局優化能力的人工魚群算法在全局尋優和降低噪聲方面有著不錯的效果,因此本文提出一種人工魚群與BP神經網絡相結合的方案。
3.1 人工魚群算法(AFSA)
魚類會根據水中食物濃度的分布自主選擇覓食、聚集以及追尾等行為[2]。傳統的人工魚感知模型如圖3。
圖3中,人工魚所處當前位置為X,visua1代表人工魚感知的距離,Xv為此人工魚某時刻感知到的點,若Xv處的食物濃度優于X,則向該點方向前進一步,到達位置Xnext,否則,繼續感知區域內的其他點,感知過程如式(2)所示:

圖3 人工魚感知模型圖

其中,調用rand()是為了產生[0,1]區間內的隨機數,steP為人工魚移動的最大步長,它限定了人工魚的最大活動范圍,定義為Xv與X之間的距離,人工魚所在位置X的食物濃度Y=f(X),設try_Nunber為人工魚覓食行為的最多嘗試次數,δ為擁擠因子,人工魚(AF)根據當前的狀態選擇覓食、聚群和追尾等行為。
3.2 人工魚群算法改進(lAFSA)
常規的人工魚群算法也是有缺陷的,初始人工魚的個體分布狀況對全局收斂性影響較大;人工魚步長steP和視野visua1等參數對算法的精度影響很大,在一定范圍內,steP和visua1值越大,AFSA在初始化初期收斂速度越快,克服局部極值的能力越強,這也會在很大程度上造成算法優化后期的收斂速度慢,加上感知和移動的隨機性,使得結果無法跳出局部最優。
(1)初始化操作
根據人工魚初始分布的隨機性,為了提高算法的收斂速度以及防止過早收斂,合理的初始化顯得尤為重要,為此采用網格化魚群[3]:

式(4)中Xi(k)為第i條(i=1,…,n)人工魚的第k維分量,Lmax(k)和Lmin(k)表示k維分量的上界和下界。
(2)自適應感知和移動
①變步長
步長的調整依據人工魚對當前食物環境的判斷。公式如下:

式(5)中,Yi表示人工魚在當前環境下的食物濃度,Ymax、Ymin限定了視野范圍visua1內食物濃度范圍區間,通過steP的改變可以更加細致地尋優。
②視野自適應
人工魚群具有聚集效應,視野visua1隨覓食嘗試次數try_Nunber的增加而逐漸減小,公式如下:

式(6)中,Vmax、Vmin限定了視野visua1的取值區間,try_ Nunber為最大嘗試次數,t為當前嘗試次數。在尋優初期,每一條人工魚在較大的視野內游動,算法的搜索域較大,隨著后期人工魚的視野visua1逐漸減小,人工魚可以靈活地在相對較小的視野范圍visua1內更細致地尋優[4]。
3.3 lAFSA-BP算法
定義第i條人工魚的狀態Xi(k):
i=1,…,fish_Number;k=1,…,D
式中fish_Number為初始化人工魚的數目,用維數D表示神經網絡所有的權值和閾值的總和。本文采用單隱層神經網絡結構,其中輸入層神經元個數為r(P1,P2…,Pr),隱層神經元個數為l,輸出層神經元的個數為m,則D的計算公式為:
D=(r+1)×l+(l+1)×m(7)
BP神經網絡的所有權值和閾值按照輸入層、隱層、輸出層的順序依次賦予人工魚AF的D維分量,則第i條AF的一個狀態值Xi(k)表示一個神經網絡的權值或閾值。每一條AF的狀態反映的就是BP神經網絡的優化結果,再根據魚群的狀態修改BP神經網絡的所有權值和閾值[5]。
初始化AF根據當前狀態計算食物濃度,人工魚食物濃度記為Y=1 /yi,yi為神經網絡輸出值的誤差,計算公式如下:

其中,N是訓練樣本集的維數;dij是第i個樣本的第j個網絡輸出層節點的實際輸出值。與傳統的人工魚群算法一樣,設置公告板,用來記錄最優的AF網絡,經過有限次迭代和比較,獲得最優的AF網絡,同時需要判斷神經網絡輸出值的誤差是否在目標范圍內,若在則停止尋優,輸出最優網絡,否則繼續尋優,直到獲得誤差范圍內的最優解為止。改進后的IAFSA-BP算法流程圖如圖4所示。
4.1 傳感器標定實驗
壓力傳感器的輸出UP與被測壓力P和溫度T呈非線性關系,所以可在傳感器工作溫度范圍內選定不同溫度狀態對被補償的壓力傳感器進行標定實驗。以擴散硅壓力傳感器為例,選取5個溫度T進行標定,詳見表1,UP為主傳感器輸出信號,Ut為輔助溫度傳感器輸出信號,P為輸入壓力。

圖4 IAFSA-BP算法流程圖

表1 不同工作溫度下壓力傳感器輸入輸出標定數據
4.2 訓練樣本庫建立
隨機選取8組數據對作為檢驗樣本,其余作為訓練樣本。經過歸一化處理后的數據在[-1,1]或者[0,1]之間,這樣可以有更好的數據融合效果。數據歸一化的公式如下:
式中X、ˉX分別為歸一化前后的樣本數據,Xmax、Xmin為X所在行的最大、最小值。
4.3 結果分析

使用MATLAB自帶的神經網絡工具箱設計BP神經網絡,可以得到被測壓力的修正值UP′,如表2所示。

表2 訓練后壓力傳感器在不同溫度的輸出修正值
圖5、圖6分別為補償前后的輸入輸出壓力值。對比表1、表2以及圖5、圖6可知,補償前壓力傳感器的輸出線性度δL=5.7%,而補償后線性度δ′L=0.18%,提升了一個數量級。

圖5 補償前輸入輸出

圖6 補償后的輸入輸出
補償前壓力傳感器的溫度靈敏系數αl=6.85×10-2,而補償后壓力傳感器的溫度靈敏系數αl′=8.5×10-4,顯然傳感器靈敏度受溫度的影響減弱許多。
人工魚群算法通過個體的局部尋優,實現全局最優,算法具有操作簡單、收斂速度快等優點,將其作為學習方法來對BP神經網絡進行訓練,并將其移植到壓力傳感器溫度補償模型,提高了壓力傳感器測量的精度和穩定性。
[1]劉君華.智能傳感器系統[M].西安:西安電子科技大學出版社,2010.[2]李曉磊.一種新型的智能優化方法-人工魚群算法[D].杭州:浙江大學,2003.
[3]齊愛玲,馬宏偉,劉濤.基于改進人工魚群算法的超聲信號稀疏分解[J].儀器儀表學報,2009,25(12):24-28.
[4]曹承志,張坤,鄭海英,等.基于人工魚群算法的BP神經網絡速度辨識器[J].系統仿真學報,2009,26(4):104-105.
[5]劉彥君,江銘炎.自適應視野和步長的改進人工魚群算法[J].計算機工程,2009,25(5):35-47.
陳群(1989 -),通信作者,男,碩士研究生,主要研究方向:智能傳感器系統,物聯網技術與應用。E-mai1:chenqun0916@163.com。
左鋒(1963 -),男,博士,工程師,主要研究方向:工程檢測與自動化裝置開發與應用。
盧文科(1962 -),男,博士,教授,碩士生導師,主要研究方向:聲表面波,數字旋轉。
Study on Pressure sensor temPerature comPensation based on IAFSA-BP neura1network a1gorithm
Chen Qun,Zuo Feng,Lu Wenke
(Co11ege of Information Science&Techno1ogy,Donghua University,Shanghai 201620,China)
In order to achieve the temPerature comPensation of the Pressure sensor,this PaPer adoPts the BP neura1network as the core a1gorithm of Pressure sensor software comPensation system,but as the resu1t of the BP neura1network a1gorithm is easi1y traPPed in 1oca1minima,so it can be oP-timized by the a1gorithm with the g1oba1 search abi1ity-Artificia1Fish Swarm A1gorithm(AFSA).It imProves the accuracy ofmeasurement sensors.
Pressure sensor;temPerature comPensation;artificia1 fish swarm a1gorithm
TP23
A
10.19358 /j.issn.1674-7720.2016.09.009
陳群,左鋒,盧文科.基于人工魚群BP神經網絡算法的壓力傳感器溫度補償研究[J].微型機與應用,2016,35(9):27-29,33.
2016-01-13)