基于隐私保护针对业务模型进行数据预处理的方法及装置与流程

文档序号:21696133发布日期:2020-07-31 22:36阅读:341来源:国知局

本说明书一个或多个实施例涉及计算机技术领域,尤其涉及基于隐私保护,利用至少一个业务方的隐私数据训练业务模型,并向各个业务方提供训练好的业务模型的方法及装置。



背景技术:

随着计算机技术的发展,获取数据的手段也越来越多。正是因为如此,各种业务处理过程中的数据隐私保护的重要度越来越高。尤其在多方联合计算领域,对各方业务数据的隐私保护更加重要。多个业务方联合训练业务模型,是多方联合计算的重要应用。

联邦学习(federatedlearning)是一个机器学习框架,它允许用户使用分布在不同位置的多个数据集来训练机器学习模型,同时防止数据泄露并遵守严格的数据隐私法规。联邦学习方案中,通常需要端设备上具备模型训练能力,能够在本地端上训练模型,同时需要高频跟云进行通信(上传/下载模型),同时为了保护隐私,终端设备之间可能要同步协商密钥机制。在这样的过程中,本说明书意在寻求一种方案,能够在多个终端联合训练机器学习模型过程中,减少终端设备的电耗消耗,以及通信量消耗。



技术实现要素:

本说明书一个或多个实施例描述了一种基于隐私保护针对业务模型进行数据预处理的方法及装置,用以解决背景技术提到的一个或多个问题。

根据第一方面,提供了一种基于隐私保护针对业务模型进行数据预处理的方法,用于基于至少一个业务方的隐私数据,对所述业务模型进行数据预处理,以分别向各个业务方提供业务模型,所述业务模型用于对相应业务数据进行处理,得到业务处理结果,所述方法包括:获取经过第一扰动数据扰动的第一业务数据,和第一业务数据对应的第一标签,以及经过第二扰动数据扰动的第二业务数据,和第二业务数据对应的第二标签,其中,第一扰动数据、第二扰动数据分别是提供第一业务数据的业务方、提供第二业务数据的业务方,按照预定分布随机生成的扰动数据;检测第一业务数据和第二业务数据的样本距离,其中,第一业务数据和第二业务数据的样本距离,利用基于第一扰动数据和第二扰动数据确定的辅助扰动数据确定,所述辅助扰动数据通过以下方式确定:随机生成参考向量并分别发送给各个业务方,以由单个业务方基于相应扰动数据对参考向量进行扰动并反馈相应的辅助向量;基于所述参考向量与各个辅助向量,确定统一描述参考向量与各个辅助向量之间关系的辅助扰动数据;根据所述样本距离,以及所述第一标签、第二标签之间的关系,调整所述业务模型的模型参数;将调整模型参数后的业务模型提供给各个业务方,从而使得各个业务方按照所提供的业务模型处理本地业务数据。

在一个实施例中,所述预定分布为均值为0、方差为1的高斯分布。

在一个实施例中,所述检测第一业务数据和第二业务数据的样本距离包括:分别用所述辅助扰动数据中与所述第一业务数据对应的第一向量、与所述第二业务数据对应的第二向量,代替所述第一业务数据、所述第二业务数据,确定所述第一业务数据和第二业务数据的样本距离。

在一个实施例中,所述根据所述样本距离,以及所述第一标签、第二标签之间的关系,调整所述业务模型的模型参数包括:根据所述样本距离,以及所述第一标签、第二标签之间的关系,确定所述业务模型的损失;向所述损失减小的方向调整所述业务模型的模型参数。

在一个实施例中,所述损失与所述样本距离负相关。

在一个实施例中,所述业务数据包括以下中的至少一项:图片、字符、音频、动画。

根据第二方面,提供一种基于隐私保护针对业务模型进行数据预处理的装置,用于基于至少一个业务方的隐私数据,对所述业务模型进行数据预处理,以分别向各个业务方提供业务模型,所述业务模型用于对相应业务数据进行处理,得到业务处理结果,所述装置包括:

获取单元,配置为获取经过第一扰动数据扰动的第一业务数据,和第一业务数据对应的第一标签,以及经过第二扰动数据扰动的第二业务数据,和第二业务数据对应的第二标签,其中,第一扰动数据、第二扰动数据分别是提供第一业务数据的业务方、提供第二业务数据的业务方,按照预定分布随机生成的扰动数据;

