《Poluparity Prediction on Social Platforms with Coupled Graph Neural Networks》阅读笔记

本文介绍了一种名为CoupledGNN的模型,用于在线内容流行度预测。模型结合StateGNN和InfluenceGNN,分别处理人际影响和用户激活状态。通过实验对比,验证了耦合设计在预测社交媒体信息流行度上的优势。
摘要由CSDN通过智能技术生成

论文地址Popularity Prediction on Social Platforms with Coupled Graph Neural Networks

文章概览

作者提出了一种耦合图神经网络(Coupled Graph Neural Network, Coupled GNN)模型来进行在线内容流行度的预测,该模型包含两个GNN,即State GNNInfluence GNN。其中,State GNN通过用户的激活状态来建模人际影响,而Influence GNN通过来自邻居的人际影响来建模用户的激活状态。

CoupledGNN

图1: 耦合GNN结构

问题定义

假设有 M M M条信息,信息 m m m 的观察级联被记录为观察时间窗口 T T T内的早期采用者集合,即 C T m = { u 1 , u 2 , . . . , u n T m } C_T^m = \{u_1,u_2,...,u_{n^m_T}\} CTm={u1,u2,...,unTm},其中 n T m n_T^m nTm表示信息 m m m在观察时间窗口 T T T内采用或活跃的用户总数。例如下图中 C T m = { A , B } C_T^m = \{A,B\} CTm={A,B}

cascade effect

图2:级联影响的示例

给定观察级联 C T m C_T^m CTm和底层网络 G = ( V , E ) \mathcal{G}=(\mathcal{V},\mathcal{E}) G=(V,E),其中 V \mathcal{V} V为用户集, E ⊆ V × V \mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} EV×V 是所有用户之间的关系集,本文的目标为预测信息 m m m最终的流行度,例如 n ∞ m n_{\infin}^m nm

模型详解

Coupled GNN的结构参见图1,可以看出State GNN和Influence GNN中结点的消息聚合和更新是相互耦合的,其中State GNN中传递的消息为人际影响,而Influence GNN中传递的消息为用户状态。

State GNN

对于目标用户 v ∉ C T m v \notin C_T^m v/CTm,由于他会被其邻居 N ( v ) \mathcal{N}(v) N(v)中活跃用户所影响,作者使用一个GNN来建模用户的激活状态。State GNN的机制如图3所示,其中 r u → \overrightarrow{r_u} ru 表示的是用户 u u u的影响力表示,可以看出某个用户 v v v的激活状态需要受自身和邻居的影响力自身激活状态的影响。

State GNN

图3: State GNN的机制

