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

文档序号:21103191发布日期:2020-06-16 21:01阅读:359来源:国知局
基于隐私保护对业务模型进行数据预处理的方法及装置与流程

本说明书一个或多个实施例涉及计算机技术领域,尤其涉及基于隐私保护对业务模型进行数据预处理,以及通过业务模型处理业务数据的方法及装置。



背景技术:

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

常规技术中,保护数据隐私通常由各种安全计算方法,例如秘密共享、协同加密等方式实现。实际上,保护数据隐私还可以通过一种可行的硬件解决方案实现,例如可信执行环境trustedexecutionenvironments(tees)。在tee中,不论是bios、操作系统等均无法窥视用户隐私数据,因此可以很好保护用户隐私。使用sgx在tee中运行的代码可以在源自处理器的平台或应用程序内生成签名证明,并提供代码已在受信任环境中正确初始化的身份验证。sgx是一项复杂的技术,可以通过一组cpu指令,使得应用程序获取隔离代码和数据的特定可信区域。sgx可以提供一个安全的飞地(enclave,也可以称为可信容器),以保护敏感数据或代码免受外部干扰或检查。

然而,由于tee技术的存储空间通常较小,常规技术往往利用tee技术做相关的数据处理和查询。为了充分利用可信计算技术,本说明书提供一种利用可信执行环境进行机器学习模型训练的方法,可以基于隐私保护,提高模型训练的效率。



技术实现要素:

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

根据第一方面,提供了一种基于隐私保护对业务模型进行数据预处理的方法,其中,所述业务模型用于对相关业务数据进行处理,以确定相应的业务处理结果,所述业务模型包括,设于可信的第一环境中的第一部分和设于第二环境中的第二部分;所述方法在所述第一环境中执行,包括:获取第一样本数据,所述第一样本数据包括第一业务数据及第一样本标签;利用所述第一部分对所述第一业务数据进行处理,得到第一中间向量;利用预定的编码方式对所述第一业务数据进行语义编码,得到第二中间向量,所述第二中间向量与所述第一中间向量维度一致;检测所述第一中间向量与所述第二中间向量的第一相似性;在所述第一相似性不满足预定条件的情况下,更新所述第一部分和所述第二部分的分配份额,使得更新后的第一部分在所述业务模型中的占比提高,从而利用更新后的第一部分和第二部分,进行所述业务模型的数据预处理。

在一个实施例中,所述第一相似性通过所述第一中间向量和所述第二中间向量的相似度来衡量,所述预定条件包括,所述第一中间向量与所述第二中间向量的相似度低于预定阈值。

在一个实施例中,在所述第一相似性满足预定条件的情况下,将所述第一中间向量及所述第一样本标签传递给所述第二部分,以根据所述第二部分反馈的梯度数据,调整所述第一部分的模型参数。

在一个实施例中,所述业务模型为n层神经网络,所述第一部分包括所述n层神经网络中排列靠前的m层,所述第二部分包括所述n层神经网络中排列靠后的n-m层,所述更新所述第一部分和所述第二部分的分配份额还包括:从所述第二部分中获取所述n层神经网络中的第m+1至第m+t层神经网络,从而将所述第一部分更新为所述n层神经网络中排列靠前的m+t层,将所述第二部分更新为所述n层神经网络中排列靠后的n-m-t层。

在一个进一步的实施例中,所述方法还包括:通过第m+1至m+t层神经网络处理所述第一中间向量,得到第三中间向量;检测所述第三中间向量与所述第二中间向量的第二相似性;在所述第二相似性满足所述预定条件的情况下,将所述第三中间向量传递给更新后的第二部分。

在一个更进一步的实施例中,在所述第三中间向量和所述第二中间向量维数不一致的情况下,所述检测所述第三中间向量与所述第二中间向量的第二相似性还包括:利用所述编码方式更新所述第二中间向量,使得更新后的第二中间向量与所述第三中间向量的维度一致;检测更新后的第二中间向量与所述第三中间向量的第二相似性。