检测单元,配置为检测第一业务数据和第二业务数据的样本距离,其中,第一业务数据和第二业务数据的样本距离,利用基于第一扰动数据和第二扰动数据确定的辅助扰动数据确定,所述辅助扰动数据通过以下方式确定:随机生成参考向量并分别发送给各个业务方,以由单个业务方基于相应扰动数据对参考向量进行扰动并反馈相应的辅助向量;基于所述参考向量与各个辅助向量,确定统一描述参考向量与各个辅助向量之间关系的辅助扰动数据;

处理单元,配置为根据所述样本距离,以及所述第一标签、第二标签之间的关系,调整所述业务模型的模型参数;

提供单元,配置为将调整模型参数后的业务模型提供给各个业务方,从而使得各个业务方按照所提供的业务模型处理本地业务数据。

根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。

根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。

通过本说明书实施例提供的方法和装置,在对业务模型进行数据预处理过程中,接收各个业务方上传扰动后的隐私数据,并基于隐私数据统一训练业务模型,从而向各个业务方提供训练好的业务模型。其中,各个业务方对隐私数据进行扰动过程中,采用预先确定分布的扰动数据,并利用这种分布一致的扰动数据可以由一份通用扰动数据代替的特性,将样本距离近似为通用扰动数据的数值计算。基于这种原理,采取特定的技术特征,使得各个业务方在基于隐私保护的业务模型的数据预处理过程中,仅上传扰动后的隐私数据和辅助向量,进行两次数据通信,并且产生较少的计算量,提高数据处理效率。

附图说明

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

图1示出本说明书技术方案的一个具体实施架构示意图;

图2示出根据一个实施例的基于隐私保护针对业务模型进行数据预处理的方法流程图;

图3示出根据一个具体例子的确定辅助扰动数据的方法流程图;

图4示出根据一个实施例的基于隐私保护针对业务模型进行数据预处理的装置的示意性框图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

首先,结合图1示出的一个具体实施架构进行说明。如图1所示,是一个由多个业务方共同训练业务模型的具体实施架构。在该实施场景中,通过计算平台实现多个业务方联合业务模型的数据预处理过程,从而获取可用的业务模型。各个业务方可以分别通过客户端1、客户端2、客户端3等与计算平台交互。这里的计算平台可以是设于服务端、可信第三方的计算平台,或者分布于各个业务方的分布式计算平台,等等。图1的示例中,计算平台设于云服务端。

具体地,各个业务方可以将样本数据进行扰动,生成扰动数据上传至计算平台,从而保护自有数据的数据隐私。这里的样本数据可以包括字符、图片、音频、视频、动画等中的至少一项。样本数据通常是与业务场景相关的业务数据。例如,表单页面转化率场景下,样本数据可以包括用户浏览轨迹、点击偏好、近期浏览记录等等,用户金融违约风险场景下,样本数据可以包括年龄、性别、收入、历史违约记录等等。

计算平台可以根据各个业务方发送来的扰动数据,在不获取其原始样本数据的情形下,训练业务模型。并将训练好的业务模型下发给各个业务方对应的客户端。可以理解,由于计算平台接收到的是经过扰动的业务数据,直接根据接收到的业务数据训练业务模型可能得到不够准确的结果。因此,在本说明书的技术架构下,设想通过业务数据之间的相似性的思想,训练业务模型。也就是说,对于任意两条特征相似性或样本距离满足预定条件的业务数据,其样本标签理论上是对应一致的。

通常,样本标签可以对应类别,业务模型通常对应的是分类问题。简单地说,具有相同标签的训练样本为一个类别。这种分类可以通过支持向量机(svm)、聚类等方式实现。具有相同标签的训练样本对应的业务数据分布一致。任意两个训练样本的样本距离,体现出业务数据分布的一致性。这里的任意两个训练样本可以来自同一业务方,也可以来自不同的业务方。

可以理解,在隐私保护情形下,计算平台并不能获取真实的样本数据,也无法真实确定样本距离。为了能够顺利确定损失,本说明书技术构思下,设想利用一种近似方式,为样本距离的分布提供一种近似确定方案。具体而言,可以使得各个业务方生成的扰动数据满足相似的分布。这样,如果可以通过一种方式对这种相似分布的扰动数据统一描述,则可以将样本距离的计算近似到同一描述的扰动数据。这种思想的原理支撑如下。

