标题 * 表示未完成

上图为NGCF模型的架构图,此模型主要分为三个组成部分:
e
m
b
e
d
d
i
n
g
l
a
y
e
r
embedding\ layer
embedding layer、
e
m
b
e
d
d
i
n
g
p
r
o
p
a
g
a
t
i
o
n
l
a
y
e
r
s
embedding\ propagation\ layers
embedding propagation layers、
t
h
e
p
r
e
d
i
c
t
i
o
n
l
a
y
e
r
the\ prediction\ layer
the prediction layer,下面会对这三个layer详细说明。
对 c o l l a b o r a t i v e s i g n a l collaborative \ signal collaborative signal显式编码是十分重要的,但如何对其编码是个麻烦的问题,本文提出了一种基于交互图结构的编码方式
c
o
l
l
a
b
o
r
a
t
i
v
e
s
i
g
n
a
l
collaborative \ signal
collaborative signal
传统MF建立embedding的方法并不能很好的表达出
u
s
e
r
−
i
t
e
m
user-item
user−item的潜在交互关系,这种潜在关系在本文中被称为:
c
o
l
l
a
b
o
r
a
t
i
v
e
s
i
g
n
a
l
collaborative \ signal
collaborative signal
h
i
g
h
−
o
r
d
e
r
c
o
n
n
e
c
t
i
v
i
t
y
A
n
d
u
s
e
r
−
i
t
e
m
i
n
t
e
r
a
c
t
i
o
n
g
r
a
p
h
high-order\ connectivity\ And\ user-item\ interaction\ graph
high−order connectivity And user−item interaction graph

分析上图,可以发现右图是以
u
1
u_1
u1为根结点的树形结构展开,其中蕴含着丰富的信息,例如:
u
2
←
i
2
←
u
1
u_2←i_2←u_1
u2←i2←u1路径可以说明
u
1
u_1
u1和
u
2
u_2
u2具有一定的行为相似度;
u
1
←
i
2
←
u
2
←
i
4
u_1 ← i_2 ← u_2 ← i_4
u1←i2←u2←i4路径可以说明
u
1
u_1
u1除了对
i
2
i_2
i2有兴趣,对
i
4
i_4
i4也有兴趣;此外,当
l
=
3
l=3
l=3时可以发现
i
4
i_4
i4出现了两次而
i
5
i_5
i5只出现了一次,所以用户
u
1
u_1
u1可能对
i
4
i_4
i4更感兴趣;当
l
=
1
l=1
l=1时是目标用户直接交互过的
i
t
e
m
item
item
E
m
b
e
d
d
i
n
g
L
a
y
e
r
Embedding\ Layer
Embedding Layer
此layer建立
u
s
e
r
e
m
b
e
d
d
i
n
g
s
a
n
d
i
t
e
m
e
m
b
e
d
d
i
n
g
s
user\ embeddings\ and\ item\ embeddings
user embeddings and item embeddings的初始化状态

传统的MF以及NCF方法将上述
E
E
E 直接输入交互层进行分析,而本文的NGCF将上述
E
E
E 在
u
s
e
r
−
i
t
e
m
i
n
t
e
r
a
c
t
i
o
n
g
r
a
p
h
user-item\ interaction\ graph
user−item interaction graph上进行传播从而精炼embeddings
E
m
b
e
d
d
i
n
g
P
r
o
p
a
g
a
t
i
o
n
L
a
y
e
r
s
Embedding\ Propagation\ Layers
Embedding Propagation Layers
全文的精华都在这里了。
这一层的思想即是精炼embeddings, 包括两个步骤,Message construction和Message aggregation
(1)
M
e
s
s
a
g
e
c
o
n
s
t
r
u
c
t
i
o
n
Message\ construction
Message construction
本文提出对于每一对
u
s
e
r
−
i
t
e
m
user-item
user−item的信息传递都可由以下公式定义(图示为从某一item到user),
f
(
⋅
)
f(⋅)
f(⋅)表示 message encoding function,
p
u
i
p_{ui}
pui表示衰减系数,参考 Figure 1
h
i
g
h
−
o
r
d
e
r
c
o
n
n
e
c
t
i
v
i
t
y
high-order\ connectivity
high−order connectivity,我们可以自然的理解为从
i
i
i到
u
u
u的路径距离越远,那传播的效力就越低。
e
i
(
0
)
e
u
(
0
)
e_i^{(0)}\ e_u^{(0)}
ei(0) eu(0)的初始化值即使用传统的embeddings算法。

