一种数据生成方法及装置与流程

文档序号:23383401发布日期:2020-12-22 13:47阅读:95来源:国知局
一种数据生成方法及装置与流程

本发明涉及差分隐私技术领域,尤其涉及一种数据生成方法及装置。



背景技术:

差分隐私是现有较为前沿的数据脱敏技术,其根本思想是通过向原始数据加入噪声后,使得数据不可通过分析,获得数据中用户的实际信息,即模糊数据的唯一指向性,从而满足ε-差分隐私。ε代表隐私保护水平,ε越大模糊原数据的程度越大,当数据集较大,涉及到局部多种隐私保护水平时,会极大增加差分隐私算法的设计难度。

目前对一个数据集做差分隐私保护时,是根据数据的特性,人为分析得到一个隐私保护水平ε的值,基于ε对数据集加噪声。然而数据集是流动的,当数据集更新时,如加入了与原数据集隐私保护水平不同的新数据集,则需要重新设计隐私保护水平。人为分析很难及时、准确地设计做到这一点。这是因为当隐私保护程度过高时,严格的差分隐私算法将原始数据的可用性破坏。隐私保护程度过低又容易被共谋攻击等方式进行破解。这是一个亟待解决的问题。



技术实现要素:

本发明提供一种数据生成方法及装置,解决了现有技术中难以设计准确的差分隐私保护水平的问题。

第一方面,本发明提供一种数据生成方法,包括:通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集;所述第一对抗模型包括生成器和鉴别器;所述第一中间数据集为所述第一对抗模型训练完毕时被判定为所述初始数据集的数据集、所述第二中间数据集为所述第一对抗模型训练完毕时被判定为所述虚拟数据集的数据集;通过所述第一中间数据集和所述第二中间数据集完成对第二对抗模型的训练后,得到所述第二对抗模型输出的第三中间数据集;所述第二对抗模型包括所述鉴别器和差分隐私标识器;所述差分隐私标识器用于确定所述第一中间数据集是否符合差分隐私要求;所述鉴别器还用于在所述第一中间数据集不符合所述差分隐私要求时,更新所述第一中间数据集;所述第三中间数据集为所述第二对抗模型训练完毕时的所述第一中间数据集;若满足终态收敛条件,则根据所述第三中间数据集,获得所述初始数据集的终态数据集。

上述方法中,通过训练第一对抗模型,使得生成器和鉴别器形成对抗,既考虑了所述生成器生成有效伪装所述初始数据集的所述虚拟数据集的生成性能,又考虑了鉴别器有效鉴别所述初始数据集和所述虚拟数据集的鉴别性能,进一步地,可以通过第二对抗模型,使得所述鉴别器和差分隐私标识器形成对抗,从而加入了隐私差分要求的考虑,并在满足所述终态收敛条件的情况下,根据所述第三中间数据集,获得终态数据集,从而通过第一对抗模型、第二对抗模型自适应地生成满足所述差分隐私要求的终态数据集。

可选的,针对所述初始数据集的任一子初始数据集,将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集;将所述子初始数据集和所述子虚拟数据集输入至所述鉴别器,判定得到第一过程数据集和第二过程数据集;所述第一过程数据集为被所述鉴别器判定为所述子初始数据集的数据集;所述第二过程数据集为被所述鉴别器判定为所述子虚拟数据集的数据集;根据所述第一过程数据集、所述子初始数据集和所述子虚拟数据集,获得第一损失函数值和第二损失函数值;所述第一损失函数值表征了所述第一过程数据集中抽取的数据为所述初始数据集中数据的准确性;所述第二损失函数值表征了所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的准确性;若满足第一对抗收敛条件,则将所述第一过程数据集作为所述第一中间数据集的第一子中间数据集,将所述第二过程数据集作为所述第二中间数据集的第二子中间数据集;否则,根据所述第一损失函数值和所述第二损失函数值,调整所述生成器的训练参数和所述鉴别器的训练参数,并将所述第一过程数据集作为所述初始数据集的子初始数据集,返回所述“将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集”的步骤,从而更新所述子初始数据集和所述子虚拟数据集,继续迭代训练。