对于两条任意的业务数据,假设其特征向量分别记为,其中,u和v分别表示业务方,u和v可以表示相同的业务方,也可以表示不同的业务方。则这两条业务数据对应的样本距离例如可以用下式来描述:

然而,计算平台并不能获取精确的,也就无法真实确定他们之间的关系。因此,需要寻求一种方式,可以近似替代这种关系的描述结果。近似的方向是,可以保证近似结果与描述各条业务数据对应的特征向量之间的相似性关系具有一致的趋势。例如两组特征向量的相似度值为1和0.8,近似结果分别为0.7和0.52等等,那么这种近似结果仅相当于变换一种度量方式,就可以认为是能有效描述特征向量之间的相似度关系的一种近似。

基于这种理论基础,由于各个业务方均按照预定分布生成扰动数据,那么,设想假设有一个共用的扰动数据,可以近似替代各个业务方的扰动数据。

则有:

其中,分别为扰动后的业务数据对应的向量,为扰动数据的反向扰动数据,即,扰动后的业务数据经过的处理,可以得到原始业务数据,分别为对应的扰动数据中的第i行和对应的扰动数据中的第j行。实践表明,满足预定分布的各个扰动数据足够小的情况下,通用的扰动数据可以大致满足预定分布,从而可以近似代替各个业务方的扰动数据。

也就是说,样本业务数据的分布状态可以被一个统一的扰动数据的分布状态取代。如果有一个对各个业务方的扰动数据统一描述的扰动数据,可以表示各个业务方本身的扰动数据,则以上样本距离转化为可以用通用的扰动数据近似描述和计算的参数。

例如:

这样,这两条样本数据之间的样本距离,可以近似用扰动数据的计算代替。其中,业务模型例如可以是支持向量机、聚类模型等等。值得说明的是,以上原理中给出了确定样本距离的一种具体示例,在其他实施例中,样本距离也可以通过其他方式描述,例如业务特征向量的点积等。按照以上相似的原理,其他形式的样本距离也可以近似成扰动数据来计算,在此不再赘述。

基于这种原理和构思,本说明书提供了基于隐私保护针对业务模型进行数据预处理的技术方案。可以理解,以上原理可以适用于多方联合计算中的各种业务模型数据预处理过程,例如各个业务方针对相同样本提供不同维度业务数据进行组合(垂直切分)的情形,或者各个业务方针对不同样本提供独立业务数据(水平切分)的情形,尤其适应于各个业务方针对不同样本提供独立业务数据(水平切分)的情形。

值得说明的是,图1示出的计算平台、客户端等的数量和设置形式仅为示例性的,在实践中,其可以是根据实际需求设置的任意数量,在此不作限定。客户端可以是计算机、平板电脑、智能手机或其他具有一定通信能力的设备,在此不做限定。

下面详细描述本说明书技术构思。

图2示出了根据本说明书一个实施例的基于隐私保护针对业务模型进行数据预处理的流程示意图。该流程可以基于至少一个业务方的隐私数据,对业务模型进行数据预处理,以分别向各个业务方提供业务模型。其中,业务模型可以用于对相应业务数据进行处理,得到业务处理结果,例如是各种机器学习模型。业务数据可以是与业务场景相关的各种数据。例如图片、字符、视频、音频、动画等。业务处理结果和业务场景相关,例如目标识别的分类结果、风险预测的打分结果等等,在此不做限定。

各个业务方的隐私数据,在本说明书中可以理解为,业务方基于自有数据提供的、不愿或不宜被其他方知晓的数据,例如对业务方的客户信息数据等。隐私数据也可以是原始业务数据被加密或扰动处理后的数据。

该流程的执行主体可以是具有一定计算能力的计算机、设备、服务器等,例如图1示出的计算平台。可以理解的是,在基于隐私保护针对业务模型进行数据预处理的流程中,该流程的执行主体可以与多个终端或业务方进行交互。这些终端或业务方在交互过程中可以具有同等地位。

