溫曉紅,劉華平,閻高偉,孫富春
(1. 太原理工大學 電氣與動力工程學院,山西 太原 030600; 2. 清華大學 計算機科學與技術系,北京 100084;3. 智能技術與系統國家重點實驗室,北京 100084)
典型相關分析(canonical correlation analysis,CCA)[1]是一種經典統計方法,旨在研究兩組隨機變量之間的相關性。通過極大化兩組變量在線性投影空間中的相關性而達到特征融合的目的。CCA可用于對多模態數據的特征提取和融合[2-4],減小預測或識別問題中的樣本復雜度[5],已成功應用于字符與人臉圖像識別及多模態檢索等任務中[6]。核典型相關分析(kernel CCA,KCCA)[7]是對CCA的擴展,解決了CCA只能進行線性映射的問題。通過隱性的非線性映射將兩組特征分別映射到高維特征空間,借助于核技巧,以線性的方式提取變量的非線性特征。盡管KCCA可以通過核來學習變量之間的非線性關系,但其需要通過人工選擇核函數,并且當訓練集規模較大時,會造成巨大的計算消耗。
為了解決KCCA存在的問題,文獻[8]提出深度典型相關分析 (deep CCA,DCCA),即用深度神經網絡學習靈活的非線性相關表示,使得到的特征具有更高的相關度。文獻[9]提出基于神經網絡和自編碼(auto encoder,AE)的深度典型相關自編碼 (deep canonically correlated autoencoders,DCCAE),用于無標簽多視圖特征學習。但是這些方法在參數訓練過程中,需要根據梯度下降法多次迭代至誤差收斂,容易陷入局部最優,且計算消耗大。
另一方面,超限學習機(extreme learning machine,ELM)以結構簡單、學習速度快和泛化能力好等優點[10],近年來已廣泛應用于分類、回歸等任務中。伴隨著大數據時代的到來,關于數據潛在信息的挖掘引起了大量關注。然而ELM是一種單隱含層前饋神經網絡,其淺層的網絡結構難以發現數據深層抽象特征,因此基于ELM進行深度學習的算法相繼提出。文獻[11]提出了ELM-AE,首次將ELM用于數據的特征表示;文獻[12]提出了基于ELM堆棧構成的深度表示模型;文獻[13]將流行正則引入原始ELM-AE中,并提出一種新的深度神經網絡;文獻[14]使用深度ELM學習圖像的非線性結構,用于圖像分類中,并且在速度和準確率上表現出優越的性能;文獻[15]將深度ELM模型用于多模態融合中,表明了ELM在多模態數據應用中的有效性。
為了解決基于傳統深度神經網絡的非線性CCA訓練速度緩慢、無法快速收斂等問題,本文將ELM-AE引入CCA框架,用于多模態數據的特征提取。首先利用ELM-AE分別對每個模態進行多層無監督特征提取,然后極大化深層特征的相關性。實驗結果表明,相比于線性CCA和DCCA,本文方法在取得高相關度的同時,還顯著提升了算法的快速性。將該算法在康奈爾大學機器抓取數據集上進行驗證,實驗結果表明該方法有效提高了抓取點識別率。


Andrew等[8]對CCA進行擴展改進,提出基于深度神經網絡的CCA,即DCCA。給定模態X和Y,兩個深度神經網絡模型和分別用來學習X和Y的非線性結構,其中W=為神經網絡模型參數。然后通過CCA將提取的特征和相關性極大化:


與CCA不同,DCCA沒有固定的解,其參數需要通過梯度下降法優化,Andrew等采用批處理算法L-BFGS對參數進行調整。王等[16]隨后提出采用隨機梯度下降(stochastic gradient descent,SGD)對DCCA的權值進行優化。本文選擇與后者提出的方法進行比較。
超限學習機是一類針對單隱含層前饋神經網絡的學習算法。典型的單隱層前饋神經網絡結構如圖1所示,由輸入層、隱含層和輸出層組成。

圖 1 ELM網絡結構Fig. 1 The model structure of ELM


式中:H為神經網絡的隱含層輸出矩陣,T是網絡期望輸出值。
在訓練過程中,對w和b隨機初始化,且保持不變,而隱含層與輸出層的連接權值β可以通過求解以下方程組獲得:

式中:H+為隱含層輸出矩陣H的Moore-Penrose廣義逆。
本文提出基于ELM的非線性典型相關分析
(ELM-CCA),通過對兩個模態分別進行復雜的非線性轉換,最終使學習到的特征最大相關,其模型結構如圖2所示。給定樣本,N為樣本個數,,因此可以得到兩個模態的樣本矩陣,分別為和,傳統的CCA對X和Y進行線性變換,使變換后的兩組數據相關性最大。實際中很多問題需要非線性變換來挖掘事物間潛在的非線性關系。而ELM-CCA算法可以實現非線性相關學習。

圖 2 ELM-CCA模型結構Fig. 2 The model structure of ELM-CCA
ELM-CCA結構分為兩部分:分別對每個模態進行多層非線性轉換;極大化對兩個模態多層非線性映射后特征的相關性。對于中的其中一個樣本,設有k個隱含層,則第1個隱含層的輸出為




通過深度ELM-CCA的訓練,得到X和Y的非線性映射表示U和V,并且U和V的相關度最大。
采用ELM-AE逐層訓練得到每層之間的連接權值,即每層權值的訓練都作為一個獨立的ELM。在獨立組件ELM-AE中,令其輸出y=x,通過最小化輸出的重構誤差來訓練權值。


圖 3 ELM-AE無監督非線性映射Fig. 3 Unsupervised nonlinear learning of ELM-AE


由于式(14)中A或B等比例變化時,目標函數的值不變,因此CCA定義了下式約束條件,此時,目標函數等價于:




經過矩陣A和B轉換,使最終輸出U和V實現最大相關,從而實現對X和Y的非線性典型相關分析學習。
ELM-CCA與DCCA具有相同的模型結構,二者均通過深度神經網絡學習特征的非線性表示,然后對得到的深度特征進行線性CCA求解,最終將非線性模態相關性問題轉化為線性相關分析。不同的是,在神經網絡參數的優化過程中,DCCA首先由式(4)計算目標函數對深度特征的梯度,然后根據反向傳播算法優化每層的權值。而在ELM-CCA中,每層之間的權值是通過前向逐層訓練,由式(13)直接計算得到。相比DCCA,不需要反向微調,極大地提高了訓練速度。
為了驗證本文提出的ELM-CCA算法在多模態特征提取中的有效性,我們在康奈爾大學抓取數據集[17]上開展了實驗對比。機器抓取是指機器人根據傳感器采集到的信息來推斷夾持器放置的位置,抓取過程涉及感知、規劃、識別和控制等問題。在實施抓取操作之前,機器人首先需要對物體可抓取部分做出準確的識別,因此本文將提出的算法應用于機器抓取識別任務中。
康奈爾大學抓取數據集包括由機器人視覺感知部位RGB-D相機采集到的一系列圖像,圖4給出了部分圖像樣本。相比傳統的2-D圖像,采用RGB-D相機能夠在獲取彩色圖像的同時得到每個像素的深度信息,提高了機器人抓取的成功率[18]。文獻[19]通過對物體深度信息進行處理,實現了目標抓取任務。近年來,相關文獻的研究也表明了多模態特征融合的必要性[20],文獻[21]提出采用多特征光學遙感圖像提高目標的分類識別性能;文獻[22]指出RGB-D融合的多應用場合。因此本文將對圖像的顏色RGB模態和深度信息模態進行研究,尋找其相關信息。

圖 4 康奈爾大學數據集樣本Fig. 4 Example objects from the Cornell grasping dataset
實驗數據集包含885張RGB圖像,這些圖像來自于對240個不同物體的多角度拍攝。每張圖片被多個已標簽矩形框標記,共記8 019個,如圖5所示,粗線對應夾持器抓取的位置。其中正矩形表示可抓取,負矩形表示當前狀態不可抓取。
每個矩形框對應一個樣本,同時對這些矩形內的圖像提取顏色信息和深度信息,分別對應算法中的X和Y。顏色特征為三通道24×24像素的RGB圖像,即。深度特征包含單通道圖像深度信息,即。圖5右所示為抓取識別任務的實驗流程。

