CN112417485A - 一种基于可信执行环境的模型训练方法、系统及装置 - Google Patents
一种基于可信执行环境的模型训练方法、系统及装置 Download PDFInfo
- Publication number
- CN112417485A CN112417485A CN202011380981.9A CN202011380981A CN112417485A CN 112417485 A CN112417485 A CN 112417485A CN 202011380981 A CN202011380981 A CN 202011380981A CN 112417485 A CN112417485 A CN 112417485A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- execution environment
- sample set
- trusted execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 341
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
Abstract
本说明书公开了一种基于可信执行环境的模型训练方法、系统及装置。所述方法包括模型需求方将第一训练样本集发送到模型训练方的可信执行环境中;模型提供方将旧模型和第二训练样本集发送到模型训练方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;模型训练方在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;模型训练方在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
Description
技术领域
本说明书实施例涉及模型训练领域,尤其涉及一种基于可信执行环境的模型训练方法、系统及装置。
背景技术
目前,在训练模型时,通常需要事先积累大量样本进行训练。但由于新场景中难以积累足够的样本,导致训练得到的模型预测准确率较低。
为了解决这一问题,理论上可以从积累有足够多的样本的其他场景中,获取样本,用于新场景的模型训练,得到适应新场景的模型,提高模型预测准确率。但在实际应用中,考虑到数据安全和隐私保护的问题,往往难以直接从其他场景中获取样本。
以金融机构风控场景为例:新成立的某银行在训练风控模型时,由于银行是新成立的,暂时缺少实际风险事故的积累,也就没有足够的黑样本,训练得到的风控模型的预测准确率较低。尽管理论上该银行可以从其他银行中获取足够的黑样本用于风控模型训练,但其他银行往往出于数据安全和用户隐私保护的考虑,并不会将样本与该银行共享。
因此,目前亟需一种既能提高模型预测准确率,又能保护数据安全和隐私的方法。
发明内容
为了解决上述问题,本说明书提供了一种基于可信执行环境的模型训练方法、系统及装置。技术方案如下所示。
一种基于可信执行环境的模型训练方法,应用于包含模型需求方、模型提供方和模型训练方的系统;所述方法包括:
模型需求方将第一训练样本集发送到模型训练方的可信执行环境中;
模型提供方将旧模型和第二训练样本集发送到模型训练方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
模型训练方在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
模型训练方在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
一种基于可信执行环境的模型训练系统,包含模型需求方、模型提供方和模型训练方;
模型需求方:用于将第一训练样本集发送到模型训练方的可信执行环境中;
模型提供方:用于将旧模型和第二训练样本集发送到模型训练方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
模型训练方:用于在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
一种基于可信执行环境的模型训练装置,应用于模型训练方;所述装置包括:
第一接收单元:用于在可信执行环境中接收模型需求方发送的第一训练样本集、以及模型提供方发送的旧模型和第二训练样本集;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
第一构建单元:用于在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
第一训练单元:用于在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
通过上述技术方案,利用模型训练方的可信执行环境的特点“可信执行环境中的数据以及计算过程都不会出域”,使得接收到的模型需求方的训练样本集、以及模型提供方的训练样本和模型只能在可信执行环境中保存或使用,任一方(包括模型训练方)都无法获取到可信执行环境中的训练样本或模型,只能在可信执行环境中利用训练样本和模型进行训练,从而保护模型需求方和模型提供方的数据安全,不会泄露隐私。同时,在保护数据安全和隐私的基础上,利用预设算法训练模型,将模型提供方的训练样本与模型需求方的训练样本映射到同一特征空间,使得模型提供方的训练样本与模型需求方的训练样本在该特征空间中难以区分,进而使得模型提供方的训练样本可以用于训练模型需求方所需的模型,从而通过增加训练样本数量,提高模型需求方所训练模型的预测准确率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种基于可信执行环境的模型训练系统的结构示意图;
图2是本说明书实施例提供的一种基于可信执行环境的模型训练方法的流程示意图;
图3是本说明书实施例提供的一种新模型的结构示意图;
图4是本说明书实施例提供的另一种基于可信执行环境的模型训练方法的流程示意图;
图5是本说明书实施例提供的一种基于可信执行环境的模型训练装置的结构示意图;
图6是本说明书实施例提供的另一种基于可信执行环境的模型训练装置的结构示意图;
图7是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
目前,在训练模型时,通常需要事先积累大量样本进行训练。当需要在新场景中训练模型时,由于新场景中难以积累足够数量的样本,只能利用新场景中数量较少的样本训练模型,导致训练得到的模型预测准确率较低。
为了解决这一问题,理论上可以从积累有足够多的样本的其他场景中,获取样本,利用迁移学习将其他场景的样本用于新场景的模型训练,得到适应新场景的模型,通过增加样本数量提高模型预测准确率。
但在实际应用中,考虑到数据安全和隐私保护的问题,往往难以直接从其他场景中获取样本。
以金融机构风控场景为例:新成立的某银行在训练风控模型时,由于银行是新成立的,暂时缺少实际风险事故的积累,也就没有足够的黑样本,训练得到的风控模型的预测准确率较低。尽管理论上该银行可以从其他银行中获取足够的黑样本用于风控模型训练,但其他银行往往出于数据安全和用户隐私保护的考虑,并不会将样本与该银行共享。
为了在保护数据安全和隐私的前提下,提高新场景所训练的模型的预测准确率,本说明书提供了一种基于可信执行环境的模型训练方法。
可信执行环境具体是指一种设备内独立的执行环境,通过硬件机制与普通的执行环境相隔离。具体体现在可信执行环境所使用的软硬件资源与普通执行环境相隔离,普通执行环境只能通过特定的入口与可信执行环境通信,而可信执行环境可以访问普通执行环境的内存,但反之普通执行环境无法访问受硬件保护的可信执行环境的内存。因此,普通执行环境中任一进程通过软件或硬件都无法访问到可信执行环境,进而设备本身也无法通过普通执行环境获取到可信执行环境的数据。
在未授权的情况下,可信执行环境中的数据只存储在可信执行环境中,与普通执行环境和其他设备都相互独立,无法发送到普通执行环境或者其他设备,也无法被普通执行环境中任一进程访问。
综上所述,在未授权的情况下,可信执行环境中的数据不会被普通执行环境或其他设备获取,可以在可信执行环境中进行模型训练等运算操作,也就是说,可信执行环境中的数据和运算过程都不会被动出域。利用可信执行环境的这一特点,可以将可信执行环境作为模型训练的环境,使得新场景和其他场景的训练样本都不会被动出域。
本说明书所提供的方案中,可以利用可信执行环境中的数据不会出域的特点,在可信执行环境中存放新场景和其他场景的训练样本,用于新场景的模型训练。具体可以利用预设算法针对新场景和其他场景的训练样本进行模型训练,使得其他场景的训练样本与新场景的训练样本在某一特征空间中难以区分,从而可以使用其他场景的训练样本训练新场景所需要的模型。其他场景往往存在成熟的模型,因此在训练模型时,可以根据成熟模型的参数集确定训练模型的初始参数集,加快训练速度,以便于快速收敛。
显然,通过上述实施例,可以在保护其他场景的数据安全和隐私的情况下,将其他场景的训练样本用于新场景的模型训练。
为了便于进一步理解,下面将需要针对新场景进行模型训练的设备称为模型需求方,将处于其他场景的设备称为模型提供方,将可信执行环境所在的设备成为模型训练方。
对应于上述实施例,可以利用模型训练方的可信执行环境的特点“可信执行环境中的数据以及计算过程都不会出域”,在可信执行环境中保存并使用接收到的模型需求方的训练样本集、以及模型提供方的训练样本和模型,任一方(包括模型训练方)都无法获取到可信执行环境中的训练样本或模型,只能在可信执行环境中利用训练样本和模型进行模型训练,从而保护模型需求方和模型提供方的训练样本数据安全,不会泄露隐私。
同时,在保护数据安全和隐私的基础上,可以在可信执行环境中利用预设算法训练模型,将模型提供方的训练样本与模型需求方的训练样本映射到同一特征空间,使得模型提供方的训练样本与模型需求方的训练样本在该特征空间中难以区分,进而使得模型提供方的训练样本可以用于训练模型需求方所需的模型,从而通过增加训练样本数量,提高模型需求方所训练模型的预测准确率。
如图1所示,为本说明书提供的一种基于可信执行环境的模型训练系统的结构示意图。系统中可以包含模型需求方、模型提供方和模型训练方。
模型需求方可以具有在新场景中训练模型的需求;模型提供方可以用于提供样本和成熟模型,帮助模型需求方训练模型;模型训练方可以具有可信执行环境,可信执行环境可以用于训练模型需求方所需要的模型。
如图2所示,为本说明书提供的一种基于可信执行环境的模型训练方法的流程示意图。该方法可以应用于包含模型需求方、模型提供方和模型训练方的系统。
该方法可以至少包括以下步骤。
S101:模型需求方将第一训练样本集发送到模型训练方的可信执行环境中。
S102:模型提供方将旧模型和第二训练样本集发送到模型训练方的可信执行环境中。
旧模型可以是模型提供方预先基于第二训练样本集训练得到的成熟模型。
综合S101和S102,模型需求方和/或模型提供方可以与模型训练方进行加密交互,避免交互过程中训练样本集或旧模型的泄露,进一步保护了对模型需求方和/或模型提供方的数据安全和隐私。
因此,在一种可选的实施例中,模型需求方可以将加密后的第一训练样本集发送到模型训练方的可信执行环境中。相对应地,模型训练方还可以在可信执行环境中针对加密后的第一训练样本集进行解密。
在另一种可选的实施例中,模型提供方可以将加密后的旧模型和加密后的第二训练样本集发送到模型训练方的可信执行环境中;相对应地,模型训练方还可以在可信执行环境中针对加密后的旧模型和加密后的第二训练样本集进行解密。
而具体使用的加解密方法,可以是模型需求方或模型提供方利用模型训练方的公钥进行加密,而模型训练方利用自身的私钥进行解密。
S103:模型训练方在可信执行环境中基于旧模型构建新模型。
新模型的输出可以包括针对输入样本的标签预测值和来源预测值。其中,来源预测值可以用于表征输入模型的样本来源的场景或设备。具体可以用于表征第一训练样本集或第二训练样本集,也可以用于表征模型需求方或模型提供方。
而基于旧模型构建新模型,具体可以包括:基于旧模型增加域判别器,得到新模型;域判别器的输入可以是新模型针对输入的样本提取的特征,输出为来源预测值。域判别器具体可以用于判断输入新模型的训练样本的来源,得到来源预测值。
为了便于理解,在一种可选的实施例中,旧模型可以包含特征提取模块和标签预测模块,其中特征提取模块可以用于针对输入的训练样本提取特征(输入为训练样本,输出为提取的特征),标签预测模块可以用于根据特征提取模块的输出(即针对训练样本提取的特征)确定训练样本对应的标签预测值(输入为特征提取模块的输出,输出为标签预测值)。
如图3所示,为本说明书提供的一种新模型的结构示意图。新模型除了上述的特征提取模块和标签预测模块,还可以包含域判别器。域判别器可以用于判断训练样本的来源,输入为特征提取模块的输出(即针对训练样本提取的特征),输出为来源预测值。
S104:模型训练方在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练新模型。
第一训练样本集中的训练样本包含的特征类型、可以与第二训练样本集中的训练样本包含的特征类型相同,从而可以直接利用第一训练样本集和第二训练样本集训练同一模型。
当然,在特征类型不完全相同的情况下,可以通过缺失值填充等方式,以第一训练样本集中训练样本包含的特征类型为标准,填充第二训练样本集中的训练样本包含的特征类型,并可以在构建新模型时,将输入新模型的特征类型修改为第一训练样本集中训练样本包含的特征类型。
此外,由于训练样本的来源是已知的,并不需要额外标注,因此,可以直接利用第一训练样本集和第二训练样本集来训练输出包含标签预测值和来源预测值的新模型。
预设算法可以用于降低新模型针对样本标签的损失、并增大新模型针对样本来源的损失。从而在提高新模型的标签预测准确率的同时,降低新模型的来源预测准确率,使得新模型中针对两个来源的训练样本(模型需求方和模型提供方),通过特征提取映射到同一特征空间后,在该特征空间中难以判断训练样本的来源,从而在该特征空间中可以将两个来源的训练样本视为同一来源的训练样本,进而可以利用模型提供方的训练样本(其他场景的训练样本)与模型需求方的训练样本(新场景的训练样本)一同训练模型需求方所需要的模型(新场景所需要的模型)。
为了进一步解释预设算法,在一种可选的实施例中,训练新模型可以包括以下步骤:循环执行以下步骤,直到满足循环停止条件:将第一训练样本集和第二训练样本集输入当前的新模型;基于新模型输出的标签预测值计算当前针对样本标签的第一损失函数梯度;基于新模型输出的来源预测值计算当前针对样本来源的第二损失函数梯度;根据第二损失函数梯度的相反数和第一损失函数梯度更新当前的新模型。
具体可以是综合第二损失函数梯度的相反数和第一损失函数梯度,得到综合的损失函数梯度,更新当前的新模型参数集。一种具体的示例可以是,将第二损失函数梯度的相反数和第一损失函数梯度以加权方式加和,得到综合损失函数梯度。
而循环停止条件可以是模型的训练停止条件,例如,循环次数大于预设值;或者在当前新模型针对样本来源的损失大于第一预设损失的情况下,当前新模型针对样本标签的损失小于第二预设损失;或者当前新模型针对样本来源和样本标签的综合损失小于第三预设损失,其中,针对样本来源的损失与综合损失负相关,针对样本标签的损失与综合损失正相关。
预设算法可以用于根据新模型的两种输出,在训练时将新模型的参数集向提高针对训练样本来源的损失的方向变化,同时向降低针对训练样本标签的损失的方向变化。
通过上述技术方案,利用模型训练方的可信执行环境的特点“可信执行环境中的数据以及计算过程都不会出域”,使得接收到的模型需求方的训练样本集、以及模型提供方的训练样本和模型只能在可信执行环境中保存或使用,任一方(包括模型训练方)都无法获取到可信执行环境中的训练样本或模型,只能在可信执行环境中利用训练样本和模型进行训练,从而保护模型需求方和模型提供方的数据安全,不会泄露隐私。同时,在保护数据安全和隐私的基础上,利用预设算法训练模型,将模型提供方的训练样本与模型需求方的训练样本映射到同一特征空间,使得模型提供方的训练样本与模型需求方的训练样本在该特征空间中难以区分,进而使得模型提供方的训练样本可以用于训练模型需求方所需的模型,从而通过增加训练样本数量,提高模型需求方所训练模型的预测准确率。
此外,由于新场景中的许多训练样本可能存在较多无标签样本,例如来不及标记的样本、无法标记的样本等,因此,在上述方法流程中,第一训练样本集中还可能包含无标签样本。
针对这些无标签样本,可以在训练新模型之前,针对第一训练样本集中任一无标签样本,根据第二训练样本集或者模型提供方所提供的旧模型确定该样本的标签。
在一种可选的实施例中,可以利用第二训练样本集中的样本确定标签。
如果某一无标签样本的指定特征值、与第二训练样本集中任一训练样本的指定特征值之间的差距小于预设阈值,则可以将该无标签样本的标签确定为第二训练样本集中该样本的标签。
其中的指定特征值可以是用于标识样本的特征值,也可以是全部的特征值。
一种具体的示例可以是,针对使用用户样本进行模型训练的场景,如果某一无标签样本的“用户标识”特征值与第二训练样本集中任一训练样本的“用户标识”特征值相同,则可以说明该无标签样本与该训练样本对应于同一用户,可以将该无标签样本的标签确定为该训练样本的标签。
在另一种可选的实施例中,可以利用旧模型确定该样本的标签。
具体可以将任一无标签样本输入旧模型,得到预测结果作为该样本的临时标签,用于模型训练。
通过为新场景中第一训练样本集中的无标签样本标注标签,可以进一步增加新场景中原有的有标签样本数量,提高模型预测的准确率,并可以通过增加新场景原有训练样本的占比,使得训练得到的模型更加适应新场景。
基于上述方法流程,由于模型训练方(可信执行环境所在设备)都无法获取可信执行环境中的数据,因此,可信执行环境所在的设备也可以是模型需求方或者模型提供方。
在保证数据安全的基础上,由于数据就存储在本设备(模型需求方或模型提供方)的可信执行环境中,无需传输到第三方设备,进一步增强了模型需求方或模型提供方的数据安全。
如图4所示,为本说明书提供的另一种基于可信执行环境的模型训练方法的流程示意图。该方法可以应用于包含模型需求方和模型提供方的系统。
该方法可以至少包括以下步骤。
S201:模型需求方将第一训练样本集发送到自身的可信执行环境中。
S202:模型提供方将旧模型和第二训练样本集发送到模型需求方的可信执行环境中。
旧模型可以是模型提供方预先基于第二训练样本集训练得到的。
S203:模型需求方在可信执行环境中基于旧模型构建新模型。
新模型的输出可以包括针对输入样本的标签预测值和来源预测值。来源预测值可以用于表征输入模型的样本来源的场景或设备。具体可以用于表征第一训练样本集或第二训练样本集,也可以用于表征模型需求方或模型提供方。
S204:模型需求方在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练新模型。
预设算法可以用于降低新模型针对样本标签的损失、并增大新模型针对样本来源的损失。
本实施例的解释具体可以参见上述方法流程。
而可信执行环境位于模型提供方的实施例可以对应得到,此处暂不赘述。
为了便于理解,本说明书还提供一种应用实施例。
以金融机构风控场景为例:新成立的某银行在训练风控模型时,由于银行是新成立的,暂时缺少实际风险事故的积累,也就没有足够的黑样本,训练得到的风控模型的预测准确率较低。而其他地区存在成立时间较长的银行,存在足够数量的黑白样本以及成熟的风控模型。
因此,针对新成立的银行,可以执行以下步骤,在保证本银行与其他银行的数据安全和隐私的前提下,训练风控模型,提高本银行的风控模型的预测准确率。
为了便于区分,将新成立的银行称为第一银行,将其他银行称为第二银行。其中,第一银行存在可信执行环境。
S301:第二银行将自身的成熟模型和第二训练样本集加密发送到第一银行的可信执行环境中。
S302:第一银行将自身的第一训练样本集发送到自身的可信执行环境中。
S303:第一银行在可信执行环境中,利用成熟模型和第二训练样本集,针对第一训练样本集中的每个无标签样本进行标注。
S304:标注完成后,第一银行在可信执行环境中,利用成熟模型构建新模型,新模型的输出可以包括针对输入样本的标签预测值和来源预测值。
S305:第一银行在可信执行环境中,根据预设算法,基于标注后的第一训练样本集和第二训练样本集训练新模型,直到在当前新模型针对样本来源的损失大于第一预设损失的情况下,当前新模型针对样本标签的损失小于第二预设损失。
本说明书还提供了对应的系统实施例和装置实施例。
系统实施例一。
本说明书还提供了一种基于可信执行环境的模型训练系统,可以包含模型需求方、模型提供方和模型训练方。
模型需求方:用于将第一训练样本集发送到模型训练方的可信执行环境中。
模型提供方:用于将旧模型和第二训练样本集发送到模型训练方的可信执行环境中。旧模型可以是模型提供方预先基于第二训练样本集训练得到的;
模型训练方:用于在可信执行环境中基于旧模型构建新模型;在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练新模型。
新模型的输出可以包括针对输入样本的标签预测值和来源预测值。来源预测值可以用于表征输入模型的样本来源的场景或设备。具体可以用于表征第一训练样本集或第二训练样本集,也可以用于表征模型需求方或模型提供方。预设算法可以用于降低新模型针对样本标签的损失、并增大新模型针对样本来源的损失。
其中,模型训练方可以具体用于:在可信执行环境中,基于旧模型增加域判别器,得到新模型;域判别器的输入为新模型针对输入的样本提取的特征,输出为来源预测值。
模型训练方可以具体用于:循环执行以下步骤,直到满足循环停止条件:将第一训练样本集和第二训练样本集输入当前的新模型;基于新模型输出的标签预测值计算当前针对样本标签的第一损失函数梯度;基于新模型输出的来源预测值计算当前针对样本来源的第二损失函数梯度;根据第二损失函数梯度的相反数和第一损失函数梯度更新当前的新模型。
第一训练样本集中可以包含无标签样本,模型训练方还可以用于:针对第一训练样本集中任一无标签样本,根据第二训练样本集确定该样本的标签。具体可以用于:如果该无标签样本的指定特征值、与第二训练样本集中任一训练样本的指定特征值之间的差距小于预设阈值,则将该无标签样本的标签确定为第二训练样本集中该样本的标签。
模型需求方具体可以用于:将加密后的第一训练样本集发送到模型训练方的可信执行环境中。相对应地,模型训练方还可以用于:在可信执行环境中针对加密后的第一训练样本集进行解密。
模型提供方具体可以用于:将加密后的旧模型和加密后的第二训练样本集发送到模型训练方的可信执行环境中。相对应地,模型训练方还可以用于:在可信执行环境中针对加密后的旧模型和加密后的第二训练样本集进行解密。
具体的加解密方式可以包括:加密为利用模型训练方的公钥进行加密,解密为利用模型训练方的私钥进行解密。
本系统实施例的解释可以参见上述方法实施例。
系统实施例二。
本说明书还提供了一种基于可信执行环境的模型训练系统,可以包含模型需求方和模型提供方。
模型提供方:用于将旧模型和第二训练样本集发送到模型需求方的可信执行环境中。旧模型可以是模型提供方预先基于第二训练样本集训练得到的。
模型需求方:用于将第一训练样本集发送到自身的可信执行环境中;在可信执行环境中基于旧模型构建新模型;新模型的输出包括针对输入样本的标签预测值和来源预测值;在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练新模型,预设算法用于降低新模型针对样本标签的损失、并增大新模型针对样本来源的损失。
本系统实施例的解释可以参见上述方法实施例。
装置实施例一。
本说明书还提供了一种基于可信执行环境的模型训练装置,如图5所示,为本说明书提供的一种基于可信执行环境的模型训练装置的结构示意图,该装置可以应用于模型训练方。
该装置可以至少包括以下单元。
第一接收单元401:用于在可信执行环境中接收模型需求方发送的第一训练样本集、以及模型提供方发送的旧模型和第二训练样本集。
旧模型可以是模型提供方预先基于第二训练样本集训练得到的。
第一构建单元402:用于在可信执行环境中基于旧模型构建新模型。
新模型的输出可以包括针对输入样本的标签预测值和来源预测值。
第一训练单元403:用于在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练新模型。
预设算法可以用于降低新模型针对样本标签的损失、并增大新模型针对样本来源的损失。
本装置实施例的解释可以参见上述方法实施例。
装置实施例二。
本说明书还提供了一种基于可信执行环境的模型训练装置,如图6所示,为本说明书提供的另一种基于可信执行环境的模型训练装置的结构示意图,该装置可以应用于模型需求方。
该装置可以至少包括以下单元。
发送单元501:用于将第一训练样本集发送到自身的可信执行环境中。
第二接收单元502:用于在可信执行环境中接收模型提供方发送的旧模型和第二训练样本集。
旧模型可以是模型提供方预先基于第二训练样本集训练得到的。
第二构建单元503:用于在可信执行环境中基于旧模型构建新模型。新模型的输出可以包括针对输入样本的标签预测值和来源预测值。
第二训练单元504:用于在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练新模型。
预设算法可以用于降低新模型针对样本标签的损失、并增大新模型针对样本来源的损失。
本装置实施例的解释可以参见上述方法实施例。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现上述任一方法实施例中,模型训练方、模型需求方或模型提供方所执行的操作。
图7示出了本说明书实施例所提供的一种更为具体的计算机设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一方法实施例中,模型训练方、模型需求方或模型提供方所执行的操作。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护。
Claims (15)
1.一种基于可信执行环境的模型训练方法,应用于包含模型需求方、模型提供方和模型训练方的系统;所述方法包括:
模型需求方将第一训练样本集发送到模型训练方的可信执行环境中;
模型提供方将旧模型和第二训练样本集发送到模型训练方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
模型训练方在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
模型训练方在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
2.根据权利要求1所述的方法,所述基于所述旧模型构建新模型,包括:
基于所述旧模型增加域判别器,得到新模型;所述域判别器的输入为所述新模型针对输入的样本提取的特征,输出为来源预测值。
3.根据权利要求1所述的方法,所述训练所述新模型包括:
循环执行以下步骤,直到满足循环停止条件:
将第一训练样本集和第二训练样本集输入当前的新模型;
基于所述新模型输出的标签预测值计算当前针对样本标签的第一损失函数梯度;基于所述新模型输出的来源预测值计算当前针对样本来源的第二损失函数梯度;
根据第二损失函数梯度的相反数和第一损失函数梯度更新当前的新模型。
4.根据权利要求1所述的方法,所述第一训练样本集中包含无标签样本,在训练所述新模型之前,所述方法还包括:
针对所述第一训练样本集中任一无标签样本,根据第二训练样本集确定该样本的标签。
5.根据权利要求4所述的方法,所述根据第二训练样本集确定该样本的标签,包括:
如果该无标签样本的指定特征值、与第二训练样本集中任一训练样本的指定特征值之间的差距小于预设阈值,则将该无标签样本的标签确定为第二训练样本集中该样本的标签。
6.根据权利要求1所述的方法,所述模型需求方将第一训练样本集发送到模型训练方的可信执行环境中,包括:
模型需求方将加密后的第一训练样本集发送到模型训练方的可信执行环境中;所述方法还包括:模型训练方在可信执行环境中针对加密后的第一训练样本集进行解密;
和/或
所述模型提供方将旧模型和第二训练样本集发送到模型训练方的可信执行环境中,包括:
模型提供方将加密后的旧模型和加密后的第二训练样本集发送到模型训练方的可信执行环境中;所述方法还包括:模型训练方在可信执行环境中针对加密后的旧模型和加密后的第二训练样本集进行解密。
7.根据权利要求6所述的方法,所述加密为利用模型训练方的公钥进行加密,所述解密为利用模型训练方的私钥进行解密。
8.一种基于可信执行环境的模型训练方法,应用于模型训练方;所述方法包括:
在可信执行环境中接收模型需求方发送的第一训练样本集、以及模型提供方发送的旧模型和第二训练样本集;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
9.一种基于可信执行环境的模型训练方法,应用于包含模型需求方和模型提供方的系统;所述方法包括:
模型需求方将第一训练样本集发送到自身的可信执行环境中;
模型提供方将旧模型和第二训练样本集发送到模型需求方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
模型需求方在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
模型需求方在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
10.一种基于可信执行环境的模型训练方法,应用于模型需求方;所述方法包括:
将第一训练样本集发送到自身的可信执行环境中;
在可信执行环境中接收模型提供方发送的旧模型和第二训练样本集;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
11.一种基于可信执行环境的模型训练系统,包含模型需求方、模型提供方和模型训练方;
模型需求方:用于将第一训练样本集发送到模型训练方的可信执行环境中;
模型提供方:用于将旧模型和第二训练样本集发送到模型训练方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
模型训练方:用于在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
12.一种基于可信执行环境的模型训练装置,应用于模型训练方;所述装置包括:
第一接收单元:用于在可信执行环境中接收模型需求方发送的第一训练样本集、以及模型提供方发送的旧模型和第二训练样本集;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
第一构建单元:用于在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
第一训练单元:用于在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
13.一种基于可信执行环境的模型训练系统,包含模型需求方和模型提供方的系统;
模型提供方:用于将旧模型和第二训练样本集发送到模型需求方的可信执行环境中;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
模型需求方:用于将第一训练样本集发送到自身的可信执行环境中;在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
14.一种基于可信执行环境的模型训练装置,应用于模型需求方;所述装置包括:
发送单元:用于将第一训练样本集发送到自身的可信执行环境中;
第二接收单元:用于在可信执行环境中接收模型提供方发送的旧模型和第二训练样本集;所述旧模型是模型提供方预先基于第二训练样本集训练得到的;
第二构建单元:用于在可信执行环境中基于所述旧模型构建新模型;所述新模型的输出包括针对输入样本的标签预测值和来源预测值;
第二训练单元:用于在可信执行环境中,基于预设算法利用第一训练样本集和第二训练样本集训练所述新模型,所述预设算法用于降低所述新模型针对样本标签的损失、并增大所述新模型针对样本来源的损失。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求8或10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380981.9A CN112417485B (zh) | 2020-11-30 | 2020-11-30 | 一种基于可信执行环境的模型训练方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380981.9A CN112417485B (zh) | 2020-11-30 | 2020-11-30 | 一种基于可信执行环境的模型训练方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417485A true CN112417485A (zh) | 2021-02-26 |
CN112417485B CN112417485B (zh) | 2024-02-02 |
Family
ID=74829061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011380981.9A Active CN112417485B (zh) | 2020-11-30 | 2020-11-30 | 一种基于可信执行环境的模型训练方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417485B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095507A (zh) * | 2021-04-02 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 机器学习模型进行训练、预测的方法、装置、设备及介质 |
CN115178397A (zh) * | 2022-07-07 | 2022-10-14 | 阿维塔科技(重庆)有限公司 | 喷涂程序调试方法、装置、设备及计算机可读存储介质 |
WO2024074226A1 (en) * | 2022-10-06 | 2024-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Training an ensemble of models |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480395A (zh) * | 2017-08-29 | 2017-12-15 | 燕山大学 | 一种车辆转向节载荷谱预测模型的构建方法及系统 |
US20180082043A1 (en) * | 2016-09-20 | 2018-03-22 | Nant Holdings Ip, Llc | Sample tracking via sample tracking chains, systems and methods |
CN109308418A (zh) * | 2017-07-28 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种基于共享数据的模型训练方法及装置 |
CN109359793A (zh) * | 2018-08-03 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种针对新场景的预测模型训练方法及装置 |
-
2020
- 2020-11-30 CN CN202011380981.9A patent/CN112417485B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180082043A1 (en) * | 2016-09-20 | 2018-03-22 | Nant Holdings Ip, Llc | Sample tracking via sample tracking chains, systems and methods |
CN109308418A (zh) * | 2017-07-28 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种基于共享数据的模型训练方法及装置 |
CN107480395A (zh) * | 2017-08-29 | 2017-12-15 | 燕山大学 | 一种车辆转向节载荷谱预测模型的构建方法及系统 |
CN109359793A (zh) * | 2018-08-03 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种针对新场景的预测模型训练方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095507A (zh) * | 2021-04-02 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 机器学习模型进行训练、预测的方法、装置、设备及介质 |
CN115178397A (zh) * | 2022-07-07 | 2022-10-14 | 阿维塔科技(重庆)有限公司 | 喷涂程序调试方法、装置、设备及计算机可读存储介质 |
WO2024074226A1 (en) * | 2022-10-06 | 2024-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Training an ensemble of models |
Also Published As
Publication number | Publication date |
---|---|
CN112417485B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417485B (zh) | 一种基于可信执行环境的模型训练方法、系统及装置 | |
CN107852412B (zh) | 用于网络钓鱼和品牌保护的系统和方法、计算机可读介质 | |
CN112287372B (zh) | 用于保护剪贴板隐私的方法和装置 | |
CN107590396B (zh) | 数据处理方法及装置、存储介质、电子设备 | |
CN112434326B (zh) | 一种基于数据流的可信计算方法及装置 | |
US11501282B2 (en) | Method and apparatus for paying fare | |
CN111079152B (zh) | 一种模型部署方法、装置及设备 | |
CN108984234B (zh) | 一种移动终端与摄像装置的调用提示方法 | |
CN110009336A (zh) | 基于区块链的取证方法及装置 | |
US20140237568A1 (en) | Unique identification for an information handling system | |
CN108564363B (zh) | 一种交易处理方法、服务器、客户端及系统 | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
CN111245811A (zh) | 信息加密方法、装置及电子设备 | |
CN110545542B (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
CN112380502A (zh) | Web应用程序的处理方法及装置、服务器、终端设备 | |
CN111027972A (zh) | 一种基于区块链的数据验证方法、装置及电子设备 | |
CN112968899B (zh) | 一种加密通信的方法与设备 | |
CN109639437A (zh) | 基于可信数据源的监管方法及装置、设备、介质 | |
US20210012017A1 (en) | Method and apparatus for storing and processing application program information | |
CN111182050B (zh) | 一种实现应用与服务器间通信的方法与设备 | |
CN110990492B (zh) | 一种信息的处理方法、装置及设备 | |
CN110968885A (zh) | 模型训练数据存储方法及装置、电子设备、存储介质 | |
CN108985109B (zh) | 一种数据存储方法及装置 | |
CN113448545B (zh) | 机器学习模型服务化的方法、设备、存储介质及程序产品 | |
CN107463808B (zh) | 集成在操作系统内的功能模块的调用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |