《Graph Representation Learning》笔记 Chapter4

系列文章
《Graph Representation Learning》笔记 Chapter2
《Graph Representation Learning》笔记 Chapter3

Reconstructing muti-relational data

RESCAL 定义了解码器
D E C ( u , τ , v ) = z u T R τ z v DEC(u, τ, v) = z_u^TR_τz_v DEC(u,τ,v)=zuTRτzv
其中, R τ ∈ R d × d R_τ ∈ \mathbb{R}^{d×d} RτRd×d 是针对关系 τ ∈ R τ ∈ R τR 的一个可学习的矩阵。
我们可以使用一个基本的重构损失来训练 embedding 矩阵 Z Z Z 和关系矩阵 R τ R_τ Rτ
L = ∑ u ∈ V ∑ v ∈ V ∑ τ ∈ R ∥ D E C ( u , τ , v ) − A [ u , τ , v ] ∥ 2 = ∑ u ∈ V ∑ v ∈ V ∑ τ ∈ R ∥ z u T R τ z v − A [ u , τ , v ] ∥ 2 \begin{aligned} \mathcal{L} &= \sum_{u ∈ \mathcal{V}}{ \sum_{v ∈ \mathcal{V}}{ \sum_{τ ∈ \mathcal{R}}{ \| DEC(u, τ, v) - \mathcal{A}[u, τ, v] \|^2 } } } \\ &= \sum_{u ∈ \mathcal{V}}{ \sum_{v ∈ \mathcal{V}}{ \sum_{τ ∈ \mathcal{R}}{ \| z_u^TR_τz_v - \mathcal{A}[u, τ, v] \|^2 } } } \end{aligned} L=uVvVτRDEC(u,τ,v)A[u,τ,v]2=uVvVτRzuTRτzvA[u,τ,v]2
其中 A ∈ R ∣ V ∣ × ∣ R ∣ × ∣ V ∣ \mathcal{A} ∈ \mathbb{R}^{|\mathcal{V}|×|\mathcal{R}|×|\mathcal{V}|} ARV×R×V 是多关系图的邻接张量

Loss function

Cross-entropy with negative sampling

通过改进标准二元交叉熵损失,定义
L = ∑ ( u , τ , v ) ∈ E − l o g ( σ ( D E C ( u , τ , v ) ) ) − γ E v n ∼ P n , u ( V ) [ l o g ( σ ( − D E C ( u , τ , v n ) ) ) ] \mathcal{L} = \sum_{(u, τ, v) ∈ \mathcal{E}}{ -log(σ(DEC(u, τ, v))) - γ\mathbb{E}_{v_n \sim P_{n, u}(\mathcal{V})}[log(σ(-DEC(u, τ, v_n)))] } L=(u,τ,v)Elog(σ(DEC(u,τ,v)))γEvnPn,u(V)[log(σ(DEC(u,τ,vn)))]
其中 σ σ σ 代表 logistic 函数, P n , u ( V ) P_{n, u}(\mathcal{V}) Pn,u(V) 代表基于 u u u 的“负样本”(没有 τ τ τ 关系的节点对)分布, γ > 0 γ > 0 γ>0 是一个超参数。
l o g ( σ ( D E C ( u , τ , v ) ) ) log(σ(DEC(u, τ, v))) log(σ(DEC(u,τ,v))) 代表正确预测两节点间存在 τ τ τ 关系的概率对数。
E v n ∼ P n , u ( V ) [ l o g ( σ ( − D E C ( u , τ , v n ) ) ) ] \mathbb{E}_{v_n \sim P_{n, u}(\mathcal{V})}[log(σ(-DEC(u, τ, v_n)))] EvnPn,u(V)[log(σ(DEC(u,τ,vn)))] 代表正确预测两节点间不存在 τ τ τ 关系的概率对数。
实际操作中,由于 P n , u ( V ) P_{n, u}(\mathcal{V}) Pn,u(V) 所包含的样本数量过大,我们采用蒙特卡洛采样方法近似计算损失
L = ∑ ( u , τ , v ) ∈ E ( − l o g ( σ ( D E C ( u , τ , v ) ) ) − ∑ v n ∈ P n , u [ l o g ( σ ( − D E C ( u , τ , v n ) ) ) ] ) \mathcal{L} = \sum_{(u, τ, v) ∈ \mathcal{E}}{ (-log(σ(DEC(u, τ, v))) - \sum_{v_n ∈ \mathcal{P}_{n, u}}{ [log(σ(-DEC(u, τ, v_n)))]} ) } L=(u,τ,v)E(log(σ(DEC(u,τ,v)))vnPn,u[log(σ(DEC(u,τ,vn)))])
其中 P n , u \mathcal{P}_{n, u} Pn,u P n , u ( V ) P_{n, u}(\mathcal{V}) Pn,u(V) 的小子集。

