03 2023 档案

摘要:OpenKE是THUNLP基于TensorFlow,PyTorch开发的用于将知识图谱嵌入到低维连续向量空间进行表示的开源框架。在OpenKE中,我们提供了快速且稳定的各类接口,也实现了诸多经典的知识表示学习模型。该框架易于扩展,基于框架设计新的知识表示模型也十分的方便。具体来说,OpenKE具有如 阅读全文
posted @ 2023-03-31 20:14 sqsq 阅读(225) 评论(0) 推荐(0) 编辑
摘要:TransE是一种常见的知识图谱嵌入方法,它需要一个包含实体,关系和三元组的知识图谱数据作为输入。以下是制作TransE数据集的一般步骤: 1.收集知识图谱数据:首先需要收集实体和关系的信息,这可以通过网站,数据库或其他来源获得。这些数据通常以三元组的形式呈现,其中每个三元组包含一个头实体,一个关系 阅读全文
posted @ 2023-03-29 09:59 sqsq 阅读(145) 评论(0) 推荐(0) 编辑
摘要:梯度下降法 大多数机器学习或者深度学习算法都涉及某种形式的优化。优化指的是改变特征x以最小化或最大化某个函数f(x)的任务。我们通常以最小化f(x)指代大多数最优化问题。最大化可经由最小化算法最小化-f(x)来实现。 我们要把最小化或最大化的函数称为目标函数或准则。当我们对其进行最小化时,我们也把它 阅读全文
posted @ 2023-03-26 21:59 sqsq 阅读(10649) 评论(0) 推荐(0) 编辑
摘要:TransD:"Knowledge Graph Embedding via Dynamic Mapping Matrix"(ACL2015) 动机:不同类型的实体有不同的属性和作用,如果将全部实体都映射到同一空间,使用同一参数进行传递表示时不充分的。本质上应该如果是相似的实体,他们应该是具有相似的映 阅读全文
posted @ 2023-03-20 14:58 sqsq 阅读(298) 评论(0) 推荐(0) 编辑
摘要:TransR:实体和关系分开嵌入(Learning Entity and Relation Embeddings for Knowledge Graph Completion) 一.摘要 知识图谱补全旨在执行实体之间的链接预测。在本文中,我们考虑了知识图嵌入的方法。最近,诸如TransE和Trans 阅读全文
posted @ 2023-03-19 20:35 sqsq 阅读(462) 评论(0) 推荐(0) 编辑
摘要:传统的训练函数,一个batch是这么训练的: for i,(images,target) in enumerate(train_loader): # 1. input output images = images.cuda(non_blocking=True) target = torch.from 阅读全文
posted @ 2023-03-16 17:15 sqsq 阅读(156) 评论(0) 推荐(0) 编辑
摘要:TransH:将知识嵌入到超平面(Knowledge graph embedding by translating on hyperplanes) 1.从TransE到TransH模型 在之前的文章知识图谱-TransE模型原理中,我们介绍了TransE模型的基本原理,对于TransE模型而言,其核 阅读全文
posted @ 2023-03-14 08:25 sqsq 阅读(587) 评论(0) 推荐(0) 编辑
摘要:1.TransE:多元关系数据嵌入(Translation embeddings for modeling multi-relation data) 原文链接:https://proceedings.neurips.cc/paper_files/paper/2013/hash/1cecc7a7792 阅读全文
posted @ 2023-03-13 20:50 sqsq 阅读(788) 评论(0) 推荐(0) 编辑
摘要:torch.optim是一个实现了多种优化算法的包,大多数通用的方法都已支持,提供了丰富的接口调用,未来更多精炼的优化算法也将整合进来。 为了使用torch.optim,需先构造一个优化器对象Optimizer,用来保存当前的状态,并能够根据计算得到的梯度来更新参数。 要构建一个优化器optimiz 阅读全文
posted @ 2023-03-13 15:28 sqsq 阅读(297) 评论(0) 推荐(0) 编辑
摘要:json.loads()方法可用于解析有效的JSON字符串并将其转换为Python字典。它主要用于将包含JSON数据的本地字符串,字节或字节数组反序列化为Python字典。 用法:json.loads(s) 参数:它接受一个字符串,字节或字节数组实例,该实例包含JSON文档作为参数。 返回:它返回一 阅读全文
posted @ 2023-03-11 08:28 sqsq 阅读(350) 评论(0) 推荐(0) 编辑
摘要:Variable 与Tensor tensor是PyTorch中的完美组件,高效的数据格式,但是构建神经网络还远远不够,我们需要能够构建计算图的tensor,这就是Variable。Variable是对tensor的封装,操作和tensor是一样的,但是每个Variable都有三个属性,Variab 阅读全文
posted @ 2023-03-10 20:47 sqsq 阅读(25) 评论(0) 推荐(0) 编辑
摘要:本文梳理了面向知识图谱的图嵌入学习算法的不同设计思想,并对相应方法进行了总结。然后按照设计思路,信息利用程度的不同将图嵌入学习方法分成如下5种类别:基于转移思想的图嵌入算法,基于矩阵/张量分解的图嵌入算法,基于传统深度学习的图嵌入算法,基于图神经网络的图嵌入算法以及融入额外信息的图嵌入算法。其中前3 阅读全文
posted @ 2023-03-10 16:49 sqsq 阅读(448) 评论(1) 推荐(0) 编辑
摘要:在使用Pytorch框架时,需要自己定义网络。super(XX,self).init(),就成了自定义网络结构时必不可少的第一句。 super(XX,self).init()对继承自父类的属性进行初始化,并且用父类的初始化方法初始化继承的属性。 例子: import torch import num 阅读全文
posted @ 2023-03-10 11:21 sqsq 阅读(373) 评论(0) 推荐(0) 编辑
摘要:知识图谱的定义 定义1:知识图谱,是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是“实体-关系-实体”三元组,以及实体及其相关属性-值对,实体间通过关系相互连接,构成网状的知识结构。 包含的三层含义: 1)知识图谱本身是一个具有属性的实体通过关系链接而成的网状知 阅读全文
posted @ 2023-03-06 22:29 sqsq 阅读(713) 评论(0) 推荐(0) 编辑
摘要:random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间 random.uniform()正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。 random.randint()随机生一个整数int类型,可以指定这个整数的 阅读全文
posted @ 2023-03-06 16:43 sqsq 阅读(35) 评论(0) 推荐(0) 编辑
摘要:torch.chunk(input,chunks,dim=0) 功能:将数组拆分为特定数量的块 输入: input:待拆分的数组 chunks:拆分的块数,指定为几,就拆成几 dim:拆分的维度,默认沿第1维度拆分 注意: 函数最后返回的是元组类型,包含拆分后的数组 如果输入的数组在指定的维度下不能 阅读全文
posted @ 2023-03-06 15:03 sqsq 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1.范数(norm)的简单介绍 概念: 距离的定义是一个宽泛的概念,只要满足非负,自反,三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。 在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量 阅读全文
posted @ 2023-03-06 12:50 sqsq 阅读(4111) 评论(0) 推荐(1) 编辑
摘要:PyTorch中对tensor的很多操作如sum,softmax等都可以设置dim参数用来指定操作在哪一维进行。PyTorch中的dim类似于numpy中的axis。 dim与方括号的关系 创建一个矩阵 a = torch.tensor([[1, 2], [3, 4]]) print(a) 输出: 阅读全文
posted @ 2023-03-05 22:21 sqsq 阅读(185) 评论(0) 推荐(0) 编辑
摘要:张量(Tensors)是一种类似于数组与矩阵的特殊数据结构,我们可以利用张量来表示一个模型的输入,输出以及模型的参数。张量与Numpy的数组十分类似,只是张量可以运行在GPUs等硬件加速器上。实际上,张量与Numpy数组通常可以共享一块内存,避免了复制数据的需要。另外,张量还具有自动微分的功能。 i 阅读全文
posted @ 2023-03-04 21:26 sqsq 阅读(162) 评论(0) 推荐(0) 编辑
摘要:axis: 以axis=0为例,则沿着第0个下标(最左边的下标)变化的方向进行操作,也就是将除了第0个下标外,其他两个下标都相同的部分分成一组,然后再进行操作例如一个3*3的二维数组A(3, 3)如果定义axis = 0,也就是说除了第一个下标可以不同,其他下标必须都相同,那么用C++的数组表示,分 阅读全文
posted @ 2023-03-04 14:32 sqsq 阅读(214) 评论(0) 推荐(0) 编辑
摘要:numpy(): Tensor.numpy():将Tensor转化为ndarray,这里的Tensor可以是标量或者向量(与item()不同)转换前后的dtype不会改变 代码: import torch import torch.nn as nn x = torch.Tensor([1,2]) p 阅读全文
posted @ 2023-03-04 11:52 sqsq 阅读(583) 评论(0) 推荐(0) 编辑
摘要:基本思想是通过网络层时,输入和输出的方差相同,包括前向传播和后向传播。 为啥需要进行xavier初始化: sigmoid激活函数: 参考博客: https://blog.csdn.net/dss_dssssd/article/details/83959474 原理: 使用均匀分布 用值填充输入张量结 阅读全文
posted @ 2023-03-04 09:42 sqsq 阅读(3130) 评论(0) 推荐(0) 编辑
摘要:import torch criterion = torch.nn.MarginRankingLoss(margin = 0.3,reduction='mean') x1 = torch.Tensor([3,2]) x2 = torch.Tensor([1,4]) y = torch.Tensor( 阅读全文
posted @ 2023-03-04 09:02 sqsq 阅读(546) 评论(0) 推荐(0) 编辑
摘要:torch.nn.Embedding: 随机初始化词向量,词向量值在正态分布N(0,1)中随机取值。输入:torch.nn.Embedding(num_embeddings, – 词典的大小尺寸,比如总共出现5000个词,那就输入5000。此时index为(0-4999)embedding_dim, 阅读全文
posted @ 2023-03-04 08:46 sqsq 阅读(907) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示