郭 偉,張 棟,李巨韜,王 磊
(天津大學機構理論與裝備設計教育部重點實驗室,天津 300072)
電容式稱重傳感器與其他稱重傳感器相比由于具有測量范圍大、耐高溫、抗腐蝕、靈敏度高和低功耗等優點在工業中逐漸得到了關注與應用[1]。現代測試系統對傳感器的準確度、穩定性和工作條件提出了更高的要求,希望輸入-輸出特性成線性關系。但在利用電容式稱重傳感器進行測量時,受電容器原理、電容檢測電路等因素的影響,使得電容稱重傳感器的輸入-輸出特性為非線性,其彈性體材料的滯彈性和熱彈性效應也會增加電容稱重傳感器輸入-輸出特性的非線性。正是由于稱重傳感器非線性特性的影響,使得稱重系統的輸入輸出間存在更大的誤差,從而影響稱量的準確度[2]。所以需要采取一定的手段對傳感器進行數據轉換,求出被測量的“真值”,這項工作稱為“標定”或“校正”,也稱為非線性校正[3]。
針對這一情況,國內外許多研究人員對此做了很多工作,文獻[3]采用反非線性特性曲線擬合法對電容稱重傳感器進行非線性校正。但對于電容式稱重傳感器來說,由于其本身輸出特性的非線性使得多項式擬合公式比較復雜,而且擬合公式的次數比較高,擬合的準確度往往受限。文獻[4]利用硬件補償方法實現了電阻應變式稱重傳感器的非線性誤差補償,但是對于電容稱重傳感器,用硬件進行補償時,電路復雜而且補償精度不高,難以做到全程補償,且存在補償電路硬件漂移問題。
人工神經網絡具有自學習、自適應以及很強的非線性函數逼近能力和容錯能力,特別適用于非線性系統特性問題的研究。目前應用最廣泛的神經網絡之一是誤差反向傳播(BP)神經網絡。文獻[2]利用BP神經網絡對混凝土攪拌站的稱重系統輸入輸出映射關系進行逆映射,得到了趨向稱重系統輸入真值的計量值,提高了混凝土攪拌站的計量準確度。文獻[5]利用BP神經網絡方法對壓力和溫度兩個目標參量進行數據處理,減小了兩者對壓力傳感器的交叉干擾敏感度,提高了傳感器的測量精度。文獻[6-8]中采用BP神經網絡對不同使用條件下的電容式壓力傳感器進行了非線性校正與溫度補償的研究。但是對于傳統的BP網絡來說,學習訓練的收斂速度慢而且精度不夠高,結果易陷入局部極小值,補償效果不甚理想。
本文嘗試對傳統BP神經網絡進行改進,引入貝葉斯正則化的L-M算法對網絡進行訓練,得到了能夠有效實現電容稱重傳感器非線性校正的模型,并與傳統算法的仿真結果進行對比,通過結果對比驗證了該方法的有效性,旨在為如何快速、準確實現電容稱重傳感器的非線性校正提供一種方法和技術參考。
電容稱重傳感器的非線性校正原理主要基于圖1所示的基本環節。設輸入傳感器載荷質量為m,輸出電壓為u,u=g(m)為非線性關系,在傳感器環節加入了非線性校正環節。

圖1 稱重傳感器非線性校正原理圖
圖中g(m)為稱重傳感器的輸出電壓u與質量載荷m的函數關系,f(u)為稱重傳感器非線性補償輸出y和稱重傳感器輸出電壓u的函數關系,其目的就是校正傳感器的輸入-輸出關系,使其成線性關系,即滿足[9-10]:

則有

由式(2)可知,當非線性校正環節為稱重傳感器函數的反函數時,校正后的稱重傳感器輸入與輸出呈線性關系。由于g(m)函數具有高度的非線性,因此f(u)將十分復雜。本文利用BP神經網絡強大的逼近非線性函數的功能,以任意精度逼近f(u),從而實現稱重傳感器的非線性校正。
人工神經網絡理論已經證明:對于任意的連續函數或映射關系,總存在一個3層的前向網絡,可以以任意準確度逼近此函數或映射關系。基于此,本文選取三層的BP神經網絡結構,結合圖1的非線性校正原理,選取輸出電壓u作為BP神經網絡的輸入層單元,此時BP神經網絡是一個單輸入單輸出的網絡結構。其拓撲關系如圖2所示。

