張鑫雯
(新疆工程學院 工程技能實訓學院,烏魯木齊 830023)
隨著Web服務數量的急劇增加,網絡數據請求日益增多,且呈現出復雜化的趨勢,Web服務組合的優化難度越來越大,要求也越來越高。如何從眾多的候選服務中快速地選擇出滿足用戶要求的可靠服務,在服務計算機方面帶來了一定的技術障礙。面向服務計算(SOC,service-oriented computing)的應用主要是用來解決多款軟件在多個平臺中的相互協作,在不同服務提供商以及消費者能夠合作的系統上,才可以更好的將SOC的作用發揮出來。由于單一服務無法確保符合人們對實際要求,多個服務開展合作就成了必然需求。服務組合的目的就是未來能夠進一步制定面向服務架構(SOA,service-oriented architecture)。在該過程中,最大的挑戰是,如何從一組功能等效的服務組合中選擇滿足服務質量(QoS,quality of service)約束的最佳集合。雖然滿足QoS的服務組合在SOC和SOA領域得到了廣泛研究,但大多數現有的服務組合方法都建立于確定性環境中,當面對動態服務環境時,這些方法大多會失效。因為SOC本就具有動態特征,并且十分復雜,所以服務組合方法就要確保能夠更好地滿足服務環境將會發生變化的可能。除此之外,功能等效服務數量呈現幾何倍數遞增,所以這就要求要設計更加高效的算法,以便能夠快速在候選服務組合中進行選擇的問題。
強化學習(RL,reinforcement learning)通過一系列順序決策來達到特定目標,在該策略過程中,智能體與環境進行交互,通過反復試驗來獲得最佳學習方案,目前,RL已經成為處理自適應服務組合的強大工具,通過與動態服務環境的交互進行反復學習,RL可以動態地選擇最佳服務集,無需對服務環境的完整性和充分性進行了解。近年來,基于RL的自適應服務組合算法受到越來越多的關注,如Q學習及其相關的算法。這些算法通常將服務組合建模為一個隨機過程,在該過程中,智能體通過在動態環境中與這些服務的順序交互和迭代交互,選擇具有最高QoS值的Web服務集。雖然這些算法已經成功應用于中小型Web服務環境,但當部署到大規模服務環境時,其難以獲得良好的狀態空間和行為空間,影響了學習過程的穩定性。
針對上述問題,本文將探討采取Web服務組合方法,該方法能夠真正實現深度學習。首先,要通過利用特定的馬爾科夫決策過程(POMDP)進行建模。然后,在POMDP基礎上,結合雙重深度強化學習方法對優化策略進行分層重構并求得最優解。通過該方法能夠提高服務組合在可變服務環境下的可靠性、準確度和決策效率。該方法的主要創新點在于:
1)基于POMDP針對大規模Web服務組合不同策略建立相應的數學模型,不僅減少了分析的過程,同時能夠實現效率對優化。
2)在POMDP基礎上,結合優先級雙重深度強化學習方法對優化策略進行分層重構并求得最優解,提高了組合服務對動態服務環境的適應能力。
POMDP是一個離散時間的隨機決策過程,用于對不確定決策進行建模、描述動態環境下服務組合和自適應過程。POMDP定義如下:
定義1:POMDP模型。
組合優化模型的基礎是POMDP模型,POMDP模型是一個5元組,即POMDP=(S
,A
,P
,R
,Y
)。其中:S
為一組有限狀態集合,S
∈S
,S
表示第i
步的狀態;A
為一組有限動作集合,有a
∈A
,a
表示第i
步的動作。P
是狀態轉換概率,表示智能體在經過動作a
的作用后,從狀態s
轉移到S
′的概率可以表示為P
(s
′|s
,a
)。R
是獎勵函數,在狀態S
條件下,采取動作a
,到達下一狀態所能獲得的回報值γ
定義為γ
=R
(s
′|s
,a
);γ
為折扣因子,γ
∈[0,1]表示的是區分未來獎勵與即時獎勵重要性的影響因素。POMDP屬于一種典型的決策策略。π
反映的是一種概率分布,一般為從狀態到動作所產生的概率。π
是從狀態到動作的映射,表示為π
:s
→A
。若POMDP是偶發性的,即狀態在每個長度為t
的事件之后重置,則每個事件中的狀態、動作和回報序列將構成策略軌跡或策略制定。每次策略制定都會從環境中獲得回報R
。因此,針對POMDP模型做出優化的最終目標就是要發現其中的最優策略,該策略幾乎可以涵蓋全部的最大預期回報值。由于動態環境的復雜性,當前缺乏有效的解決方案。所以如果在具有動態性特點且無法準確確定的環境中使用RL實現自適應服務組合能夠起到很好的效果。在組合模型中通過RL,在基于自適應方法進而確定最優秀的服務策略。
RL通過順序決策來達到特定目標,智能體能夠利用上述算法從其他智能體在動態、復雜環境表現進行學習,比如學習它們如何進行交互,如何在環境中實現信息的獲取。通常將這種環境定義為POMDP。在此條件下,RL能夠利用它與環境的協作進一步得到最優策略。該策略能夠利用四元組(s
,a
,γ
,s
+1)的近似Q函數得到,其中,s
反映的是在t
時間的環境狀態情況,a
反映的是選擇的控制動作,γ
反映的是獲得的即時獎勵,s
+1反映的是后繼的環境狀態,基于以上四元組能夠通過Q函數得到相應的控制策略。RL算法應用效果最為明顯的場景是復雜控制場景,并且短時間內無法確定最佳控制方案。對于一些動態環境,通過在自適應服務組合中使用這一算法將會發揮更好的效果。所以,如果模型中涉及到RL算法就可以確保模型的學習效果,進而得到相對優秀從而得到一個最佳的策略。利用POMDP具體如下。定義2:基于POMDP的Web服務組合(POMDP-WSC)。