在一个实施例中,所述方法还包括:在所述业务模型的模型指标满足预定的指标条件的情况下,根据所述第一部分的处理结果采集所述第一业务数据的指纹信息。

在一个实施例中,所述第一样本数据为由业务方加密后提供的加密数据,所述获取所述第一样本数据还包括:获取针对所述业务方的样本数据的认证标识;根据所述认证标识对所述加密数据进行认证;在认证通过的情况下,对所述加密数据进行解密,得到所述第一样本数据。

根据第二方面,提供一种基于隐私保护利用业务模型处理业务数据的方法,其中,所述业务模型用于对相关业务数据进行处理,以确定相应的业务处理结果,并通过第一方面提供的方式进行预处理,所述业务模型包括,设于可信的第一环境中的第一部分和设于第二环境中的第二部分;所述方法在所述第一环境中执行,包括:获取待处理的当前业务数据;利用所述第一部分对所述当前业务数据进行处理,得到当前中间向量;将所述当前中间向量传递至所述第二部分,以供所述第二部分基于对所述当前中间向量的处理,确定针对所述当前业务数据的业务处理结果。

根据第三方面,提供一种基于隐私保护对业务模型进行数据预处理的装置,其中,所述业务模型用于对相关业务数据进行处理,以确定相应的业务处理结果,所述业务模型包括,设于可信的第一环境中的第一部分和设于第二环境中的第二部分;所述装置设于所述第一环境中,包括:

获取单元,配置为获取第一样本数据,所述第一样本数据包括第一业务数据及第一样本标签;

处理单元,配置为利用所述第一部分对所述第一业务数据进行处理,得到第一中间向量;

编码单元,配置为利用预定的编码方式对所述第一业务数据进行语义编码,得到第二中间向量,所述第二中间向量与所述第一中间向量维度一致;

检测单元,配置为检测所述第一中间向量与所述第二中间向量的第一相似性;

更新单元,配置为在所述第一相似性不满足预定条件的情况下,更新所述第一部分和所述第二部分的分配份额,使得更新后的第一部分在所述业务模型中的占比提高,从而利用更新后的第一部分和第二部分,进行所述业务模型的数据预处理。

第四方面,提供一种基于隐私保护利用业务模型处理业务数据的装置,其中,所述业务模型用于对相关业务数据进行处理,以确定相应的业务处理结果,并通过第三方面提供的装置进行预处理,所述业务模型包括,设于可信的第一环境中的第一部分和设于第二环境中的第二部分;所述处理业务数据的装置设于所述第一环境,包括:

获取单元,配置为获取待处理的当前业务数据;

处理单元,配置为利用所述第一部分对所述当前业务数据进行处理,得到当前中间向量;

输出单元,配置为将所述当前中间向量传递至所述第二部分,以供所述第二部分基于对所述当前中间向量的处理,确定针对所述当前业务数据的业务处理结果。

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

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

通过本说明书实施例提供的方法和装置,在对业务模型进行数据预处理过程中,通过将业务模型的前半部分设置在可信的第一环境中,可以有效保护数据隐私。同时由于可信环境中的数据处理速度变慢,结合设置在第二环境中的第二部分,可以进行模型训练过程加速,提高数据处理效率。进一步地,在第一部分的处理结果不满足隐私保护要求的情况下,通过更新第一部分和第二部分的分配份额,实现业务模型的动态切分,可以保证第一部分的处理结果有效保护数据隐私。总之,本说明书实施例描述的技术方案可以提高基于隐私保护的数据预处理过程的有效性。

附图说明

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

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

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

图3示出根据一个实施例的基于隐私保护处理业务数据的方法流程图;

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

图5示出根据一个实施例的基于隐私保护处理业务数据的装置的示意性框图。

具体实施方式

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

首先,结合图1示出的一个具体实施场景进行说明。如图1所示,是一个由多个业务方共同训练业务模型的具体实施场景。在该实施场景中,业务方1、业务方2、业务方3等各个业务方可以联合通过计算平台训练业务模型。计算平台可以包括可信环境和普通环境两部分。