如图2所示,该流程包括:步骤201,获取经过第一扰动数据扰动的第一业务数据,和第一业务数据对应的第一标签,以及经过第二扰动数据扰动的第二业务数据,和第二业务数据对应的第二标签,其中,第一扰动数据、第二扰动数据分别是提供第一业务数据的业务方、提供第二业务数据的业务方,按照预定分布随机生成的扰动数据;步骤202,检测第一业务数据和第二业务数据的样本距离,其中,第一业务数据和第二业务数据的样本距离,利用基于第一扰动数据和第二扰动数据确定的辅助扰动数据确定,该辅助扰动数据通过以下方式确定:随机生成参考向量并分别发送给各个业务方,以由单个业务方基于相应扰动数据对参考向量进行扰动并反馈相应的辅助向量;基于参考向量与各个辅助向量,确定统一描述参考向量与各个辅助向量之间关系的辅助扰动数据;步骤203,根据上述样本距离,以及第一标签、第二标签之间的关系,调整业务模型的模型参数;步骤204,将调整模型参数后的业务模型提供给各个业务方,从而使得各个业务方按照所提供的业务模型处理本地业务数据。

首先,在步骤201中,获取经过第一扰动数据扰动的第一业务数据,和第一业务数据对应的第一标签,以及经过第二扰动数据扰动的第二业务数据,和第二业务数据对应的第二标签。可以理解,各个业务方分别可以预先收集有作为训练样本的业务数据,这些业务数据分别对应有样本标签。为了保护数据隐私,各个业务方可以通过相应的扰动数据对其各条业务数据进行扰动,并将扰动后的业务数据上传。

举例而言,第一方可以通过第一扰动数据对其各条业务数据进行扰动,并将扰动后的业务数据上传。第二方可以通过第二扰动数据对其各条业务数据进行扰动,并将扰动后的业务数据上传。在多个业务方还包括其他业务方的情况下,其他方还可以通过其他扰动数据对其自有业务数据进行扰动,并将扰动后的业务数据上传。这种扰动处理可以采用差分隐私、修改预定数量数值、加噪声等方式实现。这里,第一方和第二方可以是多个业务方中的任意业务方。

以加噪声为例,可以针对业务数据,生成噪声矩阵或向量以进行扰动。生成的噪声矩阵或向量,其元素值通常满足一定的分布,例如高斯分布、泊松分布等。通常,为了保持数据处理的一致性,各个业务方使用的扰动数据可以具有一致的分布,例如都是满足预定均值(如0)、预定方差(如1)的高斯分布。

作为一个具体示例中,高斯分布噪声的概率密度函数记为:

其中,为预定方差,为预定均值。当为x多次随机取值时,生成符合n()的高斯分布噪声元素。各个噪声元素构成噪声矩阵,噪声矩阵可以理解为采用加噪声的方式生成的扰动矩阵。

各个业务方对自有业务数据的处理方式类似,则生成具有相似分布的扰动数据。可以理解的是,多份扰动数据的分布相似或相同时,其仍然可以具有数值差异。例如,(0.2,0.1,0,-0.1,-0.2)和(0.01,-0.01,0.2,-0.2,0)都可以是预定分布(均值0方差0.1)下的扰动数据。

其中,第一业务数据和第二业务数据可以来自同一业务方,也可以来自不同的业务方。在第一业务数据和第二业务数据来自同一业务方的情况下,第一扰动数据和第二扰动数据可以是同一份扰动数据,也可以是不同的扰动数据。在第一业务数据和第二业务数据来自不同业务方的情况下,假设从第一方获取经过第一扰动数据扰动的第一业务数据,以及第一业务数据对应的第一标签,从第二方获取经过第二扰动数据扰动的第二业务数据,以及第二业务数据对应的第二标签。将任意业务数据称为第一业务数据,则第一业务数据可以对应第一标签。

