DySAT: Deep Neural Representation Learning on Dynamic Graph via Self-Attention Networks

1 前言

该论文解决的是动态图中的结点表征问题。论文提出了DySAT(Dynamic Self-Attention),以自注意力机制捕捉动态图的结构的动态性。DySAT分别从两个方面捕捉动态性:structural neighborhoods和temporal dynamics,并且使用多头注意力来捕捉多方面的动态性。

2 问题定义

论文中使用图序列来表示动态图。关于动态图的建模,在这里插一句。

2.1 dynamic graph

动态图通常由两种建模方式:图序列(graph snapshots)和基于带时间戳的事件的图(time stamped events,类似于流图)。本质上来看这两种建模方式是等价的,是可以互相转化的。但是不同的建模形式针对这不同的应用场景。snapshot形式的动态图,直观上强调的整体性,图中结点/边的变化是为了整体的图而服务的,这种情况下我们更多的考虑的是作为一个整体的图的应用场景,例如在场景识别中、对图进行分类的任务中。而timestamped形式的动态图,对整体的考虑可能会不是那么强,更强调的是图中结点/边以及这些变化对任务的影响。

作者采用的是snapshots形式的动态图 G = { G 1 , . . . , G T } \mathbb{G} = \{\mathcal{G}^1, ..., \mathcal{G}^T\} G={G1,...,GT}。其中 T T T是时间步的数量, G t = ( V , E t ) \mathcal{G}^t = (\mathcal{V}, \mathcal{E}^t) Gt=(V,Et)。显然,该论文中动态图的结点是不变的,即不涉及结点的增加或删除。最终的目标就是学习图中每个结点在任意时间 t t t时的表征。

3 DySAT思路

在这里插入图片描述

DySAT的整体框架如上图所示。DySAT主要分为两个部分:Structural Self-Attention和Temporal Self-Attention。

3.1 Structural Self-Attention

这一部分与GAT中的注意力机制类似,想当于一个邻居结点信息汇聚层。对于每一个snapshot graph,Structural Self-Attention利用当前时刻各个结点的表征计算注意力再进行加权求和,计算公式如下:
z v = σ ( ∑ u ∈ N v α u v W s x u ) , α u v = exp ⁡ ( e u v ) ∑ w ∈ N v exp ⁡ ( e w v ) e u v = σ ( A u v ⋅ a T [ W s x u ∥ W s x v ] ) ∀ ( u , v ) ∈ E \begin{array}{c} z_{v}=\sigma\left(\sum_{u \in \mathcal{N}_{v}} \alpha_{u v} W^{s} x_{u}\right), \alpha_{u v}=\frac{\exp \left(e_{u v}\right)}{\sum_{w \in \mathcal{N}_{v}} \exp \left(e_{w v}\right)} \\ e_{u v}=\sigma\left(A_{u v} \cdot \boldsymbol{a}^{T}\left[\boldsymbol{W}^{s} \boldsymbol{x}_{u} \| \boldsymbol{W}^{s} \boldsymbol{x}_{v}\right]\right) \forall(u, v) \in \mathcal{E} \end{array} zv=σ(uNvαuvWsxu),αuv=wNvexp(ewv)exp(euv)euv=σ(AuvaT[WsxuWsxv])(u,v)E

3.2 Temporal Self-Attention

