Page 361 - 《软件学报》2026年第6期
P. 361

2680                                                       软件学报  2026  年第  37  卷第  6  期


                 性     [38] , 可以直接从  x 0  得到  , 转换形式为公式  (10):
                                     x t
                                                        √     √
                                                     x t =  ¯ α t x 0 +  1− ¯α t ε                   (10)
                                 ∏
                                    t
                 其中,  α t = 1−β t ,   ¯ α t =  α i ε ∈ N(0, I), I 表示单位矩阵. 因此, 正向扩散过程满足公式  (11):
                                       ,
                                    i=1
                                                             √
                                                 q(x t |x 0 ) = N(x t ; α t x 0 ,(1− ¯α t )I)        (11)
                                                              ¯
                  3.2   反向生成过程
                    在反向生成过程中, 不只是对          QoS  反馈值通过数学运算进行去噪, 而是要将用户、云                API 及其对应的    QoS
                 反馈值整合为一个具有实际意义的整体, 理解并重建用户复杂的交互行为以及云                           API 之间的关联. 给定用户的历
                 史交互, 在正向过程中添加噪声来逐渐破坏它们, 反向生成过程通过迭代去噪恢复原始交互. 如果能够从                                q(x t−1 |x t )
                 中采样, 就可以从高斯噪声        x T  推理得到   x 0 ∼ q(x 0 ). 由于  q(x t−1 |x t ) 无法简单推断, 本文设计一个神经网络  p θ (x t−1 |x t )
                 来拟合反向扩散过程.

                                                                         
                                                                  ∑      
                                                                         
                                               p θ (x t−1 |x t ) = N  x t−1 ;µ θ (x t ,t),  (x t ,t)    (12)
                                                                         
                                                                    θ
                             ∑                                                                 ∑
                 其中,  µ θ (x t ,t) 和   (x t ,t) 是由神经网络预测的高斯分布均值和协方差, 神经网络具有可学习参数         θ. 定义   (x t ,t) = ˜ β t .
                              θ                                                                θ
                 给定   x 0  可计算得到条件概率   q(x t−1 |x t , x 0 ).

                                               q(x t−1 |x t , x 0 ) = N(x t−1 ; ˜µ t (x t , x 0 ,t), ˜ β t I)  (13)
                    利用公式    (9) 和                                          ˜ µ t  和方差, 如公式  (14) 和  (15) 所示:
                                 (11) 以及贝叶斯公式计算条件概率         q(x t−1 |x t , x 0 ) 的均值
                                                          (          )
                                                        1      1−α t
                                                    ˜ µ t = √  x t − √  ε                            (14)
                                                        α t     1− ¯α t

                                                           1− ¯α t−1
                                                        ˜ β t =                                      (15)
                                                                β t
                                                           1− ¯α t
                  3.3   神经网络训练
                    神经网络的优化目标是使其预测的             p θ (x t−1 |x t ) 分布更加接近准确的条件概率分布  q(x t−1 |x t , x 0 ). 故而在此, 本文
                 使用  KL  散度计算两者之间的差异, 化简后得到损失函数              L t .

                                                                         2
                                              L t = E q(x t |x 0 ) [||q(x t−1 |x t , x 0 )− p θ (x t−1 |x t )|| ] ˜ β t  (16)
                                                                                   µ θ (x t ,t)  更接近真实的均值.
                    由于两个分布的协方差都是常数, 神经网络的优化目标可简化为使预测的均值
                 µ θ (x t ,t)  可定义为:

                                                                        
                                                        1    1−α t      
                                                µ θ (x t ,t) = √   x t  ε(x t ,t)               (17)
                                                           − √
                                                                        
                                                        α t
                                                                1−α t
                    由公式   (14) 和                        ε 有关. 最后, 神经网络训练过程中的损失函数如公式              (18) 所示:
                                (17) 可知均值只和超参数      x t  和
                                                                                 
 2
                                                            [
    ( √    √      ) 
 ]
                                                      2

                                      L t = E x 0, ε [||ε−ε θ (x t ,t)|| ] = E x 0 ,ε 
ε−ε θ  ¯ α t x 0 +  1− ¯α t ε,t 
 
  (18)
                    神经网络不需要直接预测条件概率的均值, 只需要预测出数据                     x t  被添加的噪声  ε θ (·). 噪声预测网络的输入为
                 x t  和步长  t 的嵌入向量, 输出为预测的噪声向量. 利用训练好的神经网络通过公式                   (19) 将一个高斯噪声数据通过
                 迭代去噪生成高质量的可信用户数据, 其中             z ∈ N(0, I).

                                                           (              )  √
                                                         1      1−α t
                                         ˆ x t−1 = µ θ (ˆx t ,t)+ ˜ β t z = √  ˆ x t − √  ε θ (ˆx t ,t) +  ˜ β t z  (19)
                                                          α t    1− ¯α t
                    利用扩散模型生成可信用户时, 通过深入理解用户与云                   API 之间的关系, 能够生成符合真实用户个性化偏好
                 的高质量可信用户, 不局限于重现已有的用户交互信息. 这有助于推荐系统学习到真实用户与云                              API 的特征表示.
                 算法  1  给出了基于扩散模型的可信用户生成算法并给出了计算复杂度的分析.
   356   357   358   359   360   361   362   363   364   365   366