這個回報值可用如下方法來計算:
Q
(s
,a
)=Q
(s
,a
)+a
[r
+γ
max·Q
(s
′-a
′)-Q
(s
,a
)](1)
式中,s
表示狀態空間(即抽象服務),為了滿足用戶請求智能體i
遍歷的所有可能工作流;α
代表可用Web服務的動作向量;r
表示選擇特定服務而獲得的回報值;α
是控制收斂性的學習速率;γ
是反映學習策略的折扣因子。當智能i
體選擇Web服務ws
時,它會收到回報,該回報值是ws
的 QoS屬性的累計值。能夠利用下面計算公式進行計算:
(2)

ε
-貪婪策略,確保任意一個智能體在過去體驗過的Web服務與當前隨機選擇的新Web服務做出對比。如果智能體i
,確定了狀態以及一組能夠使用的Web服務A
(s
),那么智能體i
選擇下一個Web服務α
的概率可以表示為如下公式:
(3)
其中:ε
反映的是一個Web服務的概率。所有的智能體i
按照它的策略以(1-ε
)的概率確定最優的Web服務,不然將通過ε
概率任意從中選擇一個Web服務。深度學習是機器學習算法的一個領域,旨在學習多層次的表示和抽象,以幫助理解圖像、聲音和文本等復雜數據。深度學習采用多層非線性處理單元進行特征提取和轉換,當前層使用前一層的輸出作為輸入。在學習過程中,不同的抽象層次對應不同的表征層次,這些層次的形成最終變成了層次結構,即,深度學習的結構。
π
(s
,a
)和狀態動作映射空間Q
(s
,a
)。對這些深度神經網絡的參數使用梯度下降法進行訓練,以便使其損失最小化。學習過程具體如下:首先,智能體從環境中獲得一個觀察結果,并將其作為輸入傳遞給深度神經網絡。然后,深度神經網絡從高維輸入或觀察中學習抽象表示,接著評估動作空間并根據當前觀察結果映射合適的動作。最后,環境對這個動作給出反應,并過渡到下一個環節。針對大規模環境下的服務組合問題,提出了一種基于DRL的服務組合方法。為了在大規模服務環境中實現自適應服務組合,本文提出了一種將DRL應用到服務組合的方法,采用DQN作為基準,使用雙Q學習對提出的方法進行強化,以解決Q學習過程中出現的高估偏差問題。通過將引導操作的選擇步驟和評價步驟進行分離,消除Q學習的高估偏差;此外,還實施了優先體驗重播方案,通過更頻繁地重播需要學習的數據來提高轉換效率。每個強化措施都大大提升了學習方法的性能,采用的強化措施也解決了幾個具有挑戰性的問題,所提方法如下。
3.2.1 DQN
為了估算給定狀態S
的動作值,將其作為神經網絡的輸入(以原始像素幀的堆棧形式),深度神經網絡和強化學習通過使用卷積神經網絡在DQN中成功組合。在每個步驟中,根據當前狀態,智能體會根據動作值選擇一個動作,并根據動作值應用貪婪策略添加一個轉換值到重播存儲緩沖區(S
,A
,R
+1,γ
+1,S
+1)。此重播存儲緩沖區保存最后一百萬次轉換值。然后,使用隨機梯度下降法來優化神經網絡的參數,使其損失最小化,如下所示:
(4)