一方面,各个业务方可以将样本数据发送至计算平台的可信环境。这里的样本数据可以包括字符、图片、音频、视频、动画等中的至少一项。为了保护数据隐私,在图1示出的实施场景中,业务方可以将加密后的样本数据发送到计算平台的可信环境。

另一方面,由于可信环境的容量有限(例如为128兆字节),为了保证可信环境中的任务正常执行,计算平台可以检测业务模型的大小。在业务模型足够小,其和样本数据一起占用的存储和执行消耗空间不超过可信环境的执行容量(如128兆字节)或执行容量的预定占比(如90%)的情况下,计算平台可以将业务模型完全布置在可信环境。否则,计算平台可以将业务模型拆分为两部分,一部分布置在可信环境中,一部分布置在普通环境。如图1所示,可信环境中可以布置业务模型的第一部分,普通环境中可以布置业务模型的第二部分。其中,在业务模型是多层神经网络时,第一部分和第二部分可以按照神经网络层来划分,例如第一部分包括3层神经网络,第二部分包括5层神经网络。可选地,在一个实施例中,第二部分也可以设于第二可信环境中。

在模型训练过程中,计算平台可以首先通过可信环境中的第一部分,对样本数据进行处理,得到中间处理结果,例如是第2层神经网络各个神经元的输出。然后,将该中间处理结果传递给设于普通环境(也可以是第二可信环境)中的第二部分,由第二部分接着处理该中间处理结果。可以理解,第二部分处理该中间处理结果可以得到业务模型的输出结果。在业务模型为有监督模型的情况下,根据该输出结果与样本数据中的样本标签的对比,调整模型参数,从而训练业务模型。通常,调整模型参数的过程可以反向进行。例如,先在普通环境中反向逐层确定第二部分的各层神经网络中的模型参数的梯度,并根据梯度调整模型参数,然后根据第二部分的梯度计算结果,在可信环境中确定第一部分的模型参数的梯度,并调整第一部分中的模型参数。

可以理解的是,由于可信环境是严格保护数据隐私的,因此,除了上述的中间处理结果,无法获知第一部分中的其他模型参数及其他处理结果。而在可信环境中,为了保护数据隐私,数据处理速度变慢,为此,可以对于普通环境中第二部分的数据处理进行各种加速,从而抵消可信环境的数据处理耗费的时间,加快模型训练效率。

另外,为了保护数据隐私,第一部分的中间处理结果需要和样本数据进行区别。为此,计算平台还可以在可信环境中对样本数据进行编码处理,以获取样本数据的语义向量。所谓编码,可以理解为将输入序列转化成一个固定长度的向量,编码的过程可以用来解析输入的字符序列中的语言含义。用于获取语义向量的编码方式有多种,例如基于dnn的语义编码器、基于gbdt的编码器等,在本说明书中,计算平台可以选择其中的任意一种。在可选的实施例中,编码过程可以改变向量的维度,例如,对10维的特征向量进行处理得到20维向量,对100维向量处理得到30维向量。计算平台可以根据第一部分的中间处理结果的维度确定语义向量的维度。通常,为了便于处理,中间处理结果和语义向量具有相同维度。

由于语义向量包含了样本数据的信息,计算平台可以通过对比中间处理结果和语义向量,检测第一部分的处理结果是否能够有效保护数据隐私。具体地,如果两者差别较大(相似性较弱),则可以认为中间处理结果可以很好地保护业务数据隐私。否则,如果中间处理结果和语义向量较接近(相似度较强),则可以认为第一部分的处理无法保护样本数据的数据隐私。此时,可以扩大第一部分的分配份额,例如,将更多的神经网络层加入第一部分。这样,通过第一部分,可以对样本数据进行更深层次的处理,从而加大中间处理结果与原始样本数据的差距,保护数据隐私。

如此,通过可信环境与普通环境结合的方式,可以较好地保护样本数据隐私。进一步地,在普通环境可以进行数据运算加速,抵消可信环境带来的时间损耗,提高模型训练效率。

