PaperReading-TransM《Transition-based Knowledge Graph Embedding with Relational Mapping Properties》
本文介绍了TransM算法及其在解决一多关系、多一对关系等问题中的改进方法与TransE模型的区别。TransM通过为不同三元组赋予不同的权重系数来调整势能差值对损失函数的影响,并使用随机初始化的实体及关系向量计算固定不变的权重系数。然而该方法存在两个主要问题:仅延缓而非真正解决多对一关系的问题,并且固定权重系数的可解释性较低。
本文对TransM的相关学习进行了深入研究与学习过程记录,《Transition-based Knowledge Graph Embedding with Relational Mapping Properties》一文是我重点研读的对象。如有同学从事相关领域的研究工作,请通过邮件与我进行学术交流zhaoliang19960421@outlook.com
背景
基于TransE算法对这一问题进行优化而形成的TransM算法旨在解决 TransE 无法处理的一对多 多对一 多对多以及自反关系的问题 在 TransM 算法中这一问题被表述为 TransE 在处理 多类型关系时不够灵活且无法获得理想化的表征结果 相比之下 在 TransH 中对此问题的解释更为清晰明了
改进
TransM的思路还是和TransE是一致的,就是关系是实体之间的翻译功能,使用的损失函数还是TransE是一样的,还是使得正例的势能差值最大,负例的势能差值最小。为了解决多类型关系这个问题,TransM认为不同的关系类型应该具有不同的权重,利用不同的权重来更新参数。
具体意思就是一对一关系类型的三元组在计算势能差值时的权重最高,因为他的权重完全是由这个一个三元组对儿来表达,但是多对一的关系的权重较低,因为多对一的权重应该由这多个三元组对儿一起来表达,所以在每个三元组对儿身上的权重就应该下降。
利用给不同的关系的三元组对儿不同的权重,来调整不同的三元组对儿的势能差值在对合页损失函数的影响。
做法
TransM的做法和TransE相比,就是多了个权重系数

其中权重系数的计算方法是

损失函数和TransE的一样,

伪代码
TransM在实现过程中相较于TransE模型,在初始化阶段多增加了生成权重步骤;然而这些权重系数恒定不变 是通过随机赋值实体及关系向量后经计算确定的。

在论文截图中可以看出, 通过最开始随机初始化的方式, 计算了所有三元组各自的权重
总结
TransM算法通过赋予不同三元组特定的权重分布来调节势能差异,并以此优化损失函数效果的过程。这一设计意图是为了尽可能地缓解和消除与TransE模型相关的缺陷或不足。
但我认为需要解决至少两个关键问题才能进一步提升模型性能
- 引入加权机制并未有效缓解同一实体多重存在的状态。
- 每个三元组被赋予了一个固定数值。
- 基于随机初始化向量计算得出的结果。
- 如果采用动态调整的方式重新计算这些权重,则是否能提升模型的可解释性和实际效果?