State GNN的数学形式如下所示:
InfluGate ( r u ( k ) , r v ( k ) ) = β ( k ) [ W ( k ) r u ( k )   ∣ ∣   W ( k ) r v ( k ) ] a v ( k ) = ∑ u ∈ N ( v ) InfluGate ( r u ( k ) , r v ( k ) ) s u ( k ) + p v s v ( k + 1 ) = { 1 ,   v ∈ C T m σ ( μ s ( k ) s v ( k ) + μ a ( k ) a v ( k ) ) ,   v ∉ C T m \text{InfluGate}(r_u^{(k)},r_v^{(k)}) = \beta^{(k)}[W^{(k)}r_u^{(k)}\ ||\ W^{(k)}r_v^{(k)}] \\ a_v^{(k)} = \sum_{u \in \mathcal{N}(v)}{\text{InfluGate}(r_u^{(k)},r_v^{(k)})s_u^{(k)} + p_v} \\ s_v^{(k+1)} = \begin{cases} 1,\ v\in C_T^m \\ \sigma(\mu_s^{(k)}s_v^{(k)} + \mu_a^{(k)}a_v^{(k)}),\ v \notin C_T^m \end{cases} InfluGate(ru(k),rv(k))=β(k)[W(k)ru(k)  W(k)rv(k)]av(k)=uN(v)InfluGate(ru(k),rv(k))su(k)+pvsv(k+1)={1, vCTmσ(μs(k)sv(k)+μa(k)av(k)), v/CTm
其中 r u ( k ) ∈ R h ( k ) r_u^{(k)} \in \mathbb{R}^{h^{(k)}} ru(k)Rh(k)表示第 k k k层的影响力表示, W ( k ) ∈ R h ( k + 1 ) × h ( k ) W^{(k)} \in \mathbb{R}^{h^{(k+1)}\times h^{(k)}} W(k)Rh(k+1)×h(k)是将影响力表示从 h ( k ) h^{(k)} h(k)维转换为 h ( k + 1 ) h^{(k+1)} h(k+1)维的权重矩阵, β ( k ) ∈ R 2 h ( k + 1 ) \beta^(k) \in \mathbb{R}^{2h^{(k+1)}} β(k)R2h(k+1)是一个权重向量, s v ( k ) s_v^{(k)} sv(k)表示用户 v v v上一个激活状态, μ s ( k ) , μ a ( k ) ∈ R \mu_s^{(k)},\mu_a^{(k)} \in \mathbb{R} μs(k),μa(k)R表示权重参数, σ \sigma σ表示非线性激活, p v ∈ R p_v \in \mathbb{R} pvR是一个激活参数,它反映的是用户不被跟随关系影响但被激活的概率。

公式中 a v ( k ) a_v^{(k)} av(k)的计算公式表示的是State GNN的消息聚合,而 s v ( k + 1 ) s_v^{(k + 1)} sv(k+1)表示的是结点的消息更新

注:

  • G \mathcal{G} G中的任意用户 v v v,当其属于 C T m C_T^m CTm时,其 s v ( 0 ) s_v^{(0)} sv(0)为1,否则为0;
  • ∣ ∣ || 表示concatenation,即拼接操作

Influence GNN

Influence GNN用来建模社交网络中的人际影响的扩散。与State GNN类似,每个用户的影响力表示受自身激活状态邻居激活状态以及自身影响力的影响。Influence GNN的机制如图4所示,其中 s u s_u su表示的是用户 u u u的激活状态。

Influence GNN

图4: Influence GNN的机制

其用公式可以表示为:
b v ( k ) = ∑ u ∈ N ( v ) StateGate ( s u ( k ) ) α u v ( k ) W ( k ) r u ( k ) e u v ( k ) = γ ( k ) [ W ( k ) r u ( k )   ∣ ∣   W ( k ) r v ( k ) ] α u v = softmax ( e u v ( k ) ) = exp ( e u v ( k ) ) ∑ z ∈ N ( v ) exp ( e z v ( k ) ) r v ( k + 1 ) = σ ( ζ r ( k ) W ( k ) r v ( k ) + ζ b ( k ) b v ( k ) ) b_v^{(k)} = \sum_{u \in \mathcal{N}(v)}{\text{StateGate}(s_u^{(k)})\alpha_{uv}^{(k)}W^{(k)}r_u^{(k)}} \\ e_{uv}^{(k)} = \gamma^{(k)}[W^{(k)}r_u^{(k)}\ ||\ W^{(k)}r_v^{(k)}] \\ \alpha_{uv} = \text{softmax}(e_{uv}^{(k)}) = \frac{\text{exp}(e_{uv}^{(k)})}{\sum_{z \in \mathcal{N}(v)}\text{exp}(e_{zv}^{(k)})} \\ r_v^{(k+1)} = \sigma(\zeta_r^{(k)}W^{(k)}r_v^{(k)} + \zeta_b^{(k)}b_v^{(k)}) bv(k)=uN(v)StateGate(su(k))αuv(k)W(k)ru(k)euv(k)=γ(k)[W(k)ru(k)  W(k)rv(k)]αuv=softmax(euv(k))=zN(v)exp(ezv(k))exp(euv(k))rv(k+1)=σ(ζr(k)W(k)rv(k)+ζb(k)bv(k))
其中 W ( k ) ∈ R h ( k + 1 ) × h ( k ) W^{(k)} \in \mathbb{R}^{h^{(k+1)}\times h^{(k)}} W(k)Rh(k+1)×h(k)是一个权重矩阵,用来将影响力表示从 h ( k ) h^{(k)} h(k) h ( k + 1 ) h^{(k+1)} h(k+1) α u v ( k ) \alpha_{uv}^{(k)} αuv(k)为用户 u u u到用户 v v v的注意力权重, γ ( k ) ∈ R 2 h ( k ) \gamma^{(k)} \in \mathbb{R}^{2h^{(k)}} γ(k)R2h(k)也是一个权重向量, ζ r ( k ) , ζ b ( k ) ∈ R \zeta_r^{(k)},\zeta_b^{(k)} \in \mathbb{R} ζr(k),ζb(k)R是权重参数。

注:用户 v v v的初始化影响力 r v ( 0 ) r_v^{(0)} rv(0)由结点嵌入和结点特征构成。

输出层

经过 K K K层GNN后的每个用户输出的激活概率分布为 s v ( K ) ∈ [ 0 , 1 ] s_v^{(K)} \in [0,1] sv(K)[0,1],而流行度则通过求和池化机制(sum pooling mechanism)来计算:
n ^ ∞ m = ∑ μ ∈ V s u ( K ) \hat{n}_{\infin}^m = \sum_{\mu \in \mathcal{V}}{s_u^{(K)}} n^m=μVsu(K)
在优化的过程中,作者使用的损失函数为 L L L:
L = L M R S E + L R e g L M R S E = 1 M ∑ m = 1 M ( n ^ ∞ m − n ∞ m n ∞ m ) 2 L = η ∑ p ∈ P ∣ ∣ P ∣ ∣ 2 + λ L u s e r L = L_{MRSE} + L_{Reg} \\ L_{MRSE} = \frac{1}{M}\sum_{m=1}^{M}(\frac{\hat{n}_{\infin}^m - n_{\infin}^m}{n_{\infin}^m})^2 \\ L = \eta \sum_{p \in \mathcal{P}} ||P||_2 + \lambda L_{user} L=LMRSE+LRegLMRSE=M1m=1M(nmn^mnm)2L=ηpPP2+λLuser
其中 P \mathcal{P} P为参数集合, η \eta η λ \lambda λ为超级参数, L u s e r L_{user} Luser为用户级别的交叉熵,例如:
L u s e r = 1 M ∑ m = 1 M 1 V ∑ v ∈ V ( s v ∞ log s v ( K ) + ( 1 − s v ∞ ) log s v ( K ) ) L_{user}=\frac{1}{M}\sum_{m=1}^{M}{\frac{1}{\mathcal{V}} \sum_{v \in {\mathcal{V}}}(s_v^{\infin}\text{log}s_v^{(K)} + (1-s_v^{\infin})\text{log}s_v^{(K)})} Luser=M1m=1MV1vV(svlogsv(K)+(1sv)logsv(K))
其中 s v ∞ s_v^{\infin} sv为每个用户真实的最终激活状态。

实验

数据集

作者使用了两个数据集,一个人工生成的数据集(Synthetic Dataset)和新浪微博数据集(Sina Weibo Dataset)。其中Synthectic Dataset对应的网络结构包含了1086个结点和4038条边,至于信息的级联传播,作者是先采样种子集,然后用扩散算法(IC Model)来获取信息扩展后各结点的状态,最终总共有27218条信息的扩散结果,观察时间窗口为2个时间步。

而新浪微博数据集则是真实世界中收集的,该数据集的网络为一个跟随网络(following network),作者使用的网络包含23681个用户和1802146条边,其中有3228条信息的扩散结果,作者设置了3个不同的观察时间窗口,即1小时、2小时和3小时。

实验结果

作者使用了MRSE(Mean Relative Square Error)、mRSE(Median Relative Square Error)、MAPE(Mean Absolute Percentage Error )和WroPerc(Wrong Percentage Error)四个指标来评估算法的性能。

注:这些指标值越小模型的性能越好。

首先作者展示了CoupledGNN一众baseline的对比结果,结果参见表1和表2,可以看出CoupledGNN的性能处于SOTA地位。

table1
table2

为了验证耦合GNN模型的有效性,作者单独使用GCN和GAT来进行激活状态和影响力的传递、更新与聚合,结果展示在表3中,从表3可以看出,仅使用单独的GNN的效果的却比不上使用耦合GNN的,由此验证了耦合设计是有用的。

table3

结语

若有不对的地方请批评指正!!!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯曦巍峨

码文不易,有条件的可以支持一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值