这部分是为了捕捉动态图在时间上的变化模式。计算结点 v v v t t t时的表征时,将在 t t t之前的 v v v的表征作为temporal self-attention模块的输入,输出的是结点 v v v在各个事件点的表征(此时的表征考虑了动态性),计算公式如下:
Z v = β v ( X v W v ) , β v i j = exp ⁡ ( e v i j ) ∑ k = 1 T exp ⁡ ( e v i k ) e v i j = ( ( ( X v W q ) ( X v W k ) T ) i j F ′ + M i j ) \begin{array}{r} Z_{v}=\beta_{v}\left(X_{v} W_{v}\right), \quad \beta_{v}^{i j}=\frac{\exp \left(e_{v}^{i j}\right)}{\sum_{k=1}^{T} \exp \left(e_{v}^{i k}\right)} \\ e_{v}^{i j}=\left(\frac{\left(\left(X_{v} W_{q}\right)\left(X_{v} W_{k}\right)^{T}\right)_{i j}}{\sqrt{F^{\prime}}}+M_{i j}\right) \end{array} Zv=βv(XvWv),βvij=k=1Texp(evik)exp(evij)evij=(F ((XvWq)(XvWk)T)ij+Mij)
上式的形式与self-attention的形式一致。其中的 M ∈ R T × T \mathbf{M} \in \mathbb{R}^{T \times T} MRT×T是一个掩码矩阵,
M i j = { 0 , i ≤ j − ∞ ,  otherwise  M_{i j}=\left\{\begin{array}{ll} 0, & i \leq j \\ -\infty, & \text { otherwise } \end{array}\right. Mij={0,,ij otherwise 

通常一个注意力捕捉的是一个方面的性质,为了捕捉动态图中多个方面的动态性,作者引入了多头注意力,Structural和Temporal都引入了多头注意力机制。

为了训练模型中的参数,论文使用类似神经语言模型中的共现率来优化参数,这点与word2vec和Node2vec中的损失函数很像,损失函数如下, P n t P_n^t Pnt为负采样的结点:
L = ∑ t = 1 T ∑ v ∈ V ( ∑ u ∈ N walk  t ( v ) − log ⁡ ( σ ( < e u t , e v t > ) ) − w n ⋅ ∑ u ′ ∈ P n t ( v ) log ⁡ ( 1 − σ ( < e u ′ t , e v t > ) ) ) \begin{aligned} L=\sum_{t=1}^{T} \sum_{v \in \mathcal{V}}\left(\sum_{u \in \mathcal{N}_{\text {walk }}^{t}(v)}-\log \left(\sigma\left(<\boldsymbol{e}_{u}^{t}, \boldsymbol{e}_{v}^{t}>\right)\right)\right.\\ &\left.-w_{n} \cdot \sum_{u^{\prime} \in P_{n}^{t}(v)} \log \left(1-\sigma\left(<\boldsymbol{e}_{u^{\prime}}^{t}, \boldsymbol{e}_{v}^{t}>\right)\right)\right) \end{aligned} L=t=1TvVuNwalk t(v)log(σ(<eut,evt>))wnuPnt(v)log(1σ(<eut,evt>))

DySAT是先进行structural self-attention再进行temporal self-attention,作者这样设计是因为:随着时间变化,图的结构是不稳定的。

4 方法的优势与局限性

4.1 优势

  • 提出了structural和temporal self-attention来学习动态图中的结点表征
  • 使用多头注意力机制捕捉多方面的动态性
  • 注意力机制适用于并行

4.2 局限性

  • 只能适用于结点不变化的动态图
  • 以结点的共现率为损失函数引导模型的训练,这样的损失函数可能重点关注的是图的结构,对于动态性更丰富的图(如结点的特征的变化)是不够的


欢迎访问我的个人博客~~~

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: ECA-Net是一种用于深度卷积神经网络的高效通道注意力机制,可以提高模型的性能和效率。它通过对每个通道的特征图进行加权,使得网络可以更好地学习到重要的特征。ECA-Net的设计简单,易于实现,并且可以与各种深度卷积神经网络结构相结合使用。 ### 回答2: ECA-Net是一种用于深度卷积神经网络的高效通道注意力机制。 ECA-Net通过提出一种名为"Efficient Channel Attention"(ECA)的注意力机制,来增强深度卷积神经网络的性能。通道注意力是一种用于自适应调整不同通道的特征响应权重的机制,有助于网络更好地理解和利用输入数据的特征表示。 相比于以往的注意力机制,ECA-Net采用了一种高效且可扩展的方式来计算通道注意力。它不需要生成任何中间的注意力映射,而是通过利用自适应全局平均池化运算直接计算出通道注意力权重。这种方法极大地降低了计算和存储开销,使得ECA-Net在实际应用中更具实用性。 在进行通道注意力计算时,ECA-Net引入了两个重要的参数:G和K。其中,G表示每个通道注意力的计算要考虑的特征图的大小;K是用于精细控制计算量和模型性能之间平衡的超参数。 ECA-Net在各种视觉任务中的实验结果表明,在相同的模型结构和计算资源下,它能够显著提升网络的性能。ECA-Net对不同层级的特征表示都有显著的改进,能够更好地捕捉不同特征之间的关联和重要性。 总之,ECA-Net提供了一种高效并且可扩展的通道注意力机制,可以有效提升深度卷积神经网络的性能。它在计算和存储开销上的优势使得它成为一个非常有价值的工具,可在各种计算资源受限的应用中广泛应用。 ### 回答3: "eca-net: efficient channel attention for deep convolutional neural networks" 是一种用于深度卷积神经网络的高效通道注意力模块。这一模块旨在提高网络对不同通道(特征)之间的关联性的理解能力,以提升网络性能。 该方法通过引入了一个新的注意力机制来实现高效的通道注意力。传统的通道注意力机制通常是基于全局池化操作来计算通道之间的关联性,这种方法需要较高的计算成本。而ECA-Net则通过引入一个参数化的卷积核来计算通道之间的关联性,可以显著减少计算量。 具体来说,ECA-Net使用了一维自适应卷积(adaptive convolution)来计算通道注意力。自适应卷积核根据通道特征的统计信息来调整自身的权重,从而自适应地计算每个通道的注意力权重。这样就可以根据每个通道的信息贡献度来调整其权重,提高网络的泛化能力和性能。 ECA-Net在各种图像分类任务中进行了实验证明了其有效性。实验结果显示,ECA-Net在相同计算预算下,相比其他通道注意力方法,可以获得更高的分类精度。同时,ECA-Net还具有较少的额外计算成本和模型大小,使得其在实际应用中更加高效。 总结而言,"eca-net: efficient channel attention for deep convolutional neural networks" 提出了一种高效通道注意力方法,通过引入自适应卷积核来计算通道注意力,从而提高了深度卷积神经网络的性能。这一方法在实验中取得了良好的效果,并且具有较少的计算成本和模型大小。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值