張曉麗
(1.東北大學(xué) 機械工程與自動化學(xué)院,遼寧 沈陽 110819;2.長春師范大學(xué) 數(shù)學(xué)學(xué)院,吉林 長春 130032)
混合云結(jié)合了私有云與公有云,是一種混合計算環(huán)境,其中私有云是一種IT組織或內(nèi)部數(shù)據(jù)中心,通常由公司管理和建立,而公有云則是以收費模型為依據(jù),致力于提供軟件服務(wù)、平臺服務(wù)、基礎(chǔ)設(shè)施服務(wù)的計算環(huán)境。和公有云計算環(huán)境相比,混合云計算環(huán)境的靈活性與安全性更高,能夠以工作負(fù)載為依據(jù),提供高安全性、低成本、高伸縮性的服務(wù)[1]。當(dāng)出現(xiàn)工作負(fù)載波動較為劇烈現(xiàn)象時,能夠利用公有云資源對混合云的服務(wù)水平進行維持,并強化私有云的能力。當(dāng)前在混合云的應(yīng)用過程中所面臨的最大問題就是混合云數(shù)據(jù)的冗余問題,目前的混合云數(shù)據(jù)冗余值較多,因此,混合云數(shù)據(jù)冗余值迭代問題備受關(guān)注[2]。
吳繼康等[3]對混合云環(huán)境中多個用戶數(shù)據(jù)進行研究,完善了用戶數(shù)據(jù)存儲機制,提供了數(shù)據(jù)共享解決方案,為混合云數(shù)據(jù)的研究奠定了基礎(chǔ),但并未對云數(shù)據(jù)深入研究;在此基礎(chǔ)上,陳建平等[4]提出一種冗余值迭代算法,針對海量數(shù)據(jù)中的冗余值迭代問題進行研究,插入一種新的權(quán)重因子,構(gòu)建迭代函數(shù)參數(shù)向量,完成冗余值迭代研究,該方法獲得了一定的研究成果,但數(shù)據(jù)收斂和平均回報值方面有待加強;郭瑞等[5]重點分析了數(shù)據(jù)冗余問題,提出了基于一階謂詞公式去除冗余數(shù)據(jù)的方法,利用一階謂詞公式表示數(shù)據(jù)關(guān)聯(lián)規(guī)則,構(gòu)建鄰接矩陣,刪除其中的冗余規(guī)則,該方法的數(shù)據(jù)冗余研究效果較好,但忽略了數(shù)據(jù)迭代這一問題,導(dǎo)致研究結(jié)果收斂性不高;惠宇等[6]提出了數(shù)據(jù)驅(qū)動的最優(yōu)迭代學(xué)習(xí)控制方法,通過迭代擴張狀態(tài)觀測器詳細(xì)分析了參數(shù)迭代規(guī)律,獲取了較好的數(shù)據(jù)驅(qū)動控制方法,但收斂速度較低;眾多國外學(xué)者也研究了此問題,S.Nepal等[7]分析了混合云中大數(shù)據(jù)處理問題,給出提高混合云數(shù)據(jù)可信度的方法,保障數(shù)據(jù)的完整性和保密性;R.W.Allmendinger等[8]分析了以移動設(shè)備為載體,分析使用過程中產(chǎn)生的數(shù)據(jù)冗余和數(shù)據(jù)不確定性問題,通過海量數(shù)據(jù)采集與處理,消除數(shù)據(jù)集中的冗余數(shù)據(jù)和不確定數(shù)據(jù),但該方法的數(shù)據(jù)收斂速度不高;ZHENG S[9]提出支持向量數(shù)據(jù)描述(SVDD)模式分析模型,SVDD通過求解二次規(guī)劃問題進行迭代;I.I.Rypina等[10]介紹了一種利用漂移器數(shù)據(jù)研究示蹤劑擴散的多迭代統(tǒng)計方法,該方法通過使用一個簡單的迭代過程,最佳地利用了可用的漂移數(shù)據(jù),但迭代過程中數(shù)據(jù)的收斂效果不佳。
上述算法在混合云數(shù)據(jù)冗余值處理中,平均回報值較低且收斂速度控制效果較差。針對此問題,本文提出一種基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法,構(gòu)建混合云數(shù)據(jù)冗余值值函數(shù),基于深度學(xué)習(xí)中學(xué)習(xí)速率要求,獲取值函數(shù)的穩(wěn)定值,計算值函數(shù)穩(wěn)定值向量,結(jié)合哈希表完成混合云數(shù)據(jù)冗余值的迭代研究,并驗證算法的平均回報值以及收斂速度。
基于深度學(xué)習(xí)中學(xué)習(xí)速率要求,獲取混合云數(shù)據(jù)冗余值值函數(shù)的穩(wěn)定值。將混合云數(shù)據(jù)冗余值值函數(shù)視為深度學(xué)習(xí)中的學(xué)習(xí)速率,即將其視為一個常數(shù),通過新參數(shù)的引進與反復(fù)訓(xùn)練以獲取值函數(shù)的穩(wěn)定值。在深度學(xué)習(xí)中,學(xué)習(xí)速率需要接近0,梯度才不會上升,學(xué)習(xí)速率還要盡可能大,梯度才不會增加,在混合云數(shù)據(jù)冗余值迭代算法中引入深度學(xué)習(xí)這一概念,也就是混合云數(shù)據(jù)冗余值函數(shù)的數(shù)值需要接近0才能提升迭代算法的學(xué)習(xí)速率,值函數(shù)的值還需要接近1,才能保證迭代算法的收斂性。為了滿足這兩種需求,需要引入新參數(shù)并進行反復(fù)訓(xùn)練。其中混合云數(shù)據(jù)冗余值值函數(shù)的公式為
(1)
式中:φ為混合云數(shù)據(jù)冗余值值函數(shù);ΔWd,ΔWrg分別為混合云數(shù)據(jù)冗余值的2個權(quán)重向量。
在混合云數(shù)據(jù)冗余值的迭代中,當(dāng)0≤φ<1時,才能保證迭代算法的收斂。
權(quán)重向量ΔWd與ΔWrg的夾角需要滿足銳角條件,將參數(shù)k代入云數(shù)據(jù)冗余值值函數(shù),計算φ值大小。計算φ值的分母,將分母與0作比較,當(dāng)分母的值為0時,φ值即為0,而當(dāng)分母的值不為0時,利用引進的參數(shù)對φ值的分子進行計算,計算完畢后驗證φ值是否滿足0≤φ<1條件,并對值函數(shù)參數(shù)進行計算:
ΔWr=k(1-φ)ΔWd+φWrg,
(2)
式中,ΔWr為值函數(shù)參數(shù)[11]。
接著利用值函數(shù)參數(shù)對權(quán)重向量ΔWd與ΔWrg進行更新,并在更新中引進一個新的參數(shù)μ,該參數(shù)為一個極小的正數(shù),被稱為遺忘因子,引入μ后,權(quán)重向量ΔWd與ΔWrg的更新結(jié)果為
Wd=(1-μ)ΔWd-μk2,
(3)
Wrg=(1-μ)ΔWrg-μk2。
(4)
通過權(quán)重向量ΔWd與ΔWrg的更新加速了迭代算法的收斂速率,獲得了值函數(shù)的穩(wěn)定值,即
(5)
利用獲取的值函數(shù)穩(wěn)定值對值函數(shù)更新向量進行構(gòu)建,獲得混合云數(shù)據(jù)冗余值的期望輸出,計算值函數(shù)穩(wěn)定值向量,利用批量更新的方式獲取新權(quán)值,利用新的權(quán)值處理值函數(shù)向量,獲取值函數(shù)更新向量。
利用逼近替代函數(shù)查詢表對混合云數(shù)據(jù)冗余值進行逼近替代,即
(6)
式中:V(x)為混合云數(shù)據(jù)冗余值;x′為x的后續(xù)狀態(tài);α為逼近替代函數(shù)值;R為立即獎賞;γ為逼近替代系數(shù)。
利用公式(5)可以使混合云數(shù)據(jù)冗余值V(x)逐漸接近右邊的值[12]。接著對混合云數(shù)據(jù)冗余值V(x)進行樣本訓(xùn)練,獲得混合云數(shù)據(jù)冗余值期望輸出P,
P=max 〈R+γV(x′)〉,
(7)
其中,P為混合云數(shù)據(jù)冗余值的期望輸出[13]。V(x)與V(x′)都是跟值函數(shù)φ相關(guān)的函數(shù),通過樣本訓(xùn)練能夠調(diào)整值函數(shù)φ的梯度,使混合云數(shù)據(jù)冗余值V(x)能夠無限接近期望輸出值[14]。
獲得混合云數(shù)據(jù)冗余值的期望輸出P后,對值函數(shù)穩(wěn)定值φ的向量進行計算:
式中:ΔW為值函數(shù)φ的向量;W為混合云數(shù)據(jù)冗余值更新結(jié)果[15]。
利用批量更新的方式對值函數(shù)向量的權(quán)值增量進行改變,從而產(chǎn)生新的權(quán)值λ,利用新的權(quán)值處理值函數(shù)向量,獲取新的全局向量W,從而完成值函數(shù)更新向量的構(gòu)建,即
(9)
逼近替代會導(dǎo)致迭代算法的收斂加快,而批量更新方式會導(dǎo)致迭代算法的發(fā)散,二者能夠相互抵消,如圖1所示[16]。
圖1 收斂與發(fā)散的抵消過程
利用值函數(shù)更新向量進行混合云數(shù)據(jù)冗余值迭代,進行混合云數(shù)據(jù)冗余值迭代研究[17]。
利用 Bellman 冗余求出混合云數(shù)據(jù)值函數(shù)更新向量的均方差E,
(10)
其中,E為混合云數(shù)據(jù)冗余值的均方差[18],而混合云數(shù)據(jù)冗余值均方差的權(quán)值增量則為
(11)
式中,ΔE為混合云數(shù)據(jù)冗余值均方差的權(quán)值增量[19]。
根據(jù)上述獲取的權(quán)值增量,結(jié)合哈希表完成迭代研究,具體迭代步驟如下。
(1)通過鏈地址法建立規(guī)模為m的哈希表,獲取依次進入哈希表的項,可通過下述過程獲取:
針對首個進入哈希表的項有
W1=(m-1)/m,
(12)
針對第二個進入哈希表的項有
(13)
針對第三個進入哈希表的項有
(14)
(2)混合云數(shù)據(jù)增值向量獲取。通常采用簡單的散列手段即可獲取很好的防沖突效果[20-21]。但數(shù)據(jù)集保存在不同距離的存儲節(jié)點中,存在一定的差異,本節(jié)通過數(shù)據(jù)集存儲使用強度D(x)與數(shù)據(jù)節(jié)點迭代概率P(x)完成冗余值迭代,提高迭代質(zhì)量。在獨立存儲節(jié)點中完成數(shù)據(jù)集流接收,混合云數(shù)據(jù)集流符合指數(shù)為λ的泊松分布,同時存儲使用強度符合同一指數(shù)的泊松分布[22]。則數(shù)據(jù)集存儲使用強度D(x)的增值向量E[D(x)]符合
(W1+W2+W3),
(15)
(3)結(jié)合增值向量,利用權(quán)值增量獲取混合云數(shù)據(jù)冗余值迭代函數(shù),即
從而實現(xiàn)混合云數(shù)據(jù)冗余值迭代算法研究。
為了檢測本文提出基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法的有效性,將本文算法與文獻[4-5,8-9]算法應(yīng)用于GridWorld問題中。GridWorld問題遵從均勻隨機決策中對所有行動進行迭代的原理,可以對迭代方法的收斂性能進行驗證。
GridWorld問題指的是格子世界問題,主要包括2個類型,分別是4×5格子和10×10格子。4×5格子包含1個起始狀態(tài),1個終止?fàn)顟B(tài),2個陷阱狀態(tài)。10×10格子包含1個起始狀態(tài),1個終止?fàn)顟B(tài)。
目標(biāo)任務(wù)遷移至不同狀態(tài)時,所得獎賞大小不同,在到達(dá)終止?fàn)顟B(tài)時,立即獎賞最大,在到達(dá)陷阱狀態(tài)時,立即獎賞最小。
實驗參數(shù)如表1所示。
基于MATLAB實驗平臺對混合云數(shù)據(jù)冗余值迭代算法進行加載,實驗數(shù)據(jù)來源于(hybrid cloud database management,HDM),設(shè)定本次實驗的最大情節(jié)數(shù)為200,在情節(jié)不同的情況下,對混合云數(shù)據(jù)冗余值迭代算法的總回報值進行計算,從而獲得算法的平均回報值(在起始狀態(tài)到終止?fàn)顟B(tài)的過程中,目標(biāo)任務(wù)所獲得的獎賞和回報值)。為了保證實驗的有效性,使用文獻[4-5,8-9]算法與本文提出基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法進行比較,觀察實驗結(jié)果,比較各個算法的平均回報值、樣本計算耗時與時間步數(shù)。
表1 實驗參數(shù)
文獻[4-5,8-9]算法和基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法的平均回報值對比如圖2所示。
圖2 4×5 GridWorld問題中不同算法平均回報值對比
通過圖2可知,文獻[4]算法在第161個情節(jié)左右達(dá)到最優(yōu)收斂;文獻[5]算法在第130個情節(jié)左右達(dá)到最優(yōu)收斂;文獻[8]算法在第130個情節(jié)左右達(dá)到最優(yōu)收斂;文獻[9]算法在第155個情節(jié)左右達(dá)到最優(yōu)收斂。上述4種算法的平均回報值不超過0.5,但本文基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法的最大平均回報值約為0.96,該算法在第80個情節(jié)左右達(dá)到最優(yōu)收斂。通過比較可知,基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法的平均回報值最高,并且收斂速度也最快。
為驗證本文算法在大規(guī)模動作中的適應(yīng)性問題,更換格子類型,將4×5格子更換為10×10格子,在此種情況下計算回報值,不同算法的對比結(jié)果如圖3所示。相比其他幾種算法,基于學(xué)習(xí)速率與更新向量的迭代算法具有較好的收斂性,在情節(jié)數(shù)為90左右時,該算法趨于收斂,之后的每個情節(jié)均處于終止?fàn)顟B(tài),證明該算法具有較高的穩(wěn)定性。
圖3 10×10 GridWorld問題中不同算法平均回報值對比
在不同空間維度內(nèi),算法性能亦不同,為驗證算法性能,在不同空間維度的格子問題中,計算幾種不同算法的耗時情況,由耗時長短判定算法性能。由表2可以看出,在相同空間維度下,本文算法耗時較少,且隨著空間維度的增加,耗時始終低于其他算法。
幾種算法在不同情節(jié)到達(dá)終止?fàn)顟B(tài)所需的步長對比如圖4所示。從圖4可以看出,在情節(jié)數(shù)為50左右時,本文迭代算法已到達(dá)收斂狀態(tài),隨著情節(jié)數(shù)的不斷增加,可以看出本文迭代算法步數(shù)較少,迭代較為穩(wěn)定,具有更快的收斂速度。
本文提出基于學(xué)習(xí)速率與更新向量的混合云數(shù)據(jù)冗余值迭代算法,由值函數(shù)更新向量構(gòu)建,實現(xiàn)了混合云數(shù)據(jù)冗余值的迭代。通過實驗結(jié)果可知,基于學(xué)習(xí)速率與更新向量的迭代算法在引入權(quán)重因子與遺忘因子后,加快了迭代速率,使收斂速度得到保證,迭代算法穩(wěn)定性能得到了保證。該算法適用于較大規(guī)??臻g維度問題,為進一步提高迭代穩(wěn)定性,使適用范圍更為廣泛,提高值函數(shù)參數(shù)更新向量的速率是下一步的研究方向。
表2 不同算法在不同GridWorld問題中耗時對比
圖4 不同算法時間步數(shù)對比