上述方法中,通过将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集,以及根据所述第一过程数据集、所述子初始数据集和所述子虚拟数据集,获得第一损失函数值和第二损失函数值,并根据所述第一损失函数值和所述第二损失函数值,调整所述生成器的训练参数和所述鉴别器的训练参数,直至满足第一对抗收敛条件,从而通过所述鉴别器和所述生成器的对抗,得到更准确的第一中间数据集和第二中间数据集。

可选的,所述第一损失函数值具体为:所述第一过程数据集中抽取的数据为所述初始数据集中数据的期望值;所述第二损失函数值具体为:所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的期望值。

上述方法中,期望值可以更准确地表征抽取的数据为所述初始数据集中数据的准确性,从而可以更准确地训练出所述第一对抗模型。

可选的,所述通过所述第一中间数据集和所述第二中间数据集完成对第二对抗模型的训练后,得到所述第二对抗模型输出的第三中间数据集,包括:针对所述第一中间数据集中任一第一子中间数据集以及所述第二中间数据集中任一第二子中间数据集,执行以下步骤:将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求;若满足所述差分隐私要求,则将所述第一子中间数据集作为所述第三中间数据集的第三子中间数据集;若不满足所述差分隐私要求,且不满足第二对抗收敛条件,则根据所述第一子中间数据集、所述初始数据集和所述虚拟数据集,获得第三损失函数值和第四损失函数值;所述第三损失函数值表征了所述第一子中间数据集中抽取的数据为所述初始数据集中数据的准确性;所述第四损失函数值表征了所述第二子中间数据集中抽取的数据为所述初始数据集中数据的准确性;根据所述第三损失函数值和所述第四损失函数值,调整所述鉴别器的训练参数;若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数;根据调整了训练参数后的所述鉴别器,或者根据调整了训练参数后的所述鉴别器以及调整了训练参数后的所述差分隐私识别模型,重新对所述第一子中间数据集和所述第二子中间数据集判别,从而更新所述第一子中间数据集和所述第二子中间数据集,返回所述“将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求”的步骤,从而继续迭代训练。

上述方式下,通过将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求,并进一步地根据所述第三损失函数值和所述第四损失函数值,调整所述鉴别器的训练参数,直至满足所述差分隐私要求,通过第二对抗模型,自适应地得到更为准确、合适的所述差分隐私要求,进一步得到准确的终态数据集。

可选的,所述第三损失函数值具体为:所述第一子中间数据集中抽取的数据为所述初始数据集中数据的期望值;所述第四损失函数值具体为:所述第一子中间数据集中抽取的数据为所述虚拟数据集中数据的期望值。

上述方法中,期望值可以更准确地表征抽取的数据为所述初始数据集中数据的准确性,从而可以更准确地训练出所述第二对抗模型。

可选的,所述若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数,包括:若连续地更新所述第一子中间数据集和所述第二子中间数据集的累计次数大于或等于n次,则根据所述第三损失函数值和所述第四损失函数值,调整所述差分隐私识别器的训练参数;n为正整数。

上述方式下,累计次数大于或等于n次才调整所述差分隐私识别器的训练参数,从而可以更能激发所述鉴别器的性能,更准确地得到合适的所述第三中间数据集。

可选的,所述若满足终态收敛条件,则根据所述第三中间数据集,获得所述初始数据集的终态数据集,包括:将所述第三中间数据集,作为所述初始数据集的终态数据集;将所述第三中间数据集输入所述第一对抗模型中的所述生成器,将所述生成器输出的所述虚拟数据集,作为所述初始数据集的终态数据集。

上述方式下,通过将所述第三中间数据集,作为所述初始数据集的终态数据集,或者输入所述第一对抗模型中的所述生成器,得到终态数据集,从而增加了所述初始数据集的终态数据集生成的灵活性。

