张鑫雯
(新疆工程学院 工程技能实训学院,乌鲁木齐 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服务组合应用中具有更高的可靠性和更高的效率。
未来,将会引入“协同效应值”,将服务质量作为信息素,以求解并行服务的协同效应值,从而获得综合评价值最高的服务组合方法。