GAP: Differentially Private Graph Neural Networks with Aggregation Perturbation

摘要

在本文中,我们研究了具有差异隐私(DP)的图神经网络(GNN)学习问题。我们提出了一种基于聚合扰动(GAP)的新型差异化隐私图神经网络,它在图神经网络的聚合函数中加入随机噪音,从统计学角度掩盖单条边(边级隐私)或单个节点及其所有相邻边(节点级隐私)的存在。根据隐私学习的具体情况,GAP 的新架构由三个独立模块组成:(i) 编码器模块,我们在此学习隐私节点嵌入,而无需依赖边缘信息;(ii) 聚合模块,我们在此根据图结构计算噪声聚合节点嵌入;(iii) 分类模块,我们在此根据隐私聚合训练神经网络,以进行节点分类,而无需进一步查询图边缘。与之前的方法相比,GAP 的主要优势在于它可以从多跳邻域聚合中获益,并且不仅在训练中,而且在推理中都能保证边缘级和节点级 DP,而不会在训练的隐私预算之外产生额外成本。我们使用雷尼 DP 分析了 GAP 的正式隐私保证,并在三个真实图数据集上进行了实证实验。我们证明,与最先进的 DPGNN 方法和基于天真 MLP 的基线相比,GAP 在准确性和隐私性之间的权衡要好得多。

Introduction

现实世界的数据集通常由图表示,当图形包含个人数据时,GNNs 的部署会引发隐私问题,受这些隐私问题的启发,我们研究了为隐私敏感图设计隐私保护 GNN 的问题。我们的目标是利用差分隐私(DP)框架保护敏感图结构和其他附带数据。在图的上下文中,定义了两种不同的 DP 变体:边缘级 DP 和节点级 DP。非正式地讲,如果从输入图中删除一条边,边级𝜖-DP 算法的输出(以𝜖 衡量)大致相同。这就确保了算法的输出不会暴露图中某条边的存在。相应地,节点级私有算法会隐藏特定节点及其所有相关边和属性的存在。显然,节点级 DP 是一种更强的隐私定义,但它更难实现,因为它要求算法的输出分布隐藏输入图中更大的差异。

挑战:由于 GNN 利用图数据中的结构信息,因此在此类模型中保护数据隐私比标准模型更具挑战性。如图 1 所示,这些挑战之一是 GNN 数据聚合机制产生的节点嵌入之间的相互依赖关系。具体来说,迭代层 GNN 通过聚合每个节点的迭代跳邻域(即图中最多相距迭代的节点)的信息来迭代学习节点嵌入。因此,节点的嵌入不仅会受到节点本身的影响,还会受到其 "跳 "邻域内所有节点的影响。这一事实破坏了标准 DP 学习范式(如 DP-SGD )的隐私保证,因为 GNN 的训练损耗无法再分解为单个样本。此外,相互依存的嵌入数量会随着 Δ 成指数增长,从而阻碍了 DP 解决方案有效隐藏输出差异的能力。因此,如何在确保 DP 的同时,从高阶 GNN 聚合中获得更强的表征能力,是一个需要解决的重要挑战。

另一个主要挑战是如何保证推理的私密性,即不仅在训练时,而且在推理时(即查询训练好的 GNN 模型以对测试节点进行预测时),都要保护图数据的私密性。传统的深度学习模型在推理时不会重复使用训练数据,而 GNN 括号层中任何节点的推理都需要聚合其括号跳邻域的数据,这可能会泄露邻域节点的信息。因此,即使使用私人训练的模型参数,私人图数据仍可能在推理时泄露。因此,确保 GNN 的训练和推理阶段都满足 DP 至关重要。图 2 举例说明了这一点。

问题定义

假设 <math xmlns="http://www.w3.org/1998/Math/MathML"> Y ^ = F ( X , A ; Θ ) \widehat{\mathbf{Y}}=\mathcal{F}(\mathbf{X},\mathbf{A};\mathbf{\Theta}) </math>Y =F(X,A;Θ)是一个基于 GNN 的节点分类模型,其参数集为 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ \mathbf{\Theta} </math>Θ,以节点特征 X 和图的邻接矩阵 <math xmlns="http://www.w3.org/1998/Math/MathML"> A \mathbf{A} </math>A 作为输入,并输出相应的预测标签 <math xmlns="http://www.w3.org/1998/Math/MathML"> Y ^ \widehat{\mathbf{Y}} </math>Y 。为了学习模型参数 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ \mathbf{\Theta} </math>Θ,我们按如下方法最小化一个与 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ \mathbf{\Theta} </math>Θ相关的标准分类损失函数(如交叉熵):

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> ℓ ( ⋅ , ⋅ ) \ell(\cdot,\cdot) </math>ℓ(⋅,⋅) 是损失函数, <math xmlns="http://www.w3.org/1998/Math/MathML"> Y \mathbf{Y} </math>Y 是地面实况标签, <math xmlns="http://www.w3.org/1998/Math/MathML"> V T ⊆ V \mathcal{V}_{T}\subseteq\mathcal{V} </math>VT⊆V 是有标签的训练节点集。训练完成后,在转导设置中,学习到的 GNN 被用来推断 <math xmlns="http://www.w3.org/1998/Math/MathML"> G \mathcal{G} </math>G 中未标记节点的标签:

在归纳式环境中,新的图形数据集 <math xmlns="http://www.w3.org/1998/Math/MathML"> G t e s t \mathcal{G}_{test} </math>Gtest 会交给学习到的 GNN 进行标签推理。\

本文的目标是在训练步骤(公式 1)和推理步骤(公式 2)中使用差分隐私保护技术来保护图形数据集的隐私。请注意,在推理步骤中保护隐私是至关重要的,因为在这一步骤中仍会使用邻接信息来获取预测标签。

然而,由于数据记录之间存在链接,图数据集不同于标准的表格数据集,因此我们需要调整 DP 的定义以适应图。由于 DP 的语义解释依赖于相邻数据集的定义,我们首先定义了图中两种不同的相邻概念,即边缘级和节点级相邻图数据集 :

定义 3(边级相邻图):如果从一个图中删除一条边就能得到另一个图,那么两个图 G 和 G ′就是边级相邻图。因此,G 和 G ′ 最多相差一条边。

定义 4(节点级相邻图):如果两个图 G 和 G ′ 中的一个图可以通过从另一个图中移除一个节点(及其特征、标签和所有连接的边)而得到,那么这两个图就是节点级相邻图。因此,G 和 G ′ 最多相差一个节点。

边级 DP 保护边(可代表人与人之间的联系),而节点级 DP 则保护节点及其相邻边缘(即与个人有关的所有信息,包括特征、标签和联系)。

GAP

概述

如图 3 所示,GAP 由以下三个部分组成:

  1. 编码器模块(EM): 该模块将输入节点特征编码为低维表示,而不使用私有图结构
  2. 聚合模块(AM): 该模块采用编码的低维节点特征,并使用聚合扰动方法递归计算私有多跳聚合,即在每个聚合步骤的输出中添加噪声。
  3. 分类模块 (CM):该模块采用私下汇总的节点特征,并预测相应的标签,而无需进一步查询边

GAP 的隐私机制:我们提出的在 AM 中保护图边隐私的机制是聚合扰动方法:我们使用高斯机制向聚合函数的输出添加与其灵敏度成比例的随机噪声。之所以采用这种方法,是因为扰动输入图中的一条边实际上可以看作是改变了该边目的节点的邻域聚合函数中的一个样本。因此,通过在聚合函数中加入适量的噪声,我们可以有效地隐藏单条边的存在,从而确保边级隐私,或隐藏节点级隐私所需的一组边。然而,要完全保证节点级隐私,除了边缘外,我们还需要保护节点特征和标签,这只需使用标准 DP 学习算法(如 DP-SGD)训练 EM 和 CM 即可实现。我们将在第 5 节中进一步讨论这一点。

我们的 GAP 方法可通过组合单个噪声聚合步骤,从多跳聚合中获益。由于单步聚合的灵敏度很容易确定,AM 在每个聚合步骤后立即应用高斯机制,避免了节点嵌入之间不断增长的相互依赖性。GAP 还提供了推理隐私,因为节点的推理依赖于其邻居的聚合数据,而聚合数据是由 AM 私下计算的。由于后续的 CM 只对这些私人聚合数据进行后处理,因此 GAP 可确保推理时的隐私性。

4.2 编码器模块

GAP 使用多层感知器 (MLP) 模型作为编码器,将原始节点特征转换为提供给 AM 的中间表示。该模块的主要目标是降低 AM 输入的维度,因为注入聚合的高斯噪声的大小会随着数据维度的增加而增加。因此,降低维度有助于在 DP 下实现更好的聚合效用。

需要注意的是,为了节省 AM 中的隐私预算,我们没有使用 CM 对编码器进行端到端训练。相反,我们在编码器 MLP 上附加了一个线性 softmax 层,用于标签预测,然后使用节点特征和标签单独预训练该模型。具体来说,我们使用以下模型:

<math xmlns="http://www.w3.org/1998/Math/MathML"> Y ^ = s o f t m a x ( M L P e n c ( X ; Θ e n c ) ⋅ W ) , ( 3 ) \widehat{\mathbf{Y}}=\mathrm{softmax}\left(\mathbf{MLP}{\mathrm{enc}}(\mathbf{X};\mathbf{\Theta}{\mathrm{enc}})\cdot\mathbf{W}\right),\quad(3) </math>Y =softmax(MLPenc(X;Θenc)⋅W),(3)

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> M L P e n c \mathbf{MLP}{\mathrm{enc}} </math>MLPenc是参数集 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ e n c \mathbf{\Theta}{\mathrm{enc}} </math>Θenc的编码器 MLP,W 是线性 softmax 层的权重矩阵,X 是原始节点特征, <math xmlns="http://www.w3.org/1998/Math/MathML"> Y ^ \widehat{\mathbf{Y}} </math>Y 是相应的后验类别概率。为了训练这个模型,我们要最小化与模型参数 <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ = { Θ e n c , W } \mathbf{\Theta}=\{\mathbf{\Theta}_{\mathrm{enc}},\mathbf{W}\} </math>Θ={Θenc,W}相关的交叉熵(或其他与分类相关的)损失函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> ℓ ( ⋅ , ⋅ ) \ell(\cdot,\cdot) </math>ℓ(⋅,⋅)

<math xmlns="http://www.w3.org/1998/Math/MathML"> X ( 0 ) = M L P e n c ( X ; Θ e n c ⋆ ) . ( 5 ) \mathbf{X}^{(0)}=\mathrm{MLP}{\mathrm{enc}}(\mathbf{X};\mathbf{\Theta}{\mathrm{enc}}^{\star}).\quad\quad\quad\quad\quad\quad\quad(5) </math>X(0)=MLPenc(X;Θenc⋆).(5)

4.3 聚合模块

AM 的目标是利用聚合扰动法私下发布多跳聚合节点特征。算法 1 介绍了我们的机制--私有多跳聚合(PMA)。PMA 机制将编码器提取的特征的行归一化版本 <math xmlns="http://www.w3.org/1998/Math/MathML"> X ˇ ν ( 0 ) \check{\mathbf{X}}{\nu}^{(0)} </math>Xˇν(0) 作为: <math xmlns="http://www.w3.org/1998/Math/MathML"> A G G ⁡ ( X , A ) = A T ⋅ X . \operatorname{A{GG}}(\mathbf{X},\mathbf{A})=\mathbf{A}^{T}\cdot\mathbf{X}. </math>AGG(X,A)=AT⋅X.

<math xmlns="http://www.w3.org/1998/Math/MathML"> X ˇ ν ( 0 ) = X ν ( 0 ) / ∥ X ν ( 0 ) ∥ 2 , ∀ ν ∈ V . ( 6 ) \check{\mathbf{X}}{\nu}^{(0)}=\mathbf{X}{\nu}^{(0)}/\|\mathbf{X}{\nu}^{(0)}\|{2},\quad\forall\nu\in\mathcal{V}.\quad(6) </math>Xˇν(0)=Xν(0)/∥Xν(0)∥2,∀ν∈V.(6)

然后,它输出一组经过归一化、私密聚合的节点特征 <math xmlns="http://www.w3.org/1998/Math/MathML"> X ˇ ( 1 ) \check{\mathbf{X}}^{(1)} </math>Xˇ(1) 到 <math xmlns="http://www.w3.org/1998/Math/MathML"> X ˇ ( K ) \check{\mathbf{X}}^{(K)} </math>Xˇ(K) ,分别对应于从 1 到K 的不同跳数。具体来说,给定 𝜎 > 0,PMA 机制执行以下步骤,递归计算和扰动从 (𝑘 -1)-th 开始的𝑘-th 跳的聚合:

分类模块

给定 AM 提供的私有聚合特征列表 <math xmlns="http://www.w3.org/1998/Math/MathML"> { X ˇ ( 0 ) , ... , X ˇ ( K ) } \{\check{\mathbf{X}}^{(0)},\ldots,\check{\mathbf{X}}^{(K)}\} </math>{Xˇ(0),...,Xˇ(K)},CM 的目标是在不进一步依赖图边的情况下预测节点标签。为此,对于每个 <math xmlns="http://www.w3.org/1998/Math/MathML"> 𝑘 ∈ { 0 , 1 , . , K } 𝑘 ∈ \{0,1, . ,K\} </math>k∈{0,1,.,K},我们首先使用相应的基础 MLP 获取𝑘-跳表示 <math xmlns="http://www.w3.org/1998/Math/MathML"> H ( k ) \mathbf{H}^{(k)} </math>H(k),记为 <math xmlns="http://www.w3.org/1998/Math/MathML"> M L P b a s e ( k ) \mathbf{MLP}_{\mathrm{base}}^{(k)} </math>MLPbase(k):

