Page 362 - 《软件学报》2026年第6期
P. 362
陈真 等: 可信数据增强的 QoS 感知云 API 推荐系统投毒攻击持续防御 2681
算法 1. 基于扩散模型的可信用户生成算法.
输入: 神经网络参数 θ, 真实数据集 R(A u );
输出: 可信用户向量 ˆ x 0 .
x ⊂ R(A u ) //O(1)
1. 随机抽取
2. for all x 0 ∈ x do //O(|x|)
,
3. 采样 t ∼ U(1, T) ε ∈ N(0, I) //O(1)
4. 通过公式 (8) 计算 x t //O(D)
5. 优化神经网络参数 θ 通过 ∇ θ ||ε−ε θ (x t ,t)|| //O(|θ|)
2
6. end for
7. for t = T,…, 1 do //O(T)
8. z ~ N (0, I) if t > 1, else z = 0 //O(D)
9. 通过公式 (19) 计算 ˆ x 0 //O(1)
10. end for
11. return ˆ x 0
基于扩散模型的可信用户生成算法的计算复杂度主要源于两个部分: 正向扩散过程与神经网络训练 (第
2–6 行) 的复杂度为 O(|x|×(D+|θ|)), 以及反向生成过程 (第 7–10 行) 的复杂度为 O(T×D), 总体计算复杂度为
O(|x|×(D+|θ|)+T×D). 其中, |x|为训练样本数量, D 为数据大小, |θ|为网络参数数量, T 为扩散步长. 由于本文使用的数
据集规模较小且网络参数量有限, 算法的复杂度主要由扩散步长 T 决定.
4 实 验
为了探究基于可信数据增强的持续防御方法对 QoS 感知云 API 推荐系统投毒攻击的防御效果, 进行了一系
列的实验, 以回答以下研究问题.
RQ1: 可信数据增强的持续防御是否能够产生防御效果?
RQ2: 为什么可信用户数据可以产生防御作用?
RQ3: 持续防御在混合投毒攻击下是否有效?
RQ4: 防御强度如何影响持续防御效果?
RQ5: 防御规模如何影响持续防御效果?
4.1 实验设置
(1) 数据集. 实验使用真实响应时间 QoS 数据集 WS-DREAM. 该数据集记录了 339 个用户对分布在全球的
5 825 个云 API 服务的响应时间. 在开放的网络环境中, 每个用户通常只会调用少量的云 API, 因此用户与云 API
之间的交互矩阵非常稀疏. 为了模拟真实的云 API 应用场景, 从数据集中随机采样 5% 的数据作为训练集, 剩余
的 95% 用作测试集. 实验使用的响应时间数据集统计特征如表 2 所示.
表 2 实验数据集的统计特征
统计特征 值
用户数量 339
云API数量 5 825
数据范围 (0, 20]
响应时间平均值 0.908 5
(2) 评价指标. 为了评估云 API 推荐系统的预测性能, 本文采用两个广泛使用的评估指标: 平均绝对误差 (mean
absolute error, MAE) 和均方根误差 (root mean square error, RMSE) 衡量推荐系统的预测性能. MAE 和 RMSE 定义如下:

