徐家琪,伍萬能,2,孫 煒,2,3,王耀南,2,梁橋康,2,3?
(1.湖南大學(xué)電氣與信息工程學(xué)院,長沙410082;2.機器人視覺感知與控制技術(shù)國家工程實驗室,長沙410082;3.電子制造業(yè)智能機器人湖南省重點實驗室,長沙410082)
多維力傳感器在機器人柔順操控與智能作業(yè)等方面承擔(dān)了重要的感知作用[1]。其檢測精度的提高有助于實現(xiàn)更精確有效的力覺控制。解耦算法的性能對多維力傳感器的檢測精度有極大的影響[2]。近年來,以機器學(xué)習(xí)為核心的人工智能算法研究得到了飛速發(fā)展。許多機器學(xué)習(xí)方法因其優(yōu)異的性能被應(yīng)用到多維力傳感器的解耦中。其中,韓彬彬[3]利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),并以此融合算法對壓電式六維力傳感器進行解耦,解耦效果表明融合解耦算法對傳感器測量性能有顯著提高。石中盤等[4]利用混合遞階遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)并以此進行多維力解耦,實驗結(jié)果表明,該優(yōu)化算法的精度較其他常見的非線性解耦方法有明顯優(yōu)勢。
盡管神經(jīng)網(wǎng)絡(luò)在力解耦方面表現(xiàn)出較好的解耦性能,但是解耦精度仍有待進一步提高。同時,常用的神經(jīng)網(wǎng)絡(luò)存在解耦時間長的問題,使得解耦效率較低。本文旨在設(shè)計具有更高解耦精度與更高效率的解耦方法的多維力信息解耦算法。
Guangbin Huang等人于2004年提出了一種基于前饋神經(jīng)網(wǎng)絡(luò)的高效機器學(xué)習(xí)算法——極限學(xué)習(xí)機(Extreme Learning Machine,ELM)。 相比于神經(jīng)網(wǎng)絡(luò),極限學(xué)習(xí)機的特點在于其輸入層與隱含層的神經(jīng)元權(quán)值參數(shù)與閾值參數(shù)是隨機給定或者人為給定的,在學(xué)習(xí)過程中無需調(diào)整,僅需要通過合適的算法計算隱含層與輸出層之間的權(quán)重。極限學(xué)習(xí)機具有較高的學(xué)習(xí)效率、準(zhǔn)確度、泛化能力和學(xué)習(xí)能力,因此被廣泛應(yīng)用于機器學(xué)習(xí)的分類、聚類和回歸等各個環(huán)節(jié)。
盡管極限學(xué)習(xí)機訓(xùn)練快且具有較強的泛化能力,但是常常存在優(yōu)化不足與復(fù)共線性的問題,使得模型預(yù)測結(jié)果不夠穩(wěn)定。因此,諸多優(yōu)化算法不斷被應(yīng)用于極限學(xué)習(xí)機中(如表1所示),常見的有粒子群算法(Particle Swarm Optimization,PSO)和遺傳算法(Genetic Algorithm,GA)。李婉華等[5]設(shè)計了基于粒子群算法優(yōu)化的并行極限學(xué)習(xí)機,用于處理大規(guī)模電力預(yù)測,與真實電力負(fù)荷預(yù)測結(jié)果對比可知,改進的極限學(xué)習(xí)機具有較高的穩(wěn)定性與可擴展性。針對極限學(xué)習(xí)機隨機產(chǎn)生的輸入值權(quán)值與隱含層閾值容易導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)不穩(wěn)定的問題,律方成等[6]提出利用遺傳算法對極限學(xué)習(xí)機進行改進,并將其應(yīng)用到短期電力負(fù)荷預(yù)測中,實驗結(jié)果表明,其模型具有較快的訓(xùn)練速度與更精確的預(yù)測結(jié)果。
表1 極限學(xué)習(xí)機優(yōu)化算法
本文提出基于天牛須優(yōu)化算法的改進極限學(xué)習(xí)機算法(BAS-ELM),利用天牛須優(yōu)化算法對極限學(xué)習(xí)機隨機產(chǎn)生的輸入層與隱含層之間的權(quán)值與閾值進行優(yōu)化計算,并將其應(yīng)用于多維力傳感器的解耦,通過多維力傳感器的解耦實驗,逐一比較各個優(yōu)化算法對極限學(xué)習(xí)機的改進效果。
極限學(xué)習(xí)機是一種新型的單隱層前向傳播神經(jīng)網(wǎng)絡(luò)的高效機器學(xué)習(xí)算法,僅包含一個隱含層,其以廣義逆矩陣?yán)碚撟鳛槔碚撘罁?jù),具有很強的非線性擬合能力[10],由于僅存在一個隱含層且輸入層與隱含層之間的權(quán)值與閾值是人為給定或者隨機得到的,其訓(xùn)練速度極快,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
極限學(xué)習(xí)機第j個輸入信息Xj對應(yīng)的輸出數(shù)據(jù)為Yj,二者關(guān)系可以表示為:
圖1 極限學(xué)習(xí)機結(jié)構(gòu)示意圖
式中:g(X)是激活函數(shù),Xj是第j個預(yù)測數(shù)據(jù),w1i是輸入層與隱含層之間的權(quán)值的第i列,bi是第i列隱含層偏置,βi是隱含層第i個神經(jīng)元到第j個輸出值得權(quán)值,表示內(nèi)積。
極限學(xué)習(xí)機算法常使用Sigmoid函數(shù)作為隱含層的激活函數(shù),其可以表示為:
在極限學(xué)習(xí)機的網(wǎng)絡(luò)結(jié)構(gòu)中,輸入層與隱含層之間的權(quán)值w1m×s與閾值 b11×s可以通過隨機選取或者人工設(shè)定;而隱含層與輸出層權(quán)值βs×x可以通過最小二乘法進行確定,最小二乘法的計算公式如下:
式中:H為隱含層通過激活函數(shù)后的輸出值,其運算公式為:
式中:bn×s是閾值 b11×s復(fù)制 n行后的整體閾值矩陣。
天牛須優(yōu)化算法是一種模擬自然界天牛行為的優(yōu)化算法,其求取最優(yōu)解的方式是通過模擬天牛尋找食物的過程而完成的。天牛通過頭上兩只觸角接收食物的氣味,根據(jù)觸角接收到的氣味方向行走一段距離[11]。參數(shù)自變量X代表天牛當(dāng)前的位置,參數(shù)自變量X的最優(yōu)解相當(dāng)于食物的位置,參數(shù)自變量xi按照一定方向增加或減少相當(dāng)于向左走向右走,當(dāng)參數(shù)自變量X達到最優(yōu)解時,目標(biāo)函數(shù)便求得了最小值或者最大值。
當(dāng)利用天牛須算法進行最優(yōu)解運算時,首先初始化參數(shù)自變量X,然后按照正態(tài)分布初始化向量dir,之后使得參數(shù)自變量X按照向量dir進行增加或者減少,得到X_left和X_right,通過判斷X_left和X_right對應(yīng)的目標(biāo)函數(shù)的值,判斷參數(shù)自變量X下一步應(yīng)當(dāng)走的方向。
利用天牛須算法對ELM訓(xùn)練過程中隨機產(chǎn)生的輸入層與隱含層之間的權(quán)值與閾值進行優(yōu)化,在確定ELM的隱含層神經(jīng)元數(shù)量后,其優(yōu)化過程如下:
(1)對天牛須優(yōu)化算法的參數(shù)進行初始化,需要初始化的參數(shù)分別有衰減率Δ、比率c、最大起始步長step,迭代次數(shù)n等。
(2)初始化N維參數(shù)自變量X,N由神經(jīng)元的個數(shù)與輸入量的維度決定,其計算公式如(5)所示。通過目標(biāo)函數(shù)的定義,求取其對應(yīng)的函數(shù)值F(X)。
(3)以正態(tài)分布的方式獲得每一維自變量xi在每次迭代的過程中變化的方向向量dir。
(4)X向量通過利用第3步獲得的dir向量實現(xiàn)“向左邁進一小步”。
其對應(yīng)的函數(shù)值為F(Xleft)。
(5)X向量通過利用第3步獲得的dir向量實現(xiàn)“向右邁進一小步”。
其對應(yīng)的函數(shù)值為F(Xright)。
(6)比較F(Xleft)和F(Xright)的大小,并以此來判斷X應(yīng)當(dāng)往某一方向走一大步。公式如下:
如果F(Xleft)大于F(Xright):
(7)按照迭代次數(shù)n,重復(fù)步驟3到步驟6,求取最優(yōu)解。
多維力傳感器可以同時測量多個方向的力與力矩。由于其彈性體一體化結(jié)構(gòu)設(shè)計不足、制造工藝和貼片水平的限制,當(dāng)某個方向的力被加載到傳感器上時,其他方向也有一定的耦合輸出。這種耦合問題難以通過結(jié)構(gòu)優(yōu)化而實現(xiàn),軟件解耦相對于結(jié)構(gòu)優(yōu)化解耦而言實用性更高。
由于力傳感器各維度之間的結(jié)構(gòu)耦合呈現(xiàn)出嚴(yán)重的非線性,對機器學(xué)習(xí)的模型及其優(yōu)化方法要求較高,普通的模型難以取得良好的效果。
本文以文獻[12]中所述的誤差率和預(yù)測結(jié)果的損失函數(shù)為主要評價指標(biāo),誤差率的定義如下:
式中:Fact為實際加載到傳感器上的各方向力與力矩的大小,F(xiàn)pre為解耦算法運算得到的力與力矩的值,F(xiàn)max為滿量程值。
本文使用的預(yù)測結(jié)果的損失函數(shù)的定義為:
式中:ai=f(w·x+b):x是輸入值、w為網(wǎng)絡(luò)權(quán)值、b為網(wǎng)絡(luò)參數(shù)、f(z)是激活函數(shù),J(w,b)反映的是均方誤差(Mean-Square Error,MSE)。
本文的解耦數(shù)據(jù)由團隊開發(fā)的六維力/力矩傳感器標(biāo)定實驗獲得。通過標(biāo)定實驗,可以獲得大量六維力/力矩傳感器在受力狀態(tài)下,輸入力/力矩大小與輸出電壓的對應(yīng)樣本。本文共獲得354個數(shù)據(jù)樣本,將這些數(shù)據(jù)樣本進行訓(xùn)練集與測試集的劃分,共獲得訓(xùn)練集300個,測試集54個。
4.2.1 ELM算法參數(shù)的選取
本文通過測試集在ELM處于不同神經(jīng)元個數(shù)時,損失函數(shù)的變化,尋找ELM的過擬合點。
由圖2可知,當(dāng)ELM算法神經(jīng)元大于130個時,損失函數(shù)不再下降,甚至由于過擬合存在上升波動。因此本文選擇神經(jīng)元個數(shù)為130。
圖2 ELM神經(jīng)元個數(shù)與損失函數(shù)的關(guān)系
4.2.2 PSO-ELM算法參數(shù)的選取
在PSO-ELM算法中,按照經(jīng)驗,本文將個體學(xué)習(xí)率c1和社會學(xué)習(xí)率c2設(shè)置為2,每個粒子群的大小ParticleSize設(shè)置為30,最大速度Vmax設(shè)置為5,慣性w設(shè)置為0.8。
在GA-ELM算法中,將交叉和變異概率設(shè)置為0.5和0.01,種群大小設(shè)置為30。
在BAS-ELM算法中,將衰減率設(shè)置為0.997(在經(jīng)過300次迭代后,步長變?yōu)樵瓉淼?.406倍),比率設(shè)置為5,最大起始步長設(shè)置為1。
對于優(yōu)化算法的迭代次數(shù)而言,其與訓(xùn)練時間相關(guān),次數(shù)過多會導(dǎo)致訓(xùn)練時間過長;次數(shù)過少會導(dǎo)致訓(xùn)練不完全,精度低。本文通過訓(xùn)練集的損失函數(shù)隨迭代次數(shù)的變化,得到各個優(yōu)化算法的最佳迭代次數(shù)。
由圖3可知,當(dāng) PSO-ELM、GA-ELM、BAS-ELM迭代次數(shù)分別大于60、40、200時,損失函數(shù)不再明顯下降,由此確定各個算法的迭代次數(shù)。
將各類改進的ELM在測試集上進行解耦測試,得到的測試結(jié)果的Ⅰ、Ⅱ類誤差、損失函數(shù)和解耦時間,并通過這些參數(shù)來比較各類改進ELM的優(yōu)缺點。
當(dāng)某一方向力單向加載時,利用各類改進解耦方法對測試集進行測試,每個方向的誤差率如表2所示。
圖3 PSO-ELM迭代次數(shù)與損失函數(shù)的關(guān)系
表2 各解耦方法在單向加載時的最大誤差率
根據(jù)表2可以得到某方向力單向加載時,各方向Ⅰ類誤差最大值和各方向Ⅱ類誤差最大值,如表3、表4所示。
由表3可知,普通的ELM算法在各個方向上的Ⅰ類誤差得到了一定的控制,保持在1.4%以內(nèi);GA-ELM算法相對于普通的ELM算法,性能有一定的提升,各方向Ⅰ類誤差保持在1.1%以內(nèi);PSO-ELM算法和BAS-ELM算法相對與其他兩種算法,解耦性能優(yōu)秀,各方向Ⅰ類誤差均保持在0.1%以內(nèi)。
表3 各方向Ⅰ類誤差最大值 單位:%
表4 各方向Ⅱ類誤差最大值 單位:%
由表4可知,普通的ELM算法在各個方向上的Ⅱ類誤差保持在0.5%以內(nèi);在Ⅱ類誤差的控制上,GA-ELM算法相對于普通的ELM算法有一定提升,但不明顯,Ⅱ類誤差同樣保持在0.5%以內(nèi),各方向Ⅰ類誤差保持在1.1%以內(nèi);PSO-ELM算法和BASELM算法相對與其他兩種算法,解耦性能更優(yōu),其中PSO-ELM的Ⅱ類誤差保持在0.12%以內(nèi),BASELM的Ⅱ類誤差保持在0.05%以內(nèi)。
表5 各類方法的最小損失函數(shù)值
由表5可知,GA-ELM算法的性能相對于普通ELM算法有一定提升,但效果不明顯。PSO-ELM算法和BAS-ELM算法相對于其他算法有較為明顯的提升,在最小損失函數(shù)上BAS-ELM算法表現(xiàn)略優(yōu)于PSO-ELM。各類解耦方法對應(yīng)的訓(xùn)練時間如表6所示。
表6 各類解耦方法的訓(xùn)練時間
由表6可知,ELM算法的解耦時間非常快。在利用優(yōu)化算法對ELM進行優(yōu)化后,GA-ELM訓(xùn)練時間較長,其訓(xùn)練時間長與其基因需要用二進制編碼導(dǎo)致基因長度較長有關(guān)。PSO-ELM算法使用粒子種群進行運算,運算量較大。相對于其他優(yōu)化ELM算法,BAS-ELM解耦算法的訓(xùn)練時間較短。
從表7的結(jié)果對比并結(jié)合上文內(nèi)容,可知:
(1)極限學(xué)習(xí)機及其優(yōu)化算法具有運算時間短,解耦性能高的特點。
(2)GA-ELM解耦算法訓(xùn)練時間長,性能相對普通ELM有一定提升但提升有限。
(3)PSO-ELM算法性能表現(xiàn)極好,但解耦時間相對于BAS-ELM和普通極限學(xué)習(xí)機有一定的上升。
(4)BAS-ELM算法在保持優(yōu)良性能的情況下,解耦時間也得到了一定的控制,實現(xiàn)過程相對于其他改進算法更加簡單。
表7 實驗結(jié)果分析
本文在基于粒子群算法和遺傳算法的改進極限學(xué)習(xí)機基礎(chǔ)之上,提出了基于天牛須算法的改進極限學(xué)習(xí)機算法(BAS-ELM),并將其應(yīng)用于智能機器人多維力/力矩傳感器的解耦實驗中。實驗結(jié)果表明,GA-ELM解耦算法訓(xùn)練時間長,性能提升有限;PSO-ELM解耦算法性能表現(xiàn)極好,但訓(xùn)練時間相對ELM和BAS-ELM較長;BAS-ELM解耦算法在保持優(yōu)良性能的前提下,縮短了訓(xùn)練時間,同時實現(xiàn)過程相對其他算法簡單,具有實際的應(yīng)用價值。