第二方面,本发明提供一种数据生成装置,包括:生成模块,用于通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集;所述第一对抗模型包括生成器和鉴别器;所述第一中间数据集为所述第一对抗模型训练完毕时被判定为所述初始数据集的数据集、所述第二中间数据集为所述第一对抗模型训练完毕时被判定为所述虚拟数据集的数据集;处理模块,用于通过所述第一中间数据集和所述第二中间数据集完成对第二对抗模型的训练后,得到所述第二对抗模型输出的第三中间数据集;所述第二对抗模型包括所述鉴别器和差分隐私标识器;所述差分隐私标识器用于确定所述第一中间数据集是否符合差分隐私要求;所述鉴别器还用于在所述第一中间数据集不符合所述差分隐私要求时,更新所述第一中间数据集;所述第三中间数据集为所述第二对抗模型训练完毕时的所述第一中间数据集;以及用于若满足终态收敛条件,则根据所述第三中间数据集,获得所述初始数据集的终态数据集。

可选的,所述生成模块具体用于:针对所述初始数据集的任一子初始数据集,将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集;将所述子初始数据集和所述子虚拟数据集输入至所述鉴别器,判定得到第一过程数据集和第二过程数据集;所述第一过程数据集为被所述鉴别器判定为所述子初始数据集的数据集;所述第二过程数据集为被所述鉴别器判定为所述子虚拟数据集的数据集;根据所述第一过程数据集、所述子初始数据集和所述子虚拟数据集,获得第一损失函数值和第二损失函数值;所述第一损失函数值表征了所述第一过程数据集中抽取的数据为所述初始数据集中数据的准确性;所述第二损失函数值表征了所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的准确性;若满足第一对抗收敛条件,则将所述第一过程数据集作为所述第一中间数据集的第一子中间数据集,将所述第二过程数据集作为所述第二中间数据集的第二子中间数据集;否则,根据所述第一损失函数值和所述第二损失函数值,调整所述生成器的训练参数和所述鉴别器的训练参数,并将所述第一过程数据集作为所述初始数据集的子初始数据集,返回所述“将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集”的步骤,从而更新所述子初始数据集和所述子虚拟数据集,继续迭代训练。

可选的,所述第一损失函数值具体为:所述第一过程数据集中抽取的数据为所述初始数据集中数据的期望值;所述第二损失函数值具体为:所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的期望值。

可选的,所述处理模块具体用于:针对所述第一中间数据集中任一第一子中间数据集以及所述第二中间数据集中任一第二子中间数据集,执行以下步骤:将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求;若满足所述差分隐私要求,则将所述第一子中间数据集作为所述第三中间数据集的第三子中间数据集;若不满足所述差分隐私要求,且不满足第二对抗收敛条件,则根据所述第一子中间数据集、所述初始数据集和所述虚拟数据集,获得第三损失函数值和第四损失函数值;所述第三损失函数值表征了所述第一子中间数据集中抽取的数据为所述初始数据集中数据的准确性;所述第四损失函数值表征了所述第二子中间数据集中抽取的数据为所述初始数据集中数据的准确性;根据所述第三损失函数值和所述第四损失函数值,调整所述鉴别器的训练参数;若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数;根据调整了训练参数后的所述鉴别器,或者根据调整了训练参数后的所述鉴别器以及调整了训练参数后的所述差分隐私识别模型,重新对所述第一子中间数据集和所述第二子中间数据集判别,从而更新所述第一子中间数据集和所述第二子中间数据集,返回所述“将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求”的步骤,从而继续迭代训练。

可选的,所述第三损失函数值具体为:所述第一子中间数据集中抽取的数据为所述初始数据集中数据的期望值;所述第四损失函数值具体为:所述第一子中间数据集中抽取的数据为所述虚拟数据集中数据的期望值。

可选的,所述处理模块具体用于:若连续地更新所述第一子中间数据集和所述第二子中间数据集的累计次数大于或等于n次,则根据所述第三损失函数值和所述第四损失函数值,调整所述差分隐私识别器的训练参数;n为正整数。

