一种基于梯度上升的隐私保护方法及系统
文献发布时间:2024-05-31 01:29:11
技术领域
本发明属于数据隐私保护领域,尤其涉及一种基于梯度上升的隐私保护方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着数字化时代的快速发展,数据量呈现爆炸性增长,而数据中往往蕴含有大量的个人隐私信息。如何在确保数据的有效利用的同时,维护用户隐私,已经成为科研界和产业界共同关心的问题。近年来,隐私保护技术得到了广泛的研究,其中,差分隐私、同态加密等技术应用逐渐成熟。但在实际应用中,如何确保一个模型在学习新数据后可以遗忘旧数据,即机器遗忘学习,仍然是一个尚未得到完美解决的难题。
在多数现有的机器学习模型中,一旦模型训练完成,即使删除了原始数据,模型仍然能够间接地保存或回溯到某些信息,可能导致隐私泄露。这使得单纯从数据存储角度出发的隐私保护方法显得不够全面。此外,为了满足新的业务需求或法律法规的要求,有时候还需要模型能够遗忘某些特定的数据。
现有的技术主要集中在两个方向。一是如何组建数字孪生网络进行数据分享,另一个是如何利用同步联邦学习进行模型分享。
随着隐私保护意识的增强,多种技术已经在机器学习领域中被提出来确保数据的隐私安全。以下为几种现有技术及其存在的不足:
1、差分隐私(Differential Privacy):差分隐私是一种通过在数据查询中加入噪音来确保隐私的技术,确保了数据集中的单个实体的添加或删除不会对查询结果产生显著影响。尽管差分隐私为数据隐私提供了强大的数学上的保障,但它也会降低数据的准确性和可用性,尤其在较小的数据集中。此外,差分隐私并未直接考虑机器遗忘学习的需求。
2、同态加密(Homomorphic Encryption):同态加密允许在加密数据上执行计算,然后解密得到与在原始数据上执行相同计算的结果相同的结果。该方法的计算成本很高,对于大规模数据或复杂的机器学习模型,可能不太实际。而且,同样地,它也没有直接解决机器遗忘学习的问题。
3、模型正则化与裁剪(Model Regularization and Pruning):通过正则化技巧,如L1和L2正则化,限制模型的复杂度,从而避免模型过于拟合某些数据特点。此外,模型裁剪可以移除模型中不必要的参数。虽然这些技术可以降低模型复杂度和大小,但它们并没有从根本上提供一种机制来确保模型能够遗忘特定的训练数据。
因此,如何对有效地使模型忘记特定数据,同时确保模型的泛化性能,并在保护用户隐私的同时,尽量降低对模型性能的影响,是目前需要解决的问题。
发明内容
为克服上述现有技术的不足,本发明提供了一种基于梯度上升的隐私保护方法及系统,采用梯度上升策略针对特定的遗忘数据进行模型参数的更新,使模型在这些数据上的性能下降,从而实现数据的遗忘;在执行梯度上升遗忘后,利用不在遗忘列表中的数据进行模型的微调,确保模型在非遗忘数据上的性能不受太大影响。
为实现上述目的,本发明的第一个方面提供一种基于梯度上升的隐私保护方法,包括:
获取用于深度学习模型训练的训练样本;
将指定遗忘的训练样本,在深度学习模型中执行前向传递,并计算损失函数的梯度;
根据所计算的损失函数的梯度通过梯度上升策略调整深度学习模型的参数,得到指定遗忘数据的深度学习模型;
采用非遗忘训练样本对所得到的指定遗忘数据的深度学习模型进行训练迭代,对指定遗忘数据的深度学习模型进行调整。
本发明的第二个方面提供一种基于梯度上升的隐私保护系统,包括:
获取模块:获取用于深度学习模型训练的训练样本;
计算模块:将指定遗忘的训练样本,在深度学习模型中执行前向传递,并计算损失函数的梯度;
遗忘训练模块:根据所计算的损失函数的梯度通过梯度上升策略调整深度学习模型的参数,得到指定遗忘数据的深度学习模型;
调整模块:采用非遗忘训练样本对所得到的指定遗忘数据的深度学习模型进行训练迭代,对指定遗忘数据的深度学习模型进行调整。
本发明的第三个方面提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行一种基于梯度上升的隐私保护方法。
本发明的第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行一种基于梯度上升的隐私保护方法。
以上一个或多个技术方案存在以下有益效果:
在本发明中,采用梯度上升策略针对特定的遗忘数据进行模型参数的更新,使模型在这些数据上的性能下降,从而实现数据的遗忘;在执行梯度上升遗忘后,利用不在遗忘列表中的数据进行模型的微调,确保模型在非遗忘数据上的性能不受太大影响。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例一中一种基于梯度上升的隐私保护方法系统框架图;
图2为本发明实施例一中一种基于梯度上升的隐私保护方法流程图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
术语解释:
Machine Unlearning:机器遗忘(Machine Unlearning)是指在机器学习中,通过对已学习的模型进行修改或删除,从而使其忘记之前的知识和经验。
Gradient Descent(GD):梯度下降(Gradient Descent GD)简单来说就是一种寻找目标函数最小化的方法,它利用梯度信息,通过不断迭代调整参数来寻找合适的目标值。
Gradient Assent(GA):与梯度下降相反,梯度上升是一种寻找函数的局部最大值或全局最大值的方法。
Privacy Preservation:隐私保护指在数据处理、传输和存储过程中保护个人隐私信息不被泄露的技术和措施。
实施例一
本实施例公开了一种基于梯度上升的隐私保护方法,包括:
获取用于深度学习模型训练的训练样本;
将指定遗忘的训练样本,在深度学习模型中执行前向传递,并计算损失函数的梯度;
根据所计算的损失函数的梯度通过梯度上升策略调整深度学习模型的参数,得到指定遗忘数据的深度学习模型;
采用非遗忘训练样本对所得到的指定遗忘数据的深度学习模型进行训练迭代,对指定遗忘数据的深度学习模型进行调整。
如图1所示,在本实施例中,一种基于梯度上升的隐私保护方法具体包括:
1、数据标识和分组
在模型的训练过程中,为每个训练数据提供唯一的标识符;
根据用户的需求或数据的属性,将数据分组并存储相关的标识符;
这种结构化的数据标记可以确保在后续的遗忘阶段,可以精确地定位到要遗忘的数据。
具体的:对每个训练样本的内容使用SHA-256哈希函数,得到一个256位长的唯一标识符,这确保了相同的数据内容始终对应相同的标识符。
用SQLite数据库存储每个训练样本与其对应的哈希标识符,这允许快速检索和定位指定的训练数据。
2、梯度上升优化
选取需要遗忘的数据子集,并为其计算损失函数的梯度;
不同于传统的梯度下降,本实施例将利用这些梯度并通过梯度上升策略调整模型的参数。具体来说,会更新模型的参数以最大化与遗忘数据相关的损失。
这一步的关键是反向优化模型,使其在特定的数据子集上的性能恶化,从而实现遗忘效果。
具体的,损失函数:使用交叉熵损失函数,因为它适用于分类问题并提供了良好的数学性质。
梯度计算:对指定要遗忘的数据集执行一次前向传递,然后计算损失函数关于模型参数的梯度。
参数更新:使用学习率为0.01的随机梯度上升策略,将计算出的梯度加到模型参数上。执行此更新5次,确保模型在遗忘数据上的性能明显下降。
3、模型微调
在完成梯度上升后,可能会出现模型在其他数据上的性能受到一定的影响。
为了弥补这一点,将从未被遗忘的数据集中抽取一个子集,对模型进行微调。通过几次迭代,可以确保模型对其他非遗忘数据的泛化性能不受影响。
这一步确保了即使在遗忘某些数据后,模型的整体性能也能得到维护。
具体的,数据采样:从剩余的非遗忘训练数据中随机抽取80%,用于微调。
参数调整:使用Adam优化器和0.001的学习率执行梯度下降,确保模型在其他数据上的性能不降低。
迭代次数:执行微调的迭代次数为50轮,每轮都采用完整的抽样数据。
4、验证与审查
使用特定的评价指标来验证模型是否成功遗忘了指定的数据。例如,通过计算被遗忘数据的准确率或其他相关指标,以验证遗忘效果。
同时对模型在其他数据上的表现进行评估,以确保整体性能没有显著下降。
可以考虑使用混淆矩阵、ROC曲线等工具来进行详细的性能评估。
本技术方案结合了梯度上升的优化技巧与传统的模型微调方法,形成了一个全面、精确且高效的机器遗忘策略。这不仅确保了特定数据被有效地从模型中遗忘,而且还维持了模型的整体性能。
具体的,评估数据集:使用一个独立的数据集,其中包含一半的遗忘数据和一半的非遗忘数据。
性能指标:用准确率、召回率和F1得分来衡量模型的性能。对于遗忘数据,准确率低于5%被视为成功遗忘。
测试:对每一个遗忘任务后,都使用此独立数据集来测试模型的性能,确保模型在非遗忘数据上的性能保持在可接受范围内,同时在遗忘数据上的性能大幅下降。
下面结合图2说明本实施方案的工作流程:
步骤1:数据预处理
输入原始数据;
使用SHA-256哈希函数为每个训练样本生成标识符;
将样本数据和其哈希标识符存储到SQLite数据库中。
步骤2:模型训练
加载数据库中的训练数据;
使用标准的神经网络架构和交叉熵损失函数进行模型训练;
保存训练后的模型参数。
步骤3:遗忘请求处理
接收用户的遗忘请求,这通常包括需要遗忘的数据样本;
使用哈希函数找到这些样本的标识符,并在数据库中定位它们。
步骤4:梯度上升遗忘
加载指定要遗忘的数据;
执行梯度上升策略,使模型在这些数据上的性能下降;
保存更新后的模型参数。
步骤5:模型微调
从数据库中随机选择不在遗忘列表中的数据;
对模型进行微调,以恢复可能受到影响的性能。
步骤6:性能验证
使用独立的测试数据集验证模型的性能;
确保在遗忘数据上的性能达到要求,同时在其他数据上的性能不受太大影响。
步骤7:反馈/输出
提供模型性能的报告;
如果需要,对模型进行进一步的微调或遗忘操作。
实施例二
本实施例的目的是提供一种基于梯度上升的隐私保护系统,包括:
获取模块:获取用于深度学习模型训练的训练样本;
计算模块:将指定遗忘的训练样本,在深度学习模型中执行前向传递,并计算损失函数的梯度;
遗忘训练模块:根据所计算的损失函数的梯度通过梯度上升策略调整深度学习模型的参数,得到指定遗忘数据的深度学习模型;
调整模块:采用非遗忘训练样本对所得到的指定遗忘数据的深度学习模型进行训练迭代,对指定遗忘数据的深度学习模型进行调整。
实施例三
本实施例的目的是提供一种计算装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
实施例四
本实施例的目的是提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行上述方法的步骤。
以上实施例二、三和四的装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
- 一种基于梯度扰动的联邦学习数据隐私保护方法及系统
- 一种基于梯度扰动的联邦学习数据隐私保护方法及系统