基于嵌入-对比学习的联邦知识图谱补全

news2024/11/15 20:56:42

1  引言

1.1  现存问题

        在联邦学习中,跨客户端的数据异质性(即非相同分布的数据)是主要挑战,因为当数据异质性存在时,本地目标可能与全局目标不同。

        如图所示,School KG中的三元组表示Bob和Jack的学术信息,而ecommerce KG中的三元组表示他们的购物信息。然而,先前的方法FedE将fedag应用于知识图嵌入,没有考虑知识图在联邦设置下的异构性问题。

1.2  解决方案

        为了解决联邦知识图补全中知识图嵌入学习的数据异构性问题,提出了一种基于嵌入-对比学习的联邦知识图补全框架FedEC。

        FedEC通过学习共享实体嵌入来实现知识图嵌入的协同优化,不同于传统方法需要汇集所有三元组数据,这种方法有效地保护了数据隐私,同时提高了嵌入表示的性能。

2  FedEC框架

2.1  相关定义

        定义一组联邦知识图为\mathcal{G}^{Fed}=\{\mathcal{G}^{i}\}_{i=1}^{C},其中\mathcal{G}^{i}=\{\mathcal{E}^{i},\mathcal{R}^{i},\mathcal{T}^{i}\}为位于客户端i的知识图谱,C为客户端数量。更准确地说,每个知识图的实体集与其他客户的一个或多个实体集重叠,这是这些联合知识图能够利用其他知        识图来完成自己的先决条件。

        假设关于对齐实体的信息由私有集合交集给出(这是一个加密技术,用于在多个参与方之间找出共有的元素集合,同时不泄露其他非共有的元素),并私有地保存在主服务器中。此外,像其他一些联邦学习工作一样,隐私不是重点,一些标准的隐私保护方法可以自然地适应我们的框架。客户端之间所有唯一实体的实体集在服务器中保存为\mathcal{E}^{Fed}

2.2  FedEC

        在FedEC中,不同知识图谱共享实体的知识图谱嵌入是通过聚合客户端局部三元组训练的嵌入来全局学习的。全局学习的嵌入可以从各种联合知识图中吸收信息,而不显式地收集它们的三元组。具体而言,对于每个具有知识图的客户端,使用嵌入学习器仅基于该客户端的三元组学习有效的知识图嵌入。此外,主服务器用于协调嵌入聚合。换句话说,实体嵌入是通过客户端的三元组在本地学习的,主服务器用于对来自客户端的实体嵌入进行平均。

2.2.1  初级嵌入学习

        为了展示框架的通用性,选择了五种具有代表性的知识图嵌入方法作为嵌入学习器,包括平移距离模型(TransE和RotatE)、语义匹配模型(DistMult和ComplEx)和基于gnn的模型(R-GCN)。

2.2.2  局部客户端嵌入训练

        以一个客户端\mathcal{G}^{c} = \{\mathcal{E}^{c},\mathcal{R}^{c},\mathcal{T}^{c}\}为例,这个过程对于不同的客户端是相同的。

        在第t轮中,客户端从主服务器接收全局实体嵌入Et(在每一轮训练开始时,主服务器会将当前的全局模型参数——在这里是实体嵌入Et,发送给参与这一轮训练的所有客户端。这些参数代表了所有客户端之前训练结果的汇总),在局部训练中更新嵌入的过程类似于使用传统KGE方法训练知识图嵌入。局部训练的损失函数:

p(h,r,t_j^\prime)是自对抗性负采样中 (h,r,t_j')的权重,定义是p(h,r,t_j')=\frac{\exp(\beta s(h,r,t_j'))}{\sum_i\exp(\beta s(h,r,t_i'))}

        其中 𝛽 是采样的温度。

        主服务器上的全局实体嵌入\mathbf{E}_{t}将根据客户 c 中的三元组更新为客户 c 特定的实体嵌入\mathbf{E}_{t}^{c}。在更新 \mathbf{E}_{t}^{c}时,我们希望增加\mathbf{E}_{t}^{c}\mathbf{E}_{t}之间的相似度,减少\mathbf{E}_{t}^{c}和上一轮 \mathbf{E}_{t-1}^{c}之间的相似度,这里被称为对比学习。我们使用类似 NT-Xent 损失的模型对比联邦学习提出的损失函数,如下:

        其中 𝜏是温度参数,sim⁡(⋅,⋅)是余弦相似度函数。

        总体而言,在本地训练期间,我们将对比损失和 KGE 损失结合起来作为损失,一组三元组𝑇的损失定义为:L(\mathcal{T})=\sum_{(h,r,t)\in\mathcal{T}}L_{kge}(h,r,t)+\mu L_{con},其中𝜇是控制对比损失重要性的权重。

