首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 强化学习 / 一种基于深度强化学习的Web服务组合方法

一种基于深度强化学习的Web服务组合方法

阅读:838发布:2020-05-08

专利汇可以提供一种基于深度强化学习的Web服务组合方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于深度 强化学习 的Web 服务组合 方法,针对传统服务组合方法在面对大规模服务场景下耗时长、灵活性差、组合结果不理想等问题,将深度强化学习技术和启发式思想应用于服务组合问题。此外考虑到真实环境的部分可观察性的特点,本发明将服务组合过程转化为一个部分可观察 马 尔可夫决策过程(Partially‑Observable Markov Decision Process,POMDP),利用循环神经网络解决POMDP的求解问题,使方法在面对“维度灾难”挑战时仍能表现出高效性。本发明方法能够有效的提高求解的速度,保证服务组合方案的 质量 的 基础 上,自主地适应动态性服务组合环境,在大规模动态性服务组合场景下有效的提高了服务组合的效率自适应性和灵活性。,下面是一种基于深度强化学习的Web服务组合方法专利的具体信息内容。

1.一种基于深度强化学习的Web服务组合方法,其特征在于,包括如下步骤:
1)获取用户需求,构建当前任务下的部分可观察尔可夫决策过程服务组合模型;
2)初始化系统参数以及网络结构,并将模型的开始状态作为系统当前状态;
3)当迭代次数m小于k次,随机选择动作直接进入步骤5),否则进入步骤4);
4)采用启发式行为选择策略选择一个动作,判断当前状态是否属于隐藏状态集,如果属于隐藏状态集则判定当前状态为隐藏状态,并通过循环神经网络LSTM模拟的策略空间选择最大概率的动作;如果不属于隐藏状态集则判断当前状态为完全可见状态并通过查询Q值表选择动作;
5)采用ε-greedy策略选择最终执行动作,并与环境交互得到反馈;
6)对于历史信息进行存储,并更新循环神经网络或者Q值表,利用熵计算当前状态是否为隐藏状态,如果判断结果是隐藏状态则加入隐藏状态集合,如果判断结果不是隐藏状态则加入完全可见状态集合,最后进入下一步;
7)系统当前状态设置为下一个状态,对当前状态是否为终止状态进行判断,如果是终止状态则进入步骤8),如果不是终止状态则返回步骤3);
8)观察神经网络的收敛情况以及Q值表中长期得益矩阵所有值的变化幅度,使得神经网络收敛以及所有值的变化幅度小于阈值,采用贪心原则,选取一条从开始状态到终止状态的组合路径,依照模型的映射关系,生成Web服务组合工作流,将服务组合结果反馈给用户;
所述步骤6)中利用熵计算当前状态是否为隐藏状态的具体步骤为:
采用熵值来区分出隐藏状态还是完全可见状态,用H(s)表示
其中ai,aj表示在状态s下可执行的动作,Q(s,ai)是状态s下执行ai动作的Q值,Q(s,aj)是状态s下执行aj动作的Q值;
若H(s)>τ,则该状态为隐藏状态,其中τ表示区别隐藏状态和可见状态的临界值;
所述步骤6)中更新Q值表的具体步骤如下:
5.1)首先根据ε-greedy策略在状态s下选择最终执行动作at,计算瞬时效益值r(s);
将不同的QoS属性的数值进行规格化处理,映射到[0,1]区间中;当QoS属性和服务质量之间存在正相关时:
将各个QoS属性进行权值加权求和操作,公式为:
其中m代表QoS属性的数量,wi表示各个QoS属性的权重,权重和为1;
5.2)然后根据强化学习中的Q学习方法,计算本次迭代中,系统在当前状态s下执行动作at时的效益值,计算公式为:
其中s′是s的下一后继状态, 表示通过LSTM网络模拟的Q值的估算值,并将计算结果更新Q值表。
2.根据权利要求1所述的一种基于深度强化学习的Web服务组合方法,其特征在于,所述步骤4)中采用启发式行为策略选择一个动作的具体步骤为:已知隐藏状态集H(s),判断s是否属于H(s);若状态s∈H(s),则直接由ADQRC模型根据信念状态和历史信息作为输入,动作的分布概率为输出,选择概率最大的动作;否则通过查询Q值表选择动作。
3.根据权利要求1所述的一种基于深度强化学习的Web服务组合方法,其特征在于,所述步骤2)中初始化系统参数的具体步骤为:初始化折扣因子γ,0<γ<1;初始化学习率α,0<α<1;区分状态的临界值τ;初始化ADQRC模型中神经网络的权重和偏置;初始化瞬间效益矩阵和长期效益矩阵,用来计算学习过程中的的效益数据;初始化Q值映射表;初始化隐藏状态集合H(s)={},用一个存储表D(s,a,Q)存储经过一个学习片段之后所学习到的信息;初始化迭代次数m为1以及开始判断状态类别的迭代次数槛值k。

