ConvE:Convolutional 2D Knowledge Graph Embeddings

卷积神经网络(2D卷积神经网络和3D卷积神经网络理解) 1.卷积核是一个可以滑动的窗口。2.2D卷积,卷积核只在2个方向上运动,因此只有两个自由度(一小片纸,在一大张纸内2个方向上滑动)3D卷积,卷积核会在3个方向上运动,那么卷积核的运动需要有三个自由度(一小块立方体,在一个大面包块内3个方向上滑动)3.卷积运算是一个相乘再相加的过程也可以说是内积运算。4.多通道计算是多个单通道的计算结果求和。5.图像的通道数要和卷积核的通道数保持一致。 阅读详情
AI摘要

本文提出了一种新的知识图谱补全方法ConvE,它利用2D卷积网络来捕获实体和关系之间的复杂交互。ConvE克服了传统模型的局限性,如参数效率低和过拟合问题,通过使用卷积操作来提高模型的表达能力。该模型还引入了有效的正则化技术来避免过拟合。

论文:Convolutional 2D Knowledge Graph Embeddings

1 介绍

1.1 提出原因

之前提出的模型如disMult,Trans系列模型,成为浅层模型,虽然比较简单,参数较少、训练模型速度较快,但是这些模型相比于深的模型,更少能够抓到复杂的信息。因此,提出模型ConvE模型,利用卷积的方式进行知识图谱补全,能够适用于更加复杂的图。

在浅层模型中增加特征数量的唯一方法,就是增加embedding的维度,但是随之而来存在一个问题,不能扩展到更大的知识图谱,因为嵌入参数的总数与图中实体和关系的数量成正比。此外,以往的多层知识图嵌入体系结构都是全连接的,容易出现过拟合问题。

1.2ConvE优势

ConvE采取卷积的形式,由于高度优化的GPU实现,它的参数效率和计算速度快。由于其的普遍使用,在训练多层卷积网络时,已经建立了鲁棒方法来控制过拟合。在本文中,我们引入了ConvE模型,该模型使用二维卷积在嵌入上预测知识图中的缺失环节。ConvE是用于链接预测的最简单的多层卷积体系结构:它由单个卷积层、嵌入维数的投影层和内积层定义。相比于GCN框架仅限于无向图,而知识图自然是有向的,并且可能受到限制的内存需求的影响。

1.3 贡献

  • 介绍了一个简单的,有竞争力的2D卷积链路预测模型,ConvE。
  • 开发一个1-N的评分程序,加速三倍的训练和300倍的评估。
  • 系统地研究了在常用的链接预测数据集中报告的逆关系测试集泄漏,在必要时引入数据集的鲁棒版本,使其无法用简单的基于规则的模型来解决。

2 模型

2.1 1D vs 2D Convolutions

1D Convolutions
([a a a] ; [b b b]) = [a a a b b b]
若采用filter, 其 size k = 3, 结果为维度 1 × 4 1\times4 1×4

2D Convolutions
( [ a a a a a a ] ; [ b b b b b b ] ) = [ a a a a a a b b b b b b ] \begin{pmatrix} \begin{bmatrix} a & a & a \\ a& a & a\\ \end{bmatrix}; \begin{bmatrix} b&b&b\\ b&b&b\\ \end{bmatrix} \end{pmatrix}= \begin{bmatrix} a&a&a\\ a&a&a\\ b&b&b\\ b&b&b\\ \end{bmatrix} ([aa​aa​aa​];[bb​bb​bb​]​)=⎣⎢⎢⎡​aabb​aabb​aabb​⎦⎥⎥⎤​
若采用filter, 其 size k = 3 × 3 \times3 ×3, 结果为维度 2 × 1 2\times1 2×1
二维卷积运算能够模拟a和b之间更多的交互作用(与m, n, k成比例的动作)。因此,与一维卷积相比,二维卷积能够提取两个嵌入之间更多的特征交互作用