3.2.2 雙Q學習
如式(1)所示,由于Q學習會受到高估偏差的影響,這種高估偏差反過來又會導致差異,影響學習過程的穩定性。為了解決這種高估偏差,采用了一種分離方案,該方案將動作的選擇與對動作的評估分開。這種分離方案可以有效地與DQN結合,其損失表示如下:

(5)
如此,可有效減少DQN中存在的不利高估偏差,有助于提高學習過程的穩定性。
3.2.3 優先重播
優先重播的基本思想是先保存某個智能體的經驗,然后統一提取這些已經保存的經驗,從而有效地訓練神經網絡。通過不斷保存和提取經驗,智能體能夠在具體任務中更加有效地學習。然而在實踐中,智能體需要頻繁地從具有更高優先級的經驗庫中取樣,即從中學習更多的經驗。為此,在所提方法中設計了一個經驗優先重播方案,該方案能夠以概率P
進行轉換采樣,P
與最后遇到的絕對時間差有關,表示如下:
(6)
式中,ω
是確定分布形狀的超參數。優先重播方案以最大優先級將新轉換的經驗插入到經驗庫中。為了從不同的角度評價所提方法,進行了兩個實驗。第一個實驗研究了環境規模對該方法學習高質量服務組合策略的影響。第二個實驗評估了該方法在動態服務環境中的性能以及動態變化對學習過程的影響。
所提方法在連續迭代的單集中運行,直到達到收斂點。當智能體在連續數個事件中獲得相同的累積回報值時,它就能夠進一步得出相應的最佳策略。然后將累積回報值再作對比,同時利用閾值對差異進行預測。閾值參數一般設定成0.001,連續次數一般設定成1 000。
在實驗中,利用Web 服務質量的數據集合需要用到QoS的3個參數,一是可用性,二是可靠性,三是響應時間。再通過QoS向量就能夠計算出每個工作流的平均累積回報,具體如表1所示。

表1 聚合參數設置
為了驗證所提學習方法的可行性和效率,將其與文獻[4]、文獻[7]、文獻[9]提出方法進行比較。實驗中的參數設置是根據文獻[13]中的模擬實驗建立,如表2所示。

表2 對比實驗參數設置
4.2.1 大型環境中的Web服務組合能力分析
4.2.1.1 學習質量
實驗開展的作用是對理論的驗證與評估,如果解決方案最終能夠獲得最好的一個服務選擇策略,那么通過智能體得到對平均累積回報就可以用于量化評價該方法的學習能力。不同服務數量下,所提方法、文獻[4]、文獻[7]和文獻[9]提出的方法所得回報數的對比結果如圖1所示。

圖1 回報數實驗結果對比圖
從圖1中可以看出,當服務數量為100時,所提方法所得回報數約為86,文獻[4]、文獻[7]、文獻[9]所得回報數分別約為54、67、84,所提方法所得回報數最高。當服務數量為1 000時,所提方法所得回報數約為1 393,其他對比方法所得回報數分別為542、743、1 023。由此可見,所提方法的總回報數高于其他幾種對比方法,具有更好的服務組合能力。隨著服務數量的增加,4種方法所得回報數都會增加,但所提方法所得回報數增加速度最快。該結果表明,所提方法更適合大規模Web服務組合的應用。
4.2.1.2 可伸縮性
為了便于比較,將所提方法得到的可伸縮性作為基準量,將其他幾種方法得到的可伸縮性與所提方法的比值(即相對可伸縮性)進行對比,結果如圖2所示。