说明书全文

一种基于深度强化学习的Web服务组合方法

技术领域

[0001] 本发明属于计算机领域,特别涉及一种基于深度强化学习的Web服务组合方法。

背景技术

[0002] 随着网络信息技术的不断发展,用户对软件系统的功能需求也越来越多样化、复杂化和多变化。这种趋势催生了软件产品的一种新的设计或架构的理念:面向服务架构(Service-Oriented Architecture,SOA),它要求应用程序必须是被开发的可提供良好接口的交互服务的独立集合。而Web服务作为一种建立可互操作的分布式应用程序的新平台,是基于网络的、分布式的、自描述的、模化的组件,它执行特定的任务,遵循一定的技术规范,可以在网上发布、定位和调用,从而成为实现SOA体系架构的最有前景的技术手段。
[0003] 现今软件系统的构建规模不断扩大,业务流程也越来越复杂,单个Web服务有限的功能已经不能满足用户的需要,如何将已有的服务复用组合构建满足用户复杂需求、保证服务质量,成为Web服务应用集成的核心问题。从最初的完成功能目标,到后来关注QoS(Quality of Service,服务质量)保证服务质量,大批学者们已近在Web服务组合领域做了大量的研究工作。但是,由于Internet网络环境的动态性和组合规模的不断扩大,使Web服务组合领域依然面临着一些挑战。因此,对Web服务组合方法的研究和创新有着重要而现实的意义。
[0004] 近年来,有一些研究人员采用强化学习技术来解决自适应性服务组合问题,但是值得注意的是这些方法忽略了许多问题。(1)现有的服务组合方法,将服务组合建模为一个尔可夫决策过程(Markov Decision Process,MDP)。然而在实际环境中agent是无法完全感知环境信息的,这种部分感知的问题属于非马尔可夫型环境,如果不针对强化学习算法进行处理的话,这种学习将无法收敛。(2)强化学习的理论关注的是小规模、离散的问题,但在真实的服务组合的问题中,所面对的服务组合问题的规模是不容小觑的并且状态之间也是连续的。(3)强化学习利用从环境中获得回馈被广泛的应用于实际问题的解决。在经典的强化学习算法中,值函数采用策略查找表(look-up table)保存。在面对大规模服务组合为问题时,这种策略显然有一定的局限性。
[0005] 循环神经网络(Recurrent neural networks-RNN)是一种常见的深度学习网络结构,它由一个或者多个反馈回路组成,赋予神经网络对时间进行显示建模的能。循环神经网络(RNN)适用于序列化的数据并且对这些数据的可以较为精确的模拟,它记录每个时刻的激活值,通过添加跨域时间点的自连接隐藏层增强了网络的时间相关性,但是相反的这也导致了整个网络很难训练并且出现梯度消失的现象。

发明内容

