MixKG: Mixing for harder negative samples in knowledge graph---没代码

news2024/11/16 18:43:20

摘要

知识图嵌入(KGE)旨在将实体和关系表示为低维向量,用于许多现实世界的应用。实体和关系的表征是通过对比正负三联体来学习的。因此,高质量的阴性样品在KGE中是非常重要的。然而,目前的KGE模型要么依赖于简单的负抽样方法,这使得难以获得信息丰富的负三胞胎;或者采用复杂的对抗方法,这需要更多的训练数据和策略。此外,这些方法只能使用现有实体构造负三元组,这限制了探索更困难的负三元组的潜力。为了解决这些问题,我们采用混合操作为知识图生成更难的负样本,并引入了一种廉价但有效的方法MixKG。从技术上讲,MixKG首先提出了两种标准来过滤采样阴性中的硬阴性三联体:基于评分函数和基于正确的实体相似度。然后,MixKG通过配对选择的硬阴性的凸组合合成更硬的阴性样品。在两个公开数据集和四种经典KGE方法上的实验表明,MixKG算法优于以往的负抽样算法。

1.介绍

目前大多数KG嵌入模型使用均匀采样来生成假三联体[Bordes等,2013;Trouillon等人,2016;Yang et al ., 2014]。均匀抽样是随机选取具有等概率的候选实体,简单有效,但只选取固定分布的样本。一些开创性的工作试图从动态分布中提取负样本。IGAN [Wang et al ., 2018]和KBGAN [Cai and Wang, 2018]引入生成式对抗网络来选择高质量的负样本,而NSCaching [Zhang et al ., 2019]利用基于缓存的机制来更多地关注高质量的负样本。不同的是,SANS [Ahrabian等,2020]将图结构信息吸收到负采样过程中,获得了更高的性能。虽然这些工作从不同方面对负抽样机制进行了优化,但这些模型仍然存在一个共同的缺点:这些模型只能选择预先存在的实体来构建负样本,这限制了对更难的负三联体的探索。

目前大多数KG嵌入模型使用均匀采样来生成假三联体[Bordes等,2013;Trouillon等人,2016;Yang et al ., 2014]。均匀抽样是随机选取具有等概率的候选实体,简单有效,但只选取固定分布的样本。一些开创性的工作试图从动态分布中提取负样本。IGAN [Wang et al ., 2018]和KBGAN [Cai and Wang, 2018]引入生成式对抗网络来选择高质量的负样本,而NSCaching [Zhang et al ., 2019]利用基于缓存的机制来更多地关注高质量的负样本。不同的是,SANS [Ahrabian等,2020]将图结构信息吸收到负采样过程中,获得了更高的性能。虽然这些工作从不同方面对负抽样机制进行了优化,但这些模型仍然存在一个共同的缺点:这些模型只能选择预先存在的实体来构建负样本,这限制了对更难的负三联体的探索

  • 据我们所知,我们是第一个使用KGs中不存在的实体构造负三元组的人。
  • 我们开发了选择硬负样本的两个标准:基于分数函数的选择器和正确的实体相似性选择器。
  • 我们通过混合成对选择的硬底片来生成更硬的底片,以使模型更容易区分。
  • 我们在不同的数据集和KG嵌入模型上进行了大量的实验,从不同的方面证明了所提出模型的有效性。

 2 Related Works

2.1 Negative Sampling 

负抽样的目的是生成负样本,因此可以通过区分观察到的正数据和负样本来训练模型。负抽样的优点是放弃了通过抽样计算归一化常数,提高了效率和有效性。从抽样类型来看,负抽样可分为两类:固定负抽样和动态负抽样。

Fixed negative sampling

固定负抽样是一种经典的抽样策略,其思想简单直观。固定负抽样有两种代表性方法:均匀抽样[Bordes et al ., 2013]和伯努利抽样[Wang et al ., 2014]。然而,由于固定采样限制的限制,固定采样策略无法形成较硬的负样本。并遭受梯度消失[Cai and Wang, 2018]。

Dynamic negative sampling

针对固定负抽样存在的问题,提出了将固定分布的负抽样扩展到动态分布的开创性工作。KBGAN [Cai and Wang, 2018]和IGAN [Wang et al ., 2018]尝试吸收生成对抗网络来生成高质量的负三元组。然而,KBGAN和IGAN都是以牺牲不稳定性和退化为代价来获得有效性的[Zhang et al ., 2019]。为了在获得高质量负样本的同时降低模型的复杂性,NScaching [Zhang et al ., 2019]使用缓存来存储负三元组。此外,SANS [Ahrabian et al ., 2020]将负采样中的图结构信息以kg为单位,然后仅从头部或尾部实体的l-hop邻域动态选择负样本。虽然这些方法试图从不同的方面生成高质量的负样本,但它们都有一个共同的缺点:负样本只使用预先存在的实体生成。

2.2 Mixing Method

混合[Zhang et al ., 2017]是一种数据增强方法,通过对样本的凸组合生成新数据。从本质上讲,混合鼓励模型在训练样本之间表现为线性。混合方法在许多应用中显示出其优越性[Lee et al ., 2020;Zhang等,2020;Yoon et al ., 2021]。总的来说,有两种流行的混合领域:监督学习的混合和负样本的混合。

