CN114117945B - 基于用户-服务交互图的深度学习云服务QoS预测方法 - Google Patents
基于用户-服务交互图的深度学习云服务QoS预测方法 Download PDFInfo
- Publication number
- CN114117945B CN114117945B CN202210093058.XA CN202210093058A CN114117945B CN 114117945 B CN114117945 B CN 114117945B CN 202210093058 A CN202210093058 A CN 202210093058A CN 114117945 B CN114117945 B CN 114117945B
- Authority
- CN
- China
- Prior art keywords
- service
- user
- qos
- users
- feature vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于用户‑服务交互图的深度学习云服务QoS预测方法,根据用户‑服务原始QoS矩阵构建用户‑服务交互图,进而获取用户和服务的特征向量,根据用户/服务特征向量计算相似度,根据相似度获取用户/服务特征向量集;基于两个高效深度卷积单元构建双流深度神经网络模型,将获取的用户特征向量集作为其中一个高效深度卷积单元的输入,将获取的服务特征向量集作为另一个高效深度卷积单元的输入,对双流深度神经网络模型进行训练;利用训练好的双流深度神经网络模型预测某用户对某服务的QoS值,得到QoS预测结果。本发明通过构建用户‑服务交互图以及通过设计双流深度神经网络结构,使得云服务QoS预测值更加准确。
Description
技术领域
本发明涉及基于用户-服务交互图的深度学习云服务QoS预测方法,属于网络云服务QoS预测技术领域。
背景技术
云计算以互联网为中心,为用户提供快速且安全的基础设施来构建各种应用程序。随着面向服务的体系结构(Service-Oriented Architecture,SOA)的快速发展,云服务的数量正不断增加,涌现了许多功能相同或相似的服务,使用户很难在其中选择更符合个性需求的候选服务。因此服务质量(Quality of Service,QoS)成为用户选择服务的重要参考。
QoS通常用于描述服务的非功能属性,它包括吞吐量、响应时间等云计算中经常使用的关键指标。然而,由于用户的差异性(如网络状态、个人偏好等),用户对服务的QoS评价(简称QoS值)也会有所不同。在云环境中用户在使用服务之前,希望能得到其所需的服务QoS值,但是由于并非所有的服务都有QoS值,用户想要得到满足其个性化QoS需求的服务是不切实际的。通常通过预测QoS值,从而为用户推荐最合适的云服务。近年来已经出现了多种方法预测服务QoS值,通过利用已有的QoS值以及用户之间的联系进行预测。然而这些方法对已有数据的利用不够充分,只进行了浅层的特征提取,并没有挖掘出用户和服务之间的深层联系,导致预测准确度不够高。
近年来,深度学习是机器学习中新的研究方向。深度学习可以学习样本中存在的内在规律,在数据挖掘、机器翻译、多媒体技术等领域中取得了显著的效果,有效解决了诸多复杂难题,也出现了一些使用深度神经网络(例如卷积神经网络(Convolutional NeuralNetwork,CNN)、多层感知机等)来预测QoS的工作,但是这些方法的数据处理和网络结构还不够完善,预测准确度还不够高。因此,需要设计一种新的神经网络结构,以进行有效的训练和学习,从而提高预测准确度。
发明内容
本发明所要解决的技术问题是:提供基于用户-服务交互图的深度学习云服务QoS预测方法,通过构建用户-服务交互图,得到用户和服务之间的直接调用和间接关系,通过相似度计算得到用户/服务特征向量集,使用CNN对其进行学习,从而预测QoS值。
本发明为解决上述技术问题采用以下技术方案:
基于用户-服务交互图的深度学习云服务QoS预测方法,包括如下步骤:
步骤1,根据用户-服务原始QoS矩阵构建用户-服务交互图,进而获取用户和服务的特征向量,根据用户的特征向量计算用户之间的相似度,根据服务的特征向量计算服务之间的相似度,根据用户之间的相似度获取用户特征向量集,根据服务之间的相似度获取服务特征向量集;
步骤2,基于两个高效深度卷积单元构建双流深度神经网络模型,将步骤1获取的用户特征向量集作为其中一个高效深度卷积单元的输入,将步骤1获取的服务特征向量集作为另一个高效深度卷积单元的输入,对双流深度神经网络模型进行训练;所述高效深度卷积单元包括依次连接的1个卷积层和L个全连接层,通过卷积层中的卷积核对用户或服务特征向量集进行卷积运算,同时提取用户或服务的多种特征进行融合,通过L个全连接层进一步对融合后的特征进行学习,输出更新后的用户或服务的特征向量;
步骤3,利用步骤2训练好的双流深度神经网络模型预测某用户对某服务的QoS值,根据步骤1同样的方法获取某用户特征向量集和某服务特征向量集,将某用户特征向量集和某服务特征向量集输入训练好的双流深度神经网络模型,得到QoS预测结果。
作为本发明的一种优选方案,所述步骤1的具体过程如下:
1.1,构建以用户中心的用户-服务交互图和以服务为中心的用户-服务交互图
以用户中心的用户-服务交互图分为两层:第一层为用户i使用过的n个服务以及用户i对这些服务的QoS值;第二层为其他使用过这n个服务的用户以及这些用户分别对这n个服务的QoS值;
以服务为中心的用户-服务交互图分为两层:第一层为使用过服务j的m个用户以及这些用户对服务j的QoS值;第二层为这m个用户使用的其他服务以及这m个用户分别对其使用的其他服务的QoS值;
1.2,获取用户和服务特征向量
对用户-服务原始QoS矩阵Q进行非负矩阵分解,寻找最合适的用户潜在特征矩阵V和服务潜在特征矩阵H,使两者内积尽可能接近Q;
获得V和H之后,利用用户潜在特征向量V i 对用户i的特征向量U i 进行初始化,利用服务潜在特征向量H j 对服务j的特征向量S j 进行初始化,V i 即V的第i列,代表用户i的潜在特征向量,H j 即H的第j列,代表服务j的潜在特征向量;
1.3,计算相似度
使用余弦相似度计算用户相似度:
式中,Similarity()为余弦相似度函数,U c 和U d 分别为用户c和用户d的特征向量;
使用余弦相似度计算服务相似度:
式中,S f 和S g 分别为服务f和服务g的特征向量;
1.4,获取用户特征向量集和服务特征向量集
针对以用户i为中心的用户-服务交互图,将第二层中的用户与用户i进行相似度
计算,选择与用户i最为相似的K个用户以及与用户i最不相似的F个用户作为用户i的特征
向量集;针对以服务j为中心的用户-服务交互图,将第二层中的服务与服务j进行相似
度计算,选择与服务j最为相似的K个服务以及与服务j最不相似的F个服务作为服务j的特
征向量集;
令η=F/K,η的取值通过实验确定。
作为本发明的一种优选方案,所述1.2中,在寻找最合适的用户潜在特征矩阵V和
服务潜在特征矩阵H,使两者内积尽可能接近Q的过程中,使用用户-服务QoS原始矩阵Q和
QoS拟合矩阵之间误差的平方作为损失函数,即:
利用乘法更新规则来最小化损失函数,即:
式中,v ki 为用户潜在特征矩阵V中用户i的第k个特征,h kj 为服务潜在特征矩阵H中服务j的第k个特征。
作为本发明的一种优选方案,所述步骤2中,双流深度神经网络模型的训练过程具体如下:
a)对于第t次参加训练的所有用户和所有服务,双流深度神经网络输出第t次训练后用户i的特征向量U i 和服务j的特征向量S j 之后,对它们进行点乘得到用户i对服务j的QoS预测值p ij ;
b)计算用户i对服务j的QoS预测值p ij 与用户i对服务j的QoS值q ij 的误差,并对所
有误差的绝对值求均值,得到;计算用户i对服务j的当前最佳QoS预测值与用户i
对服务j的QoS值q ij 的误差,并对所有误差的绝对值求均值,得到;若,为
更新阈值,则利用第t次训练后得到用户i对服务j的QoS预测值p ij 更新当前最佳QoS预测值,使用第t次训练后用户i的特征向量U i 和服务j的特征向量S j 对原先用户i的特征向量
和服务j的特征向量进行更新,然后使用更新后的特征向量进行相似度计算,并更新用户i
的用户特征向量集和服务j的服务特征向量集,再由更新后的用户i的用户特征向量集和更
新后的服务j的服务特征向量集,作为双流深度神经网络的新一轮的输入,同时重置t =1;
否则,继续使用当前双流深度神经网络进行训练,并且令t逐步增加1;当t >T,即连续T次不更新,则说明QoS预测值已达到稳定,停止循环,模型训练结束。
y k = φ(α k y k-1 + β k ), k∈{2, 3, …, L+1}
式中,conv()为卷积运算,W 1为卷积层的权重矩阵,B 1为卷积层的偏置,y 1为第1层的输出;y k 为第k层的输出,φ()为激活函数ReLU,α k 和β k 分别表示第k层的权重和偏置,L为全连接层层数,高效深度卷积单元最后一层的输出y L+1作为更新后的用户i的特征向量,即U i ;
z k = φ(γ k z k-1 + δ k ), k∈{2, 3, …, L+1}
式中,W 2为卷积层的权重矩阵,B 2为卷积层的偏置,z 1为第1层的输出;z k 为网第k层的输出,γ k 和δ k 分别表示第k层的权重和偏置,高效深度卷积单元最后一层的输出z L+1作为更新后的服务j的特征向量,即S j ;
式中,p ij 为模型训练过程中输出的用户i对服务j的QoS预测值,q ij 为用户i对服务j的QoS值,N为需要预测的QoS值的个数,为了优化网络中的参数,采用梯度下降法来进行模型训练,使损失最小化,即:
式中,λ为迭代过程中控制梯度下降快慢的学习率,其他参数β k , γ k , δ k , W 1, B 1,W 2, B 2的训练过程也采用梯度下降法,网络中所有参数的初始值通过产生随机数方式得到。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明构建了用户-服务交互图,利用已有数据充分刻画出用户与服务之间深层联系,包括直接调用和间接交互关系,然后通过相似度计算得到用户/服务特征向量集,以进一步提高预测准确度。
2、本发明设计了一种双流深度神经网络结构(Two-stream Deep ConvolutionalNeural Network,TSDCNN),基于用户/服务特征向量集进行QoS预测,利用高效深度卷积单元(Deep Convolutional Unit,DCU)学习样本规律,同时解决梯度消失、梯度爆炸等问题,以提高预测准确度。
3、本发明在神经网络训练过程中,通过自适应更新用户/服务特征向量,从而更准确地表示用户/服务的特征,使得云服务QoS预测值更加准确。
附图说明
图1是本发明QoS预测模型的基本结构图;
图2是用户/服务特征向量集的获取;
图3 (a)-图3 (b)分别是用户图和服务图;
图5 (a)-图5 (b)分别是用户u 1的用户特征向量集ℋ1、服务s 5的服务特征向量集ℒ5的构成示例;
图6是TSDCNN模型预测结构单元;
图7是TSDCNN模型训练结构单元;
图8是DCU结构;
图9是TSDCNN网络的训练过程;
图10(a)-图10(d)分别是响应时间的MAE、响应时间的RMSE、吞吐量的MAE、吞吐量的RMSE;
图11(a)-图11(d)分别是响应时间的MAE、响应时间的RMSE、吞吐量的MAE、吞吐量的RMSE;
图12(a)-图12(d)分别是响应时间的MAE、响应时间的RMSE、吞吐量的MAE、吞吐量的RMSE;
图13(a)-图13(d)分别是响应时间的MAE、响应时间的RMSE、吞吐量的MAE、吞吐量的RMSE;
图14(a)-图14(d)分别是响应时间的MAE、响应时间的RMSE、吞吐量的MAE、吞吐量的RMSE;
图15(a)-图15(b)分别是响应时间的MAE、响应时间的RMSE;
图16(a)-图16(b)分别是吞吐量的MAE、吞吐量的RMSE。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明提出的基于用户-服务交互图的深度学习云服务QoS预测方法,分为两个阶段:用户/服务特征向量集的获取和TSDCNN网络的预测和训练。以用户i需要预测对服务j的QoS值为例,预测模型的基本结构图如图1所示,该图是具有两个输入和两个输出的双流深度神经网络结构。
A、用户/服务特征向量集的获取
用户/服务特征向量集的获取分为四个部分:用户-服务交互图构建、用户/服务特征向量获取、相似度计算和用户/服务特征向量集获取,如图2所示。
1) 用户-服务交互图构建
在该阶段进行用户-服务交互图的构建,旨在充分利用已有数据刻画出用户与服务之间的深层联系。用户-服务交互图分为两部分:以用户为中心的用户-服务交互图(简称用户图)和以服务为中心的用户-服务交互图(简称服务图)。若预测用户i对服务j的QoS值,则以用户i为中心构建用户图、以服务j为中心构建服务图,进一步体现用户i和服务j存在的直接调用和间接关系。
a) 用户图构建
用户图分为两层:
第一层:用户i使用过的n个服务及对这些服务的QoS值。该层体现了用户i与n个服务的直接调用关系;
第二层:其他使用过该n个服务的用户以及这些用户对这n个服务的QoS值。该层体现了用户i与其他用户之间的间接关系,通过共同的服务得到。
b) 服务图构建
服务图分为两层:
第一层:使用过服务j的m个用户以及这些用户对服务j的QoS值。该层体现了用户与服务j之间的直接调用关系;
第二层:该m个用户调用其他服务以及对对这些服务的QoS值。该层体现了服务j与其他服务的之间间接关系,通过共同的用户得到。
图3 (a)和图3 (b)给出了用户-服务交互图的示例,假设需要预测用户u 1对服务s 5的QoS值,则以用户u 1为中心构建用户图、以服务s 5为中心构建服务图。其中L表示层号,圆形表示用户,方形表示服务,箭头从用户指向服务,表示用户调用服务,箭头上的数值表示用户对服务的QoS值。图3 (a)为以用户u 1为中心的用户图,第一层包括了用户u 1使用过的服务s 1、s 2、s 4以及对它们的QoS值:q 11~q 34,第二层包括了其他使用过上一层服务s 1、s 2、s 4的用户u 2和u 3以及这些用户分别对上一层每个服务的QoS值,具体来说包括用户u 2分别对服务s 1、用户u 3分别对服务s 2、s 4的QoS值。图3 (b)为以服务s 5为中心的服务图,第一层包括了使用过服务s 5的用户u 2和u 3以及用户u 2和u 3对服务s 5的QoS值,第二层包括了上一层用户u 2和u 3使用过的其他服务以及对它们的QoS值,具体来说包括用户u 2分别对服务s 1和s 3、用户u 3分别对服务s 2和s 4的QoS值。
2) 用户/服务特征向量获取
本发明使用非负矩阵分解(Non-negative Matrix Factorization, NMF)对特征向量进行初始化。首先对用户-服务原始QoS矩阵Q进行非负矩阵分解,旨在寻找最合适的用户潜在特征矩阵V和服务潜在特征矩阵H,使两者内积尽可能接近Q,如式(1)所示:
由于V和H事先是未知的,需要从用户-服务QoS原始矩阵Q中获得QoS值并进行学习后得到。使用用户-服务QoS原始矩阵和QoS拟合矩阵之间误差的平方作为损失函数,如式(2)所示:
利用乘法更新规则来最小化式(2)中的损失函数,如式(3)所示:
式(3)中v ki 为用户潜在特征矩阵V中用户i的第k个特征,h kj 为服务潜在特征矩阵H中服务j的第k个特征。在获得V、H之后,用用户潜在特征向量V i 对用户i的特征向量U i 进行初始化,用服务潜在特征向量H j 对服务j的特征向量S j 进行初始化。
图4(a)-图4(d)展示了非负矩阵分解的具体示例。将3个用户和5个服务构成的用
户-服务QoS原始矩阵Q(如图4(a))分解成用户潜在特征矩阵V(如图4(b))和服务潜在特征
矩阵H(如图4(c)),其中f x (此处x∈[1, 3])为用户或服务的第x个潜在特征。图4(b)中矩阵
第1列[1.16759, 0, 0.18754]表示用户u 1的3维潜在特征向量,并将其作为用户u 1特征向量U 1的初始值,图4(c)中矩阵第5列[0, 0.85118,0.01334]表示服务s 5的3维潜在特征向量,并
将其作为服务s 5特征向量S 5的初始值。图4(d)为V、H拟合出的QoS拟合矩阵。
3) 相似度计算
本阶段使用余弦相似度来计算用户相似度,如式(4)所示:
式(4)中,U c 和U d 分别为用户c和用户d的特征向量,Similarity()为余弦相似度函数,计算两者的相似度,取值范围为[0, 1],值越大表示两者越相似。
服务相似度计算如式(5)所示:
式(5)中,S f 和S g 分别为服务f和服务g的特征向量。
在现实中,基于过多的不相似用户/服务来预测QoS值会降低预测准确度,因此需要利用相似用户/服务来进行QoS预测。但是,如果只使用相似用户/服务,则很容易陷入局部最优解。因此本发明在选取了相似用户之后,又选取了某些不相似用户来构建特征向量集作为TSDCNN的输入。
4) 用户/服务特征向量集的获取
为了构建特征向量集,针对以用户i为中心的用户图,将第二层中的用户与用户i进行相似度计算,选择与用户i最为相似的K个用户以及与用户i最不相似的F个用户作为用户i的特征向量集ℋ i 。针对以服务j为中心的服务图,将第二层中的服务与服务j进行相似度计算,选择与服务j最为相似的K个服务以及与服务j最不相似的F个服务作为服务j的特征向量集ℒ j 。令η为不相似用户/服务数与相似用户/服务数之比,即η=F/K,η∈(0,0.5),η=0.4时效果最佳。
图5(a)- 图5(b)给出了特征向量集的示例,将与用户u 1相似的用户u 1、u 3的特征向量U 1和U 3和与用户u 1不相似的用户u 2的特征向量U 2构成用户u 1的用户特征向量集ℋ1(图5(a));将与服务s 5相似的服务s 4、s 5的服务特征向量S 4、S 5和与服务s 5不相似的服务s 1的特征向量S 1构成服务s 5的服务特征向量集ℒ5(图5(b))。
B、TSDCNN网络的预测和训练
1) 预测
本发明基于DCU设计双流深度卷积神经网络,基本结构如图6所示,图6以用户i和服务j为例,ℋ i 和ℒ j 分别为用户i的用户特征向量集和服务j的服务特征向量集,由两条输入支路分别输入ℋ i 和ℒ j 到DCU,输出第训练后的用户i的特征向量U i 和服务j的特征向量S j ,再将U i 和S j 进行点乘得到当前用户i对服务j的QoS预测值p ij 。⨀为点乘操作(计算向量的点积)。
2) 训练
为了进一步提高预测准确率,本发明模型基于DCU进行训练,并自适应更新用户/服务特征向量。图7采用了图1所示的TSDCNN模型的结构单元,对模型进行循环训练。
图7具体过程如下:
a) 首先将用户特征向量集和服务特征向量集分别输入进DCU中,输出更新后的用户特征向量和服务特征向量,并对它们进行点乘获得当前的QoS预测值。
b) 若当前QoS预测值比之前最佳的QoS预测值更准确(也就是训练条件为真,需要继续训练),则使用该用户特征向量和服务特征向量对原先的用户特征向量和服务特征向量进行自适应更新。然后使用更新后的特征向量进行相似度计算,并从用户-服务交互图中剔除不相似用户/服务后,更新用户/服务特征向量集,作为DCU模型的新一轮训练的输入。
c) 当QoS预测值达到稳定不再发生改变时停止训练,执行图6所示的⨀操作,得到最终的QoS预测值并输出。
3) DCU结构
图8以用户i为例给出了DCU结构,由1个卷积层和L个全连接层组成。卷积层:该层通过卷积核对特征向量集进行卷积运算,同时提取用户或服务的多种特征并进行融合。全连接层:通过L层全连接层进一步对特征进行学习,最后输出更新后的用户i的特征向量。
a)DCU对于用户i的用户特征向量集ℋ i 的前馈过程,如式(6)、式(7)所示:
y 1= conv(ℋ i , W 1, B 1) (6)
y k = φ(α k y k-1 + β k ), k∈{2, 3, …, L+1} (7)
式(6)中conv()为卷积运算,W 1为卷积层的权重矩阵,B 1为卷积层的偏置。式(7)中y k 为网络第k层的输出,φ()为激活函数ReLU(Rectified Linear Unit,ReLU),即φ(x) =max(0, x)。α k 和β k 分别表示第k层的权重和偏置,L为全连接层层数。DCU最后一层的输出y L+1作为更新后的用户i的特征向量,即U i 。
b) 以服务j为例,其DCU结构与图8相同。DCU对于服务j的相似服务特征向量集ℒ j 的前馈过程如式(8)、式(9)所示:
z 1= conv(ℒ j , W 2, B 2) (8)
z k = φ(γ k z k-1 + δ k ), k∈{2, 3, …, L+1} (9)
式(9)中,z k 为网络第k层的输出,γ k 和δ k 分别表示第k层的权重和偏置,L为全连接层层数,W 2为卷积层的权重矩阵,B 2为卷积层的偏置。式(8)、式(9)中的conv()和φ()同式(6)、式(7)。该DCU最后一层的输出z L+1作为更新后的服务j的特征向量,即S j 。
该模型的参数训练过程中采用平均绝对误差(Mean Absolute Error,MAE)作为损失函数,如式(10)所示:
式(10)中,p ij 为模型训练过程中输出的用户i对云服务j的QoS预测值,N为需要预测的QoS值的个数。为了优化网络中的参数,采用梯度下降法来进行模型训练,使损失最小化,如式(11)所示。
式(11),λ为迭代过程中控制梯度下降快慢的学习率,其他参数(β k , γ k , δ k , W 1,B 1, W 2, B 2)的训练过程也如式(11)所示。网络中所有参数的初始值通过产生随机数方式得到。
TSDCNN网络的预测和训练的程序流程图如图9所示,以用户i和服务j为例,ℋ i 和
ℒ j 分别为用户i的用户特征向量集和服务j的服务特征向量集,U i 为网络第t次训练后的用
户i的特征向量,S j 为网络第t次训练后的服务j的特征向量,p ij 为U i 和S j 进行点乘得到当前
用户i对服务j的QoS预测值,t为每次更新后的累计训练次数,初始值为1,T为每次更新后的
最大训练次数。为用户i对服务j的最佳QoS预测值,初始值为0。μ为更新阈值。图9
具体分析如下:
图9在神经网络输出第t次训练后的用户i的特征向量U i 和服务j的特征向量S j 之后,对它们进行点乘得到当前用户i对服务j的QoS预测值p ij 。
若当前用户i对服务j的QoS预测值p ij 与用户i对服务j的QoS值q ij 的误差和用户i
对服务j的最佳QoS预测值与用户i对服务j的QoS值q ij 的误差的比值小于更新阈值μ,
即更新条件为,则使用第t次训练后的用户i的特征向量U i 和服务j的特征
向量S j 对原先的用户特征向量和服务特征向量进行更新,然后使用更新后的特征向量进行
相似度计算,从用户-服务交互图中剔出不相似用户/服务,再由更新后的用户i的用户特征
向量集ℋ i 和更新后的服务j的服务特征向量集ℒ j ,作为TSDCNN网络的新一轮的输入,同时
重置t =1。
基于双流深度神经网络的服务QoS预测算法设计如算法1所示。
Algorithm 1: 基于双流深度神经网络训练和服务QoS预测/*以用户i对服务j为例*/
Input: ℋ i , ℒ j , q ij ,μ, T; /* ℋ i 是用户i的特征向量集; ℒ j 是服务j的特征向量集; μ为更新阈值; T是每次更新后的最大训练次数; q ij 为每次训练时用户i对服务j的QoS值*/
2For(t =1; t < T; t++)
3<U i ,S j >←input ℋ i and ℒ j intoTSDCNN to train; /*对TSDCNN进行训练*/
4p ij ←U i ⨀ S j ;
5mae_cur←|p ij -q ij |;/*计算与label的误差*/
7If (mae_cur/mae_min <μ)/*判断特征是否更优*/
8<ℋ i , ℒ j >←update U i andS j ; /*对用户i和服务j特征向量集
9进行自适应更新*/
11t =1; /*出现特征更新时重新训练*/
12Endif
13Endfor
关于算法1的一些说明如下:
1)利用TSDCNN从用户/服务特征向量集进行学习训练(第3行);
2) 当训练的效果优于当前用户/服务特征的效果时对用户/服务特征向量进行更新并重新训练(第7-13行);
3) 当连续T次不再训练后,返回最终QoS预测值(第14行)。
为了分析不同的参数设置对本发明模型预测准确度的影响,进行如下实验,以确定模型的参数的最佳取值。
1) 相似用户/服务数量:参数K表示构建相似用户/服务特征向量集时使用的相似用户/服务数量。为了研究其对本发明模型预测准确度的影响,在矩阵密度(即用户-服务QoS原始矩阵中已有数据占总数据的比率)分别为5%、10%、15%、20%的情况下,将特征向量维度设置为60,不相似用户/服务数与相似用户/服务数之比设置为0,DCU中全连接层数设置为3,每次更新后的最大训练次数设置为50,更新阈值设置为0.96。实验结果如图10(a)-图10(d)所示。
如图10(a)- 图10(d)所示,随着K的增加,QoS的预测准确率不断提高,这是因为更多的相似用户/服务能够提供更多的特征供神经网络进行学习。由于相似用户/服务数量的增加会带来更大的计算量,而当K>20时,QoS提升幅度变小,因此在后面的对比实验中将K取值为30。
2) 不相似用户/服务数与相似用户/服务数之比:参数η表示构建相似用户/服务特征向量集时使用的不相似用户/服务数与相似用户/服务数之比。为了研究其对本发明模型预测准确度的影响,在矩阵密度(即用户-服务QoS原始矩阵中已有数据占总数据的比率)分别为5%、10%、15%、20%的情况下,将相似用户/服务数量设置为30,特征向量维度设置为60,DCU中全连接层数设置为3,每次更新后的最大训练次数设置为50,更新阈值设置为0.96。实验结果如图11(a)- 图11(d)所示。
如图11(a)- 图11(d)所示,当η=0.4时,响应时间和吞吐量的预测准确度最高。因此在后面的对比实验中将η取值为0.4。
3) 特征向量维度:参数D表示用户/服务特征向量的维度。为了研究其对本发明模型预测准确度的影响,在矩阵密度分别为5%、10%、15%、20%的情况下,将相似用户/服务数量设置为30,不相似用户/服务数与相似用户/服务数之比设置为0,DCU中全连接层数设置为3,每次更新后的最大训练次数设置为50,更新阈值设置为0.96。实验结果如图12(a)- 图12(d)所示。
如图12(a)- 图12(d)所示,随着D的增加,QoS的预测准确率不断提高。这是因为越高的维度可以挖掘出更多的特征,使TSDCNN网络对特征学习更有效,实现更高的预测准确度。由于更高的维度会带来更多的数据,导致更大的计算量,因此在后面的对比实验中将D取值为90。
4) 每次更新后的最大训练次数:参数T表示每次更新后的最大训练次数。为了研究其对本发明模型预测准确度的影响,在矩阵密度分别为5%、10%、15%、20%的情况下,将相似用户/服务数量设置为30,不相似用户/服务数与相似用户/服务数之比设置为0,特征向量维度设置为60,DCU中全连接层数设置为3,更新阈值设置为0.96。实验结果如图13(a)-图13(d)所示。
如图13(a)- 图13(d)所示,随着T的增加,QoS的预测准确率不断提高。这是因为T越大,越能获得最稳定的QoS预测值。当T>75时,QoS预测准确率波动幅度趋于平缓,过大的T会增加没有必要的计算开销,因此在后面的对比实验中将T取值为100。
5) 更新阈值:参数μ表示更新阈值。为了研究其对本发明模型预测准确度的影响,在矩阵密度分别为5%、10%、15%、20%的情况下,将相似用户/服务数量设置为30,不相似用户/服务数与相似用户/服务数之比设置为0,特征向量维度设置为60,DCU中全连接层数设置为3,每次更新后的最大训练次数设置为50。实验结果如图14(a)- 图14(d)所示。
如图14(a)- 图14(d)所示,当μ< 0.97时,响应时间的MAE和RMSE波动幅度很小,吞吐量MAE和RMSE呈下降趋势。当μ> 0.97,μ越大,QoS的预测准确率越低。这是因为过大的更新阈值使得QoS预测值更难趋于稳定,最终输出的结果并不是最优。因此在后面的对比实验中将μ取值为0.97。
本发明在矩阵密度分别为5%、10%、15%、20%的情况下,比较了五种方法的MAE和RMSE。
图15(a)- 图15(b)展示了六种方法的响应时间的预测准确度比较。从图15(a)中可以看出,在四种密度下,所提出方法的MAE均小于PMF、NMF、CNMF、NDMF的MAE。但在密度10%~20%下,所提出方法的MAE略大于SPP+LLMF。从图15(b)中可以看出,在四种密度下,所提出方法的RMSE均小于PMF、NMF、SPP+LLMF的RMSE。但在密度15%和20%下,所提出方法的RMSE与NDMF差不多,但略大于CNMF。
图16(a)- 图16(b)展示了六种方法的吞吐量的预测准确度比较。从图中可以看出,在四种密度下,所提出方法的MAE和RMSE远远小于其他五种方法。
结果表明,在不同的矩阵密度下,对于响应时间,TSDCNN的预测准确度总体达到最优。对于吞吐量,TSDCNN的预测准确远远优于其他方法。这是因为响应时间的值很小,优化的程度有限,而吞吐量的值较大,可以进行更大幅度的优化。随着矩阵密度的增加,所有方法的预测准确度均增加,这是因为更多的数据可以有效地提高预测准确度。
实施例
实验环境为Intel Core i7-11700KF CPU @ 3.60GHz,NVIDIA GeForce RTX3090GPU,Windows 11 64bit,采用Python 3.8和Pytorch 1.8.0进行编程实现。
为了评估QoS深度学习预测模型的性能,在真实世界的QoS数据集WS-DREAM进行了实验。该数据集包括5825个Web服务上339个用户的1,947,675条调用的QoS记录,包括吞吐量和响应时间。该数据集在QoS预测工作中被广泛使用。
使用平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root MeanSquare Error,RMSE)作为评价预测结果质量的指标,它们是QoS预测工作中使用最广泛的评价指标,如式(12)、式(13)所示:
式(12)、式(13)中,q ij 为用户i对服务j的QoS值, 为QoS预测模型得出的用户i对
服务j的QoS预测值,N为需要预测的QoS的个数。MAE为误差绝对值的平均值,可以表示预测
值与真实值之间的平均距离,它的值越小,说明QoS预测越准确。RMSE是预测值与真实值之
间偏差的平方和均值的平方根,值越小,说明QoS预测误差幅度越小。
实验参数设置如表1所示。
表1 参数设置
通过实验在以上设置的参数范围中确定使模型性能最优的参数,并使用最优参数对模型性能进行评估。
为了评估本发明模型,与以下典型方法进行了比较:
1) NMF: 一种利用非负矩阵分解进行QoS预测的方法,经常作为基准方法进行比较。
2) PMF: 一种利用概率矩阵分解进行QoS预测的方法,经常作为基准方法进行比较。
3)SPP+LLMF: 一种基于位置感知的低秩矩阵分解进行QoS预测的方法,同时引入了相似度维护隐私保护策略来保护用户的隐私。
4) CNMF: 一种基于覆盖的聚类方法,通过邻域感知矩阵分解进行QoS预测。
5) NDMF: 一种基于邻域集成深度矩阵分解的QoS预测方法,通过深度神经网络将协作选择的用户邻域集成到增强的矩阵分解模型中来进行预测。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (5)
1.基于用户-服务交互图的深度学习云服务QoS预测方法,其特征在于,包括如下步骤:
步骤1,根据用户-服务原始QoS矩阵构建用户-服务交互图,进而获取用户和服务的特征向量,根据用户的特征向量计算用户之间的相似度,根据服务的特征向量计算服务之间的相似度,根据用户之间的相似度获取用户特征向量集,根据服务之间的相似度获取服务特征向量集;
步骤2,基于两个深度卷积单元构建双流深度神经网络模型,将步骤1获取的用户特征向量集作为其中一个深度卷积单元的输入,将步骤1获取的服务特征向量集作为另一个深度卷积单元的输入,对双流深度神经网络模型进行训练;所述深度卷积单元包括依次连接的1个卷积层和L个全连接层,通过卷积层中的卷积核对用户或服务特征向量集进行卷积运算,同时提取用户或服务的多种特征进行融合,通过L个全连接层进一步对融合后的特征进行学习,输出更新后的用户或服务的特征向量;
步骤3,利用步骤2训练好的双流深度神经网络模型预测某用户对某服务的QoS值,根据步骤1同样的方法获取某用户特征向量集和某服务特征向量集,将某用户特征向量集和某服务特征向量集输入训练好的双流深度神经网络模型,得到QoS预测结果。
2.根据权利要求1所述的基于用户-服务交互图的深度学习云服务QoS预测方法,其特征在于,所述步骤1的具体过程如下:
1.1,构建以用户中心的用户-服务交互图和以服务为中心的用户-服务交互图
以用户中心的用户-服务交互图分为两层:第一层为用户i使用过的n个服务以及用户i对这些服务的QoS值;第二层为其他使用过这n个服务的用户以及这些用户分别对这n个服务的QoS值;
以服务为中心的用户-服务交互图分为两层:第一层为使用过服务j的m个用户以及这些用户对服务j的QoS值;第二层为这m个用户使用的其他服务以及这m个用户分别对其使用的其他服务的QoS值;
1.2,获取用户和服务特征向量
对用户-服务原始QoS矩阵Q进行非负矩阵分解,寻找最合适的用户潜在特征矩阵V和服务潜在特征矩阵H,使两者内积尽可能接近Q;
获得V和H之后,利用用户潜在特征向量Vi对用户i的特征向量Ui进行初始化,利用服务潜在特征向量Hj对服务j的特征向量Sj进行初始化,Vi即V的第i列,代表用户i的潜在特征向量,Hj即H的第j列,代表服务j的潜在特征向量;
1.3,计算相似度
使用余弦相似度计算用户相似度:
式中,Similarity()为余弦相似度函数,Uc和Ud分别为用户c和用户d的特征向量;
使用余弦相似度计算服务相似度:
式中,Sf和Sg分别为服务f和服务g的特征向量;
1.4,获取用户特征向量集和服务特征向量集
针对以用户i为中心的用户-服务交互图,将第二层中的用户与用户i进行相似度计算,选择与用户i最为相似的K个用户以及与用户i最不相似的F个用户作为用户i的特征向量集针对以服务j为中心的用户-服务交互图,将第二层中的服务与服务j进行相似度计算,选择与服务j最为相似的K个服务以及与服务j最不相似的F个服务作为服务j的特征向量集
令η=F/K,η的取值通过实验确定。
4.根据权利要求1所述的基于用户-服务交互图的深度学习云服务QoS预测方法,其特征在于,所述步骤2中,双流深度神经网络模型的训练过程具体如下:
a)对于第t次参加训练的所有用户和所有服务,双流深度神经网络输出第t次训练后用户i的特征向量Ui和服务j的特征向量Sj之后,对它们进行点乘得到用户i对服务j的QoS预测值pij;
b)计算用户i对服务j的QoS预测值pij与用户i对服务j的QoS值qij的误差,并对所有误差的绝对值求均值,得到μ1;计算用户i对服务j的当前最佳QoS预测值与用户i对服务j的QoS值qij的误差,并对所有误差的绝对值求均值,得到μ2;若μ为更新阈值,则利用第t次训练后得到用户i对服务j的QoS预测值pij更新当前最佳QoS预测值使用第t次训练后用户i的特征向量Ui和服务j的特征向量Sj对原先用户i的特征向量和服务j的特征向量进行更新,然后使用更新后的特征向量进行相似度计算,并更新用户i的用户特征向量集和服务j的服务特征向量集,再由更新后的用户i的用户特征向量集和更新后的服务j的服务特征向量集,作为双流深度神经网络的新一轮的输入,同时重置t=1;
否则,继续使用当前双流深度神经网络进行训练,并且令t逐步增加1;当t>T,即连续T次不更新,则说明QoS预测值已达到稳定,停止循环,模型训练结束。
式中,conv()为卷积运算,W1为卷积层的权重矩阵,B1为卷积层的偏置,y1为第1层的输出;yk为第k层的输出,为激活函数ReLU,αk和βk分别表示第k层的权重和偏置,L为全连接层层数,深度卷积单元最后一层的输出yL+1作为更新后的用户i的特征向量,即Ui;
式中,W2为卷积层的权重矩阵,B2为卷积层的偏置,z1为第1层的输出;zk为网第k层的输出,γk和δk分别表示第k层的权重和偏置,深度卷积单元最后一层的输出zL+1作为更新后的服务j的特征向量,即Sj;
模型的参数训练过程中采用平均绝对误差作为损失函数ε,即:
式中,pij为模型训练过程中输出的用户i对服务j的QoS预测值,qij为用户i对服务j的QoS值,N为需要预测的QoS值的个数,为了优化网络中的参数,采用梯度下降法来进行模型训练,使损失最小化,即:
式中,λ为迭代过程中控制梯度下降快慢的学习率,其他参数βk,γk,δk,W1,B1,W2,B2的训练过程也采用梯度下降法,网络中所有参数的初始值通过产生随机数方式得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210093058.XA CN114117945B (zh) | 2022-01-26 | 2022-01-26 | 基于用户-服务交互图的深度学习云服务QoS预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210093058.XA CN114117945B (zh) | 2022-01-26 | 2022-01-26 | 基于用户-服务交互图的深度学习云服务QoS预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114117945A CN114117945A (zh) | 2022-03-01 |
CN114117945B true CN114117945B (zh) | 2022-04-15 |
Family
ID=80361522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210093058.XA Active CN114117945B (zh) | 2022-01-26 | 2022-01-26 | 基于用户-服务交互图的深度学习云服务QoS预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117945B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114757391B (zh) * | 2022-03-17 | 2024-05-03 | 重庆大学 | 一种面向服务质量预测的网络数据空间设计与应用方法 |
CN115146199A (zh) * | 2022-06-28 | 2022-10-04 | 华东师范大学 | 一种基于网络偏置的Web服务质量预测方法 |
CN117274616B (zh) * | 2023-09-26 | 2024-03-29 | 南京信息工程大学 | 一种多特征融合深度学习服务QoS预测系统及预测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984169A (zh) * | 2012-12-11 | 2013-03-20 | 中广核工程有限公司 | 单点登录方法、设备及系统 |
CN111541570A (zh) * | 2020-04-22 | 2020-08-14 | 北京交通大学 | 基于多源特征学习的云服务QoS预测方法 |
CN112801009A (zh) * | 2021-02-07 | 2021-05-14 | 华南理工大学 | 基于双流网络的面部情感识别方法、装置、介质及设备 |
CN113553138A (zh) * | 2021-07-21 | 2021-10-26 | 彼乐智慧科技(北京)有限公司 | 一种云资源调度的方法及装置 |
-
2022
- 2022-01-26 CN CN202210093058.XA patent/CN114117945B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984169A (zh) * | 2012-12-11 | 2013-03-20 | 中广核工程有限公司 | 单点登录方法、设备及系统 |
CN111541570A (zh) * | 2020-04-22 | 2020-08-14 | 北京交通大学 | 基于多源特征学习的云服务QoS预测方法 |
CN112801009A (zh) * | 2021-02-07 | 2021-05-14 | 华南理工大学 | 基于双流网络的面部情感识别方法、装置、介质及设备 |
CN113553138A (zh) * | 2021-07-21 | 2021-10-26 | 彼乐智慧科技(北京)有限公司 | 一种云资源调度的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114117945A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114117945B (zh) | 基于用户-服务交互图的深度学习云服务QoS预测方法 | |
Kveton et al. | Matroid bandits: Fast combinatorial optimization with learning | |
CN112989064B (zh) | 一种聚合知识图神经网络和自适应注意力的推荐方法 | |
CN111881363B (zh) | 一种基于图交互网络的推荐方法 | |
CN106897254B (zh) | 一种网络表示学习方法 | |
CN110263236B (zh) | 基于动态多视图学习模型的社交网络用户多标签分类方法 | |
Chen et al. | Mngnas: distilling adaptive combination of multiple searched networks for one-shot neural architecture search | |
CN112487200B (zh) | 一种改进的包含多重边信息与多任务学习的深度推荐方法 | |
CN110175286A (zh) | 结合成对优化和矩阵分解的产品推荐方法及系统 | |
CN111651576B (zh) | 一种基于迁移学习的多轮阅读理解方法 | |
CN112800326B (zh) | 一种改进的多任务学习与知识图谱结合的Ripp-MKR推荐方法 | |
CN109960722A (zh) | 一种信息处理方法及装置 | |
CN113487018A (zh) | 一种基于会话推荐的全局上下文增强图神经网络方法 | |
CN111355633A (zh) | 一种基于pso-delm算法的比赛场馆内手机上网流量预测方法 | |
CN114528987A (zh) | 一种神经网络边缘-云协同计算分割部署方法 | |
CN113240105A (zh) | 一种基于图神经网络池化的电网稳态判别方法 | |
CN115470889A (zh) | 基于强化学习的片上网络自主最优映射探索系统及方法 | |
CN111832817A (zh) | 基于mcp罚函数的小世界回声状态网络时间序列预测方法 | |
Mai et al. | VGG deep neural network compression via SVD and CUR decomposition techniques | |
CN114065033A (zh) | 用于推荐Web服务组合的图神经网络模型的训练方法 | |
CN113792110A (zh) | 一种基于社交物联网的设备信任值评估方法 | |
Templier et al. | A geometric encoding for neural network evolution | |
Zhang et al. | SEGEN: sample-ensemble genetic evolutional network model | |
Jinhai et al. | Dynamically-biased fixed-point LSTM for time series processing in AIoT edge device | |
CN113743012A (zh) | 一种多用户场景下的云-边缘协同模式任务卸载优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230414 Address after: No. 106 Fengze East Road, Nansha District, Guangzhou City, Guangdong Province, 511457 (Building 1) X1301-E011303 (Cluster Registration) (JM) Patentee after: Guangzhou Zhongyi Information Technology Co.,Ltd. Address before: No.219, ningliu Road, Jiangbei new district, Nanjing, Jiangsu Province, 210032 Patentee before: Nanjing University of Information Science and Technology |
|
TR01 | Transfer of patent right |