徐家琪,伍萬能,2,孫 煒,2,3,王耀南,2,梁橋康,2,3?
(1.湖南大學電氣與信息工程學院,長沙410082;2.機器人視覺感知與控制技術國家工程實驗室,長沙410082;3.電子制造業智能機器人湖南省重點實驗室,長沙410082)
多維力傳感器在機器人柔順操控與智能作業等方面承擔了重要的感知作用[1]。其檢測精度的提高有助于實現更精確有效的力覺控制。解耦算法的性能對多維力傳感器的檢測精度有極大的影響[2]。近年來,以機器學習為核心的人工智能算法研究得到了飛速發展。許多機器學習方法因其優異的性能被應用到多維力傳感器的解耦中。其中,韓彬彬[3]利用遺傳算法優化BP神經網絡,并以此融合算法對壓電式六維力傳感器進行解耦,解耦效果表明融合解耦算法對傳感器測量性能有顯著提高。石中盤等[4]利用混合遞階遺傳算法優化小波神經網絡并以此進行多維力解耦,實驗結果表明,該優化算法的精度較其他常見的非線性解耦方法有明顯優勢。
盡管神經網絡在力解耦方面表現出較好的解耦性能,但是解耦精度仍有待進一步提高。同時,常用的神經網絡存在解耦時間長的問題,使得解耦效率較低。本文旨在設計具有更高解耦精度與更高效率的解耦方法的多維力信息解耦算法。
Guangbin Huang等人于2004年提出了一種基于前饋神經網絡的高效機器學習算法——極限學習機(Extreme Learning Machine,ELM)。 相比于神經網絡,極限學習機的特點在于其輸入層與隱含層的神經元權值參數與閾值參數是隨機給定或者人為給定的,在學習過程中無需調整,僅需要通過合適的算法計算隱含層與輸出層之間的權重。極限學習機具有較高的學習效率、準確度、泛化能力和學習能力,因此被廣泛應用于機器學習的分類、聚類和回歸等各個環節。
盡管極限學習機訓練快且具有較強的泛化能力,但是常常存在優化不足與復共線性的問題,使得模型預測結果不夠穩定。因此,諸多優化算法不斷被應用于極限學習機中(如表1所示),常見的有粒子群算法(Particle Swarm Optimization,PSO)和遺傳算法(Genetic Algorithm,GA)。李婉華等[5]設計了基于粒子群算法優化的并行極限學習機,用于處理大規模電力預測,與真實電力負荷預測結果對比可知,改進的極限學習機具有較高的穩定性與可擴展性。針對極限學習機隨機產生的輸入值權值與隱含層閾值容易導致網絡結構不穩定的問題,律方成等[6]提出利用遺傳算法對極限學習機進行改進,并將其應用到短期電力負荷預測中,實驗結果表明,其模型具有較快的訓練速度與更精確的預測結果。

表1 極限學習機優化算法
本文提出基于天牛須優化算法的改進極限學習機算法(BAS-ELM),利用天牛須優化算法對極限學習機隨機產生的輸入層與隱含層之間的權值與閾值進行優化計算,并將其應用于多維力傳感器的解耦,通過多維力傳感器的解耦實驗,逐一比較各個優化算法對極限學習機的改進效果。
極限學習機是一種新型的單隱層前向傳播神經網絡的高效機器學習算法,僅包含一個隱含層,其以廣義逆矩陣理論作為理論依據,具有很強的非線性擬合能力[10],由于僅存在一個隱含層且輸入層與隱含層之間的權值與閾值是人為給定或者隨機得到的,其訓練速度極快,其網絡結構如圖1所示。
極限學習機第j個輸入信息Xj對應的輸出數據為Yj,二者關系可以表示為:

圖1 極限學習機結構示意圖

式中:g(X)是激活函數,Xj是第j個預測數據,w1i是輸入層與隱含層之間的權值的第i列,bi是第i列隱含層偏置,βi是隱含層第i個神經元到第j個輸出值得權值,表示內積。
極限學習機算法常使用Sigmoid函數作為隱含層的激活函數,其可以表示為:

在極限學習機的網絡結構中,輸入層與隱含層之間的權值w1m×s與閾值 b11×s可以通過隨機選取或者人工設定;而隱含層與輸出層權值βs×x可以通過最小二乘法進行確定,最小二乘法的計算公式如下:

式中:H為隱含層通過激活函數后的輸出值,其運算公式為:

式中:bn×s是閾值 b11×s復制 n行后的整體閾值矩陣。
天牛須優化算法是一種模擬自然界天牛行為的優化算法,其求取最優解的方式是通過模擬天牛尋找食物的過程而完成的。天牛通過頭上兩只觸角接收食物的氣味,根據觸角接收到的氣味方向行走一段距離[11]。參數自變量X代表天牛當前的位置,參數自變量X的最優解相當于食物的位置,參數自變量xi按照一定方向增加或減少相當于向左走向右走,當參數自變量X達到最優解時,目標函數便求得了最小值或者最大值。
當利用天牛須算法進行最優解運算時,首先初始化參數自變量X,然后按照正態分布初始化向量dir,之后使得參數自變量X按照向量dir進行增加或者減少,得到X_left和X_right,通過判斷X_left和X_right對應的目標函數的值,判斷參數自變量X下一步應當走的方向。
利用天牛須算法對ELM訓練過程中隨機產生的輸入層與隱含層之間的權值與閾值進行優化,在確定ELM的隱含層神經元數量后,其優化過程如下:
(1)對天牛須優化算法的參數進行初始化,需要初始化的參數分別有衰減率Δ、比率c、最大起始步長step,迭代次數n等。
(2)初始化N維參數自變量X,N由神經元的個數與輸入量的維度決定,其計算公式如(5)所示。通過目標函數的定義,求取其對應的函數值F(X)。
(3)以正態分布的方式獲得每一維自變量xi在每次迭代的過程中變化的方向向量dir。
(4)X向量通過利用第3步獲得的dir向量實現“向左邁進一小步”。

其對應的函數值為F(Xleft)。
(5)X向量通過利用第3步獲得的dir向量實現“向右邁進一小步”。

其對應的函數值為F(Xright)。
(6)比較F(Xleft)和F(Xright)的大小,并以此來判斷X應當往某一方向走一大步。公式如下:
如果F(Xleft)大于F(Xright):

(7)按照迭代次數n,重復步驟3到步驟6,求取最優解。
多維力傳感器可以同時測量多個方向的力與力矩。由于其彈性體一體化結構設計不足、制造工藝和貼片水平的限制,當某個方向的力被加載到傳感器上時,其他方向也有一定的耦合輸出。這種耦合問題難以通過結構優化而實現,軟件解耦相對于結構優化解耦而言實用性更高。
由于力傳感器各維度之間的結構耦合呈現出嚴重的非線性,對機器學習的模型及其優化方法要求較高,普通的模型難以取得良好的效果。
本文以文獻[12]中所述的誤差率和預測結果的損失函數為主要評價指標,誤差率的定義如下:

式中:Fact為實際加載到傳感器上的各方向力與力矩的大小,Fpre為解耦算法運算得到的力與力矩的值,Fmax為滿量程值。
本文使用的預測結果的損失函數的定義為:

式中:ai=f(w·x+b):x是輸入值、w為網絡權值、b為網絡參數、f(z)是激活函數,J(w,b)反映的是均方誤差(Mean-Square Error,MSE)。
本文的解耦數據由團隊開發的六維力/力矩傳感器標定實驗獲得。通過標定實驗,可以獲得大量六維力/力矩傳感器在受力狀態下,輸入力/力矩大小與輸出電壓的對應樣本。本文共獲得354個數據樣本,將這些數據樣本進行訓練集與測試集的劃分,共獲得訓練集300個,測試集54個。
4.2.1 ELM算法參數的選取
本文通過測試集在ELM處于不同神經元個數時,損失函數的變化,尋找ELM的過擬合點。
由圖2可知,當ELM算法神經元大于130個時,損失函數不再下降,甚至由于過擬合存在上升波動。因此本文選擇神經元個數為130。