2.2 模型图

在这里插入图片描述
模型讲解:

  • 头实体和关系的one-hot编码进行embedding,维度为k
  • 将头实体和关系的embeding 进行reshape,并拼接
  • 进行卷积操作
  • 全连接操作,映射维度为k
  • 将全连接的结果乘以所有embedding结果,即实现1-N的评分方法,也就是说结果乘所有实体。

2.3 评分函数

在这里插入图片描述
其中 r r ∈ R k , e ‾ s , r ‾ r 分 别 代 表 e s , r r , 2 D 进 行 r e s h a p e 结 果 。 e s , r r ∈ R k , e ‾ s , r ‾ r ∈ R k w × k h , 其 中 k = k w × k h \mathbf r_{r}\in \mathbb R _{k}, \overline \mathit e_{s},\overline \mathit r_{r}分别代表e_{s}, r_{r},2D进行reshape结果。e_{s}, r_{r}\in\mathbb R_{k},\overline \mathit e_{s},\overline \mathit r_{r}\in \mathbb R^{k_{w}\times k_{h}},其中k=k_{w}\times k_{h} rr​∈Rk​,es​,rr​分别代表es​,rr​,2D进行reshape结果。es​,rr​∈Rk​,es​,rr​∈Rkw​×kh​,其中k=kw​×kh​

2.4 损失函数

在这里插入图片描述

2.5 正则化

我们通过在几个阶段使用drop out来规范我们的模型,防止过拟合。 特别地,我们在嵌入、卷积后的feature map以及全连通层后的hidden units上使用了dropout。此外,我们BatchNorm进行归一化,在卷积输入之前,卷积输入之后,
feature map之后进行BatchNorm归一化。

3 代码

论文原作代码使用一个框架难以理解,找到替代的一个代码。
参考代码:点我
模型代码

import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.nn import  Parameter
class ConvE(nn.Module):
    def __init__(self, config):
        super(ConvE, self).__init__()
        self.config = config
        self.ent_embs = nn.Embedding(self.config.ent_num, self.config.dim)
        self.rel_embs = nn.Embedding(self.config.rel_num, self.config.dim)
        self.input_drop = nn.Dropout(config.inputDrop)
        self.hide_drop = nn.Dropout(config.hideDrop)
        self.feature_drop = nn.Dropout2d(config.featureDrop)
        self.conv = nn.Conv2d(1, 32, (3, 3), bias=True)
        self.bn0 = nn.BatchNorm2d(1)
        self.bn1 = nn.BatchNorm2d(32)
        self.bn2 = nn.BatchNorm1d(config.dim)
        self.fc = nn.Linear(config.hide_size, config.dim)
        self.dim = config.dim #dim = 200
        self.dim1 = config.dim1  #dim1 = 20
        self.dim2 = self.dim // self.dim1 # dim2 = 10
        self.loss = nn.BCELoss()
        self.register_parameter('b',Parameter(torch.zeros(config.ent_num)))
        self.init()
        
    def init(self):
        nn.init.xavier_normal_(self.ent_embs.weight.data)
        nn.init.xavier_normal_(self.rel_embs.weight.data)
    def forward(self, e1, rel):
        e1_emb = self.ent_embs(e1).view(-1, 1, self.dim1, self.dim2)#el_emb; batch*1*20*10
        rel_emb = self.rel_embs(rel).view(-1, 1 ,self.dim1, self.dim2)
        
        conv_input = torch.cat([e1_emb, rel_emb], dim = 2)#con_input: bath*1*40*10
        conv_input = self.bn0(conv_input)
        x = self.input_drop(conv_input)
        x = self.conv(conv_input)
        x = self.bn1(x)
        x = F.relu(x)
        x = self.feature_drop(x)
        x = x.view(x.shape[0], -1)#bacth*hide_size(38*8*32 = 9728)
        x = self.fc(x)
        x = self.hide_drop(x)
        x = self.bn2(x)
        x = F.relu(x)#batch*dim          ent_ems.weight   dim*ent_num
        #print(x.shape, self.ent_embs.weight.shape)
        x = torch.mm(x, self.ent_embs.weight.transpose(1, 0))
        x += self.b.expand_as(x)
        pred = torch.sigmoid(x)
        return pred
        