[0006] 发明目的:针对现有技术中存在的问题,本发明提供一种解决了现实环境的部分可观察性,更加准确的进行服务选择组合提供给用户高质量的基于深度强化学习的Web服务组合方法。
[0007] 技术方案:为解决上述技术问题,本发明提供一种基于深度强化学习的Web服务组合方法,包括如下步骤:
[0008] 1)获取用户需求,构建当前任务下的部分可观察马尔可夫决策过程服务组合模型;
[0009] 2)初始化系统参数以及网络结构,并将模型的开始状态作为系统当前状态;
[0010] 3)当迭代次数m小于k次(即学习片段episode的次数),随机选择动作直接进入步骤5,否则进入步骤4;
[0011] 4)采用启发式行为选择策略选择一个行为。判断当前状态是否属于隐藏状态集,如何属于隐藏状态集则判定当前状态为隐藏状态,并通过循环神经网络LSTM模拟的策略空间选择最大概率的动作。如果不属于隐藏状态集则判断当前状态为完全可见状态并通过查询Q值表选择最优的动作;
[0012] 5)采用ε-greedy策略选择最终执行动作,并与环境交互得到反馈;
[0013] 6)对于历史信息进行存储,并更新循环神经网络或者Q值表,利用熵计算当前状态是否为隐藏状态,如果判断结果是隐藏状态则加入隐藏状态集合,如果判断结果不是隐藏状态则加入完全可见状态集合,最后进入下一步;
[0014] 7)系统当前状态设置为下一个状态,对当前状态是否为终止状态进行判断,如果是终止状态则进入步骤8,如果不是终止状态则返回步骤3;
[0015] 8)观察神经网络的收敛情况以及Q值表中长期得益矩阵所有值的变化幅度,使得神经网络收敛以及所有值的变化幅度小于阈值,采用贪心原则,选取一条从开始状态到终止状态的组合路径,依照模型的映射关系,生成Web服务组合工作流,将服务组合结果反馈给用户。
[0016] 进一步的,所述步骤4中采用启发式行为策略选择一个动作的具体步骤为:已知隐藏状态集H(s),判断s是否属于H(s);若状态s∈H(s),则直接由ADQRC模型根据信念状态和历史信息作为输入,动作的分布概率为输出,选择最大概率的动作;否则通过Q查询Q值表选择最优的动作。
[0017] 进一步的,所述步骤2中初始化系统参数的具体步骤为:初始化折扣因子γ,0<γ<1;初始化学习率α,0<α<1;区分状态的临界值τ;初始化ADQRC模型中神经网络的权重和偏置;初始化瞬间效益矩阵和长期效益矩阵,用来计算学习过程中的的效益数据;初始化Q值映射表<s,a,Q>;初始化隐藏状态集合H(s)={},用一个存储表D(s,a,Q)存储经过一个学习片段之后所学习到的信息;初始化迭代次数m为1以及开始判断状态类别的迭代次数槛值k。
[0018] 进一步的,所述步骤6中利用熵计算当前状态是否为隐藏状态的具体步骤为:
[0019] 采用熵值来区分出隐藏状态还是完全可见状态,用H(s)表示
[0020]
[0021] 其中ai,aj表示在状态s下可执行的动作,Q(s,ai)是状态s下执行ai动作的Q值,Q(s,aj)是状态s下执行aj动作的Q值。
[0022] 若H(s)>τ,则该状态为隐藏状态,其中τ表示区别隐藏状态和可见状态的临界值。
[0023] 进一步的,所述步骤6中更新Q值表的具体步骤如下:
[0024] 5.1)首先在状态s下选择at,计算瞬时效益值r(s);
[0025] 将不同的QoS属性的数值进行规格化处理,映射到[0,1]区间中。当QoS属性和服务质量之间存在正相关时:
[0026]
[0027] 将各个QoS属性进行权值加权求和操作,公式为:
[0028]
[0029] 其中m代表QoS属性的数量,wi表示各个QoS属性的权重,权重和为1;
[0030] 5.2)然后根据强化学习中的Q学习方法,计算本次迭代中,系统在当前状态s下执行动作at时的效益值,计算公式为:
[0031]
[0032] 其中s′是s的下一后继状态, 表示通过LSTM网络模拟的Q值的估算值,并将计算结果更新Q值表。
[0033] 与现有技术相比,本发明的优点在于:
[0034] 本发明将循环神经网络(Recurrent neural networks-RNN)与强化学习结合,希望通过RNN来作为强化学习中函数估计的方法,提高准确性、高效性,并且增加预测性以应对环境的动态变化。本发明解决服务组合中存在的环境动态变化、部分可观察状况,组合规模庞大等挑战,将对SOA服务组合问题提供一种有效的解决方案,为目前不断扩展的功能需求和不断提高的软件质量要求提供了有效的保证。
[0035] 本发明针对大规模、动态场景的可进行快速、自适应性的Web服务组合方法,这一方法解决了现实环境的部分可观察性,更加准确的进行服务选择组合提供给用户高质量的组合结果,此外其RNN带有的预测特点也使该方法尽管在多变的环境中仍保持精确性。
[0036] 本发明在对已发布的简单功能的服务进行组合,以满足实际应用中用户的复杂需求的过程中,由于互联网环境是动态不可预知的,因而基于网络的web服务也是具有动态变化性的。例如QoS平下降或是服务功能衰退。这些因素导致组合方案的失败。因此本发明充分考虑到适应这些动态不确定因素的重要性,在组合过程中提高了自适应性,从而交付给用户可靠的组合方案。另一方面,面对用户需求功能不断复杂,增加了组合流程中抽象服务的数量,同质服务(功能相同,QoS不同)的增长扩展了候选服务集的空间。而一个服务具有个抽象服务,每个抽象服务拥有个候选服务的组合问题,就会有种组合服务构建方式。因此在当前web服务快速发展的环境中,鲜有办法真正解决了这个大规模问题。本发明对优化组合算法做了研究,在已有的强化学习基础上结合深度学习框架RNN,提出了一种新的组合方法:自适应性深度强化学习方法(Adaptive Deep Q-learning and RNN Composition Network,ADQRC)不仅可以有效的解决现实环境的大量不确定性问题,而且可以解决强化学习表存储的弊端提高函数的泛化能力。此外,为了更好的提高系统的效率,本发明在状态分类上进行了处理,将状态分为隐藏状态和可见状态,采用不同的方法储存其信息。在建模问题上,现有的利用强化学习机制进行服务组合的方法中,通常将服务组合过程建模为马尔可夫决策过程(Markov Decision Process,MDP),然后应用某种强化学习算法予以求解。这类建模方法在现实中可能很难运用,缺少了对环境的部分可观察性特点的考虑。所以本发明对服务组合流程采用部分可观察马尔可夫(Partially-Observable Markov Decision Process,POMDP)的建模方式,利用LSTM网络结构来对值函数进行模拟。附图说明
[0037] 图1为本发明的总体流程图
[0038] 图2为自适应性深度强化学习ADQRC框架结构示意图;
[0039] 图3为agent自主行为选择结构示意图;
[0040] 图4为传统的RNN网络模型示意图。