可选地,还可以根据第一部分对样本数据的中间处理结果记录样本指纹。为了使得输出样本指纹的神经网络层一致,可以在业务模型训练到一定程度,例如模型指标(如准确度、收敛性、召回率等)满足预定指标条件的情况下,记录后续各个样本数据对应的样本指纹。这样,在利用训练好的业务模型对业务数据进行处理时,如果出现异常,则可以采集其数据指纹,与样本指纹进行对比,可以进行如图1示出的“血缘查询”,即相似样本数据查询,为业务模型的维护者提供溯源素材,以供更好地改善模型,或为业务数据的处理结果提供一定的解释(是业务模型具有一定的可解释性)。

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

图2示出了根据本说明书一个实施例的基于隐私保护对业务模型进行数据预处理的流程示意图。其中,业务模型可以分为两部分,称为第一部分和第二部分。其中,第二部分的数据处理依赖第一部分的数据处理结果。第一部分设于可信的第一环境,如图1示出的可信环境中,该可信环境例如是可信容器enclave。第二部分可以设于第二环境,第二环境可以是图1示出的普通环境,也可以是区别于第一环境的其他可信环境,例如另一个enclave,等等。该流程的执行主体可以是具有一定计算能力及能够创建可信环境的计算机、设备、服务器等,例如图1示出的计算平台。具体地,该流程可以由执行主体在第一环境中执行。

如图2所示,该流程包括:步骤201,获取第一样本数据,第一样本数据包括第一业务数据及第一样本标签;步骤202,利用第一部分对第一业务数据进行处理,得到第一中间向量;步骤203,利用预定的编码方式对第一业务数据进行语义编码,得到第二中间向量,第二中间向量与第一中间向量维度一致;步骤204,检测第一中间向量与第二中间向量的第一相似性;步骤205,在第一相似性不满足预定条件的情况下,更新第一部分和第二部分的分配份额,使得更新后的第一部分在业务模型中的占比提高,从而利用更新后的第一部分和第二部分,进行业务模型的数据预处理。

首先,通过步骤201,获取第一样本数据。这里,第一样本数据可以包括第一业务数据及第一样本标签。第一样本数据可以是样本数据中任意的一条数据。

第一样本数据可以来自于业务方。其中,业务方发送来的样本数据可以预先存储在本地,在对业务模型进行数据预处理过程中,从本地获取相应样本数据。业务方也可以逐条发送样本数据,当前样本数据可以从业务方实时获取。可选地,一条样本数据可以包括多个业务方发送的数据。

业务数据可以包括字符、图片、音频、视频、动画等中的至少一种。具体的业务数据内容可以根据业务场景而定。例如:业务场景为交通流量预测场景,单条业务数据可以包括用户性别、年龄、职业、出行记录、出行习惯等数据;业务场景为点击率预估场景,单条业务数据可以包括,所针对的页面/商品/超链接、用户历史浏览记录、浏览时长、历史点击记录、性别、年龄、购买记录等等;业务场景为金融违约风险预测场景,业务数据可以包括年龄、职业、收入、借款次数、借款金额、违约记录等等;业务场景为目标识别场景,业务数据可以是各种图片,等等。

在可选的实现方式中,为了避免恶意方恶意上传数据,浪费可信环境的计算资源,业务方发送的样本数据可以是加密数据。在一个实施例中,对于当前的加密数据,业务方可以添加相应的认证标识,可信环境可以预先获取相应认证标识(token),并对接收到的加密数据进行认证,认证通过后对加密数据进行解密。否则,不进行处理,或删除数据,或发送至普通环境处理,在此不作限定。其中,加密、解密、认证的方法可以是任意可行的相应方法,在此不再赘述。

接着,一方面,通过步骤202,利用第一部分对第一业务数据进行处理,得到第一中间向量。这里的第一部分可以是业务模型的前半部分。在业务模型是多层神经网络模型的情况下,第一部分可以是排列靠前的若干层神经网络,在业务模型是循环神经网络的情况下,第一部分可以是排列靠前的若干个神经网络周期,在业务模型是其他模型的情况下,第一部分可以包括能够独立运算的其他部分,在此不再一一列举。这里说的独立运算,可以理解为,能够获取当前部分的处理结果,并且与第二部分不存在交互处理的部分。

