论文阅读笔记5 Translating Embeddings for Modeling Multi-Realtional Data

论文阅读笔记5:TransE

论文《Translating Embeddings for Modeling Multi-Realtional Data》阅读笔记

老生常谈的Introduction

​ 将关系和实体用低维向量进行表示是一个很常见的问题(这个时候知识图谱的概念还没有提出),而关系和实体可以使用一个三元组(head, realtion, tail)来表示,而在多关系的数据中,关系可能有很多个并且是异构的,这个时候传统的方法就不太好用了。

​ 这篇论文中提出了一种基于Translation(转化)的思想,首先将一系列实体表示成向量空间中的一系列向量,然后将relation看成是从head到tail的一种translation,这样的方法可以大幅度减少参数的规模,并在处理一对一的关系中取得了非常好的表现,但是在处理一对多,多对一和多对多的关系中表现并不好,因为TransE模型中只把关系和实体都表示成一个向量,所以不好表示含多个实体的关系。

Trans模型的具体描述

基本的定义

​ 假设训练集S包含一系列三元组 ( h , l , t ) (h,l,t) (h,l,t),所有的实体组成集合E而所有的关系组成集合L,模型的目标就是去学习到一系列实体和关系的嵌入表示,并且要使得 h + l ≈ t h+l\approx t h+lt,并且在基于能量的框架下,能量可以使用一个有关三元组的函数 d ( h + l , t ) d(h+l, t) d(h+l,t),而能量函数d一般是在d维度空间中衡量向量的不相似度(可以是相似度的相反数)的函数,往往采用L1或者L2范数。

学习的目标

​ 为了学习到满足 h + l ≈ t h+l\approx t h+lt的嵌入表示,TransE提出的目标函数采用了如下这种基于margin的形式:
L = ∑ ( h , ℓ , t ) ∈ S ∑ ( h ′ , ℓ , t ′ ) ∈ S ( h , ℓ , t ) ′ [ γ + d ( h + ℓ , t ) − d ( h ′ + ℓ , t ′ ) ] + \mathcal{L}=\sum_{(h, \ell, t) \in S} \sum_{\left(h^{\prime}, \ell, t^{\prime}\right) \in S_{(h, \ell, t)}^{\prime}}\left[\gamma+d(\boldsymbol{h}+\boldsymbol{\ell}, \boldsymbol{t})-d\left(\boldsymbol{h}^{\prime}+\boldsymbol{\ell}, \boldsymbol{t}^{\prime}\right)\right]_{+} L=(h,,t)S(h,,t)S(h,,t)[γ+d(h+,t)d(h+,t)]+
其中 [ x ] + [x]_+ [x]+表示向量x中的正数部分,并且 γ > 0 \gamma>0 γ>0是一个margin超参数,并且:
S ( h , ℓ , t ) ′ = { ( h ′ , ℓ , t ) ∣ h ′ ∈ E } ∪ { ( h , ℓ , t ′ ) ∣ t ′ ∈ E } S_{(h, \ell, t)}^{\prime}=\left\{\left(h^{\prime}, \ell, t\right) \mid h^{\prime} \in E\right\} \cup\left\{\left(h, \ell, t^{\prime}\right) \mid t^{\prime} \in E\right\} S(h,,t)={(h,,t)hE}{(h,,t)tE}
是一个负采样集合,是将训练集中的三元组改变其head或者tail生成一个坏样本产生的,并且损失函数希望正常样本的能量要比坏样本的能量要低,因此负采样起到了这样一种监督作用,同时学习过程中的优化采用SGD完成。

具体算法

​ TransE模型的具体算法如下:

论文阅读笔记5:TransE

论文《Translating Embeddings for Modeling Multi-Realtional Data》阅读笔记

老生常谈的Introduction

​ 将关系和实体用低维向量进行表示是一个很常见的问题(这个时候知识图谱的概念还没有提出),而关系和实体可以使用一个三元组(head, realtion, tail)来表示,而在多关系的数据中,关系可能有很多个并且是异构的,这个时候传统的方法就不太好用了。