具体实施方式

[0041] 下面结合附图和具体实施方式,进一步阐明本发明。
[0042] 本发明将基于RNN的改进网络LSTM网络结构模型,对利用强化学习进行服务组合的过程进行改进,构建了一个创新性的自适应性深度强化学习方法(Adaptive Deep Q-learning and RNN Composition Network,ADQRC)如图2所示。循环神经网络是一个赋予神经网络对时间进行显示建模的能力,通过添加跨域时间点的自连接隐藏层。也就是说,隐藏层的反馈,不仅仅进入输出端,而且还进入了下一时间步骤的隐藏层。RNN可以将前期信息与当前任务连接,例如在一个服务组合的过程中,每个服务的状态是变化的,但是又是有规律的,并不是完全的随机变化。例如一个服务的在以往的表现中,可达性和成功率都比较高,响应时间比较短,可能随着网络状况的变化,服务的属性状态会有一些变化,但是相对的趋势其实也是有规律的,各属性都会相应的整体往同一趋势调整。所以在模拟Q值的时候,不应该把之前的信息丢弃,这种状态对应Q值的变化是持久性的。在传统的神经网络中并不能做到这点,看起来是一种巨大的弊端。但是RNN解决了这个问题,RNN是包含循环的网络,允许信息的持久化。图1描绘了循环神经网络的原理。如果通过两个时间步来展开整个网络,就得到一个无环形式的可视化,其中权重(从输入到隐藏和隐藏到输出)在每个时间步都是相同的。由此我们可以看出其深度不仅仅发生在输入和输出之间,而且还发生在跨时间步上,每个时间步又可以被认为是一个层。
[0043] 图2为本发明所提出面向大规模、部分可观察场景下,用于解决自适应性的服务组合问题的ADQRC框架结构。其中大致分为三大模块:LSTM网络模块、强化学习模块、环境模块,这三个模块之间信息相互传递。首先强化学习模块和环境模块交互,采用试错的方法学习,但与通常方法不同的是,强化学习模块在进行动作选择的时候,采用了图3的策略,其和LSTM网络模块之间进行信息传递,从而选择最佳动作。其次在LSTM网络模块采用神经网络的方法进行函数估计,取代强化学习中查找表的策略,记Q为目标函数,也就是在强化学习模块通过与环境模块交互获得的值函数;为通过神经网络方法的估计函数。假设值函数的初始状态为R0,M:(s,a)→M(s,a)为函数的估计算子(本发明中就是LSTM网络),Γ表示强化学习中的值迭代,则在学习中产生的值函数序列为R0,M(R0),Γ(M(R0)),M(Γ(M(R0))),Γ(M(Γ(M(R0))))...
[0044]
[0045]
[0046] 最后在agent和环境不断交互学习的过程中,强化学习不断更新的Q值也会实时更新给LSTM网络,不断训练网络结构。在训练的过程中并不是更新单独的Q值,而是更新神经网络中的参数来最小化损失参数:
[0047]
[0048]
[0049] 其中 函数表示误差函数,在训练的过程中要减少误差,θi表示神经网络中神经元之间的权重参数, 表示通过LSTM网络模拟的Q值的估算值,等式中采用梯度下降的方法对神经网络中的参数进行更新。在训练整个神经网络的时候,它既泛化了下一个目标状态的Q值,又更新了当前状态的Q值,而这种更新影响着其他的Q值,这个过程是震荡发散的。
[0050] 图3描述了本发明中创新性的agent的动作选择策略,首先在ADQRC框架中会对状态进行分类,一类是完全可观察的,这种状态在采取最佳行为时,它的反馈值总是好的;另一种是隐藏状态,这种状态可能有多种最佳动作,但是没有一种动作在执行后给出一个稳定的正反馈值。所以针对隐藏状态下的Q值变化幅度大的特点,采用熵值来区分出隐藏状态[0051]
[0052] 若H(s)>τ,则该状态为隐藏状态,其中τ表示区别隐藏状态和可见状态的临界值。所以图3中agent在进行动作选择的时候首先判断当前所处的状态s是隐藏状态还是可见状态,再决定才用什么方式得到Q值。若当前状态是隐藏状态,则采用LSTM网络前馈传播得到Q值;相反若当前状态是可见状态,则通过查找表的方式。这种自适应性的方式,可以灵活的选择动作策略,既保证了准确性也提高了效率。
[0053] 图4描述了整个自适应性深度强化学习方法(Adaptive Deep Q-learning and RNN Composition Network,ADQRC)的算法流程。
[0054] 最后通过实例来对本发明的步骤进行说明:
[0055] 实例背景:假定用户甲在筹备一次从A地到B地的旅游计划,首先他将自己的需求(如计划中包括时间安排、预算范围、个人偏好等)提交给Web服务引擎,构建一个完整的需求模型,目的是希望Web服务执行引擎能够选择合适的Web服务完成组合服务,使其在功能满足的条件下在用户体验上也能够最佳。
[0056] 实施步骤:
[0057] 1)模型建立阶段;Web服务引擎根据用户的事先的信息进行需求分解,得到组件服务的功能需求和非功能需求。例如在本实例中,可以将功能需求分为五个部分:交通方式选择、出行要求设置、酒店选择、抵达时间计算和最终预订确认5个部分。非功能需求可能包括:经费预算上限、个人舒适度等等。
[0058] 然后将问题转换问本方法的模型。具体而言,用部分可观察马尔可夫(Partially-Observable Markov Decision Process,POMDP)模型模拟整个组合流程,将Web服务的前置和后置条件作为POMDP的状态空间,其中将状态集合分为两个集合:隐藏集合H(s)和可见集合,在学习过程中通过熵值区分这两个状态集合。其次把可执行的Web服务定义成动作状态,动作表示从一个状态转换为另一个状态的行为,用Web服务的质量参数当做是得益值[0059] 所述初始化系统参数和变量的具体内容为:
[0060] 初始化折扣因子γ,0<γ<1;初始化学习率α,0<α<1;区分状态的临界值τ;初始化ADQRC模型中神经网络的权重(随机生成)和偏置;初始化瞬间效益矩阵和长期效益矩阵,用来计算学习过程中的的效益数据;初始化Q值映射表<s,a,Q>;初始化隐藏状态集合H(s)={},表用来记录每个时间片;初始化迭代次数m为1以及开始判断状态类别的迭代次数槛值k;
[0061] 2)系统首先将开始状态S0设置为系统的当前状态;
[0062] 3)当迭代次数小于k次(即学习片段episode的次数),随机选择动作直接进入步骤5,否则进入步骤4;
[0063] 4)采用启发式行为选择策略选择一个行为。判断当前状态属于可见状态还是隐藏状态,即是否属于H(s)。若状态s∈H(s),则直接由ADQRC模型选择出概率最大的动作;否则通过查询Q值遍历在状态s下的动作,得到最大的效益值的amax;
[0064] 5)根据ε-greedy策略选择at,计算瞬时效益值r(s),计算方法如下:
[0065] 首先将不同的QoS属性的数值进行规格化处理,映射到[0,1]区间中。当QoS属性和服务质量之间存在正相关时:
[0066]
[0067] 其次将各个QoS属性进行权值加权求和操作,公式为:
[0068]
[0069] 其中m代表QoS属性的数量,wi表示各个QoS属性的权重(依赖于用户的个人偏好),权重和为1;
[0070] 6)根据强化学习中的Q学习方法,计算本次迭代中,系统在当前状态s下执行动作at时的效益值,计算公式为:
[0071]
[0072] 其中s′是s的下一后继状态。当m=1时,长期得益矩阵属于初始化状态,其中的所有长期得益值均为初始值0。
[0073] 7)通过状态的熵值,区别状态s的类别,是属于可见状态还是隐藏状态,计算公式如下:
[0074]
[0075] 若H(s)>τ,则将状态s放入集合H(s)中。并将一个学习片段(eposide)的Q值储存在D(s,a,Q)中;否则,状态s为可见状态,更新Q值表中的信息
[0076] 8)每个学习片段之后,根据数据D(s,a,Q)更新LSTM网络,直到网络收敛。
[0077] 最后,系统执行这一工作流并将最终的服务组合结果反馈给用户甲,从而完成了一次完整的服务组合过程。
[0078] 以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应包含在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