一种面向联邦学习的机器遗忘验证方法及系统与流程

摘要: 本发明涉及人工智能安全,尤其涉及一种面向联邦学习的机器遗忘验证方法及系统。背景技术:1、随着大数据的广泛应用,数据主体权益保护愈发受到重视,用户“被遗忘权”成为...
一种面向联邦学习的机器遗忘验证方法及系统与流程

本发明涉及人工智能安全,尤其涉及一种面向联邦学习的机器遗忘验证方法及系统。

背景技术:

1、随着大数据的广泛应用,数据主体权益保护愈发受到重视,用户“被遗忘权”成为机器学习系统必须满足的合规要求。机器遗忘(machine unlearning)技术旨在从已训练模型中移除特定数据的影响,使其行为如同从未见过该数据。

2、在联邦学习的场景下,客户端将本地数据保留在本地、仅上传模型更新(如梯度)至服务端,服务端结合fedavg等聚合算法生成全局模型,实现分布式训练的数据隐私保护。由于遗忘操作需要精准定位目标数据对模型的影响范围,但服务端无法接触原始数据,也难以追溯某条数据来自哪个客户端或哪轮训练,导致联邦学习的分布式隐私保护特性与机器遗忘的可验证性之间存在本质冲突。

3、在集中式机器学习即服务(mlaas)场景下,现有方案通过可信执行环境(tee)构建了可验证的遗忘框架(proof of unlearning, poul),有效防止了服务端伪造遗忘行为。

4、然而,该方案严重依赖tee硬件,基于tee的方案要求所有客户端具备硬件级安全模块,在物联网(iot)等边缘设备场景下,边缘设备资源受限,大规模部署tee的成本过高,导致传统方案的普适性不足。

技术实现思路

1、本发明实施例提供了一种面向联邦学习的机器遗忘验证方法及系统,能够解决联邦学习下的遗忘验证依赖tee硬件,导致部署成本高的问题,降低联邦数据遗忘场景的硬件部署成本。

2、本发明一实施例提供了一种面向联邦学习的机器遗忘验证方法,适用于机器遗忘验证系统中的服务端;所述机器遗忘验证系统,还包括:客户端和第三方审计;

3、所述机器遗忘验证方法,包括:

4、接收客户端发起的数据遗忘请求;

5、根据所述数据遗忘请求,生成若干解释性查询样本;

6、将各解释性查询样本发送至客户端,以使客户端基于本地留存数据和本地模型,根据各解释性查询样本,计算得到解释性指标,并将所述解释性指标发送至服务端;

7、对所述解释性指标进行有效性验证,在验证通过的情况下,通过反向聚合算法调整待遗忘模型的参数,生成已遗忘模型;其中,所述待遗忘模型与客户端的本地模型参数一致;

8、接收第三方审计提供的测试样本;

9、基于所述测试样本,计算待遗忘模型与已遗忘模型对相同输入的输出余弦相似度,并接收客户端反馈的遗忘后的解释性指标,比对所述解释性指标与所述遗忘后的解释性指标的指标变化率,在所述输出余弦相似度不超过预设相似度阈值,且所述指标变化率不小于预设变化阈值的情况下,判定遗忘有效。

10、进一步的,根据所述数据遗忘请求,生成若干解释性查询样本,包括:

11、在接收到所述数据遗忘请求的情况下,获取发起数据遗忘请求的客户端在联邦学习训练阶段的历史模型更新参数;

12、将所述历史模型更新参数和高斯随机噪声输入至预训练好的条件生成网络,生成若干解释性查询样本。

13、进一步的,所述条件生成网络通过以下方式得到:

14、获取若干客户端的历史模型更新参数以及经过联邦学习的全局模型参数;

15、构建待训练的对抗生成网络;所述对抗生成网络包括:梯度判别器和生成器;

16、将若干客户端的历史模型更新参数以及所述全局模型参数输入至待训练的对抗生成网络,以使对抗生成网络进行交替迭代训练;在每一次迭代过程中,基于单个客户端的历史模型更新参数,构建条件向量;基于所述条件向量与全局模型参数,分别计算条件对抗损失与梯度一致性损失;对条件对抗损失与梯度一致性损失进行加权融合,得到总损失函数,并根据所述总损失函数交替调整梯度判别器和生成器的参数,直至预设指标收敛,得到训练好的对抗生成网络;所述预设指标包括:生成样本梯度与对应客户端历史模型更新参数的平均余弦相似度、生成样本梯度l2范数与对应客户端历史模型更新参数平均范数的比值以及梯度判别器对正负样本的分类准确率;

17、基于训练好的对抗生成网络中生成器的参数,得到所述条件生成网络。

18、进一步的,所述解释性指标,包括:各输入特征的shap值和梯度敏感性;