对于
f
(
⋅
)
f(⋅)
f(⋅)本文更加具体的定义如下所示,⊙表示逐元素乘法,它是描述特征交互的一种经典方式。
p
u
i
=
1
∣
N
u
∣
∣
N
i
∣
p_{ui} = \frac{1}{\sqrt {|N_u ||N_i|}}
pui=∣Nu∣∣Ni∣1 其中
N
u
N_u
Nu表示的是与当前
u
s
e
r
user
user直接有关联的(即本文所说的 first-hop neighbors)结点,如对于上图 Figure 中的
u
1
u_1
u1与之直接有历史互动的的
i
t
e
m
item
item,所以
p
u
i
p_{ui}
pui表示过去访问过的
i
t
e
m
item
item对于确认
u
s
e
r
user
user偏好的贡献。(由于此传播算法是需要递归的,所以我们总结一下表达式可以看出多个
p
u
i
p_{ui}
pui相乘肯定会使式子最后的计算结果越来越小,恰好满足了我们“离得越远 关联越少”的原则)

(2)
M
e
s
s
a
g
e
A
g
g
r
e
g
a
t
i
o
n
Message\ Aggregation
Message Aggregation
如下为本文提出 aggregation function,Leaky在本博客末尾有说明。
其中
m
u
←
u
=
W
1
e
u
m_{u\gets{u}}=W_1e_u
mu←u=W1eu,此处的
W
1
W_1
W1与上式(3)中的
W
1
W_1
W1为同一个。其表示 self-connection。
可以发现我们主要在向
u
u
u的“邻居”收集信息以获取更详细的embedding。

将其进一步多层迭代化表示如下。
l
l
l 表示embedding传播层次,由于是递归,算法探索层次从高到低,再由低到高返回计算值。不要将
l
l
l 的定义和
N
−
h
o
p
n
e
i
g
h
b
o
r
s
N-hop\ neighbors
N−hop neighbors弄混淆。


传播过程图如下配合着看会明了很多,注意图中的红线,可以发现
e
u
1
(
3
)
e^{(3)}_{u_1}
eu1(3)中包含着离他最远的结点之一
e
i
4
(
0
)
e^{(0)}_{i_4}
ei4(0)的信息,达到了目的。

(3)
P
r
o
p
a
g
a
t
i
o
n
R
u
l
e
i
n
M
a
t
r
i
x
F
o
r
m
Propagation\ Rule\ in\ Matrix\ Form
Propagation Rule in Matrix Form
更进一步的,文章提出了以上传播算法的矩阵表示形式。
L
L
L作者在文中表示相当于
p
u
i
p_{ui}
pui,
σ
σ
σ表示激活函数
L
e
a
k
y
R
e
L
U
LeakyReLU
LeakyReLU,
I
I
I表示单位矩阵。此表达式把
u
s
e
r
,
i
t
e
m
user, item
user,item的 embeddings 矩阵结合起来使用递归进行传播计算。

这一段委实没有看明白,线性代数和矩阵分析课程的知识有所欠缺,补完之后再来看看。








L
e
a
k
y
R
e
L
U
LeakyReLU
LeakyReLU
数学表达式:y = max(0, x) + leak*min(0,x) (leak是一个很小的常数,这样保留了一些负轴的值,使得负轴的信息不会全部丢失)

对于本文的 公式(3) 可以发现作者不仅考虑了message的来源 e i e_i ei(传统图卷积方法只考虑这个),还考虑了信息来源和信息目的地之间的关系,即 e i ⊙ e u e_i ⊙ e_u ei⊙eu
L
o
n
g
S
h
o
r
t
T
e
r
m
M
e
m
o
r
y
n
e
t
w
o
r
k
s
Long\ Short\ Term\ Memory\ networks
Long Short Term Memory networks
即LSTM,论文原文:正在架设传送门!
SVD(奇异值分解)
相关介绍:正在架设传送门!
END