为什么减少\mathbf{E}_{t}^{c}和上一轮 \mathbf{E}_{t-1}^{c}之间的相似度?

主要是为了促进模型的学习和避免过拟合到单一客户端的数据。以下是几个关键原因:

  1. 鼓励学习新信息:通过减少与上一轮嵌入的相似度,模型被迫去学习和捕捉当前轮次中新的、未见过的信息。这有助于确保模型不仅依赖于先前学习的模式,而且能够适应和整合来自不同客户端的新知识。

  2. 避免过拟合:在联邦学习中,每个客户端只基于自己的数据集进行训练。减少与上一轮嵌入的相似度有助于防止模型在某个特定客户端的数据集上过拟合,从而提高模型的泛化能力。

  3. 促进知识迁移:在联邦学习的上下文中,目标是让模型能够从所有参与者的数据中学习,即使数据分布是非独立同分布(non-iid)的。减少与上一轮嵌入的相似度有助于模型在不同客户端之间迁移和综合知识,从而提高整个系统的性能和鲁棒性。

  4. 增强模型多样性:通过对比学习,减少与上一轮嵌入的相似度可以增加模型的多样性,使得模型在面对不同的任务和数据时能有更广泛的适应能力。

然而,值得注意的是,这种机制需要谨慎设计,以确保不会破坏模型的稳定性。过度减少相似度可能会导致模型不稳定或者丢失已经学到的有用信息。因此,通常会有一个平衡参数(例如公式中的 𝜇μ),用来控制对比损失的重要性,确保模型既能学习新知识,又不会遗忘旧知识。

2.2.3  更新全局嵌入

        在训练过程中,迭代地进行局部训练和全局更新的过程,一次迭代称为一轮。在每一轮中,都会选出一部分客户进行本地培训,我们将这部分被选中的客户称为c_{sel}。根据之前的联邦学习算法FedAvg,我们将不同客户端的实体嵌入聚合到主服务器的全局实体嵌入,取平均值如下:

        \mathbf{E}_{t}^{c}是在第 t 轮基于客户 c 知识图谱的本地训练后的实体嵌入矩阵。如果 \mathbf{E}_{t+1}的第 i 行所表示的实体不存在于客户 c,则 \mathbf{E}_{t}^{c}的第 i 行元素全为零。此外,\mathbf{E}_{t+1}\mathbf{E}_{t}^{c}都是形状为 n_{e}×𝑑的矩阵,其中 n_{e}是联合知识图谱\mathcal{G}^{Fed}集合中所有唯一实体的数量,即n_{e} = |\mathcal{E}^{Fed}| = |\cup_{i=1}^{C}\mathcal{E}^{i}|

        d 是嵌入维度。另外,n 是一个向量,包含 \mathcal{C}^{sel}∣个元素,每个元素 𝑛_𝑖表示包含由 \mathbf{E}_{t+1}第 i 行表示的实体(即实体 𝐸_𝑖𝐹𝑒𝑑)的客户的数量。确切地说,n 的每个元素定义为:它记录了第 t+1 轮全局知识图谱中每个实体在选定客户集合\mathcal{C}^{sel}中出现的次数。具体地,n 向量的第 i 个元素 𝑛_𝑖计算方式如下:

2.2.4  局部训练和全局更新

2.2.5  嵌入集成过程

问题:

每个客户端通过FedEC优化得到的嵌入是全局优化的结果,可能会偏离仅基于本地三元组优化得到的局部最小值。因此,每个客户端的嵌入信息可能与传统方法有所不同,导致信息不一致。

解决方案:

为了结合这两种嵌入的能力,我们提出了两种嵌入集成方案。具体方法是结合两种嵌入输出的分数,这激励我们设计了两种嵌入集成方法:直接集成和自适应集成。

  1. 直接集成(Direct Ensemble)

    • 直接将两种嵌入的分数进行组合。
    • 这种方法简单直接,将全局嵌入和本地嵌入的结果加权平均或其他方式结合。
  2. 自适应集成(Adaptive Ensemble)

    • 根据某些准则或动态调整,灵活组合两种嵌入的分数。
    • 这种方法更为灵活,可以根据具体情况调整两种嵌入的权重,达到更好的集成效果。