圖2 ELM神經元個數與損失函數的關系
4.2.2 PSO-ELM算法參數的選取
在PSO-ELM算法中,按照經驗,本文將個體學習率c1和社會學習率c2設置為2,每個粒子群的大小ParticleSize設置為30,最大速度Vmax設置為5,慣性w設置為0.8。
在GA-ELM算法中,將交叉和變異概率設置為0.5和0.01,種群大小設置為30。
在BAS-ELM算法中,將衰減率設置為0.997(在經過300次迭代后,步長變為原來的0.406倍),比率設置為5,最大起始步長設置為1。
對于優化算法的迭代次數而言,其與訓練時間相關,次數過多會導致訓練時間過長;次數過少會導致訓練不完全,精度低。本文通過訓練集的損失函數隨迭代次數的變化,得到各個優化算法的最佳迭代次數。
由圖3可知,當 PSO-ELM、GA-ELM、BAS-ELM迭代次數分別大于60、40、200時,損失函數不再明顯下降,由此確定各個算法的迭代次數。
將各類改進的ELM在測試集上進行解耦測試,得到的測試結果的Ⅰ、Ⅱ類誤差、損失函數和解耦時間,并通過這些參數來比較各類改進ELM的優缺點。
當某一方向力單向加載時,利用各類改進解耦方法對測試集進行測試,每個方向的誤差率如表2所示。

圖3 PSO-ELM迭代次數與損失函數的關系

表2 各解耦方法在單向加載時的最大誤差率
根據表2可以得到某方向力單向加載時,各方向Ⅰ類誤差最大值和各方向Ⅱ類誤差最大值,如表3、表4所示。
由表3可知,普通的ELM算法在各個方向上的Ⅰ類誤差得到了一定的控制,保持在1.4%以內;GA-ELM算法相對于普通的ELM算法,性能有一定的提升,各方向Ⅰ類誤差保持在1.1%以內;PSO-ELM算法和BAS-ELM算法相對與其他兩種算法,解耦性能優秀,各方向Ⅰ類誤差均保持在0.1%以內。

表3 各方向Ⅰ類誤差最大值 單位:%

表4 各方向Ⅱ類誤差最大值 單位:%
由表4可知,普通的ELM算法在各個方向上的Ⅱ類誤差保持在0.5%以內;在Ⅱ類誤差的控制上,GA-ELM算法相對于普通的ELM算法有一定提升,但不明顯,Ⅱ類誤差同樣保持在0.5%以內,各方向Ⅰ類誤差保持在1.1%以內;PSO-ELM算法和BASELM算法相對與其他兩種算法,解耦性能更優,其中PSO-ELM的Ⅱ類誤差保持在0.12%以內,BASELM的Ⅱ類誤差保持在0.05%以內。

表5 各類方法的最小損失函數值
由表5可知,GA-ELM算法的性能相對于普通ELM算法有一定提升,但效果不明顯。PSO-ELM算法和BAS-ELM算法相對于其他算法有較為明顯的提升,在最小損失函數上BAS-ELM算法表現略優于PSO-ELM。各類解耦方法對應的訓練時間如表6所示。

表6 各類解耦方法的訓練時間
由表6可知,ELM算法的解耦時間非常快。在利用優化算法對ELM進行優化后,GA-ELM訓練時間較長,其訓練時間長與其基因需要用二進制編碼導致基因長度較長有關。PSO-ELM算法使用粒子種群進行運算,運算量較大。相對于其他優化ELM算法,BAS-ELM解耦算法的訓練時間較短。
從表7的結果對比并結合上文內容,可知:
(1)極限學習機及其優化算法具有運算時間短,解耦性能高的特點。
(2)GA-ELM解耦算法訓練時間長,性能相對普通ELM有一定提升但提升有限。
(3)PSO-ELM算法性能表現極好,但解耦時間相對于BAS-ELM和普通極限學習機有一定的上升。
(4)BAS-ELM算法在保持優良性能的情況下,解耦時間也得到了一定的控制,實現過程相對于其他改進算法更加簡單。

表7 實驗結果分析
本文在基于粒子群算法和遺傳算法的改進極限學習機基礎之上,提出了基于天牛須算法的改進極限學習機算法(BAS-ELM),并將其應用于智能機器人多維力/力矩傳感器的解耦實驗中。實驗結果表明,GA-ELM解耦算法訓練時間長,性能提升有限;PSO-ELM解耦算法性能表現極好,但訓練時間相對ELM和BAS-ELM較長;BAS-ELM解耦算法在保持優良性能的前提下,縮短了訓練時間,同時實現過程相對其他算法簡單,具有實際的應用價值。