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

628                                                        软件学报  2026  年第  37  卷第  2  期


                    鉴于  DDIM 本身通过匹配得分函数来进行原始分布的拟合, 本文通过构建经                      DDIM  训练的模型, 在其推理阶
                                                                         (
                 段估计得到的得分函数的二阶导矩阵来进行对应海森矩阵元素的估计:                        H log p(x) )  ≈ J x s θ (x) j,j . 值得注意的是, 由
                                                                                 j,j
                 于训练阶段采用了       DSM  的方法, 原始雅可比矩阵的估计只需要在推理阶段做一次即可. 然而, 鉴于                    iSCAN  中提出
                 的判定原则公式      (3) 需要重复判定共同存在于        G  和  G  中的叶子节点, 每次剪枝之后重复雅可比矩阵的估计在特
                                                           n
                                                      c
                 征变量数量较大的时候引起的开销仍然十分高昂. 鉴于上述考虑, 本文接下来设计了一种面向叶子节点剪枝的策
                 略, 使得一次性面向全部节点估计出的海森矩阵值可以泛化到每一次剪枝操作之后的估计中.
                  3.3   剪枝前后的海森矩阵高效估计

                                                            d ∏
                    首先, 基于   DAG  对应的数据分布可以被如         P(X) =  P X j | Pa j  一样进行分解, 假设节点  X k  被检测为跨干预
                                                               (
                                                                     )
                                                            j=1
                 前后的共同叶子节点变量, 那么对          X k  剪枝后的数据分布可以写作如下.
                    引理                X k  剪枝后的数据分布有如下表达:
                        3. 剪枝后分布. 对
                                                         ∏
                                                           d    (    )
                                                   p(x −k ) =  P X j Pa j .
                                                            j∈[d]\k
                                                               s(x) = logp(x) ∈ R 来推导出剪枝后联合分布的得分函
                    进而, 本文推导出, 可以基于原始联合分布的得分函数
                                    d−1
                 数   s(x −k ) = log p(x −k ) ∈ R  .
                    引理  4. 差量表达. 剪枝前后的数据分布得分函数有如下表达关系:

                                                          ∂f l (Pa i ) ∂logp (X l − f l (Pa l ))
                                                                    N l
                                         δ j = s j (x)− s j (x −k ) = −        ,
                                                            ∂X j       ∂X
                                           j
                 其中,   δ j  表示  s(x) 和  s(x −k ) 在分量   上的差  ( j ∈ [d]\k).
                    证明: 首先, 回顾   ANM              s j (x −k ) 的表达:
                                      中关于   s j (x) 和
                                           N i  (  (  ))
                                                                          N i
                                      ∂log p  X j − f j Pa j  ∂f i (Pa i ) ∂log p (X i − f i (Pa i ))
                                
                                 s j (x) =             −Σ
                                
                                                         i∈Ch( x j)
                                                                           ∂X
                                             ∂X j              ∂X j
                                
                                              (    (  ))                               .
                                        ∂log p N i               ∂f i (Pa i ) ∂log p (X i − f i (Pa i ))
                                                                             N i
                                              X j − f j Pa j
                                
                                 s j (x −k ) =          −Σ
                                
                                                           i,l,i∈Ch( x j)
                                                                              ∂X
                                               ∂X j                ∂X j
                    通过对比, 可以得到:

                                                   ∂f k (Pa i ) ∂logp (X k − f k (Pa k ))
                                                              N k
                                               δ j = −                    .
                                                     ∂X j        ∂X
                    证毕.
                    定理  1. 海森矩阵   H (s(X)) 和对节点  X k  剪枝前后的得分函数差值向量, 即      δ k = {δ j } d   之间的关系可以被表达
                                                                                  j=1,j,k
                 如下:

                                                                 (     )
                                                              H k logp(x)
                                                       logp(x)·        ).
                                                              H k,k logp(x)
                                                δ k = −∇ x k     (
                    证明: 首先将海森矩阵表达扩展如下:

                                                   ∂ [        ]
                                          H k,j (s(x)) =  ∇ x k logp(x)
                                                   ∂x j
                                                    2
                                                   ∂ logp (X k − f k (Pa k )) d(x k − f k (Pa k ))
                                                        N k
                                                 =                  ·
                                                          ∂x 2           dx j
                                                    2
                                                   ∂ logp (X k − f k (Pa k )) d( f k (Pa k ))
                                                        N k
                                                 =                  ·       .
                                                          ∂x 2         dx j
                    这里由于    k 是叶子节点, 所以其得分函数一阶导的表达为:

                                                         ∂logp (X k − f k (Pa k ))
                                                              N k
                                                  logp(x) =              .
                                               ∇ x k
                                                                ∂X k
                    进而, 令  j = k, 可以得到:
   144   145   146   147   148   149   150   151   152   153   154