Max-margin loss

最大间隔损失定义为
L = ∑ ( u , τ , v ) ∈ E ∑ v n ∈ P n , u m a x ( 0 , − D E C ( u , τ , v ) + D E C ( u , τ , v n ) + Δ ) \mathcal{L} = \sum_{(u, τ, v) ∈ \mathcal{E}}\sum_{v_n ∈ \mathcal{P}_{n, u}}max(0, -DEC(u, τ, v) + DEC(u, τ, v_n) + Δ) L=(u,τ,v)EvnPn,umax(0,DEC(u,τ,v)+DEC(u,τ,vn)+Δ)
当正样本对的解码得分大于负样本对时我们可以获得一个很小的损失, Δ Δ Δ 项称为间隔,正样本解码得分需要比负样本得分大于一个间隔,才能保证 L \mathcal{L} L 为0。

Multi-relational decoder

Reanslational decoders

TransE 模型定义为
D E C ( u , τ , v ) = − ∥ z u + r τ − z v ∥ DEC(u, τ, v) = -\| z_u + r_τ - z_v \| DEC(u,τ,v)=zu+rτzv
节点 uembedding 向量与关系向量 r_τ 相结合后计算与节点 v 的距离,这个距离与节点间关系存在的可能性成比例。
TransX 模型定义为
D E C ( u , τ , v ) = − ∥ g 1 , τ ( z u ) + r τ − g 2 , τ ( z v ) ∥ DEC(u, τ, v) = -\| g_{1, τ}(z_u) + r_τ - g_{2, τ}(z_v) \| DEC(u,τ,v)=g1,τ(zu)+rτg2,τ(zv)
其中, g i , τ g_{i, τ} gi,τ 为可训练的函数。
TransH 模型定义为
D E C ( u , τ , v ) = − ∥ ( z u − w r T z u w r ) + r τ − ( z u − w r T z v w r ) ∥ DEC(u, τ, v) = -\| (z_u - w_r^Tz_uw_r) + r_τ - (z_u -w_r^Tz_vw_r) \| DEC(u,τ,v)=(zuwrTzuwr)+rτ(zuwrTzvwr)
其中, w r w_r wr 为可训练的向量。

Multi-linear dot products

定义点积解码器
D E C ( u , τ , v ) = < z u , r τ , z v > = ∑ i = 1 d z u [ i ] × r τ [ i ] × z v [ i ] \begin{aligned} DEC(u, τ, v) &= <z_u, r_τ, z_v> \\ &= \sum_{i=1}^d{ z_u[i] × r_τ[i] × z_v[i]} \end{aligned} DEC(u,τ,v)=<zu,rτ,zv>=i=1dzu[i]×rτ[i]×zv[i]

Complex decoders