可选的,所述处理模块具体用于:将所述第三中间数据集,作为所述初始数据集的终态数据集;将所述第三中间数据集输入所述第一对抗模型中的所述生成器,将所述生成器输出的所述虚拟数据集,作为所述初始数据集的终态数据集。

可选的,所述处理模块还用于:若不满足所述终态收敛条件,则将所述第三中间数据集作为所述初始数据集,返回所述“通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集”的步骤,从而继续执行迭代训练。

上述第二方面及第二方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。

第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。

第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据生成方法对应的流程示意图;

图2为本发明实施例提供的一种数据生成方法可应用的系统架构示意图;

图3为本发明实施例提供的一种数据生成方法对应的具体流程示意图;

图4为本发明实施例提供的一种数据生成装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

目前对一个数据集做差分隐私保护时,是根据数据的特性,人为分析得到一个差分隐私保护水平ε的值,基于ε对数据集加噪声。然而人为分析很难及时、准确地设计出合理的差分隐私保护水平。为此,如图1所示,本申请提供一种数据生成方法。

步骤101:通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集。

步骤102:通过所述第一中间数据集和所述第二中间数据集完成对第二对抗模型的训练后,得到所述第二对抗模型输出的第三中间数据集。

步骤103:若满足终态收敛条件,则根据所述第三中间数据集,获得所述初始数据集的终态数据集。

步骤101~步骤103所述的方法中,所述第一对抗模型包括生成器和鉴别器;所述生成器用于根据所述初始数据集生成虚拟数据集;所述鉴别器用于判定输入所述鉴别器中的数据是所述初始数据集中的数据或所述虚拟数据集中的数据;所述第一中间数据集为所述第一对抗模型训练完毕时被判定为所述初始数据集的数据集、所述第二中间数据集为所述第一对抗模型训练完毕时被判定为所述虚拟数据集的数据集。

所述第二对抗模型包括所述鉴别器和差分隐私标识器;所述差分隐私标识器用于确定所述第一中间数据集是否符合差分隐私要求;所述鉴别器还用于在所述第一中间数据集不符合所述差分隐私要求时,更新所述第一中间数据集;所述第三中间数据集为所述第二对抗模型训练完毕时的所述第一中间数据集。

需要说明的是,步骤101~步骤103所述的方法可以迭代多轮循环执行。在每一轮迭代执行的过程中,第一对抗模型训练完毕后,生成器在本轮迭代时不变,而鉴别器还要参与本轮迭代过程中第二对抗模型的训练,鉴别器还会在第二对抗模型的训练过程中发生变化。初始数据集可以是全量数据集,也可以是全量数据集的一部分。因此可以先对全量数据集的一部分进行训练,也可以全量数据集在一起训练。

举例来说,初始数据集为a0,第一对抗模型为m1,第一对抗模型训练完毕时,所述第一对抗模型中的生成器为m1-1,所述第一对抗模型中的鉴别器为m1-2;生成器m1-1可以根据a0生成虚拟数据集a1,那么得到的就是a0和a1的组合,鉴别器m1-2就是用来区分a0和a1的组合中哪些数据是属于a0哪些数据是属于a1,鉴别器确定a0和a1的组合中属于a0的数据为a0’,a0和a1的组合中属于a1的数据为a1’,显然,a0’和a1’只是鉴别器的鉴别结果,a0和a0’,a1和a1’以及很有可能并不相等。需要说明的,第一对抗模型也是经过多轮迭代训练才得到的,其中a0和a1,a0’和a1’每轮迭代也是会迭代更新的,举例来说,可以将所述第一对抗模型的训练过程中第n轮迭代得到的a0’,重新作为第n+1轮的a0,以及将所述第一对抗模型的训练过程中第n轮迭代得到的a1’,重新作为第n+1轮的a1,还可以对a0和a1筛选后,在作为下一轮的输入;n为正整数,最终一轮迭代得到的a0’即为所述第一中间数据集a00,最终一轮迭代得到的a1’即为所述第一中间数据集a11。