通过第一部分对第一业务数据的处理,可以得到一个中间向量,这里称为第一中间向量。在业务模型是循环神经网络的情况下,第一中间向量例如是第一部分的最后一层神经网络上各个神经元的输出结果。在业务模型是其他模型的情况下,第一中间向量可以是其他处理结果,在此不再赘述。

另一方面,还通过步骤203,利用预定的编码方式对第一业务数据进行语义编码,得到第二中间向量。可以理解,为了保护业务数据隐私,由第一环境输出的第一中间向量应与原始业务数据保持尽量大的差别。同时,由于原始业务数据经过了业务模型的第一部分的处理,如果直接与原始业务数据相比较,可能无法确定相似性结果。为此,在本步骤203中,可以利用预定的编码方式对第一业务数据进行语义编码,得到第二中间向量。

用于获取语义向量的编码方式有多种,例如基于dnn的语义编码器、基于gbdt的编码器等。在编码过程中,可以将第一业务数据或从中所提取的业务特征作为编码器的输入,得到与第一中间向量维度一致的语义向量,作为第二中间向量。第二中间向量包含第一业务数据的语义信息。

然后,在步骤204,检测第一中间向量与第二中间向量的第一相似性。可以理解,第一中间向量和第二中间向量的相似性可以通过诸如余弦相似度、欧氏距离之类的衡量指标进行衡量。相应地,相似性衡量指标即用于衡量第一中间向量与第二中间向量之间的相似性的指标,可以与其余弦相似度正相关,或者与欧氏距离负相关,等等。

以余弦相似度为例,假设第一中间向量a和第二中间向量b都是n维的向量,向量a与向量b的余弦相似度可以为,向量a和向量b中相应元素的乘积之和,与向量a的模和向量b的模的乘积的比值,如:

其中,分别为向量a和向量b的第i维度的元素值。可以理解,余弦相似度的结果在0-1之间取值,余弦相似度越靠近1,第一中间向量和第二中间向量越相似,越代表着第一部分对第一业务数据的处理过程不能很好地保护数据隐私。反之,第一中间向量与第二中间向量的余弦相似度越接近0,这两个向量差距越大,越代表着第一部分对第一业务数据的处理过程能够很好地保护数据隐私。

进一步地,可以根据步骤204中的相似性结果,对第一业务数据进行后续处理。在本说明书实施例中,第一相似性可能存在多种状态,例如较相似、不相似、介于相似和不相似之间等等,因此可以检测第一相似性是否满足预定条件,来确定对业务数据的后续处理流程。这里,预定条件可以是足以将第一中间向量和第一业务数据区分开的条件,从而使得他人无法通过第一中间向量推断相应第一业务数据。

在一个实施例中,第一相似性通过第一中间向量和第二中间向量的余弦相似度之类的相似性指标来衡量,这种相似性指标的量值越大,第一中间向量和第二中间向量越相似,上述预定条件可以包括,相似性指标低于预定阈值(如0.2)。

在另一个实施例中,第一相似性通过第一中间向量和第二中间向量的欧氏距离之类的相似性指标来衡量,这种相似性指标的量值越小,第一中间向量和第二中间向量越相似,上述预定条件可以包括,相似性指标高于预定阈值(如0.8)。

在其他实施例中,第一相似性还可以通过其他的相似性指标来衡量,相应地,上述预定条件也可以是其他条件(例如相似性指标落入指定区间等),本说明书对此不做限定。

根据一方面的实施方式,在第一相似性不满足预定条件的情况下,表明第一部分的处理结果无法有效保护样本数护具的数据隐私。此时,可以通过步骤205,改变第一部分和第二部分的分配份额。具体地,可以使得更新后的第一部分在所述业务模型中的占比提高。例如,将第二部分的若干模型结构转移到第一部分。