还可以基于一组不同的嵌入学习器来联合收割机s(fed)(·)和s(sig)(·),我们将其称为FedEC+。在FedEC+中,直接集成的计算如下:

与公式(13)区别总结

  1. 嵌入方法的数量

    • 公式(13)仅仅对两种嵌入方法的分数取平均。
    • 公式(15)对多个嵌入方法的分数取平均,并且包括了多种嵌入学习方法的组合。
  2. 计算复杂度

    • 公式(13)的计算相对简单,只涉及两种嵌入方法的分数。
    • 公式(15)的计算复杂度较高,因为它需要对多个嵌入学习方法的分数进行计算和平均。
  3. 适用性

    • 公式(13)适用于简单的场景,只需要结合两种嵌入方法。
    • 公式(15)适用于更复杂的场景,需要结合多种嵌入方法,以提高模型的鲁棒性和性能。

FedEC+的自适应集成如下:

​​​​​​​

与公式(14)区别总结

  1. 嵌入方法的数量

    • 公式(14)仅仅对两种嵌入方法(FedEC和单个知识图)的分数进行加权。
    • 公式(16)则对多种嵌入方法(例如 TransE、RotatE 等)进行加权组合,考虑了更多的嵌入信息。
  2. 权重参数的复杂度

    • 公式(14)有两个权重参数 wfw^{f}wf 和 wsw^{s}ws。
    • 公式(16)有针对每个嵌入学习方法的权重参数 welfw^{f}_{el}welf​ 和 welsw^{s}_{el}wels​,因此参数更多,模型更为复杂。
  3. 灵活性和适用性

    • 公式(14)适用于仅需结合两种嵌入方法的场景,较为简单。
    • 公式(16)适用于需要结合多种嵌入方法的场景,能够提供更高的灵活性和性能。

3  数据集

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

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

相关文章

Redis与缓存

文章目录 Redis与缓存一致性问题大Key问题缓存穿透缓存击穿缓存雪崩 Redis与缓存 Redis作为缓存具有高性能、丰富的数据结构和灵活的过期机制等优点。由于Redis将数据存储在内存中,它能提供极低的延迟和高吞吐量,适合用于缓存数据库查询结果、会话数据和…

集成测试:确保软件模块协同工作的关键步骤

目录 前言1. 集成测试的概念1.1 增量集成测试1.2 大爆炸集成测试 2. 集成测试的主要作用2.1 确保模块间正确交互2.2 发现设计缺陷2.3 提高系统稳定性 3. 集成测试在整个测试过程中的地位3.1 从单元测试到集成测试3.2 从集成测试到系统测试 4. 常用的集成测试工具4.1 JUnit4.2 T…

嵌入式开发测试实训室解决方案

一、建设背景 随着物联网、人工智能等技术的飞速发展,嵌入式系统作为这些技术的重要载体,其重要性日益凸显。为了满足市场对嵌入式技术人才的需求,培养具有扎实理论基础、熟练实践技能及创新能力的嵌入式开发工程师,设计并建设一…

3. 类的生命周期

类的生命周期是指一个类被加载,使用,卸载的一个过程,如下图: 类的加载阶段: 加载(Loading)阶段第一步是类加载器根据类的**全限定名(也就是类路径)**通过不同的渠道以二进制流的方式获取字节码…

ClkLog:开源用户行为分析框架,让数据分析更轻松

ClkLog:开源用户行为分析框架,让数据分析更轻松 在数据驱动的时代,找到一个好用的用户行为分析工具真是难上加难。但是今天你有福了,开源免费的 ClkLog 就是你的不二选择!本文将为你详细介绍 ClkLog 的功能特点、技术架…

OpenCV 彩色直方图

彩色直方图 (1)直方图是图像中像素强度分布。 (2)直方图统计了每一个强度值所具有的像素个数。 (3)cv2.calcHist(images, channels, mask, histSize, ranges) import cv2 import matplotlib.pyplot as …

2023年系统架构设计师考试总结

原文链接:https://www.cnblogs.com/zhaotianff/p/17812187.html 上周六参加了2023年系统架构设计师考试,这次考试与以前有点区别,是第一次采用电子化考试,也是教材改版后的第一次考试。 说说考前准备:为了准备这次考试…

cadence SPB17.4 - allegro - DRC error “Line to SMD Pin Same Net Spaing“