进一步地,第二对抗模型为m2,第二对抗模型训练完毕时,所述第一对抗模型中的鉴别器为m2-1,显然,m2-1初始为m1-2,所述第二对抗模型中的差分隐私标识器为m2-2;鉴别器m2-1可以对a11进行差分隐私鉴别,如果a11符合差分隐私要求,可以将a11重新作为步骤101~步骤103迭代的下一轮第一对抗模型的输入;如果a11不符合差分隐私要求,可以通过对鉴别器m2-1进行参数调节,使得对a00和a11重新鉴别,对a00和a11进行更新,直至a11符合差分隐私要求。

需要说明的是,步骤103中,所述第一中间数据集和所述第二中间数据集输入所述第二对抗模型后,第一种情形下,可能首次将所述第一中间数据集输入差分隐私标识器后,就满足差分隐私要求,因此,这种情况下不需要鉴别器对所述第一中间数据集和所述第二中间数据集重新分类,也不需要更新所述第一中间数据集,便直接将所述第一对抗模型得到的所述第一中间数据集作为所述第三中间数据集;也可能多次输入差分隐私标识器后一直不满足差分隐私要求,经过鉴别器的多次鉴别后才满足差分隐私要求,这种情况下就需要鉴别器对所述第一中间数据集和所述第二中间数据集重新分类,更新所述第一中间数据集。

若a11符合差分隐私要求,且满足了终态收敛条件,那么可以将a11作为所述初始数据集的终态数据集。

步骤101~步骤103所述的方法可应用于图2所示的系统架构。

一种可选实施方式中,步骤101具体可以如下:

步骤(1-1):针对所述初始数据集的任一子初始数据集,将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集。

步骤(1-2):将所述子初始数据集和所述子虚拟数据集输入至所述鉴别器,判定得到第一过程数据集和第二过程数据集。

步骤(1-3):根据所述第一过程数据集、所述子初始数据集和所述子虚拟数据集,获得第一损失函数值和第二损失函数值。

步骤(1-4):若满足第一对抗收敛条件,则将所述第一过程数据集作为所述第一中间数据集的第一子中间数据集,将所述第二过程数据集作为所述第二中间数据集的第二子中间数据集;否则,根据所述第一损失函数值和所述第二损失函数值,调整所述生成器的训练参数和所述鉴别器的训练参数,并将所述第一过程数据集作为所述初始数据集的子初始数据集,返回所述“将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集”的步骤,从而更新所述子初始数据集和所述子虚拟数据集,继续迭代训练。

举例来说,初始数据集为a0,针对任一子初始数据集a0-i,生成相应的子虚拟数据集a1-i,判定得到第一过程数据集a0-i’和第二过程数据集a1-i’。之后便可以根据a0-i、a1-i、a0-i’和a1-i’得到所述第一损失函数值y1和所述第二损失函数值y2,调整所述生成器的训练参数和所述鉴别器的训练参数,并更新a0-i和a1-i迭代执行训练。

步骤(1-1)~步骤(1-4)中,所述第一过程数据集为被所述鉴别器判定为所述子初始数据集的数据集;所述第二过程数据集为被所述鉴别器判定为所述子虚拟数据集的数据集;所述第一损失函数值表征了所述第一过程数据集中抽取的数据为所述初始数据集中数据的准确性;所述第二损失函数值表征了所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的准确性。

步骤(1-1)~步骤(1-4)中,所述第一损失函数值具体可以为:所述第一过程数据集中抽取的数据为所述初始数据集中数据的期望值;所述第二损失函数值具体可以为:所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的期望值。

