【Kimi帮我看论文(四)】TransE:Translating Embeddings for Modeling Multi-relational Data

news2024/11/23 21:59:35

一、论文信息

1 标题

Translating Embeddings for Modeling Multi-relational Data

2 作者

Antoine Bordes, Nicolas Usunier, Alberto Garcia-Durán, Jason Weston, Oksana Yakhnenko

3 研究机构

Université de Technologie de Compiègne – CNRS Heudiasyc UMR 7253 Compiègne, France; Google

二、主要内容

这篇论文主要研究了如何将多关系数据中的实体和关系嵌入到低维向量空间中。作者提出了一个名为TransE的方法,该方法通过将关系解释为在实体的低维嵌入上进行的平移来建模关系。TransE的目标是提供一个易于训练、参数数量减少且能够扩展到非常大数据库的规范模型。

三、相关研究

相关研究包括社交网络分析、推荐系统、知识库(如Freebase、Google Knowledge Graph或GeneOntology)中的多关系数据建模。以往的方法多是基于潜在属性的关系学习框架,例如非参数贝叶斯扩展的随机块模型、基于张量分解或集体矩阵分解的模型。这些模型虽然表达能力强,但复杂性高,难以解释,且计算成本高。

四、解决方案

TransE通过一个基于能量的框架来学习嵌入,其中关系被表示为嵌入空间中的平移。如果关系 ( h , ℓ , t ) (h, ℓ, t) (h,,t)成立,那么尾实体 t t t的嵌入应该接近头实体 h h h的嵌入加上某个依赖于关系 ℓ ℓ 的向量。TransE的参数集较小,因为它只为每个实体和关系学习一个低维向量。
在这里插入图片描述

TransE方法的核心在于将实体和关系表示为低维空间中的向量,并通过关系作为实体间向量的平移来学习嵌入。以下是TransE方法训练方式的详细介绍:

算法细节

  1. 初始化:对于每个实体 e e e和每个关系 ℓ ℓ ,随机初始化一个 k k k维向量,其中 k k k是模型的超参数,代表嵌入的维度。

  2. 归一化:对每个关系 ℓ ℓ 的向量进行单位化处理,以保证其长度为1。

  3. 优化循环:在每次迭代中,首先对所有实体的嵌入向量进行归一化处理。然后,从训练集中随机抽取一个小批量样本(minibatch)。

  4. 样本扰动:对于每个选中的三元组 ( h , ℓ , t ) (h, ℓ, t) (h,,t),通过替换头实体 h h h或尾实体 t t t(但不是同时替换)来生成一个扰动的三元组 ( h ′ , ℓ , t ′ ) (h',ℓ,t') (h,,t)

  5. 更新嵌入:计算原始三元组和扰动三元组之间的能量损失,并通过梯度下降更新实体和关系的嵌入向量。

能量损失函数的构建与含义

能量损失函数是TransE方法的核心,它基于边缘(margin-based)的排名标准构建。损失函数的形式如下:

