《Graph Representation Learning》Chapter4-Multi-relational Data and Knowledge Graphs

Multi-relational Data and Knowledge Graphs


Knowledge graph completion:给出一个多关系图 G = ( V , E ) G=(V,E) G=(V,E),其中边被定义为 e = ( u , τ , v ) e = (u,\tau,v) e=(u,τ,v),表示两个节点间存在特定关系 τ ∈ T \tau \in \Tau τT,这种多关系图通常被称为知识图谱。一般来说,知识图谱补全的目标是预测图,即关系预测,本章大多数方法最初都是为知识图谱补全设计的。

Reconstructing multi-relational data

与前一章相同,多关系图嵌入也可以看作重建任务。给定节点嵌入 z u \mathbf{z}_u zu z v \mathbf{z}_v zv,任务目标就是重建这两个节点间的关系,其难点在于如何处理不同类型的边。

为解决此问题,将解码器定义为接受一对节点嵌入及其关系类型,即 R d × R × R d → R + \R^d\times \mathcal{R} \times\R^d \rightarrow \R^+ Rd×R×RdR+,可以将该解码器(即 D E C ( z u , τ , z v ) DEC(\mathbf{z}_u,\tau,\mathbf{z}_v) DEC(zu,τ,zv))的输出定义为图中存在边 ( u , τ , v ) (u,\tau,v) (u,τ,v) 的可能性。

RESCAL 是解决此问题的一个著名模型,它将解码器定义为: D E C ( u , τ , v ) = z u T R τ z v DEC(u,\tau,v)=\mathbf{z}_u^T\mathcal{R}_{\tau}\mathbf{z}_v DEC(u,τ,v)=zuTRτzv,其中 R τ ∈ R d × d \mathcal{R}_{\tau} \in \R^{d\times d} RτRd×d 是特定于关系 τ ∈ R \tau \in R τR 的可学习矩阵。然后使用如下损失函数进行训练,这里称之为简单重建损失(多关系图邻接张量 A ∈ R ∣ V ∣ × ∣ R ∣ × ∣ V ∣ A\in \R^{|V|\times|R|\times|V|} ARV×R×V):
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 \mathcal{L} = \sum_{u\in V} \sum_{v\in V} \sum_{\tau\in R}||DEC(u,\tau,v)-A[u,\tau,v]||^2\\ =\sum_{u\in V} \sum_{v\in V} \sum_{\tau\in R}||\mathbf{z}_u^T\mathcal{R}_{\tau}\mathbf{z}_v-A[u,\tau,v]||^2 L=uVvVτR∣∣DEC(u,τ,v)A[u,τ,v]2=uVvVτR∣∣zuTRτzvA[u,τ,v]2

Loss functions, decoders, and similarity functions

解码器在一对节点嵌入之间给出一个分数;

相似性函数定义了我们试图解码的节点之间相似性的类型(几乎所有多关系嵌入方法都简单地直接基于邻接张量定义相似性度量);

损失函数告诉我们如何评估解码器输出与地面真实相似性度量之间的差异。

Loss functions

上面提到的简单重建损失有两个缺点:

  1. 计算成本昂贵。上述等式中的嵌套求和需要 O ( ∣ V ∣ 2 ∣ R ∣ ) O(|V|^2|R|) O(V2R) 次运算,当图过大时很难计算。同时,现实世界中的图往往是稀疏的,即 ∣ E ∣ < < ∣ V ∣ 2 ∣ R ∣ |E| << |V|^2|R| E<<V2R,理想情况下需要一个时间复杂度为 O ( ∣ E ∣ ) O(|E|) O(E) 的损失函数。
  2. 我们的目标是从低维节点嵌入中解码邻接张量。在大多数情况下该张量仅包含二进制值,但上述等式中的均方误差不太适合这种二进制比较。事实上,均方误差是回归的自然损失,而我们的目标更接近边缘分类。
Cross-entropy with negative sampling

