Page 150 - 《软件学报》2026年第2期
P. 150

王浩天 等: 扩散模型引导的根因分析                                                               629


                                                            2
                                                           ∂ logp (X k − f k (Pa k )) d( f k (Pa k ))
                                                                N k
                                              ∂ [        ]
                                    H k,k (s(x)) =  ∇ x k logp(x) =         ·
                                             ∂x k                 ∂x 2          dx k
                                              2
                                             ∂ logp (X k − f k (Pa k ))
                                                  N k
                                            =                 .
                                                    ∂x 2
                    进而, 定理等式右边可以写作如下表达:

                                                 2
                                                ∂ logp (X k − f k (Pa k )) d( f k (Pa k )) ∂logp (X k − f k (Pa k ))
                                                                              N k
                                                     N k
                                                                ·
                                          s(x)         ∂x 2                     ∂X
                                H k,j (s(x))·∇ x k                  dx j
                                              =
                                   H k,k (s(x))             ∂ logp (X k − f k (Pa k ))
                                                             2
                                                                 N k
                                                                   ∂x 2
                                               ∂logp (X k − f k (Pa k )) d( f k (Pa k ))
                                                    N k
                                              =                 ·        = −δ j .
                                                      ∂X           dx j
                    证毕.
                    上述一系列定理表明, 在剪枝的过程中无需重新训练扩散模型和对应的雅可比矩阵就可以实现从剪枝前分布
                 到剪枝后分布的过渡.
                  3.4   基于剪枝差分的根因识别算法
                    基于第   3.2  和  3.3  节中的理论基础, 本节阐述如何通过定理        1  结合扩散模型本身在推理阶段的估计, 实现高效
                 的大规模数据根因分析. 首先, 基于第          3.1  节中的扩散模型算法, 一种基础版本的根因分析策略是直接交替进行扩
                 散模型的训练估计和共同叶节点变量的剪枝, 如算法                 1  所示.
                 算法  1. 训练-剪枝交替的根因分析       (direct alternative root-cause analysis, DARCA).
                                     n    n,i m n  c  c,i m c                     n    c
                                                                               ,
                 输入: 异常发生前后数据       X = {X }   和   X = {X } , 初始化的分数扩散模型    M θ M  和   M , 阈值  t.
                                           i=1         i=1                        θ    θ
                              ,
                 1. 初始化  T = [d] S = ∅.
                 当  T , ∅:
                 2. 在数据   X [d]\T  上训练  M θ , 实现对混合数据分布海森矩阵的估计:
                                                     (     )
                                                     H log p(x)  ≈ J x s θ (x) j,j .
                                                            j,j
                                                c
                                           n
                 3. 在  X  n   和  X c   上分别训练   M  和  M , 实现对两个环境数据海森矩阵分别的估计:
                                           θ    θ
                      [d]\T  [d]\T
                                                    (      )
                                                     n
                                                  H log p(x)     n
                                                                  θ
                                                            j,j  ≈ J x s (x) j,j
                                                                      .
                                                    (      )
                                                    c            c
                                                   H log p(x)
                                                                  θ
                                                            j,j  ≈ J x s (x) j,j
                 4. 根据引理  2  中公式  (3) 的第  1  条原则, 得到共同的叶子节点估计:

                                                     L = argmin Score( j),
                                                         j∈[d]\T
                 其中,            n       c   .
                     Score( j) = J x s (x) j,j + J x s (x) j,j
                                θ       θ
                 5.  T = T \{L}.
                 6. 根据引理  2  中公式  (3) 的第  2         J x s θ (x) j,j < t, 那么:
                                         条原则, 如果
                                                        S = S ∪{L}.
                 输出:  S .
                    1) 在算法  1 主循环中的第    4 步中, 本文将原始的共同叶子节点定义为估计方差在两个数据分布上的和最小的节点.
                    2) 算法  1  引入了阈值变量    t, 用来判定检测出来的共同叶子节点在混合分布中是否是被干预的.
                                                                                                 ,
                    然而, 上述的算法存在的主要问题就是每次剪枝的时候, 算法会在去掉叶子节点                           L  后的数据  X [d]\T X n   和
                                                                                                    [d]\T
                                         ,
                                            n
                                                 c
                 X c   上重新训练扩散模型      M θ M  和  M , 这样会导致扩散模型的再训练次数随着叶子节点数量的增加而增加,
                  [d]\T                     θ    θ
                 进而导致算法本身的复杂度变得不切实际. 基于第                 3.3  节中提出的定理    1, 本文进而通过建立剪枝前-剪枝后的得
   145   146   147   148   149   150   151   152   153   154   155