(ConvE)Convolutional 2D Knowledge Graph Embeddings 本论文的贡献如下:(1)提出了一个简单的,有竞争力的二维卷积链路预测模型——ConvE(2)提出了1-N打分方法以加快训练速度3倍和评估速度300倍(3)模型具有更好的参数效率,比DistMult和R-GCN都要好很多(4)论文提出的模型与其他浅的模型的性能区别随着知识图谱复杂度的增加而成比例增加(5)验证了测试数据集泄露的严重性,同时提出了一个改进版的数据集(6)对ConvE和先前其他最好的模型做了评估,ConvE取得了SOTA效果。 阅读详情

相关推荐

End-to-end Structure-Aware Convolutional Networks for Knowledge Base Completion

研究问题 将图网络作为编码器,将Conv-TransE作为解码器,应用于知识图谱补全任务 背景动机 ConvE模型在做卷积之前对embedding实施了reshape操作,并且没有保留TransE系列模型的可翻译属性 ConvE模型没有把知识图谱的连通性纳入考虑 模型思想 提出了一种端到端的图结构敏感的卷积网络,编码器为WGCN,将节点结构、节点属性、关系类型作为输入;解码器为Conv-TransE,在ConvE的基础上可以保留实体到关系嵌入之间的翻译属性。 模型框架 总体流程 编码器计算出嵌入矩阵

羊城迷鹿的博客 1605

convE模型

知识补全模型中的convE模型的详细介绍,包括模型代码,得分函数、损失函数等

m0_45878612的博客 7205

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案 入门基础 11.多选题 以下方式中属于FineReport中预览模式的有( ) 分页预览、填报预览、新填报预览、数据分析、移动端预览 16.判断题 FineReport报表工具必须购买激活码后才能使用。 错误,可以免费获取激活码。 29.单选题 FineReport是一款利用( )语言开发的报表工具。java 41.多选题 访问帮助文档的方式有哪些?设计器中社区菜单下-帮助文档;直接访问http://help.finere

qq_37485720的博客 2万+

《Convolutional 2D Knowledge Graph Embeddings》论文学习

问题提出背景:知识图谱的链路预测是预测实体之间确实关系的任务,以前的链路任务只集中在比较浅层次的还有快速的模型,这些可以用来扩展到大型知识图谱,但是这些模型比深度多层模型表达的特征更少,会限制其性能。方法:在这里我们介绍了convE,一个用于链路预测的多层神经网络,并报告了几个已经建立好的数据集的最新的成果。效果:它具有比较高的参数效率,它的性能跟DisMult和R-GCN相同,但是他的参数比这两个少了8倍和17倍。对我们的模型分析发现,它在建模高度结点的时候特别有效,这在连接具有高度连接的复杂知识图谱中很

m0_45293058的博客 1274

il2cpp分析-gobal-metadata.dat解密

打开ida,把libil2cpp拖到ida中按快捷键Shift+F12等待字符串分析完后,搜索global-metadata.dat。ida中双击sub_57EE7C进入,VS code中也跳转到LoadMetadataFile函数。VSCode打开il2cpp源代码,全局搜索global-metadata.dat。工具:010Editor,IDA 7.5,Jadx,VS Code。判断加密逻辑为根据文件的长度循环读取字节码做亦或加密。双击搜索出来的结果,切记要选il2cpp目录下的。

Android_machong的博客 8024

大模型应用开发面试全流程实录:RAG、上下文工程与多Agent协作技术深度解析

Transformer 依靠多头自注意力和位置编码实现高效序列建模。Prompt Engineering包含多种设计思路,如 Zero-shot、Few-shot、Chain-of-thought,提升模型泛化和推理。Token 和上下文窗口直接影响模型性能与成本,选择需结合实际业务场景(如客服对话需长窗口)。Embedding 技术是 RAG 的基础,决定了语义检索效果。向量数据库如 FAISS、Milvus等分别适用于本地/分布式检索。

m0_52114506的博客 827

convE:Convolutional 2D Knowledge Graph Embeddings

思路: 1.encoding component 嵌入层 S,O -(embedding)->Es,Eo 2.scoring component 打分函数 模型结构图 1和2步实体和关系嵌入的变形和拼接 3.卷积后全链接 4.和实体矩阵相乘 5.sigmoid后给出概率 打分函数 数据集介绍 WN18是WordNet的子集,包括18种关系和409...

qqywm的博客 633

VIVADO中的IP核在MATLAB中仿真

VIVADO中的IP核在MATLAB中仿真项目简述VIVADO建立FFT IP核MATLAB调用FFT IP核 项目简述 我们都会用MATLAB进行算法验证,但是经常会发现如果VIVADO中调用了IP核,那么最终会发现VIVADO与MATLAB之间的数据不可以统一的对应起来。那么,MATLAB验证的效果就会大大下降,那么可不可以想办法将VIVADO中的IP核封装成一个函数在MATLAB中调用呢?答案是可以的。这篇博客主要以FFT的IP核为例讲解封装成一个函数并且成功在MATLAB中调用。 本次实验所使用的软

zhangningning1996的博客 6989

Convolutional 2D Knowledge Graph Embeddings 阅读笔记

我的博客链接 0. 导读 0.1 文章是关于什么的?(what?) 用知识表示来做链接预测,其中使用了2D的卷积操作 0.2 要解决什么问题?(why?|challenge) 计算速度 对于复杂网络的适应性 0.3 用什么方法解决?(how?) 用了2D的卷积操作 0.4文章有什么创新? 首次引入一个简单的2D卷积操作来进行链接预测任务; 展示了一个1-N分数过程来加速训练; 提出的模型可以用于复杂图 0.5 效果如何? 0.6 还存在什么问题? 1 背景知识 通过使用2D而不是1D卷积,可以通

NYSDY的博客 2519

把 LangGraph 当“工作流引擎”用:与传统 BPM 的差异与融合策略

首先,我们来回顾一下有限状态机(FSM)的基本定义——一个 FSM 可以用一个五元组MQΣδq0FMQΣδq0​FQQQ有限状态集合,包含 FSM 所有可能的状态;Σ\SigmaΣ有限输入字母表,包含 FSM 所有可能的输入;δ\deltaδ状态转移函数,定义了 FSM 从当前状态q∈Qq \in Qq∈Q接收输入σ∈Σσ∈Σ后,转移到的下一个状态q′∈Qq' \in Qq′∈Q,即δQ×Σ→QδQ×Σ→Q。

AI 原生应用开发的博客 227

用一套可追溯的闭环,把设备变成可管理的资产:SAP S/4HANA Asset Management 模块详解

摘要:SAP S/4HANA的资产管理模块(EAM)通过标准化流程管理企业资产全生命周期,解决资产状态、需求和资源的不确定性。系统将资产抽象为技术对象,支持纠正性和预防性维护流程,通过维护工单实现可执行的工作包,并与物料管理、财务、生产计划等模块集成形成管理闭环。该模块可帮助降低非计划停机时间,通过数据驱动决策优化维护策略,提升资产可用率和运营效率。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 249

论文阅读 Convolutional 2D Knowledge Graph Embeddings