其中,ex~pd[logd(x)]是指使得原始数据集在鉴别器d(x)中输出的计算值为“真”的期望值,即第一损失函数值,该期望代表原始数据集被判别为“真”的概率尽可能大;ez~pg[log(1-d(g(z)))]是指虚拟数据集在鉴别器d(x)中输出的计算值为“真”的期望值,即第二损失函数值,该期望代表生成数据被判别为“假”的概率尽可能小。

一种可选实施方式中,步骤102具体可以如下:

针对所述第一中间数据集中任一第一子中间数据集以及所述第二中间数据集中任一第二子中间数据集,执行以下步骤:

步骤(2-1):将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求。

步骤(2-2):若满足所述差分隐私要求,则将所述第一子中间数据集作为所述第三中间数据集的第三子中间数据集。

步骤(2-3):若不满足所述差分隐私要求,且不满足第二对抗收敛条件,则根据所述第一子中间数据集、所述初始数据集和所述虚拟数据集,获得第三损失函数值和第四损失函数值。

步骤(2-3):根据所述第三损失函数值和所述第四损失函数值,调整所述鉴别器的训练参数;若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数。

步骤(2-4):根据调整了训练参数后的所述鉴别器,或者根据调整了训练参数后的所述鉴别器以及调整了训练参数后的所述差分隐私识别模型,重新对所述第一子中间数据集和所述第二子中间数据集判别,从而更新所述第一子中间数据集和所述第二子中间数据集,返回步骤(2-1),从而继续迭代训练。

举例来说,第一中间数据集为a11,针对第一中间数据集的任一子中间数据集a11-j(如从中抽取一部分数据作为a11-j),将a11-j输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求。

若满足所述差分隐私要求,则将a11-j作为第三中间数据集的一个第三子中间数据集。若不满足所述差分隐私要求,且不满足第二对抗收敛条件,便根据所述第三损失函数值和所述第四损失函数值,调整所述鉴别器的训练参数。并且,若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数。

之后便可以根据a0、a1、a00、a11得到所述第三损失函数值y3和所述第四损失函数值y4,调整所述鉴别器的训练参数,并更新a00和第二子中间数据集a11迭代执行训练。

所述第三损失函数值表征了所述第一子中间数据集中抽取的数据为所述初始数据集中数据的准确性;所述第四损失函数值表征了所述第二子中间数据集中抽取的数据为所述初始数据集中数据的准确性;

步骤(2-1)~步骤(2-4)的一种可选实施方式中,所述第三损失函数值具体可以为:所述第一子中间数据集中抽取的数据为所述初始数据集中数据的期望值;所述第四损失函数值具体可以为:所述第一子中间数据集中抽取的数据为所述虚拟数据集中数据的期望值。

也就是说,至此该模型中将同时存在两个对抗博弈。除了上述的生成器和鉴别器之间的博弈外,差分隐私标识器i和鉴别器d之间的对抗是另一个博弈过程。可以使用l(d,i)来表征这个博弈。

则式(1)的过程被重新记作:

其中,ex~pd[logl(x|d,i)]为第三损失函数值,ez~pg[log(1-l(g(z)|d,i))]为第四损失函数值。

步骤(2-3)~步骤(2-4)中,若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数,具体过程可以如下:

若连续地更新所述第一子中间数据集和所述第二子中间数据集的累计次数大于或等于n次,则根据所述第三损失函数值和所述第四损失函数值,调整所述差分隐私识别器的训练参数;n为正整数。

举例来说,n为10次。这样做的目的是为了使得所述差分隐私识别模型认为所述鉴别器训练多次仍达不到差分隐私要求时才调整参数,使得充分激发所述鉴别器的性能。

步骤103的一种可选实施方式如下:

将所述第三中间数据集,作为所述初始数据集的终态数据集;将所述第三中间数据集输入所述第一对抗模型中的所述生成器,将所述生成器输出的所述虚拟数据集,作为所述初始数据集的终态数据集。

需要说明的,除了上述实施方式外,还可以将第一对抗模型和第二对抗模型中某一次迭代过程中的数据集作为所述初始数据集的终态数据集,如将所述第三数据集输入所述第一对抗模型中的所述生成器后生成的虚拟数据集及原始数据集一同,输入鉴别器后输出的原始数据集,作为终态数据集。