19、所述基于本地留存数据和本地模型,根据各解释性查询样本,计算得到解释性指标,包括:

20、从预设全局特征集中生成若干特征子集;

21、采用本地留存数据的特征均值,对各特征子集内未选取的特征进行基线填充,并将填充完成的特征子集输入至本地模型,得到各特征子集对应的模型预测结果;

22、基于各特征子集的模型预测结果,计算得到各输入特征的shap值;

23、将各解释性查询样本输入至本地模型,基于反向传播计算各输入特征对模型损失函数的偏导梯度;

24、对于每一输入特征,对输入特征在各解释性查询样本上的偏导梯度绝对值求取平均值,得到对应输入特征的梯度敏感性。

25、进一步的,对所述解释性指标进行有效性验证,包括:

26、对各输入特征的shap值和梯度敏感性分别进行标准化处理,得到标准化后的shap值和梯度敏感性;

27、对于每一解释性查询样本,基于标准化后的shap值和梯度敏感性,结合预设融合权重系数,计算得到单样本综合贡献度;

28、根据所有解释性查询样本的单样本综合贡献度,得到综合贡献度分布;

29、对所述综合贡献度分布和预期综合贡献度分布进行分布一致性检验,得到显著性概率值;其中,所述预期综合贡献度分布为服务端预先基于下发至客户端的全部解释性查询样本离线计算得到;

30、在显著性概率值小于预设置信度阈值的情况下,判定验证未通过,否则,判定验证通过。

31、进一步的,通过反向聚合算法调整待遗忘模型的参数,生成已遗忘模型,包括:

32、获取联邦学习过程中各客户端的贡献权重;

33、将待遗忘模型所对应的客户端的贡献权重置为零;

34、对所有非遗忘客户端的贡献权重进行归一化处理,得到调整后的贡献权重;其中,所述非遗忘客户端为除待遗忘模型所对应的客户端以外的其余客户端;

35、基于各非遗忘客户端调整后的贡献权重,对各非遗忘客户端上传的本地模型的参数进行加权聚合,得到已遗忘模型。

36、进一步的,机器遗忘验证方法,还包括:

37、在所述输出余弦相似度超过预设相似度阈值,或所述指标变化率小于预设变化阈值的情况下,判定遗忘无效。

38、进一步的,机器遗忘验证方法,还包括:

39、将遗忘判别结果发送至第三方审计,以使第三方审计基于遗忘判别结果,生成审计结果报告;所述遗忘判别结果包括:遗忘有效或遗忘无效。

40、在上述方法项实施例的基础上,本发明对应提供了系统项实施例,包括:服务端、客户端和第三方审计;

41、所述客户端,用于向服务端发起数据遗忘请求;

42、所述服务端,用于接收客户端发起的数据遗忘请求;根据所述数据遗忘请求,生成若干解释性查询样本;将各解释性查询样本发送至客户端;

43、所述客户端,还用于基于本地留存数据和本地模型,根据各解释性查询样本,计算得到解释性指标,并将所述解释性指标发送至服务端;

44、所述服务端,还用于对所述解释性指标进行有效性验证,在验证通过的情况下,通过反向聚合算法调整待遗忘模型的参数,生成已遗忘模型;其中,所述待遗忘模型与客户端的本地模型参数一致;

45、所述第三方审计,用于向服务端提供测试样本;

46、所述服务端,还用于接收第三方审计提供的测试样本;基于所述测试样本,计算待遗忘模型与已遗忘模型对相同输入的输出余弦相似度,并接收客户端反馈的遗忘后的解释性指标,比对所述解释性指标与所述遗忘后的解释性指标的指标变化率,在所述输出余弦相似度不超过预设相似度阈值,且所述指标变化率不小于预设变化阈值的情况下,判定遗忘有效。

47、进一步的,所述服务端,根据所述数据遗忘请求,生成若干解释性查询样本,包括:

48、在接收到所述数据遗忘请求的情况下,获取发起数据遗忘请求的客户端在联邦学习训练阶段的历史模型更新参数;

49、将所述历史模型更新参数和高斯随机噪声输入至预训练好的条件生成网络,生成若干解释性查询样本。

50、进一步的,所述条件生成网络通过以下方式得到:

51、获取若干客户端的历史模型更新参数以及经过联邦学习的全局模型参数;

52、构建待训练的对抗生成网络;所述对抗生成网络包括:梯度判别器和生成器;

