Graph Representation Learning Chapter[4]

Chapter4

本章中,我们将继续关注浅层嵌入方法,并将介绍处理多关系图的技术。

Knowledge graph completion

这章主要搞知识图补全一般来说,知识图补全的目标是预测图中缺失的边,即关系预测,但也有使用多关系图进行节点分类任务的例子。

4.1 Reconstructing multi-relational data

与简单图一样,我们可以将多关系图的嵌入视为重构(reconstruction)任务。给定两个节点的嵌入,我们的目标是重构这些节点之间的关系,不同之处在于,我们必须处理多种不同类型边的关系。

要想解决上述边的问题,我么要在原输入内容的基础上增加一个关系类型。因此,我们可以将这个解码器的输出,即 d e c ( z u , τ , z v ) dec(zu,τ,zv) deczuτzv,解释为边 ( u , τ , v ) (u,τ,v) uτv存在于图中的可能性。

最早的多关系嵌入方法是RESCAL,它的解码器为:

               D E C ( z u , τ , z v ) = z u τ R τ z v                ( 4.1 ) \ \ \ \ \ \ \ \ \ \ \ \ \ \ DEC(z_u,\tau,z_v) = z_u^{\tau}R_\tau z_v \ \ \ \ \ \ \ \ \ \ \ \ \ \ (4.1)               DEC(zu,τ,zv)=zuτRτzv              (4.1)

R τ ∈ R d × d Rτ∈R^{d×d} RτRd×d是特定于关系 τ τ τ的可学习矩阵。使用这个解码器,我们可以训练我们的嵌入矩阵 Z Z Z和关系矩阵 R τ Rτ Rτ, 重构损失定义为:

在这里插入图片描述

∗ A ∈ R ∣ V ∣ × ∣ R ∣ × ∣ V ∣ ∗ *A ∈ R^{|V|×|R|×|V|}* ARV×R×V是多关系图的邻接张量(多维数组)。优化4.2就是在执行张量分解。

Loss functions, decoders, and similarity functions

区别节点嵌入的3个大因素:

  1. 解码器
  2. 相似度衡量
  3. 损失函数

在多关系设置中,我们还将看到解码器和损失函数的多样性。本章中的所有方法都假设我们试图从低维嵌入中重建直接的(多关系的)邻居。这是由于在多关系图中难以定义高阶邻域关系,以及大多数多关系嵌入方法都是专门为关系预测而设计的。

4.2 Loss functions

4.2中的损失函数有两个问题:

1、计算昂贵, 3层求和,复杂度高

2、张量只含有二分值,更接近于分类,而4.2的结果—均方误差是自然的回归损失函数,不能分类。

Cross-entropy with negative sampling

一个比较流行的负采样的交叉熵损失函数:

在这里插入图片描述

会发现和第三章的负采样很像,原理是一样的。

log是为了将输出转化在[0,1]之间。 l o g ( σ ( D E C ( z u , τ , z v ) ) ) log(\sigma(DEC(z_u, τ, z_v))) log(σ(DEC(zu,τ,zv)))等于我们预测图中确实存在的一条边的“真”的对数似然。 E v n ∼ P n , u ( V ) [ l o g ( σ ( − d e c ( z u , τ , z v n ) ) ) ] Evn∼Pn,u(V) [log (σ (−dec(zu, τ, zvn )))] EvnPn,u(V)[log(σ(dec(zu,τ,zvn)))]是边“假”的对数似然。

这个预测要用到蒙特卡洛估计:

在这里插入图片描述

Max-margin loss

最大边际损失(not exact),使用的是正负样本进行对比估计的方法。

在这里插入图片描述

这种情况下,我们比较真实对的解码分数与负样本的比较,“真”对的分数大于“负”对,损失就会变小, △ \triangle 表示边际,如果分数差异对所有例子来说都贼大,那就叫hinge loss.

4.3 Multi-relational decoders

损失函数讲完了,聊一聊解码器。

之前提到过的RESCAL,是基于张量分解的模型,它是一个可训练的矩阵 ∗ ∗ R τ ∈ R d × d **Rτ ∈ R^{d×d} RτRd×d,**复杂度是 O ( d 2 ) O(d^2) O(d2),算起来会比较贵,所以很少去用。之前没有关系的时候就是 O ( d 2 ) O(d^2) O(d2),现在多一条边,就更是多了一个数量级。所以就出现了大佬开发的 O ( d ) O(d) O(d)级别的编码器啦。

Translational decoders

听说是很经典的翻译模型:*TransE* model

在这里插入图片描述

查到的是,TransE模型的核心作用就是将知识图谱中的三元组翻译成embedding向量。

它假设: 头实体 z u + 关系 R τ = 尾实体 z v 头实体z_u + 关系R_\tau = 尾实体z_v 头实体zu+关系Rτ=尾实体zv,所以说头实体向量和关系向量之和与尾实体向量越接近,那么说明该三元组越接近一个正确的三元组,差距越大,那么说明这个三元组越不正常。

TransE过于简单,有局限性,大佬们提出的TransX 系列对这个进行了扩展:

在这里插入图片描述

搞了个 ∗ g i , τ *g_{i,τ} gi,τ,*可以跟着 τ \tau τ进行变换。比如说TransH搞了个小投影,然后再训练。

Multi-linear dot products

使用点积编码器:DistMult,在简单图上搞点积编码器

在这里插入图片描述

这种方法直接推广了在三个向量上定义的点积。

Complex decoders

DistMult只能编码对称关系,这就比较致命了,因为关系很多都是有向的、不对称的。所以大佬们提出了*ComplEx:*

在这里插入图片描述

大佬们搞了个共轭负数复数u = a + bi的方式表示h和t,

反对称性:通过对 hT·r·(~t)的高打分+ (~h)T·r·t低打分训练

对称性:通过把虚部设置为0即可。

另一个复数模型是RotatE(建议观看),它将解码器定义为复平面上的旋转(rotation)

在这里插入图片描述

◦表示**哈达玛积**。

4.3.1 Representational abilities

描述各种多关系解码器的一种方法是根据它们在关系上表示不同逻辑模式的能力。

Symmetry and anti-symmetry

区别之一是看是否能够同时处理对称和反对称关系。

下面是一些功能总结

在这里插入图片描述

Inversion

与对称相关的是逆(反转)的概念,其中的一个关系指示了另一个关系的存在,它们的方向相反。

在这里插入图片描述

Compositonality

我们可以考虑解码器是否可以编码以下形式的关系表示之间的组合性:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值