步骤101~步骤103的方法中,还可以执行以下实施方式:

若不满足所述终态收敛条件,则将所述第三中间数据集作为所述初始数据集,返回所述“通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集”的步骤,从而继续执行迭代训练。

需要说明的是,上述迭代过程可以迭代多次,所述终态收敛条件可根据具体情形灵活设置,如设置最大迭代次数,所述第三中间数据集收敛等。

下面结合图3,进一步详细描述本申请提供的一种数据生成方法。

步骤301:获取初始数据集d,隐私保护预算b。

其中,隐私保护预算为用于差分隐私要求判别的一个阈值。

步骤302:生成器g生成差分隐私数据集pg。

pg表示被鉴别器判定为初始数据集的数据集。

步骤303:确定差分隐私数据集是否满足初始数据集分布。

若满足,执行步骤310,否则执行步骤304。

步骤304:从pg(z)中抽取m个噪声样本z、从初始数据集中抽取m个噪声样本x。

步骤305:根据鉴别器对z和x进行鉴别,并对鉴别器进行训练,更新初始数据集和差分隐私数据集。

步骤306:从初始数据集中抽取m个样本。

步骤307:根据差分隐私标识器模型对m个样本进行差分隐私识别,并对差分隐私标识器模型训练,更新初始数据集。

步骤308:差分隐私标识器模型i与鉴别器d收敛。

若是,则返回步骤306;否则,执行步骤309。

步骤309:更新生成器g的输入数据集(初始数据集)。

步骤309执行完毕后,返回步骤302。

步骤310:输出差分隐私数据集pg。

本发明提供一种数据生成方法,具有以下效果:

(1)引入了差分隐私标识器到神经网络中,形成两组对抗。使最终的输出数据自适应的满足差分隐私要求。通过动态的、个性化的隐私保护水平。实现了在个性化隐私保护和改进的数据实用性之间实现了优化权衡。(2)差分隐私加噪过程不是外部生成的,而是在生成数据时学习的,能够满足一个群体内多个用户共同使用一个隐私保护水平的需求。(3)由对抗生成网络中的生成器进行生成的数据作为差分隐私中的噪声数据,与原始数据具有极高的一体性,使噪声之间的相关性解耦,可以抵御针对连续时空数据下对差分隐私不断查询获取出噪声的攻击。

如图4所示,本发明提供一种数据生成装置,包括:生成模块401,用于通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集;所述第一对抗模型包括生成器和鉴别器;所述生成器用于根据所述初始数据集生成虚拟数据集;所述鉴别器用于判定输入所述鉴别器中的数据是所述初始数据集中的数据或所述虚拟数据集中的数据;所述第一中间数据集为所述第一对抗模型训练完毕时被判定为所述初始数据集的数据集、所述第二中间数据集为所述第一对抗模型训练完毕时被判定为所述虚拟数据集的数据集;处理模块402,用于通过所述第一中间数据集和所述第二中间数据集完成对第二对抗模型的训练后,得到所述第二对抗模型输出的第三中间数据集;所述第二对抗模型包括所述鉴别器和差分隐私标识器;所述差分隐私标识器用于确定所述第一中间数据集是否符合差分隐私要求;所述鉴别器还用于在所述第一中间数据集不符合所述差分隐私要求时,更新所述第一中间数据集;所述第三中间数据集为所述第二对抗模型训练完毕时的所述第一中间数据集;以及用于若满足终态收敛条件,则根据所述第三中间数据集,获得所述初始数据集的终态数据集。

