一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据脱敏方法、装置、电子设备及存储介质与流程

2022-08-17 05:29:58 来源:中国专利 TAG:


1.本发明涉及人工智能、数据安全技术领域,尤其涉及一种数据脱敏方法、装置、电子设备及存储介质。


背景技术:

2.目前,随着大数据、人工智能和物联网技术的发展,如何能够有效的保护个人隐私,保护企业敏感数据不被泄露,已经成为越来越多安全厂商关注的焦点。随着高新信息科技与工业领域的融合发展,推动了工业数据的流通共享。但工业数据是非常敏感的,例如企业数据、app等数据若遭到篡改、窃取等,将会严重威胁用户安全、企业安全、乃至国家安全。在此背景下数据脱敏技术应运而生,是解决上述安全问题和风险的一种行之有效的方法。
3.数据脱敏是指对敏感信息按照预设的规则或者变换算法进行数据变换,从而使得个人身份无法识别或者直接隐去敏感信息。脱敏后的数据会出现一定程度上的信息损耗,所以隐私泄密与数据可用性便成了天然的矛盾。
4.传统的结构化数据脱敏技术是基于匿名化的技术和基于扰乱的技术,这两类技术不仅信息损耗较大,更重要的是会存在原数据与脱敏数据的一对一的对应关系,这导致脱敏后的数据有极大被重标识化的风险。
5.如何保证脱敏后的数据的安全性和可用性,是目前亟待解决的技术问题。


技术实现要素:

6.本发明实施例提供了一种数据脱敏方法、装置、电子设备及存储介质,用以保证脱敏后的数据的安全性和可用性。
7.本发明实施例提供了一种数据脱敏方法,所述方法包括:
8.获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;
9.生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;
10.基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
11.进一步地,所述生成模型和判别模型通过对抗学习进行训练的过程包括:
12.针对训练集中的样本数据,对所述样本数据进行分类标记,并根据所述分类标记生成样本条件向量;
13.生成样本随机分布向量,将所述样本随机分布向量和所述样本条件向量输入数据脱敏对抗网络模型中的生成模型中,所述生成模型输出样本脱敏数据;
14.将所述样本脱敏数据和所述样本条件向量输入数据脱敏对抗网络模型中的判别模型中,所述判别模型输出所述样本脱敏数据为真样本的第一概率;
15.将所述样本数据和所述样本条件向量输入所述判别模型中,所述判别模型输出所述样本数据为真样本的第二概率;
16.根据所述第一概率和第二概率,训练所述生成模型和判别模型。
17.进一步地,所述根据所述第一概率和第二概率,训练所述生成模型和判别模型包括:
18.采用wgan方法,计算所述第一概率和第二概率之间的wasserstein距离,根据所述wasserstein距离,训练所述生成模型和判别模型。
19.进一步地,所述判别模型的训练过程包括:
20.采用差分隐私算法,在参数更新之前对确定的梯度进行裁剪,并添加随机噪声;根据裁剪并添加随机噪声后的梯度进行参数更新。
21.进一步地,确定所述梯度的过程包括:
22.分别确定生成对抗网络和条件生成对抗网络的联合损失函数、包括期望和方差的统计信息损失函数和合页损失函数,根据所述联合损失函数、统计信息损失函数和合页损失函数确定目标损失函数和对应的梯度。
23.进一步地,所述生成模型的结构由输入侧至输出侧依次包括:全连接层、relu层、残差网络层、全连接层、relu层、残差网络层、全连接层和softmax层。
24.进一步地,所述判别模型的结构由输入侧至输出侧依次包括:全连接层、leakyrelu层、全连接层、leakyrelu层和全连接层。
25.另一方面,本发明实施例提供了一种数据脱敏装置,所述装置包括:
26.获取模块,用于获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;
27.输入模块,用于生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;
28.输出模块,用于基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
29.进一步地,所述装置还包括:
30.训练模块,用于针对训练集中的样本数据,对所述样本数据进行分类标记,并根据所述分类标记生成样本条件向量;生成样本随机分布向量,将所述样本随机分布向量和所述样本条件向量输入数据脱敏对抗网络模型中的生成模型中,所述生成模型输出样本脱敏数据;将所述样本脱敏数据和所述样本条件向量输入数据脱敏对抗网络模型中的判别模型中,所述判别模型输出所述样本脱敏数据为真样本的第一概率;将所述样本数据和所述样本条件向量输入所述判别模型中,所述判别模型输出所述样本数据为真样本的第二概率;根据所述第一概率和第二概率,训练所述生成模型和判别模型。
31.所述训练模块,具体用于采用wgan方法,计算所述第一概率和第二概率之间的wasserstein距离,根据所述wasserstein距离,训练所述生成模型和判别模型。
32.所述训练模块,具体用于采用差分隐私算法,在参数更新之前对确定的梯度进行裁剪,并添加随机噪声;根据裁剪并添加随机噪声后的梯度进行参数更新。
33.所述训练模块,具体用于分别确定生成对抗网络和条件生成对抗网络的联合损失
函数、包括期望和方差的统计信息损失函数和合页损失函数,根据所述联合损失函数、统计信息损失函数和合页损失函数确定目标损失函数和对应的梯度。
34.另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
35.存储器,用于存放计算机程序;
36.处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
37.另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
38.本发明实施例提供了一种数据脱敏方法、装置、电子设备及存储介质,所述方法包括:获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
39.上述的技术方案具有如下优点或有益效果:
40.由于在本发明实施例中,预先训练完成有数据脱敏对抗网络模型,数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练得到。数据脱敏对抗网络模型训练完成后,判别模型难以区分生成模型得到的脱敏数据与原始数据的真假,因此基于数据脱敏对抗网络模型得到的脱敏后的数据安全性好。并且在生成脱敏后的数据时获取待处理的原始数据,对原始数据进行分类标记,并根据分类标记生成条件向量。生成随机分布向量后,将随机分布向量和条件向量输入数据脱敏对抗网络模型,基于数据脱敏对抗网络模型中的生成模型,输出原始数据对应的脱敏后的数据。加入条件向量优化脱敏后的数据,脱敏后的数据包括数值信息和类别信息。因此脱敏后的数据可用性好。
附图说明
41.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为本发明实施例提供的数据脱敏过程示意图;
43.图2为本发明实施例提供的生成模型和判别模型的训练过程示意图;
44.图3为本发明实施例提出的基于神经网络的脱敏整体框架图;
45.图4为传统的gan网络结构示意图;
46.图5为本发明实施例提供的数据脱敏流程图;
47.图6为本发明实施例提供的生成模型结构示意图;
48.图7为本发明实施例提供的残差网络结构示意图;
49.图8为本发明实施例提供的判别模型结构示意图;
50.图9为本发明实施例提供的数据脱敏装置结构示意图;
51.图10为本发明实施例提供的电子设备结构示意图。
具体实施方式
52.下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
53.首先对本发明所涉及的术语进行解释。
54.数据表现形式分类:
55.现实中的数据主要存在两种表现形式,即结构化和非结构化数据。常见的结构化数据即是以数据库等形式存在的数据。非结构化数据则有很多种,常见的非结构化数据包括文本、图像、语音等形式存在的数据。
56.结构化数据拥有非常固定的模式,其特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。因此对结构化数据的脱敏通常从数据的整体分布中入手。
57.数据脱敏介绍:
58.数据脱敏是指对敏感信息按照预设的规则或者变换算法进行数据变换,从而使得个人身份无法识别或者直接隐去敏感信息。脱敏后的数据会出现一定程度上的信息损耗,所以隐私泄密与数据可用性便成了天然的矛盾。
59.现有技术及技术缺陷:
60.传统结构化数据脱敏技术:
61.传统针对结构化数据脱敏的研究主要分为基于匿名化的技术和基于扰乱的技术。
62.常见的基于匿名化的技术有k-匿名(k-anonymity)及其升级版l-diversity和t-closeness等,它们都是通过对单条数据的准标识符进行泛化后使得该记录在整个数据集中不可区分。
63.而基于扰乱的技术则是往数据中加入噪声,使得数据变得模糊话。这两类技术不仅信息损耗较大,更重要的是会存在原数据与脱敏数据的一对一的对应关系,这导致脱敏后的数据有极大被重标识化的风险。
64.具体例子如下表1所示,表1中的数据仅为示例数据,无任何含义:
65.姓名性别年龄邮编购买偏好alice男24100083健身器材bob男23100084服装candy女26100102护肤品davis女27100104烹饪工具edith男36102208健身器材frank男36102201服装grace女34102218图书holley女33102219服装
66.表1
67.数据以表的形式表示,每一行表示一条数据(record),每一列表示一个属性(attribute)。每一条数据与一个特定用户/个体关联。表1属性可以分为三类:
68.标识符(explicit identifiers):一般是个体的唯一标识,比如说姓名、地址、电话等,这些内容需要公开数据的时候不予展示;
69.准标识符(quasi-identifler):类似邮编、年龄、生日等不是唯一的,但是能帮助研究人员管理相关数据的标识;
70.敏感数据:用户不希望被人知道的数据。比如说购买偏好、薪水等等,这些数据是研究人员最为关心的。
71.另外除了上述三类,还有一类属性未在表1中展示,例如:
72.非敏感数据:可以直接公开,无任何危险的数据,如序号。
73.简单来说,k-anonymity的目的是保证公开的数据中每条记录至少有另外k-1条记录在准标识符上不能被区分出来。
74.举例说明如下,假设一个公开的数据进行了2-anonymity保护,如果攻击者想确认frank的敏感信息,通过查询他的年龄、邮编和性别,攻击者会发现数据里至少有两个人是有相同的年龄、邮编和性别。这样攻击者就没办法区分这两条数据哪个是frank了,从而也就保证了frank的隐私不会被泄露。如下表2所示:姓名作为标识符被全部用“*”替换了,性别,年龄和邮编为准标识符,购买偏好是敏感属性。
[0075][0076]
表2 2-anonymity示例
[0077]
尽管k-anonymity降低了重识别攻击的可能性(如果拥有背景知识或其他信息来源,则可以恢复或者识别记录),但仍然可以获取有关该表的其他敏感属性的信息。这种敏感属性信息使攻击者能够进行同质性和背景知识攻击,也称为属性泄露攻击。为了应对这些攻击,人们在k-anonymity上提出了l-diversity,同时还提出了敏感属性多样性的概念。即对于那些准标识符相同的数据中,敏感数据必须具有多样性,这样才能保证用户的隐私不能通过背景知识等方法推测出来。l-diversity保证了相同类型数据中至少有l种内容的敏感属性。如下表3所示是3-diversity为例:准标识符取值的组合含有3条不同内容的敏感数据。
[0078]
姓名性别年龄邮编购买偏好*男(20,30]10008*健身器材*男(20,30]10008*健身器材*男(20,30110008*健身器材*男(20,30]10008*

*男(20,30]10008*



(20,30]
……


(20,30]

图书*男(20,30]10008*烹饪工具
[0079]
表3 3-diversity示例
[0080]
对于l-diversity,在攻击者知道属性的全局分布的情况下仍然容易受到攻击。为了解决这个问题,人们又相继提出了t-closeness算法。t-closeness保证敏感信息在准标识符组合中的分布与敏感信息在全部数据中的分布情况接近,使得二者分布的差值不超过阈值t。但是即使同时保证了k-anonymity,l-diversity,t-closeness,信息依然会因为攻击者的背景知识而遭到泄露。
[0081]
此外,数据扰动通常做法是数值进行变换,在数据库中增加“噪声”。相比于匿名化方法,数据扰动技术不仅仅修改了准标识符,还修改了敏感数据。这样做后,这些经过修改后数据可用性会受到较大的影响。
[0082]
基于上述技术问题,本发明要解决的技术问题及发明思路如下:
[0083]
基于神经网络的脱敏系统有着以下几点优势(1)断开脱敏前后数据的一对一的映射关系,解决脱敏后数据存在逆向攻击风险的问题。(2)脱敏后较优的可用性及安全性。(3)针对异源(不同地区或企业等)数据有较好的容错能力、自适应能力。(4)通过实例的学习能力。
[0084]
为此,本发明主要针对匿名化和扰动脱敏方法的不足,从解决数据生成阶段安全的方向入手,提出一种用于结构化数据生成和脱敏的对抗生成网络resnet gan dp,该系统在resnet神经网络的基础上,使用了wagn和cgan的训练思想对脱敏数据的效果进行优化,进一步在模型中引入差分隐私(dp),通过裁剪梯度、添加噪声来对判别器进行扰动,限制了每条数据对模型的影响。最终生成可用性及安全性较高的脱敏后数据。
[0085]
下面对本发明实施例提供的数据脱敏过程进行详细说明。
[0086]
图1为本发明实施例提供的数据脱敏过程示意图,该过程包括:
[0087]
s101:获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量。
[0088]
s102:生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练。
[0089]
s103:基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
[0090]
本发明实施例提供的数据脱敏方法应用于电子设备,该电子设备可以是pc、平板电脑等设备,也可以是服务器。
[0091]
电子设备获取到待处理的原始数据之后,确定原始数据的类别信息,根据原始数据的类别信息对原始数据进行分类标记,然后根据分类标记生成条件向量。例如原始数据的分类标记包括“姓名”,对“姓名”进行编码得到条件向量。电子设备生成随机分布向量,也可称为隐变量。然后将随机分布向量和条件向量输入预先训练的数据脱敏对抗网络模型,基于数据脱敏对抗网络模型中的生成模型,输出原始数据对应的脱敏后的数据,其中脱敏
后的数据包括数值信息和类别信息。
[0092]
本发明实施例重点介绍数据脱敏对抗网络模型的训练过程,数据脱敏对抗网络模型包括生成模型和判别模型,数据脱敏对抗网络模型的训练过程也就是生成模型和判别模型的训练过程。
[0093]
图2为本发明实施例提供的生成模型和判别模型的训练过程示意图,该过程包括:
[0094]
s201:针对训练集中的样本数据,对所述样本数据进行分类标记,并根据所述分类标记生成样本条件向量。
[0095]
s202:生成样本随机分布向量,将所述样本随机分布向量和所述样本条件向量输入数据脱敏对抗网络模型中的生成模型中,所述生成模型输出样本脱敏数据。
[0096]
s203:将所述样本脱敏数据和所述样本条件向量输入数据脱敏对抗网络模型中的判别模型中,所述判别模型输出所述样本脱敏数据为真样本的第一概率。
[0097]
s204:将所述样本数据和所述样本条件向量输入所述判别模型中,所述判别模型输出所述样本数据为真样本的第二概率。
[0098]
s205:根据所述第一概率和第二概率,训练所述生成模型和判别模型。
[0099]
电子设备在训练生成模型和判别模型时,预先保存有训练集,训练集中的数据称为样本数据。对样本数据进行分类标记,并根据分类标记生成样本条件向量。然后将生成的样本随机分布向量和样本条件向量输入数据脱敏对抗网络模型中的生成模型中,生成模型输出样本脱敏数据。
[0100]
将样本脱敏数据和样本条件向量输入数据脱敏对抗网络模型中的判别模型中,判别模型输出样本脱敏数据为真样本的第一概率;将样本数据和样本条件向量输入所述判别模型中,判别模型输出样本数据为真样本的第二概率。最后根据第一概率和第二概率,训练生成模型和判别模型。
[0101]
传统的对抗网络模型存在训练不收敛、梯度消失以及模式崩溃等问题,针对上述问题,本发明实施例根据所述第一概率和第二概率,训练所述生成模型和判别模型包括:采用wgan方法,计算所述第一概率和第二概率之间的wasserstein距离,根据所述wasserstein距离,训练所述生成模型和判别模型。通过引入wasserstein距离度量第一概率和第二概率之间的距离来替换传统的对抗网络模型中衡量不同概率之间差异的js散度与kl散度,极大程度弥补了传统的对抗网络模型的不足。
[0102]
为了进一步确保脱敏后数据的安全性,本发明实施例中,所述判别模型的训练过程包括:采用差分隐私算法,在参数更新之前对确定的梯度进行裁剪,并添加随机噪声;根据裁剪并添加随机噪声后的梯度进行参数更新。
[0103]
为了确保数据安全性,本发明实施例引入了差分隐私,其可以在很大程度上保证生成的脱敏数据安全,因为根据其的定义,如果模型的训练过程是差分隐私的,则训练数据集包含与不包含某一特定样本训练出相同模型的概率是接近的。所以在判别模型的训练过程中加入差分隐私,使得整个数据脱敏对抗网络模型保持差分隐私性。
[0104]
本发明实施例使用dp-sgd算法来训练判别模型,传统的随机梯度下降(sgd)算法,该算法的参数优化过程中首先计算损失loss函数对模型参数θt的梯度,然后用当前的参数中减去该梯度与学习率lr的积,来更新当前参数的到θt 1。重复该过程,直至loss收敛。而dp-sgd算法则在参数更新前对计算好的梯度进行裁剪并添加相应的噪声。裁剪完梯度后需
要添加符合高斯分布的随机噪声从对判别器模型引入随机性,即对裁剪完的梯度添加高斯噪声再求平均,最后将值用于参数更新。
[0105]
损失函数是数据脱敏对抗网络模型训练的关键,指导着数据脱敏对抗网络模型训练的过程,本质上来说,数据脱敏对抗网络模型训练的过程就是最优化损失函数的过程。本发明实施例中,确定所述梯度的过程包括:分别确定生成对抗网络和条件生成对抗网络的联合损失函数、包括期望和方差的统计信息损失函数和合页损失函数,根据所述联合损失函数、统计信息损失函数和合页损失函数确定目标损失函数和对应的梯度。
[0106]
本发明实施例的整个网络除了使用常见的wgan和cgan的联合损失loss函数,此外为了优化和控制脱敏效果,提高数据生成质量,还加入一种统计信息损失函数和合页损失函数,根据联合损失函数、统计信息损失函数和合页损失函数确定目标损失函数和对应的梯度。
[0107]
本发明实施例中,生成模型的结构由输入侧至输出侧依次包括:全连接层、relu层、残差网络层、全连接层、relu层、残差网络层、全连接层和softmax层。判别模型的结构由输入侧至输出侧依次包括:全连接层、leakyrelu层、全连接层、leakyrelu层和全连接层。
[0108]
下面对数据脱敏对抗网络模型中的生成模型和判别模型的训练过程进行详细说明,在生成模型和判别模型训练完成后,利用生成模型生成脱敏后的数据。
[0109]
英文解释如下:
[0110]
wgan(wasserstein generative adversarial nets):wasserstein生成对抗网络;
[0111]
cgan(conditional generative adversarial nets):条件生成对抗网络;
[0112]
dp(differential privacy):差分隐私;
[0113]
resnet:残差网络;
[0114]
dp-sgd(differential privacy-stochastic gradient descent):基于差分隐私的随机梯度下降;
[0115]
l-diversity:l-多样性;
[0116]
t-closeness:t-近似。
[0117]
本发明实施例提供了一种基于神经网络的数据脱敏方法。整体过程如下,首先将样本随机分布向量和对应的样本条件向量作为生成模型(g)的输入,d为判别模型,判断样本数据是真实数据还是g生成的数据;然后,固定生成模型的参数训练判别模型,并在训练判别模型时加入了差分隐私(dp),进行梯度裁剪及添加噪声;最后,固定判别模型参数,将判别模型概率反馈给g,来指导g的梯度更新。g和d经过多次迭代,交替优化后,就可以生成数据。同时在训练过程中还采用了wgan和cgan的思量来优化生成的脱敏后数据的质量,通过dp、wgan、cgan等策略即可确保生成数据的安全性及可用性。从而更好地为个人数据、企业数据、国家数据安全服务。本发明实施例中,输入利用gan和dp针对样本数据生成的脱敏数据分布接近,可用性高,但并不是真实数据,因此脱敏数据安全性高。
[0118]
wgan通过剪裁d网络参数的方式,对d网络进行稳定更新。
[0119]
cgan是对条件生成gan的最先尝试,直接在网络输入加入条件信息c,用来控制网络的条件输出模式。
[0120]
差分隐私技术:能够保证数据集中单个个体的变化对整体数据集的统计结果几乎
没有影响,从而为个体敏感信息提供较强的隐私保护。dp以概率的形式描述原始数据集的微小变化对最终统计输出的影响,通过隐私参数ε来约束这一概率变化,实现隐私保护目的。
[0121]
图3为本发明实施例提出的基于神经网络的脱敏整体框架图,具体步骤如下:
[0122]
步骤一:输入数据构建。
[0123]
对于整个系统首先需要构建输入数据,生成模型(g)的输入是由样本随机分布向量,或称为样本随机分布的隐向量z和对应的样本条件向量相加或者拼接组成,其中样本随机分布向量指随机的噪声向量,通过对该向量训练即可得到生成的脱敏数据。样本条件向量指样本数据的属性类别标签的嵌入向量。作用是用来指导生成数据需要向哪个属性类别生成对应的值。例如:一个数据库有姓名、地址、工作、身份证号等四个属性,将每个属性进行编码得到其随机初始化的embedding向量表示econd,同时针对这四个属性生成对应属性值(隐变量z)的embedding向量表示ez,最终每条生成器的数据的编码如公式1所示:
[0124]ei
=concat[e
cond
,ez]
ꢀꢀ
公式1。
[0125]
步骤二:训练过程。
[0126]
传统gan网络的思想是一种二人博弈思想,博弈双方的利益之和是一个常数。引申到gan里面就是可以看成,gan中有两个这样的博弈者,一个是生成模型(g),另一个是判别模型(d)。如图4所示。生成模型用于生成一个逼真的样本,判别模型用于判断模型的输入是真是假。通俗来讲,就是生成模型要不断提升自己的造假本领,最终达到骗过判别模型的目的。而判别模型则不断提升自己的判别能力,达到辨别真假的目的,这也就形成了博弈,也就是对抗。这两个目标相反的网络不断地进行交替训练。当最后收敛时,如果判别网络再也无法判断出一个样本的来源,那么也就等价于生成网络可以生成符合真实数据分布的样本。应用于脱敏领域,就是使得脱敏后(生成)的数据符合真实数据分布可用于后续的数据分析挖掘(可用性)但又不是真实数据(安全性)。
[0127]
但是原始gan网络存在训练不收敛、梯度消失以及模式崩溃等问题,针对这些问题,本案使用了wgan策略,通过引入wasserstein距离(度量两个概率分布之间的距离)来替换原始gan中衡量不同分布之间差异的js散度与kl散度,极大程度弥补了gan的不足。同时为了解决原始gan并不好在生成阶段控制输出属于哪一类,本案还采用了cgan网络,是在gan基础上做的一种改进,加入了条件分布,即通过给原始gan的生成器和判别器加入额外的条件信息,可以是类别标签或者其它的辅助信息,实现条件生成模型。
[0128]
有了gan的一些概念后,下面介绍如何利用gan进行结构化数据脱敏,训练流程如图3所示。首先利用将输入数据ei输入进gan生成模型去拟合训练数据(即待脱敏数据)的数据分布,通过一系列变换得到生成数据(即脱敏数据)g(ei),然后将其输入判别模型中进行预测,对判别模型参数进行优化,得到d(g(ei)),其次固定判别模型参数,将判别概率反馈给g,来指导g的梯度更新,最后待模型训练收敛后即可以达到利用生成模型来生成数据,同时达到对数据脱敏的目的。但是考虑到生成数据的质量即脱敏的程度和安全度如何控制,本发明实施例引入了统计信息损失函数来控制拟合程度进而控制数据脱敏程度。同时,因为采用了cgan的训练思想,所以需要加入条件信息,相当于在隐变量z上增加了一层条件约束(类别标签约束),来约束生成数据,具体如公式7。此外,在判别器训练是加入了dp思想(梯度裁剪、添加噪声)来更好地保证了数据的安全。
[0129]
步骤三:脱敏过程。
[0130]
有了训练好的模型后,使用该模型进行脱敏,只需利用训练好的gan生成模型,将待脱敏数据的ei向量,输入进生成模型(g)得到g(ei),如下图5所示,即可在使用时进行脱敏数据生成,生成的数据可被数据使用者用于数据分布统计分析、数据挖掘等用途。
[0131]
步骤四:生成模型(g)和判别模型(d)构建。
[0132]
介绍完整个脱敏系统的训练及脱敏流程后,下面具体介绍一下网络结构中的生成模型(g)、判别模型(d),这是整个gan网络的核心模块。
[0133]
生成模型(g):
[0134]
生成模型可以有多种形式,可以使用不同的神经网路模型进行组合,本文介绍的生成器主要结构为多层感知机以及resnet结构,如图6所示。首先简单介绍一下resnet网络。
[0135]
resnet是一种残差网络,可以把它理解为一个子网络,这个子网络经过多层堆叠可以构成一个很深的网络。图6中的加号可以简单理解为向量相加,是实现残差网络的一部分;残差网络是将之前层的信息和上一层非线性变化的输出相加。可以先看一下resnet的结构,如图7,通常理解对于神经网络来说,网络越深,能获取的信息越多,而且特征也越丰富。但是通过实验表明,随着网络的加深,优化效果反而越差,测试数据和训练数据的准确率反而降低了。这是由于网络的加深会造成梯度爆炸和梯度消失的问题。鉴于此,产生了残差网络,可以看到框内的输出不仅仅由上一层的输出经过非线性变换得到,还额外增加了浅层的信息x,这样就可以极大程度的缓解随着网络层数越来越深信息丢失的情况。
[0136]
本发明实施例的生成模型就是在以resnet结构为主的条件下搭建的,将多层感知机与resnet进行结合,保留了模型的浅层信息表示,模型的输入主要由隐变量z及一个条件嵌入向量二者相加或拼接构成,如步骤一中的ei。条件嵌入层是将经one-hot编码表示的稀疏的条件向量转化为一种分布式(embedding)表示。具体生成模型生成数据过程如公式2所示。
[0137]hw1
=ei relu(w1ei b1);
[0138]hw2
=h
w1
relu(w2h
w1
b2);
[0139]
g(i)=gumbel-softmax(w3h
w2
b3);
[0140]
公式2。
[0141]
其中将输入向量ei连续经过两个残差网络模块,最后经过gumbel-softmax得到生成的数据。使用gumbel-softmax分布进行采样输出是为了确保生成模型和判别模型的参数都可以通过基于梯度的算法进行更新。
[0142]
判别模型(d):
[0143]
有了生成模型后,需要构建判别模型,其也用了多层感知器的框架,每个全连接层采用的激活函数是leakyrelu,解决relu激活函数的神经元死亡问题。此外,每次前向传播都将生成模型的输出或原始数据作为输入,去进行二分类判断,更新判别模型的参数。判别模型结构如图8。具体判别器判别过程如公式3所示。为了保证生成数据的安全性还加入了dp的思想具体见步骤五。
[0144]hw1
=leakyrelu(w1g(i) b1);
[0145]hw2
=leakyrelu(w2h
w1
b2);
[0146]
d(i)=w3h
w2
b3;
[0147]
公式3。
[0148]
步骤五:判别器差分隐私化。
[0149]
为了确保数据安全性,本发明实施例还引入了差分隐私,其可以在很大程度上保证生成数据安全,因为根据其的定义,如果模型的训练过程是差分隐私的,则训练数据集包含与不包含某一特定样本训练出相同模型的概率是接近的。所以在判别器加入差分隐私,使得整个网络保持差分隐私性。
[0150]
本发明实施例使用dp-sgd算法来训练判别器,传统的随机梯度下降(sgd)算法,该算法的参数优化过程中首先计算loss函数对模型参数θt的梯度,然后用当前的参数中减去该梯度与学习率lr的积,来更新当前参数的到θt 1。重复该过程,直至loss收敛。而dp-sgd算法则在参数更新前对计算好的梯度进行裁剪并添加相应的噪声。
[0151]
本发明实施例对判别器参数更新过程中的梯度进行l2范数裁剪,具体如公式4所示。
[0152][0153]
其中g(xi)代表梯度向量,c是梯度阈值,公式具体含义是如果梯度l2范数小于等于c时,梯度不做改变,否则按比例进行梯度放缩。通过梯度裁剪,避免了梯度爆炸,降低了过拟合,从而使模型更好的收敛。
[0154]
裁剪完梯度后需要添加符合高斯分布的随机噪声从对判别器模型引入随机性,即对裁剪完的梯度添加高斯噪声再求平均,最后将值用于参数更新,具体如公式5所示:
[0155][0156]
θ
t 1
=θ
t-lr
·
g;
[0157]
公式5。
[0158]
其中σ为噪声大小,噪声越大,安全性就越好,但过大的噪声可能会带来数据失真的情况。
[0159]
对于dp-sgd来说,还需要控制整个判别器训练过程中的隐私损失,使其不超过总体的隐私预算是很重要的。为此本发明实施例使用了一种新型的隐私估计方法moments accountant,具体如下公式6所示:
[0160][0161]
其中m为随机算法,d和d~表示差分隐私前后的数据集,o为输出。该方法对隐私损失有严格要求,dp-sgd可以在训练过程中迭代更多的次数,学到更多知识,继而可以在保证安全性的前提下有更好的效果。即保证判别器数据既有好的安全性,也有好的效果。
[0162]
整个gan网络训练过程:先训练判别模型后训练生成模型。
[0163]
判别模型训练过程:首先固定生成模型参数,将随机分布向量和对应的条件向量
作为生成模型的输入,得到生成模型的输出,由此输出(生成样本概率分布)和真实样本概率分布进行判别器的拟合(训练),利用公式7的wgan和cgan的联合loss函数、公式8统计信息的loss函数、公式9的合页loss函数公式计算出loss损失和对应梯度,据此再结合差分隐私技术对计算出的梯度进行裁剪和添加噪声,自此即可根据差分隐私后的梯度完成一轮判别器参数更新。
[0164]
生成模型训练过程:将判别模型一轮更新后参数进行固定,并将判别概率反馈给生成器,来指导生成器的参数更新。
[0165]
判别模型和生成模型经过多次交替优化后实现收敛及loss函数最小。
[0166]
步骤六:loss函数;
[0167]
有了整个网络的架构后,下面介绍本发明实施例的loss函数,loss函数是神经网络的关键,指导着神经网络训练的过程,本质上来说,神经网络的训练过程就是最优化loss函数的过程。本案的整个网络除了使用常见的wgan和cgan的联合loss函数如公式7,此外为了优化和控制脱敏效果(数据生成质量),还加入一种统计信息损失函数。
[0168][0169]
其中x是原始数据,z是隐变量,pz代表生成模型输入变量的分布,g是生成模型,其输出就是生成数据;d是判别模型。y是额外的条件信息。
[0170]
统计信息的损失函数可以用于模型学习优化生成数据的质量,统计信息主要考虑期望和方差。此外,脱敏过程还希望能够控制生成数据质量,具体通过公式8进行控制生成数据的期望和方差,其物理意义就是衡量原始数据和脱敏后数据期望和方差的差异。
[0171][0172][0173]
公式8。
[0174]
其中f表示对数据的一系列线性、非线性变换操作,e指对模型最后一层的特征求期望,sd则表示对最后一层特征求方差。在脱敏场景下,很多时候并不希望将与原始数据非常类似的脱敏数据分享给不可信的小伙伴,因此需要控制脱敏的效果(生成数据的质量)。通过如下公式9,加入lf-mean和lf-sd的合页损失函数,mf-mean和mf-sd是合页损失函数的超参数,调整这两个参数即可控制数据生成质量和脱敏程度。
[0175]
l
statis
=max(0,l
f-mean-m
f-mean
) max(0,l
f-sd-m
f-sd
)
[0176]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
;公式9。
[0177]
步骤七:安全性和可用性。
[0178]
对于脱敏算法,一个重要的原则是需要进行安全性和可用性评估。对于可用性本案采用统计信息的损失函数用于模型学习优化生成数据的质量,对于安全性采用dp思想对生成数据的安全性进行保证,此外由于gan网络生成的脱敏后数据仍然有具体的数值或类别,在数据可用性层面,可直接用于模型训练,在进行数据分析、挖掘是也可带来较为直观
的感受。
[0179]
综上,上述结构化数据脱敏算法在可用性和安全性都取得一定的成果,为脱敏算法的在可用性和安全性的权衡上带来了新的思路。
[0180]
本发明实施例使用基于resnet gan网络的神经网络算法进行数据脱敏,区别与现有匿名化和扰动算法,改善了传统脱敏算法存在脱敏前后数据由于存在一一对应而可能被重识别攻击的缺点,为脱敏算法发展提出了新的思路。在整个系统网络中使用了wgan cgan dp的思想,较传统的脱敏算法,不仅控制了生成数据的质量,而且还保障了生成数据的安全性,增强了脱敏数据的可用性及安全性。
[0181]
图9为本发明实施例提供的数据脱敏装置结构示意图,该装置包括:
[0182]
获取模块91,用于获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;
[0183]
输入模块92,用于生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;
[0184]
输出模块93,用于基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
[0185]
所述装置还包括:
[0186]
训练模块94,用于针对训练集中的样本数据,对所述样本数据进行分类标记,并根据所述分类标记生成样本条件向量;生成样本随机分布向量,将所述样本随机分布向量和所述样本条件向量输入数据脱敏对抗网络模型中的生成模型中,所述生成模型输出样本脱敏数据;将所述样本脱敏数据和所述样本条件向量输入数据脱敏对抗网络模型中的判别模型中,所述判别模型输出所述样本脱敏数据为真样本的第一概率;将所述样本数据和所述样本条件向量输入所述判别模型中,所述判别模型输出所述样本数据为真样本的第二概率;根据所述第一概率和第二概率,训练所述生成模型和判别模型。
[0187]
所述训练模块94,具体用于采用wgan方法,计算所述第一概率和第二概率之间的wasserstein距离,根据所述wasserstein距离,训练所述生成模型和判别模型。
[0188]
所述训练模块94,具体用于采用差分隐私算法,在参数更新之前对确定的梯度进行裁剪,并添加随机噪声;根据裁剪并添加随机噪声后的梯度进行参数更新。
[0189]
所述训练模块94,具体用于分别确定生成对抗网络和条件生成对抗网络的联合损失函数、包括期望和方差的统计信息损失函数和合页损失函数,根据所述联合损失函数、统计信息损失函数和合页损失函数确定目标损失函数和对应的梯度。
[0190]
本发明实施例中还提供了一种电子设备,如图10所示,包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;
[0191]
所述存储器303中存储有计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:
[0192]
获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;
[0193]
生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱
敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;
[0194]
基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
[0195]
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与数据脱敏方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
[0196]
本发明实施例提供的电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personal digital assistant,pda)、网络侧设备等。
[0197]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0198]
通信接口302用于上述电子设备与其他设备之间的通信。
[0199]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0200]
上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0201]
在本发明实施例中处理器执行存储器上所存放的程序时,实现获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
[0202]
由于在本发明实施例中,预先训练完成有数据脱敏对抗网络模型,数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练得到。数据脱敏对抗网络模型训练完成后,判别模型难以区分生成模型得到的脱敏数据与原始数据的真假,因此基于数据脱敏对抗网络模型得到的脱敏后的数据安全性好。并且在生成脱敏后的数据时获取待处理的原始数据,对原始数据进行分类标记,并根据分类标记生成条件向量。生成随机分布向量后,将随机分布向量和条件向量输入数据脱敏对抗网络模型,基于数据脱敏对抗网络模型中的生成模型,输出原始数据对应的脱敏后的数据。加入条件向量优化脱敏后的数据,脱敏后的数据包括数值信息和类别信息。因此脱敏后的数据可用性好。
[0203]
本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
[0204]
获取待处理的原始数据,对所述原始数据进行分类标记,并根据所述分类标记生成条件向量;
[0205]
生成随机分布向量,将所述随机分布向量和所述条件向量输入预先训练的数据脱敏对抗网络模型,其中,所述数据脱敏对抗网络模型包括生成模型和判别模型,所述生成模型和判别模型是通过对抗学习进行训练;
[0206]
基于所述数据脱敏对抗网络模型中的生成模型,输出所述原始数据对应的脱敏后的数据,其中所述脱敏后的数据包括数值信息和类别信息。
[0207]
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题的原理与数据脱敏方法相似,因此处理器在执行上述计算机可读存储介质存储的计算机程序的实施可以参见方法的实施,重复之处不再赘述。
[0208]
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd)等。
[0209]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0210]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0211]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0212]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0213]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献