圖 5 抓取識別任務流程Fig. 5 The process of grasping recognition tasks
為了體現本文算法的優越性,將實驗結果與線性CCA、分數階嵌入典型相關分析(fractionalorder embedding canonical correlation analysis,FECCA)[4]和DCCA進行比較。分別在相關度、時間和抓取識別任務3個方面驗證了ELM-CCA的優勢。
CCA是對隨機變量線性映射的統計方法,FECCA使用分子階思想,對傳統CCA類內和類間協方差進行重新估計,以減小訓練樣本噪聲造成的樣本協方差偏離真實數據的問題。DCCA和ELM-CCA都屬于非線性映射方法。上述方法的目標都是極大化兩個隨機變量之間的相關系數。因此,首先對以上算法學習的特征進行相關度的比較。圖6為不同特征下,4種方法在測試集下得到的前100個最相關典型變量的相關系數之和。從圖中可以看出,ELM-CCA學習到的特征相關度始終高于其他算法。尤其在低維時表現突出,當輸出維度為100時,采用ELM-CCA得到的相關系數之和相比前兩者優勢最大。輸出維度較高時,相關度基本趨于一致。

圖 6 前100個典型變量相關度隨映射維度變化曲線Fig. 6 The correlation curve of the top 100 canonical variables with the increase of output dimensions
圖7對DCCA和ELM-CCA在不同網絡結構下,提取特征至100維時,進行了時間和相關度的比較,橫坐標表示隱含層的規模。從圖7(a)可以看出,隨著網絡層數和隱含層節點數增加,算法消耗的時間在顯著增長。并且在每個網絡結構下,DCCA算法消耗的時間都遠遠高于ELMCCA。當隱含層層數低于4層,且每層節點數在2 000以內時,ELM-CCA的訓練時間可保持在10 s之內。而DCCA在隱含層結構為1 000-1 000時,訓練時間已經達到466 s,可以看出ELM-CCA在訓練速度上取得了很大的優勢。圖7(b)為在各網絡結構映射下得到的特征相關度,ELM-CCA學習到的特征相關度均高于DCCA,隨著網絡層數增多,相關度逐漸增加,當隱含層層數為3層時,得到的結果最好。因此選擇該網絡結構提取多模態特征,用于機器人抓取點的識別任務。

圖 7 不同網絡結構下DCCA和ELM-CCA性能比較Fig. 7 The performance comparison of DCCA and ELMCCA with different network structures
通過對原始RGB和深度特征的非線性映射,可以得到兩個模態特征的最終表示。我們分別將原始特征與經過CCA、DCCA和ELM-CCA算法提取后的特征輸入到分類器中,通過得到的識別準確率比較不同算法的學習性能。為了使結果更有說服力,我們在不同的分類器上進行了實驗,選擇了基于統計理論的SVM和基于神經網絡的ELM。此外,我們還比較了使用單模態特征(即RGB和Depth)和多模態特征融合(即RGBD)對識別率的影響。
表1和表2分別給出了使用SVM分類器和ELM分類器得到的分類結果。從表中可以看出,盡管使用了不同的分類器,得到的識別率趨勢是相同的,經過特征提取后的識別率要高于直接使用原始特征進行識別的結果。而DCCA和ELMCCA經過非線性的學習后,體現出了比線性CCA和FECCA的優勢,其中FECCA通過對類內和類間協方差重新估計,相比傳統CCA,性能得到了改善。ELM-CCA在經過快速的特征學習后,相比DCCA,仍然取得了滿意的識別率。圖8所示為不同輸出維度下,采用ELM分類器在RGBD特征輸入下的識別結果。在低維時,識別率隨著輸出維度的增加顯著提升,在輸出維度達到20維時基本穩定,并且在不同維度下,ELMCCA始終體現了較好的識別效果。

表 1 在SVM分類器上得到的識別率Table 1 The recognition rate obtained by the SVM classifier %

表 2 在ELM分類器上得到的識別率Table 2 The recognition rate obtained by the ELM classifier %

圖 8 抓取點識別率隨輸出維度的變化Fig. 8 The recognition rate of grasping point along with the increasing of output dimension
本文提出一種新的ELM-CCA非線性典型相關分析方法,并應用于機器人抓取點的識別任務中。對機器人采集到的原始圖像提取RGB模態和深度模態,首先采用ELM分別的對每個模態進行無監督特征學習,得到非線性特征表示,然后將學習到的特征通過CCA極大化模態之間的相關性。該方法在保證了識別率較高的情況下還體現了強大的快速性。在實際應用中,為機器人實現快速準確的抓取操作奠定了基礎。