在一个实施例中,单个业务方(如第一方)可以对各条业务数据分别添加扰动,也就是说,针对各条业务数据,分别生成扰动数据。例如,第一方针对其拥有的第一条业务数据生成第一扰动数据,并将第一扰动数据添加至第一条业务数据,得到扰动后的第一业务数据。同样,第一方针对其拥有的第二条业务数据生成第二扰动数据,并将第二扰动数据添加至第二条业务数据,得到扰动后的第二业务数据。第一业务数据可以表示为向量的形式。扰动数据也可以表示为向量形式,因此,对业务数据的扰动过程可以转化为向量处理过程。利用扰动数据对相应业务数据进行扰动的方式例如是叠加、矩阵点乘(对应元素按位相乘)等。可以理解,通过业务数据可以提取各个训练样本的业务特征向量。可选地,该实施方式下,各条业务数据也可以对应相同的扰动数据。可以理解的是,在单条业务数据是图片,业务特征是各个像素的颜色值的情况下,单条业务数据可以对应一个特征矩阵,扰动数据可以是与特征矩阵维度一致的扰动矩阵,对单条业务数据的扰动可以是将扰动数据叠加到特征矩阵。

在另一个实施例中,单个业务方对应一份扰动数据,该扰动数据可以是矩阵形式。举例而言,假设可以通过各条业务数据提取各个训练样本的业务特征向量,第一方的多个训练样本的业务特征向量可以构成第一特征矩阵x。相应地,各个训练样本对应的样本标签按照顺序排列,可以构成第一标签向量y。这种情况下,单个业务方可以针对其个条业务数据的特征矩阵x生成扰动矩阵r,然后,利用扰动矩阵r处理特征矩阵x,得到扰动后的特征矩阵x'。此时,扰动矩阵r中的各个元素值满足预定分布。可以理解,在预定分布下,元素值的数量越多,扰动值可能越小(预定分布包括预定方差等)。可选地,在业务数据为图片,业务特征为图片上各个像素的颜色值的情况下,可以将各个图片对应的特征矩阵展开成向量形式,从而各条业务数据的业务特征组合为特征矩阵。其中,图片的像素数量不一致时,可以补全为一致维度的像素,例如4080×2720等等。例如可以在不足4080×2720像素的其他位置补0。

值得说明的是,业务特征可以是与业务处理相关的特征的数值表示。例如,通过转账次数提取的业务特征可以是与转账频次正相关的数值。多个业务特征对应的数值可以构成业务特征向量,业务特征向量的各个维度分别可以对应各个业务特征。在对业务特征矩阵进行整体扰动的情况下,扰动方式不同,相应的扰动矩阵形式也不同。

业务特征向量可以是行向量,也可以是列向量。在本说明书实施例中,以业务特征向量是列向量进行说明。多个训练样本的业务特征向量组合在一起,可以形成业务特征矩阵。假设样本数量为n,业务特征数量为p。则业务特征矩阵x例如可以是n行p列的矩阵。

在一种可选的实现方式中,扰动矩阵r可以是和特征矩阵x维度一致的矩阵,例如都是n行p列。此时,特征矩阵经过扰动矩阵扰动的方式可以为叠加扰动或者矩阵点乘的扰动方式。以叠加扰动为例,将扰动矩阵r叠加到特征矩阵x,得到扰动后的特征矩阵x'。如特征矩阵的第一行第一列的元素为x11,扰动矩阵的第一行第一列的元素为r11,则扰动后的业务矩阵的第一行第一列的元素可以为x11+r11。如此,可以对特征值本身进行独立扰动。

在另一个可选的实施例中,扰动矩阵r中,行数与特征矩阵x的列数(如p)一致,列数可以根据业务需要设置,如q。此时,通过扰动矩阵r对特征矩阵x进行扰动可以采用矩阵叉乘的扰动方式。也就是说,扰动后的特征矩阵为特征矩阵x和扰动矩阵r的乘积。这样,扰动后的特征矩阵x'的行数与特征矩阵x的行数(本说明书中为样本数)一致,列数和扰动矩阵r一致,如维数为n×q。这相当于对特征矩阵x进行了进一步的特征提取,从而隐藏样本的原始特征数据。

在其他实施例中,扰动矩阵r还可以通过其他方式对特征矩阵进行扰动,在此不再赘述。以上详细介绍了通过扰动数据对业务数据的扰动方式,各个业务方均可以采用类似的方式对自有业务数据进行扰动。可以理解的是,由于生成扰动值过程中具有一定的随机性,因此,各个业务方按照相似的方式生成的扰动矩阵也不相同,但他们可以满足一致的分布。如此,有利于保护各个业务方的数据不被其他方获取。