可选的,所述生成模块401具体用于:针对所述初始数据集的任一子初始数据集,将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集;将所述子初始数据集和所述子虚拟数据集输入至所述鉴别器,判定得到第一过程数据集和第二过程数据集;所述第一过程数据集为被所述鉴别器判定为所述子初始数据集的数据集;所述第二过程数据集为被所述鉴别器判定为所述子虚拟数据集的数据集;根据所述第一过程数据集、所述子初始数据集和所述子虚拟数据集,获得第一损失函数值和第二损失函数值;所述第一损失函数值表征了所述第一过程数据集中抽取的数据为所述初始数据集中数据的准确性;所述第二损失函数值表征了所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的准确性;若满足第一对抗收敛条件,则将所述第一过程数据集作为所述第一中间数据集的第一子中间数据集,将所述第二过程数据集作为所述第二中间数据集的第二子中间数据集;否则,根据所述第一损失函数值和所述第二损失函数值,调整所述生成器的训练参数和所述鉴别器的训练参数,并将所述第一过程数据集作为所述初始数据集的子初始数据集,返回所述“将所述子初始数据集输入至所述生成器,生成所述虚拟数据集的子虚拟数据集”的步骤,从而更新所述子初始数据集和所述子虚拟数据集,继续迭代训练。

可选的,所述第一损失函数值具体为:所述第一过程数据集中抽取的数据为所述初始数据集中数据的期望值;所述第二损失函数值具体为:所述第一过程数据集中抽取的数据为所述虚拟数据集中数据的期望值。

可选的,所述处理模块402具体用于:针对所述第一中间数据集中任一第一子中间数据集以及所述第二中间数据集中任一第二子中间数据集,执行以下步骤:将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求;若满足所述差分隐私要求,则将所述第一子中间数据集作为所述第三中间数据集的第三子中间数据集;若不满足所述差分隐私要求,且不满足第二对抗收敛条件,则根据所述第一子中间数据集、所述初始数据集和所述虚拟数据集,获得第三损失函数值和第四损失函数值;所述第三损失函数值表征了所述第一子中间数据集中抽取的数据为所述初始数据集中数据的准确性;所述第四损失函数值表征了所述第二子中间数据集中抽取的数据为所述初始数据集中数据的准确性;根据所述第三损失函数值和所述第四损失函数值,调整所述鉴别器的训练参数;若满足所述差分隐私识别模型的预设参数调整条件,则根据所述第三损失函数值和所述第四损失函数值调整所述差分隐私识别模型的训练参数;根据调整了训练参数后的所述鉴别器,或者根据调整了训练参数后的所述鉴别器以及调整了训练参数后的所述差分隐私识别模型,重新对所述第一子中间数据集和所述第二子中间数据集判别,从而更新所述第一子中间数据集和所述第二子中间数据集,返回所述“将所述第一子中间数据集输入至所述差分隐私标识器,确定所述第一子中间数据集是否满足所述差分隐私要求”的步骤,从而继续迭代训练。

可选的,所述第三损失函数值具体为:所述第一子中间数据集中抽取的数据为所述初始数据集中数据的期望值;所述第四损失函数值具体为:所述第一子中间数据集中抽取的数据为所述虚拟数据集中数据的期望值。

可选的,所述处理模块402具体用于:若连续地更新所述第一子中间数据集和所述第二子中间数据集的累计次数大于或等于n次,则根据所述第三损失函数值和所述第四损失函数值,调整所述差分隐私识别器的训练参数;n为正整数。

可选的,所述处理模块402具体用于:将所述第三中间数据集,作为所述初始数据集的终态数据集;将所述第三中间数据集输入所述第一对抗模型中的所述生成器,将所述生成器输出的所述虚拟数据集,作为所述初始数据集的终态数据集。

可选的,所述处理模块402还用于:若不满足所述终态收敛条件,则将所述第三中间数据集作为所述初始数据集,返回所述“通过初始数据集完成对第一对抗模型的训练后,得到所述第一对抗模型输出的第一中间数据集和第二中间数据集”的步骤,从而继续执行迭代训练。

基于同一发明构思,本发明实施例还提供了一种计算机设备,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的数据生成方法及任一可选方法被执行。

基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的数据生成方法及任一可选方法被执行。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1