上述点积解码器只能解码对称关系,即
D E C ( u , τ , v ) = < z u , r τ , z v > = ∑ i = 1 d z u [ i ] × r τ [ i ] × z v [ i ] = < z v , r τ , z u > = D E C ( v , τ , u ) \begin{aligned} DEC(u, τ, v) &= <z_u, r_τ, z_v> \\ &= \sum_{i=1}^d{ z_u[i] × r_τ[i] × z_v[i] } \\ &= <z_v, r_τ, z_u> \\ &= DEC(v, τ, u) \end{aligned} DEC(u,τ,v)=<zu,rτ,zv>=i=1dzu[i]×rτ[i]×zv[i]=<zv,rτ,zu>=DEC(v,τ,u)
为了解决这个问题, ComplEx 引入了复数
D E C ( u , τ , v ) = R e ( < z u , r τ , z ˉ v > ) = R e ( ∑ i = 1 d z u [ i ] × t τ × z ˉ v [ j ] ) \begin{aligned} DEC(u, τ, v) &= Re(<z_u, r_τ, \bar{z}_v>) \\ &= Re(\sum_{i=1}^d{ z_u[i] × t_τ × \bar{z}_v[j]}) \end{aligned} DEC(u,τ,v)=Re(<zu,rτ,zˉv>)=Re(i=1dzu[i]×tτ×zˉv[j])
其中, z u , z v , r τ ∈ C d z_u, z_v, r_τ ∈ \mathbb{C}^d zu,zv,rτCd 为复数 embeddings R e Re Re 代表复数向量的实数部分。这个解码器采用了共轭 embeddings z ˉ v \bar{z}_v zˉv ,所以适用于非对称关系图。
RotatE 模型依然取 embeddings 为复数,引入旋转的概念
D E C ( u , τ , v ) = − ∥ z u ∘ r τ − z v ∥ DEC(u, τ, v) = -\| z_u \circ r_τ - z_v \| DEC(u,τ,v)=zurτzv
其中 ∘ \circ 代表哈达玛积 ∣ r τ [ i ] ∣ = 1 , ∀ i ∈ 1 , . . . , d |r_τ[i]| = 1, \forall{i} ∈ {1, ..., d} rτ[i]=1,i1,...,d ,这个限制使得 r τ [ i ] = e i θ r , i r_τ[i] = e^{iθ_{r, i}} rτ[i]=eiθr,i ,使 z u [ i ] , ∀ i ∈ 1 , . . . , d z_u[i], \forall{i} ∈ {1, ..., d} zu[i],i1,...,d 能在复平面旋转。

Representational abilities

Symmetry and anti-symmetry

图中许多节点对的关系是对称的,即
( u , τ , v ) ∈ E ↔ ( v , τ , u ) ∈ E (u, τ, v) ∈ \mathcal{E} \leftrightarrow (v, τ, u) ∈ \mathcal{E} (u,τ,v)E(v,τ,u)E
所以,反对称关系表示为
( u , τ , v ) ∈ E → ( v , τ , u ) ∉ E (u, τ, v) ∈ \mathcal{E} \rightarrow (v, τ, u) \notin \mathcal{E} (u,τ,v)E(v,τ,u)/E
TransE 模型只能表示反对称关系,若节点 u 与 节点 v 为对称关系
D E C ( u , τ , v ) = D E C ( v , τ , u ) − ∥ z u + r τ − z v ∥ = − ∥ z v + r τ − z u ∥ ∥ z u − z v ∥ + ∥ r τ ∥ − 2 ∥ z u − z v ∥ ∥ r τ ∥ c o s θ = ∥ z v − z u ∥ + ∥ r τ ∥ − 2 ∥ z v − z u ∥ ∥ r τ ∥ ( − c o s θ ) ∥ r τ ∥ = − ∥ r τ ∥ ∥ r τ ∥ = 0 \begin{aligned} DEC(u, τ, v) &= DEC(v, τ, u) \\ -\| z_u + r_τ - z_v \| &= -\| z_v + r_τ - z_u \| \\ \| z_u-z_v \| + \| r_τ \| - 2\| z_u -z_v \|\|r_τ\|cosθ &= \| z_v-z_u \| + \| r_τ \| - 2\| z_v -z_u \|\|r_τ\|(-cosθ) \\ \| r_τ \| &= -\| r_τ \| \\ \| r_τ \| &= 0 \end{aligned} DEC(u,τ,v)zu+rτzvzuzv+rτ2zuzvrτcosθrτrτ=DEC(v,τ,u)=zv+rτzu=zvzu+rτ2zvzurτ(cosθ)=rτ=0
证毕。

Inversion

逆关系为由节点 u 到节点 v 的关系 τ 1 τ_1 τ1 可推导出由节点 v 到节点 u 的关系 τ 2 τ_2 τ2
( u , τ 1 , v ) ∈ E ↔ ( v , τ 2 , u ) ∈ E (u, τ_1, v) ∈ \mathcal{E} \leftrightarrow (v, τ_2, u) ∈ \mathcal{E} (u,τ1,v)E(v,τ2,u)E

Compositionality

( u , τ 1 , y ) ∈ E ∨ ( y , τ 2 , v ) ∈ E → ( u , τ 3 , v ) (u, τ_1, y) ∈ \mathcal{E} \vee (y, τ_2, v) ∈ \mathcal{E} \rightarrow (u, τ_3, v) (u,τ1,y)E(y,τ2,v)E(u,τ3,v)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值