【论文阅读】Vertically Federated Graph Neural Network for Privacy-Preserving Node Classification
文章目录
1. 来源
论文地址:22’ IJCAI__Vertically Federated Graph Neural Network for Privacy-Preserving Node Classification
2. 摘要 & 介绍
2.1 摘要
图神经网络(GNN)在各种关于图数据的真实任务中取得了显著的进展。
- 高性能的GNN模型总是同时依赖于图中丰富的特征和完整的边缘信息。但是,在实践中,这些信息可能会被不同的数据持有者隔离,这就是所谓的数据隔离问题。
为了解决这一问题,作者提出了垂直联邦图神经网络(VFGNN),这是一种联邦GNN学习范式,用于数据垂直划分设置下的隐私保护节点分类任务的学习范式,可以推广到现有的GNN模型中。具体来说,
- 作者将计算图分成两部分。
- 将与私有数据(即特征、边缘和标签)相关的计算留在数据持有者上,
- 并将其余的计算委托给半诚实的服务器。
- 作者还建议应用差异隐私,以防止潜在的服务器信息泄漏。
- 并在三个基准上进行了实验,证明了VFGNN的有效性。
2.2 介绍
图神经网络(GNN)由于其在同构和异构图上建模高维特征信息和高阶相邻信息的能力而越来越受到学术界和工业界的广泛关注。高性能GNN模型的一个重要因素是高质量的图数据,包括丰富的节点特征和完整的相邻信息。
- 但是,在实践中,这些信息可能会被不同的数据持有者隔离,这就是所谓的数据隔离问题。
2.2.1 提出问题
数据隔离问题对人工智能的发展提出了严峻的挑战。
- 下图显示了一个在垂直分区数据设置下的隐私保护节点分类问题。在这里,假设有三个数据持有者(A、B和C),并且它们有四个相同的节点。节点特征被垂直分割,即A有f1、f2和f3,B有f4和f5,C有f6和f7。同时,A、B和C在内部有自己的边。例如,A在节点之间有社会关系,而B和C在节点之间有支付关系。此外,假设A是具有节点标签的一方。
- 问题是利用A、B和C的图数据建立联邦GNN模型。
2.2.2 解决方法
到目前为止,已经提出了多种保护隐私的机器学习模型,例如,逻辑回归、决策树和神经网络。也有一些GNN在研究隐私问题,例如,graph publishing,GNN推理,以及数据水平划分时的联邦GNN。
- 与以前的隐私保护机器学习模型假设只有样本(节点)由不同的各方持有,并且它们没有联系。
因此,该任务 / 问题更具挑战性,因为GNN依赖于样本之间的关系,而样本对于数据持有者也是私有的。
- 一种朴素的解决方案:建立保护隐私的GNN的一种直接方法是使用先进的密码算法,比如作为同态加密(HE)和安全多方计算(MPC)。这种纯加密方式可以提供较高的安全性保证,但它的计算和通信成本较高,限制了其效率。
因此,作者提出了VFGNN,一个垂直联邦的GNN学习范式,用于隐私保护节点分类任务。
- 基于现有的分割学习工作,并出于隐私和效率的考虑,作者将GNN的计算图分为两部分,即数据持有者进行的私有数据相关计算和半诚实服务器进行的非私有数据相关计算。
- 具体来说,数据持有者首先应用MPC技术计算的初始层使用私人节点GNN特征信息,作为功能提取模块,然后执行社区聚合单独使用私人边缘信息,类似于现有的GNN[Veliˇckovi‘cetal.,2017],最后得到本地节点嵌入。
- 接下来,作者提出半诚实服务器不同的组合策略结合本地节点嵌入从数据持有人和生成全局节点嵌入,在此基础上,服务器可以进行连续的非私有数据相关计算,
- 例如,深度网络结构的非线性操作耗时技术。
- 最后,服务器将最终的隐藏层返回给带有标签来计算预测和损失的一方。数据持有者和服务器执行正向和反向传播,以完成模型训练和预测,在此期间,私有数据(即特征、连接和标签)总是由数据持有者自己保存。
- 此外,作者尝试在服务器和数据持有人之间的交换信息上采用差异隐私,以进一步保护服务器潜在的信息泄漏。
主要贡献:
- 提出了一种新的VFGNN学习范式,它不仅可以推广到大多数现有的GNN,而且具有良好的准确性和效率。
- 为服务器提出了不同的组合策略来组合来自数据持有人的本地节点嵌入。
- 在三个真实世界的数据集上评估了我们的建议,结果证明了VFGNN的有效性。
3. 模型解读
3.0 模型框架介绍
为了隐私和效率,模型将GNN的计算图分为两部分,设计了一个垂直联邦GNN(VFGNN)学习范式。
- 将私有数据相关的计算保留留给数据持有者以考虑隐私,
- 并将非私有数据相关的计算委托给半诚实服务器以考虑效率。
- 在GNN的上下文中,私有数据是指节点特征、标签和边(节点关系)。
具体来说,模型将计算图划分为以下三个子计算图(CG),如下图2所示。
- CG1:私有特征和与边缘相关的计算。
- 第一步是利用节点的私有特征来生成初始节点嵌入,例如社交网络中的用户特征。在垂直数据分割设置中,每个数据持有器都有部分的节点特性,如上图1所示。稍后,将展示数据持有者如何协作学习初始节点嵌入。
- 然后,数据持有者通过使用不同的聚合器函数聚合多跳邻居的信息来生成本地节点嵌入。
- CG2:与非私有数据相关的计算。为了提高效率,我们将与非私有数据相关的计算委托给一个半诚实的服务器。
- 首先,服务器将来自数据持有者的本地节点嵌入与不同的组合策略进行组合,得到全局节点嵌入。
- 接下来,服务器可以使用明文数据来执行连续的计算。请注意,这部分有许多非线性计算,如最大池化和激活函数,它们不是加密友好的,需要近似。将这些明文计算委托给服务器不仅会提高我们的模型精度,而且还会显著提高我们的模型效率。
- 在此之后,服务器得到最后一个隐藏层( Z L Z_L ZL),并将其发送回给有标签的数据持有者来计算预测,其中 L 是深度神经网络的总层数。
- CG3:与私有标签相关的计算。具有标签的数据持有者可以使用它从服务器接收到的最终隐藏层来计算预测。对于节点分类任务,输出层使用 Softmax 激活函数,定义为
softmax
(
z
c
)
=
1
Z
exp
(
z
c
)
,
c
∈
C
\operatorname{softmax}\left(z_{c}\right)= \frac{1}{Z} \exp \left(z_{c}\right) , c \in C
softmax(zc)=Z1exp(zc),c∈C 为节点类,
Z
=
∑
c
exp
(
z
c
)
Z=\sum_{c} \exp \left(z_{c}\right)
Z=∑cexp(zc)。
接下来,将依次介绍VFGNN的三个重要组成部分:生成初始节点嵌入、生成本地节点嵌入、生成全局节点嵌入。
3.1 生成初始节点嵌入
初始的节点嵌入是通过使用节点特征来生成的。在垂直分区的数据设置下,每个数据持有器都具有部分节点特征。数据持有者有两种方法来生成初始节点嵌入,即分别进行地和协作地生成,如图3所示。
-
“独立”的方法:意味着数据持有者使用他们自己的节点特征单独生成初始节点嵌入。对于数据持有者 i ∈ P i \in \mathcal{P} i∈P,这可以通过 h 0 i = ( x i ) T ⋅ W i \mathbf{h}_{0}^{i}=\left(\mathbf{x}^{i}\right)^{T} \cdot \mathbf{W}^{i} h0i=(xi)T⋅Wi 来完成,其中 x i \mathbf{x}^{i} xi 和 W i \mathbf{W}^{i} Wi 是数据持有人i的节点特征和权重矩阵。如图3(a)中所示,A、B和C 分别使用它们自己的特征来生成它们的初始节点嵌入。
- 虽然这种方法很简单,而且数据持有者之间不需要相互通信,但它不能捕获数据持有者的特征之间的关系,从而导致信息丢失。
-
“协作”的方法:为了解决“单独”方法的缺点,作者提出了一种“协作”的方法。
- 即,数据持有者使用它们的节点特征协作生成初始节点嵌入,同时保持其私有特性的安全。
- 从技术上讲,这可以通过使用秘密共享和同态加密等加密方法来实现。
- 在本文中,作者选择了附加的秘密共享,由于其高效率。
3.2 生成本地节点嵌入
作者基于初始节点嵌入,在图上使用多跳邻域聚合来生成局部节点嵌入。请注意,邻域聚合应该由数据持有者单独完成,而不是协同完成,以保护私有的边缘信息。这是因为,如果邻域聚合是由数据持有人联合完成的,那么根据k跳( h v k ( i ) h^k_v (i) hvk(i))和k+1跳( h v ( k + 1 ) ( i ) h^{(k+1)}_v(i) hv(k+1)(i))的邻域聚合结果,我们可以推断出 v v v 的邻域信息。
- 对于每个数据持有者内的节点 ∀ v∈V,邻域聚合与传统的GNN相同。以GraphSAGE为例,它引入了聚合器函数,通过从节点的局部邻域采样和聚合特征来更新隐藏的嵌入:
这里遵循与GraphSAGE相同的符号,聚合器函数 AGG() 有三种类型,即均值、LSTM和池化。在此之后,数据持有者将本地节点嵌入发送到一个半诚实的服务器,以进行组合和进一步的与非私有数据相关的计算。
3.3 生成全局节点嵌入
然后,服务器结合了来自不同数据持有者的本地节点嵌入,并获得全局节点嵌入。组合策略(组合)应该是可训练的,并保持较高的代表性能力,作者设计了其中三种:
- Concat。concat操作符可以完全保存从不同数据持有者学习到的局部节点嵌入。也就是说,算法2中的第14行变成了:
- Mean。均值算子取({
h
v
K
(
i
)
,
∀
i
∈
P
h^K_v (i),∀i∈P
hvK(i),∀i∈P})中向量的元素平均值,假设数据持有者对全局节点嵌入的贡献相等,即,
- Regression。上述两种策略都是平等地对待数据持有者的。实际上,来自不同数据持有人的本地节点嵌入可能对全局节点嵌入有不同的贡献。作者提出了一种回归策略来处理这种情况。设
ω
i
ω_i
ωi 为来自数据持有人
i
∈
P
i∈P
i∈P 的局部节点嵌入的权值向量,则有
其中是 ⊙ \odot ⊙ 元素级乘法。
这些不同的组合算子可以以不同的方式利用局部节点嵌入,作者也在实验中实证研究它们对模型性能的影响。
3.4 通过采用DP(差分隐私)来提高隐私性
数据持有者直接向服务器发送本地信息,
- 如正向传播过程中的本地节点嵌入和反向传播过程中的梯度更新,这可能会导致潜在的信息泄漏。
因此,作者使用差分隐私来进一步增强隐私。下面将介绍两种基于DP的数据发布机制,以进一步增强我们所提出的VFGNN的隐私性。这样,当在数据持有者的本地信息中进行单个条目修改时,服务器很有可能无法区分修改之前或之后的差异。作者在算法1中提出了这两种机制,即高斯机制和詹姆斯-斯坦估计器。
-
高斯机制。
-
詹姆斯-斯坦估计器。
高斯机制 x ~ \tilde{\mathbf{x}} x~ 到精确 x \mathbf{x} x 的MSE是 E ∥ x ~ − x ∥ 2 = d σ 2 C 2 E \| \tilde{\mathbf{x}}- \mathbf{x} \|^{2}=d \sigma^{2} C^{2} E∥x~−x∥2=dσ2C2,而詹姆斯-斯坦估计器的MSE被降低为。两种方法都保留(e,δ)-DP,而James-Stein估计显示MSE,从而提高了效用。根据高斯机制的定义(定义3),我们有了算法1中两种信息发布机制的隐私损失。通过将其与时刻会计(MA)相结合,我们提出了T次迭代的总体隐私性。
3.5 放在一起
通过结合CG1-CG3,完成了VFGNN的正向传播。为了详细描述这些过程,而不失去一般性,作者以GraphSAGE为例,并在算法2中介绍了其前向传播过程。VFGNN可以通过最小化所有标记训练例子的交叉熵误差的梯度下降来学习。可以看出,在VFGNN中,私有数据和模型都是由数据持有者自己持有的,因此可以更好地保证数据的隐私。
4. 实验
实验来回答以下问题。
- Q1:VFGNN是否优于在孤立数据上训练的GNN模型。
- Q2:与在明文混合数据上训练的传统不安全模型相比,VFGNN的表现如何。
- Q3:与的朴素解决方案相比,VFGNN的表现如何。
- Q4:我们提出的组合策略是否对VFGNN有效。
- Q5:数据持有人的数量对VFGNN的影响是什么。
- Q6:差异隐私对VFGNN的影响是什么。
4.1 所使用的数据集
4.2 回答问题
-
Q1 & Q2
-
Q3:在VFGNN中,作者将与非私有数据相关的计算委托给服务器。人们可能会好奇,如果这些计算也由数据持有者使用现有的安全神经网络协议来执行,即SecureML。为了回答这个问题,作者将VFGNN与使用SecureML实现的安全GNN模型进行了比较,并将其称为secure GNN,其中使用3度泰勒展开来近似TanH和Sigmoid。VFGNN与每个历元(秒)的准确性和运行时间。
- 在Pubmed上,我们使用局域网的SecureGNN分别为0.8090 vs. 0.7970和18.65 vs. 166.81。
-
Q4
-
Q5
- Q6
5. 总结
作者提出了VFGNN,一个垂直联盟的GNN学习范式,用于隐私保护的节点分类任务。
- 通过分割GNN的计算图来完成这个一点。
- 将私有数据相关的计算留在数据持有者上,
- 并将其余的计算委托给服务器。
- 在真实世界数据集上的实验表明,模型通过使用隔离数据明显优于GNN,并且通过不安全地使用混合明文数据具有与传统GNN相当的性能。