美文网首页
Translating Embeddings for Model

Translating Embeddings for Model

作者: 0_oHuanyu | 来源:发表于2020-05-18 14:38 被阅读0次

1. 论文介绍

文中说作者希望找到一种可以用embedding的方式来表示大规模的多关系数据集上的实体和关系,这种方法就是TransE的方法。用向量来表征实体对和关系不但可以用于知识图谱,更可以用于社交网络中的朋友关系、推荐系统中的用户评价。不过作者使用的数据集是知识图谱,他们用试验论证了这个方法的有效性超过了当时的SOA。并且适用于大规模数据集,可以在1M的实体,25K的关系和17M的训练数据上训练得到。

总体来说TransE是一片短小精干的论文,文中利用向量表示实体的方法并非作者首创,而是受到word2vec的启发。而用向量距离来表征关系也是当时其他人已经提出过的观点,TransE只是把这个方法论实现的效果最好的训练方法而已。并且这种方法由于做了过多的简化,在一对多的关系中表现不佳,而通过一对一训练向量,借助向量找到潜在的一对多关系才是这种表示方法的初衷。不过作者利用三元组来构造训练样本,利用合页损失函数来构造目标函数,利用梯度下降来完成优化过程这一套完整流畅的操作,仍然值得我这个菜逼好好学习。

2. 模型介绍

2.1 研究背景

在当时,NLP领域用embedding来表示单词的方式获得了巨大的成功,并且一定程度上可以实现所谓的“男人-女人= 国王-皇后”的效果。另一方面,推荐系统中对协同过滤的用户评价做矩阵分解可以用来表征用户和物品的隐向量,再利用隐向量做推荐的做法,似乎也可以印证多关系数据集中,使用embedding的做法是具有合理性的。

不过从当时很多其他人的类似工作中,作者们认为模型过于复杂,可能会导致参数过多而难以拟合。更兼很多模型的目标函数是非凸的,所以更加难以得到好的效果。而相对简单的模型虽然解释能力不佳,但是胜在训练简单,有时候反而可以得到更好的效果。

因此,作者最终提出了用一个三元组{head,relation,tail}来表示实体和关系的模型。下节做具体介绍。

2.2 具体模型

目标函数:最终提出了用一个三元组{head,relation,tail}来表示实体和关系的模型,这三个部分都用一个向量来表示,并且head = relation + tail. 然后以此关系为基础,构造如下的损失函数:

image.png

其中d表示衡量向量h+l 和向量t之间距离的计算公式,可以是L1或者L2范数,随便你怎么定义都行(只要是方便使用梯度下降来求解就行)。而h’ t’表示负例中的实体1和实体2。

而这个损失函数的设计,我们可以仔细拆解一下:

如果 r + d(正例) < d(负例) 则损失取0。 否则取r + d(正例) -d(负例) 的值。这个设计类似于SVM模型中的合页损失。也就是说负例的距离大于正例r以上,那么就对了,就没有损失。否则就有损失,这会使模型判定错误样本的距离大正确样本的距离于至少为r。

构造负例:在进行batch训练时,在batch中随机抽取一部分样本,将它们的head或者tail随机替换成其他实体,这样就得到了错误的对应关系,将这些错误的样本作为负样本。可以看到这个构造方法+损失函数,是一个类似pairwise的思想。跟推荐(搜索)系统中排序算法神似(果然是google的论文呢)。另外,为了确保构造出来的负例都是货真价实的负例(小概率会出现那种虽然换掉了tail但是新的tail和head仍然满足relation的约束),作者还对生成的负例全都针对测试集验证集进行了去重。

优化算法:优化算法用随机梯度下降,minibatch,然后终止条件是验证集的指标,也许还用了early stop之类的吧。这个没啥好说的了。

3. 数据实验

3.1 关系预测

作者使用wordnet和freebase两个数据集。作者还跟RESCAL ,SE, SME(linear)/SME(bilinear) ,LFM 模型进行了对比,在尽量保证相同的条件下,使用同样的求解算法,参数数量等。为了获得较好的模型效果,作者对每个模型都进行了网格搜索,以寻找最优的超参。进行了mean和hits@10的预测。对比结果如下:


image.png

注:其中的Unstructured方法是TransE的一个简化版,认为所有的数据都是一对一关系。可以看到TransE比较明显的优于其他的模型和方法。

3.2 进一步分析

作者认为,TransE之所以表现好不单单是因为公式比较科学,最重要的是模型的参数简单,不会underfiting。而其他的模型虽然公式复杂,理论上讲更能拟合出实体关系,但是由于难以用梯度下降进行拟合,反而使模型不如TransE表现好。

另外,作者还对关系类型进行了分类,分词1对1,1对多,多对1,多对多几种情况,发现并不是所有的情况下TransE都能表现最好,以下是预测结果。

image.png

可以看到在涉及的实体关系比较复杂的时候,TransE的表现不如双线性的SME,体现了作者“TransE模型过于简单,不能拟合很复杂的关系”的论断。

3.3 利用模型预测新的关系

我们训练模型的初衷就是利用模型来发现新的关系,对知识图谱进行完善或者在推荐系统中进行推荐,下面是实验结果:

image.png

可以看到TransE的效果还是最好的,需要的样本也是很少的,这似乎表明TransE具有较好的泛化能力。

4. 总结和展望

总结:

1. 作者为多层级多关系型数据提供了一种新的模型,并且该模型简单易用,可以推广到大规模数据集。

2. 作者用两个数据集证明了这种方法的有效性。

展望:

在一对多的关系中,模型仍然有改进的空间。

相关文章

网友评论

      本文标题:Translating Embeddings for Model

      本文链接:https://www.haomeiwen.com/subject/kcvuohtx.html