首页 > 其他分享 >知识图谱-TransE模型原理

知识图谱-TransE模型原理

时间:2023-03-13 20:55:05浏览次数:30  
标签:图谱 模型 知识 三元组 TransE 范数 向量

1.TransE模型介绍

1.1TransE模型引入

知识图谱补全任务的前提任务是知识表示学习,在知识表示学习中,最为经典的模型就是TransE模型,TransE模型的核心作用就是将知识图谱中的三元组翻译成embedding向量。

1.2TransE模型思想

为了后面便于表示,我们先设定一些符号:

h表示知识图谱中的头实体的向量;t表示知识图谱中的尾实体的向量;r表示知识图谱中的关系的向量。

在TransE模型中,有这样一个假设 t = h + r

也就是说,正常情况下的尾实体向量 = 头实体向量+关系向量。用图的方式描述如下:

 

如果一个三元组不满足上述的关系,我们就可以认为这是一个错误的三元组。

1.3 TransE模型的目标函数

首先,我们先来介绍两个数学概念:

L1范数

也称为曼哈顿距离,对于一个向量X而言,其L1范数的计算公式为:

 

 其中,Xi表示向量X的第i个属性值,这里我们取的是绝对值。并且,使用L1范数可以衡量两个向量之间的差异性,也就是两个向量的距离。

 

 L2范数

也称为欧式距离,对于一个向量X而言,其L2范数的计算公式为:

 

 同样,L2范数也可以用来衡量两个向量之间的差距:

 

 根据我们上面介绍的Trans中的假设,我们可以知道,对于一个三元组而言,头实体向量和关系向量之和与尾实体向量越接近,那么说明该三元组越接近一个正确的三元组,差距越大,那么说明这个三元组越不正常。那么我们可以选择L1或者L2范数来衡量三个向量的差距。而我们的目标就是使得争取的三元组的距离越小越好,错误的三元组距离越大越好,也就是其相反数越小越好。数学化的表示就是:

 

 其中:

(h,r,t):表示正确的三元组

(h',r',t'):表示错误的三元组

   γ :表示正样本和负样本之间的距离,一个常数

  [x]+:表示max(0,x)

我们来简单的解释一下目标函数,我们的目标是让正例的距离最小,也就是min(distance(h+r,t)),让负例的相反数最小也就是(min(-distance(h'+r',t'))),对于每一个正样本和负样本求和,再增加一个常数的间距,就是整体距离的最小值。也就是我们的目标函数。

1.4 目标函数的数学推导

这里,我们采用欧式距离作为distance函数,则目标函数可以改写为:

 

 则对于损失函数loss就有:

 

 

 在损失函数中,我们知道所有的参数包括{h,r,t,h',r,t'}。下面,我们来逐个进行梯度推导:

1.首先是对h的梯度,对于某一个hi而言

 

 在整个求和的过程中,只针对包括hi的项求导:

 

 有:

 

 则原式变为:

 

 同理对于ti,hi',ti'有:

 

 

 

 最后对于ri,γ有:

 

 

 

 1.5如何产生负样本

在我们之前算法描述中,我们提到了负样本的问题,对于一个知识图谱而言,其中保存的全部都是正样本时肯定的了。那么,我们如何获取负样本呢?

具体的可以通过随机替换头实体的方式来实现一个错误的三元组,或者采用随机替换一个错误的尾实体的方式来形成一个错误的三元组。

同时,为了避免,我们在替换形成的三元组也存在于知识图谱中,我们需要在替换之后形成过滤。

 

 

博客链接:https://blog.csdn.net/hei653779919/article/details/104278583

标签:图谱,模型,知识,三元组,TransE,范数,向量
From: https://www.cnblogs.com/lusiqi/p/17212835.html

相关文章

  • 四种常见的IO模型
    服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞I......
  • 【免费送书活动】 全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点
    前言 人体姿态估计(HPE)是计算机视觉中的一项经典任务,它主要通过识别人的关节的位置来表示人的方向。HPE可以用来理解和分析人类的几何和运动相关信息。Newell等人在Mask3D......
  • 模型训练慢和显存不够怎么办?GPU加速混合精度训练
    目录​​混合精度训练​​​​理论原理​​​​三大深度学习框架的打开方式​​​​Pytorch​​​​Tensorflow​​​​PaddlePaddle​​混合精度训练一切还要从2018年ICLR......
  • 最新风控模型竞赛开始了!金融大数据应用-企业信贷风险防控-中国建设银行数据集-作者开
    作者Toby,来源《最新风控模型竞赛开始了!金融大数据应用-企业信贷风险防控-中国建设银行数据集-作者开箱测评》各位朋友,最新金融风控模型竞赛开始了!竞赛名称为金融大数据应用:......
  • 知识蒸馏、轻量化模型架构、剪枝…几种深度学习模型压缩方法
    摘要:模型压缩算法旨在将一个大模型转化为一个精简的小模型。工业界的模型压缩方法有:知识蒸馏、轻量化模型架构、剪枝、量化。本文分享自华为云社区《深度学习模型压缩方法......
  • goroutine调度机制(GMP模型)
    进程、线程和协程进程是操作系统分配资源的最小单元,是一个具有一定独立功能的程序关于某个数据集合上的一次运行活动线程是操作系统调度的最小单元,是进程的一个执行单元......
  • 使用Python训练好的决策树模型生成C++代码
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、决策树模型二、解析决策树模型1.模型分解2.构建决策二叉树3.生成代码3.1生成python代......
  • AI机器学习模型python到C/C++的转换播
    了解过机器学习的人应该都知道python的sklearn库非常好用的机器学习助手。从sklearn导入某个机器学习的库,调用fit函数即可生成模型,用来预测测试数据。1、保存模型如......
  • GPT-4:OpenAI新一代多模态大型自然语言模型
    ChatGPT的发布让全世界都感受到了AI的力量,但是OpenAI不满足于此,将在本周发布升级版的模型GPT-4。基于GPT-3.5模型的ChatGPT已经这么强大了,GPT-4会到达一个什么水平,其语言能......
  • 基础订单模型
    我们在设计一个领域业务模型的时候,往往喜欢闭门造车,通过一些领域建模的理论去实践一些设计的理念,在此我并没有贬低的意思,只是感慨电商技术发展这么多年,有些系统设计出来的......