作为一个具体示例,假设业务模型为n层神经网络,当前的第一部分包括n层神经网络中排列靠前的m层,第二部分当前包括n层神经网络中排列靠后的n-m层,则可以从第二部分中获取n层神经网络中的第m+1至m+t层神经网络,从而将第一部分更新为n层神经网络中排列靠前的m+t层,将第二部分更新为n层神经网络中排列靠后的n-m-t层。其中t为大于等于1的正整数。当t=1时,将第m+1层神经网络由第二部分转移到第一部分。

在可选的实施例中,第一部分和第二部分神经网络被更新后,可以通过第m+1至m+t层神经网络处理第一中间向量,得到第三中间向量,并检测第三中间向量与第二中间向量的第二相似性。如果第二相似性满足上述预定条件,可以将第三中间向量传递给更新后的第二部分。值得说明的是,如果第m+t层的处理结果与第m层的处理结果具有不同的维度,则可以通过预定的编码方式对第二中间向量也进行相应处理,使得更新后的第二中间向量与第三中间向量具有相同维数。在另一个可选的实施例中,如果第二相似性仍不满足上述预定条件,则可以认为业务模型的设置存在问题,从而对业务数据的处理结果总保持与业务数据的一致性,此时,可以考虑改变业务模型的模型结构,或模型参数设置。

根据另一方面的实施方式,在第一相似性满足预定条件的情况下,可以通过步骤206,将第一中间向量即第一样本标签传递给第二部分。第二部分根据第一中间向量,可以对第一业务数据进行后续处理,直至得到最终的输出结果。根据第二部分的输出结果和第一样本标签的对比,可以确定第二部分的模型参数的梯度,以及与第一部分的模型参数的梯度相关的部分梯度。根据从第二部分反馈的梯度数据,可以调整第一部分的模型参数。

在第一相似性满足上述预定条件的情况下,表明第一中间向量可以满足保护数据隐私的要求,从而,可以将第一中间向量从第一环境输出到第二环境,以传递给第二部分继续对第一业务数据进行处理。在利用第二部分对第一业务数据进行处理的过程中,可以采用各种加速处理的方法进行加速。可以理解,为了不泄露数据信息,可信环境中的数据处理过程通常较慢,通过在普通环境中的加速处理,可以抵消可信环境数据处理过程中的时间损耗,提高对业务模型的数据预处理的效率。

根据一个可能的设计,由于第一环境中对业务数据的处理无法获知具体过程,而第二部分的业务数据处理结果可以获知中间过程,因此,在业务模型的训练过程中,还可以根据各条样本数据中的业务数据被第一部分处理得到的处理结果(例如第一中间向量或第三中间向量),作为相应样本数据的指纹信息,以在后续利用训练好的业务模型对业务数据进行处理过程中进行一定程度上的溯源操作。具体在后续的利用训练好的业务模型进行业务处理过程中描述。

可以理解的是,根据前述的模型训练过程,如果第一部分的处理结果不满足预定条件,业务模型的第一部分和第二部分的配置可能存在动态变化,这样的话,业务模型的设置动态变化前保存的指纹信息与后续保存的指纹信息所处的模型位置不一致,从而无法准确溯源。因此,在可选的实施例中,还可以在业务模型的模型指标满足预定的指标条件的情况下,将后续样本数据的第一中间向量确定为其指纹信息。模型指标例如模型参数收敛性、准确度、召回率等,相应的指标条件例如是模型参数趋于收敛、准确度大于预定阈值、召回率大于预定阈值等。

对于训练好的业务模型,可以用来进行业务数据的处理。下面详细介绍利用训练好的业务模型对业务数据处理的过程。

如图3所示,示出了根据一个实施例的基于隐私保护利用业务模型处理业务数据的流程。这里的业务模型可以是通过图2示出的流程训练的业务模型。用于对业务数据进行处理时,可以根据业务模型的大小来确定其在计算平台上的分布。在业务模型足够小的情况下,其可以完全分布于可信的第一环境,否则,其可以包括设于可信的第一环境中的第一部分,以及设于第二环境中的第二部分。特别地,在可能的设计中,为了更好地追溯业务数据和样本数据的血缘关系,利用业务模型对业务数据进行处理时,业务模型的设置和采集样本指纹数据时的设置一致。

