PKDGAN: Private Knowledge Distillation with Generative Adversarial Networks
论文地址:https://ieeexplore.ieee.org/abstract/document/9932889
Abstract
深度学习模型的应用必须以敏感信息的有效保护为前提。传统的深度学习模型较容易受到隐私攻击,通过模型参数以及对推理模型的不断访问能够重构出敏感信息。文章提出了知识迁移策略,基于敏感信息所训练的教师模型不能够公开,但是学生模型可以公开。作者设计了一个三方(teacher-student-discriminator)的学习框架 Private Knowledge Distillation with Generative Adversarial Networks (PKDGAN),学生模型使用教师模型蒸馏后的知识进行判别器的训练,从而产生与教师模型相类似的输出结果。
Introduction
在实际的应用中,基于差分隐私的机器学习往往倾向于最坏情况下的保护设置,即攻击者能够访问模型参数。因此,往往对模型添加大量的噪声,从而对模型的可用性造成影响。一个更有希望的替代方案如下:不直接公开基于敏感数据训练的模型,而是发布通过迁移学习方式训练的新模型,但上述方案仍存在模型可用性与隐私保护之间的平衡问题。为了解决上述问题,本文提出了一种新的三方知识迁移框架PKDGAN,该框架将知识迁移技术与隐私保护机制相结合。在PKDGAN中,目标模型被设计为传统师生模式中的学生和生成对抗网络(GAN)中的生成器。学生不仅通过知识蒸馏(Knowledge Distillation, KD)接受老师的训练,还接受对抗性训练。
PKDGAN能够在有限的训练迭代下实现快速的模型收敛,模型性能不受训练数据集大小的过度影响。此外与传统的教师-学生模型相比,PKDGAN能够获得更优的学生模型。文章的主要共享如下:(1)提出了PKDGAN方案,实现差分隐私保护下的安全训练。判别器的加入使得即使用于训练的公共数据质量有限,学生也能准确、高效地模仿老师的行为,具有优异的模型性能和很强的隐私保障。(2)将采样高斯机制(SGM)引入到随机梯度下降(SGD)中,以确保在严格的隐私预算下进行差分隐私训练。利用采样高斯机制的隐私放大特性,PKDGAN允许教师以更小的隐私成本回答学生的更多问题。(3)提出了基于分散数据进行高效合作学习的方法,以训练具有多个网络的学生群体。通过这种策略,可以从不同学生的训练样d本中找到一个集体训练的更广义的判别器,通过对抗性学习进一步提高学生个体的学习成绩。
Proposed Framework of PKDGAN
要实现PKDGAN,在隐私成本和准确性之间进行权衡,需要回答两个关键问题:(1)如何结合KD和GAN来训练目标student模型而无需使用独立的私有数据。(2)如何处理教师发布的信息,从而使学习过程受到一定程度的隐私保障。PKDGAN涉及两个部分如Fig.1所示,非公开和公开,以及三个参与者,教师 T T T,学生 S S S和判别器 D D D。下表中列出了文章所使用的符号和定义。
Three Players in PKDGAN
T T T表示教师网络,基于 D p r i v a t e D_{private} Dprivate训练CNN。 D p r i v a t e D_{private} Dprivate不能与其他机构分享,PKDGAN将预训练的 T T T及其训练数据 D p r i v a t e D_{private} Dprivate仅保存在非公共领域,攻击者无法访问。换句话说,无论是模型的参数还是它的输出都不对公众开放。 S S S表示学生网络,负责保护 T T T免受攻击者的威胁,同时提供与 T T T类似的推理功能。 S S S是半诚实的,它学习模仿 T T T的行为,但从不拒绝知道属于 T T T的数据。为了解决这个问题, S S S只使用未标记数据集 D p u b l i c D_{public} Dpublic来进行满足差分隐私的训练。 D D D是一个判别器网络,它与 S S S (GAN中作为生成器)进行最小最大博弈。其目的是区分学生和老师的输出,它假设 T T T的伪标签是真实的, S S S的是假的。在这种对抗生成网络中,两个参与者的参数是彼此未知的,并且由两个优化器独立更新。特别是, S S S的训练是由 D D D的输出来监督的,这样既不会侵犯教师的隐私,也不会产生额外的隐私成本。
Differentially Private Training Strategy
针对使用交叉熵损失函数时,由于训练数据质量有限导致监督能力较弱的问题,PKDGAN采用KD和GAN结合的方式来进行缓解。具体来说,蒸馏损失(学生与教师之间)和对抗损失(学生与判别器之间)的加权和可以减小梯度方差,从而减少波动并加速模型收敛。
因此,PKDGAN通过蒸馏和对抗损失的联合优化引入了一种Differentially Private Training Strategy来帮助学生准确地模仿老师,并在GAN的帮助下快速达到平衡。S以半监督的方式进行训练,如Fig.1所示,其中存在两条训练学生的知识迁移路径。其中,KD是从老师到学生的单向路径,而GAN则是判别器和学生之间的双向路径。
Distillation Learning by KD 对于给定的输入样本,对学生模型进行优化,从而最小化老师和学生的输出分布之间的差异,即 T T T和 S S S的分类概率。
Adversarial Learning by GAN 判别器试图将学生与教师的伪标签区分开来,而学生则试图生成与教师相似的输出,从而欺骗判别器。 D D D和 S S S都通过小批量随机梯度下降交替训练,直到达到平衡。
值得注意的是,教师输出的过度记忆在受到攻击时不可避免地暴露了敏感的训练信息。因此,文章将改进的SGM(Sampled Gaussian Mechanism)集成到PKDGAN的训练过程中,以实现理论DP同时保证模型效果。由于对教师的每一次查询都会增加隐私成本,因此对于从公共区域 D p u b l i c D_{public} Dpublic随机抽取的每一批数据,在其对应的一批 T T T的蒸馏损失中加入高斯噪声。文章所提出的differentially private mechanism为每个步骤分配隐私预算,并使用改进的RDP accountant计算迭代期间的总隐私成本。判别器可以访问真实数据,即教师提供的logits,而生成器只通过判别器的输出接收反馈。一方面,整个训练过程是保密的,这使攻击者没有机会访问判别器来恢复准确的logits。另一方面,KD与差分隐私相结合,确保了logits不会被敌手从训练好的学生模型揭露。
Method
如Fig.1和Fig.2所示,PKDGAN有两条知识转移路径:(1)知识蒸馏,其中设计了经过消毒的蒸馏损失(the sanitized distillation loss),以保护隐私的方式将知识从教师网络 T T T转移到学生网络 S S S。(2)对抗性学习(Adversarial learning),即判别器网络 D D D与学生网络 S S S之间的最小-最大博弈,迫使经过 D D D对抗性训练的 S S S产生与 T T T相似的输出,即达到向老师学习的目的。
Learning with KD
在教师-学生范式中,两个参与者有不同的网络架构,学生往往是一个轻量级的网络,而教师则是一个强大但笨重的网络。例如,资源受限的设备或承载小型网络的本地设施从专用服务器或具有大型网络的可信数据中心学习。给定一个公共数据集 D p u b l i c D_{public} Dpublic (N个样本 { x i } i = 1 N \{x_i\}^N_{i=1} {xi}i=1N),包含 C C C个类别。 T T T和 S S S的类别分布(categorical distributions)是观察到每一类的概率,用 p T p^T pT和 p S p^S pS表示。给定样本 x i x_i xi,两个类别分布分别为: p T ( x i ) = s o f t m a x ( z i T ) p^T(x_i)=softmax(z^T_i) pT(xi)=softmax(ziT)和 p S ( x i ) = s o f t m a x ( z i S ) p^S(x_i)=softmax(z^S_i) pS(xi)=softmax(ziS)。
如Fig.3所示,蒸馏损失(distillation loss) L D S − L^-_{DS} LDS−构建了 T T T和 S S S之间知识迁移的桥梁。它由两部分组成:测量学生与老师的概率分布差异的距离度量(文章中使用KL散度定义,如公式9所示),以及实现DP保护的额外噪声。
上述公式中概率分布 P ρ ( x i ) = s o f t m a x ( z i / ρ ) P_ρ(x_i) = softmax (z_i/ρ) Pρ(xi)=softmax(zi/ρ)为softmax temperature function。 ρ > 0 ρ>0 ρ>0是temperature parameter,用于控制教师生成的概率分布的平滑程度。较大的 ρ ρ ρ表示从 p T p^T pT更平滑的概率分布,同时包含与各类别之间差异相关的更多特殊信息。
为了应用DP机制,方案将标准偏差为m·c的零均值高斯噪声(zero-mean Gaussian noise)注入到 L D S L_{DS} LDS中。m和c是SGM中用于满足DP保证的裁剪阈值(clipping threshold)和噪声乘子(noise multiplier),n应为training size。differentially private distillation loss表示如下:
Learning with GAN
该方法通过判别器在最小-最大博弈中从老师模型转移知识。假设预训练 T T T的输出为真实分布, S S S的输出为生成的虚假分布。因此, S S S试图生成一个概率 p S p^S pS来模仿教师网络的分布 p T p^T pT,从而欺骗判别器网络 D D D,而 D D D则试图区分 T T T预测的真实标签和 S S S预测的伪标签。目标函数如公式(12)所示。
在常规GAN中,判别器很难直接从分类器或生成器中获取离散概率,判别器和生成器之间传播的通常是伪标签。否则,它可能会引起梯度方差过大,从而导致收敛速度下降。为了解决这个问题,作者将Gumbel-Max技巧结合到PKDGAN中,从一个离散分布中采样,通过采样近似来获得一个连续的可微分布。换句话说,就是可以使用一个具体的分布 p g u m b e l p_{gumbel} pgumbel来生成categorical distribution分布 p p p (例如 p T p^T pT, p S p^S pS)上的连续样本:
因此,D可以通过最大化(12)中的目标函数 L A D L_{AD} LAD来进行更新,而S则试图最小化 L A D L_{AD} LAD,最终导致判别器无法判断给定标签是否为 S S S所产生。这种对抗性学习可以交替更新学生和判别器的网络参数,直到达到平衡。因此, S S S可以通过判别器 D D D来学习 T T T的分类能力。
Joint Optimization
将(11)中的sanitized distillation loss与(12)中的adversial loss结合起来,得到differentially private training strategy的总体目标函数如下,算法细节如Algorithm 1所示:
PKDGAN中的private knowledge transfer strategy有其独特的优势:当与GAN结合时,蒸馏损失和对抗损失的联合优化可以显著节省训练时间,使隐私保护更强;在RDP accountant的帮助下,仔细搜索SGM的超参数(即q, m, c)和α的最优值,从而在严格的隐私约束下实现最优模型性能。
Cooperative Learning with Multiple Students
PKDGAN可以采用合作学习策略,来实现多学生场景下的训练,即使数据为non-iid数据。PKDGAN通过共享一个共同训练的判别器和一个预先训练的老师来完成训练过程,可以在没有直接通信的情况下实现多个学生的协同优化。给定 K K K个学生网络 S 1 , S 2 , . . . S K S_1,S_2,...S_K S1,S2,...SK, S k S_k Sk的目标函数如下:
当 K K K个学生共同学习时,每个学生能够独立的与判别器和教师模型交流来获得学习经验,而判别器则在 K K K个学生更新后,与 K K K个学生进行对抗性训练。每个学生都可以在本地设备上学习到自己唯一的模型,没有隐私泄露的风险,然后将其对应的概率向量传递给老师和判别器进行损失函数计算和梯度更新。换句话说,每个学生不会与其他学生直接接触,以确保隐私,而传递的知识通过鉴别器共享。整体流程如Algorithm 2所示。
值得注意的是,PKDGAN中提出的合作学习策略的动机不同于联邦学习,后者是一种分布式算法,不直接共享私有数据,而是通过直接交换本地设备的模型参数来训练全局模型。因此,联邦学习旨在保护属于本地设备的数据隐私,同时聚合它们的本地梯度以增强全局模型。相反,PKDGAN侧重于保护服务器(即教师)的数据和模型隐私,并发布部署在服务器上的目标模型(即学生)。
Experiments
采用了四种广泛使用的数据集(MNIST, SVNH, CIFAR-10和Market-1501),并比较了PKDGAN与几种最先进的(SOTA)方法在相同隐私成本下的模型精度,还验证了PKDGAN在复杂问题上的通用性和适用性。
Fig.4 描述了不同隐私界ε下的学生模型精度。
TABLE 2比较了这三种方法的效用和隐私性能。为了比较公平,TABLE 2中关于PATE和RONA的报告数据直接取自原文,以避免重复执行问题。由于PATE在中缺乏在CIFAR-10上的实验,将PKDGAN与仅在CIFAR-10上的RONA进行比较,以验证其可扩展性(即使在不利的设置下)。如表所示,对于所有三种分类任务,PKDGAN比PATE和RONA能够更好地在隐私性和实用性之间进行权衡。
Fig.5绘制了教师和学生的学习曲线,其中三个学生的训练规模都是10000。可以直观地理解,通过KD训练的学生准确率低于参考教师的准确率。
PKDGAN结合了KD和GAN的独特优势:KD允许使用少量的训练样本完成知识迁移;GAN利用鉴别器强制生成器(即学生)合成真实分布。然后,通过比较所提出的联合优化与仅kd优化来研究PKDGAN的效率,并将结果总结在表TABLE 3中。
在不同训练规模的MNIST上,进一步研究了不同蒸馏权值α下PKDGAN的准确率。结果报告在Fig.6中。
在有限的训练迭代(即10个epoch)下,从Fig.7中可以看出,通过合作学习,学生的平均性能得到了明显的提高。
TABLE 4展示了PKDGAN在Market-1501上的性能,Supervised表示使用全部数据通过有监督的方式训练教师网络。PKDGAN w. one student中第一行表示使用全部无标签数据训练一个学生网络,第二三行表示将数据集分成两部分分别训练两个学生模型。PKDGAN w. 2 students表示将数据集分成两部分,并通过合作学习的方式训练两个学生网络。
Conclusion
本文提出了一个名为PKDGAN的三方框架(教师-学生-鉴别器),以保护私有数据并通过知识迁移训练可部署的神经网络。所提出的迁移策略结合了KD(教师)和GAN(学生和鉴别器),从而提供了额外的质量监督。通过改进的差分隐私机制,框架可以在整个训练过程中确保严格的隐私保障,即使在有限的训练时间和未标记的训练数据下也可以实现模型收敛。在四个计算机视觉数据集上进行了大量的实验,一致证明PKDGAN可以实现良好的实用性和隐私权衡。