Mixing for supervised learning

Mixup [Zhang et al ., 2017]通过线性插值生成虚构的训练样本及其相关标签,实验结果表明Mixup普遍适用于图像、语音和表格数据集。SSMix [Yoon等人,2021]和MixText [Chen等人,2020]分别通过输入和隐藏空间混合将混合操作扩展到自然语言处理领域。

Mixing for hard negative samples

混合的核心思想是通过线性插值构造虚拟样本,因此一些研究者将混合用于难度较大的负挖掘。MixGCF [Huang et al ., 2021]使用正混合和啤酒花混合获得高质量的负样本,在推荐场景下达到更高的性能。MoCHi [Huang et al ., 2021]表明,将硬负样本与标签混合可以获得更硬的负样本。

3 Mix for Harder negative triplets 

在本节中,我们将详细介绍所提出的方法。需要注意的是,本文提出的通过混合操作生成更硬负样本的方法与模型无关,因此它是一个通用框架,可以很容易地插入到现有的KGE模型中。

该模型的核心可分为两个步骤:首先,从采样的负三组中选择高质量的负三组;第二,混合成对的高质量负三胞胎,然后产生新的更难的负三胞胎。

3.1 Select hard negative triplets

在kg中,只有真三胞胎作为正样本,负三胞胎可以用从整个实体集中采样的其他实体替换真三胞胎中的头或尾实体来获得。然而,正如之前的作品[Zhang et al, 2019;Ahrabian等人,2020],许多采样的负三元组不能提供判别信息来帮助模型学习实体和关系的有效嵌入。只有少量的负样本有助于模型向正确的方向收敛,这些样本是硬负样本,是本文方法中混合的原材料。

硬负样本是该模型的核心,但如何定义硬负样本仍然是一个问题。之前的几部作品[Zhang et al ., 2019;Kalantidis et al ., 2020]使用分数函数f,将得分较高的负三组作为硬负样本,我们将这种方法称为基于分数函数的硬负样本(HNS-SF)。然而,这个定义只考虑了负集中的负样本,而忽略了真三元组的帮助。因此,我们引入了硬负样本的不同定义,该定义将与正确的头或尾实体更相似的候选实体视为硬负样本。我们将这种硬负样本定义命名为基于正确实体相似度的硬负样本(HNS-CES)。

需要注意的是,我们以破坏尾部实体为例,通过破坏头部实体生成负样本是类似的。在上述两种定义下,选择负硬样品的具体过程如下:

 3.2 Mixing among these hard triplets

在获得用于混合的硬负三联体后,我们随机选择成对的硬负三联体,然后混合尾部实体生成新的硬负样本。准确地说,假设有两个负三元组,则新生成的硬负三重体的尾部实体为

 

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

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

相关文章

基于深度学习的面部情绪识别算法仿真与分析

声明:以下内容均属于本人本科论文内容,禁止盗用,否则将追究相关责任 基于深度学习的面部情绪识别算法仿真与分析 摘要结果分析1、本次设计通过网络爬虫技术获取了七种面部情绪图片:吃惊、恐惧、厌恶、高兴、伤心、愤怒、自然各若…

橘子疾病检测4种YOLOV8

橘子检测YOLOV8,检测4种疾病,采用YOLOV8-NANO,训练得到PT模型转换成ONNX,最后OPENCV调用,支持C/PYTHON/ANDROID 橘子检测YOLOV8,检测4种疾病

算法---动态规划练习-2(使用最小花费爬楼梯)

使用最小花费爬楼梯 1. 题目解析2. 讲解算法原理方法一:方法二: 3. 编写代码解法一解法二 1. 题目解析 题目地址:点这里 2. 讲解算法原理 方法一: 首先,定义一个大小为n1的数组dp,用于存储到达每个台阶的最…

开源博客项目Blog .NET Core源码学习(10:App.Framwork项目结构分析)

开源博客项目Blog的解决方案总共包括4个项目,其中App.Hosting项目包括所有的页面及控制器类,其它项目主要提供数据库访问、基础类型定义等。这四个项目的依赖关系如下图所示,本文主要分析App.Framwork项目的主要结构及主要文件的用途。   …

使用ggplot2绘制带星号的热图

原文链接:使用ggplot2绘制带星号"*"的热图 本期教程内容 本期教程所有数据和代码,及往期教程数据和代码可在社群中获得 绘制教程 导入相关的R包###@导入相关的R包 library(readxl) library(tidyverse) library(readxl) library(ggsci) library(viridis) library(R…

Python开源项目周排行 2024年第6周

Python 趋势周报,按周浏览往期 GitHub,Gitee 等最热门的Python开源项目,入选的项目主要参考GitHub Trending,部分参考了Gitee和其他。排名不分先后,都是当周相对热门的项目。 入选公式=70%GitHub Trending20%Gitee10%其他 关注微…

CentOS7安装mysql-5.7.44单机和主从复制