L = ∑ ( u , τ , v ) ∈ ε − log ⁡ ( σ ( D E C ( z u , τ , z v ) ) ) − γ E v n ∼ P n , u ( V ) [ log ⁡ ( σ ( − D E C ( z u , τ , z v n ) ) ) ] \mathcal{L}=\sum_{(u,\tau,v)\in \varepsilon}-\log(\sigma(DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)))-\gamma \mathbb{E}_{v_n\sim P_{n,u}(\mathcal{V})}[\log (\sigma(-DEC(\mathbf{z}_u,\tau,\mathbf{z}_{v_n})))] L=(u,τ,v)εlog(σ(DEC(zu,τ,zv)))γEvnPn,u(V)[log(σ(DEC(zu,τ,zvn)))]

这里 σ \sigma σ 代表 logistic 函数, P n , u ( V ) P_{n,u}(\mathcal{V}) Pn,u(V) 表示节点集 V \mathcal{V} V 上的负采样分布 γ \gamma γ 是超参数。前半部分表示预测图中实际存在的边为“真”的对数似然(真真),后半部分表示预测图中不存在的边为“假”的对数似然期望(假假)。在实践中,期望是使用蒙特卡罗近似来评估的,这种损失最流行的形式是:
L = ∑ ( u , τ , v ) ∈ ε ( − log ⁡ ( σ ( D E C ( z u , τ , z v ) ) ) − ∑ v n ∈ P n , u [ log ⁡ ( σ ( − D E C ( z u , τ , z v n ) ) ) ] ) \mathcal{L}=\sum_{(u,\tau,v)\in \varepsilon}\left(-\log(\sigma(DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)))-\sum_{v_n \in \mathcal{P}_{n,u}}[\log (\sigma(-DEC(\mathbf{z}_u,\tau,\mathbf{z}_{v_n})))]\right) L=(u,τ,v)ε log(σ(DEC(zu,τ,zv)))vnPn,u[log(σ(DEC(zu,τ,zvn)))]
其中 P n , u \mathcal{P}_{n,u} Pn,u 是从 P n , u ( V ) P_{n,u}(\mathcal{V}) Pn,u(V) 采样的一组节点。

负采样注意事项:

  1. 定义分布 P n , u \mathcal{P}_{n,u} Pn,u 的最常见方法是简单地在图中的所有节点上使用均匀分布,但要注意“假负样本”问题,即这种方法可能采样出图中已存在的边(元组)。
  2. 产生更多“困难(difficult、hard)”的负样本。例如,某些关系只能存在于某些类型的节点之间,因此,一种策略是仅对满足此类类型约束的负面示例进行采样。
  3. 一般情况下,负采样发生在边元组中的第二个节点上。但实际上,最好同时为关系的头节点和尾节点抽取负样本。
Max-margin loss