可以理解,标签通常是与业务模型的业务处理结果相对应的,其通常是固定的,如果也添加扰动,会使标签偏移,例如由正样本变为负样本。因此,标签通常不进行扰动。各个终端或业务方通常可以将扰动后的业务数据,以及相应的标签一起发送给该流程的执行主体。

对于单个业务方而言,扰动后的业务数据及相应的样本标签可以是单独的训练样本数据形式,也可以是包含在扰动后的特征矩阵,以及标签向量里面的数据,本说明书对此不做限定。

接着,在步骤202中,检测第一业务数据和第二业务数据的样本距离。可以理解,基于前述的原理,在本步骤202中,可以将第一业务数据和第二业务数据的样本距离近似为利用扰动数据的计算结果。这里用于近似样本距离计算的扰动数据是可以用来近似各个业务方分别提供的扰动数据的通用扰动数据。

为了得到可以近似各个业务方提供的扰动数据的通用扰动数据,本说明书的技术构思下,可以构造参考向量,发送给各个业务方,各个业务方利用自有的扰动数据,对参考向量进行扰动得到辅助向量,反馈扰动后的辅助向量。这样,根据参考向量和多份辅助向量,可以确定一个通用的扰动数据,来近似各个业务方的扰动数据,进而可以利用通用的扰动数据检测任意两条业务数据之间的样本距离。

具体地,如图3所示,在步骤301中,随机生成参考向量,并分别发送给各个业务方。

其中,参考向量的生成方式可以是任意的随机数据生成方式。参考向量的维度可以根据各个业务方生成的扰动数据的维度确定,以便各个业务方可以对其进行处理。例如,扰动数据为p×q维矩阵或1×p维向量,参考向量可以是1×p维向量。可选地,为了使得数据偏差可控,参考向量也可以按照一定的分布生成,例如和扰动数据相似的分布,如均值为0方差为1的高斯分布。

将随机生成的参考向量分别发送给各个业务方,单个业务方(例如第一方)可以基于相应扰动数据(如第一扰动数据)对参考向量进行扰动并反馈相应辅助向量(如第一辅助向量)。

以第一方为例,可以利用第一扰动数据向参考向量叠加、相乘等,对参考向量进行扰动,生成第一辅助向量。将参考向量记为z,则在一个具体例子中,第一辅助向量z1'可以表示为:

z1'=z*r

