Page 415 - 《软件学报》2025年第4期
P. 415

邹慧琪 等: 基于图神经网络的复杂时空数据挖掘方法综述                                                     1821


                 络来连续更新节点信息, 并结合了图注意力块来集成空间信息. 每个                     CDOD  单元由   4  个主要部分组成, 分别是连
                 续时间表示学习模块       (CTRL)、离散时间表示学习模块          (DTRL)、Co-Updater 和图注意力模块. 在    CDOD  中, 时间
                 信息和空间信息通过串联进行融合, CTRL            和  DTRL  分别负责提取离散和连续时间信息, Co-Updater 负责融合时
                 间信息, 而图注意力模块负责挖掘空间信息.
                    在  CDOD  中, CTRL  由连续时间消息生成器、连续时间消息聚合器和连续时间内存更新器这                        3  个模块构成.
                 首先, 在连续时间信息生成器部分, 可由如下公式表示:

                                                      ϕ(e m ) = e (t−t m )/τ                         (22)
                                                                ∗ f v m
                                                              ,c m ,ϕ(e m ))                         (23)
                                                    φ(e m ) = ||(M v m
                                                                          ,
                 其中,   e m = (u m ,v m ,t m ,c m ) 是带时间戳的事件, 表示乘客在  t m  从  u m  出发到   v m ϕ(e m ) 代表时间编码过程,   φ(e m ) 代表边
                                                               c m  代表边特征,    是预测开始时间,    是输出时间窗长
                                                                                          τ
                                                                           t
                 e m  产生的连续时间信息,     f v m   是目的地节点  v m  的节点特征,
                 度,    M v m   是节点  v m  的最新特征,   ∗ 表示标准卷积.
                    接着, 在连续时间消息聚合器部分, 对于输入的               OD  对  S s  的一个批次  B , 通过对来自节点内存的部分进行平
                 均聚合和利用对边特征进行时间编码的部分进行求和聚合拼接, 可以表示来自同一节点的消息的聚合过程. 该过
                 程表示为:

                                          _   (∑               ∑         )
                                         E n = ||  φ(e nk )[: d]/|e nk ∈ B|,  ϕ(e nk )[d :] , e nk ∈ B  (24)
                                                                            k
                 其中,    φ(e nk ) 是边  e nk  的连续时间信息,   d  是节点内存的维数,   e nk  是节点  n 到   的边,   |e nk ∈ B| 是当前批次  B 中起点
                 为  n 的边的总数.
                                                        _                     [9]
                    最后, 在连续时间内存更新器部分, CDOD           将  E n  输入到循环神经网络    GRU 中来更新节点内存        M t  . 这个步骤
                 利用了   GRU  可以通过组合更新门、重置门和候选值, 从而自动计算新的节点状态的优点.
                    在  Co-Updater 部分, CDOD  通过可调节的参数将离散时间信息和连续时间信息融合, 以更新时间信息, 之后,
                 CDOD  使用图注意力模块来融合全局空间信息.
                    首先, 需要生成每个节点的时间编码, 可用公式表示为:

                                                   ϕ u (t pred ) = cos(W T [t pred −t u ])           (25)
                 其中, cos 是 V  . 多头注意力机制可用如下公式表示为:
                                                         t pred  是预测
                                                                                          u 发生最后一次内
                                                                  OD
                                                                     需求的开始时间,
                                                                                   t u  是节点
                                     W T  是待训练的权重矩阵,
                           cosine 函数,
                 存更新的时间.
                    接着, 为了聚合每个节点嵌入及其时间邻居的节点嵌入, CDOD                    L 层图注意力层可用公式表示如下:
                                                                     的
                                                            l−1
                                                       l
                                                      Z (t) = h (t)||ϕ u (t)                         (26)
                                                       u    u
                                                           l−1
                                                                u
                                                  l
                                                        N s
                                                 Z (t) = || [h (t)||f (t j )||ϕ j (t)]               (27)
                                                           j
                                                  N
                                                                j
                                                        j=1
                       l     l                l−1                                       h (t) 是由  Co-Updater
                                                                                         0
                 其中,   Z (t) 和  Z (t) 是第   l 层的输入,   h (t) 是第   l−1 层图注意力层生成的节点  u 的节点嵌入,
                       u
                            N
                                              j
                 更新的节点内存,      ϕ u (t) 是节点  u 的时间编码,   d t  是时间编码的维度,   N s  是在时间  t pred  前与节点  u 有交互的节点数
                     u           u 之间对应
                              j
                 量,    f (t j )  是节点   和   OD  对的边特征,   d e  是边特征的维度, ||是拼接操作.
                     j
                    最后, 由于多头自注意力机制         [26] 可以学习多方面的信息, 因此在图注意力模块中, CDOD              在图上引入了传统
                                                                                              l
                                                                          l                l  Z (t) 用于生成
                 的多头自注意力机制, 以学习不同的时间邻居节点对于节点                   u 的重要性.   Z (t) 可用于生成查询    Q  ,
                                                                          u                t  N
                    l     l
                 键   K  和值

                    t     t
                                                                  
                                                               l  l T
                                                             Q (K ) 
                                                    l          t  t    l
                                                   a = Softmax √  V                                (28)
                                                    i               t
                                                                d k

                                                                    
                                                          N s
                                                         ∑           
                                                         
                                                 ˆ l   N M     α (m)V (m)W O                     (29)
                                                                     
                                                                  l
                                                             l
                                                                     
                                                 h (t) = ||
                                                  u
                                                       m=1 
                                                             j   t   
                                                          j=1
                      √
                                                         l
                 其中,    d k  是缩放因子,   W  O   是待训练的权重矩阵,   α  表示节点   u 和时间邻居  v i  之间的注意力权值, 计算过程如公
                                                         i
                 式  (28),   V (m) 是通过  Z (t) 生成的值,   N M  是并行的注意力头的个数,   ˆ h(t) 是生成的每个节点的更新节点嵌入.
                                   l
                        l
                        t
                                  N
   410   411   412   413   414   415   416   417   418   419   420