​ 这篇论文中提出了一种基于Translation(转化)的思想,首先将一系列实体表示成向量空间中的一系列向量,然后将relation看成是从head到tail的一种translation,这样的方法可以大幅度减少参数的规模,并在处理一对一的关系中取得了非常好的表现,但是在处理一对多,多对一和多对多的关系中表现并不好,因为TransE模型中只把关系和实体都表示成一个向量,所以不好表示含多个实体的关系。

Trans模型的具体描述

基本的定义

​ 假设训练集S包含一系列三元组 ( h , l , t ) (h,l,t) (h,l,t),所有的实体组成集合E而所有的关系组成集合L,模型的目标就是去学习到一系列实体和关系的嵌入表示,并且要使得 h + l ≈ t h+l\approx t h+lt,并且在基于能量的框架下,能量可以使用一个有关三元组的函数 d ( h + l , t ) d(h+l, t) d(h+l,t),而能量函数d一般是在d维度空间中衡量向量的不相似度(可以是相似度的相反数)的函数,往往采用L1或者L2范数。

学习的目标

​ 为了学习到满足 h + l ≈ t h+l\approx t h+lt的嵌入表示,TransE提出的目标函数采用了如下这种基于margin的形式:
L = ∑ ( h , ℓ , t ) ∈ S ∑ ( h ′ , ℓ , t ′ ) ∈ S ( h , ℓ , t ) ′ [ γ + d ( h + ℓ , t ) − d ( h ′ + ℓ , t ′ ) ] + \mathcal{L}=\sum_{(h, \ell, t) \in S} \sum_{\left(h^{\prime}, \ell, t^{\prime}\right) \in S_{(h, \ell, t)}^{\prime}}\left[\gamma+d(\boldsymbol{h}+\boldsymbol{\ell}, \boldsymbol{t})-d\left(\boldsymbol{h}^{\prime}+\boldsymbol{\ell}, \boldsymbol{t}^{\prime}\right)\right]_{+} L=(h,,t)S(h,,t)S(h,,t)[γ+d(h+,t)d(h+,t)]+
其中 [ x ] + [x]_+ [x]+表示向量x中的正数部分,并且 γ > 0 \gamma>0 γ>0是一个margin超参数,并且:
S ( h , ℓ , t ) ′ = { ( h ′ , ℓ , t ) ∣ h ′ ∈ E } ∪ { ( h , ℓ , t ′ ) ∣ t ′ ∈ E } S_{(h, \ell, t)}^{\prime}=\left\{\left(h^{\prime}, \ell, t\right) \mid h^{\prime} \in E\right\} \cup\left\{\left(h, \ell, t^{\prime}\right) \mid t^{\prime} \in E\right\} S(h,,t)={(h,,t)hE}{(h,,t)tE}
是一个负采样集合,是将训练集中的三元组改变其head或者tail生成一个坏样本产生的,并且损失函数希望正常样本的能量要比坏样本的能量要低,因此负采样起到了这样一种监督作用,同时学习过程中的优化采用SGD完成。

具体算法

​ TransE模型的具体算法如下:

  • 首先按照一定的方式对参数进行初始化,然后开始不断的迭代优化过程
  • 每一轮迭代过程中,首先要将实体的嵌入向量标准化,然后使用采样的一小批三元组进行训练,训练的过程中首先需要给每个三元组生成一个负样本,然后使用常数学习率更新参数

相关工作比较和metric选取

相关模型的比较

​ 相比于其他已经存在的模型,TransE的参数亮可以说少的离谱,我们假设实体和关系都使用k维的向量来表示,则各个模型的参数量对比如下:

image-20210622161424597

​ 参数少使得TransE的训练变得简单,可以避免欠拟合的问题(即因为数据太少而不够学),

metric的选取

