CN112084519B - 基于访问模式保护的gbdt模型训练方法及装置 - Google Patents
基于访问模式保护的gbdt模型训练方法及装置 Download PDFInfo
- Publication number
- CN112084519B CN112084519B CN202010988115.1A CN202010988115A CN112084519B CN 112084519 B CN112084519 B CN 112084519B CN 202010988115 A CN202010988115 A CN 202010988115A CN 112084519 B CN112084519 B CN 112084519B
- Authority
- CN
- China
- Prior art keywords
- layer
- node
- information
- sample
- splitting
- 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.)
- Active
Links
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/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供了一种基于访问模式保护的GBDT模型训练方法及装置。在对GBDT模型中第i个决策树的第j层节点进行分裂时,TEE中的CPU从内存中顺序读取长度为N的第一映射数组,其中记录N个样本与对应的第j层特征信息的映射关系,基于第一映射数组确定各个第j层节点分别对应的各个样本组,并确定所有第j层节点的分裂信息,将其写入内存的第二存储区;针对任意一个样本,采用不经意访问方式从第二存储区中读取该样本的第j层节点的分裂信息,并基于此确定该样本归属的第j+1层节点的节点标识,进而确定对应的第j+1层特征信息;基于N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至内存。
Description
技术领域
本说明书一个或多个实施例涉及数据安全技术领域,尤其涉及基于访问模式保护的GBDT模型训练方法及装置。
背景技术
在需要对数据进行处理的各个应用领域中,数据安全问题备受关注。可信执行环境(Trusted Execution Environment,TEE)能够提供独立于操作系统的执行环境,通过将高安全敏感的应用与通用软件环境隔离开,来提供安全保护。例如,基于软件保护扩展(Software Guard Extensions,SGX)技术制造的可信围圈(Enclave)等等。可信执行环境技术通常采用硬件隔离机制,在计算平台中隔离出包含CPU和内存的安全区域,并且内存中的加密数据只在CPU内部可见。这种可信执行环境技术能够提供比较安全的数据计算服务。
当在TEE中执行针对梯度提升决策树(Gradient Boosting Decision Tree,GBDT)模型的训练时,CPU需要频繁地从内存中读取样本数据。当样本数据属于非常重要的隐私数据时,利用可信执行环境对样本数据进行处理时的安全性要求会更高。
因此,希望能有改进的方案,可以更加安全地对GBDT模型进行训练。
发明内容
本说明书一个或多个实施例描述了基于访问模式保护的GBDT模型训练方法及装置,可以更加安全地对GBDT模型进行训练。具体的技术方案如下。
第一方面,实施例提供了一种基于访问模式保护的GBDT模型训练方法,通过可信执行环境TEE中的CPU执行,所述TEE还包括内存;所述GBDT模型通过N个样本进行训练,其中,在对所述GBDT模型中的第i个决策树的第j层节点进行分裂时,所述方法包括:
从所述内存的第一存储区中顺序读取长度为N的第一映射数组,其中记录所述N个样本与对应的第j层特征信息的映射关系,第j层特征信息包括样本归属的第j层节点的节点标识;
基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,进而确定各个第j层节点分别对应的各个样本组;
基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息;
将所有第j层节点的分裂信息写入所述内存的第二存储区;
针对所述N个样本中的任意一个样本,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,并基于该分裂信息确定该样本归属的第j+1层节点的节点标识;
至少基于所述N个样本各自归属的第j+1层节点的节点标识,确定所述N个样本分别对应的第j+1层特征信息;
基于所述N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至所述内存的第三存储区。
在一种实施方式中,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,包括:
从所述第一映射数据中读取任意的第一样本的第j层特征信息;
对所述第一样本的第j层特征信息进行解密;
基于解密后得到的特征信息,确定所述第一样本对应的第j层节点的节点标识。
在一种实施方式中,将所有第j层节点的分裂信息写入所述内存的第二存储区,包括:
将所有第j层节点分别与对应的分裂信息的映射关系构建成第三映射数组,将所述第三映射数组写入所述内存的第二存储区。
在一种实施方式中,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,包括:
针对所述N个样本中的任意一个样本,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,从所有第j层节点的分裂信息中查找该样本对应的第j层节点的分裂信息。
在一种实施方式中,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,包括:
将所述第二存储区的全部存储内容加载至高速缓存;
采用用于模糊访问的不经意原语,遍历所述高速缓存的每个缓存行,以读取所有第j层节点的分裂信息。
在一种实施方式中,基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息,包括:
基于各个样本组中样本的第j层特征信息,确定所有第j层节点中满足分裂条件的第一节点和不满足分裂条件的第二节点,并基于所述第一节点对应样本组中样本的第j层特征信息,确定所述第一节点的分裂信息,基于预设数据确定所述第二节点的分裂信息,所述预设数据包括用于标识对应节点无真实分裂信息的标识信息。
在一种实施方式中,当所述第i个决策树为模型训练中的第一个决策树时,所述第j层特征信息还包括:样本的至少一个特征属性的特征值;
当所述第i个决策树不为模型训练中的第一个决策树时,所述第j层特征信息还包括:与样本残差相关的数据。
在一种实施方式中,所述第二映射数组和所述第一映射数组中的N个样本具有相同的排列顺序。
在一种实施方式中,在对所述第j层节点之后的下一层待分裂节点进行分裂时,还包括:
在确定所述N个样本针对所述下一层待分裂节点的多个特征信息之后,将所述N个样本与各自对应的下一层待分裂节点的多个特征信息形成长度为N的第四映射数组,将所述第四映射数组写入上述第一存储区。
第二方面,实施例提供了一种基于访问模式保护的GBDT模型训练装置,部署在可信执行环境TEE中的CPU中,所述TEE还包括内存;所述GBDT模型通过N个样本进行训练,其中,在对所述GBDT模型中的第i个决策树的第j层节点进行分裂时,所述装置包括:
读取模块,配置为,从所述内存的第一存储区中顺序读取长度为N的第一映射数组,其中记录所述N个样本与对应的第j层特征信息的映射关系,第j层特征信息包括样本归属的第j层节点的节点标识;
对应模块,配置为,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,进而确定各个第j层节点分别对应的各个样本组;
分裂模块,配置为,基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息;
写入模块,配置为,将所有第j层节点的分裂信息写入所述内存的第二存储区;
归属模块,配置为,针对所述N个样本中的任意一个样本,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,并基于该分裂信息确定该样本归属的第j+1层节点的节点标识;
确定模块,配置为,至少基于所述N个样本各自归属的第j+1层节点的节点标识,确定所述N个样本分别对应的第j+1层特征信息;
存储模块,配置为,基于所述N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至所述内存的第三存储区。
在一种实施方式中,所述对应模块,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识时,包括:
从所述第一映射数据中读取任意的第一样本的第j层特征信息;
对所述第一样本的第j层特征信息进行解密;
基于解密后得到的特征信息,确定所述第一样本对应的第j层节点的节点标识。
在一种实施方式中,所述写入模块,具体配置为:
将所有第j层节点分别与对应的分裂信息的映射关系构建成第三映射数组,将所述第三映射数组写入所述内存的第二存储区。
在一种实施方式中,所述归属模块,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息时,包括:
针对所述N个样本中的任意一个样本,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,从所有第j层节点的分裂信息中查找该样本对应的第j层节点的分裂信息。
在一种实施方式中,所述归属模块,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息时,包括:
将所述第二存储区的全部存储内容加载至高速缓存;
采用用于模糊访问的不经意原语,遍历所述高速缓存的每个缓存行,以读取所有第j层节点的分裂信息。
在一种实施方式中,所述分裂模块,具体配置为:
基于各个样本组中样本的第j层特征信息,确定所有第j层节点中满足分裂条件的第一节点和不满足分裂条件的第二节点,并基于所述第一节点对应样本组中样本的第j层特征信息,确定所述第一节点的分裂信息,基于预设数据确定所述第二节点的分裂信息,所述预设数据包括用于标识对应节点无真实分裂信息的标识信息。
在一种实施方式中,当所述第i个决策树为模型训练中的第一个决策树时,所述第j层特征信息还包括:样本的至少一个特征属性的特征值;
当所述第i个决策树不为模型训练中的第一个决策树时,所述第j层特征信息还包括:与样本残差相关的数据。
在一种实施方式中,所述第二映射数组和所述第一映射数组中的N个样本具有相同的排列顺序。
在一种实施方式中,该装置还包括:
替换模块,在对所述第j层节点之后的下一层待分裂节点进行分裂时,在确定所述N个样本针对所述下一层待分裂节点的多个特征信息之后,将所述N个样本与各自对应的下一层待分裂节点的多个特征信息形成长度为N的第四映射数组,将所述第四映射数组写入上述第一存储区。
第三方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面中任一项所述的方法。
第四方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面中任一项所述的方法。
本说明书实施例提供的方法和装置,按照GBDT模型中决策树的层级来存储N个样本与对应的该层特征信息的映射关系,因此CPU在从内存中顺序读取样本的特征信息时,读取操作不会泄露该层节点所对应样本的数量信息,能够保护样本在该层节点中的分配信息不泄露。并且,在确定样本归属的某个层节点的节点标识时,采用不经意访问方式,从第二存储区中读取该样本对应的该层节点的分裂信息,该访问模式不会泄露读取了哪个节点的分裂信息,有效地保护了样本归属的该层节点信息,进而保护了样本划分到哪些节点这些隐私数据。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为实施例提供的一种基于访问模式保护的GBDT模型训练方法的流程示意图;
图3为一个决策树中与各层对应的映射数组的一种示意图;
图4所示的用于存储图3中节点分裂信息的映射数组示意图;
图5为实施例提供的一种基于访问模式保护的GBDT模型训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。处于可信执行环境(TEE)中的节点包括CPU和内存。内存用于存储数据,CPU用于处理数据,CPU可以访问内存中的数据。具体的,CPU可以从内存中读取数据,并采用CPU中运行的应用程序处理数据,以及向内存中写入数据。可信执行环境将CPU和内存隔离出来,内存中存储的数据是经过加密后的数据,CPU从内存中读取加密数据之后在CPU内部解密出来并进行数据处理,CPU向内存中存储的数据也是加密后的数据。这样,CPU和内存通过物理隔离机制,形成可信的安全区域。其他应用程序,包括操作系统OS、BIOS系统、虚拟机系统等,均不能访问该安全区域中的数据,也就不能窥探和篡改其中应用程序的状态和数据。
可信执行环境中的节点,可以理解为,应用了TEE技术的节点或称为单元,又称为可信计算节点或者可信计算单元。TEE节点可以实现在实体计算机中,其隔离能力能够防止其他应用程序窥探和篡改可信计算节点的应用程序和数据,保证计算的安全性。例如,TEE节点可以是可信的计算围圈(Enclave),且可以采用SGX或信任域(Trust Zone)等技术来实现。例如,根据SGX技术,通过提供一系列CPU指令码,允许用户代码创建具有高访问权限的私有内存区域而形成计算围圈。其他应用程序,包括各种操作系统等,均不能访问围圈中的数据,也就不能窥探和篡改其中应用程序的状态和数据。TEE节点可以用于执行一定的计算任务。
GBDT模型是一种常见的机器学习方法,通过将梯度提升和常见的决策树结合得到多个决策树,多个决策树一起作为模型的结果。GBDT模型可以用于对对象进行业务预测,该业务预测包括对对象进行分类、对对象在某方面的数值进行预测,或者对对象进行推荐等等。对象可以包括用户、商铺、商品或事件等。在对GBDT模型进行训练时,可以通过N个样本以及对应的标注标签进行。
利用可信执行环境对GBDT模型进行训练,能够较好地保护样本数据的隐私性。用于训练GBDT模型的N个样本的数据通过加密的方式存储在TEE内存中,CPU从内存中读取样本数据,经过解密后用于进行对GBDT模型的训练,并将训练中的各种数据,包括中间数据和结果数据,经过加密后存储至内存中。内存中的样本等数据属于重要的隐私数据,TEE的这种工作模式保证了内存数据只在CPU内部可见,起到了对样本的保护作用。
为了进一步提高TEE中隐私数据的安全性,使其不被窥探,防止侧信道攻击,在对TEE中的GBDT模型进行训练时,本说明书实施例提供了一种基于访问模式保护的GBDT模型训练方法。在该方法中,针对GBDT决策树的每一层,例如第j层,使用包含N个样本数据的映射数组记录每个样本归属的该第j层节点的节点标识。在对GBDT模型中的第i个决策树的第j层节点进行分裂时,顺序读取该映射数组,以获取N个样本的数据,这种读取方式不会通过CPU对内存的读取模式而泄露样本的隐私数据。在CPU通过该映射数组中样本的特征信息,确定各个该第j层节点分别对应的分裂信息之后,并在对任意一个样本确定其归属的第j+1层节点的节点标识时,采用不经意访问方式,从内存中读取第j层节点的分裂信息进行确定。不经意访问方式,能够使得外界无法窥探CPU对该第j层的哪个节点的分裂信息进行了读取,进而保护了样本属于哪个节点等隐私信息。上述方式,在对GBDT模型进行训练时,能够很好地保护CPU对内存的访问模式信息不泄露,尽可能防止由内存、网络访问模式引起的侧信道攻击。下面结合具体实施例对上述方法进行说明。
图2为实施例提供的一种基于访问模式保护的GBDT模型训练方法的流程示意图。该方法可以通过TEE中的CPU执行,该TEE还包括内存。该TEE可以实现在任何具有计算、处理能力的装置、设备、平台、设备集群等中。GBDT模型通过N个样本进行训练,N为整数。GBDT模型可以包括多个决策树,并且多个决策树是按照顺序依次训练得到。其中,第一个决策树可以通过标注的样本数据训练得到,用于拟合N个经过标注的样本;第一个决策树之后的决策树可以基于前一个决策树的样本残差进行训练,样本残差基于样本的预测值与样本的标注值之间的差异得到,样本的预测值是通过已经训练的各个决策树预测得到。本实施例按层对决策树中的节点进行训练,即在对GBDT模型中的第i个决策树的第j层节点进行分裂时,i和j均为自然数,该方法包括以下步骤S210~S270。
步骤S210,CPU从内存的第一存储区中顺序读取长度为N的第一映射数组。第一存储区是指存储第一映射数组的存储区。该第一映射数组中记录N个样本与对应的第j层特征信息的映射关系,第j层特征信息包括样本归属的第j层节点的节点标识。该节点标识可以是节点编号、节点序号等用于标识节点的信息。此处第一映射数组中的“第一”,以及下文中相应的“第一”,仅仅是为了描述方便,将多个映射数组区分开来,而不具有任何限定意义。第一存储区等概念也是如此。
参见图3,该图3为一个决策树中与各层对应的映射数组的一种示意图。图3中的决策树包含3层节点,每层节点对应一个映射数组,该映射数组存储在内存中,圆圈中的数字是节点编号。每个映射数组中包括第一行的样本编号,以及第二行的特征信息。例如,在第0层节点(包括节点0)对应的映射数组(即节点0右侧的映射数组)中,其特征信息称为第0层特征信息,图3中示出了所有N个样本归属的节点编号,即都归属为节点0。
样本的第j层特征信息还可以包括其他信息。例如,当第i个决策树为模型训练中的第一个决策树时,第j层特征信息还包括:样本的至少一个特征属性的特征值。例如,每个样本可以包括D项特征属性的特征值,D为自然数。例如,当样本指示的对象为用户时,其特征属性可以包括年龄、性别、注册时间、最近一次登录时间、最近一个月登录次数等基本属性,以及用户行为特征等。样本的还可以指示商品、商铺、事件等对象。
当第i个决策树不为模型训练中的第一个决策树时,第j层特征信息还可以包括:与样本残差相关的数据。例如,根据样本残差得到的样本梯度g和海塞矩阵h等。
当第j层为第一层时,样本归属的第一层节点的节点标识可以是预设的。当第j层不是第一层时,样本归属的第j层节点的节点标识,可以是根据第j-1层节点的分裂信息确定的。对第j层节点进行分裂,可以理解为确定第j层节点的分裂信息。例如,在对图3中第0层节点进行分裂时,映射数组中记录所有样本对应的第0层特征信息,其中包括样本归属的节点编号0,该节点编号可以是预设的;在对第1层节点进行分裂时,对应的映射数组中记录所有样本对应的第1层特征信息,其中包括样本归属的节点编号1或2。样本归属的节点编号1或2是根据第0层节点的分裂信息确定的。第0层节点对应的映射数组,用于对第0层节点进行分裂,即确定第0层节点的分裂信息;第1层节点对应的映射数组,用于对第1层节点进行分裂,即确定第1层节点的分裂信息。第j层节点与记录了样本的第j层特征信息的映射数组是相互对应的。第一映射数组用于确定对应的第j层节点的分裂信息。关于分裂信息的具体内容,在以下步骤中具体说明。
在对第j层节点进行分裂时,可以从内存的第一存储区中顺序读取长度为N的第一映射数组,例如,按照样本编号顺序读取。这种固定的读取方式,能够防止泄露访问模式。样本的隐私数据不仅仅包含样本的特征信息本身,也包含样本在该层节点中的划分比例、数量等类似的信息。按层对节点进行分裂时,顺序读取映射数组,使得外界无法通过CPU对内存的访问而得到样本被划分至哪个节点,也就无法得知样本在该层节点中的分配比例,较好地保护了样本的隐私数据。
步骤S220,基于第一映射数组,确定各个样本归属的第j层节点的节点标识,进而确定各个第j层节点分别对应的各个样本组。
在一种具体实施方式中,基于第一映射数组,确定各个样本归属的第j层节点的节点标识时,可以从第一映射数据中读取任意的第一样本的第j层特征信息,对第一样本的第j层特征信息进行解密,基于解密后得到的特征信息,确定第一样本对应的第j层节点的节点标识。针对第一映射数组中的所有样本,均可以按照确定第一样本归属的第j层节点的节点标识的方式,确定其归属的第j层节点的节点标识。
TEE中内存中存储的数据,是经过加密处理的数据,这样能够防止其他应用程序获取其中的隐私数据。在CPU从内存中读取第一映射数组中的数据时,可以按照预设的秘钥和解密算法,对第j层特征信息进行解密,得到解密后的特征信息。解密后的特征信息中包含样本归属的第j层节点的节点标识,当然还可以包含其他信息。
在确定样本归属的第j层节点的节点标识之后,可以基于该节点标识确定各个第j层节点对应的各个样本组。例如,CPU在执行步骤S210和S220时,可以顺序读取第一映射数组中样本的第j层特征信息,对其进行解密,并根据解密后的特征信息确定该样本归属的第j层节点的节点标识,并根据该节点标识将该样本的特征信息放入对应节点的容器中。外界根据CPU的读取模式,无法得到样本属于哪个节点的信息,以及针对某个节点,有多少样本被划分至该节点的信息。
例如,针对图3所示的例子,对于第1层中的节点1和节点2,可以确定节点1对应的样本组包括样本1、样本2等等,节点2对应的样本组包括样本3、样本4和样本N等等。
步骤S230,基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息。其中,节点的分裂信息包括节点的分裂特征、分裂阈值以及下一层节点编号等。
在确定所有第j层节点的分裂信息时,可以按照多种实施方式进行,分别确定每个第j层节点的分裂信息。例如,当第i个决策树为第一个决策树时,第j层特征信息可以包括至少一个特征属性的特征值,可以按照穷举法,选择某个特征属性作为分裂特征,选择某个特征值作为分裂阈值,分别得到每一种选择对应的分裂增益,并选择最大分裂增益对应的分裂特征和分裂阈值,作为该节点的分裂特征和分裂阈值。当第i个决策树不是第一个决策树时,可以根据第j层特征信息中与样本残差相关的数据,确定节点的分裂特征和分裂阈值。例如,可以针对每个节点,累加其对应样本的样本梯度g和海塞矩阵h,根据累加结果确定该节点的分裂特征和分裂阈值。
在一种实施方式中,在确定所有第j层节点的分裂信息时,如果某个节点的最大分裂增益也太小,则可以对该节点停止分裂,将该节点作为叶子节点,但是也确定其分裂信息,将其伪装成有下一层节点的分裂节点,以保护决策树的结构不被泄露。具体的,可以基于各个样本组中样本的第j层特征信息,确定所有第j层节点中满足分裂条件的第一节点和不满足分裂条件的第二节点,并基于第一节点对应样本组中样本的第j层特征信息,确定第一节点的分裂信息,基于预设数据确定第二节点的分裂信息。
上述分裂条件可以包括,最大的分裂增益大于预设分裂增益阈值。
基于第一节点对应样本组中样本的第j层特征信息,确定第一节点的分裂信息时,可以按照上述穷举法来确定,并将确定的分裂特征和分裂阈值进行加密,得到第一节点的分裂信息。该第一节点的分裂信息是真实的分裂信息。基于预设数据确定第二节点的分裂信息,可以对预设数据直接进行加密,将加密得到的数据作为第二节点的分裂信息。
在具体实施时,也可以按照穷举法确定每个第j层节点可能的分裂特征和分裂阈值,并确定每一种分裂方式对应的分裂增益,当最大的分裂增益大于预设分裂增益阈值时,将对应的节点作为第一节点,并基于该最大的分裂增益对应的分裂特征和分裂阈值确定第一节点的分裂信息。当最大的分裂增益不大于预设分裂增益阈值时,将对应的节点作为第二节点,基于预设数据确定第二节点的分裂信息。
预设数据包括用于标识对应节点无真实分裂信息的标识信息。例如,如果确定图3中的节点2不满足分裂条件,则可以将节点2的分裂信息基于预设数据来确定,例如预设数据可以包括分裂特征0、分裂阈值0以及下一层节点编号5和6。这种模糊建树的方式默认扩充所有节点,外界无法猜测出决策树的具体结构。
步骤S240,将所有第j层节点的分裂信息写入内存的第二存储区。分裂信息可以理解为加密后的数据。将所有第j层节点的分裂信息写入第二存储区时,可以按照节点编号依次写入,也可以按照确定分裂信息的先后,每确定一个节点的分裂信息即将该节点的分裂信息写入第二存储区,确保所有第j层节点的分裂信息均写入第二存储区。
在将所有第j层节点的分裂信息写入内存的第二存储区时,还可以将所有第j层节点分别与对应的分裂信息的映射关系构建成第三映射数组,将第三映射数组写入内存的第二存储区。参见图4所示的用于存储图3中节点分裂信息的映射数组示意图,其中,第一行为决策树层级编号,第二行为层节点编号,第三行为对应节点的分裂信息。在确定第1层节点的分裂信息之后,将节点1的分裂信息和节点2的分裂信息构建成第三映射数组,将其写入内存。也就是,节点0对应于一个映射数组,节点1和节点2对应一个映射数组,节点3至节点6对应一个映射数组。
步骤S250,针对N个样本中的任意一个样本,采用不经意访问方式,从第二存储区中读取该样本对应的第j层节点的分裂信息,并基于该分裂信息确定该样本归属的第j+1层节点的节点标识。N个样本中的所有样本,均可以采用该方式确定其归属的第j+1层节点的节点标识。该样本归属的第j+1层节点,属于该样本对应的第j层节点的下一层节点。
该步骤可以通过计算机模型ORAM(Oblivious Read Access Machine)实现。不经意访问方式,能够使得对样本的分裂信息的读取过程不会泄露任何的隐私数据,例如可以使得外界无法得到针对一个样本,具体从第二存储区中读取了哪个第j层节点的分裂信息。外界,是指TEE之外的其他各种应用程序或机器环境。
在从第二存储区中读取该样本对应的第j层节点的分裂信息时,具体可以针对N个样本中的任意一个样本,采用不经意原语,从第二存储区中读取所有第j层节点的分裂信息,从所有第j层节点的分裂信息中查找该样本对应的第j层节点的分裂信息。
更具体的,采用不经意原语,从第二存储区中读取所有第j层节点的分裂信息时,还可以将第二存储区的全部存储内容加载至高速缓存,采用用于模糊访问的不经意原语,遍历该高速缓存的每个缓存行(cacheline),以读取所有第j层节点的分裂信息。其中,用于模糊访问的不经意原语可以包括oaccess算子等。遍历每个缓存行,形式上相当于遍历了每一个第j层节点的分裂信息。
第j层节点的分裂信息还可以以第三映射数组的形式存储在第二存储区中。将第二存储区的第三映射数组全部加载至高速缓存,采用用于模糊访问的不经意原语,遍历该高速缓存的每个缓存行,相当于遍历了第三映射数组中的每一个元素。
上述的读取方式,使得外界无法得知针对每个样本读取了哪个节点的分裂信息,也就无从得知样本属于哪个节点,很好地从访问模式的角度对样本的隐私数据进行了保护。
在步骤S250中,基于该分裂信息确定该样本归属的第j+1层节点的节点标识时,可以从该样本的特征信息中确定与该分裂信息中的分裂特征相同的特征属性,并将该特征属性与该分裂信息中的分裂阈值进行比较,根据比较结果,确定该样本属于第j+1层节点的节点标识。
例如,以图3中的节点1为例,节点1的分裂特征为年龄,分裂阈值为25岁,节点1的下一层节点包括节点3和节点4。在确定样本1属于节点3和节点4中的哪个节点时,可以将样本1的特征信息中的年龄的特征值34与分裂阈值25进行比较,例如,比较34是否大于25,根据比较结果确定该样本属于节点3或者节点4。
在实施步骤S250时,具体可以从第一存储区中顺序读取第一映射数组,得到任意一个样本a的第j层特征信息E(X),对其进行解密,得到该样本a的特征信息X,并从该特征信息X中确定该样本a归属的第j层节点的节点标识;采用不经意原语,从第二存储区中读取所有第j层节点的分裂信息,并从所有第j层节点的分裂信息中查找该样本a对应的第j层节点的分裂信息A,基于该分裂信息A和特征信息X,确定该样本a归属的第j+1层节点的节点标识。
步骤S260,至少基于N个样本各自归属的第j+1层节点的节点标识,确定N个样本分别对应的第j+1层特征信息。第j+1层特征信息中至少包括样本归属的第j+1层节点的节点标识,还可以包括其他信息。
在确定N个样本分别对应的第j+1层特征信息时,可以包括多种实施方式。例如,当第i个决策树为模型训练中的第一个决策树时,第j+1层特征信息还可以包括样本的至少一个特征属性的特征值,即样本对应的第j+1层特征信息可以是对样本的特征属性的特征值和样本归属的第j+1层节点的节点标识等进行加密后的信息。
当第i个决策树不为模型训练中的第一个决策树时,第j+1层特征信息还可以包括与样本残差相关的数据,即样本对应的第j+1层特征信息可以是对与样本残差相关的数据和样本归属的第j+1层节点的节点标识等进行加密后的信息。
步骤S270,基于N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至内存的第三存储区,以供确定其他节点的分裂信息时使用。
其中,第二映射数组和第一映射数组中的N个样本可以具有相同的排列顺序。
针对上述步骤S210~S270,以图3和图4为例再次对其执行过程进行说明。预先建立右侧第一个映射数组(映射数组1),其中每个样本均归属于节点0。在对节点0进行分裂时,顺序读取映射数组1中的数据,经过解密后得到N个样本的特征信息,并基于该特征信息确定节点0的分裂信息,将该分裂信息写入图2节点0对应的存储区;再顺序读取映射数组1,并基于映射数组1确定每个样本归属的第1层节点的节点标识,即确定每个样本归属于节点1还是节点2,基于该数据生成样本的第1层特征信息,并写入图3右侧第二个映射数组(映射数组2)。
然后,对节点1和节点2进行分裂,顺序读取映射数组2,并根据映射数组2中的信息确定哪些样本属于节点1,哪些样本属于节点2,并基于节点1对应的样本组确定节点1的分裂信息,基于节点2的样本组确定节点2的分裂信息,将节点1和节点2的分裂信息分别写入图4中的相应位置。之后,可以继续基于节点1和节点2的分裂信息,确定N个样本分别归属于哪个下一层节点。顺序从映射数组2中读取样本的特征信息,并解密,然后与节点1或节点2的分裂信息进行比较,得到该样本属于节点3至节点6中的哪一个,并基于该信息确定该样本的第2层特征信息,写入图3右侧第3个映射数组(映射数组3)。
为了对内存空间进行重复利用,在对第j层节点之后的下一层待分裂节点进行分裂时,还可以在确定N个样本针对下一层待分裂节点的多个特征信息之后,将该N个样本与各自对应的下一层待分裂节点的多个特征信息形成长度为N的第四映射数组,将所述第四映射数组写入上述第一存储区。
第j层节点的下一层待分裂节点,可以是第i个决策树中的节点,也可以是第i+1个决策树中的第一层节点。
例如,在对图3中的第1层节点之后的第2层节点进行分裂时,还可以在确定N个样本针对第2层节点的第2层特征信息之后,将该第2层特征信息写入图3中第一个映射数组对应的存储区中,在GBDT模型训练过程中维护相邻两层节点对应的映射数组即可,达到重复利用内存的目的。
再返回来看上述实施例对内存的有效占用。在内存中按层存储N个样本对应的映射数组,即能够达到模糊存储样本隐私数据的目的。并且,不管决策树的预设层数是多少,其对内存的占用复杂度均为2*N个样本,能够有效地节省内存空间。
再回顾一下本说明书实施例对决策树结构进行保护时的实施方式。在步骤S250中基于该分裂信息确定该样本归属的第j+1层节点的节点标识时,如果该分裂信息指示该第j层节点没有真实分裂信息,则可以随机确定该样本归属的第j+1层节点的节点标识。并且,在步骤S260中,确定该样本对应的第j+1层特征信息时,可以将该第j+1层特征信息中除节点标识之外的特征信息确定为预设值,例如0值。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图5为实施例提供的一种基于访问模式保护的GBDT模型训练装置的示意性框图。该装置部署在TEE中的CPU中,该TEE还包括内存。该装置实施例与图2所示方法实施例相对应。GBDT模型通过N个样本进行训练,其中,在对GBDT模型中的第i个决策树的第j层节点进行分裂时,所述装置500包括:
读取模块510,配置为,从所述内存的第一存储区中顺序读取长度为N的第一映射数组,其中记录所述N个样本与对应的第j层特征信息的映射关系,第j层特征信息包括样本归属的第j层节点的节点标识;
对应模块520,配置为,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,进而确定各个第j层节点分别对应的各个样本组;
分裂模块530,配置为,基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息;
写入模块540,配置为,将所有第j层节点的分裂信息写入所述内存的第二存储区;
归属模块550,配置为,针对所述N个样本中的任意一个样本,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,并基于该分裂信息确定该样本归属的第j+1层节点的节点标识;
确定模块560,配置为,至少基于所述N个样本各自归属的第j+1层节点的节点标识,确定所述N个样本分别对应的第j+1层特征信息;
存储模块570,配置为,基于所述N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至所述内存的第三存储区。
在一种实施方式中,对应模块520,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识时,包括:
从所述第一映射数据中读取任意的第一样本的第j层特征信息;
对所述第一样本的第j层特征信息进行解密;
基于解密后得到的特征信息,确定所述第一样本对应的第j层节点的节点标识。
在一种实施方式中,写入模块540,具体配置为:
将所有第j层节点分别与对应的分裂信息的映射关系构建成第三映射数组,将所述第三映射数组写入所述内存的第二存储区。
在一种实施方式中,归属模块550,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息时,包括:
针对所述N个样本中的任意一个样本,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,从所有第j层节点的分裂信息中查找该样本对应的第j层节点的分裂信息。
在一种实施方式中,归属模块550,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息时,包括:
将所述第二存储区的全部存储内容加载至高速缓存;
采用用于模糊访问的不经意原语,遍历所述高速缓存的每个缓存行,以读取所有第j层节点的分裂信息。
在一种实施方式中,分裂模块530,具体配置为:
基于各个样本组中样本的第j层特征信息,确定所有第j层节点中满足分裂条件的第一节点和不满足分裂条件的第二节点,并基于所述第一节点对应样本组中样本的第j层特征信息,确定所述第一节点的分裂信息,基于预设数据确定所述第二节点的分裂信息,所述预设数据包括用于标识对应节点无真实分裂信息的标识信息。
在一种实施方式中,当所述第i个决策树为模型训练中的第一个决策树时,所述第j层特征信息还包括:样本的至少一个特征属性的特征值;当所述第i个决策树不为模型训练中的第一个决策树时,所述第j层特征信息还包括:与样本残差相关的数据。
在一种实施方式中,第二映射数组和所述第一映射数组中的N个样本具有相同的排列顺序。
在一种实施方式中,该装置500还包括:
替换模块(图中未示出),在对所述第j层节点之后的下一层待分裂节点进行分裂时,在确定所述N个样本针对所述下一层待分裂节点的多个特征信息之后,将所述N个样本与各自对应的下一层待分裂节点的多个特征信息形成长度为N的第四映射数组,将所述第四映射数组写入上述第一存储区。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图4任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图4任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (20)
1.一种基于访问模式保护的GBDT模型训练方法,通过可信执行环境TEE中的CPU执行,所述TEE还包括内存;所述GBDT模型通过N个样本进行训练,其中,在对所述GBDT模型中的第i个决策树的第j层节点进行分裂时,所述方法包括:
从所述内存的第一存储区中顺序读取长度为N的第一映射数组,其中记录所述N个样本与对应的第j层特征信息的映射关系,第j层特征信息包括样本归属的第j层节点的节点标识;
基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,进而确定各个第j层节点分别对应的各个样本组;
基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息;
将所有第j层节点的分裂信息写入所述内存的第二存储区;
针对所述N个样本中的任意一个样本,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,并基于该分裂信息确定该样本归属的第j+1层节点的节点标识;
至少基于所述N个样本各自归属的第j+1层节点的节点标识,确定所述N个样本分别对应的第j+1层特征信息;
基于所述N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至所述内存的第三存储区。
2.根据权利要求1所述的方法,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,包括:
从所述第一映射数组中读取任意的第一样本的第j层特征信息;
对所述第一样本的第j层特征信息进行解密;
基于解密后得到的特征信息,确定所述第一样本对应的第j层节点的节点标识。
3.根据权利要求1所述的方法,将所有第j层节点的分裂信息写入所述内存的第二存储区,包括:
将所有第j层节点分别与对应的分裂信息的映射关系构建成第三映射数组,将所述第三映射数组写入所述内存的第二存储区。
4.根据权利要求1或3所述的方法,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,包括:
针对所述N个样本中的任意一个样本,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,从所有第j层节点的分裂信息中查找该样本对应的第j层节点的分裂信息。
5.根据权利要求4所述的方法,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,包括:
将所述第二存储区的全部存储内容加载至高速缓存;
采用用于模糊访问的不经意原语,遍历所述高速缓存的每个缓存行,以读取所有第j层节点的分裂信息。
6.根据权利要求1所述的方法,基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息,包括:
基于各个样本组中样本的第j层特征信息,确定所有第j层节点中满足分裂条件的第一节点和不满足分裂条件的第二节点,并基于所述第一节点对应样本组中样本的第j层特征信息,确定所述第一节点的分裂信息,基于预设数据确定所述第二节点的分裂信息,所述预设数据包括用于标识对应节点无真实分裂信息的标识信息。
7.根据权利要求1所述的方法,当所述第i个决策树为模型训练中的第一个决策树时,所述第j层特征信息还包括:样本的至少一个特征属性的特征值;
当所述第i个决策树不为模型训练中的第一个决策树时,所述第j层特征信息还包括:与样本残差相关的数据。
8.根据权利要求1所述的方法,所述第二映射数组和所述第一映射数组中的N个样本具有相同的排列顺序。
9.根据权利要求1所述的方法,在对所述第j层节点之后的下一层待分裂节点进行分裂时,还包括:
在确定所述N个样本针对所述下一层待分裂节点的多个特征信息之后,将所述N个样本与各自对应的下一层待分裂节点的多个特征信息形成长度为N的第四映射数组,将所述第四映射数组写入上述第一存储区。
10.一种基于访问模式保护的GBDT模型训练装置,部署在可信执行环境TEE中的CPU中,所述TEE还包括内存;所述GBDT模型通过N个样本进行训练,其中,在对所述GBDT模型中的第i个决策树的第j层节点进行分裂时,所述装置包括:
读取模块,配置为,从所述内存的第一存储区中顺序读取长度为N的第一映射数组,其中记录所述N个样本与对应的第j层特征信息的映射关系,第j层特征信息包括样本归属的第j层节点的节点标识;
对应模块,配置为,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识,进而确定各个第j层节点分别对应的各个样本组;
分裂模块,配置为,基于各个样本组中样本的第j层特征信息,确定所有第j层节点的分裂信息;
写入模块,配置为,将所有第j层节点的分裂信息写入所述内存的第二存储区;
归属模块,配置为,针对所述N个样本中的任意一个样本,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息,并基于该分裂信息确定该样本归属的第j+1层节点的节点标识;
确定模块,配置为,至少基于所述N个样本各自归属的第j+1层节点的节点标识,确定所述N个样本分别对应的第j+1层特征信息;
存储模块,配置为,基于所述N个样本与各自对应的第j+1层特征信息的映射关系形成长度为N的第二映射数组,并将其存储至所述内存的第三存储区。
11.根据权利要求10所述的装置,所述对应模块,基于所述第一映射数组,确定各个样本归属的第j层节点的节点标识时,包括:
从所述第一映射数组中读取任意的第一样本的第j层特征信息;
对所述第一样本的第j层特征信息进行解密;
基于解密后得到的特征信息,确定所述第一样本对应的第j层节点的节点标识。
12.根据权利要求10所述的装置,所述写入模块,具体配置为:
将所有第j层节点分别与对应的分裂信息的映射关系构建成第三映射数组,将所述第三映射数组写入所述内存的第二存储区。
13.根据权利要求10或12所述的装置,所述归属模块,采用不经意访问方式,从所述第二存储区中读取该样本对应的第j层节点的分裂信息时,包括:
针对所述N个样本中的任意一个样本,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息,从所有第j层节点的分裂信息中查找该样本对应的第j层节点的分裂信息。
14.根据权利要求13所述的装置,所述归属模块,采用不经意原语,从所述第二存储区中读取所有第j层节点的分裂信息时,包括:
将所述第二存储区的全部存储内容加载至高速缓存;
采用用于模糊访问的不经意原语,遍历所述高速缓存的每个缓存行,以读取所有第j层节点的分裂信息。
15.根据权利要求10所述的装置,所述分裂模块,具体配置为:
基于各个样本组中样本的第j层特征信息,确定所有第j层节点中满足分裂条件的第一节点和不满足分裂条件的第二节点,并基于所述第一节点对应样本组中样本的第j层特征信息,确定所述第一节点的分裂信息,基于预设数据确定所述第二节点的分裂信息,所述预设数据包括用于标识对应节点无真实分裂信息的标识信息。
16.根据权利要求10所述的装置,当所述第i个决策树为模型训练中的第一个决策树时,所述第j层特征信息还包括:样本的至少一个特征属性的特征值;
当所述第i个决策树不为模型训练中的第一个决策树时,所述第j层特征信息还包括:与样本残差相关的数据。
17.根据权利要求10所述的装置,所述第二映射数组和所述第一映射数组中的N个样本具有相同的排列顺序。
18.根据权利要求10所述的装置,还包括:
替换模块,在对所述第j层节点之后的下一层待分裂节点进行分裂时,在确定所述N个样本针对所述下一层待分裂节点的多个特征信息之后,将所述N个样本与各自对应的下一层待分裂节点的多个特征信息形成长度为N的第四映射数组,将所述第四映射数组写入上述第一存储区。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988115.1A CN112084519B (zh) | 2020-09-18 | 2020-09-18 | 基于访问模式保护的gbdt模型训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988115.1A CN112084519B (zh) | 2020-09-18 | 2020-09-18 | 基于访问模式保护的gbdt模型训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084519A CN112084519A (zh) | 2020-12-15 |
CN112084519B true CN112084519B (zh) | 2022-04-12 |
Family
ID=73738987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010988115.1A Active CN112084519B (zh) | 2020-09-18 | 2020-09-18 | 基于访问模式保护的gbdt模型训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084519B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118641B (zh) * | 2022-01-29 | 2022-04-19 | 华控清交信息科技(北京)有限公司 | 风电场功率预测方法、gbdt模型纵向训练方法及装置 |
CN115712583B (zh) * | 2023-01-09 | 2023-04-18 | 之江实验室 | 一种提升分布式缓存跨节点访问性能的方法及装置、介质 |
CN116167092B (zh) * | 2023-04-21 | 2023-07-18 | 支付宝(杭州)信息技术有限公司 | 一种密态数据查询方法、装置、存储介质以及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449282B2 (en) * | 2010-07-01 | 2016-09-20 | Match.Com, L.L.C. | System for determining and optimizing for relevance in match-making systems |
CN107301577A (zh) * | 2016-04-15 | 2017-10-27 | 阿里巴巴集团控股有限公司 | 信用评估模型的训练方法、信用评估方法以及装置 |
CN111126628B (zh) * | 2019-11-21 | 2021-03-02 | 支付宝(杭州)信息技术有限公司 | 在可信执行环境中训练gbdt模型的方法、装置及设备 |
CN111401570B (zh) * | 2020-04-10 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 针对隐私树模型的解释方法和装置 |
CN111598186B (zh) * | 2020-06-05 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
-
2020
- 2020-09-18 CN CN202010988115.1A patent/CN112084519B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112084519A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084519B (zh) | 基于访问模式保护的gbdt模型训练方法及装置 | |
US5123045A (en) | Comprehensive software protection system | |
US7770029B2 (en) | Software protection using oblivious data structures | |
US7350085B2 (en) | Tamper resistant software-mass data encoding | |
Liu et al. | Secure outsourced frequent pattern mining by fully homomorphic encryption | |
CN112989397B (zh) | 一种抗侧信道攻击的数据处理方法和装置 | |
Fu et al. | Data correlation‐based analysis methods for automatic memory forensic | |
Alam et al. | Sgx-mr: Regulating dataflows for protecting access patterns of data-intensive sgx applications | |
US20240061933A1 (en) | Systems and methods for causing nonpredictable environment states for exploit prevention and malicious code neutralization for javascript-enabled applications | |
Lisin et al. | Methods and approaches for privacy-preserving machine learning | |
Omran et al. | Facilitating secure query processing on encrypted databases on the cloud | |
Nakano et al. | Memory access pattern protection for resource-constrained devices | |
CN112367396B (zh) | 分布式集群中的样本特征分位点确定方法及装置 | |
De Capitani di Vimercati et al. | Enforcing authorizations while protecting access confidentiality | |
Mouratidis | Strong location privacy: A case study on shortest path queries | |
Baraani-Dastjerdi et al. | Security in databases: A survey study | |
CA3188334A1 (en) | A database server system | |
Yee | Reducing the attack surface for private data | |
Wang et al. | Enclavetree: Privacy-preserving data stream training and inference using tee | |
Roy et al. | When Oblivious is Not: Attacks against {OPAM} | |
Rahal-Arabi | The Symbioses of Oblivious Random Access Memory and Trusted Execution Environments | |
Jiang et al. | Oblivious data structure for secure multiple-set membership testing | |
CN117349801B (zh) | 一种隐私计算方法、装置、介质及电子设备 | |
De Capitani di Vimercati et al. | Access privacy in the cloud | |
CN112182632A (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 |