圖2 BP網絡的拓撲結構
其中網絡隱含層的傳遞函數為Tansig函數,輸出層傳遞函數為Purelin函數。圖中:

式中,隱含層神經元的個數n,由試湊法確定為9;vij為連接輸入層第i個節點和隱含層節點j的權重值,wj為連接隱含層第j個節點和輸出層節點的權重值,f1(x)為激勵函數Tansig,xo=-1是為隱含層神經元引入閾值而設置的,yo=-1是為輸出層神經元引入閾值而設置的。采用梯度下降算法,可以實現對BP神經網絡的訓練,設d為網絡的目標輸出,則誤差函數為:

式中:e為誤差信號,

根據梯度下降算法,分別求v、w對E的梯度,可以求得網絡輸出層與隱含層各節點的權值調整量為:

式中:η為學習速率,o=f(u)為輸出層神經元的輸出,式(6)f1(x)為Tansig函數表達式,式(7)netj為隱含層第j個節點神經元的輸出,式(8)、式(9)分別為輸出層和隱含層節點權值的調整公式。
BP神經網絡具有逼近任意連續函數和非線性映射的能力,能模擬任意的非線性輸入輸出關系。但它也存在推廣能力差、學習收斂速度慢、容易陷入局部極小點而無法得到全局最優解等缺點。因此,本文嘗試利用貝葉斯正則化的L-M算法對傳統的BP神經網絡進行改進。
2.2.1 L-M 算法
L-M算法是求解非線性最小二乘問題的有效方法,具有收斂快和逼近精度高等優點。具體算法如下:

將BP網絡各層的權值和閾值用向量X表示。誤差平方和為:其中,k是第k個樣本,Oki為第k個樣本在輸出層第i個神經元的實際輸出,dki為期望輸出,ε是以εk為元素的向量。假設現在從第P次迭代向P+1次進行計算,如果 XP+1-XP很小,則可以將 ε展開成下式:



對XP+1求導以使E最小,便可得高斯-牛頓法的迭代公式:

為了克服高斯-牛頓法中經常出現的雅克比矩陣非奇異現象,把誤差函數表達式(12)改寫為:

同樣對XP+1求導以使E最小,得到對高斯-牛頓法的L-M迭代公式

式中,μ為小正數,I為單位矩陣。由式(15)可見,當μ為0,上述就是高斯-牛頓法;當μ趨于無窮大時,L-M算法是以小步長急劇下降的梯度下降算法。經過上述改進后,L-M算法可避免高斯-牛頓法中容易出現的雅克比矩陣病態和假收斂等缺點,又可避開梯度下降法中極值點附近精度低和收斂慢的缺點,經過改進后,神經網絡會更快更準確地逼近誤差極小值[11]。
2.2.2 貝葉斯正則化方法
神經網絡的推廣能力是衡量其結構性能好壞的一個重要標志。在訓練樣本集一定的情況下,網絡的推廣能力與網絡的規模直接相關。但是對于具體問題,確定合適的網絡規模通常是一件十分困難的事情。正則化是通過修正網絡的性能函數來改善其推廣能力的,即在誤差函數式(14)中增加一項,因此,新的誤差函數化為:

其中,ED為輸出誤差平方和,EX為網絡所有權重、閾值的平方和。通過采用新的目標函數,可以在保證網絡訓練誤差盡可能小的情況下使網絡具有較小的權值,這相當于自動縮小了網絡的規模[12]。這樣在訓練樣本集一定的情況下,使得神經網絡的規模遠小于訓練樣本集的大小,發生“過擬合”的概率就會很小,從而有利于提高網絡的推廣能力。
常規的正則化方法很難確定目標參數值β、α的大小,而貝葉斯正則化方法是假設網絡的權重和閾值都具有某種確定性分布,而正則化參數與這些未知變量及其對應的分布有一些關聯,因而可以利用統計學方法來在網絡訓練中自適應的調整β、α的大小,并使其達到最優[13]。在確定網絡輸入后,由文獻[12-13],根據貝葉斯公式可以得到網絡權值的概率密度函數為

式中:X為網絡權值;D為數據樣本;M為網絡模型;N為神經網絡參數總數。依據貝葉斯規則,優化權值即求P(D|X,α,β,M)的最大值,經過式(16)、式(17)最終可以得到網絡的最優目標函數參數為:

式中:γ為神經網絡有效參數數目,Xmin為X最小值,N為神經網絡參數總數。
本文對傳統BP算法進行改進,先引入L-M算法計算網絡權重、閾值,提高網絡的收斂速度與精度,再利用貝葉斯正則化方法對已計算出來的權重、閾值及誤差最小值進行優化組合,提高了神經網絡的推廣能力。
為了利用改進的BP網絡實現對電容稱重傳感器的非線性校正,需要獲得網絡的學習訓練樣本。因此,需要利用標定設備對電容稱重傳感器進行標定實驗。稱重實驗時,重力作用使電容極板間距發生變化,進而產生電容變化,利用電容檢測電路測得電容的變化,電容傳感器輸出相應的電壓值,通過顯示電路即可得到所測質量值。
表1為某電容式稱重傳感器的一組實驗標定數據[3],其中m為加載的重量值,u為相應的輸出電壓值。

表1 某電容稱重傳感器的測試數據
為了更好地進行網絡參數調整,加快收斂速度,需要對原始的數據進行歸一化處理。通常BP網絡的1層傳遞函數采用Sigmoid函數,Sigmoid函數要求函數值位于區間[0,1]或[-1,1]。因此,對輸入輸出因子進行歸一化處理。電容稱重傳感器的輸出電壓u和載荷質量m的歸一化采用以下式子。

式中:uk、為第k個樣本u的實際值與歸一化值;umax為輸入變量的最大值;umin為輸入變量的最小值。mk、為第k個m的實際值與歸一化值;mmax、mmin為被測質量的最大最小值。
根據圖1所示,選用3層BP網絡進行訓練,隱含層選取 Tansig函數為傳遞函數,輸出層選取Purelin函數,隱含層神經元數量通過試湊法確定為9,即最終的網絡結構為1-9-1。
對于表1的31組樣本數據,為了使訓練結果能正確反映樣本的內在規律,同時又為了避免“過擬合”現象的產生,選取23組樣本進行訓練,剩余8組進行測試檢驗。
構造輸入輸出模式,神經網絡各層的初始權重與閾值由隨機函數Rands產生,最大訓練次數設為10 000 次,期望誤差取 1×10-6,Marquardt調整參數μ取0.005,利用建立的23個樣本進行訓練。
(1)初始化網絡各層的權值和閾值,對樣本數據進行歸一化處理,令樣本數k=0,訓練次數p=0;
(2)輸入一組樣本,計算各層的輸出,k=k+1,如果k=23則進入步驟(3);若k<23返回步驟(2)。
(3)計算網絡的總誤差E,如果E達到精度要求,則停止訓練;若未達到精度要求,則轉入步驟(4)。
(4)用貝葉斯正則化L-M算法計算并修正網絡各層權值、閾值的修正量,p=p+1。返回步驟2[13]。
當期望誤差為1×10-6時,網絡經過3 s 270次訓練結束,此時,Marquardt調整參數μ為0.5。網絡參數:隱含層權值矩陣v1×9,隱含層神經元閾值b1×9;輸出層權值矩陣w9×1,輸出層閾值b1如下:



表2 模型預測結果與誤差
神經網絡的收斂速度與精度是評價其性能的重要標志。為了比較改進型算法與傳統BP算法的收斂速度,隨機產生8組初始權值,并分別對這兩種算法進行訓練,其訓練速度如表3所示,表中改進型算法的平均收斂速度均在325次以內,遠遠快于傳統BP算法,可以得出改進算法較傳統算法具有更快的收斂速度。
表4給出了算法改進前后部分訓練數據的輸出與實際值的對比,圖3為算法改進前后網絡輸出值的相對誤差曲線。
通過表4可以看出,傳統BP算法的網絡輸出與實際值的相對誤差可達7.3%,而算法改進后,最大相對誤差不超過0.1%;圖3是算法改進前后網絡輸出值與實際值的相對誤差曲線,可以看出,算法改進后,網絡輸出值的相對誤差波動小而且誤差較小,綜合表4和圖3可以看出,改進型算法的訓練精度明顯優于傳統BP算法。綜合以上可以得出,改進型算法在收斂速度及精度方面都優于傳統BP算法。

表3 改進型算法與傳統BP算法收斂速度比較

表4 改進型算法與傳統BP算法收斂精度比較