Convolutional 2D Knowledge Graph Embeddings 卷积二维知识图谱嵌入 摘要:知识图的链接预测是预测实体之间缺失关系的任务。以往关于链接预测的工作主要集中在浅层、快速的模型上,这些模型可以扩展到大型知识图。然而,与深层、多层模型相比,这些模型学习的功能表达性较差,这可能会限制性能。在这项工作中,我们引入了ConvE,一个用于链路预测的多层卷积网络模型,并报告了几个已建立的数据集的最新结果。我们还表明,该模型具有很高的参数效率,与DistMult和R-GCN相同的性能,但

qq_41669355的博客 1726

康耐视visionpro-CogBlobTool工具详细说明

康耐视visionpro-CogBlobTool工具详细说明

视觉人机器视觉的博客 1724

convolutional 2D knowledge graph embedding 解读

convolutional 2D knowledge graph embedding 解读来源backgroundmotivation模型实验结果代码链接 来源 AAAI 2018 伦敦大学 background 知识图谱在很多领域都有广泛的应用,例如搜索、问答、推荐系统等等,但是目前的知识图谱大多存在两个问题:1.知识图谱的不完整性,例如属性缺失或者关系缺失 2. 知识图谱存在错误的关系或者属性...

damuge2的博客 5647

TC8:IPv4_HEADER_05-09

所有主机都必须准备好接受最多576个字节的数据报我们知道最大传输单元MTU通常是1500个字节,也就是说一条IP数据报的Header+payload最大1500,那为什么这条测试用例又要求主机准备好接受最多576个字节的IP数据报呢。

jasonj333 511

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

论文笔记:AAAI 2018 Convolutional 2D Knowledge Graph Embeddings

1. 前言 论文链接:https://aaai.org/ocs/index.php/AAAI/AAAI18/paper/viewPDFInterstitial/17366/15884 github:https://github.com/TimDettmers/ConvE 知识图的链接预测是预测实体之间缺失关系的任务。先前有关链接预测的工作集中在浅,快速的模型上,这些模型可以缩放到大型知识图例如基于基于平移变换的 TransE 系列。但是,这些模型比深层次的多层模型学习的表达功能要少,这可能会限制性能。本文中

qq_44015059的博客 1324

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

论文浅尝 | Convolutional 2D knowledge graph embedding

笔记整理 | 孙悦,天津大学1. 介绍:知识图的链接预测是预测实体之间缺失关系的任务。先前有关链接预测的工作集中在浅,快速的模型上,这些模型可以缩放到大型知识图例如基于基于平移变换的 Tr...

开放知识图谱 1277

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ConvE——二维卷积知识图谱横空出世

当CNN首次进入图神经网络的大门——ConvE原理讲解+代码分析

weixin_72914660的博客 2568

ConvE高级技巧:自定义嵌入维度与2D重塑实战指南(附错误解决方法)

ConvE作为一款强大的Convolutional 2D Knowledge Graph Embeddings工具,为知识图谱嵌入任务提供了高效解决方案。本文将分享自定义嵌入维度与2D重塑的实战技巧,帮助你轻松应对知识图谱嵌入挑战。 ## 一、自定义嵌入维度:打造专属模型参数 ### 1.1 核心参数配置 在ConvE中,嵌入维度是影响模型性能的关键参数。通过调整`embedding_dim`

gitblog_00372的博客 1136

ConvE完全指南:从安装到运行的5步快速上手教程(含FB15k-237实战案例)

ConvE是一种强大的知识图谱嵌入模型,通过卷积2D操作实现高效的链接预测。本教程将帮助你快速掌握ConvE的安装配置与实际应用,即使是深度学习新手也能轻松上手。 ## 📋 核心功能速览 ConvE(Convolutional 2D Knowledge Graph Embeddings)是基于卷积神经网络的知识图谱嵌入方法,具有以下显著优势: - **卓越性能**:在FB15k-237等标

gitblog_00539的博客 1120

ConvE模型原理解析:2D卷积如何重塑实体关系表示?从代码到数学公式的深度拆解