文章目录 cadence SPB17.4 - allegro - DRC error "Line to SMD Pin Same Net Spaing"概述笔记END cadence SPB17.4 - allegro - DRC error “Line to SMD Pin Same Net Spaing” 概述 铺铜前DRC正确。 铺铜后,报错 DRC error “Line to SMD Pin Same …

Squeeze-and-Excitation Networks

1、引言 论文链接:Squeeze-and-Excitation Networks (thecvf.com) 为了提高 CNN(convolutional neural network) 的表示能力,最近的几种方法已经显示出增强空间编码的好处。而 Jie Hu[1] 等专注于通道关系并提出了 SE(Squeeze and Excitation) 块&#x…

uniapp 使用css实现大转盘

思路: 1.一个原型的外壳包裹 2.使用要分配的个数,计算出角度,利用正切函数tan计算出角度对应对边长度 3.使用clip-path画出一个扇形 4.使用v-for循环出对应的份数,依次使用transform rotate旋转对应的角度。 注意&#xff1a…

DM集群的高可用的配置方式(多语言)

一、介绍 强调以下:dm_svc.conf必须放置到应用服务器上才行,放到其他服务器上识别不到。 文章中有的框架可能没写到并不代表不支持,有没提到的可文章下方留言。 1.dm_svc.conf的作用: dm_svc.conf文件主要是为了当DM数据库集群…

ES(ElasticSearch)倒排索引

目录 正排与倒排索引 1.正排索引 作用: 优点: 缺点: 2.倒排索引 原理: 倒排索引的构建流程: 倒排索引的搜索流程: 优点: 缺点: 3. 应用场景 倒排索引中有几个非常重要的概念…

Skyeye云智能制造企业版源代码全部开放

智能制造一体化管理系统 [SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模…

【图文详解】Spring是如何解决循环依赖的?

Spring是如何解决循环依赖的呢? 很多小伙伴在面试时都被问到过这个问题,刷到过这个题的同学马上就能回答出来:“利用三级缓存”。面试官接着追问:“哪三级缓存呢?用两级行不行呢?” 这时候如果没有深入研究…

AI副业赚钱免费资源大汇总

在当今数字化时代,人工智能(AI)的热潮无处不在,许多人对于如何利用AI技术来创造收入机会感到好奇。本文将介绍一个名为aimoneyhunter的开源项目,这是一个专注于AI副业赚钱的资源汇总,旨在帮助人们在AI时代找…

技术干货 | 针对Spring-Boot 框架漏洞的初探

0x1 前言 这篇文章主要是给师傅们介绍下Spring-Boot 框架漏洞的打法以及主要对于Spring-Boot漏洞的接口泄露信息进行一个分析,后面使用了曾哥的Spring-Boot漏洞扫描工具,可以很大减轻我们对于这个漏洞接口的分析。 0x2 Spring框架简述 Spring是一个ja…

Ollama 在Windows Server 2019中部署 qwen:4b

1、环境 1.1、Ollama 1.2、Windows Server 2019 1.3、qwen:4b 1.4、nginx-1.27.0 2、部署后效果如下。 3、环境安装包下载链接包含本文所有的配置内容。 https://download.csdn.net/download/xingchengaiwei/89571623 4、安装ollama,官网下载地址Download Ollama…

【SpringCloud】企业认证、分布式事务,分布式锁方案落地-2

目录 高并发缓存三问 - 穿透 缓存穿透 概念 现象举例 解决方案 缓存穿透 - 预热架构 缓存穿透 - 布隆过滤器 布隆过滤器 布隆过滤器基本思想​编辑 了解 高并发缓存三问 - 击穿 缓存击穿 高并发缓存三问 - 雪崩 缓存雪崩 解决方案 总结 为什么要使用数据字典&…

一文带你了解RAG(检索增强生成) | 概念理论介绍+ 代码实操

一、LLMs 已经具备了较强能力了,为什么还需要 RAG(检索增强生成)? 尽管 LLM 已展现出显著的能力,但以下几个挑战依然值得关注: 幻觉问题:LLM 采用基于统计的概率方法逐词生成文本,这一机制内在地导致其可能出现看似逻…

PPT模板替换秘籍:一键撤销原模板,轻松更换新风格!

将PPT中的模板换成另一个模板,可以通过几种不同的方法实现。以下是几种常用的方法: 方法一:使用PowerPoint内置的设计选项卡 打开PowerPoint:首先,打开你想要更改模板的PPT文件。 选择“设计”选项卡:在…