8.17 记忆增强图神经网络
Posted 炫云云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8.17 记忆增强图神经网络相关的知识,希望对你有一定的参考价值。
文章目录
8.16 记忆增强神经网络:MANN、神经网络图灵机
在许多推荐系统中,用户-物品交互的时间顺序可以揭示时间演变和顺序的用户行为。用户将与之交互的项可能依赖于过去访问过的项。然而,用户和物品的大量增加使得顺序推荐系统仍然面临着不小的挑战:
- (1)对短期商品用户兴趣建模的难度;
- (2)难以获取长期商品用户兴趣;
- (3)商品共现模式的有效建模。
为了解决这些挑战,提出了一种记忆增强图神经网络(MA-GNN)来捕获长期和短期用户兴趣。具体地说,利用图神经网络在短期内对物品上下文信息进行建模,并利用共享记忆网络捕获物品之间的长期依赖关系。除了对用户兴趣进行建模之外,还使用了一个双线性函数来捕获相关商品的共现模式。
1、前言
如图1,增强图神经网络(MA-GNN)处理顺序推荐任务。它由一个通用兴趣模块、一个短期商品兴趣模块、一个长期商品兴趣模块和一个商品共现模块组成。
在通用兴趣模块中,采用矩阵分解项对用户的通用兴趣进行建模,而不考虑商品序列的动态性。
在短期商品兴趣模块中,使用GNN聚合商品的邻居,以形成短期内的用户意图。
为了对用户的长期商品兴趣进行建模,采用共享key-value记忆网络来生成基于用户长期商品序列的兴趣表示。通过这样做,其他有相似偏好的用户在推荐一个商品时就会被考虑进去。
为了融合短期商品和长期商品兴趣, 在GNN框架中引入了一种门控机制,类似于LSTM。这控制了短期商品和长期商品代表对组合代表的贡献。在商品共现模型中,利用一个双线性函数来捕获在商品序列中一个接一个出现的密切相关的商品。
图
1
:
M
A
−
G
N
N
图1:MA-GNN
图1:MA−GNN
2、方法
2.1 问题定义
本文所考虑的推荐任务以顺序隐式反馈作为训练数据。用户偏好按时间顺序由用户-商品序列表示, S u = ( I 1 , I 2 , … , I ∣ S u ∣ ) \\mathcal{S}^{u}=\\left(I_{1}, I_{2}, \\ldots, I_{\\left|\\mathcal{S}^{u}\\right|}\\right) Su=(I1,I2,…,I∣Su∣)中 I ∗ I_{*} I∗是用户 u u u交互过的商品索引。给定 M M M用户中前面的子序列 S 1 : t u ( t < ∣ S u ∣ ) \\mathcal{S}_{1: t}^{u}\\left(t<\\left|\\mathcal{S}^{u}\\right|\\right) S1:tu(t<∣Su∣) ,问题是从 N N N 商品 ( K < N ) (K<N) (K<N)中向每个用户推荐一个包含 K K K的列表,并计算 S t + 1 : ∣ S u ∣ u \\mathcal{S}_{t+1:\\left|\\mathcal{S}^{u}\\right|}^{u} St+1:∣Su∣u中的商品是否出现在推荐列表中。
2.2 通用兴趣模块
通用兴趣建模用户的一般或静态兴趣捕获了用户的固有偏好,并被假定为随着时间的推移是稳定的。为了获取一般用户的兴趣,我们使用矩阵分解项,而不考虑项目的顺序动态。这一项的形式是
p
u
⊤
⋅
q
j
\\mathbf{p}_{u}^{\\top} \\cdot \\mathbf{q}_{j}
pu⊤⋅qj
其中
p
u
∈
R
d
\\mathbf{p}_{u} \\in \\mathbb{R}^{d}
pu∈Rd是用户
u
u
u embedding ,
q
j
∈
R
d
\\mathbf{q}_{j} \\in \\mathbb{R}^{d}
qj∈Rd是目标商品
j
j
j的输出embedding ,
d
d
d是维数。
2.3 短期商品兴趣模块
用户的短期商品兴趣描述了用户当前的偏好,并基于短期内最近访问的几个商品。用户在不久的将来将要交互的商品很可能与她刚刚访问的商品密切相关,并且这种用户行为的属性已经在之前得到了确认。因此,在顺序推荐中,有效地为用户的短期商品兴趣建模是非常重要的,这反映在最近访问的商品上。
为了显式地对用户的短期商品兴趣进行建模,采用滑动窗口策略将商品序列分割为细粒度的子序列。然后,可以关注最近的子序列,预测哪些商品将出现在接下来,而忽略影响较小的不相关商品。
对于每个用户 u u u,提取 ∣ L ∣ |L| ∣L∣连续商品作为输入,它们的下一个 ∣ T ∣ |T| ∣T∣商品作为被预测的目标,其中 L u , l = ( I l , I l + 1 , … , I l + ∣ L ∣ − 1 ) L_{u, l}=\\left(I_{l}, I_{l+1}, \\ldots, I_{l+|L|-1}\\right) Lu,l=(Il,Il+1,…,Il+∣L∣−1)是用户 u u u的第 l l l个子序列。
那么问题可以用公式表示为:在用户商品交互序列 S u \\mathcal{S}^{u} Su中,给定一个 ∣ L ∣ |L| ∣L∣连续的商品序列,该用户预测的商品符合目标 ∣ T ∣ |T| ∣T∣商品的可能性有多大。由于具有邻域信息聚合和局部结构学习的能力,图神经网络(gnn)很好地匹配了聚合 L u , l L_{u, l} Lu,l中的商品来学习用户短期兴趣的任务。
2.3.1商品的图构建
因为商品序列本身不是用于GNN训练的图,所以需要构建一个图来捕获商品之间的连接。如图2,对于商品序列中的每个商品,提取几个后续商品(三个商品),并在它们之间添加边。为每个用户执行此操作,并计算所有用户中提取的商品对的边数。
然后对邻接矩阵行标准化。因此,可以提取序列中相互接近的相关商品。图2显示了一个如何提取商品邻居和构建邻接矩阵的示例。将提取的邻接矩阵表示为 A A A,其中 A i , k A_{i, k} Ai,k表示商品 k k k对于商品 i i i的归一化节点权值。而 i i i的相邻商品记为 N i \\mathcal{N}_{i} Ni。
图
2
图2
图2
2.3.2短期商品兴趣聚合
为了获取用户的短期商品兴趣,使用了一个两层GNN来聚合
L
u
,
l
L_{u, l}
Lu,l中的相邻商品来学习用户的短期商品兴趣表征。形式上,对于第
l
l
l个短期窗口
L
u
,
l
L_{u, l}
Lu,l中的商品
j
j
j,其输入embedding表示为
e
j
∈
R
d
\\mathbf{e}_{j} \\in \\mathbb{R}^{d}
ej∈Rd 。那么用户的短期商品兴趣是:
h
i
=
tanh
(
W
(
1
)
⋅
[
∑
k
∈
N
i
e
k
A
i
,
k
;
e
i
]
)
,
∀
i
∈
L
u
,
l
(1)
\\mathbf{h}_{i}=\\tanh \\left(\\mathbf{W}^{(1)} \\cdot\\left[\\sum_{k \\in \\mathcal{N}_{i}} \\mathbf{e}_{k} A_{i, k} ; \\mathbf{e}_{i}\\right]\\right), \\forall i \\in L_{u, l}\\tag{1}
hi=tanh(W(1)⋅[k∈Ni∑ekAi,k;ei]),∀i∈Lu,l(1)
p u , l S = tanh ( W ( 2 ) ⋅ [ 1 ∣ L ∣ ∑ i ∈ L u , l h i ; p u ] ) (2) \\begin{gathered} \\mathbf{p}_{u, l}^{S}=\\tanh \\left(\\mathbf{W}^{(2)} \\cdot\\left[\\frac{1}{|L|} \\sum_{i \\in L_{u, l}} \\mathbf{h}_{i} ; \\mathbf{p}_{u}\\right]\\right) \\end{gathered}\\tag{2} pu,lS=tanh⎝⎛W(2)⋅⎣⎡以上是关于8.17 记忆增强图神经网络的主要内容,如果未能解决你的问题,请参考以下文章