Page 158 - 《软件学报》2026年第2期
P. 158
王浩天 等: 扩散模型引导的根因分析 637
实验方差为 1.0), 在结构因果模型的外源噪声为高斯变量 (此时可以通过闭式解得到潜在得分函数的表达和计算),
进而得到表 8. 如表 8 所示, 去噪扩散模型的训练表现对于训练数据的噪声添加展现了一定的鲁棒性, 但是当噪声
程度超过一个阈值 ( σ = 2.0) 的时候, 对于得分函数的拟合会受到影响.
表 8 噪声变化对扩散模型估计的影响
指标 σ = 0.1 σ = 0.5 σ = 1.0 σ = 1.5 σ = 2.0
L 2 (s) 0.03±0.01 0.05±0.01 0.06±0.02 0.09±0.02 0.11±0.03
F1 (%) 93.7 93.7 92.1 91.6 90.3
● 扩散模型的样本效率. 在合成数据上, 通过调整扩散模型的训练数据量, 我们汇报扩散模型拟合结果和根因
分析结果如下.
如表 9 所示, 去噪扩散模型的训练表现对于训练样本量的减小展现了一定的鲁棒性, 且训练样本量在 500 左
右仍然可以维持 90% 以上的根因分析 F1 指标; 同时, 我们也注意到训练样本量在过小的情况下, 任何机器学习方
法都会失效且产生较大的偏差 (大数定律).
表 9 样本量变化对扩散模型估计的影响
指标 n =500 n =1000 n =1500 n =3000
L 2 (s) 0.11±0.03 0.04±0.02 0.03±0.01 0.02±0.01
F1 (%) 90.5 92.1 93.8 94.1
● 扩散模型超参数的调整. 我们对于扩散模型训练过程中时间步 T 进行了进一步的经验性调整, 以检验本文
超参数设置是否合理. 我们给出了进一步超参数调整的实验性结果 (仿真数据: ER 图, 高斯噪声), 通过调整时间步
数参数 T ∈ [50,80,100,150], 我们将根因分析效果记录在表 10. 随着训练时间步 T 的增加, 得分函数的拟合误差,
(
即 L 2 (s) 逐步减小; 而在超过 T = 100 T = 150) 下 L 2 (s) 已经收敛; 随着训练时间步 T 的增加, 根因分析模型的表现
T = 50 下有所下降, 这是因为扩散模型还未完全训练收敛 ( F1 指标几乎
在 L 2 (s) 较大); 而在 T = 150 下根因分析的
没有变化; 表 10 中的变化趋势反映了本文对时间步的选择是相对最优的.
表 10 不同时间步下的扩散模型性能以及下游根因分析指标
时间步 T = 50 T = 80 T = 100 T = 150
L 2 (s) 0.12±0.05 0.03±0.01 0.02±0.01 0.02±0.01
F1 (%) 90.2 93.9 94.1 94.3
● 噪声方差在某个区间内线性增长这一结论是扩散模型进行分布拟合的通用操作, 本文中的区间 [0.000 1,
0.002] 是通过对区间左侧和右侧同时进行搜索得到的: 区间左侧值在 [0.000 01,0.000 1,0.001,0.01,0.1] 中搜索; 区
[0.000 02,0.000 2,0.002,0.02,0.2] 中搜索; 搜索的时候保证区间左侧值小于右侧值.
间右侧值在
6 总 结
本文提出了一种基于扩散模型的根因定位方法. 基于结构因果模型, 通过观察对于变量的方差变化, 本文提出
通过扩散模型估计得到的得分函数来识别跨异常发生前后的根因变量. 为了避免识别过程中剪枝操作带来的模型
重训练开销, 本文进而提出了无需剪枝的一次性估计得分函数估计策略. 在仿真数据和真实数据上的实验结果验
证了本文所提出方法的有效性和高效性. 在未来的研究工作中, 以下几个方面的研究内容值得进一步关注: (1) 结
合系统运行的实际数据进一步辅助根因变量的识别和定位. 在包括云服务器系统在内的大型软件系统中, 例如系
统的运行日志等 [6] 数据是潜在可以支持根因定位的辅助变量. 具体来说, 云服务系统的依赖图通过 reverse 操作可
以直接生成因果图. 如果有完整的、足以支撑依赖图还原的日志信息, 则完整的因果图可以被直接生成; 而生成的
因果图可以辅助本文提出的扩散引导的根因分析方法 ODRCA 进行矫正和校验. 例如, 每次检验的叶子节点可以
对照完整因果图进行校验; 此外, 如果日志信息不完全, 则可以基于现有的日志信息恢复出部分依赖图, 进而恢复

