【论文笔记】CIKM2020 Star Graph Neural Networks for Session-based Recommendation
目录
- PROBLEM
- SOLUTION
- APPROACH
- Framework
- Session star graph construction
- Satellite connections
- Star connections
- Learning item embeddings on graphs
- Initialization
- Update
- Satellite nodes update
- Star node update
- Highway networks
- Session representation and prediction
- EXPERIMENTS
- Overall performance
- Utility of star graph neural networks
- Utility of highway networks
- Impact of the session length
PROBLEM
GNNs往往仅传播来自邻接items的信息,忽略了不直接相连的items信息.
SOLUTION
提出star graph neural network (SGNN) ,以建模items间复杂的过渡关系.
应用highway networks (HN) 解决GNNs存在的过拟合问题,
APPROACH
Framework
Session star graph construction
session S={v1,v2,...,vt,...,vn}S=\{v_1,v_2,...,v_t,...,v_n\}S={v1,v2,...,vt,...,vn},每个session表示为Gs={Vs,Es}G_s=\{\mathcal{V_s,E_s}\}Gs={Vs,Es}.
其中Vs={{x1,x2,...,xm},xs}\mathcal{V_s}=\{\{x_1,x_2,...,x_m\},x_s\}Vs={{x1,x2,...,xm},xs}表示star graph的结点集,第一部分{x1,x2,...,xm}\{x_1,x_2,...,x_m\}{x1,x2,...,xm}表示当前session所有的unique items,称之为satellite nodes,第二部分xsx_sxs表示新增的star node,Es\mathcal{E_s}Es为star graph的边集,包含两种边,satellite connections和star connections.
Satellite connections
如图二,蓝色实线为satellite connections,即session内部顺序关系.
Star connections
如图二,蓝色虚线用于更新satellite nodes,红色虚线用于更新star node.
Learning item embeddings on graphs
Initialization
对于satellite nodes,直接使用item embedding作为初始表示:
h0={x1,x2,...,xm}(1)\bf{h}^0=\{x_1,x_2,...,x_m\} \tag{1} h0={x1,x2,...,xm}(1)
对于star node,初始采用satellite nodes的average pooling表示:
xs0=1m∑i=1mxi(2)\textbf{x}_s^0=\frac{1}{m}\sum_{i=1}^m\textbf{x}_i \tag{2} xs0=m1i=1∑mxi(2)
Update
Satellite nodes update
首先考虑来自邻接结点的信息.
ail=Concat(AiI([x1l−1,x2l−1,...,xml−1]TWI+bI),AiO([x1l−1,x2l−1,...,xml−1]TWO+bO))(3)\begin{aligned} \textbf{a}_i^l=Concat(&\textbf{A}_i^I([x_1^{l-1},x_2^{l-1},...,x_m^{l-1}]^T\textbf{W}^I+\textbf{b}^I), \\ &\textbf{A}_i^O([x_1^{l-1},x_2^{l-1},...,x_m^{l-1}]^T\textbf{W}^O+\textbf{b}^O)) \tag{3} \end{aligned} ail=Concat(AiI([x1l−1,x2l−1,...,xml−1]TWI+bI),AiO([x1l−1,x2l−1,...,xml−1]TWO+bO))(3)
其中,AiI,AiO∈R1×m\textbf{A}_i^I,\textbf{A}_i^O \in \mathbb{R}^{1 \times m}AiI,AiO∈R1×m是结点xix_ixi相应的入度和出度权重,WI,WO∈Rd×d\textbf{W}^I,\textbf{W}^O \in \mathbb{R}^{d \times d}WI,WO∈Rd×d是针对入边和出边可学习的参数,bI,bO∈Rd\textbf{b}^I,\textbf{b}^O \in \mathbb{R}^dbI,bO∈Rd是偏置向量,ail∈R1×2d\textbf{a}_i^l \in \mathbb{R}^{1 \times 2d}ail∈R1×2d用来表示对结点xix_ixi的传播信息.
将ail\textbf{a}_i^lail和结点xix_ixi之前的状态hil−1\textbf{h}_i^{l-1}hil−1送入GGNN:
zil=σ(Wzail+Uzhil−1),ril=σ(Wrail+Urhil−1),h~il=tanh(Whail+Uh(ril⊙hil−1)),h^il=(1−zil)⊙hil−1+zil⊙h~il(4)\begin{aligned} \textbf{z}_i^l&=\sigma(\textbf{W}_z\textbf{a}_i^l+\textbf{U}_z\textbf{h}_i^{l-1}), \\ \textbf{r}_i^l&=\sigma(\textbf{W}_r\textbf{a}_i^l+\textbf{U}_r\textbf{h}_i^{l-1}), \\ \tilde{\textbf{h}}_i^l&=\tanh (\textbf{W}_h\textbf{a}_i^l+\textbf{U}_h(\textbf{r}_i^l\odot \textbf{h}_i^{l-1})), \\ \hat{\textbf{h}}_i^l&=(1-\textbf{z}_i^l)\odot \textbf{h}_i^{l-1}+\textbf{z}_i^l \odot \tilde{\textbf{h}}_i^l \tag{4} \end{aligned} zilrilh~ilh^il=σ(Wzail+Uzhil−1),=σ(Wrail+Urhil−1),=tanh(Whail+Uh(ril⊙hil−1)),=(1−zil)⊙hil−1+zil⊙h~il(4)
其中Wz,Wr,Wh∈Rd×2d\textbf{W}_z,\textbf{W}_r,\textbf{W}_h \in \mathbb{R}^{d \times 2d}Wz,Wr,Wh∈Rd×2d和Uz,Ur,Uh∈Rd×d\textbf{U}_z,\textbf{U}_r,\textbf{U}_h \in \mathbb{R}^{d \times d}Uz,Ur,Uh∈Rd×d是可训练的参数,σ\sigmaσ是sigmoidsigmoidsigmoid函数,⊙\odot⊙是哈达玛积,zil\textbf{z}_i^lzil和ril\textbf{r}_i^lril分别是更新门和重置门,用于控制前一状态hil−1\textbf{h}_i^{l-1}hil−1多少信息应被保留以及多少信息应被写入候选激活h~il\tilde{\textbf{h}}_i^lh~il.
接下来考虑来自star node的信息.
计算每个satellite node xix_ixi和star node xsx_sxs的相似度:
αil=(Wq1h^il)TWk1xsl−1d(5)\alpha_i^l=\frac{(\textbf{W}_{q1} \hat{\textbf{h}}_i^l)^T\textbf{W}_{k1}\textbf{x}_s^{l-1}}{\sqrt{d}} \tag{5}αil=d
其中Wq1,Wk1\textbf{W}_{q1},\textbf{W}_{k1}Wq1,Wk1是可训练的参数,h^iland xsl−1\hat{\textbf{h}}_i^l \ \text{and} \ \textbf{x}_s^{l-1}h^ilandxsl−1分别是item xix_ixi和xsx_sxs的表示,d\sqrt{d}d用于限定系数尺寸.
最后使用gating network选择性地融合以上两种信息:
hil=(1−αil)h^il+αilxsl−1(6)\textbf{h}_i^l=(1-\alpha_i^l)\hat{\textbf{h}}_i^l+\alpha_i^l\textbf{x}_s^{l-1} \tag{6} hil=(1−αil)h^il+αilxsl−1(6)
Star node update
基于satellite nodes的新表示来更新star node,采用自注意力机制,将star node视为query,分配satellite nodes不同程度的重要性:
β=softmax(KTqd)=softmax((Wk2hl)TWq2xsl−1d)(7)\beta=\text{softmax}\left(\frac{\textbf{K}^T\textbf{q}}{\sqrt{d}}\right)=\text{softmax}\left(\frac{\left(\textbf{W}_{k2}\textbf{h}^l\right)^T\textbf{W}_{q2}\textbf{x}_s^{l-1}}{\sqrt{d}}\right) \tag{7} β=softmax(d
其中q∈Rd\textbf{q} \in \mathbb{R}^dq∈Rd和K∈Rd×m\textbf{K} \in \mathbb{R}^{d \times m}K∈Rd×m由star node和satellite nodes转化而来,Wq2,Wk2∈Rd×d\textbf{W}_{q2},\textbf{W}_{k2} \in \mathbb{R}^{d \times d}Wq2,Wk2∈Rd×d是相应的可训练参数.
则star node可表示为:
xsl=βhl(8)\textbf{x}_s^l=\beta \textbf{h}^l \tag{8} xsl=βhl(8)
其中β∈Rm\beta \in \mathbb{R}^mβ∈Rm是所有satellite nodes的权重.
Highway networks
为了准确地表示items间的过渡关系,堆叠多层SGNNS,SGNN的第lll层可以表示为:
hl,xsl=SGNN(hl−1,ssl−1,AI,AO)(9)\textbf{h}^l,\textbf{x}_s^l=\text{SGNN}(\textbf{h}^{l-1},\textbf{s}_s^{l-1},\textbf{A}^I,\textbf{A}^O) \tag{9} hl,xsl=SGNN(hl−1,ssl−1,AI,AO)(9)
由于多层graph layers能够传播结点间大量的信息,容易带来偏置,导致出现过拟合问题,为此采用highway networks选择性地从多层SGNNs前/后的item embeddings获取信息,这里分别用h0\textbf{h}^0h0和hL\textbf{h}^LhL表示,LLL为SGNN的层数,则highway networks可表示为:
hf=g⊙h0+(1−g)⊙hL(10)\textbf{h}^f=\textbf{g} \odot \textbf{h}^0+(1-\textbf{g}) \odot \textbf{h}^L \tag{10} hf=g⊙h0+(1−g)⊙hL(10)
其中g∈Rd×m\textbf{g} \in \mathbb{R}^{d \times m}g∈Rd×m由SGNNs的输入与输出决定:
g=σ(Wg[h0;hL])(11)\textbf{g}=\sigma(\textbf{W}_g[\textbf{h}^0;\textbf{h}^L]) \tag{11} g=σ(Wg[h0;hL])(11)
其中Wg∈Rd×2d\textbf{W}_g \in \mathbb{R}^{d \times 2d}Wg∈Rd×2d是将拼接向量从R2d\mathbb{R}^{2d}R2d转换到Rd\mathbb{R}^dRd的可训练参数,σ\sigmaσ是sigmodsigmodsigmod函数.
Session representation and prediction
将satellite nodes hf∈Rd×m\textbf{h}^f \in \mathbb{R}^{d \times m}hf∈Rd×m写作u∈Rd×n\textbf{u} \in \mathbb{R}^{d \times n}u∈Rd×n,为了将序列信息融合到SGNN-HN,加入可训练position embeddings p∈Rd×n\textbf{p} \in \mathbb{R}^{d \times n}p∈Rd×n,则有up=u+p\textbf{u}^p=\textbf{u}+\textbf{p}up=u+p.
使用session最后一个item作为local preference,即zr=unp\textbf{z}_r=\textbf{u}_n^pzr=unp.
global preference可表示为:
zg=∑i=1nγiuip(12)\textbf{z}_g=\sum_{i=1}^n\gamma_i \textbf{u}_i^p \tag{12} zg=i=1∑nγiuip(12)
采取软注意力机制:
γi=W0Tσ(W1uip+W2xs+W3zr+b)(13)\gamma_i=\bf{W}_0^T\sigma(W_1u_i^p+W_2x_s+W_3z_r+b) \tag{13} γi=W0Tσ(W1uip+W2xs+W3zr+b)(13)
其中W0∈Rd,W1,W2,W3∈Rd×d\textbf{W}_0 \in \mathbb{R}^d,\textbf{W}_1,\textbf{W}_2,\textbf{W}_3 \in \mathbb{R}^{d \times d}W0∈Rd,W1,W2,W3∈Rd×d是控制权重的可训练参数,b∈Rd\textbf{b} \in \mathbb{R}^db∈Rd是偏置.
结合global和local preference,最终session表示为:
zh=W4[zg;zr](14)\bf{z_h}=W_4[z_g;z_r] \tag{14} zh=W4[zg;zr](14)
其中W4∈Rd×2d\textbf{W}_4 \in \mathbb{R}^{d \times 2d}W4∈Rd×2d将拼接的表示从R2d\mathbb{R}^{2d}R2d转换到Rd\mathbb{R}^dRd.
为解决推荐中的长尾问题,采取层归一化:
z~h=LayerNorm(zh)v~i=LayerNorm(vi)\tilde{\textbf{z}}_h=LayerNorm(\textbf{z}_h) \\ \tilde{\textbf{v}}_i=LayerNorm(\textbf{v}_i) z~h=LayerNorm(zh)v~i=LayerNorm(vi)
计算每个item的得分:
y~i=z~hTv~i(15)\tilde{\textbf{y}}_i=\tilde{\textbf{z}}^T_h \tilde{\textbf{v}}_i \tag{15} y~i=z~hTv~i(15)
应用softmax layer归一化候选items的偏好得分,为解决softmax loss在训练集陷入极高的值导致归一化后的收敛问题,应用scale coefficient τ\tauτ,则最终得分表示:
y^=exp(τy~i)∑iexp(τy~i),∀i=1,2,...,∣V∣(16)\hat{\textbf{y}}=\frac{\exp (\tau\tilde{\textbf{y}}_i)}{\sum_i \exp (\tau \tilde{\textbf{y}}_i)}, \ \forall i=1,2,...,|V| \tag{16} y^=∑iexp(τy~i)exp(τy~i),∀i=1,2,...,∣V∣(16)
采用交叉熵作为优化目标训练参数:
L(y^)=−∑i=1∣V∣yilog(y^i)+(1−yi)log(1−y^i)(17)L(\hat{\textbf{y}})=-\sum_{i=1}^{|V|}\textbf{y}_i\log(\hat{\textbf{y}}_i)+(1-\textbf{y}_i)\log (1-\hat{\textbf{y}}_i) \tag{17} L(y^)=−i=1∑∣V∣yilog(y^i)+(1−yi)log(1−y^i)(17)
其中yi∈y\textbf{y}_i \in \textbf{y}yi∈y反映一个item在ground truth one-hot编码向量的出现.
EXPERIMENTS
Overall performance
Utility of star graph neural networks
Utility of highway networks
Impact of the session length
【论文笔记】CIKM2020 Star Graph Neural Networks for Session-based Recommendation相关推荐
- 论文笔记:Federated Graph Neural Networks: Overview, Techniques and Challenges
论文地址:https://arxiv.org/pdf/2202.07256.pdf 目录 一.摘要 二.引言 三.3层FedGNN分类方法 1.分类方法简述 2.客户端通过图拓扑进行关联 2.1.有中 ...
- 论文笔记--Spatial-Temporal Fusion Graph Neural Networks for Traffic Flow Forecasting
在交通预测问题上,现有的框架通常利用给定的空间邻接图和复杂的机制来建模空间和时间关联.作者认为使用给定的空间邻接图会限制模型的有效时空相关性学习,并且它们通常使用单独的模块来实现空间和时间相关性,或者 ...
- 文献笔记:Benchmarking graph neural networks for materials chemistry
文献笔记:Benchmarking graph neural networks for materials chemistry 摘要 Introduction RESULTS DISCUSSION M ...
- 【推荐系统->论文阅读】Dynamic Graph Neural Networks for Sequential Recommendation(用于序列推荐的动态图神经网络)
Dynamic Graph Neural Networks for Sequential Recommendation(用于序列推荐的动态图神经网络) Mengqi Zhang, Shu Wu,Mem ...
- 论文笔记 EMNLP 2020|Graph Transformer Networks with Syntactic and Semantic Structures for Event Argument
文章目录 1 简介 1.1 创新 2 方法 3 实验 1 简介 论文题目:Graph Transformer Networks with Syntactic and Semantic Structur ...
- 论文笔记之:Graph Attention Networks
Graph Attention Networks 2018-02-06 16:52:49 Abstract: 本文提出一种新颖的 graph attention networks (GATs), 可 ...
- 【论文笔记】K-plet Recurrent Neural Networks for Sequential Recommendation
原文:K-plet Recurrent Neural Networks for Sequential Recommendation (本文只是略读,所以笔记只记录了主要的思想,更多的细节还需看原文) ...
- 【论文笔记】Factorizable Graph Convolutional Networks
文章目录 1. Abstract 2. Method 2.1 Disentangling Step 2.2 Aggregation Step 2.3 Merging Step 3. 总体架构 4. 超 ...
- [深度学习论文笔记][Adversarial Examples] Deep Neural Networks are Easily Fooled: High Confidence Predictions
Nguyen, Anh, Jason Yosinski, and Jeff Clune. "Deep neural networks are easily fooled: High conf ...
最新文章
- C++ 接口 函数导出_Python玩转Excel:实现函数自动填充、数据排序
- SlidingMenu实现侧滑
- Duboo入门示例(Idea开发环境)
- 游标声明 oracle,Oracle游标声明
- mock如何为空_Mockito怎么样Mock返回值为空的方法
- 运行MonkeyRunner时使用Genymotion模拟器
- CCF202104-3 DHCP服务器(100分)【模拟】
- 第二篇:浅谈自定义头文件可能导致的重定义问题
- 结束SpringMVC
- 300字简单区分线程问题
- php ajax怎么拿id,php ajax无刷新分页,支持id定位
- Java 实现 1024 小游戏【附源码】
- myexcel导入导出数据
- solidworks出专利图小技巧
- 关于Pascal和二项式系数
- PHP 使用 file_get_contents 接收 POST 的資料
- [办公软件word] 怎么让Worde2019显示所有批注?
- NB-IoT窖井井盖解决方案
- android布局靠底部,android – 使用layout_gravity =“bottom”放置在LinearLayout的底部
- 【书摘】深度学习简史(摘抄自《深度学习基础与应用》)