<math xmlns="http://www.w3.org/1998/Math/MathML"> H ( k ) = M L P b a s e ( k ) ( X ˇ ( k ) ; Θ b a s e ( k ) ) , ( 10 ) \mathbf{H}^{(k)}=\mathbf{MLP}{\mathrm{base}}^{(k)}(\mathbf{\check{X}}^{(k)};\mathbf{\Theta}{\mathrm{base}}^{(k)}),\quad\quad(10) </math>H(k)=MLPbase(k)(Xˇ(k);Θbase(k)),(10)

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ b a s e ( k ) \mathbf{\Theta}{\mathrm{base}}^{(k)} </math>Θbase(k) 是 <math xmlns="http://www.w3.org/1998/Math/MathML"> M L P b a s e ( k ) \mathbf{MLP}{\mathrm{base}}^{(k)} </math>MLPbase(k) 的参数。接下来,我们将这些表示合并起来,得到一个结成的节点嵌入 <math xmlns="http://www.w3.org/1998/Math/MathML"> H \mathbf{H} </math>H:

其中,Combine 是任何可微分的组合策略,常见的组合策略有求和、串联或关注,可能的参数设置为 𝚯comb。最后,我们将整合后的表示送入头部 MLP(记为 MLPhead),以获得节点的后验类别概率:

<math xmlns="http://www.w3.org/1998/Math/MathML"> Y ^ = M L P h e a d ( H ; Θ h e a d ) , ( 12 ) \widehat{\mathbf{Y}}=\mathsf{MLP}{\mathrm{head}}(\mathbf{H};\mathbf{\Theta}{\mathrm{head}}),\quad(12) </math>Y =MLPhead(H;Θhead),(12)

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ h e a d \mathbf{\Theta}{\mathrm{head}} </math>Θhead 表示 MLPhead 的参数。为了训练 CM,我们最小化与公式 4 类似的损失函数,但与 CM 的参数相关: <math xmlns="http://www.w3.org/1998/Math/MathML"> Θ = { Θ b a s e ( 0 ) , ... , Θ b a s e ( K ) , Θ c o m b , Θ h e a d } \mathbf{\Theta}=\{\mathbf{\Theta}{\mathrm{base}}^{(0)},\ldots,\mathbf{\Theta}{\mathrm{base}}^{(K)},\mathbf{\Theta}{\mathrm{comb}},\mathbf{\Theta}_{\mathrm{head}}\} </math>Θ={Θbase(0),...,Θbase(K),Θcomb,Θhead}. 算法 2 介绍了 GAP 的整个训练过程。

4.5 推断机制

如下所述,GAP 与转导推理和归纳推理都是兼容的。

传导式设置。在这种情况下,训练和推理在同一个图上进行,但训练和推理步骤使用不同的节点(图 4a)。由于在训练时可以使用整个图,AM 会计算所有节点的私有聚合,包括训练节点和测试节点。因此,在推理时,我们只将测试节点的缓存聚合提供给经过训练的 CM,以预测它们的标签。

归纳设置。在这里,我们使用与训练所用图不同的新图进行推理(图 4b)。在这种情况下,我们首先使用预先训练好的编码器提取新图的低维节点特征,然后将其输入 AM 以获得私有聚合。最后,我们将私有聚合输入经过训练的 CM,以获得节点标签。

相关推荐
柠檬少少开发14 分钟前
图像拼接算法及实现(一)
人工智能·算法·计算机视觉
weixin_486681141 小时前
C++系列-STL容器中统计算法count, count_if
开发语言·c++·算法
一道秘制的小菜1 小时前
C++第七节课 运算符重载
服务器·开发语言·c++·学习·算法
咕噜咕嘟嘟嘟2 小时前
343. 整数拆分
数据结构·算法
WenGyyyL3 小时前
力扣最热一百题——二叉树的直径
java·c++·算法·二叉树·深度优先
sdlkjaljafdg3 小时前
vector<bool>性能测试
开发语言·c++·算法
muyierfly3 小时前
36.贪心算法3
算法·贪心算法
Kenneth風车4 小时前
【机器学习(七)】分类和回归任务-K-近邻 (KNN)算法-Sentosa_DSML社区版
人工智能·算法·低代码·机器学习·分类·数据分析·回归
m0_631270406 小时前
标准C++(二)
开发语言·c++·算法
沫刃起6 小时前
Codeforces Round 972 (Div. 2) C. Lazy Narek
数据结构·c++·算法