图神经网络实战(15)——SEAL链接预测算法

0. 前言

我们已经学习了基于节点嵌入的链接预测算法,这种方法通过学习相关的节点嵌入来计算链接可能性。接下来,我们介绍另一类方法,通过查看目标节点周围的局部邻域执行链接预测任务,这类技术称为基于子图的算法,由 SEAL 广泛使用,可以说 SEAL 表示用于链接预测的子图、嵌入和属性 (Subgraphs, Embeddings, and Attributes for Link prediction) 的缩写,但并不完全准确。在本节中,我们将介绍 SEAL 框架,并使用 PyTorch Geometric 实现该框架。

1. SEAL 框架

1.1 基本原理

SEALZhangChen2018 年提出,是一个学习图结构特征以进行链接预测的框架。它将目标节点 ( x , y ) (x,y)

  • 73
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 37
    评论
好的,关于你的问题,我会尽力回答。不过需要说明的是,我是一个语言模型,并不能直接进行代码实现和运行。以下是基于全同态加密库SEAL实现全同态算法BFV并验证其满足同态性的流程: 1. 安装SEAL库并配置环境。SEAL库是一个用于实现同态加密的C++库,可以在官网(https://www.microsoft.com/en-us/research/project/simple-encrypted-arithmetic-library-seal/)下载。安装完成后需要进行环境配置,主要是设置编译器和SEAL的路径等。 2. 生成加密参数。BFV算法需要一些参数来进行加密和计算,如多项式次数、扰动项数量、模数等。可以使用SEAL提供的工具程序生成这些参数,也可以手动设置。 3. 加密数据。使用SEAL提供的API对需要计算的数据进行加密,得到密文。注意,加密后的数据格式与原始数据不同,需要进行转换。 4. 进行同态计算。使用SEAL提供的API对密文进行同态计算,得到结果密文。BFV算法支持加法和乘法运算,可以进行多次计算。 5. 解密结果。使用SEAL提供的API将结果密文解密得到明文结果。 6. 检验同态性。对于加法和乘法运算,需要验证其是否满足同态性质。即对于两个明文x和y,其加密结果密文为c1和c2,加法的结果为c3,有decrypt(c3) = decrypt(c1) + decrypt(c2);乘法的结果为c3,有decrypt(c3) = decrypt(c1) * decrypt(c2)。 以上就是基于全同态加密库SEAL实现全同态算法BFV并验证其满足同态性的流程。需要注意的是,BFV算法虽然可以实现全同态,但是其计算效率较低,且只能处理有限的数据范围。因此在实际应用中需要根据具体情况选择适当的同态加密算法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盼小辉丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值