圖3 算法改進前后的網絡輸出值的相對誤差曲線
為了驗證所建立模型是否具有良好的推廣能力,以及能否準確實現對電容稱重傳感器的非線性校正,選取剩余的8組測試樣本進行檢驗。
圖4為實際值、改進型BP神經網絡校正值以及傳統BP神經網絡校正值的比較。可見,改進型BP神經網絡校正值比傳統BP神經網絡校正值更接近實際值,能夠更準確地實現電容稱重傳感器的非線性校正,充分說明了改進型BP神經網絡具有良好的推廣能力。

圖4 檢驗實驗模型校正結果比較
改進型BP網路訓練達標后,將所有樣本輸入進行測試。經過非線性校正后,電容稱重傳感器的輸出特性如圖5所示,從圖5可以看出,校正后的特性曲線呈線性;經過計算可以繪出校正后傳感器的相對誤差曲線如圖6所示,在滿量程附近校正的相對誤差基本保持在0.05%以內,校正精度高,可以滿足載荷測試要求。

圖5 校正后電容稱重傳感器的輸入-輸出特性曲線

圖6 校正后電容稱重傳感器的相對誤差曲線
(1)針對電容稱重傳感器的輸出與輸入的非線性特性,加入了校正環節,利用改進算法的BP神經網絡進行非線性補償。仿真結果表明:經過校正后,在傳感器的工作范圍內,校正誤差基本保持在0.05%以內,改進算法后的補償精度明顯提高,總體而言,改進型BP神經網絡的校正結果令人滿意。
(2)針對傳統BP算法的缺點,引入貝葉斯正則化的L-M算法后的BP神經網絡具有很強的推廣能力,訓練的速度明顯加快,而且訓練精度高,能夠準確地預測與補償電容式稱重傳感器的非線性輸出特性,提高了傳感器的性能,而且可重構器件(如FPGA)和EDA開發方式的快速發展使神經網絡的實現更加簡單、快捷,有利于該方法在實際中的應用推廣。
[1]Jagdish Chandra Patra,Goutam Chakraborty,Pramod Kumar Meher.Neural-Network-Based Robust Linearization and Compensation Technique for Sensors under Nonlinear Environmental Influences[J].IEEE Transactions on Circuits and Systems,2008,55(5):1316-1327.
[2]嚴潔,趙研,張俊利.基于BP神經網絡的稱重傳感器靜態非線性誤差補償研究[J].傳感技術學報,2008,21(6):1025-1028.
[3]謝煜,楊三序,李曉偉.基于反擬合法的電容稱重傳感器非線性校正[J].儀器儀表學報,2007,28(5):921-925.
[4]劉九卿.柱式稱重傳感器的非線性誤差及其線性補償[J].衡器,2004,33(2):6-13.
[5]崔靜雅,呂惠民,程塞.基于BP網絡的智能壓力傳感器系統研究與設計[J].傳感技術學報,2011,24(10):1426-1430.
[6]Patra J C,van den Bos A,Kot A C.An nn-Based Smart Capacitive Pressure Sensor in Dynamic Environment[J].Sensors and Actuators,2000,86:26-38.
[7]Patra J C,Ang E,Das A.Neural Network-Based Smart Sensor Framework Operating in a Harsh Environment[J].SignalProcess,2005,4:558-574.
[8]Patra J C,Kot A C,Panda G.An Intelligent Pressure Sensor Using Neural Networks[J].IEEE Transactions on Instrumentation and Measurement,2000,49(4):829-834.
[9]楊進寶,汪魯才.稱重傳感器非線性誤差的RBFNN補償[J].儀表技術與傳感器,2010,(6):3-5.
[10]Tian Sheping,ZhaoYang,Wei Hongyu,et al.Nonlinear Correction of Sensors Based on Neural Network Model[J].Optics and Precision Engineering,2006,14(5):896-902.
[11]趙弘,周瑞祥,林廷圻.基于Levenberg-Marquardt算法的神經網絡監督控制[J].西安交通大學學報,2002,36(5):523-527.
[12]吳方良,石仲堃,楊向暉,等.基于L-M貝葉斯正則化方法的BP神經網絡在潛艇聲納部位自噪聲預報中的應用[J].船舶力學,2007,11(1):136-142.
[13]蔣天一,胡德金,許開州,等.改進型BP神經網絡對球面磨削最高溫度的模擬與預測[J].上海交通大學學報,2011,45(6):901906.