林加潤 殷建平 張曉峰 蔡志平 明月偉
(1.國防科技大學計算機學院 長沙 410073)(2.中國人民解放軍61070部隊 福州 350002)
在大數據和云計算時代,數據規模越來越大,數據類型越來越復雜,對計算的資源要求也隨著越來越高。在豐富的動態數據的基礎上,要挖掘大數據的價值,必然需要大量計算資源和高效的學習算法。在云計算環境中使用機器學習算法對大數據進行數據內容上的分析與計算,以低廉的價格調用云計算豐富的資源,分析數據模式并挖掘信息,已成為當前學術界與企業界的一種趨勢。
極限學習機(Extreme Learning Machine,ELM)因為訓練速度和較高的訓練精度,其應用已經越來越普及。極限學習機是G.Huang等提出的面向單隱層前饋神經網絡(Single Layer Feed-forward Networks,SLFNs)的學習算法[2~4]。ELM不僅學習速度極快,而且會達到訓練誤差最小的效果,同時具有最小輸出權重規范,因而能夠提供良好的泛化性能。其中,隱層節點的參數隨機分配,輸出權重矩陣可通過隱層輸出矩陣的廣義逆解析求解。
將極限學習機外包在云計算中,能最大限度地提高機器學習的訓練速度,高效實現大數據的處理與分析。用戶將數據或程序外包給云計算服務商的同時,也喪失了對數據或程序的直接控制權。然而,云計算服務商會有意或無意地對數據或程序進行分析,挖掘各種隱私信息,從用戶的數據或程序中進一步獲取潛在的利益。隱私泄露的潛在危險,使得云計算外包的發展受到了很大的阻礙[1]。云計算外包的隱私泄漏風險,使得用戶很難在保證數據的安全隱私的同時充分利用云計算服務商提供的豐富資源。
J.Lin等[5]首先研究了將ELM外包到云計算中的安全機制。該機制一方面保證了數據隱私,另一方面又利用豐富的云計算資源大幅度提高了ELM的訓練學習速度。在求解隱層輸出矩陣廣義逆時,[5]采用奇異值分解(Singular Value Decomposition,SVD)算法求得。然而,該算法的復雜性較高,且會引入大量的通信開銷。本文對ELM的云計算外包部署機制進行優化,提出了新的部署方案。在該優化部署方案中,采用正交投影法求解隱層輸出矩陣的廣義逆,在保護用戶輸入與輸出機密性的同時進一步加快訓練學習的速度,并降低客戶端與云計算服務器間的通信開銷。
在ELM中,隱層節點參數為隨機分配,輸出權重可通過矩陣計算解析地確定。在激活函數無窮可微的前提下,輸入層權重矩陣和隱含層偏置值無需迭代式調整,而輸出層權重矩陣可解析式獲得。與傳統學習算法和深度學習算法相比,ELM需要較少的人工干預和更少的訓練時間。
任意N個不同的樣本用矩陣(X,T)來表示,X=(x1,x2,…,xN),T=(t1,t2,…,tN)。文獻[2~4]已經證明,在訓練SLFN時,無需迭代調整神經網絡中輸入層與隱藏層之間的參數。相反,如果隱層的激活函數g(·)是無窮可微的,則可以隨機分配隱層節點的參數。SLFN的結構如圖1所示。其中(W,b)為隱含層的參數,b表示隱含層節點上的偏置矩陣。wi為連接輸入層與第i個隱含層節點之間的輸入權重向量,βi為連接第i個隱含層節點與輸出層之間的輸出權重向量,β為輸出權重矩陣。N為訓練樣本數量,M為隱層節點的數量。
然而,在應用程序中涉及到的數據日益擴大且結構日益復雜,使得在大規模數據上運行ELM仍然是一個極具有挑戰性的任務。為了應對這一挑戰,研究人員已經提出了許多ELM變種。例如,M.van Heeswijk等[7]充分利用GPU資源對ELM進行并行化和加速;Q.He等[6]提出在Map-Reduce的框架上并行ELM。
我們注意到,ELM最大的特點是隱層節點的參數是隨機分配的,因此ELM特別適合外包給云計算服務商。[5]將ELM中最為耗時的計算部分(即,隱層輸出矩陣的廣義逆求解)外包到云計算中,并采用SVD算法求解廣義逆。目前最優的SVD算法的復雜性為O(C1N2M+C2M3)。訓練集規模龐大時,N?M,ELM的訓練學習速度會大幅度下降。

圖1 極限學習機的SLFN結構
將隱層輸出矩陣標記為H,H的大小為N×M :

本文采用正交投影法計算隱層輸出矩陣廣義逆。G.Huang在文獻[2~4]中證明,當 HTH 或者HHT矩陣為可逆時,可采用正交投影法來計算廣義逆;添加一個正則化項,可提高ELM學習算法的泛化性能,并使得解決方案更加健壯。
隱層輸出矩陣H的廣義逆H?為

由于樣本數據的大小往往要比隱層節點數量大,甚至要遠遠大于隱層節點數量,因此本文后續只討論N≥M的情況。
為提高ELM算法的泛化性能與健壯性,添加了一個正則化項。即

則輸出權重矩陣為

我們定義一個中間矩陣Ω為

則

其中中間矩陣Ω的大小為M×M,遠遠小于H?的大小。考慮到多矩陣乘法的優化,更好地提高訓練速度,可先計算HTT再與Ω-1相乘,即

為減少ELM在大規模數據上的訓練時間,可將其瓶頸計算外包到計算資源豐富的云計算中。然而,用戶選擇外包也意味著放棄對數據和應用程序的直接控制,而數據和應用程序中可能包含敏感信息。
ELM外包機制中,數據的安全威脅主要來自云計算服務商內部。云計算服務商是“誠實但好奇”的(也被稱為半可信模型)。該假設被國內外研究學者廣泛接受[1,9~10]。云計算服務商會有意或無意地對數據進行分析,挖掘用戶的潛在信息和隱私。在本文中,我們假定,云服務器可能會有不誠實的行為。它可能會在希望不被發現的同時欺騙用戶,以節省資源或減少執行時間。我們首先假設云服務器誠實執行計算,然后討論結果的驗證,以確保云計算服務商誠信地運行用戶外包出去的業務。
在體系結構中,云計算外包涉及兩種不同的實體:云計算用戶與云計算服務器。前者有若干計算量較大的ELM問題。后者擁有豐富的計算資源,如圖2所示。
由于篇幅有限,本文暫只考慮云計算中ELM的外包機制,省略了登錄驗證過程等并假設兩者之間的通信渠道是可靠且高效的。
在本文中,我們顯式地將ELM算法分解成一個公共部分和一個私有部分。私有部分除負責產生隨機參數(W,b)和計算隱層輸出矩陣外,還負責按式(5)計算中間矩陣Ω。用戶在本地計算Ω后,將其發送到云計算服務器。云計算服務器負責公共部分,主要計算在此過程中最為耗時的Ω-1求解。云服務器計算出Ω-1后,將其發送回用戶。用戶在本地用戶端通過式(7)獲得所需要的輸出權重β。
Ω的求逆運算的算法復雜度為O(M3),也遠小于SVD算法的復雜度,從而提高ELM的訓練學習速度。