53、将若干客户端的历史模型更新参数以及所述全局模型参数输入至待训练的对抗生成网络,以使对抗生成网络进行交替迭代训练;在每一次迭代过程中,基于单个客户端的历史模型更新参数,构建条件向量;基于所述条件向量与全局模型参数,分别计算条件对抗损失与梯度一致性损失;对条件对抗损失与梯度一致性损失进行加权融合,得到总损失函数,并根据所述总损失函数交替调整梯度判别器和生成器的参数,直至预设指标收敛,得到训练好的对抗生成网络;所述预设指标包括:生成样本梯度与对应客户端历史模型更新参数的平均余弦相似度、生成样本梯度l2范数与对应客户端历史模型更新参数平均范数的比值以及梯度判别器对正负样本的分类准确率;

54、基于训练好的对抗生成网络中生成器的参数,得到所述条件生成网络。

55、进一步的,所述解释性指标,包括:各输入特征的shap值和梯度敏感性;

56、所述客户端,基于本地留存数据和本地模型,根据各解释性查询样本,计算得到解释性指标,包括:

57、从预设全局特征集中生成若干特征子集;

58、采用本地留存数据的特征均值,对各特征子集内未选取的特征进行基线填充,并将填充完成的特征子集输入至本地模型,得到各特征子集对应的模型预测结果;

59、基于各特征子集的模型预测结果,计算得到各输入特征的shap值;

60、将各解释性查询样本输入至本地模型,基于反向传播计算各输入特征对模型损失函数的偏导梯度;

61、对于每一输入特征,对输入特征在各解释性查询样本上的偏导梯度绝对值求取平均值,得到对应输入特征的梯度敏感性。

62、进一步的,所述服务端,对所述解释性指标进行有效性验证,包括:

63、对各输入特征的shap值和梯度敏感性分别进行标准化处理,得到标准化后的shap值和梯度敏感性;

64、对于每一解释性查询样本,基于标准化后的shap值和梯度敏感性,结合预设融合权重系数,计算得到单样本综合贡献度;

65、根据所有解释性查询样本的单样本综合贡献度,得到综合贡献度分布;

66、对所述综合贡献度分布和预期综合贡献度分布进行分布一致性检验,得到显著性概率值;其中,所述预期综合贡献度分布为服务端预先基于下发至客户端的全部解释性查询样本离线计算得到;

67、在显著性概率值小于预设置信度阈值的情况下,判定验证未通过,否则,判定验证通过。

68、进一步的,所述服务端,通过反向聚合算法调整待遗忘模型的参数,生成已遗忘模型,包括:

69、获取联邦学习过程中各客户端的贡献权重;

70、将待遗忘模型所对应的客户端的贡献权重置为零;

71、对所有非遗忘客户端的贡献权重进行归一化处理,得到调整后的贡献权重;其中,所述非遗忘客户端为除待遗忘模型所对应的客户端以外的其余客户端;

72、基于各非遗忘客户端调整后的贡献权重,对各非遗忘客户端上传的本地模型的参数进行加权聚合,得到已遗忘模型。

73、进一步的,所述服务端,还用于在所述输出余弦相似度超过预设相似度阈值,或所述指标变化率小于预设变化阈值的情况下,判定遗忘无效。

74、进一步的,所述服务端,还用于将遗忘判别结果发送至第三方审计;

75、所述第三方审计,还用于基于遗忘判别结果,生成审计结果报告;所述遗忘判别结果包括:遗忘有效或遗忘无效。

76、与现有技术相比,本方案实施例的有益效果在于:

77、本发明通过客户端发起数据遗忘请求,服务端接收到数据遗忘请求后,生成覆盖该客户端数据特征分布的若干解释性查询样本,并将各解释性查询样本发送至客户端;客户端基于本地留存数据和本地模型,根据各解释性查询样本,计算得到解释性指标,通过本地测算反映模型预测结果受客户端本地数据特征的影响权重,并将解释性指标发送至服务端,不上传原始本地数据,保护用户数据隐私不外泄;服务端对解释性指标进行有效性验证,在验证通过的情况下,通过反向聚合算法调整待遗忘模型的参数,生成已遗忘模型;其中,待遗忘模型与客户端的本地模型参数一致;服务端接收第三方审计提供的测试样本,并基于测试样本,计算待遗忘模型与已遗忘模型对相同输入的输出余弦相似度,用于从全局模型输出分布层面验证模型整体预测逻辑是否发生变更,并接收客户端反馈的遗忘后的解释性指标,比对解释性指标与遗忘后的解释性指标的指标变化率,用于从客户端特征层面验证模型对该用户数据的记忆是否消退,在输出余弦相似度不超过预设相似度阈值,且指标变化率不小于预设变化阈值的情况下,判定遗忘有效,整个过程无需tee硬件搭建可信隔离审计环境,从而解决了联邦学习下的遗忘验证依赖tee硬件,导致部署成本高的问题,降低了联邦数据遗忘场景的硬件部署成本。