L = ∑ ( h , ℓ , t ) ∈ S ∑ ( h ′ , ℓ , t ′ ) ∈ S ′ ( h , ℓ , t ) [ γ + d ( h + ℓ , t ) − d ( h ′ + ℓ , t ′ ) ] + L = \sum_{(h,ℓ,t) \in S} \sum_{(h',ℓ,t') \in S'(h,ℓ,t)} [ \gamma + d(h + ℓ, t) - d(h' + ℓ, t') ]_+ L=(h,,t)S(h,,t)S(h,,t)[γ+d(h+,t)d(h+,t)]+

其中:

  • [ x ] + [x]_+ [x]+表示 x x x的正部分,即 x x x大于0时取 x x x,否则取0。
  • γ \gamma γ是一个大于0的边界超参数。
  • d d d是不相似度度量,可以是L1或L2范数。
  • S S S是训练集中的三元组集合。
  • S ′ ( h , ℓ , t ) S'(h,ℓ,t) S(h,,t)是由原始三元组生成的所有扰动三元组的集合。

损失函数的目标是最小化训练三元组的能量,同时确保扰动三元组的能量大于训练三元组的能量至少一个边界 γ \gamma γ。这样,模型会倾向于将头实体和尾实体的嵌入向量通过关系向量平移后彼此靠近,而对于不正确的实体关系组合,则会将它们的嵌入向量分隔得更远。

通过这种方式,TransE能够有效地学习到实体和关系的嵌入表示,使得对于任何给定的关系三元组 ( h , ℓ , t ) (h, ℓ, t) (h,,t),头实体 h h h的嵌入向量加上关系 ℓ ℓ 的向量应该接近尾实体 t t t的嵌入向量。这种简单的假设在实验中显示出了强大的性能,尤其是在大规模知识库的链接预测任务中。

五、实验环节

实验在Wordnet和Freebase数据集上进行,与多种现有方法进行比较。实验结果显示,TransE在链接预测任务上显著优于现有最先进的方法,并且能够在包含1M实体、25k关系和超过17M训练样本的大规模Freebase数据集上成功训练。

六、进一步探索点:

  • 分析TransE模型的进一步应用,例如在自然语言处理中的词表示学习。
  • 结合知识库和文本数据进行更广泛的应用探索,例如关系抽取。

七、总结

TransE是一种新颖的知识库嵌入方法,它通过将关系视为实体嵌入向量间的平移来建模多关系数据。这种方法在参数数量上更为精简,易于训练,且在大规模数据集上表现出色。尽管TransE在处理某些特定类型的三元关系时可能存在局限性,但其在多关系数据建模领域显示出巨大的潜力,并为未来的研究提供了新的方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1512632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

绝地求生:PUBG官方公布2024工作计划

大家好,我是闲游盒。 首先今天官方公布了2024工作计划,下面我们一起来了解一下2024工作重点,官方提到的2点:一是通过对PUBG的维护和优化来改善线上服务的质量,二是为玩家们提供更加多姿多彩的游戏体验。我个人看完了全…

EMQX+InfluxDB+Grafana 构建物联网可视化平台

EMQXInfluxDBGrafana 构建物联网可视化平台 本文以常见物联网使用场景为例,介绍了如何利用 EMQ X MQTT 服务器 InfluxDB Grafana 构建物联网数据可视化平台,将物联网设备上传的时序数据便捷地展现出来。 在物联网项目中接入平台的设备数据和数据存储…

第0章 学习包介绍

一、考试介绍 二、考点分析 白盒测试、黑盒测试、面向对象测试、web测试;下午题考的概率很大; 上午题考点: 三、资料包 四、如何学习

揭秘小红书口碑营销策略,品牌营销总结

口碑营销,是品牌方获得消费者的必修课之一,尤其是在小红书平台上,毕竟小红书是精准消费者扎堆的地方。但是,小红书营销该怎么做才能保证展示率!怎么才能树立品牌方的正面形象,作为品牌方对这个问题还是比较模糊&#x…

【Java设计模式】十七、状态模式

文章目录 1、背景案例2、状态模式3、案例4、总结 1、背景案例 现要按钮控制电梯的四种状态:开门、关门、启动、停止。但每种状态的改变,可能受其他状态影响,如运行状态下,不能进行开门。写个普通实现: 定义电梯接口 …

项目管理系统推荐:打造高效团队协作!教育科技公司管理利器揭秘

教育科技行业是指利用先进的技术手段和教育理论,为教育提供更加高效、便捷、个性化的解决方案。新东方、学而思、高顿都是耳熟能详的教育科技公司。项目管理、团队协作都离不开项目管理系统。适合教育科技公司的项目管理系统,项目管理系统推荐。 常见的项…

BUG:RuntimeError: input.size(-1) must be equal to input_size. Expected 1, got 3

出现的bug为:RuntimeError: input.size(-1) must be equal to input_size. Expected 1, got 3 出现问题的截图: 问题产生原因:题主使用pytorch调用的nn.LSTM里面的input_size和外面的数据维度大小不对。问题代码如下: self.lstm nn.LSTM(input_size, hidden_size, num_laye…

VS 调试Hololens 2工程报错 有未经处理的异常: Microsoft C++ 异常:

原因是unity 少安装了XR工具包 安装完后重新用unity打包,然后vs打开打包出来的工程,电脑和眼镜用usb连接,直接运行调试就可以了

全代码分享|R语言孟德尔随机化怎么做?TwoSampleMR包MR一套标准流程

文章目录 1.前言1.1 成立条件1.2 三大要素1.3 统计原理 2.demo2.1 加载R包2.2 主要MR分析2.3 MR补充分析、多态性、验证 2.4 结果可视化 1.前言 孟德尔随机化(Mendelian randomization,MR)是一种利用基因变异作为工具变量来评估暴露与结果之间因果关系的统计方法。…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的人群密度检测系统(深度学习模型+UI界面+训练数据集)

摘要:开发人群密度检测系统对于公共安全等领域具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个人群密度检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5,展示了不同模型…

C# RAM Stable Diffusion 提示词反推 Onnx Demo

目录 介绍 效果 模型信息 项目 代码 下载 C# RAM Stable Diffusion 提示词反推 Onnx Demo 介绍 github地址:GitHub - xinyu1205/recognize-anything: Open-source and strong foundation image recognition models. Open-source and strong foundation ima…

Linux系统之ipcalc命令的基本使用

Linux系统之ipcalc命令的基本使用 一、ipcalc命令介绍二、ipcalc命令的使用帮助2.1 ipcalc命令的help帮助信息2.2 ipcalc命令的语法解释 三、ipcalc命令的基本使用3.1 计算子网掩码3.2 计算网络地址3.3 找出所对应的主机名3.4 计算子网详细信息 四、ipcalc命令使用注意事项 一、…

基于SpringBoot+MYSQL的社区团购系统

目录 1、前言介绍 2、主要技术 3、系统流程分析 3.1、注册流程 3.2、登录流程 3.3、购买流程 4、系统设计 4.1、系统结构设计 4.2、系统顺序图 4.2.1、登录模块顺序图 4.2.2、添加信息模块顺序图 4.3、数据库设计 4.3.1、数据库E-R图设计 4.3.2、数据库表设计 5、…

【论文阅读】ACM MM 2023 PatchBackdoor:不修改模型的深度神经网络后门攻击

文章目录 一.论文信息二.论文内容1.摘要2.引言3.作者贡献4.主要图表5.结论 一.论文信息 论文题目: PatchBackdoor: Backdoor Attack against Deep Neural Networks without Model Modification(PatchBackdoor:不修改模型的深度神经网络后门攻击&#xf…

P1765 手机

题目描述&#xff1a; AC代码&#xff1a; #include<iostream> #include<cstring>using namespace std;int main() {string str;getline(cin,str);int cnt 0;for(int i0;i<str.size();i){if(str[i] a || str[i] d || str[i] g || str[i] j || str[i] m…

SA3D:基于 NeRF 的三维场景分割方法

Paper: Cen J, Zhou Z, Fang J, et al. Segment anything in 3d with nerfs[J]. Advances in Neural Information Processing Systems, 2024, 36. Introduction: https://jumpat.github.io/SA3D/ Code: https://github.com/Jumpat/SegmentAnythingin3D SA3D 是一种用于 NeRF 表…

【C#】.net core 6.0 使用第三方日志插件Log4net,日志输出到控制台或者文本文档

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌握。…

在域控的Users目录下批量创建用户组,名称来自Excel

对于CSV文件&#xff0c;PowerShell可以直接读取并处理&#xff0c;无需额外安装模块。假设你的CSV文件中&#xff0c;用户组名称在第一列&#xff0c;文件名为"groups.csv"&#xff0c;可以使用以下PowerShell脚本来批量创建&#xff1a; # 读取CSV文件中的数据 $g…

Python 基于 OpenCV 视觉图像处理实战 之 开发环境搭建

Python 基于 OpenCV 视觉图像处理实战 之 开发环境搭建 目录 Python 基于 OpenCV 视觉图像处理实战 之 开发环境搭建 一、简单介绍 二、该项目案例的开发环境 三、Python 环境搭建 1、Python 安装包下载 2、这里以 下载 Python 3.10.9 为例 3、安装 Python 3.10.9 4、检…

大语言模型RAG-技术概览 (一)

大语言模型RAG-技术概览 (一) 一 RAG概览 检索增强生成&#xff08;Retrieval-AugmentedGeneration, RAG&#xff09;。即大模型在回答问题或生成问题时会先从大量的文档中检索相关的信息&#xff0c;然后基于这些信息进行回答。RAG很好的弥补了传统搜索方法和大模型两类技术…