​ 之前讲到 d ( h + l , t ) d(h+l,t) d(h+l,t)可以选择L1范数或者L2范数,而这片paper中使用的就是L2范数,即:
d ( h + ℓ , t ) = ∥ h ∥ 2 2 + ∥ ℓ ∥ 2 2 + ∥ t ∥ 2 2 − 2 ( h T t + ℓ T ( t − h ) ) d(\boldsymbol{h}+\boldsymbol{\ell}, \boldsymbol{t})=\|\boldsymbol{h}\|_{2}^{2}+\|\boldsymbol{\ell}\|_{2}^{2}+\|\boldsymbol{t}\|_{2}^{2}-2\left(\boldsymbol{h}^{T} \boldsymbol{t}+\boldsymbol{\ell}^{T}(\boldsymbol{t}-\boldsymbol{h})\right) d(h+,t)=h22+22+t222(hTt+T(th))
注意到算法中我们将向量都进行了标准化,因此h和t的L2范数都是1,而l在一对正负样本的比较之间不起任何作用,因此只需要考虑 h T t + ℓ T ( t − h ) \boldsymbol{h}^{T} \boldsymbol{t}+\boldsymbol{\ell}^{T}(\boldsymbol{t}-\boldsymbol{h}) hTt+T(th)就可以

缺点与不足

​ TransE模型的实体和关系都只用了一个向量进行表示,而这样的表示方式在涉及到一对多,多对一,多对多的场景下学习的效果就不太好

实验

​ TransE论文中对wordnet和Freebase等数据集上进行了一系列实验,并在链接预测等任务中和一系列baseline进行了比较。具体的就不关注了,反正就是TransE很强(2013年限定)

在这里插入图片描述

  • 首先按照一定的方式对参数进行初始化,然后开始不断的迭代优化过程
  • 每一轮迭代过程中,首先要将实体的嵌入向量标准化,然后使用采样的一小批三元组进行训练,训练的过程中首先需要给每个三元组生成一个负样本,然后使用常数学习率更新参数

相关工作比较和metric选取

相关模型的比较

​ 相比于其他已经存在的模型,TransE的参数亮可以说少的离谱,我们假设实体和关系都使用k维的向量来表示,则各个模型的参数量对比如下:

image-20210622161424597

​ 参数少使得TransE的训练变得简单,可以避免欠拟合的问题(即因为数据太少而不够学),

metric的选取

​ 之前讲到 d ( h + l , t ) d(h+l,t) d(h+l,t)可以选择L1范数或者L2范数,而这片paper中使用的就是L2范数,即:
d ( h + ℓ , t ) = ∥ h ∥ 2 2 + ∥ ℓ ∥ 2 2 + ∥ t ∥ 2 2 − 2 ( h T t + ℓ T ( t − h ) ) d(\boldsymbol{h}+\boldsymbol{\ell}, \boldsymbol{t})=\|\boldsymbol{h}\|_{2}^{2}+\|\boldsymbol{\ell}\|_{2}^{2}+\|\boldsymbol{t}\|_{2}^{2}-2\left(\boldsymbol{h}^{T} \boldsymbol{t}+\boldsymbol{\ell}^{T}(\boldsymbol{t}-\boldsymbol{h})\right) d(h+,t)=h22+22+t222(hTt+T(th))
注意到算法中我们将向量都进行了标准化,因此h和t的L2范数都是1,而l在一对正负样本的比较之间不起任何作用,因此只需要考虑 h T t + ℓ T ( t − h ) \boldsymbol{h}^{T} \boldsymbol{t}+\boldsymbol{\ell}^{T}(\boldsymbol{t}-\boldsymbol{h}) hTt+T(th)就可以

缺点与不足

​ TransE模型的实体和关系都只用了一个向量进行表示,而这样的表示方式在涉及到一对多,多对一,多对多的场景下学习的效果就不太好

实验

​ TransE论文中对wordnet和Freebase等数据集上进行了一系列实验,并在链接预测等任务中和一系列baseline进行了比较。具体的就不关注了,反正就是TransE很强(2013年限定)

在这里插入图片描述

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨痕_777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值