通常,直接利用叠加或点乘的方式对参考向量进行扰动,较容易反推出扰动数据,泄露数据隐私。因此,还可以对参考向量进行稍复杂的处理。在可选的实现方式中,单个业务方可以在利用相应扰动数据对参考向量z之前,还可以对z进行其他方式的扰动,以更好地保护数据隐私(避免其他方从z1'和z推断出第一扰动数据r)。例如在参考向量上叠加一个噪声数据,再利用扰动数据对其进行处理。如:

z1'=(z+noise1)*r

其中,noise1为第一方生成的噪声向量,该噪声向量也可以按照诸如高斯分布、泊松分布之类的分布生成,在此不再赘述。其他方可以采用与第一方类似的方式处理参考向量,分别得到各个辅助向量。

有了各个业务方发送来的辅助向量,可以在步骤302中,基于参考向量和各个辅助向量,确定统一描述参考向量与各个辅助向量之间关系的辅助扰动数据。这里的辅助扰动数据可以是前文提到的可以近似代替各个业务方的扰动数据的通用的扰动数据。

在一个实施例中,可以通过诸如线性回归的方式确定辅助扰动数据。在扰动数据为扰动矩阵的情况下,辅助扰动数据是一个与各个业务方的扰动数据行、列都一致的矩阵。假设辅助扰动数据记为r',则有:

z'=z*r'+b

其中,z为步骤301中随机生成的参考向量,z'是执行主体接收的各个业务方反馈的辅助向量,b为常数向量。由于z是已知的,根据从多个业务方获取的z',可以利用诸如逻辑回归之类的方式确定辅助扰动数据r'和常数向量b。

有了辅助扰动数据r',可以基于前述的,诸如用ri代替xui之类的方式,检测两条任意的业务数据之间的样本距离,包括检测第一业务数据和第二业务数据的样本距离。由于第一业务数据和第二业务数据的样本距离中,各项可以通过第三扰动数据r'中的相应向量近似,因此,可以通过查询辅助扰动数据r'中的相应向量,确定任意两条业务数据的距离,在此不再赘述。

进一步地,在步骤203中,根据样本距离,以及第一标签、第二标签之间的关系,调整业务模型的模型参数。可以理解,业务模型不同,调整模型参数的原理和过程也不相同。

作为一个具体示例,在业务模型为支持向量机(svm)的情况下,可以根据如下形式的损失函数调整模型参数:

其中,表示业务数据i和业务数据j的业务距离,分别表示相应的样本标签,为拉格朗日参数,也是待调整的模型参数,n为样本数据总量。

在业务模型是其他业务模型的情况下,还可以通过其他方式调整模型参数,在此不再赘述。其中,第一标签和第二标签可以直接根据业务数据获取,还可以从标签向量的相应位置获取。

进一步地,在步骤204中,将调整模型参数后的业务模型提供给各个业务方。各个业务方可以按照所提供的业务模型处理本地业务数据,例如,利用所提供的业务模型处理图片数据,得到目标识别结果或者分类结果,利用所提供的业务模型处理用户行为数据,预测用户感兴趣的推送信息,等等。

回顾以上过程,本说明书实施例提供的方法,在对业务模型进行数据预处理过程中,各个业务方将扰动后的隐私数据上传至执行主体,由执行主体基于隐私数据统一训练业务模型,并向各个业务方提供训练好的业务模型。其中,各个业务方对隐私数据进行扰动过程中,采用分布一致的扰动数据,并利用这种分布一致的扰动数据可以由一份通用扰动数据代替的特性,将样本距离近似为通用扰动数据进行计算。基于这种原理,采取特定的技术特征,使得基于隐私保护的业务模型的数据预处理过程中,各个业务方仅上传扰动后的隐私数据和辅助向量,进行两次数据通信,并且较少的计算量,提高数据处理效率,减少终端数据处理压力,降低对终端的性能需求。

根据另一方面的实施例,还提供一种基于隐私保护针对业务模型进行数据预处理的装置。其中,这里的业务数据可以是文字(字符)、图片、音频、视频、动画等各种类型的数据。业务模型可以用于对相关业务数据进行处理,以确定相应的业务处理结果。

如图4所示,基于隐私保护针对业务模型进行数据预处理的装置400包括:

获取单元41,配置为获取经过第一扰动数据扰动的第一业务数据,和第一业务数据对应的第一标签,以及经过第二扰动数据扰动的第二业务数据,和第二业务数据对应的第二标签,其中,第一扰动数据、第二扰动数据分别是提供第一业务数据的业务方、提供第二业务数据的业务方,按照预定分布随机生成的扰动数据;

检测单元42,配置为检测第一业务数据和第二业务数据的样本距离,其中,第一业务数据和第二业务数据的样本距离,利用基于第一扰动数据和第二扰动数据确定的辅助扰动数据确定,辅助扰动数据通过以下方式确定:随机生成参考向量并分别发送给各个业务方,以由单个业务方基于相应扰动数据对参考向量进行扰动并反馈相应的辅助向量;基于参考向量与各个辅助向量,确定统一描述参考向量与各个辅助向量之间关系的辅助扰动数据;

处理单元43,配置为根据样本距离,以及第一标签、第二标签之间的关系,调整业务模型的模型参数;

提供单元44,配置为将调整模型参数后的业务模型提供给各个业务方,从而使得各个业务方按照所提供的业务模型处理本地业务数据。

根据一个实施例,上述预定分布为均值为0、方差为1的高斯分布。

根据一个实施例,检测单元42进一步配置为:

分别用辅助扰动数据中与第一业务数据对应的第一向量、与第二业务数据对应的第二向量,代替第一业务数据、第二业务数据,确定第一业务数据和第二业务数据的样本距离。

根据一个实施例,处理单元43进一步可以配置为:

根据样本距离,以及第一标签、第二标签之间的关系,确定业务模型的损失;

向损失减小的方向调整业务模型的模型参数。

根据一个进一步的实施例,上述损失与样本距离负相关。

在可选的实施方式中,业务数据包括以下中的至少一项:图片、字符、音频、动画。

值得说明的是,图4所示的装置400是与图2示出的方法实施例相对应的装置实施例,图2示出的方法实施例中的相应描述同样适用于装置500,在此不再赘述。

根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。

根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所示的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

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