ConvE是一种基于2D卷积的知识图谱嵌入模型,通过创新的卷积神经网络架构重塑实体与关系的表示方式,在保持参数效率的同时实现了优异的链接预测性能。本文将从核心原理、代码实现到性能优势,全面解析ConvE如何通过2D卷积技术推动知识图谱嵌入领域的发展。 ## 🌟 ConvE核心优势:参数效率与预测性能的完美平衡 ConvE作为知识图谱嵌入领域的里程碑模型,其核心创新在于将计算机视觉领域的卷积操

gitblog_01012的博客 750

ConvE揭秘:革命性2D卷积知识图谱嵌入技术如何实现8倍参数效率超越传统模型?

ConvE是一种突破性的知识图谱嵌入技术,通过创新性的2D卷积设计,在保持高性能的同时实现了惊人的参数效率。本文将深入解析这项革命性技术的核心优势、实际效果和简易上手指南,帮助你快速掌握这一强大工具。 ## 什么是ConvE?核心优势一目了然 🚀 ConvE(Convolutional 2D Knowledge Graph Embeddings)是由Dettmers等人于2018年提出的知识

gitblog_00283的博客 614

如何用ConvE实现知识图谱补全?手把手教你构建高性能链接预测系统

知识图谱补全是人工智能领域的重要任务,而**ConvE(Convolutional 2D Knowledge Graph Embeddings)** 作为一种基于卷积神经网络的知识图谱嵌入方法,能高效实现链接预测功能。本文将带你从零开始搭建一个基于ConvE的知识图谱补全系统,无需深厚的深度学习背景,只需按照步骤操作即可完成。 ## 🌟 ConvE核心优势与应用场景 ConvE通过将实体和关

gitblog_00364的博客 693

知识图谱嵌入王者ConvE:3大核心模型(ConvE/Complex/DistMult)性能对比与参数调优

ConvE是一款基于卷积2D的知识图谱嵌入工具,通过创新的二维卷积结构实现高效的链接预测任务。本文将深入对比ConvE与主流知识图谱嵌入模型(DistMult、Complex)的性能差异,并提供实用的参数调优指南,帮助新手快速上手知识图谱嵌入技术。 ## 🌟 知识图谱嵌入模型全景对比 ### 📊 三大模型核心架构解析 ConvE、DistMult和Complex是当前知识图谱嵌入领域的主

gitblog_01110的博客 654

ConvE实战:6大主流数据集(WN18RR/YAGO3-10等)预处理与训练命令全攻略

ConvE是一款基于卷积2D的知识图谱嵌入工具,能够高效处理FB15k-237、WN18RR等主流知识图谱数据集,通过卷积神经网络实现实体与关系的向量化表示,在链接预测任务中展现出优异的性能和参数效率。 ## 🌟 为什么选择ConvE?三大核心优势解析 ### 🔍 卓越的预测性能 ConvE在多个权威数据集上表现出色,以下是官方测试的关键指标(MRR/Hits@10): | 数据集 |

gitblog_00760的博客 991

知识图谱嵌入模型综述:gh_mirrors/kn/knowledge-graph-learning项目核心算法解析

知识图谱嵌入(Knowledge Graph Embedding, KGE)是将实体和关系映射到低维向量空间的关键技术,能够有效解决知识图谱的存储和计算挑战。在gh_mirrors/kn/knowledge-graph-learning项目中,收录了丰富的知识图谱嵌入模型资源,为研究者和开发者提供了全面的学习与实践指南。 ## 知识图谱嵌入的核心价值与应用场景 知识图谱嵌入技术通过将离散的实体

gitblog_00447的博客 940
上一篇: distMult: EMBEDDING ENTITIES AND RELATIONS FOR LEARNING AND INFERENCE IN KNOWLEDGE BASE
下一篇: ConvR:Adaptive Convolution for Multi-Relational Learning
Re:fused
博客等级 码龄9年 474粉丝 162原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值