L = ∑ u , τ , v ∈ ε ∑ v n ∈ P n , u m a x ( 0 , − D E C ( z u , τ , z ) + D E C ( z u , τ , z v n + Δ ) \mathcal{L}=\sum_{u,\tau,v\in \varepsilon}\sum_{v_n \in \mathcal{P}_{n,u}}max(0,-DEC(\mathbf{z}_u,\tau,\mathbf{z})+DEC(\mathbf{z}_u,\tau,\mathbf{z}_{v_n}+\Delta) L=u,τ,vεvnPn,umax(0,DEC(zu,τ,z)+DEC(zu,τ,zvn+Δ)

Δ \Delta Δ 项被称为 margin,如果所有示例的分数差异至少那么大,则损失将等于 0。这种损失也称为 hinge loss

Multi-relational decoders

在这里插入图片描述

RESCAL:关系计算和统计成本较高。

Translational decoders(TransE & TransX):将关系表示为嵌入空间中的翻译。
T r a n s H : D E C ( z u , τ , z v ) = − ∣ ∣ ( z u − w r T z u w r ) + r τ − ( z v − w r T z v w r ) ∣ ∣ TransH:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=-||(\mathbf{z}_u-\mathbf{w_r^T z_u w_r})+\mathbf{r}_\tau-(\mathbf{z}_v-\mathbf{w_r^T z_v w_r})|| TransH:DEC(zu,τ,zv)=∣∣(zuwrTzuwr)+rτ(zvwrTzvwr)∣∣
Multi-linear dot products:从简单图概括点积解码器来开发多关系解码器。这种方法需要对三个向量上定义的点积进行直接概括,只能对对称关系进行编码。
D i s t M u l t : D E C ( z u , τ , z v ) = < z u , r τ , z v > = ∑ i = 1 d z u [ i ] × r τ [ i ] × z v [ i ] DistMult:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=<\mathbf{z}_u,\mathbf{r}_\tau,\mathbf{z}_v>=\sum_{i=1}^d\mathbf{z}_u[i]\times \mathbf{r}_\tau[i] \times \mathbf{z}_v[i] DistMult:DEC(zu,τ,zv)=<zu,rτ,zv>=i=1dzu[i]×rτ[i]×zv[i]
Complex decoders (ComplEx & RotatE):使用复值嵌入。
C o m p l E x : D E C ( z u , τ , z v ) = R e ( < z u , r τ , z ˉ v > ) = R e ( ∑ i = 1 d z u [ i ] × r τ [ i ] × z ˉ v [ i ] ) R o t a t E : D E C ( z u , τ , z v ) = − ∣ ∣ z u ∘ r τ − z v ∣ ∣ 、 r τ [ i ] = e i θ r , i ComplEx:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=Re(<\mathbf{z}_u,\mathbf{r}_\tau,\mathbf{\bar{z}}_v>)=Re(\sum_{i=1}^d\mathbf{z}_u[i]\times \mathbf{r}_\tau[i] \times \mathbf{\bar{z}}_v[i])\\ RotatE:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=-||\mathbf{z}_u\circ\mathbf{r}_\tau-\mathbf{z}_v||、\mathbf{r}_\tau[i]=e^{i\theta_{r,i}} ComplEx:DEC(zu,τ,zv)=Re(<zu,rτ,zˉv>)=Re(i=1dzu[i]×rτ[i]×zˉv[i])RotatE:DEC(zu,τ,zv)=∣∣zurτzv∣∣rτ[i]=eiθr,i

Representational abilities

在这里插入图片描述

Symmetry and anti-symmetry(对称性和反对称性): ( u , τ , v ) ∈ ε ↔ ( v , τ , u ) ∈ ε (u,\tau,v)\in \varepsilon \leftrightarrow (v, \tau ,u)\in \varepsilon (u,τ,v)ε(v,τ,u)ε and ( u , τ , v ) ∈ ε ↔ ( v , τ , u ) ∉ ε (u,\tau,v)\in \varepsilon \leftrightarrow (v, \tau ,u)\notin \varepsilon (u,τ,v)ε(v,τ,u)/ε

Inversion(倒置性): ( u , τ 1 , v ) ∈ ε ↔ ( v , τ 2 , u ) ∈ ε (u,\tau_1,v)\in \varepsilon \leftrightarrow (v, \tau_2 ,u)\in \varepsilon (u,τ1,v)ε(v,τ2,u)ε

Compositonality(组合性): ( u , τ 1 , y ) ∈ ε ∧ ( y , τ 2 , v ) ∈ ε ↔ ( u , τ 3 , v ) ∈ ε (u,\tau_1,y)\in \varepsilon \wedge (y,\tau_2,v) \in \varepsilon \leftrightarrow (u, \tau_3 ,v) \in \varepsilon (u,τ1,y)ε(y,τ2,v)ε(u,τ3,v)ε

Reference: Hamilton W L. Graph representation learning[M]. Morgan & Claypool Publishers, 2020.

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值