圖2 云計算中ELM外包機制的體系結構
ELM是非常適合于外包的,而且能確保神經網絡訓練樣本和所需參數的機密性。ELM算法的輸入為訓練集(X,T),輸出為ELM算法所訓練的SLFN網絡參數(W,b,β)。
在ELM的私有部分,隱含層節點的參數(W,b),作為所訓練的SLFN神經網絡的所需參數的一部分,是隨機分配的。這些參數必須由用戶自身產生。注意到,無窮可微的激活函數g(·)是無窮多的。而且,正則化常數C也是未知的,因此,云計算服務提供商單從所接收到的Ω是無法推算出確切的X或者(W,b)。
需要注意的是,即使云計算服務商知道具體的激活函數 g(·)與正則化參數C并能推導出矩陣HTH、隱層輸出矩陣H以及矩陣WX+b,也仍然無法推導出ELM算法的輸入或者輸出,因為X和(W,b)對于云計算服務商來說都是未知的。云計算服務商只負責計算H的廣義逆H?,并將其發送回用戶。而T也一直保留在本地,并未暴露給云計算服務商。ELM算法的另外一部分輸出β是在本地按照式(7)計算的,因此云計算服務商也無法推導出β。
總之,在整個外包過程中,云計算服務商始終無法獲取所訓練的SLFN神經網絡的參數(W,b,β)或者(X,T)。ELM算法輸入和輸出的安全性在本文提出的外包優化部署機制中得到了保證。
本文到目前為止一直假設云計算服務商雖然對隱藏的信息感興趣,但仍然誠實地執行用戶所指定的操作。然而,實際上,為了節省資源或減少執行時間,云計算服務商可能并不會始終誠實地執行,而選擇返回近似的計算結果。因此,外包機制必須確保用戶能夠驗證結果的正確性和可靠性。
在本文提出的外包機制中,從云計算服務器返回的計算結果,也就是SLFN神經網路中中間矩陣Ω的逆Ω-1本身可以作為驗證結果正確性和可靠性的證據。根據矩陣逆的定義,只需引入少量的計算開銷就能驗證結果的正確性和穩健性,而無需引入額外的通信開銷。
在文獻[5]提出的ELM外包機制中,ELM用戶和云計算服務器之間的通信開銷為Td=2×,B為用戶與云計算服務商之間的通信帶寬。在本文提出的ELM優化部署方案中,通信開銷為
由于在數據規模非常龐大時,N?M,本文提出的ELM外包部署機制引入的通信開銷將遠遠小于文獻[5]中提出的ELM外包機制所引入的通信開銷。
使用t0和t來分別標記原始ELM算法和在本文所提出的外包機制下ELM的訓練時間。t主要為兩個部分,即客戶端和云計算服務器端的計算時間,分別用tl和tc來表示。定義非對稱加速比為λ=t0tl。λ表示用戶端計算資源的節約數量比,且僅與ELM問題的規模大小相關,而與云計算的資源豐富程度無關[1]。
使用一個普通工作站(英特爾酷睿i5-3210M CPU,2.50GHz,4GB RAM)模擬客戶端。云計算服務器由一個英特爾酷睿i5-3470 CPU工作站(3.20GHz,6GB RAM)模擬。通過將ELM中最耗時的瓶頸計算從一個具有較少計算資源的工作站外包到另外一個資源較為豐富的工作站,可以評價本文提出的外包優化部署機制,而無需真實的云計算環境。我們的外包機制關注于提高訓練速度,不影響原先ELM算法的訓練準確率和測試準確率。
我們在CIFAR-10[11]數據集上進行實驗。該數據集由50000個訓練彩圖(32×32)和10000個10級的測試圖像組成。為了減少屬性的數量,首先將彩色圖像轉化為灰度圖像。對每個M進行了5個試驗并取平均值,隨機選取兩個集合作為訓練樣本和測試樣本。實驗結果如表1所示。

表1 在部分CIFAR-10數據集上ELM外包優化部署機制的實驗結果
從實驗結果可以看出,M越大,ELM問題的規模越大,內存逐漸成為瓶頸資源,云計算下ELM的外包機制所獲取的非對稱加速比也在顯著上升。也就是說,隨著問題規模的增大,本文提出的外包優化部署機制能獲取更高的非對稱加速比λ,即能夠更好的節約本地的計算資源。整體加速比與云計算的計算資源息息相關,隨著問題規模的增大,整體加速比也穩步提升,如圖3所示。

圖3 非對稱加速比與整體加速比對比圖
從一些列的實驗可以看出,訓練準確率隨著隱含層節點數量的增加,從83%穩步增加到95%,測試準確率在80%到84%之間變化。在本文實驗中,M=2000時ELM能獲取最高測試準確率,為83.45%。需要注意的是,本文提出的云計算環境下的ELM外包優化部署機制并不影響ELM學習的訓練準確率和測試準確率,僅提高訓練學習的速度。
為了確定M值使得ELM算法取得最高的測試準確率,用戶可能需要在不同M值下測試多次試驗。在這種情況下,用戶可將同一訓練集下的多個ELM問題同時外包給云計算服務提供商,從而更加充分地利用云計算服務器的豐富計算資源和存儲資源。
本文提出了一個在云計算環境下外包ELM的優化部署機制,在降低訓練時間的同時,保證了輸入與輸出的安全性。本文提出的優化部署機制并未將整個隱層輸出矩陣的廣義逆求解外包給云計算,而僅將中間矩陣的求逆外包,降低了通信延遲開銷,進一步提高了ELM訓練學習的速度。中間矩陣的逆可用于在不引入額外通信開銷的同時驗證結果的正確性和可靠性。理論分析和實驗結果表明,本文提出的ELM外包優化部署機制可有效地使用戶從繁重的計算釋放出來,并有效保護用戶數據的安全與隱私。