官网下载地址: https://downloads.mysql.com/archives/community/ 1、单机安装 安装依赖 yum -y install libaio 解压安装 tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gzmv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysqlcd /usr/local/mysql…

吴恩达深度学习笔记:神经网络的编程基础2.1-2.4

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.1 二分类(Binary Classification)2.2 逻辑回归(Logistic Regression)2.3 逻辑回归的代价函数(Lo…

计数DP

J - The King‘s Walk 思路:dx abs(x1 - x2), dy abs(y1 - y2), 那么最短距离一定是,然后就是状态表示了,表示当前点向上走i步且最终在第j列的方案数,我们知道我们每一步都要缩短短距离,也就是向上走,那么我们转移…

vue3怎么读取本地json数据

在Vue 3中&#xff0c;可以使用fetch API或其他HTTP客户端来读取本地JSON数据。以下是一个使用fetch的示例&#xff1a; <template><div><h1>本地JSON数据</h1><div v-if"data">{{ data }}</div></div> </template>…

JAVA校园失物招领网站源码带后台

开发环境是Eclipse none&#xff0c;Mysql5.6数据库&#xff0c;Spring MVC框架&#xff0c;jdk1.7&#xff0c;Tomcat 8.0.27,静态页面是参照网上设计的&#xff0c;系统功能基本完善&#xff0c;目前还没有发现有需要解决的bug

vim编辑器和gcc/g++编辑器的使用讲解

vim编辑器 1 vim的基本概念 vim是Linux的编写代码的工具&#xff0c;是一种多模式的编辑器。 Linux中vim的常用的模式大概可以分为三种&#xff0c;分别是&#xff1a; 命令模式&#xff08;command mode&#xff09;、插入模式&#xff08;Insert mode&#xff09;和底行模式…

Xcode-双架构arm64 x86_64编译

要启用通用构建&#xff0c;在最新版本的 Xcode 中&#xff0c;请打开您的项目设置&#xff0c;然后依次选择&#xff1a; 1. “Build Settings” 选项卡。 2. 在顶部输入框中输入 “Architectures”。 3. 在 “Architectures” 下拉列表中选择 “Other”。 4. 在输入框中输入 …

Personal Website

Personal Website Static Site Generators hexo hugo jekyll Documentation Site Generator gitbook vuepress vitepress docsify docute docusaurus Deployment 1. GitHub Pages 2. GitLab Pages 3. vercel 4. netlify Domain 域名注册 freessl 域名解析域名…

【微服务】Eureka(服务注册,服务发现)

文章目录 1.基本介绍1.学前说明2.当前架构分析1.示意图2.问题分析 3.引出Eureka1.项目架构分析2.上图解读 2.创建单机版的Eureka1.创建 e-commerce-eureka-server-9001 子模块2.检查父子pom.xml1.子 pom.xml2.父 pom.xml 3.pom.xml 引入依赖4.application.yml 配置eureka服务5.…

火星文:一种特殊的文字编码

title: 火星文&#xff1a;一种特殊的文字编码 date: 2024/3/25 13:26:20 updated: 2024/3/25 13:26:20 tags: 火星文文字变种网络流行解码阅读社交趣味艺术创新未来符号 定义 火星文是一种特殊的文字编码&#xff0c;也称为奇文&#xff0c;其特点是将常见的文字进行特殊的变…

5.3 用PyTorch实现Logistic回归

一、数据准备 Logistic回归常用于解决二分类问题。 为了便于描述&#xff0c;我们分别从两个多元高斯分布 N₁&#xff08;μ₁&#xff0c;Σ₁ &#xff09;、N₂&#xff08;μ₂&#xff0c;Σ₂&#xff09;中生成数据 x₁ 和 x₂&#xff0c;这两个多元高斯分布分别表示…

【Redis知识点总结】(七)——缓存雪崩、缓存穿透、缓存击穿、Redis高级用法

Redis知识点总结&#xff08;七&#xff09;——缓存雪崩、缓存穿透、缓存击穿、Redis高级用法 缓存雪崩缓存穿透布隆过滤器 缓存击穿Redis高级用法bitmapHyperLogLog 缓存雪崩 缓存雪崩是指&#xff0c;同一时间有大量的缓存key失效&#xff0c;或者redis节点直接宕机了&…

基于nodejs+vue学生作业管理系统python-flask-django-php

他们不仅希望页面简单大方&#xff0c;还希望操作方便&#xff0c;可以快速锁定他们需要的线上管理方式。基于这种情况&#xff0c;我们需要这样一个界面简单大方、功能齐全的系统来解决用户问题&#xff0c;满足用户需求。 课题主要分为三大模块&#xff1a;即管理员模块和学生…

(已解决)vue运行时出现Moudle Bulid error: this.getoptios is not a function at........

1.首先查看你的less-loader版本 点击package.json 即可查看less-loader版本&#xff0c;我之前的版本是12.0&#xff0c;太高了&#xff0c;出现了不兼容的问题 2、卸载less-loader ctrlshift~ 打开项目终端 &#xff0c;输入&#xff1a; npm uninstall less-loader 3.重…