图3示出的流程针对业务模型包括设于可信的第一环境中的第一部分,以及设于第二环境中的第二部分的情形,所述流程包括:步骤301,获取待处理的当前业务数据;步骤302,利用第一部分对当前业务数据进行处理,得到当前中间向量;步骤303,将当前中间向量传递至第二部分,以供第二部分基于对当前中间向量的处理,确定针对当前业务数据的业务处理结果。

首先,在步骤301中,获取待处理的当前业务数据。这里的当前业务数据可以由业务方提供。其可以包括字符、图片、音频、视频、动画等中的至少一种。具体的业务数据内容可以根据业务场景而定,参考步骤201中对样本数据中的业务数据的描述,在此不再赘述。

在可选的实现方式中,为了避免恶意方恶意上传数据,浪费可信环境的计算资源,业务方发送的样本数据可以是加密数据。在一个实施例中,对于当前的加密数据,业务方可以添加相应的认证标识,可信环境可以预先获取相应认证标识(token),并对接收到的加密数据进行认证,认证通过后对加密数据进行解密。否则,不进行处理,或删除数据,或发送至普通环境处理,在此不作限定。

接着,在步骤302中,利用第一部分对当前业务数据进行处理,得到当前中间向量。这里,当前中间向量是与当前业务数据相对应的中间向量。这里的第一部分可以是业务模型的前半部分。在业务模型是多层神经网络模型的情况下,第一部分可以是排列靠前的若干层神经网络,在业务模型是循环神经网络的情况下,第一部分可以是排列靠前的若干个神经网络周期,在业务模型是其他模型的情况下,第一部分可以包括能够独立运算的其他部分,在此不再一一列举。

然后,在步骤303,将当前中间向量传递至第二部分,以供第二部分基于对当前中间向量的处理,确定针对当前业务数据的业务处理结果。第二部分根据当前中间向量,可以对当前业务数据进行后续处理,直至得到最终的输出结果。

输出结果可以根据相关业务场景而定。举例而言,该输出结果例如是打分结果,例如对用户的金融违约风险性的打分结果、被识别为预定目标的可能性分数、文本敏感词的风险分数,等等。在其他示例中,该输出结果还可以是分类概率结果,等等。根据输出结果,可以确定对当前业务数据的业务处理结果。例如用户是否为金融违约高风险用户、车辆损伤部件及损伤程度、文本包含高风险敏感词,等等。

在对当前业务数据处理过程中,如果业务处理结果异常,可以将针对当前业务数据的当前中间结果作为当前业务数据的指纹信息,进行血缘追溯。例如取针对样本数据记录的指纹信息中查找与当前业务数据的指纹信息相似的样本指纹信息。该过程可以通过诸如余弦相似度、欧氏距离等向量相似度确定方法进行,在此不再赘述。当样本指纹信息与当前业务数据的指纹信息的向量相似度大于预定的相似度阈值时,可以认为当前业务数据与相应的包额样本数据具有一定的相似性。根据样本数据的相关记录(如样本标签等),可以对当前业务数据的业务处理结果进行解释。

回顾以上过程,本说明书实施例提供的方法,通过将业务模型的前半部分设置在可信的第一环境中,可以有效保护数据隐私。同时由于可信环境中的数据处理速度变慢,结合设置在第二环境中的第二部分,可以进行模型处理过程的加速,提高数据处理效率。进一步地,为了保护数据隐私,第一部分的处理结果需要与原始业务数据进行有效区分,为此,在对业务模型进行数据预处理过程中,引入另外一种编码处理方式对样本数据进行处理,通过两种数据处理结果的比较确定是否达到保护数据隐私的目的。如果不能达到该目的,对第一部分和第二部分实行动态切分,以保证第一部分的处理结果有效保护数据隐私。总之,本说明书实施例描述的技术方案可以提高基于隐私保护的数据预处理过程的有效性。

