摘要
-
背景与问题:
-
医疗领域正在数字化转型,例如电子健康记录(EHR)系统的普及。
-
数据的二次使用(用于医学研究)有潜力,但也带来隐私风险,因为医疗数据泄露可能导致污名化或歧视。
-
-
技术手段:
-
差分隐私(DP):通过添加噪声来限制数据分析对单个用户的影响。
-
合成数据生成(SDG):使用生成对抗网络(GAN)生成隐私保护的合成数据。
-
联邦学习(FL):在不集中上传原始数据的情况下,分布式训练模型。
-
将 DP、SDG 和 FL 结合,可以在保护隐私的同时生成对研究有价值的合成数据。
-
-
研究贡献:
-
提出了 DP-Fed-CTGAN 方法,用于在严格 DP 保证下,通过联邦学习生成表格型合成数据。
-
该方法减少了客户端在联邦学习过程中必须共享的本地数据信息。
-
引言
背景
-
医疗数字化背景
-
医疗系统正经历数字化转型,例如德国的 Elektronische Patientenakte (ePA),为所有法定医保患者提供电子健康记录(EHR)。
-
从 2023 年起,投保人可以自愿将其 ePA 数据捐赠给 Health Data Lab(BfArM) 用于医学研究,但具体实施细节和法律问题仍在讨论中。
-
-
医疗数据的潜力与隐私问题
-
大型医疗数据和二次使用(real-world data)能通过大数据和机器学习显著提升疾病治疗效果。
-
医疗数据敏感,如果被滥用(如遭受网络攻击),可能导致个体污名化或歧视,因此受到 GDPR 严格保护。
-
-
隐私保护技术(PETs)
-
匿名化方法:曾广泛使用,但易受背景知识攻击。
-
差分隐私(DP):通过给计算函数添加噪声,保证算法输出不会被单个个体数据显著影响,从而提供可量化的隐私保障。
-
合成数据生成(SDG):生成统计特性与原始数据相似的合成数据,同时不泄露训练数据中个体信息。
-
GAN/CTGAN:生成对抗网络尤其适合生成合成数据,CTGAN 是专门针对表格数据设计的变体,可结合 DP 防止成员推断攻击。
-
-
联邦学习(FL):允许各机构在本地训练模型,只共享参数而不共享原始数据,结合 DP 可进一步防止模型记忆训练数据带来的隐私泄露。
-
-
方法动机
-
在医疗数据捐赠场景下,多家医疗机构可以通过 FL 共同训练 CTGAN 模型,数据只用于本地训练,不需要集中共享。
-
结合 DP 可以生成既有研究价值又有数学上可证明隐私保障的合成数据。
-
贡献
-
研究空白
-
以往关于 联邦学习 (FL) + 差分隐私 (DP) + 合成数据生成 (SDG) 的研究多集中在图像数据,
-
对于医疗领域常见的 表格数据,仍然是一个尚未充分研究的问题。
-
现有基于 CTGAN 的方法(如 FDP-CTGAN、HT-Fed-GAN)评估不充分,
-
而 Fed-TGAN 虽然能生成数据,但不提供差分隐私保证。
-
-
提出的方法
-
本文提出了一种新的方法 DP-Fed-CTGAN,专门用于在 联邦学习框架下生成差分隐私保护的表格数据。
-
核心设计理念:尽量减少客户端向服务器披露的本地数据信息,从而降低隐私泄露风险,符合 FL 的初衷。
-
-
实现与评估
-
实现上采用了当前最先进的 DP、SDG 和 FL 框架。
-
从多个维度对 DP-Fed-CTGAN 的性能 进行系统评估:
-
数据效用(utility)和保真度(fidelity)指标
-
医疗数据捐赠场景和常见 ML 数据集
-
联邦学习 vs 集中式训练 的比较
-
客户端数量的影响
-
不同 隐私预算 (privacy budget) 对生成数据质量的影响
-
-
基础知识
电子健康记录(EHR)系统
-
EHR 的数据类型
-
健康数据被数字化存储在 EHR 中,可以来自医疗过程或个人设备(如智能手表)。
-
EHR 数据分为两类:
-
结构化数据(如实验室结果、生命体征、诊断编码、账单数据),具有数值或类别的固定取值范围。
-
非结构化数据(如医学影像、自由文本的病历),缺乏标准化表示方式。
-
-
本文 只研究结构化数据,即可以看作是表格型数据(tabular datasets)。
-
-
数据存储与互操作性
-
EHR 可以集中存储,也可以去中心化存储(如在患者手机中)。
-
为了实现不同医疗机构之间的互操作,需要 统一的语法和语义标准:
-
语法:HL7(Health Level Seven International)消息格式。
-
语义:SNOMED CT 术语体系。
-
-
-
EHR 的优势
-
提高医生诊断与决策的效率。
-
方便追踪患者病史,帮助新医生快速了解情况。
-
提供 真实世界数据,支持研究和改善未来的治疗。
-
-
隐私风险
-
健康数据高度敏感,一旦泄露可能造成 污名化、敲诈 等严重后果。
-
举例:芬兰 Vastaamo 心理治疗中心遭黑客攻击后,患者心理治疗记录被公开,导致严重的隐私事件。
-
健康数据处理相关的法律与监管框架
-
历史背景
-
早在公元前 4 世纪,《希波克拉底誓言》就强调了医疗保密的重要性。
-
-
美国:HIPAA 法案(1996)
-
规定了医生、医院、保险公司在收集、存储和共享 电子受保护健康信息 (ePHI) 时的要求。
-
ePHI 指所有可直接关联到个人的健康数据。
-
HIPAA 安全规则 要求从行政、物理和技术层面确保 ePHI 的机密性、完整性和可用性。
-
HIPAA 隐私规则 §164.514 提供了 Safe Harbor 方法,只需删除 18 类特定标识符(如姓名、社保号、日期等),数据即可视为去标识化并自由共享 → 由此催生了一个数十亿美元的 EHR 数据市场。
-
-
欧盟:GDPR(2018 起适用)
-
将健康数据列为 特殊类别的个人数据,默认禁止处理。
-
例外情况:
-
由有保密义务的专业人员处理;
-
数据主体的知情同意;
-
或数据经过匿名化(不再能识别个人)后用于科研等。
-
-
GDPR 不适用于已完全匿名化的数据。
-
-
德国:具体实施情况
-
BfArM 下属的 Health Data Lab 负责推动医保人群健康数据的二次利用(依据《社会法典》第五卷 SGB V §§303a–303f)。
-
目前仅包含医保账单数据。
-
自 2023 年起(§363 SGB V),参保人可以自愿捐赠其 国家 EHR 系统(ePA) 中的数据用于科研。
-
但实施细节尚不明确,特别是 数据保护存在争议:
-
虽然数据以假名化形式传输至 Health Data Lab,
-
但《数据透明条例》(DaTraV)第 10 条并未对 匿名化方法 提出明确要求,导致在向授权用户发布时仍存在风险。
-
-
隐私增强技术(Privacy-Enhancing Technologies, PETs)
-
PETs 的作用与基本思路
-
目标:在 合规(遵守隐私法律)的同时 降低数据再识别风险。
-
常用技术手段:加密、去中心化、数据扭曲(加噪、聚合处理等)。
-
核心挑战:隐私保护 与 数据可用性 之间的权衡。
-
-
数据类型与隐私威胁
-
显式标识符 (Explicit Identifiers):如姓名、地址、社保号,可以直接识别个人。
-
准标识符 (Quasi-Identifiers):单独不敏感,但结合外部数据可能实现再识别。
-
例子:Sweeney 通过出生日期+邮编+性别,成功识别出马萨诸塞州州长 William Weld。
-
说明了 HIPAA Safe Harbor 方法的局限性。
-
-
敏感属性 (Sensitive Attributes):个体不愿被关联的信息,如疾病诊断、收入。
-
-
两种数据使用场景
-
PPDP(Privacy-Preserving Data Publishing):数据托管方发布“净化版”数据,研究者可自由分析。
-
PPDM(Privacy-Preserving Data Mining):数据仍由托管方掌握,研究者只能通过接口提交查询。
-
-
隐私模型的发展
-
语法类模型 (Syntactic Definitions)(适用于 PPDP):
-
k-匿名 (k-anonymity):删除显式标识符,通过泛化/抑制处理准标识符,使每条记录至少有 k-1 条记录相同。
-
缺陷:若组内敏感属性相同,依然可能泄露隐私。
-
改进模型:ℓ-diversity、t-closeness、δ-presence → 各有优劣。
-
-
语义类模型 (Semantic Definitions):
-
差分隐私 (Differential Privacy, DP):不依赖语法规则,而是从数学上保证,即便攻击者有任意外部知识,也难以确认个体是否在数据中。
-
DP 近年成为研究重点。
-
-
差分隐私
-
提出时间与提出者
-
2006 年,由 Dwork 提出 [Dwo06]。
-
适用于 PPDP(隐私保护数据发布) 和 PPDM(隐私保护数据挖掘) 两种场景。
-
-
理论背景
-
1977 年 Dalenius 提出了一个理想目标:攻击者访问数据库时,不应获得任何关于个体的信息,这些信息在没有访问数据库时本来无法获取。
-
Dwork 证明这个目标 不可能实现(因为数据库总会包含某些统计规律)。
-
因此,DP 提供的不是“绝对隐私”,而是一种 相对隐私保证 —— 通过概率上的限制,确保攻击者无法明确区分某个个体是否在数据库中。
-
-
实际应用
-
DP 已经不只是理论概念,而是被实际应用:
-
Apple 用于用户数据的隐私友好分析 [DPT17]。
-
Google 也在产品中部署了 DP [EPK14]。
-
-
差分隐私定义
1. 差分隐私的定义(ε-DP)
-
核心思想:如果两个数据集 只差一个样本,那么经过随机化机制 M 处理后,它们的输出分布应该“几乎一样”。
-
公式:
-
D1,D2:相邻数据集(只差一个人)。
-
S:输出结果集合。
-
ε:隐私参数,越小隐私越强。
-
直观理解:攻击者看输出结果,几乎无法判断某个个体的数据有没有在数据集中。
2. 隐私参数 ε
-
控制“隐私保护 vs. 数据实用性”的平衡:
-
小 ε → 输出分布更接近,隐私更强,但需要更多噪声 → 实用性下降。
-
大 ε → 噪声少,数据更实用,但隐私保护弱。
-
-
文献中常用范围:0.01 ~ 10。
3. 敏感度(Sensitivity)
-
定义:单个样本对函数输出的最大影响。
-
举例:
-
计数查询(比如统计多少人患有某病),敏感度 = 1。
-
敏感度越大,噪声就得越多。
-
具体说明
(1) 计数查询
问题:统计某医院有多少患者得糖尿病。
-
数据集 D:患者记录。
-
函数 f(D):统计得病人数。
-
如果增加/删除一个患者,结果最多变化 1。
所以计数查询的敏感度 = 1。
(2) 平均值查询
问题:统计某班同学的平均身高。
-
假设每个人身高在 100cm ~ 200cm。
-
如果删掉/加进一个人,平均值的变化量不会超过 (200-100)/n(n = 班级人数)。
所以敏感度和数据范围、样本量都有关。
(3) 总收入查询
问题:统计公司所有员工的总收入。
-
如果一个人年薪是 100 万,删掉他,结果会变化 100 万。
-
所以敏感度 = 可能的最大个人收入。
敏感度越大,需要加的噪声越大(保护越难)。
为什么敏感度重要?
因为在差分隐私中,要往结果里 加噪声。
-
噪声大小 = 敏感度 ÷ ε。
-
如果一个函数的敏感度很大(某个人能严重改变结果),就得加很大的噪声来保护隐私。
4. Laplace 机制(常用实现方法)
-
在函数输出 f(x) 上加噪声:
-
Laplace 分布的 PDF:
-
噪声服从 零均值 Laplace 分布,尺度参数 = 敏感度 ÷ ε。
-
-
效果:
-
ε 大 → 分布窄 → 噪声小,结果接近真实值。
-
ε 小 → 分布宽 → 噪声大,隐私更强但失真更大。
-
差分隐私改进版
1. 为什么要放宽 ε-DP
-
经典的 ε-DP 很严格:要求无论数据集中是否存在某个人,输出结果的差别必须被一个严格的因子 e^ε 控制。
-
在一些场景下,这太苛刻,不够灵活。
-
所以引入了 (ε,δ)-DP:允许在极小概率 δ的情况下不满足 ε-DP(也就是说,有一个很小的失败概率)。
这样在实际中更容易应用,特别是深度学习这种迭代次数很高的算法。
2. 噪声机制
-
ε-DP 常用 Laplace 噪声(基于 L1 敏感度)。
-
(ε,δ)-DP 常用 Gaussian(高斯)噪声(基于 L2 敏感度)。
-
这就是 Gaussian Mechanism 的定义。
-
3. 两大关键定理
-
后处理定理(Post-Processing):
对差分隐私结果进行任何函数变换,都不会破坏隐私保护(比如做降噪、可视化等)。 -
并行组合定理(Parallel Composition):
如果把不同机制分别应用在不相交的数据子集上,总的隐私损失等于最差的一个。
4. 顺序组合(Sequential Composition)
-
在实际中我们经常会对同一个数据集多次调用差分隐私机制。
-
这会导致隐私预算(ε, δ)累积。
在训练的时候,每训练一轮或一批次都会调用一次隐私机制,隐私预算就会多增加一点点。最终训练完成后,隐私预算总和越大,代表隐私保护能力越弱,这也就是“隐私预算损耗”这总说法的来源。可能会事先预订好一个隐私预算值,在训练中分批次的增加一点点隐私预算。那么这个所谓的 组合 就是 测量最后总体花了多少隐私预算的 测量方式,检查累计消耗的 ε 有没有超过上限。
有几种组合方式:
-
基本组合(Basic Composition):
直接把 ε、δ 累加。结果比较松(隐私消耗很快)。 -
高级组合(Advanced Composition):
允许 δ 稍微变大,能把 ε 控制在比线性更小的范围。 -
RDP(Rényi Differential Privacy)组合:
利用 Rényi 散度的数学性质,能得到更紧的隐私预算估计。-
通过 RDP , 转换回 (ε,δ)-DP。
-
在迭代很多次(比如训练神经网络时几千次迭代)时,RDP 明显优于前两种方法。
-
合成数据集
1. 合成数据的定义
-
合成数据是人工生成的数据,目标是让它在统计性质上尽量接近真实数据(比如分布、相关性等)。
-
这样做的好处是:合成数据不直接对应真实的个人记录,因此比直接发布真实数据更能保护隐私。
2. 合成数据的生成过程
-
输入:真实数据集 D,包含 n 个个体、m 个属性。
-
第一步:从数据中学习其统计特征(比如属性分布、变量之间的相关性),用一个模型(可以是统计模型,也可以是神经网络模型)来表示。
-
第二步:利用该模型生成新的、合成的数据集 D~。
3. 应用场景
-
数据增强 (Data Augmentation):
在深度学习训练中,数据量往往不足,可以通过生成额外样本来扩充训练集。-
图像例子:旋转、裁剪等操作。
-
-
隐私友好的数据共享 (Privacy-friendly Data Release):
用合成数据代替真实数据对外发布,降低隐私泄露风险。-
这种想法早在 1993 年 Rubin 就提出过。
-
合成数据集的性质
1. 合成数据生成器的理想性质
-
Utility(效用)
-
合成数据必须能在下游任务(如分类、预测)中发挥作用。
-
常见评估方式:比较在真实数据 vs. 合成数据上训练的模型性能差异。
-
-
Fidelity(保真度/逼真度)
-
合成数据要尽量像真实数据:
-
语法一致性:如邮政编码应保持合法格式。
-
统计相似性:合成数据的分布、变量之间的关系应和真实数据接近。
-
-
-
Efficiency(效率)
-
生成器在运行时间上要可扩展,能处理大规模样本和高维数据。
-
-
Privacy(隐私)
-
合成数据不能过度接近真实数据,否则会引发隐私风险。
-
两类典型攻击:
-
Membership Inference(成员推断攻击):攻击者判断某个人是否出现在训练数据中。
-
Attribute Inference(属性推断攻击):攻击者根据已知属性和合成数据,推测真实数据的敏感属性。
-
-
2. 隐私与效用/保真度的权衡
-
合成数据(像其他隐私增强技术 PETs 一样)存在 效用/保真度 vs. 隐私 的冲突。
-
最新研究(Stadler 等人 2022)发现:
-
即使是最先进的生成模型,对**异常值(outliers)**的保护仍不足。
-
单靠合成数据不能保证“完美隐私”。
-
-
一些创业公司声称“合成数据天生完全隐私安全”是不现实的。
3. 解决方案
-
为了提供 可证明的隐私保障,通常会在合成数据生成模型训练中引入 差分隐私 (DP)。
4. 效用与保真度的关系
-
效用和保真度相关,但不是一一对应。
-
在某些场景下,可以降低保真度(数据不像真实数据那么“真”),但仍然保持高效用,同时换取更好的效率或隐私。
非深度学习的合成数据生成方法
1. 基于统计建模的方法
-
思路:直接建模属性(特征)的统计分布,然后通过采样生成新的数据。
-
贝叶斯网络是典型代表:
-
用有向无环图(DAG)表示不同属性之间的依赖关系。
-
节点 = 属性,边 = 属性间依赖。
-
每个节点都有条件概率分布,描述在父节点给定时该属性可能取值的概率。
-
学习过程:
-
学习图结构(谁依赖谁)。
-
学习条件分布的参数。
-
-
生成过程:
-
从“起始节点”(没有父节点的)采样值。
-
然后逐层根据父节点采样子节点的值,直到所有属性生成。
-
-
PrivBayes(Zhang 2014):在条件分布中引入噪声,从而满足差分隐私(DP)保护。
-
2. 基于模拟(Simulation-based)的算法
-
这种方法 依赖领域知识,只能在特定领域用。
-
原理:基于已知的领域规则/统计规律,手工构造模型来模拟生成数据。
-
例子:
-
Synthea(开源工具):专门生成医疗领域的合成数据(病人和电子病历 EHR)。
-
方法:利用公开的健康统计数据 + 疾病进展的状态机模型来生成。
-
变分自编码器
1. 背景
-
深度学习的发展(算法改进 + GPU加速)推动了生成模型的突破。
-
两大主流深度生成模型:VAE 和 GAN。它们能更好地捕捉数据模式,因此在研究和实践中都很流行。
2. VAE 的基本结构
-
和普通自编码器(Autoencoder, AE)一样,由 编码器 (encoder) 和 解码器 (decoder) 两部分组成。
-
不同之处:VAE 是 概率模型。
-
编码器:输入数据 x,输出的是一个分布
(通常是高斯分布),对应在低维潜在空间的表示。
-
解码器:输入从这个分布里采样的潜在变量 zzz,输出的是关于数据的概率分布
。
-
3. 损失函数(负对数ELBO)
-
第一项(期望重构误差):让生成的数据尽量接近原始数据。
-
第二项(KL 散度正则项):约束编码器的分布
接近先验分布 p(z),通常选标准正态分布 N(0,I)。
4. 合成数据生成
-
VAE 训练好之后:
-
从先验分布 N(0,I) 中采样一个潜在变量 z。
-
输入到解码器,生成新的合成数据。
-
补充
生成对抗网络
1. GAN 的提出与特点
-
提出:Goodfellow 等人在 2014 年提出。
-
特点:
-
和 VAE 不同,GAN 不直接估计数据分布参数,而是通过对抗训练直接生成数据。
-
效果通常比 VAE 好,被称为近十年来最有趣的机器学习想法。
-
但也因为能生成高度逼真的虚假内容,常被用来做 deepfake。
-
2. GAN 的结构
GAN 由 两个神经网络组成:
类比:
-
G(生成器) = 造假者(印假币)
-
D(判别器) = 警察(辨别真假币)
3. 训练目标(对抗博弈)
4. 训练方法
-
通常采用交替更新:先更新 D 多次,再更新 G 一次。
-
使用随机梯度下降/上升来优化。
5. 常见训练困难
-
模式崩塌(Mode Collapse):生成器只会生成少量相似样本,缺乏多样性。
-
梯度消失(Vanishing Gradient):初期生成器样本太假,判别器太容易分辨,导致生成器得不到有效梯度更新。
-
训练不稳定(Instability):对抗博弈本身复杂,梯度优化可能不收敛,出现震荡。
变体生成对抗网络
1. Wasserstein GAN (WGAN)
-
问题:vanilla GAN 优化的是 Jensen–Shannon 距离 (JSD),容易导致 模式崩塌、梯度消失。
-
改进:WGAN 改用 Wasserstein-1 距离 作为优化目标。
-
EMD 更稳定(连续、几乎处处可导)。
-
使用 Kantorovich-Rubinstein 对偶性,定义新的损失函数:
-
其中判别器 D 变成 critic(评判器),要求满足 1-Lipschitz 连续性。
-
-
效果:解决了模式崩塌和梯度消失问题。
2. Medical GAN (medGAN)
-
问题:GAN 难以生成 离散数据(如医疗诊断、药物编码),因为离散空间中梯度为零。
-
改进:
-
在生成器和判别器之间加一个 预训练自编码器的解码器,把生成器的连续输出转化为离散样本。
-
使用 mini-batch averaging(把一个 batch 的平均值也输入判别器)来缓解模式崩塌。
-
-
应用:主要用于 医疗数据生成。
3. Conditional GAN (cGAN)
-
问题:vanilla GAN 不能控制生成数据的类别,例如不能指定生成“患病”或“健康”患者的数据。
-
改进:在 生成器和判别器 中引入 条件变量 c(如类别标签)。
-
目标函数变成:
-
可以在训练和生成时指定条件,从而生成特定类别的数据。
-
-
应用:适合医学场景,比如生成“患病 vs. 未患病”的患者数据,用于研究风险因素。
4. Conditional Tabular GAN (CTGAN)
-
问题:表格型数据(tabular data)有以下特点:
-
连续变量常常非高斯分布 → min-max 归一化后容易梯度消失。
-
连续列可能是多峰分布,但 vanilla GAN 不能捕获所有模式。
-
离散列常常类别不均衡 → 模式崩塌或少数类学不好。
-
-
改进:
-
模式特定归一化(Mode-specific Normalization)
-
用变分高斯混合模型 (VGM) 估计连续变量的模式数量。
-
每个值用 one-hot 表示模式 + 一个标量表示该模式内的位置。
-
-
条件生成器(Conditional Generator)
-
类似 cGAN,在输入中加入 条件向量 c(所有离散列的 one-hot 编码)。
-
采用 training-by-sampling 技巧:
-
随机选一个离散列;
-
按其类别频率的对数分布采样一个值;
-
将其作为条件输入到生成器,帮助学习不平衡类别的分布。
-
-
-
-
应用:适合 表格数据生成,比 vanilla GAN 更适合实际数据分析场景。
深度学习中引入DP
1. 背景
-
即便使用 合成数据,训练数据中的个人隐私仍可能泄露。
-
神经网络可能 过拟合训练数据,意外“记住”个体信息,可能被 模型反演攻击 (model inversion attack) 恢复。
-
因此,需要在训练过程中加入 差分隐私,提供 数学上的隐私保证。
2. 三种将 DP 融入训练的方式
-
Objective Perturbation(目标扰动)
-
在优化目标函数 J(θ) 上加入噪声。
-
-
Gradient Perturbation(梯度扰动)
-
在每次迭代计算梯度 ∇θ 时加入噪声。
-
这也是 DP-SGD 的核心思想。
-
-
Output Perturbation(输出扰动)
-
在算法输出 θ 上加入噪声。
-
3. 两个主要机制
-
DP-SGD:通过在梯度上加噪声实现差分隐私。
-
PATE(Private Aggregation of Teacher Ensembles):通过多个教师模型投票生成隐私保护的标签,用于训练学生模型。
-
这两种方法也可以应用到 GANs 的训练中,保证生成模型的隐私。
DP-SGD
1. 背景:普通 mini-batch SGD
-
训练神经网络时,通常用 mini-batch SGD 来最小化损失函数。
-
步骤:
-
计算 mini-batch 中每个样本的梯度。
-
将梯度平均后更新模型参数(沿梯度的反方向下降)。
-
2. DP-SGD 的核心思想(Abadi et al., 2016)
-
在 梯度上加入高斯噪声,以实现差分隐私。
-
问题:梯度的 L2 范数变化最大值未知,无法直接确定噪声大小。
-
解决方法:梯度裁剪 (gradient clipping)
-
将每个样本的梯度向量 g 的 L2 范数限制在阈值 C 以内。
-
超过 C 的部分缩放,使其范数为 C。
-
然后对平均梯度加 Gaussian 噪声,从而掩盖单个样本的影响。
-
-
最终用加噪声的梯度更新模型参数。
3. 隐私损耗计算
-
使用 Moments Accountant 累积训练过程中的隐私成本。
-
给定采样概率 q=m/N 和噪声系数 σ,可证明算法在训练结束后满足
。
4. 在 GAN 中的应用
-
DPGAN:针对 WGAN,将 DP-SGD 应用在判别器上,通过裁剪判别器权重实现 1-Lipschitz 条件,同时梯度无需额外裁剪。
-
DP-CTGAN:在 CTGAN 架构中对梯度进行裁剪并加噪声。
-
结论:对判别器进行差分隐私训练后,生成器也可保证 (ϵ,δ)-DP。
PATE(Private Aggregation of Teacher Ensembles)
1. PATE 的基本思想
-
PATE 是一种 集成学习 + 差分隐私 的方法,用于保护训练数据隐私。
-
两步训练流程:
-
教师模型训练:
-
将训练数据分成 n 个不重叠子集,每个子集训练一个教师分类器。
-
对新样本 x 进行预测时,教师的输出通过 加入噪声的多数投票 聚合,防止单个教师泄露训练数据。
-
公式:
其中 nj(x) 表示预测为类别 j 的教师数量。
-
-
学生模型训练:
-
直接使用聚合教师的输出进行推理不现实,因为查询次数增加会导致噪声加大、结果不可用。
-
因此训练一个 学生模型,使用公开未标记数据,通过教师的带噪声标签学习。
-
学生模型的参数可以公开,隐私损耗由教师聚合机制控制,与用户查询次数无关。
-
-
2. 差分隐私保证
-
PATE 机制通过 RDP (Rényi Differential Privacy) 会计 计算隐私损耗。
-
对 T 次标签查询,保证:
-
改进版本使用高斯机制可在相同精度下降低隐私成本。
3. PATE 在 GAN 中的应用(PATE-GAN)
-
将 判别器替换为 PATE 机制:
-
每个教师只看到训练数据的一部分。
-
聚合输出不可微,无法直接反向传播,因此用 学生模型 将梯度传给生成器。
-
-
学生仅基于生成器输出训练,因为在 SDG(Synthetic Data Generation)场景中,假设公开数据不现实。
-
最终生成器由 差分隐私学生模型训练,可获得 (ϵ,δ)-DP 保证。
联邦学习
1. 背景与动机
-
现实中,数据常常分布在 孤立的数据孤岛(data islands),例如各个医院的数据。
-
挑战:
-
单个数据孤岛的数据量有限,难以训练出准确的模型。
-
数据隐私法规限制了数据的集中收集和共享。
-
2. 联邦学习的核心思想
-
FL 允许 多个参与方(clients/participants) {P1,…,PK} 协同训练模型 MFED,每个参与方只使用自己的数据 {D1,…,DK},无需将数据共享给其他参与方。
-
目标:训练出的模型 M FED 的精度尽量接近 传统集中式训练模型 M CON(使用所有数据 D=D1∪⋯∪DK集中训练)。
联邦学习分类
1. 数据分布(Data Distribution)
-
Horizontal FL(水平 FL):各方的数据具有相同特征,但样本不同。可通过聚合本地模型得到全局模型。
-
Vertical FL(垂直 FL):各方样本有重叠,但特征不同,需要对相同个体的数据进行对齐。
-
Hybrid FL(混合 FL):样本和特征都不同,属于 联邦迁移学习(Federated Transfer Learning) 的范畴。
2. 隐私机制(Privacy Mechanism)
-
虽然数据本地保存,但参数更新(梯度)仍可能泄露隐私。
-
保护方法:
-
安全多方计算(MPC):通过加密操作实现联合计算,数据本身保持私密,但计算成本高且无法防止模型反演攻击。
-
差分隐私(DP):
-
Record-level DP(记录级 DP):每个参与方在发送模型更新前本地加入噪声(如 DP-SGD)。
-
Client-level DP(客户端级 DP):服务器在聚合模型更新后加入噪声,以限制单个参与方对全局模型的影响,但需要更高信任度,且理论上可用 group privacy 转换,但实际难用。
-
-
3. 通信架构(Communication)
-
集中式:服务器收集本地更新并聚合为全局模型,然后下发给各方。
-
去中心化 / 点对点:参与方之间直接通信,无需服务器。
4. 联邦规模(Scale of Federation)
-
Cross-silo FL(跨机构 FL):少量参与方(组织),数据量大,算力强。
-
Cross-device FL(跨设备 FL):大量参与方(如手机、IoT 设备),每方数据少、通信有限、算力低,且参与方可能不稳定。
水平联邦学习
-
系统场景:
-
K 个参与方通过一个 honest-but-curious(诚实但好奇)服务器 协作训练全局模型。
-
这种架构是后续实现 SDG 方法所采用的场景。
-
-
训练流程:
-
下发模型参数:服务器将最新的全局模型参数发送给本轮选中的参与方。
-
本地训练:参与方在自己的本地数据上使用 SGD(或其他优化方法)计算模型更新。
-
上传更新:参与方将本地更新发送给服务器。
-
聚合更新:服务器使用隐私保护机制(如差分隐私或安全多方计算)聚合参与方的更新。
-
更新全局模型:服务器根据聚合结果更新全局模型,然后进入下一轮训练。
-
常见联邦学习算法
FedSGD(Federated SGD)
-
流程:
-
服务器随机选择一部分参与方 C 参与本轮训练,记为 St。
-
每个选中的参与方 Pk 在本地数据 Dk 上计算平均梯度 gk。
-
服务器根据样本数量加权聚合这些梯度并更新全局模型参数:
-
-
特点:每轮只执行一次梯度计算,通信开销高,但收敛速度快。
FedAvg(Federated Averaging)
-
改进点:
-
每轮允许参与方执行 多次本地梯度下降(通过本地 epochs 参数 EEE)以减少通信次数。
-
支持设置 mini-batch 大小 m 进行小批量训练。
-
当 E=1 且 m=∞ 时退化为 FedSGD。
-
-
特点:
-
通信开销低,每轮上传更新次数减少。
-
在 非 IID 数据(不同参与方数据分布差异大)下收敛较慢,因为本地多次更新会使模型参数偏离全局最优。
-
需要在 通信成本和收敛速度之间权衡。
-
与差分隐私结合
-
可以在参与方本地更新时使用 DP-SGD,以在联邦学习中提供差分隐私保障。
相关工作
联邦学习中的GAN
1.MD-GAN(Hardy et al., 2019)
-
架构:中央服务器训练生成器(Generator),参与方训练判别器(Discriminator)。
-
训练流程:
-
服务器生成两批样本发送给每个客户端:一批用于训练判别器,另一批用于计算生成器的误差反馈。
-
判别器反馈平均后用于更新生成器。
-
为防止过拟合,判别器参数定期互换。
-
-
优点:中央生成器减轻客户端计算负担。
-
缺点:通信开销高;假设数据 IID,不适合非 IID 情况。
2.针对非 IID 数据的改进
-
F2U / F2A(Yonetani et al., 2019):
-
F2U:只使用最“宽容”的判别器反馈更新生成器,保证类别分布,但收敛慢。
-
F2A:使用加权平均判别器反馈(宽容的权重更大),在实践中收敛更快。
-
3.差分隐私增强的变体
-
DP-FedAvg-GAN(Augenstein et al., 2020):服务器上同时有生成器和判别器,通过聚合带噪声的判别器参数实现 客户端级 DP。
-
Private FL-GAN(Xin et al., 2020/2022):
-
顺序更新生成器和判别器,减少本地数据访问。
-
判别器梯度加入高斯噪声,实现 记录级 DP。
-
使用终身学习防止非 IID 数据遗忘。
-
4.分布式本地生成器/判别器架构
-
FedGAN(Rasouli et al., 2020):客户端本地训练生成器和判别器,通过 FedAvg 同步参数。收敛可保证非 IID 数据,但客户端计算负担高。
-
IFL-GAN / FeGAN:改进 FedGAN 收敛,通过加权更新(根据数据分布差异或元数据)和均衡采样缓解模式崩塌问题。
5.联邦下生成表格数据的 GAN
-
Fed-TGAN / HT-Fed-GAN / FDP-CTGAN:
-
基于 CTGAN 处理表格数据。
-
需要统一编码离散/连续列,并通过共享频率或模型参数协调。
-
部分版本加入 DP(HT-Fed-GAN、FDP-CTGAN),保证记录级或客户端级隐私。
-
局限:客户端数量固定、数据 IID 假设、代码或实现不公开。
-
常用框架
1.差分隐私库(DP)
-
Opacus(Meta AI):
-
PyTorch 集成 DP-SGD 的高性能库。
-
使用 RDP 进行隐私预算跟踪。
-
调整简单,只需少量代码。
-
-
TensorFlow Privacy(Google):
-
TensorFlow 对应版本,实现 DP-SGD。
-
-
PyVacy:
-
PyTorch 库,每个样本单独计算梯度,效率低于 Opacus。
-
2.合成数据生成器(Synthetic Data Generators)
-
SDV (Synthetic Data Vault):提供 CTGAN PyTorch 实现。
-
SmartNoise Synthesizers(微软 + OpenDP):
-
提供 DP-CTGAN、PATE-CTGAN、PATE-GAN 的 PyTorch 实现。
-
3.联邦学习框架(FL)
-
UniFed:
-
文献对 9 个 FL 框架进行了 15 种场景对比,包括模型支持、性能、训练时间、通信效率、内存消耗和 PET 集成情况。
-
提供“Framework Selector”帮助选择适合的框架。
-
-
TensorFlow Federated:不支持多机部署(当时)。
-
FATE(WeBank):适合工业级跨 silo 部署(如 Kubernetes 集群)。
-
Flower:
-
可集成到 PyTorch、TensorFlow、scikit-learn 等任意 ML 框架。
-
支持单机模拟和真实节点部署,异构客户端无障碍。
-
支持低算力设备(iOS SDK、NVIDIA Jetson、Raspberry Pi)。
-
高效通信:双向 gRPC 流 + 二进制序列化。
-
可扩展:实验中支持 1500 万客户端,单轮同时选择 1000 个进行更新计算。
-
算法
场景和设定
1.方法目标
-
DP-Fed-CTGAN:一种用于生成表格型合成数据的 联邦学习 + 差分隐私 方法。
-
设计原则:尽量 减少客户端必须向服务器泄露的数据量,降低隐私泄露风险。
-
对比已有方法(如 Fed-TGAN、HT-Fed-GAN),重点在于 保护数据隐私和建立公众信任。
2.应用场景
-
医疗数据捐赠:客户端为医疗提供者,服务器由可信第三方(如德国 BfArM 的 Health Data Lab)运营。
-
本地数据:表格型医疗数据(治疗过程中产生的患者信息)。
-
目标:在不共享敏感原始数据的情况下进行模型训练与数据合成。
3.威胁模型
-
假设:
-
服务器是 honest-but-curious(遵守协议,但可能尝试利用接收到的信息攻击隐私)。
-
客户端是诚实的。
-
-
攻击成功定义:攻击者能 重新识别数据捐赠者 或获取训练数据的精确统计特性。
-
防护措施:
-
使用 record-level DP 对本地梯度进行扰动,再聚合到全局模型。
-
DP 保障同样适用于训练后的生成器和合成数据,防止推理攻击和模型反演。
-
4.结合的 PET 技术
-
DP(差分隐私)
-
FL(联邦学习)
-
SDG(合成数据生成)
-
相比已有方法进一步减少数据共享量,以提升信任和合规性。
-
未来改进:可通过 MPC + TEE 进一步降低隐私泄露风险,但本文未实现。
算法流程
1. 整体架构 (Horizontal FL Scheme)
-
模式:采用 横向联邦学习。这意味着多个客户(例如,多家医院或银行)在本地拥有自己的数据,共同训练一个模型,而无需共享原始数据。
-
组成:
-
一个中央服务器:持有并维护全局的生成器 和判别器 模型。
-
多个客户端:每个客户端在本地用自己的数据集训练本地的生成器 和判别器。
-
2. 核心工作流程 (Algorithm Steps)
客户端数据到服务器生成合成数据的几个最重要步骤:
-
数据预处理与编码 (Transformation & Encoding):
-
首先,将客户端的原始表格数据转换为便于模型学习的数值形式。
-
针对不同类型的数据列采用不同的编码方式:
-
连续型列(如年龄、收入)用一种方式。
-
离散型列(如性别、城市)用另一种方式。
-
-
这个过程是隐私保护的,因为编码发生在客户端,原始数据不会离开本地。
-
-
本地模型训练 (Local Training):
-
在每一轮联邦学习迭代中,每个客户端会:
-
采样真实和虚假数据,先更新判别器 的参数(教判别器区分真实数据和生成器生成的假数据)。
-
然后更新生成器 的参数(教生成器生成更逼真的数据以骗过判别器)。
-
-
关键机制 (Training-by-sampling):为了防止“模式崩溃”(即生成器只学会生成少数几种样本),模型使用了条件向量 作为生成器和判别器的额外输入。这允许模型控制生成特定类型的数据。
-
-
联邦聚合 (Federated Aggregation):
-
每轮训练结束后,所有客户端将本地模型(生成器和判别器)的参数发送给中央服务器。
-
服务器聚合(例如 averaging)所有这些客户的参数,形成更新的全局模型。
-
服务器将聚合后的全局参数发回给各客户端,用于下一轮的本地训练。
-
隐私保护数据编码
1. 核心问题:为什么需要特殊的编码?
-
表格数据的复杂性:真实世界的表格数据包含连续型(如年龄、收入)和离散型(如性别、城市)列,不能直接扔给神经网络处理。
-
连续列的挑战:
-
多峰分布:一个连续列(如年龄)的值可能集中在几个不同的区间(例如:年轻人、中年人、老年人),即存在多个“峰”(模式)。标准的GAN难以很好地处理这种分布。
-
异常值问题:使用传统的最小-最大归一化 会将大多数正常值压缩到一个很小的范围内,导致梯度消失,模型无法有效学习。
-
-
联邦学习的挑战:
-
数据非独立同分布:不同客户端的连续数据分布可能不同(例如:医院A的病人平均年龄可能比医院B高)。
-
类别不完整:不是每个客户端都拥有离散列的所有可能类别(例如:某个城市的银行可能没有“外汇”这个业务类别)。
-
需要统一编码:为了后续能聚合来自不同客户端的模型参数,所有客户端必须使用完全相同的编码格式。
-
2. 解决方案:模式特定归一化
为了解决连续列的问题,文章借鉴并改进了 CTGAN 的 模式特定归一化 方法:
-
拟合高斯混合模型:对每一个连续列,使用一个高斯混合模型 来拟合其值的分布。GMM可以将一个复杂的多峰分布看作是多个高斯分布(即“模式”)的叠加。
-
表示一个值:对于该列中的每一个具体数值
ci,j
,用它属于哪个“模式”以及在该模式内的相对位置来表示:-
βi,j
(模式选择器):一个one-hot向量,表示ci,j
最可能属于哪个高斯分量(模式)。例如,[0, 1, 0]
表示它最可能属于第二个模式。 -
αi,j
(模式内数值):一个标量,表示ci,j
在它所属的那个高斯分量内,距离均值有多少个标准差。计算公式为αi,j = (ci,j - µ_l) / (4√Σ_l)
(其中l
是选中的模式)。
-
最终,一行数据被编码为所有连续列和离散列的编码拼接:rj = α1,j ⊕ β1,j ⊕ ... ⊕ αNc,j ⊕ βNc,j ⊕ d1,j ⊕ ... ⊕ dNd,j
3. 隐私保护的联邦编码流程
这一段描述了如何在联邦 setting 下实现上述编码而不泄露隐私:
整个过程分为两大步,由服务器和客户端协作完成:
第一步:客户端 -> 服务器(上传摘要信息)
-
对于离散列:各客户端只向服务器发送该列在本地的所有不同值(类别)的列表和本地数据集大小。不发送具体数据行。
-
对于连续列(见算法4.1):
-
每个客户端在本地为每个连续列拟合一个高斯混合模型。
-
客户端从本地GMM中抽样生成与本地数据集大小相同数量的伪样本。
-
客户端将这些伪样本(而非真实数据)发送给服务器。
-
第二步:服务器 -> 客户端(下发全局编码方案)
-
服务器收集所有客户端的信息:
-
整合所有离散列的不同值,形成全局类别列表。
-
收集所有客户端发来的连续列的伪样本,为每一列拟合一个全局的VGM模型。
-
-
服务器将全局VGM模型的参数(用于连续列编码)和全局离散列类别列表下发给所有客户端。
最终:所有客户端使用从服务器收到的全局统一的编码方案,在本地将自己的真实数据编码成上述的 α
, β
, one-hot
形式,然后开始本地训练。
训练流程
1. 整体训练流程(4个步骤)
如图所示,一轮联邦训练包含四个标准步骤:
-
本地差分私有训练:各客户端使用本地数据,以差分私有的方式更新本地生成器和判别器参数。
-
客户端上传参数:客户端将更新后的模型参数发送给中央服务器。
-
服务器端聚合:服务器对收到的所有客户端参数进行加权平均(联邦平均,FedAvg)。
-
参数下发:服务器将聚合后的全局参数发回各客户端,作为下一轮训练的起点。
2. 客户端本地训练(算法4.2的核心与隐私保护重点)
这是描述最详细的部分,解释了如何实现差分隐私(DP):
-
隐私预算检查:在每个训练周期开始时,客户端会查询一个基于Rényi差分隐私的会计器,检查剩余的隐私预算
ε
是否已经耗尽。如果耗尽,则立即停止训练,防止隐私泄露。这是DP的标准操作。 -
训练-by-采样:为了处理表格数据中类别不平衡的问题(避免模式崩溃),模型采用了CTGAN的条件生成对抗网络 方法。
-
会为每个批次生成一个条件向量,指示生成器需要生成具有哪种特定类别特征的数据。
-
关键隐私设计:与HT-Fed-GAN不同,DP-Fed-CTGAN只使用客户端的本地类别频率来计算这个条件向量,而不是要求所有客户端上报频率来计算全局频率。这减少了客户端需要与服务器共享的信息量,进一步保护了隐私。
-
-
差分私有判别器训练:
-
损失计算:使用标准的二元交叉熵损失来训练判别器区分真实数据和生成数据。
-
DP-SGD实现:使用差分私有版本的Adam优化器来更新判别器参数。这包含两个关键操作:
-
逐样本梯度裁剪:对每个训练样本计算出的梯度进行裁剪,限制其最大范数(
C
)。这是控制单个样本对模型影响的关键。 -
梯度加噪:对平均后的批次梯度添加高斯噪声。噪声的尺度与裁剪范数
C
共同决定了最终的隐私保护强度(ε, δ)
。
-
-
移除梯度惩罚项:原始CTGAN和WGAN-GP等会有一个梯度惩罚项来强制判别器满足1-Lipschitz条件。在DP版本中,这个项被移除了,因为逐样本梯度裁剪本身已经起到了类似的控制作用,再加惩罚项会干扰DP机制。
-
-
差分私有生成器训练:
-
“免费”的隐私保护:生成器的更新不需要额外添加噪声。根据差分隐私的后处理性质,因为生成器的训练数据来自已经满足差分隐私的判别器的输出,并且生成器本身不直接接触真实数据,所以通过后处理定理,生成器自然也满足差分隐私。
-
3. 服务器端聚合(算法4.3)
服务器端的逻辑相对简单:
-
初始化:初始化全局的生成器和判别器参数。
-
权重计算:根据各客户端本地数据集的大小来计算其聚合权重(更大的数据集拥有更高权重)。这是一种简单公平的策略。
-
联邦平均:在每一轮中,服务器收集所有客户端的模型参数,并用计算好的权重对它们进行加权平均,得到新的全局模型。
-
设计选择:文章特意没有采用Fed-TGAN中那种考虑数据非独立同分布(non-IID)的复杂加权方案,因为那种方案需要服务器知道客户端的类别频率信息,而这会违背联邦学习最小化信息共享的隐私原则。
生成合成数据
1. 合成数据生成步骤
-
服务器发起请求:
-
假设服务器要生成
n
行合成数据。 -
它会向每个客户端
k
请求n * wk
个条件向量。这里的wk
是算法4.3中计算的客户端权重(正比于其数据量大小)。这确保了生成数据的类别分布与联邦整体数据分布一致。
-
-
客户端生成条件向量:
-
各客户端在本地使用之前介绍的 training-by-sampling 方法生成所需数量的条件向量。
-
一个细微调整:此时计算概率质量函数时使用的是实际频率,而不是训练时使用的频率的对数。这是因为在生成阶段,目标是准确反映真实的数据分布。
-
-
服务器生成数据:
-
服务器收集到所有客户端发来的条件向量后,将这些条件向量与从多元正态分布中采样的随机噪声一起输入到已经训练好的全局生成器中。
-
生成器输出编码形式的合成数据。
-
-
反向解码:
-
最后,将生成器输出的数据(即
α
,β
, one-hot 等编码形式)进行反向转换,得到最终用户可读的、与原数据格式一致的合成表格数据。
-
2. 核心对比与隐私优势
这段话的关键在于将其方法与先前工作(如 Fed-TGAN 和 HT-Fed-GAN)进行对比,以突出其隐私保护的设计理念:
-
先前工作的做法:服务器需要知道所有离散列中所有类别的全局频率。有了这个信息,服务器就可以自己在本地构造条件向量。
-
DP-Fed-CTGAN 的做法:服务器不知道全局频率分布。它必须向客户端“征集”条件向量。
-
带来的优势:这种方法更加隐私友好。因为服务器始终无法知晓各个类别的具体出现频率,这保护了客户端数据的统计特征信息,进一步降低了隐私泄露的风险。
-
付出的代价:更高的通信成本。因为需要在训练完成后,额外进行一轮或多轮客户端与服务器之间的通信来传输条件向量。
软件实现方案
1. 基于三大开源框架的实现
系统建立在三个成熟的开源项目之上,各司其职:
-
CTGAN (from SDV):作为核心模型库。
-
功能:提供了生成对抗网络(GAN)的基础结构,包括生成器和判别器的网络定义、以及本地训练和生成数据的基础逻辑。
-
定制化修改:对原始CTGAN代码进行了调整,以支持联邦学习环境下的隐私保护数据编码和条件向量采样。
-
-
Opacus:作为差分隐私引擎。
-
功能:负责实现记录级差分隐私。
-
集成方式:将Opacus的
PrivacyEngine
附加到判别器的Adam优化器上。这会自动实现DP-SGD所需的逐样本梯度裁剪和梯度加噪。 -
参考实现:遵循了SmartNoise的DP-CTGAN项目的修改方式,以确保与Opacus的兼容性。这些修改包括调整损失函数,并在判别器的最后一层添加了Sigmoid激活函数(如图4.7所示),以匹配算法4.2的要求。
-
-
Flower:作为联邦学习框架。
-
功能:处理所有通信、协调和聚合的分布式系统问题,让开发者能专注于算法本身。
-
2. 网络架构细节
-
生成器结构(Figure 4.8):
-
-
使用了拼接跳跃连接来提高训练效果。
-
输出层使用了不同的激活函数以处理不同类型的输出:
-
对于连续值的标量
α
,使用 Tanh 激活函数。 -
对于表示模式和离散类别的one-hot向量
β
和d
,使用 Gumbel Softmax 激活函数,这是生成离散数据的常用技巧。
-
-
3. 如何使用Flower构建联邦系统
这段文字清晰地描述了如何利用Flower的编程模型:
-
客户端(Flower Client):
-
通过实现
NumPyClient
接口来构建。 -
核心三个方法:
-
get_parameters
: 发送本地参数给服务器。 -
set_parameters
: 用服务器下发的全局参数更新本地模型。 -
fit
: 最重要的方法。接收聚合参数 -> 更新本地模型 -> 调用定制化的CTGAN的train
方法进行本地DP训练 -> 返回更新后的参数。
-
-
-
服务器策略(Flower Strategy):
-
通过定制
Strategy
类来控制系统行为。 -
两个关键方法:
-
configure_fit
: 在训练开始前,它不仅选择参与训练的客户端,还通过 Flower Criteria 机制从客户端收集信息(用于确定全局编码方案,见4.2.1节),然后将最终的编码方案下发给所有客户端。这是实现隐私编码的关键一步。 -
aggregate_fit
: 实现联邦平均算法,聚合所有客户端的模型参数,并将聚合后的结果赋给服务器端的全局生成器。
-
-
-
训练完成后:利用服务器上这个聚合后的全局生成器,就可以按照4.2.3节描述的方法生成合成数据,其中所需的条件向量同样通过Flower Criterion从客户端获取。
评估
实验设置
评估指标
合成数据的质量通常从两个维度评估:
-
效用:指合成数据替代真实数据用于下游任务(如训练分类算法)时的表现。本段重点内容。
-
保真度:指合成器保留原始数据统计特性的能力。
效用
1. 效用评估的方法论(核心框架)
评估效用的基本思想是比较两种训练模式在最终分类性能上的差异:
-
TRTR:在真实数据上训练分类器,在真实数据上测试。这代表了性能的“天花板”或理想基线。
-
TSTR:在合成数据上训练分类器,在真实数据上测试。这是评估合成数据实用性的核心方法。
具体评估流程(对应Figure 5.1):
-
分割数据:将真实数据集按80/20的比例分为训练集和测试集。
-
训练基准(TRTR):用真实训练集训练多个不同类型的分类器,并在真实测试集上评估其性能,得到一个基准分数。
-
生成数据:用待评估的合成器(如DP-Fed-CTGAN)在真实训练集上学习,并生成一个与训练集大小相同的合成数据集。
-
评估合成数据(TSTR):用合成数据训练同样的一套分类器,然后在同一个真实测试集上评估它们的性能。
-
对比分析:比较TRTR和TSTR两组结果的差异。TSTR的结果越接近TRTR,说明合成数据的效用越高。
使用的分类器:来自scikit-learn库,包括:
-
K近邻分类器
-
多层感知机
-
随机森林
-
AdaBoost提升算法
2. 效用评估的具体指标
文章详细解释了从混淆矩阵派生出的几个关键评估指标:
-
准确率:最直观的指标,但在数据类别不平衡时容易产生误导。
-
AUROC:
-
是什么:受试者工作特征曲线下面积。
-
如何生成:通过变化分类器的判定阈值,计算出对应的真阳性率(TPR) 和假阳性率(FPR),并绘制成ROC曲线,计算该曲线下的面积。
-
物理意义:模型将一个随机正样本排序高于一个随机负样本的概率。该值越接近1,模型区分能力越好。
-
-
AUPRC:
-
是什么:精确率-召回率曲线下面积。
-
适用场景:在数据高度不平衡时,这是一个比AUROC更具洞察力的指标。
-
物理意义:展示了在不同判定阈值下精确率和召回率之间的权衡关系。
-
保真度
1. 保真度的评估目标
保真度关注的是合成数据在多大程度上保留了原始数据的统计特性。这主要从两个方面考察:
-
属性值的分布:单个属性的值在合成数据中的分布是否与真实数据一致。
-
属性间的关系:不同属性之间的关联或相关性在合成数据中是否得以保持。
2. 评估属性值分布相似性的指标
文章针对不同类型的数据,采用了不同的距离度量指标:
A. 对于离散属性(分类数据)
-
使用指标:Jensen-Shannon距离
-
公式:
JSD(P, Q) = sqrt( (D_KL(P || M) + D_KL(Q || M)) / 2 )
,其中M = (P + Q)/2
,D_KL
是 Kullback-Leibler 散度。 -
特点与解释:
-
JSD是KL散度的对称平滑版本,取值范围在 [0, 1] 之间。
-
值越接近0,表示两个分布(真实数据分布P和合成数据分布Q)越相似。
-
计算所有离散列的JSD后,取平均值得到一个综合评分。
-
B. 对于连续属性(数值数据)
-
使用指标:Wasserstein-1距离,也称为推土机距离
-
原因:KL散度在两种分布没有重叠时会变得无法定义(无穷大),而Wasserstein距离即使在分布不重叠时也能有效计算,使其更加稳健。
-
直观解释:该距离衡量的是将概率分布P的“形状”转变为分布Q的“形状”所需的最小“工作量”(即概率质量需要移动的总距离)。
-
预处理:为了将所有连续属性的WD距离聚合成一个有意义的总分,作者先对每个属性进行了最小-最大归一化(对真实数据做此变换,并对合成数据应用相同的变换),以消除不同属性量纲和尺度的影响。
3. 评估属性间关系相似性的指标
为了评估合成数据是否捕捉到了属性之间的关联,文章使用了两种相关性指标:
-
对于离散属性之间的关系:使用 Cramér‘s V。
-
这是一个基于卡方检验的统计量,用于衡量两个分类变量之间的关联强度。
-
-
对于连续属性之间的关系:使用 皮尔逊相关系数。
-
这是最常用的衡量两个连续变量之间线性相关程度的指标。
-
评估方法:比较真实数据和合成数据中这些相关性矩阵的相似性。合成数据计算出的相关性与真实数据的相关性越接近,其保真度就越高。
数据集
1. 数据集来源与选择标准
-
来源:数据集来自两个知名的公开数据平台:
-
UCI机器学习仓库:选取了三个常用数据集。
-
Kaggle:选取了三个真实世界的医疗数据集。
-
-
选择标准:所有数据集都包含连续型和离散型属性,这符合表格数据合成任务的特点。其中两个数据集(Covertype, Obesity)是多分类问题,增加了任务的复杂性。
2. 数据集概述
文章通过一个表格(Table 5.1)总结了数据集的属性,并逐一进行了简要介绍:
-
Adult
-
来源:1994年美国人口普查数据库。
-
规模:48,842条记录。
-
任务:二分类,预测个人年收入是否超过5万美元。
-
特征:14个特征,如年龄、教育程度、每周工作时间等。
-
-
Bank Marketing
-
背景:葡萄牙银行的一项营销活动数据。
-
任务:二分类,预测客户是否认购了定期存款。
-
-
Covertype
-
来源:美国林务局。
-
规模:581,012条记录(数据量最大)。
-
内容:描述了罗斯福国家森林中30x30米区域的观测数据,如海拔、坡度、土壤类型等。
-
任务:多分类,预测7种森林覆盖类型中的一种。
-
-
Cardiovascular Disease
-
来源:Kaggle。
-
规模:70,000名患者记录。
-
任务:二分类,预测是否患有心血管疾病。
-
特征:11个特征,如年龄、体重、血压等。
-
-
Diabetes
-
来源:美国国立糖尿病、消化和肾脏疾病研究所。
-
规模:764条诊断测量记录(数据量最小)。
-
任务:二分类,预测患者是否患有糖尿病。
-
-
Obesity
-
来源:Kaggle,基于一篇研究论文。
-
规模:2,111个个体。
-
任务:多分类,根据饮食习惯和身体状况将个体划分为7种肥胖等级。
-
超参数
1. 对比的基线模型
文章选择了三种最先进的基于GAN的表格数据合成器作为基线进行对比:
-
CTGAN:
-
性质:非私有、集中式的基准模型。
-
来源:SDV库的原生实现。
-
超参数:使用其所有默认超参数。这代表了在数据可以集中收集的理想情况下的性能上限。
-
-
DP-CTGAN:
-
性质:差分私有、集中式的模型。
-
来源:SmartNoise Synthesizers项目。
-
特点:和DP-Fed-CTGAN一样,使用Opacus进行梯度加噪和隐私计算。
-
超参数:隐私配置(ε, δ, 噪声尺度σ)因数据集而异(见表5.2),其他超参数使用默认值。
-
-
Fed-TGAN:
-
性质:联邦式、但非差分私有的模型。
-
实现:由于作者未公开代码,本文根据论文细节进行了复现。
-
关键区别:
-
无DP保障。
-
客户端需要向服务器上报每个离散列的类别频率。这使得服务器可以自行构建条件向量,而无需向客户端征集,但隐私性更差。
-
在聚合模型参数时,会使用这些频率信息进行加权,而DP-Fed-CTGAN仅根据本地数据集大小加权。
-
-
-
Fed-CTGAN (本文的消融实验模型):
-
性质:联邦式、但非差分私有的模型。
-
目的:这是本文提出的 DP-Fed-CTGAN 的“非DP版本”。通过将其与DP-Fed-CTGAN对比,可以量化加入差分隐私保护所带来的性能损失。
-
2. 超参数选择策略
-
基本原则:由于计算资源有限,无法对所有超参数进行网格搜索和调优。
-
策略:在CTGAN默认超参数值的基础上,仅进行小幅调整。
-
记录方式:
-
最重要的超参数(如生成器和判别器的网络结构、学习率等)汇总在表5.3中。
-
数据集相关的超参数(如批次大小、联邦学习轮数)记录在GitLab仓库的Jupyter notebooks中。
-
DP相关配置(每个数据集的噪声尺度σ、δ等)汇总在表5.2中。
-
实验环境
1. 实验规模与资源需求
-
任务量:开篇就点明了需要生成 764 个 合成数据集用于评估。这个庞大的数量解释了为什么需要强大的计算资源,甚至需要将实验拆分到两个测试平台上进行。
2. 硬件环境(两个测试平台)
由于计算任务繁重,实验在两个设备上同时进行:
-
主机器(本地高性能服务器):
-
操作系统:CentOS 7
-
Python版本:3.10.11
-
CPU:两个 Intel Xeon 4210 2.2 GHz CPU
-
GPU:八块 NVIDIA GeForce RTX 2080 Ti(强大的消费级显卡,适用于大规模并行计算)
-
内存:144 GiB RAM
-
说明:这是一台性能非常强劲的本地服务器,尤其是GPU资源,非常适合深度学习的训练任务。
-
-
辅助机器(云服务器):
-
平台:Google Cloud
-
类型:虚拟机
-
操作系统:Debian 11
-
Python版本:3.10.10
-
vCPU:八个(Intel Xeon 2.3 GHz)
-
GPU:一块 NVIDIA Tesla P100(专业的数据中心级显卡)
-
内存:30 GiB RAM
-
说明:利用云平台来扩展计算能力,分担计算任务。
-
3. 软件环境
-
一致性:强调在两个测试平台上安装了完全相同版本的Python库,这是保证实验结果一致性和可重复性的关键。
-
依赖库:通过引用表5.4,列出了所有最重要的Python库(如PyTorch, Opacus, Flower, SDV, scikit-learn等)及其具体版本号。
实验结果
效用方面
1. 实验设置与目标
-
实验方法:每个实验运行5次,取更稳健的结果。
-
默认参数:除非特殊说明,默认使用3个客户端,隐私预算 ε=3。
-
核心对比:重点关注 TSTR(用合成数据训练,用真实数据测试)与 TRTR(用真实数据训练,用真实数据测试)之间的性能差异,而不是绝对值本身。
2. 主要发现(按数据集分析)
文章逐一分析了六个数据集的准确率结果(Figure 5.3a-f),并总结了以下核心发现:
-
非私有联邦方法性能最佳:
-
在所有数据集上,Fed-TGAN 和 Fed-CTGAN(即无差分隐私的联邦方法)的效用损失最小,其准确率最接近TRTR基准线,有时甚至能超越。这表明联邦学习本身并不必然导致性能下降。
-
-
差分私有方法的性能代价:
-
正如预期,加入差分隐私会带来性能代价。两种差分私有方法(DP-CTGAN 和 DP-Fed-CTGAN)的效用通常低于非私有方法。
-
DP-Fed-CTGAN vs. DP-CTGAN:在大多数情况下,本文提出的联邦差分私有方法(DP-Fed-CTGAN)与集中式差分私有方法(DP-CTGAN)表现相似或略优。在Cardiovascular Disease和Diabetes等数据集上,DP-Fed-CTGAN的准确率中位数持续高于DP-CTGAN。
-
-
集中式非私有CTGAN的中间位置:
-
没有隐私保障的集中式CTGAN的性能通常介于非私有联邦方法和差分私有方法之间。
-
-
多分类任务的挑战性:
-
对于多分类数据集(Covertype, Obesity),所有合成器的准确率都出现了显著下降。这证明了多分类任务比二分类任务更具挑战性。
-
-
类别不平衡数据集的评估复杂性:
-
对于Bank Marketing这种类别严重不平衡(88%负样本)的数据集,仅看准确率难以区分合成器优劣,因为分类器很容易通过总是预测“负类”来获得高准确率。
-
3. AUROC 和 AUPRC 指标的补充分析
由于准确率的局限性,文章进一步提供了AUROC和AUPRC的均值结果(Table 5.5, 5.6):
-
AUROC:
-
趋势一致:AUROC的结果与准确率呈现相似趋势:非私有联邦方法 > 差分私有方法。
-
DP-Fed-CTGAN的优势:在6个数据集中的4个上,DP-Fed-CTGAN的AUROC得分略高于DP-CTGAN,仅在Bank Marketing和Covertype上稍逊。
-
凸显优势:在Bank Marketing数据集上,AUROC能更好地区分不同合成器的性能,而准确率则不能。
-
DP-CTGAN的失败案例:在Diabetes数据集上,DP-CTGAN生成的数据甚至导致AUROC低于随机猜测,说明其生成的数据类别分布可能与真实分布差异很大。
-
-
AUPRC:
-
对于高度不平衡的数据集(如Bank Marketing),AUPRC是比AUROC更具信息量的指标,因为它完全忽略真负例。
-
对于平衡数据集,AUPRC值往往过于悲观。
-
保真度方面
1. 评估内容
保真度从两个层面进行评估:
-
单变量分布:合成数据中每个属性的值分布是否与真实数据一致。
-
多变量关系:合成数据中属性之间的关联或相关性是否与真实数据一致。
2. 主要发现(单变量分布)
A. 离散属性(使用Jensen-Shannon距离/JSD衡量)
-
结果:见表5.7。
-
性能排名:非私有联邦方法 (Fed-TGAN, Fed-CTGAN) > 集中式非私有方法 (CTGAN) > 差分私有方法 (DP-CTGAN, DP-Fed-CTGAN)。
-
关键发现:
-
非私有联邦方法的保真度最高,JSD值极低且相似。
-
正如预期,加入差分隐私(DP)会降低保真度,因为梯度加噪影响了模型学习的精确性。
-
DP-Fed-CTGAN vs. DP-CTGAN:在6个数据集中的5个上,DP-Fed-CTGAN的JSD值低于DP-CTGAN,表明其生成的离散属性分布更接近真实数据。
-
特例:在Covertype数据集上,两种DP方法的保真度甚至超过了CTGAN。
-
B. 连续属性(使用Wasserstein距离/WD衡量)
-
结果:见表5.8。
-
性能排名:与离散属性类似,非私有联邦方法表现最佳。
-
关键发现:
-
联邦方法(Fed-TGAN, Fed-CTGAN)的WD值显著小于集中式的CTGAN。
-
DP-Fed-CTGAN vs. DP-CTGAN:在6个数据集中的5个上,DP-Fed-CTGAN的WD值低于DP-CTGAN(Diabetes数据集除外),表明其生成的连续属性分布更接近真实数据。
-
DP-Fed-CTGAN vs. CTGAN:仅在Covertype数据集上,DP-Fed-CTGAN的保真度超过了CTGAN。
-
3. 主要发现(多变量关系)
A. 离散属性间关系(使用Cramér‘s V衡量)
-
可视化:以Adult数据集为例(Figure 5.4)。
-
关键发现:
-
保真度排名:Fed-TGAN ≈ Fed-CTGAN ≈ DP-Fed-CTGAN > CTGAN > DP-CTGAN。
-
前三种方法生成的数据,其离散属性间的关联与真实数据偏差最小。
-
CTGAN 的偏差稍大。
-
DP-CTGAN 生成的数据丢失了大部分变量间的关系,这对下游任务的效用会产生重大负面影响。
-
B. 连续属性间关系(使用皮尔逊相关系数衡量)
-
可视化:Figure 5.5。
-
关键发现:
-
最接近真实:Fed-TGAN 和 Fed-CTGAN 的相关系数与真实数据偏差最小。
-
DP-Fed-CTGAN:生成的属性间相关性普遍弱于真实数据。
-
CTGAN:生成的属性间相关性显著强于真实数据。
-
DP-CTGAN:表现最差,出现了严重的失真——原本不相关的属性变成了正相关,而原本正相关的属性却变得不相关甚至弱负相关。
-
数据独立同分布的影响
1. 实验背景与动机
-
关键差异:DP-Fed-CTGAN 与 Fed-TGAN 的一个核心区别在于服务器聚合参数时的加权策略。
-
Fed-TGAN:采用“相似性感知加权策略”,会考虑客户端每个离散列的类别频率来计算权重。作者声称这在非IID场景下特别有益。
-
DP-Fed-CTGAN:出于隐私保护,仅根据客户端的本地数据集大小来计算权重。
-
-
实验目的:探究DP-Fed-CTGAN这种故意避免上报类别频率的隐私友好设计,是否会在非IID数据分布的不利场景下,导致效用或保真度上的性能牺牲。
2. 实验设计
-
所选数据集:Cardiovascular Disease(心血管疾病数据集)。
-
构建极端非IID场景:
-
将数据集中所有负类样本(占50%)分配给一个客户端。
-
将所有正类样本分配给另外两个客户端。
-
-
对比对象:为了公平起见(避免DP带来的性能干扰),主要对比非私有的联邦方法:Fed-TGAN 和 Fed-CTGAN。
3. 实验结果与发现
-
总体影响:在这种极端非IID设置下,所有合成器的性能(效用和保真度)都显著下降。这证明了非IID数据分布对联邦学习确实是一个巨大挑战。
-
核心发现(加权策略对比):
-
Fed-CTGAN(按数据量加权)在几乎所有效用和保真度指标上都 consistently(持续地)优于 Fed-TGAN(按频率相似性加权)。
-
这个结果与Fed-TGAN作者的主张相反,表明将其加权策略实际上在这个数据集上导致了更差的性能。
-
-
DP-Fed-CTGAN的表现:
-
保真度:DP-Fed-CTGAN的保真度甚至比之前随机分配数据(IID)的实验结果略有提高,并且其WD值低于Fed-TGAN。
-
效用:其效用有所下降(这是加入DP的预期代价)。
-
结论:这表明DP-Fed-CTGAN的加权策略在非IID场景下是有效的。
-
4. 最终结论
这个实验得出了一个强有力的结论:
DP-Fed-CTGAN所采用的、更隐私友好的“按数据量加权”策略,在极端非IID场景下,其性能表现优于Fed-TGAN那套需要上报类别频率的复杂加权策略。
这意味着,DP-Fed-CTGAN成功地实现了 “鱼与熊掌兼得”:
-
更强的隐私保护:减少了攻击面,客户端无需向服务器泄露本地数据的统计特征(类别频率)。
-
更好或相当的性能:在这种具有挑战性的非IID设置下,其性能反而更优。
隐私预算ε的影响
1. 实验背景与预期
-
隐私预算ε:是差分隐私中的核心参数,ε越小,隐私保护越强,但需要添加的噪声就越多。
-
实验预期:正如理论所示,作者预计随着ε值增大(隐私约束放宽),添加的噪声减少,合成数据的质量(效用和保真度)会得到提升。本实验旨在验证这一权衡关系。
2. 实验设置
-
ε的取值范围:在对数尺度上变化,从0.1到10。这个范围覆盖了文献中常见的大小,从非常严格的隐私保护到相对宽松的保护。
-
代表数据集:以Adult和Cardiovascular Disease这两个数据集为例展示结果。
3. 实验结果与发现
A. 对效用的影响(Figure 5.6)
-
共同模式:在两个数据集上,都观察到一个明显的“拐点”。
-
在拐点之前(小ε值,强隐私保护),所有效用指标(AUROC, AUPRC, 准确率)都持续处于低位。此时噪声过大,严重影响了模型学习能力。
-
在某个临界ε值(Adult数据集≈2,Cardiovascular数据集≈0.6)之后,效用指标出现大幅提升。
-
超过拐点后,随着ε继续增大,效用只有轻微提升或趋于稳定,并伴有波动。
-
-
具体指标:
-
AUROC/AUPRC:对这些指标的影响最为显著,变化幅度大。
-
准确率:随着ε增大仅有边际改善,但波动性(不确定性)会减小。
-
B. 对保真度的影响(Figure 5.7)
-
分布保真度(JSD/WD):
-
与效用类似,保真度指标(JSD和WD)在达到各自的临界ε值(Adult≈2,Cardiovascular≈0.6)之前持续改善(距离减小)。
-
超过临界值后,没有实质性改善,甚至可能出现更差的异常值。
-
-
关系保真度(属性间关联):
-
对于属性间关系的捕捉,同样存在一个性能提升的临界区间(例如,对于Cardiovascular数据集,在ε=0.6到2之间关系保真度显著改善)。
-
一旦超过这个区间,关系保真度仅发生轻微变化。
-
4. 核心结论
这个实验清晰地描绘了 “隐私-效用”权衡曲线:
-
存在一个关键的隐私预算阈值:只有当ε大于某个值时(本例中为0.6到2之间),模型才能生成有意义的、质量较高的合成数据。低于这个值,过多的噪声会使学习过程失效。
-
收益递减:超过阈值后,再进一步放宽隐私约束(增大ε),对数据质量的提升效果非常有限。这意味着无需设置过大的ε,即可获得大部分性能收益。
-
数据集依赖性:具体的阈值因数据集而异(Adult需要ε≈2,而Cardiovascular只需ε≈0.6),这表明不同数据集的复杂性和对噪声的敏感度不同。
客户端数量
1. 实验背景与动机
-
现实模拟:该实验模拟了一个现实场景——总的训练数据量是固定的,但由越来越多的客户端所持有(例如,多家小医院,每家只有少量病人数据)。这意味着每个客户端本地数据量会随着客户端数量增加而减少。
-
实验目的:探究在这种“数据碎片化”的约束下,合成器的性能如何变化,这对于评估其在实际应用中的可行性至关重要。
2. 实验结果与发现
A. 对效用的影响(Figure 5.8)
-
总体趋势:正如预期,当客户端数量增加到一定程度后,所有方法的效用(AUROC/AUPRC)都会下降。因为每个客户端的数据量过小,GAN无法从中学习到有效的数据模式。
-
关键对比:
-
性能下降的拐点:DP-Fed-CTGAN(差分私有方法)效用开始下降的“拐点”比非私有方法更早出现(即,在客户端数量更少时性能就开始恶化)。
-
原因解释:这是因为对于更小的本地数据集,为了获得相同水平的差分隐私保证,需要在训练过程中添加相对更多的噪声,从而进一步加剧了模型学习的困难。
-
B. 对保真度的影响(Figure 5.9)
-
Adult数据集:
-
非私有方法:当客户端数量达到10个时,JSD和WD值大幅上升(保真度显著下降)。
-
DP-Fed-CTGAN:其保真度变化趋势不同,JSD和WD在客户端数量为2到5个之间甚至有下降趋势(保真度提升),之后才开始恶化。
-
-
Cardiovascular Disease数据集:
-
JSD:只有DP-Fed-CTGAN的JSD随着客户端数量增加而上升。
-
WD:非私有方法的WD从10个客户端开始明显上升(保真度下降),而DP-Fed-CTGAN没有显示出清晰的变化模式。
-
3. 核心结论
这个实验揭示了一个重要的实践性发现:
-
数据碎片化有害:在联邦学习中,客户端的“数据碎片化”问题(即总数据量不变,但持有者增多)会损害合成数据的质量。客户端数量并非越多越好。
-
差分隐私放大了挑战:差分隐私的加入加剧了数据碎片化的负面影响。由于小数据集需要添加更大比例的噪声,差分私有方法对客户端数量增加更为敏感,其性能会更早地出现下降。
-
对实际部署的指导:这个结果表明,在现实世界中部署这样的系统时,需要谨慎考虑参与方的规模。与其让大量数据量很小的客户端参与,不如让数据量达到一定规模的客户端参与,才能获得更好的整体效果。这也暗示了可能需要一个客户端选择机制。
讨论
1. 核心结论与优势总结
-
效用与保真度表现:
-
与集中式方法对比:DP-Fed-CTGAN在效用上与集中式的DP-CTGAN相当,甚至在多数数据集上更优(AUROC更高)。在保真度上,其JSD和WD值大多低于DP-CTGAN,表明其生成的数据统计特性更接近真实数据。
-
结论:在相同的差分隐私保障下,采用联邦学习并不会带来额外的性能损失。
-
-
联邦学习的额外优势:
-
解决数据孤岛:允许数据量不足的单个机构(如小医院)协同训练出高质量的生成模型。
-
隐私与合规:原始数据无需离开本地,这增强了患者的数据捐赠意愿,并更容易满足隐私法规和内部合规要求。
-
-
加权策略的胜利:
-
实验证明,在非IID场景下,DP-Fed-CTGAN所采用的简单按数据量加权的策略,性能优于Fed-TGAN那种需要上报类别频率的复杂加权策略。这验证了其隐私最小化设计的有效性。
-
-
隐私预算的权衡:
-
对于每个数据集,都存在一个隐私预算ε的饱和阈值。超过该值后,再增大ε对性能的提升微乎其微。因此,在实践中无需过度牺牲隐私来换取微小的性能增益。
-
-
客户端数量的影响:
-
当客户端数量过多(导致每个客户端数据量过少)时,性能会下降。差分私有方法对此更为敏感,因为小数据集需要添加更大强度的噪声。
-
2. 局限性与未来工作
文章也坦诚地讨论了当前工作的局限性并提出了未来的研究方向:
-
评估的局限性:
-
分类器差异:不同分类器的性能差异很大,平均分数可能产生误导。在真实应用中,会选择性能最佳的分类器并进行超参数调优。
-
数据集代表性:使用的数据集(3个通用+3个医疗)可能无法代表所有类型的数据,结论的普适性有待进一步验证。
-
超参数调优:超参数仅在CTGAN默认值上微调,未来工作应进行系统的超参数搜索(如网格搜索)。
-
-
未来的研究方向:
-
可扩展性测试:需要测试在客户端数量和数据总量持续增长的情况下,方法的可扩展性极限。
-
开发新评估指标:需要研究能更好辅助隐私-效用-保真度三方权衡的评估指标。当前的高保真度指标从隐私角度看未必总是可取的。
-
真实场景评估:在真实世界环境中评估DP-Fed-CTGAN,才能发现其更多的弱点和改进空间。
-
补充
1. 为什么需要“模式特定归一化”?
在表格数据里,连续变量(数值列) 往往不是一个简单的单峰正态分布,而是 多峰的复杂分布。
例如一列「收入」:
-
一部分人是学生,收入集中在 0–1000;
-
一部分人是普通上班族,收入集中在 3000–8000;
-
一部分人是高收入人群,集中在 20000+。
👉 这时「收入」的分布就是 多峰(multi-modal) 的,而不是单峰正态分布。
如果你直接把收入做 min-max 归一化或标准化,模型会很难学,因为它要在一个复杂的连续区间里“硬拟合”。
2. 什么是“模式”?
“模式”就是 高斯混合模型 (GMM) 拟合出来的高斯分量。
-
你用 GMM 去拟合一列「收入」的分布。
-
模型可能会拆成 3 个高斯分布(对应低收入、中等收入、高收入三类“模式”)。
-
每个高斯分布就是一个“模式 (mode)”。
所以:
-
模式选择器 β:告诉你某个数值属于哪个高斯分量。
-
模式内数值 α:在该模式下,它距离均值多少个标准差。
3. 表格数据为什么要“编码”?
因为生成模型(如 GAN, VAE, LLM for tabular)通常需要输入一个比较“规整”的向量空间。
但是原始表格数据里:
-
离散列(性别、职业、城市)是类别值,需要 one-hot 编码;
-
连续列(收入、年龄、分数)分布复杂,需要特殊处理。
👉 模式特定归一化就是专门为连续列设计的编码方式,把复杂分布的数值拆成 模式选择器 + 模式内归一化值。
这样,模型学到的不是“整个收入区间”,而是:
-
先选模式(低收入 / 中等收入 / 高收入);
-
再在模式内生成一个相对位置。
这比直接在 0–20000 上学分布要简单得多。
4. 为什么叫“归一化”?
传统归一化(如 Z-score 标准化)是让数据变成「均值=0,方差=1」的形式。
这里的“特定归一化”是指:
-
不是对整个列做归一化,而是 对模式内做归一化。
-
每个模式内的 α 值都变成“相对均值的偏移”,通常会落在一个小区间里(比如 [-1, 1])。
5. 举个例子
假设有一列「收入」:
原始值: 500, 7000, 25000
-
用 GMM 拟合,得到 3 个模式:
-
模式 1(低收入):均值 µ1=800, 方差 Σ1=100²
-
模式 2(中收入):均值 µ2=6000, 方差 Σ2=500²
-
模式 3(高收入):均值 µ3=25000, 方差 Σ3=2000²
-
-
对于一个样本 7000:
-
它最可能来自模式 2(中收入),所以 β = [0, 1, 0]
-
α = (7000 - 6000) / (4√Σ2) ≈ 0.5
-
所以这个值编码成:
α=0.5, β=[0,1,0]
-
总结
模式特定归一化就是:用 GMM 给连续变量划分模式,每个数值编码成「它属于哪个模式 (β) + 在该模式内的归一化位置 (α)」,这样能把复杂多峰分布转化为更简单的表示,方便生成模型学习。