圖2 可伸縮性實驗對比結果圖
從圖2中看出,當服務數量為100時,文獻[4]、文獻[7]、文獻[9]得到的可伸縮性分別約為0.36、0.84、0.86,可伸縮性均小于1.0,可見所提方法的可伸縮性較高,更加有能力面對可變服務環境。當服務數量為2 000時,文獻[9]提出的方法得到的可伸縮性約為1.02,大于1.0,其可伸縮性優于所提方法。但在大部分實驗環境下,所提方法的可伸縮性優于其他幾種對比方法,在處理可變服務環境時的綜合表現最為理想。
4.2.2 動態服務環境中的Web服務組合能力分析
4.2.2.1 摘要服務對象的總回報
實驗目的是評估所提學習方法在動態服務環境中找到最佳服務選擇策略的能力,通過智能體在動態服務環境中收斂到最佳服務選擇策略時獲得的累積回報進行衡量。在不同的摘要服務數量情況下,4種方法的累積回報結果如圖3所示。

圖3 摘要服務數量與總回報的關系
從圖3中可以看出,當摘要服務量為500時,所提方法得到的總回報為632,文獻[4]、文獻[7]、文獻[9]中方法所得到的總回報分別約為254、302、304,因此,所提方法所得到的總回報最高。同樣,當摘要服務量為1 000時,所提方法所得的總回報也是最高的。因此,相比于其他幾種對比方法,所提方法在面對動態服務對象時具有明顯優勢。
4.2.2.2 可靠性
在不同服務數量下,所提方法和文獻[4]、文獻[7]和文獻[9]的可靠性結果如圖4所示。將所提方法的可靠性作為基準比較量,其他方法的可靠性與所提方法的可靠性的比例為相對可靠性。
從圖4中可以看出,當服務量為100時,所提方法的可靠性為1.0,其他對比方法分別是0.83、0.9、0.95。因此,所提方法得到的相對可靠性最高,求解質量最好。當服務數量為2 000時,所提方法得到的相對可靠性仍然最高,求解質量最好,文獻[9]所提方法次之,文獻[7]所提方法略差,文獻[4]所提方法在可靠性方面表現最差。

圖4 可靠性的實驗結果
4.2.2.3 動態環境適應能力
在不同服務數量下,所提方法和文獻[4]、文獻[7]、文獻[9]的動態環境適應能力如圖5所示。為了便于分析,將所提方法的動態環境適應能力作為基準比較量,將其他方法與所提方法之間的可靠性比值(相對動態環境適應能力)進行對比。

圖5 動態環境適應能力的實驗結果
從圖5中可以看出,當服務數量為100時,所提方法得到的動態環境適應能力最高,對環境的適應能力最強,文獻[9]與文獻[7]所提方法次之,文獻[4]所提方法的動態環境適應能力最差,且差距較大。當服務量為2 000時,所提方法得到的相對動態環境適應能力為1.0,文獻[4]、文獻[7]、文獻[9]提出的方法所得相對動態環境適應能力分別為0.83、0.90和0.95。此外,當服務數量增加時,相對動態適應能力都會隨之減弱,這說明服務數量越多,對動態環境的適應能力越弱。然而,相比文獻[4]、文獻[7]和文獻[9]提出的方法,所提方法的相對動態適應能力較強,在動態環境適應方面表現最好。
針對大規模Web服務組合在動態環境下難以實現高可靠性、高動態適應能力的問題,探討了一種采取Web服務組合的方法,該方法充分發揮了深度學習的優勢以及POMDP模型的作用,通過模型能夠獲得更加的策略,不僅簡化了組合步驟,顯著提高了大規模Web組合服務的計算效率。該方法利用優先級雙重深度強化學習對優化策略進行分層重構并求取最優解,有效提升了組合服務在動態服務環境下的適應能力。實驗結果表明,相比其他幾種現有方法,所提方法在Web服務組合應用中具有更高的可靠性和更高的效率。
未來,將會引入“協同效應值”,將服務質量作為信息素,以求解并行服務的協同效應值,從而獲得綜合評價值最高的服務組合方法。