根据另一方面的实施例,还提供一种基于隐私保护对业务模型进行数据预处理的装置。其中,这里的业务数据可以是文字、图像、语音、视频、动画等各种类型的数据。业务模型可以用于对相关业务数据进行处理,以确定相应的业务处理结果。业务模型包括第一部分和第二部分,其中第一部分设于可信的第一环境中,第二部分设于第二环境中,基于隐私保护对业务模型进行数据预处理的装置设于第一环境中。

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

获取单元41,配置为获取第一样本数据,第一样本数据包括第一业务数据及第一样本标签;

处理单元42,配置为利用第一部分对第一业务数据进行处理,得到第一中间向量;

编码单元43,配置为利用预定的编码方式对第一业务数据进行语义编码,得到第二中间向量,第二中间向量与第一中间向量维度一致;

检测单元44,配置为检测第一中间向量与第二中间向量的第一相似性;

更新单元45,配置为在第一相似性不满足预定条件的情况下,更新第一部分和第二部分的分配份额,使得更新后的第一部分在业务模型中的占比提高,从而利用更新后的第一部分和第二部分,进行业务模型的数据预处理。

根据一个实施例,第一相似性通过第一中间向量和第二中间向量的相似度来衡量,预定条件包括,第一中间向量与第二中间向量的相似度低于预定阈值。

根据一种可能的设计,装置400还包括输出单元(未示出),配置为在第一相似性满足预定条件的情况下,将第一中间向量及第一样本标签传递给第二部分,以根据第二部分反馈的梯度数据,调整第一部分的模型参数。

在一个实施方式中,业务模型为n层神经网络,第一部分包括n层神经网络中排列靠前的m层,第二部分包括n层神经网络中排列靠后的n-m层,在第一相似性不满足预定条件的情况下,装置400还包括动态切分单元(未示出),配置为通过以下方式对业务模型进行动态切分:

从第二部分中获取n层神经网络中的第m+1至第m+t层神经网络,从而将第一部分更新为n层神经网络中排列靠前的m+t层,将第二部分更新为n层神经网络中排列靠后的n-m-t层。

在一个实施例中,在第一相似性不满足预定条件的情况下:

处理单元42还配置为,通过第m+1至m+t层神经网络处理第一中间向量,得到第三中间向量,作为更新后的第一部分的处理结果;

检测单元44还配置为,检测第三中间向量与第二中间向量的第二相似性。

此时,如果装置400包括输出单元,该输出单元还配置为,在第二相似性满足预定条件的情况下,将第三中间向量传递给更新后的第二部分。

在更进一步的实施例中,在第三中间向量和第二中间向量维数不一致的情况下:

编码单元43还配置为:利用编码方式更新第二中间向量,使得更新后的第二中间向量与第三中间向量的维度一致;

检测单元44还配置为:检测更新后的第二中间向量与第三中间向量的第二相似性。

在一个可能的设计中,装置400还包括指纹采集单元(未示出),配置为:

在业务模型的模型指标满足预定的指标条件的情况下,根据第一部分的处理结果采集第一业务数据的指纹信息。

在可选的实施例中,第一样本数据为由业务方加密后提供的加密数据,获取单元41还配置为:

获取针对业务方的样本数据的认证标识;

根据认证标识对加密数据进行认证;

在认证通过的情况下,对加密数据进行解密,得到第一样本数据。

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

图5示出了一个实施例的基于隐私保护利用业务模型处理业务数据的装置500,该装置500可以设于用于基于隐私保护对业务模型进行数据预处理的可信第一环境中。可信第一环境中运行有通过装置400预处理的业务数据的第一部分。

如图5所示,装置500包括:

获取单元51,配置为获取待处理的当前业务数据;

处理单元52,配置为利用第一部分对当前业务数据进行处理,得到当前中间向量;

输出单元53,配置为将当前中间向量传递至第二部分,以供第二部分基于对当前中间向量的处理,确定针对当前业务数据的业务处理结果。

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

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

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

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

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

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