CN114692717A - 树模型训练方法、装置和系统 - Google Patents

树模型训练方法、装置和系统 Download PDF

Info

Publication number
CN114692717A
CN114692717A CN202011635228.XA CN202011635228A CN114692717A CN 114692717 A CN114692717 A CN 114692717A CN 202011635228 A CN202011635228 A CN 202011635228A CN 114692717 A CN114692717 A CN 114692717A
Authority
CN
China
Prior art keywords
encrypted
segmentation
intermediate parameter
policy
distribution information
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.)
Pending
Application number
CN202011635228.XA
Other languages
English (en)
Inventor
邵云峰
李秉帅
田海博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011635228.XA priority Critical patent/CN114692717A/zh
Priority to EP21914716.2A priority patent/EP4258163A4/en
Priority to PCT/CN2021/143708 priority patent/WO2022143987A1/zh
Publication of CN114692717A publication Critical patent/CN114692717A/zh
Priority to US18/344,185 priority patent/US20230353347A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种树模型训练的方法以及装置。该方法中,在对于树模型的第一节点训练的过程中,第一装置向第二装置提供对于该第一节点的加密的标签分布信息,从而第二装置利用该加密的标签分布信息来计算第二装置侧的分割策略的中间参数,进而第二装置侧的分割策略的增益能够被获得。该第一节点的优选分割策略也能够根据该第二装置侧的分割策略的增益和该第一装置侧的分割策略的增益而获得。该加密的标签分布信息包含了标签数据和分布信息,且是密文状态的,既能够用于确定分割策略的增益,又不会泄露第一节点上样本集的分布情况。该方法提高了纵向联邦学习的安全性。

Description

树模型训练方法、装置和系统
技术领域
本申请涉及机器学习技术领域,尤其涉及树模型训练方法、装置和系统。
背景技术
联邦学习(federated learning)是一种分布式机器学习技术。随着联邦学习技术的发展,可以利用位于不同实体的数据来共同训练机器学习模型,以增强模型的学习能力,并且该位于不同实体的数据不出本地,从而避免原始数据泄露。对于纵向联邦学习,由于同一样本的不同特征分属于不同实体,即该不同实体拥有相同的样本空间和不同的特征空间。该不同实体参与纵向联邦学习。其中,具有样本的标签数据的实体称为有标签方,不具有样本的标签数据的实体称为无标签方。
目前,对于树模型的纵向联邦学习,在构建树模型的过程中,若无标签方获得树模型中样本在各节点的分布情况,则存在标签数据泄露的安全隐患。如何提高纵向联邦学习的安全性成为需要解决的问题。
发明内容
本申请提供了一种树模型训练的方法、装置和系统,提高纵向联邦学习的安全性。
第一方面,本申请实施例提供了一种树模型训练的方法。该方法应用于第一装置,该第一装置具体是本申请中的装置B,即有标签方。该方法中,第一装置对于该树模型的第一节点,确定该第一装置的分割策略(又叫分割策略B)对应的增益;第一装置还接收第二装置发送的该第二装置对于该第一节点的第一分割策略(具体为分割策略A、或者第一分割策略A)对应的加密的中间参数。其中,第二装置具体是本申请中的装置A,该第一分割策略对应的加密的中间参数是根据对于该第一节点的加密的标签分布信息、和该第一分割策略对于样本集中每个样本的分割结果确定的,而该样本集包括用于训练该树模型的样本(也即是该树模型的根节点对应的样本集)。第一装置还根据该第一装置的分割策略对应的增益和该第二装置对于该第一节点的第二分割策略(又叫分割策略A、或者第二分割策略A)对应的增益确定该第一节点的优选分割策略。其中,该第一分割策略包括该第二分割策略,该第二分割策略对应的增益是根据该第二分割策略对应的加密的中间参数确定的。中间参数具体指用于计算增益的中间参数。
上述方法中,该第一分割策略对应的加密的中间参数是根据对于该第一节点的加密的标签分布信息确定的,从而第一装置无需向第二装置发送明文下的样本集对于第一节点的分布情况,则第二装置不会获得树模型中每个节点上样本集的分布情况,因而减小了该样本集的分布情况被用于推测标签数据的风险,提高了纵向联邦学习的安全性。
在一个可能的设计中,该加密的标签分布信息是根据该样本集的第一标签信息和该样本集对于该第一节点的第一分布信息确定的,该第一标签信息包括该样本集中的每个样本的标签数据,所述第一分布信息包括指示该样本集中的每个样本是否属于该第一节点的指示数据。该方案中,该加密的标签分布信息包含了标签数据和分布信息,因而根据该加密的标签分布信息能够计算该第一分割策略对应的加密的中间参数、进而计算该第一分割策略对应的增益。且该加密的标签分布信息是密文状态的,提高了安全性。
在一个可能的设计中,指示样本属于该第一节点的指示数据为非0值,指示样本不属于该第一节点的指示数据为0值。从而,不属于该第一节点的样本的标签数据对应于0值,即不会真正计算到对于该第一节点的该第一分割策略对应的增益中去。
在一个可能的设计中,该方法还提供了两种获得该加密的标签分布信息的方法:1)该第一装置根据该第一标签信息和该第一分布信息确定该标签分布信息,对该标签分布信息进行加密以获得该加密的标签分布信息;或者2)该第一装置根据加密的该第一标签信息和加密的该第一分布信息确定该加密的标签分布信息。进而该方法还包括:该第一装置向该第二装置发送该加密的标签分布信息。从而,该第二装置获得的是该加密的标签分布信息,而不会获得明文下的样本集对于第一节点的分布情况。
在一个可能的设计中,该加密的标签分布信息是根据该第一标签信息和该第一分布信息确定的,包括:该加密的标签分布信息是根据加密的该第一标签信息和加密的该第一分布信息确定的。该方法还包括:第一装置向该第二装置发送该加密的第一标签信息和该加密的第一分布信息。从而,该第二装置获得该加密的第一标签信息和该加密的第一分布信息,而不会获得明文下的样本集对于第一节点的分布情况,提高了安全性。并且第二装置能够自行计算以得到该加密的标签分布信息,进而该第一分割策略对应的增益能够根据该加密的标签分布信息得到。
在一个可能的设计中,该方法还包括:第一装置获得用于同态加密的加密密钥,该加密的标签分布信息是根据该加密密钥确定的。其中,该加密的标签分布信息、该加密的第一标签信息、和/或该加密的第一分布信息是利用该加密密钥加密而得到的。第一装置还利用该解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数。该第一分割策略对应的中间参数包括该第二分割策略对应的中间参数,而该第二分割策略对应的增益是根据该第二分割策略对应的中间参数确定的。同态加密允许对密文进行特定形式的运算得到仍然是加密的结果。使用同态密钥对中的解密密钥对经同态加密后的数据进行运算后的结果进行解密,与对明文进行同样的运算结果一样。因而第二装置在同态加密下利用该加密的标签分布信息计算得到的加密的中间参数,经第一装置解密后,与明文状态下的中间参数是一样的。这样在保证安全性的同时,也得到了用于计算增益的中间参数。
在一个可能的设计中,该第一装置获得用于同态加密的加密密钥和解密密钥具体包括:该第一装置生成同态加密的第一加密密钥和第一解密密钥,接收该第二装置发送的同态加密的第二加密密钥;根据该第一加密密钥和该第二加密密钥确定第三加密密钥,该加密的标签分布信息是根据该加密密钥确定的。其中,该加密的标签分布信息、该加密的第一标签信息、和/或该加密的第一分布信息是利用该加密密钥加密而得到的。该第一装置利用该解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数包括:该第一装置利用该第一解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数。该方案对应于公钥合成技术。
在一个可能的设计中,该第一装置利用该第一解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数具体包括:该第一装置利用该第一解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到经该第一装置解密的该第一分割策略对应的加密的中间参数;接收该第二装置利用第二解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到经该第二装置解密的该第一分割策略对应的加密的中间参数;根据该经该第一装置解密的该第一分割策略对应的加密的中间参数、和该经该第二装置解密的该第一分割策略对应的加密的中间参数确定该第一分割策略对应的中间参数。
在一个可能的设计中,该第一装置利用该第一解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数具体包括:该第一装置接收该第二装置利用第二解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到经该第二装置解密的该第一分割策略对应的加密的中间参数;利用该第一解密密钥对该经该第二装置解密的该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数。
在一个可能的设计中,若该优选分割策略为该第一装置的分割策略中的一个,则第一装置还确定该优选分割策略对于该样本集中每个样本的分割结果、或者该优选分割策略对于第一样本子集中每个样本的分割结果,其中该第一样本子集中每个样本属于该第一节点。进一步地,第一装置还根据该优选分割策略的该分割结果与该第一分布信息确定该样本集对于该第一节点的第一子节点的第二分布信息、或者根据该优选分割策略的该分割结果与加密的该第一分布信息确定该样本集对于该第一子节点的加密的第二分布信息。其中,该第一子节点为第一节点的至少一个子节点中的一个,而该第二分布信息和/或该加密的第二分布信息用于确定对于该第一子节点的加密的标签分布信息。则第一装置和第二装置可以根据该第一子节点的加密的标签分布信息继续对第一子节点进行训练,例如确定该第一子节点的优选策略。在具体实现中,该优选分割策略的该分割结果可以是明文的或者是密文的。
在一个可能的设计中,若该优选分割策略为该第二分割策略中的一个(或者第一分割策略中的一个),则第一装置还向该第二装置发送加密的该第一分布信息、该关于该优选分割策略的指示信息,并接收该第二装置发送的该样本集对于该第一节点的第一子节点的加密的第二分布信息,该加密的第二分布信息是根据该加密的第一分布信息和该优选分割策略对于该样本集的分割结果确定的。与上一可能的设计类似的,该加密的第二分布信息用于确定对于该第一子节点的加密的标签分布信息,从而便于对第一子节点进行训练。在具体实现中,该优选分割策略的该分割结果可以是明文的或者是密文的。例如,该加密的第二分布信息是根据该加密的第一分布信息和该优选分割策略对于该样本集的分割结果确定的包括:该加密的第二分布信息是根据该加密的第一分布信息和该优选分割策略对于该样本集的加密的分割结果确定的。
进一步地,该第一装置还可以对该加密的第二分布信息进行解密以得到对于该第一子节点的第二分布信息,其中该第二分布信息包括指示该样本集中每个样本是否属于该第一子节点的指示数据,并且该第一装置根据该第二分布信息确定该第二样本子集,该第二样本集子中每个样本属于该第一子节点。该第二样本子集便于第一装置对第一子节点进行训练,例如更高效地确定第一装置的分割策略对于该第二样本子集的分割结果。
在一个可能的设计中,该第一装置还接收该第二装置发送的该第二分割策略对应的增益,其中,该第二分割策略对应的增益是该第一分割策略对应的增益中的最优增益(即该第二分割策略为该第一分割策略中增益最优的),该第一分割策略对应的增益是根据该第一分割策略对应的加密的中间参数确定的。该情况下,第一装置接收第二装置的增益最优的第二分割策略的增益,根据该第二分割策略的增益和该第一装置自身的分割策略的增益即可确定优选分割策略,而不需要获得更多的第二装置的明文的信息,因而进一步提高了安全性。
在一个可能的设计中,该第一分割策略对应的加密的中间参数为该第一分割策略对应的加密的第二中间参数,该加密的第二中间参数包含来自该第二装置的噪声。该方法中,该第一装置还对该加密的第二中间参数进行解密以得到该第一分割策略对应的第二中间参数,并向该第二装置发送该第一分割策略对应的该第二中间参数,该第一分割策略对应的增益是根据去除噪声后的该第一分割策略对应的第二中间参数确定的。该方案中,第二装置发送给第一装置的加密的第二中间参数是包含来自该第二装置的噪声的,因而第一装置对其解密之后也不能获得真正的第一分割策略对应的中间参数,减小了第二装置侧数据泄露的风险,进一步提高了安全性。
在一个可能的设计中,该第一装置向该第二装置发送用于同态加密的加密密钥。则第二噪声是利用该加密密钥对第一噪声加密而得到的,而该加密的第二中间参数包含的噪声为第二噪声;上述该第一装置对该加密的第二中间参数进行解密以得到该第一分割策略对应的第二中间参数具体包括:该第一装置利用同态加密的解密密钥对该加密的第二中间参数进行解密以得到该第一分割策略对应的第二中间参数;上述第一分割策略对应的增益是根据去除噪声后的该第一分割策略对应的第二中间参数确定的具体包括:该第一分割策略对应的增益是根据该第一分割策略对应的第一中间参数确定的,该第一分割策略对应的第一中间参数是该第一分割策略对应的该第二中间参数去除该第一噪声而得到的。
该方案中,第一装置向第二装置提供同态加密的加密密钥,从而第二装置根据该加密密钥可以对第一噪声进行加密而得到第二噪声,第二装置向第一装置发送的该加密的第二中间参数中包含该第二噪声,则第一装置对该加密的第二中间参数解密之后也无法获得第二装置侧真正的中间参数的信息。由于同态加密下的计算不改变明文的计算结果,第二装置能够去除解密后的第二中间参数中的第一噪声。如此,提供了更加安全的关于引入噪声的可行性方案。
在一个可能的设计中,该第一装置对该第一分割策略对应的加密的中间参数进行解密以得到经该第一装置解密的该第一分割策略对应的加密的中间参数;并向该第二装置发送经该第一装置解密的该第一分割策略对应的加密的中间参数,该第一分割策略对应的增益是根据该经该第一装置解密的该第一分割策略对应的加密的中间参数确定的。该方案对应于公钥合成技术,则第一装置解密后也无法获得明文的第二装置的第一分割策略对应的中间参数,从而进一步提高了安全性。
在一个可能的设计中,该第一装置对于该第一节点确定该第一装置的分割策略对应的增益具体包括:该第一装置对于该第一节点,确定该第一装置的分割策略对于该样本集中每个样本的分割结果;根据该第一装置的分割策略对于该每个样本的分割结果、和该对于该第一节点的加密的标签分布信息确定该第一装置的分割策略对应的加密的中间参数;根据该第一装置的分割策略对应的加密的中间参数获得该第一装置的分割策略对应的中间参数;并且根据该第一装置的分割策略对应的中间参数确定该第一装置的分割策略对应的增益。该方案对应于公钥合成技术,该情况下,第一装置在密文状态下计算以得到第一装置的分割策略对应的加密的中间参数,即根据对于该第一节点的加密的标签分布信息来计算该加密的中间参数,从而第一装置也没有获得明文下的样本集对于第一节点的分布情况,进一步提高了安全性。
在一个可能的设计中,上述该第一装置根据该第一装置的分割策略对应的加密的中间参数获得该第一装置的分割策略对应的中间参数具体包括:该第一装置根据该第一装置的分割策略对应的加密的中间参数获得该第一装置的分割策略对应的中间参数向该第二装置发送该第一装置的分割策略对应的加密的中间参数;接收该第二装置发送的经该第二装置解密的该第一装置的分割策略对应的加密的中间参数;根据该经该第二装置解密的该第一装置的分割策略对应的加密的中间参数确定该第一装置的分割策略对应的中间参数。
在一个可能的设计中,该第一分割策略即为该第二分割策略。则该方法还包括:该第一装置对该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数;根据该第一分割策略对应的中间参数确定该第二分割策略对应的增益。
在一个可能的设计中,该第一装置还向该第二装置发送关于该优选分割策略的指示信息。
在一个可能的设计中,该第一装置还根据该优选分割策略更新该树模型。
第二方面,本申请实施例提供了一种树模型训练的方法。该方法应用于第二装置,该第二装置具体是本申请中的装置A,即无标签方。该方法中,第二装置对于该树模型的第一节点,确定该第二装置的第一分割策略(具体为分割策略A、或者第一分割策略A)对于样本集中每个样本的分割结果,该样本集包括用于训练该树模型的样本(也即是该树模型的根节点对应的样本集);根据该第一分割策略对于该每个样本的分割结果、和对于该第一节点的加密的标签分布信息确定该第一分割策略对应的加密的中间参数;并向第一装置发送该第一分割策略对应的加密的中间参数,该加密的中间参数用于确定该第一节点的优选分割策略。
上述方法中,该第一分割策略对应的加密的中间参数是根据对于该第一节点的加密的标签分布信息确定的,从而第二装置无需获得明文下的样本集对于第一节点的分布情况,因而减小了该样本集的分布情况被用于推测标签数据的风险,提高了纵向联邦学习的安全性。
在一个可能的设计中,该对于该第一节点的加密的标签分布信息是根据样本集的第一标签信息和该样本集对于该第一节点的第一分布信息确定的,该第一标签信息包括该样本集中的每个样本的标签数据,该第一分布信息包括指示该每个样本是否属于该第一节点的指示数据。该方案中,该加密的标签分布信息包含了标签数据和分布信息,因而根据该加密的标签分布信息能够计算该第一分割策略对应的加密的中间参数、进而计算该第一分割策略对应的增益。且该加密的标签分布信息是密文状态的,提高了安全性。
在一个可能的设计中,指示样本属于该第一节点的指示数据为非0值,指示样本不属于该第一节点的指示数据为0值。从而,不属于该第一节点的样本的标签数据对应于0值,即不会真正计算到对于该第一节点的该第一分割策略对应的增益中去。
在一个可能的设计中,该方法还提供了两种获得该加密的标签分布信息的方法:1)该第二装置接收该第一装置发送的该加密的标签分布信息;或者2)该第二装置接收该第一装置发送的加密的该第一标签信息和加密的该第一分布信息;并根据该加密的该第一标签信息和该加密的该第一分布信息确定该加密的标签分布信息。从而,该第二装置获得的是该加密的标签分布信息,而不会获得明文下的样本集对于第一节点的分布情况。
在一个可能的设计中,该第二装置还接收该第一装置发送的加密的第一分布信息、关于该优选分割策略的指示信息;根据该指示信息确定该优选分割策略,其中,该优选分割策略为该第二装置的第一分割策略中的;根据该加密的该第一分布信息和该优选分割策略对于该样本集的分割结果确定该样本集对于该第一节点的第一子节点的加密的第二分布信息;向该第一装置发送该加密的第二分布信息。其中,该第一子节点为第一节点的至少一个子节点中的一个,而该加密的第二分布信息用于确定对于该第一子节点的加密的标签分布信息。则第一装置和第二装置可以根据该第一子节点的加密的标签分布信息继续对第一子节点进行训练,例如确定该第一子节点的优选策略。在具体实现中,该优选分割策略的该分割结果可以是明文的或者是密文的。例如,该第二装置根据该加密的第一分布信息和该优选分割策略对于该样本集的分割结果确定加密的第二分布信息包括:该第二装置根据该加密的第一分布信息和该优选分割策略对于该样本集的加密的分割结果确定加密的第二分布信息。
在一个可能的设计中,该第二装置还根据该第一分割策略对应的加密的中间参数获得该第一分割策略对应的中间参数;根据该第一分割策略对应的中间参数确定该第一分割策略对应的增益;根据该第一分割策略对应的增益确定增益最优的第二分割策略;向该第一装置发送该第二分割策略的增益,该第二分割策略的增益用于确定该第一节点的优选分割策略。该情况下,第二装置确定第二装置侧的第一分割策略中发送增益最优的第二分割策略,并将该第二分割策略的增益提供给第一装置以确定优选分割策略。第一装置获得该第二分割策略的增益即可,而不需要获得更多的第二装置的明文的信息,因而进一步提高了安全性。
在一个可能的设计中,该第一分割策略对应的加密的中间参数为该第一分割策略对应的加密的第二中间参数;该第二装置根据该第一分割策略对于该每个样本的分割结果、和对于该第一节点的加密的标签分布信息确定该第一分割策略对应的加密的中间参数具体包括:该第二装置根据该第一分割策略对于该每个样本的分割结果、和对于该第一节点的加密的标签分布信息确定该第一分割策略对应的加密的第一中间参数;向该加密的第一中间参数引入噪声以得到该第一分割策略对应的加密的第二中间参数。上述第一分割策略对应的中间参数为第一分割策略对应的第一中间参数,该第二装置根据该第一分割策略对应的加密的中间参数获得该第一分割策略对应的中间参数包括:接收该第一装置发送的该第一分割策略对应的第二中间参数,该第二中间参数是对该加密的第二中间参数解密而得到的;为该第一分割策略对应的第二中间参数去除噪声以得到该第一分割策略对应的第一中间参数。
该方案中,第二装置发送给第一装置的加密的第二中间参数是包含来自该第二装置的噪声的,因而第一装置对其解密之后也不能获得真正的第一分割策略对应的中间参数,减小了第二装置侧数据泄露的风险,进一步提高了安全性。
在一个可能的设计中,该第二中间参数是利用同态加密的解密密钥对该加密的第二中间参数解密而得到的。该方法还包括:第二装置还接收该第一装置发送的用于同态加密的加密密钥;确定第一噪声;利用该加密密钥对该第一噪声加密以得到第二噪声。该第二装置向该加密的第一中间参数引入噪声以得到该加密的第二中间参数具体包括:该第二装置根据该第二噪声、该加密的第一中间参数确定该第一分割策略对应的加密的第二中间参数。该为该第一分割策略对应的第二中间参数去除噪声包括:为该第一分割策略对应的第二中间参数去除该第一噪声。
该方案中,第二装置接收第一装置提供的同态加密的加密密钥,从而第二装置根据该加密密钥可以对第一噪声进行加密而得到第二噪声,第二装置向第一装置发送的该加密的第二中间参数中包含该第二噪声,则第一装置对该加密的第二中间参数解密之后也无法获得第二装置侧真正的中间参数的信息。由于同态加密下的计算不改变明文的计算结果,第二装置能够去除解密后的第二中间参数中的第一噪声。如此,提供了更加安全的关于引入噪声的可行性方案。
在一个可能的设计中,该第二装置根据该第一分割策略对应的加密的中间参数确定该第一分割策略对应的中间参数具体包括:该第二装置接收该第一装置发送的经该第一装置解密的该第一分割策略对应的加密的中间参数;根据该经该第一装置解密的该第一分割策略对应的加密的中间参数确定该第一分割策略对应的中间参数。该方案对应于公钥合成技术,则第一装置解密后也无法获得明文的第二装置的第一分割策略对应的中间参数,从而进一步提高了安全性。
在一个可能的设计中,该第二装置还接收该第一装置发送的关于该优选分割策略的指示信息,进而根据该优选分割策略的指示信息更新该树模型。
在一个可能的设计中,该第二装置还生成同态加密的第二加密密钥和第二解密密钥,向该第一装置发送该第二加密密钥,该第二加密密钥用于合成第三加密密钥。从而,该第三加密密钥用于加密,例如该加密的标签分布信息是根据该第三加密密钥确定的。该第二解密密钥是用于解密的。进一步地,该第二装置还接收该第一装置发送的第三加密密钥。从而该第二装置也可以利用该第三加密密钥进行加密。该方案对应于公钥合成技术。
在一个可能的设计中,上述该第二装置根据该经该第一装置解密的该第一分割策略对应的加密的中间参数确定该第一分割策略对应的中间参数包括:该第二装置利用该第二解密密钥对该经该第一装置解密的该第一分割策略对应的加密的中间参数进行解密以得到该第一分割策略对应的中间参数。
在一个可能的设计中,上述该第二装置根据该经该第一装置解密的该第一分割策略对应的加密的中间参数确定该第一分割策略对应的中间参数包括:该第二装置利用该第二解密密钥对该第一分割策略对应的加密的中间参数进行解密以得到经该第二装置解密的该第一分割策略对应的加密的中间参数;并根据该经该第二装置解密的该第一分割策略对应的加密的中间参数、该经该第一装置解密的该第一分割策略对应的加密的中间参数确定该第一分割策略对应的中间参数。
第三方面,本申请提供了一种装置。该装置用于执行上述第一方面至第二方面提供的任一种方法。
在一种可能的设计中,本申请可以根据上述第一方面至第二方面提供的任一种方法,对该树模型训练装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
示例性的,本申请可以按照功能将该树模型训练装置划分为通信模块和处理模块。应理解,该通信模块还可以进一步划分为发送模块、接收模块,分别用于完成相应的发送功能、接收功能。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应的可能的设计提供的技术方案,第二方面或其相应的可能的设计提供的技术方案此处不再赘述。
在另一种可能的设计中,该树模型训练装置包括:存储器和处理器,存储器和处理器耦合。存储器用于存储指令,处理器用于调用该指令,以执行如第一方面或其相应的可能的设计提供的方法、第二方面或其相应的可能的设计提供的方法。应理解,处理器可以具备收发功能。作为一种可能的设计,该树模型训练装置还包括收发器,用于执行上述方法中信息收发的操作。
第四方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行上述任一方面的任意可能的实现方式中的方法的指令。
第五方面,本申请提供了一种计算机程序产品,包括用于执行上述任一方面的任意可能的实现方式中的方法的指令。
第六方面,本申请提供了一种芯片,包括:处理器,该处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行上述任一方面的任意可能的实现方式中的方法的指令。
案中:上述第一、或第二方面中的发送动作,具体可以替换为在处理器的控制下发送;上述第一、或第二方面中的接收动作,具体可以替换为在处理器的控制下接收。
第七方面,本申请提供了一种树模型训练的系统,该系统包括第一装置和第二装置,该第一装置用于执行如第一方面或其相应的可能的设计提供的方法,该第二装置用于执行如第二方面或其相应的可能的设计提供的方法。
在本申请中,上述任一种装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种树模型的示意图;
图2为本申请实施例提供的一种可能的系统架构示意图;
图3A为本申请实施例提供的又一种可能的系统架构示意图;
图3B为本申请实施例提供的又一种可能的系统架构示意图;
图4A-图4B为本申请实施例提供的一种树模型训练的方法流程图;
图5A-图5B为本申请实施例提供的一种树模型的示意图;
图6A-图6B为本申请实施例提供的又一种树模型训练的方法流程图;
图7A-图7B为本申请实施例提供的又一种树模型训练的方法流程图;
图8为本申请实施例提供的一种装置的结构示意图;
图9为本申请实施例提供的又一种装置的结构示意图;
图10为本申请实施例提供的又一种装置的结构示意图。
具体实施方式
为便于对于本申请的理解,以下先说明本申请实施例中所涉及的一些术语和技术:
1)、机器学习、机器学习模型
机器学习,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成某模型业务。
在一些示例中,机器学习模型是包含用于完成某模型业务所采用的算法实现代码和参数的文件。其中,算法实现代码用于描述机器学习模型的模型结构,参数用于描述机器学习模型各构成部分的属性。
在另一些示例中,机器学习模型是完成某模型业务的逻辑功能模块。例如,将输入参数的值输入到机器学习模型,得到该机器学习模型的输出参数的值。
机器学习模型包括人工智能(Artificial Intelligence,AI)模型如树模型等。
2)树模型
树模型,也可以叫做决策树(Decision Tree)模型。树模型采用树型结构,通过层层推理来实现最终的分类。
如图1所示,为基础的树模型。基础的树模型具体由以下几种元素构成:根节点(又可以叫做决策节点);内部节点(又可以叫做机会节点);叶节点(又可以叫做终结点);节点之间的连接。其中,根节点、内部节点包含各自的分割策略。某节点(根节点、和/或内部节点)的分割策略指的是某个特征及该特征的值,用于确定到达该节点的数据去往下一层的哪个节点。分割策略又可以称为树模型的参数。例如,在该节点为某个样本预测时,该节点的分割策略为特征一、特征一的取值,将该样本的特征一的特征值与该分割策略的特征一的特征值进行比较,如果该样本的特征一的特征值小于该分割策略的特征一的特征值,则为该样本选择左子树继续进行推理,否则选择右子树继续进行推理。叶节点指示预测的分类结果,即样本的标签。例如该样本最终到达叶节点一,则该样本经过预测的分类结果即为该叶节点一指示的分类结果。该分类结果即为该样本在该树模型中的输出。
构建树模型的方法有很多,但多种方法都可归结为如何为树模型中的每个节点(除叶节点之外的其他节点)确定分割策略。在构建树模型时,从根节点开始,由上往下为每层的每个节点选择对于该每个节点的优选分割策略,若某个节点达到预设标准(如该节点达到指定深度、或者该节点的数据集纯度达到阈值等),则该节点设置为叶节点。应理解,构建树模型又可以称为训练树模型。
基于基础树模型,还可以采用集成学习的思路构造出多种集成树模型,例如梯度提升决策树(Gradient Boosted Decision Tree,GBDT)、随机森林(Random Forest)、极端梯度提升树(eXtreme Gradient Boosting,XGBoost)、极端梯度提升机器(Light GradientBoosting Machine,LightGBM)等等。集成学习的思路是使用多个基础树模型来增强单个树模型的拟合能力。因而本申请的技术方案可以应用于多种树模型,本申请对此不做限定。
3)纵向联邦学习
纵向联邦学习(Vertical Federated Learning又称Heterogenous FederatedLearning)指的是各方拥有不同特征空间的设定下进行联邦学习的技术。纵向联邦学习可以利用同一样本的、位于不同实体的不同特征的数据,进行模型训练,例如利用相同用户群的、位于不同实体的不同用户特征的数据进行树模型的训练。数据的特征又可以叫做数据的属性。
4)同态加密
同态加密(Homomorphic encryption)是一种加密形式,它允许对密文进行特定形式的运算(如加法、乘法等)得到仍然是加密的结果。使用同态密钥对中的解密密钥对经同态加密后的数据进行运算后的结果进行解密,与对明文进行同样的运算结果一样。
5)公钥
用于执行同态加密时的加密密钥。
6)私钥
用于执行同态加密时的解密密钥。
7)公钥合成技术
公钥合成技术(又可以叫做分布式公钥合成技术),指的是多方参与合成公钥的技术。它允许多方分别生成公私钥对,汇聚该多方的公钥并进行公钥合成以得到合成的公钥。从而执行加密时使用该合成的公钥,而执行解密时该多方利用自身生成的私钥对密文进行解密从而得到对应的明文。
图2为本申请实施例适用的系统架构的示意图。该系统架构可以包括至少一个装置A 201,装置B 202。装置A可以和装置B进行数据通信,从而实现纵向联邦学习。本申请中纵向联邦学习采用的是树模型。将构建一个树模型所用到的样本的集合称为样本集。样本集也即是该树模型的根节点对应的样本集,样本集在各内部节点处会被基于分割策略分割为多个样本子集,直至各叶节点处形成各最终的样本子集。
装置A具有样本集的特征数据子集A(DA),装置B具有样本集的特征数据子集B(DB)、样本集的标签集(Y)。本申请以一个装置A来进行示例性描述,应理解,当有多个装置A时,也是类似的,本申请对此不做限定。例如装置A-1具有样本集的特征数据子集A-1(DA-1)、装置A-2具有样本集的特征数据子集A-2(DA-2)等等。另外,由于装置A不具有标签集,而装置B具有标签集,装置A又可以叫做无标签方,装置B又可以叫做有标签方。在本申请中,装置A还可以称为第一装置,装置B还可以称为第二装置。
从模型维度描述,装置B和装置A分别构建具有不同参数(分割策略)的树模型。构建树模型的过程中,对于装置B和装置A的树模型的同一层的同一个节点,装置B和装置A分别遍历利用自身的特征数据构成的分割策略,并根据各分割策略对于属于该节点的样本子集的分割结果、该节点的样本子集的标签值确定各分割策略的增益,从而根据各分割策略的增益确定优选分割策略。若优选分割策略是装置A侧的,则装置A将该优选分割策略加入装置A的树模型A的该节点中,并将优选分割策略对于该样本子集的分割结果发送给装置B,从而装置A和装置B根据该分割结果确定该节点的下一层子节点的样本子集,并继续对于该子节点进行训练。若优选分割策略是装置B侧的,则装置B将该优选分割策略加入装置B的树模型B的该节点中,并将优选分割策略对于该样本子集的分割结果发送给装置A,从而装置A和装置B根据该分割结果确定该子节点的样本子集,并继续对于该子节点进行训练。直至该子节点达到预设标准,则停止对该子节点的训练,将该子节点作为叶节点。
在构建树模型时,对于某一节点,装置A也需要确定属于该节点的样本子集(即确定哪些样本属于该节点),从而确定A侧分割策略对于属于该节点的样本子集的分割结果(即确定属于该节点的下一层子节点的样本子集),并进一步确定该A侧分割策略的增益。若装置A获得了样本集在该节点的分布情况(即样本集中样本属于什么节点),则可能推测样本集的标签数据,从而存在标签数据泄露的安全隐患。
本申请提供的方案中,装置A根据对于第一节点(树模型中任意非叶节点)的加密的标签分布信息、以及装置A的分割策略A对于样本集中每个样本的分割结果来确定分割策略A对应的加密的中间参数,该加密的中间参数能够用于确定分割策略A的增益。从而装置A作为无标签方无需得到样本集对于第一节点的分布情况,分割策略A的增益也能被计算出来。装置B接收该分割策略A对应的加密的中间参数,从而获得分割策略A的增益。另外,装置B作为有标签方,可以明文或者密文状态下计算装置B的分割策略B的增益,进而比较分割策略B的增益和分割策略A的增益以确定优选分割策略。进一步地,本申请还提出了其他方法(例如对数据打包后加密、引入噪声、公钥合成技术等等),具体技术细节可以参见下文方法实施例的描述,这里不再赘述。
如图3A所示,为本申请实施例适用的一种具体可能的系统架构示意图。该系统可以包括网络数据分析功能实体201-1、应用功能实体202。该系统还可以包括管理分析功能实体201-2。应理解,图3A中的网络数据分析功能实体201-1、管理分析功能实体201-2可以为本申请中的装置A,图3A中的应用功能网元实体202可以为本申请中的装置B。
网络数据分析功能(Network Data Analytics Function,NWDAF)实体201-1:可以从各网络实体,比如基站、核心网功能实体等等获取数据(例如网络负载等相关数据),并进行数据分析,以获得特征数据子集A-1。例如该特征数据子集A-1中包括的数据是与业务流集相应的网络负载特征数据集。
管理分析功能实体(Management Data Analytics Function,MDAF)201-2:可以从各网络实体,比如基站、核心网功能实体等等获取数据(例如网络能力等相关数据),并进行数据分析,以获得特征数据子集A-2。例如该特征数据子集A-2中包括的数据是与业务流集相应的网络能力特征数据集。
应用功能(Application Function,AF)实体202:用于提供业务,或者进行与应用有关的数据的路由。应用功能实体202还用于获取应用层相关的数据,并进行数据分析,以获得特征数据子集B。例如该特征数据子集B包括的数据是与该业务流集相应的应用特征数据集。另外,应用功能实体202还用于获得与该业务流集相应的业务流体验数据。该业务流体验数据可以被编码以得到业务流集相应的标签集。
应理解,网络数据分析功能实体201-1、管理分析功能实体201-2、应用功能实体202可以具有不同的业务流相关的数据,进而取业务流的交集,以得到用于训练的业务流集(即样本集)。
网络数据分析功能实体201-1、管理分析功能实体201-2、应用功能实体202可以共同参与纵向联邦学习,从而得到用于预测业务流体验的树模型。具体的训练过程可以参见本申请其他实施例的描述,这里不再赘述。
应理解,训练的树模型中每个非叶节点的分割策略可以是网络数据分析功能实体201-1的特征、管理分析功能实体201-2的特征、或者应用功能实体202的特征构成的。例如对于已训练完成的树模型节点A,优选分割策略为网络数据分析功能实体201-1的特征,则网络数据分析功能实体201-1中的树模型1中的节点A-1存储有该优选分割策略,管理分析功能实体201-2中的树模型2中的节点A-2指示该节点的优选策略在网络数据分析功能实体201-1侧、应用功能实体202中的树模型3中的节点A-3指示该节点的优选策略在网络数据分析功能实体201-1侧,从而在使用树模型进行预测时,由节点A-1的优选分割策略来对待预测业务流进行预测,并将预测结果(例如该待预测业务流被分割到节点A-1的右子节点的信息)发送给网络数据分析功能实体201-1、应用功能实体202,从而继续进行节点A的右子节点的预测。由此也可以看出,训练完成后,网络数据分析功能实体201-1、管理分析功能实体201-2、应用功能实体202分别存储树模型1、树模型2、树模型3,树模型1、树模型2、树模型3也都参与预测,因而可以将树模型1、树模型2、树模型3称为树模型的几个子模型(即树模型1、树模型2、树模型3都为树模型的一部分),本申请对此不做限定。对于其他应用场景也是类似的,不再赘述。
应理解,在不同的训练场景下,这些功能实体在训练中的角色也可能发生转换,例如网络数据分析功能实体201-1拥有表征网络性能好坏的标签集,则该情况下网络数据分析功能实体201-1作为有标签方,对应于装置B。本领域技术人员能够对应于不同的训练场景运用本申请的技术方案。
如图3B所示,为本申请实施例适用的又一种具体可能的系统架构示意图。该系统可以包括业务系统服务器A 201、业务系统服务器B 202。应理解,图3B中的业务系统服务器A 201可以为本申请中的装置A,图3B中的业务系统服务器B 202可以为本申请中的装置B。
业务系统服务器A和业务系统服务器B可以为应用于不同业务系统的服务器,比如业务系统服务器A为运营商业务系统的服务器,业务系统服务器B为银行业务系统的服务器。业务系统服务器A用于保存用户群A基于业务A的数据,业务系统服务器B用于保存用户群B基于业务B的数据。用户群A和用户群B有交集用户群AB,该用户群AB的用户既属于用户群A,又属于用户群B,将该用户群AB作为样本集。业务系统服务器A和业务系统服务器B共同进行纵向联邦学习。学习过程中,业务系统服务器A使用保存的基于业务A的用户数据(特征数据子集A),业务系统服务器B使用保存的基于业务B的用户数据(特征数据子集B)、用户标签数据(标签集)。
表2为以业务系统服务器A为运营商业务系统的服务器,业务系统服务器B为银行业务系统的服务器为例的样本数据的示意表。
表2
Figure BDA0002876098730000121
行号为1的数据(即status,用户标签数据)做为模型训练的标签集。行号1-9对应的数据为银行业务系统服务器获得的数据,可以作为装置B对应的特征数据子集B,行号为10-14对应的数据为运营商业务系统获得的数据,可以作为装置A对应的特征数据子集A。行号1-14的数据为用户群AB中的同一用户(即同一样本)在不同系统的数据。业务系统服务器A和业务系统服务器B利用上述数据共同进行纵向联邦学习,学习的具体过程可以参见本申请其他实施例的描述,这里不再赘述。
为更好地描述本申请的技术方案,这里对树模型训练(纵向联邦学习)中的一些数据、参数进行介绍。
装置A具有样本集的特征数据子集A(DA),装置B具有样本集的特征数据子集B(DB)、样本集的标签集(Y)。
样本集包含P个样本(P为大于等于1的整数),则特征数据子集A、特征数据子集B、标签集Y分别包含P条数据(比如P个用户的数据)。相应地,特征数据子集A为:
Figure BDA0002876098730000131
特征数据子集B为:
Figure BDA0002876098730000132
其中,p为小于等于P的任意正整数。
特征数据子集A包含N个特征(N为大于等于1的整数),特征数据子集B包含M个特征(M为大于等于1的整数)。因此装置A拥有的特征FA为:FA={f1,f2,...,fN};装置B拥有特征FB为:FB={fN+1,fN+2,...,fN+M},其中,fN表示为第N个特征,fN+M表示为第N+M个特征。因而,特征数据子集A中第p个样本的特征数据表示为:
Figure BDA0002876098730000133
相应地,特征数据子集B中第p个样本的特征数据表示为:
Figure BDA0002876098730000134
标签集Y也包括P条数据:Y={y1,y2,...yp,...,yP}。标签值可表示样本的分类结果,又或者说标签值是对分类结果的编码,便于模型训练时能够对这些标签值进行计算等。例如守信用户的标签值为+1,不守信用户的标签值为-1。一般的,对于二分类(指分类结果为二种)的情况,标签集Y可以以一个向量来表示:Y=[y1,y2,...,yp,...,yP],其中yp可以取值为+1或者-1,具体取值根据分类结果来确定。对于多分类(一般指分类结果大于二种)的情况,可以采用one-hot编码,标签集Y具体表示为:
Figure BDA0002876098730000135
其中,C表示分类结果的种类,C为大于2的整数。c为小于等于C的任意正整数。
Figure BDA0002876098730000136
可以取值为0或者1,具体地:当样本
Figure BDA0002876098730000137
的类别是第c类的分类结果时,取值为1;当样本
Figure BDA0002876098730000138
的类别不是第c类的分类结果时,取值为0。标签集Y中的任意一行可以表示为:
Figure BDA0002876098730000139
Figure BDA00028760987300001310
应理解,二分类也可以作为多分类的一种特殊情况(例如C=2),则二分类也可以采取上述多分类的编码方法,本申请对此不做限定。另外,多分类的树模型也可以拆分为多个二分类的树模型来训练,其中每个树模型的样本对应两种分类结果,本申请对此不做限定。
对于树模型,这里做进一步的介绍。
1)层(layer)。树模型的结构的是分层的(可参见图1,例如从根节点开始为0层,依次向下)
2)节点。树的每一层由节点组成,树中的每一层节点的标识(又叫做索引)可以依次从左到右递增。本申请以v表示节点的标识。应理解,层数、节点的编号方法本申请不限定,图1仅为一种示例。
在树模型构建过程中,样本集中的样本随着一层一层节点的构建,会被分割到不同的节点上。对于第一节点(树模型上的任意非叶节点),属于该第一节点的样本指的是被该第一节点的各上层节点的分割策略分割到该第一节点的样本,属于该第一节点的样本构成了第一节点的样本子集。某个样本是否属于第一节点是根据该第一节点的各上层节点的分割策略确定的,也可以认为是该第一节点的各上层节点的分割策略的分割结果。特别的,当第一节点为根节点时,根节点没有上层节点,样本集都属于根节点。
以图1所示的树模型为例,样本集包括{X1,X2,...,X8}(即样本集包括8个样本,P=8)。根节点00是初始节点,样本集都在根节点00,即8个样本都属于根节点00,该8个样本构成了根节点00的样本子集(由于根节点的特殊性,根节点00的样本子集即样本集)。在确定根节点00的优选策略时,遍历分割策略,从而从分割策略中选择增益最优的分割策略00作为根节点的优选策略。进而根据该分割策略00,根节点00的样本集被分割为内部节点10的样本子集{X1,X3,X5},和内部节点11的样本子集{X2,X4,X6,X7,X8}。得到以下结论:根节点00的样本集中被分割到内部节点10的样本X1、X3、X5属于内部节点10、根节点00的样本集中被分割到内部节点11的样本X2、X4、X6、X7、X8属于内部节点11,这也是分割策略00对于样本集中每个样本的结果。
对于内部节点10,为内部节点10选择增益最优的分割策略10作为内部节点10的优选策略。进而根据该分割策略10,内部节点10的样本子集被分割为叶节点20的样本子集{X1},和叶节点21的样本子集{X3,X5}。可以得到以下结论:内部节点10的样本子集中被分割到叶节点20的样本X1属于叶节点21、根节点00的样本子集中被分割到叶节点21的样本X3、X5属于叶节点20。应理解,样本X1属于叶节点20,是叶节点20的上层节点(内部节点10)的分割策略10和内部节点10的上层节点(根节点00)的分割策略00共同作用的结果。若仅考虑分割策略10,分割策略10对于样本集{X1,X2,...,X8}中每个样本的分割结果可能是样本X1、X2、X8被分割到叶节点20,样本X3、X4、X5、X6、X7被分割到叶节点21。因而分割策略10将样本集中某个样本分割到某个节点,但该样本并不一定属于该节点。
具体地,可以以数字符号来表示某个样本是否属于第一节点,例如用非0字符(如1)表示该样本属于第一节点,用0字符表示该样本部署于第一节点。样本集对于第一节点的分布信息包括指示该样本集中的每个样本是否属于第一节点的指示数据(即上述数字符号)。将第一节点记为节点v,样本集对于第一节点的分布信息记为Sv,则
Figure BDA0002876098730000141
其中,如果样本p在节点v上,则
Figure BDA0002876098730000142
置为非0字符(如1字符),否则置为0字符。以图1为例,根节点的分布信息S00=[1,1,1,1,1,1,1,1],内部节点10的分布信息S10=[1,0,1,0,1,0,0,0]。应理解,当非0字符取1时,根节点的Sv为全1的向量。
如图4所示,为本申请实施例提供的在纵向联邦学习的场景下进行树模型训练的方法,可适用于图2、图3A、图3B等应用场景。具体步骤如下:
400、装置B获得同态加密的加密密钥(pk)和解密密钥(sk)。
加密密钥又可以叫做公钥,解密密钥又可以叫做私钥。装置B的加密密钥(pk)有多种获得方式。可选地,装置B生成同态加密的加密密钥(pk)和解密密钥(sk)。可选地,采用公钥合成技术,即由参与纵向联邦学习的多方(包括装置A和装置B)合成公钥(即加密密钥(pk)是通过该多方合成而获得的)。关于公钥合成技术的具体方法可以参见图6所示实施例中步骤600的描述,这里先不赘述。
401a、装置B根据样本集的第一标签信息和样本集对于第一节点的第一分布信息确定样本集对于该第一节点的第一标签分布信息。
第一节点为树模型中任意非叶节点(例如根节点、或者内部节点)。
装置B根据样本集的标签集(即每个样本的标签值)确定该样本集的第一标签信息。该样本集的第一标签信息包括样本集中的每个样本的标签数据。作为一种可选的方式:每个样本的标签数据即为其标签值,第一标签信息即为上述标签集,例如第一标签信息表示为:Y=[y1,y2,...,yp,...,yP]。作为另一种可选的方式,每个样本的标签数据是根据样本的标签值计算得到的。以XGBoost算法为例进行说明,第一标签信息表示为样本集中每个样本上一棵树的预测标签值和真实标签值的残差,具体表示为:
G=[y1′-y1,y2′-y2,...,yp′-yp,...,y′P-yP]
H=[y1′(1-y1′),y2′(1-y2′),...,yp′(1-yp′),...,y′P(1-y′P)]
其中,yp为样本的真实标签值,yp′为上一棵树的预测标签值。应理解,若此次训练的第一棵树,y′p取0值,则H为全0值可忽略,该情况下残差即为真实标签值。
装置B确定样本集对于第一节点的第一分布信息,该第一分布信息包括指示所述每个样本是否属于所述第一节点的指示数据,具体可以参见上文的介绍,这里不再赘述。若第一节点为根节点,则装置B直接确定该第一分布信息,例如确定该第一分布信息为全1的向量。若第一节点不是根节点,则装置B从缓存中加载该第一分布信息。具体地,第一节点的第一分布信息是根据第一节点的上一层节点的分布信息、和/或优选分割策略等信息确定的,第一节点的上一层节点训练完成后,装置B缓存该第一节点的第一分布信息,以用于第一节点的训练。第一节点的第一分布信息确定的方法可以参见下文描述的第一节点的子节点的第二分布信息确定的方法,方法是类似的,如步骤413、415。
装置B根据该样本集的第一标签信息和该样本集对于第一节点的第一分布信息确定该样本集对于该第一节点的第一标签分布信息。具体地,将第一标签信息和第一分布信息按元素相乘。作为一种可选的方式,第一标签分布信息表示为:
Figure BDA0002876098730000151
作为另一种可选的方式,第一标签分布信息表示为:
Figure BDA0002876098730000152
Figure BDA0002876098730000153
第一分布信息中对于不属于第一节点的样本,
Figure BDA0002876098730000154
则第一标签分布信息中对于不属于第一节点的样本,
Figure BDA0002876098730000155
从而后期在利用第一标签分布信息计算增益的中间参数、和/或增益时,不属于第一节点的样本的标签数据并没有产生影响。
进一步地,装置B利用同态加密的加密密钥(pk)对该第一标签分布信息加密以得到该样本集对于第一节点的加密的第一标签分布信息,例如:
Figure BDA0002876098730000156
或者
Figure BDA0002876098730000157
Figure BDA0002876098730000158
Figure BDA0002876098730000159
Figure BDA00028760987300001510
其中,
Figure BDA00028760987300001511
表示加密的,在本申请中具体表示同态加密。
作为一种可选的方式,装置B根据加密的第一标签信息和加密的第一分布信息确定加密的第一标签分布信息。具体地,装置B可以利用该加密密钥(pk)对该第一标签信息、该第一分布信息分别加密以得到加密的第一标签信息(如
Figure BDA00028760987300001512
或者
Figure BDA00028760987300001513
)、加密的第一分布信息
Figure BDA00028760987300001514
并进一步根据该加密的第一标签信息和该加密的第一分布信息确定该样本集对于第一节点的加密的第一标签分布信息(例如将两者按元素相乘)。另外,装置B还可以根据加密的第一标签信息和第一分布信息确定加密的第一标签分布信息,或者装置B还可以根据第一标签信息和加密的第一分布信息确定加密的第一标签分布信息,本申请不做限定,最终得到的是密文下的第一标签分布信息即可。
401b、装置B向装置A发送该样本集对于第一节点的加密的第一标签分布信息。
从而装置A得到该加密的第一标签分布信息。
可选地,该装置B还向装置A发送该样本集对于第一节点的加密的第一分布信息,从而装置A得到该加密的第一分布信息。
以上401a、401b是装置A得到该加密的第一标签分布信息的一种方式,应理解,还可以有其他方式。例如以下401a’和401b’,具体如下。
401a’、装置B向装置A发送该加密的第一标签信息和加密的第一分布信息。
装置B确定该加密的第一标签信息和该加密的第一分布信息的具体方法参见401a的描述,不再赘述。
401b’、装置A根据该加密的第一标签信息和该加密的第一分布信息确定该加密的第一标签分布信息。
装置A接收该加密的第一标签信息和该加密的第一分布信息,进一步确定该加密的第一标签分布信息,具体方法不再赘述。
402、装置A确定装置A的分割策略的分割结果。
装置A的分割策略又可以叫做装置A侧的分割策略。
装置A可以在训练根节点前生成装置A的分割策略,例如针对装置A的特征FA中每个特征,生成多个分割阈值,从而生成装置A的分割策略集合。为便于描述,将装置A的分割策略简称为分割策略A。可选地,分割策略A还可以叫做装置A的第一分割策略、第一分割策略A、装置A的第二分割策略、第二分割策略A等。进一步地,在训练每个节点时,装置A利用该分割策略A。装置A还可以在训练该第一节点前,对于该第一节点确定分割策略A,例如针对装置A的特征FA中还未被使用过的特征、和/或还未被使用过的分割阈值生成分割策略A,进而在训练该第一节点时利用分割策略A。应理解,该分割策略A可以是一个分割策略集合,一般包括两个或两个以上的分割策略,但也不排除仅有一个分割策略的情况。分割策略A可以表示为:RA={r1A,r2A,...,riA,...,rIA},其中,I为正整数,i为装置A的分割策略的标识(又可以叫做索引),i为小于等于I的正整数。
进一步地,装置A确定该分割策略A对于样本集中每个样本的分割结果。具体地,装置A确定该分割策略A中每个分割策略对于样本集中每个样本的分割结果。示例性地,将第一节点的子节点表示为节点2v、节点2v+1。一般地,树模型是二分叉的,即每个内部节点或者根节点有两个子节点。应理解,树模型也可以是多分叉的,例如第一节点包括3个子节点等,本申请对此不做限定,以二分叉为例进行说明。
装置A根据特征数据子集A(DA)确定分割策略riA对于样本集中每个样本的分割结果,该分割结果表示如下:
Figure BDA0002876098730000161
Figure BDA0002876098730000162
其中,WA2v表示该分割策略A将该样本集分割到节点2v的分割结果,WA(2v+1)表示该分割策略A将该样本集分割到节点2v+1的分割结果。其中,若分割策略riA将第p个样本分割至节点2v,则
Figure BDA0002876098730000163
取非0值(如1),
Figure BDA0002876098730000164
取0值。
例如对于分割策略(特征:通话次数(Call nums),阈值:100次/月),则样本集中通话次数大于100的样本被分割到节点2v,即WA2v中通话次数大于100的样本的
Figure BDA0002876098730000165
取值为1,WA2v中通话次数小于等于100的样本的
Figure BDA0002876098730000166
取值为0;通话次数小于等于100的样本被分割到节点2v+1,即WA(2v+1)中通话次数小于等于100的样本的
Figure BDA0002876098730000167
取值为1,WA(2v+1)中通话次数大于100的样本的
Figure BDA0002876098730000168
取值为0。
403、装置A根据分割策略A的分割结果、该加密的第一标签分布信息确定该分割策略A对应的加密的中间参数。
具体地,对于该分割策略A中的每个分割策略,装置A计算对应的加密的中间参数。中间参数是指用于计算增益的参数。
作为一种可选的方式,分割策略riA对应的加密的中间参数计算方法如下:
Figure BDA0002876098730000169
Figure BDA00028760987300001610
Figure BDA00028760987300001611
Figure BDA00028760987300001612
其中,
Figure BDA00028760987300001613
即为分割策略riA对应的加密的中间参数。
作为一种可选的方式,分割策略riA对应的加密的中间参数计算方法如下:
Figure BDA00028760987300001614
Figure BDA00028760987300001615
Figure BDA0002876098730000171
Figure BDA0002876098730000172
作为一种可选的方式,计算该加密的中间参数时,还可以直接统计该分割策略riA对于该样本集分割至节点2v、节点2v+1的分割结果,并利用该统计的结果来计算对应的加密的中间参数,具体方法不在此赘述。
另外,上述中间参数的计算方式为本申请示例性提供的,本申请对此不做限定,本领域技术人员应当理解,对于不同的增益计算方法、和/或不同的树模型的算法,可以采用不同的中间参数的计算方法。
404、装置A向装置B发送该分割策略A对应的加密的中间参数。
405、装置B确定装置B的分割策略对应的增益。
装置B作为有标签方,可以在明文的状态下得到装置B的分割策略对应的增益。另外,装置B拥有样本集对于第一节点的分布信息,即装置B能够确定样本集中哪些样本属于第一节点,即确定第一节点的样本子集。为便于描述,将第一节点的样本子集简称为第一样本子集。因而,装置B在确定装置B的分割策略的分割结果,考虑第一样本子集即可,可以不考虑整个样本集的情况。假设第一样本子集中包含Q个样本,Q为小于P的整数。
具体步骤如下:
1)装置B确定装置B的分割策略对于第一样本子集中每个样本的分割结果B。
装置B的分割策略又可以叫做装置B侧的分割策略。关于装置B的分割策略具体可以参见402中对于装置A的分割策略的描述,将A替换为B即可,这里不再赘述。为便于描述,将装置B的分割策略简称为分割策略B。分割策略B可以表示为:RB={r1B,r2B,...,rjB,...,rJB},其中,J为正整数j为分割策略B的标识(又可以叫做索引),j为小于等于J的正整数。
进一步地,装置B确定该分割策略B对于第一样本子集中每个样本的分割结果。具体地,装置B确定该分割策略B中每个分割策略对于第一样本子集中每个样本的分割结果。
装置B根据特征数据子集B(具体地,根据其中特征数据子集B中Q个样本的特征数据)确定分割策略riB对于第一样本子集中每个样本的分割结果,该分割结果表示如下:
Figure BDA0002876098730000173
Figure BDA0002876098730000174
其中,WB2v表示该分割策略B将该第一样本子集分割到节点2v的分割结果,WA(2v+1)表示该分割策略B将该第一样本子集分割到节点2v+1的分割结果。
2)装置B根据该分割策略B的分割结果、该第一样本子集的标签信息确定该分割策略B对应的中间参数。
具体地,对于该分割策略B中的每个分割策略,装置B计算对应的中间参数。
作为一种可选的方式,分割策略rjB对应的中间参数计算方法如下:
Figure BDA0002876098730000175
Figure BDA0002876098730000176
Figure BDA0002876098730000177
Figure BDA0002876098730000178
其中,
Figure BDA0002876098730000179
即为分割策略rjB对应的加密的中间参数。
作为一种可选的方式,分割策略rjB对应的加密的中间参数计算方法如下:
Figure BDA0002876098730000181
Figure BDA0002876098730000182
Figure BDA0002876098730000183
Figure BDA0002876098730000184
应理解,计算该中间参数时,还可以直接统计该分割策略rjB对于该第一样本子集分割至节点2v、节点2v+1的分割结果,并利用该统计的结果来计算对应的中间参数,具体方法不在此赘述。
另外,1)中,装置B也可以确定分割策略B对于样本集中每个样本的分割结果B;2)中,装置B也可以根据该分割策略B的分割结果、该样本集对于第一节点的第一分布标签信息确定该分割策略B对应的中间参数。具体的计算公式可以参见402、403的描述,将A替换成B,去掉加密即可。该情况下,装置B对样本集的每个样本进行计算,计算公式与装置A侧类似,但是计算量加大了。
应理解,若采用的是公钥合成技术进行的同态加密,则装置B虽然是有标签方,在训练过程中也不能直接获得明文的样本集的分布信息。该情况下,与装置A类似的,装置B也需要在密文的状态下计算以得到分割策略B对应的加密的中间参数,进而装置B和装置A共同对该分割策略B对应的加密的中间参数进行解密以得到明文的该分割策略B对应的中间参数,进而得到分割策略B对应的增益。具体方法可以参见图6所示实施例中步骤605的描述,这里先不赘述。
3)装置B根据该分割策略B对应的中间参数确定该分割策略B对应的增益。
分割策略的增益是用于衡量分割策略好坏的量化指标,增益具体可以是多种的(即增益计算方法可以是多种的),例如增益为基尼(Gini)系数、信息熵等等。另外,还可以将信息增益比作为衡量分割策略好坏的量化指标,为便于描述,本申请将信息增益比也作为一种增益。为使描述清楚,本申请以基尼系数作为分割策略B的增益为例,给出如下增益计算方法,但本申请对此并不限定。示例性地,对于分割策略rjB,对应的增益为:
Figure BDA0002876098730000185
406、装置B对该分割策略A对应的加密的中间参数进行解密以得到该分割策略A对应的中间参数。
装置B接收装置A发送的该分割策略A对应的加密的中间参数
Figure BDA0002876098730000186
Figure BDA0002876098730000187
装置B利用解密密钥(sk)对该分割策略A对应的加密的中间参数进行解密以得到该分割策略A对应的中间参数。即装置B利用解密密钥(sk)对
Figure BDA0002876098730000188
进行解密以得到
Figure BDA0002876098730000189
应理解,若采用的是公钥合成技术进行的同态加密,则对应的解密过程中,由多方共同解密。另外,该情况下,该分割策略B对应的加密的中间参数也需要进行解密,则装置B还对该分割策略B对应的加密的中间参数进行解密以得到该分割策略B对应的中间参数。具体解密的方法可以参见图6所示实施例中步骤606的描述。
407、装置B根据该分割策略A对应的中间参数确定该分割策略A对应的增益。
具体内容可以参见上文步骤405-3)的描述,将405-3)中的i替换为j,A替换为B即可,这里不再赘述。
应理解,本申请中步骤的标号、说明顺序并不对步骤的执行顺序产生限定,例如步骤405和步骤401-404没有执行顺序的限定,即步骤405可以在步骤401之前执行、步骤404之后执行、或者和步骤401-404中任意步骤同时执行。再例如步骤405和步骤406-407也没有执行顺序的限定,具体不再赘述。
408、装置B根据该分割策略A对应的增益和分割策略B对应的增益确定该第一节点的优选分割策略。
具体地,装置B在分割策略A对应的增益和分割策略B对应的增益中确定最优增益,并将该最优增益对应的分割策略作为该第一节点的优选分割策略。优选分割策略又可以被称为最优分割策略。应理解,由于不同的增益计算方法、和/或不同的树模型的算法,对于第一节点而得到的优选策略可能是不同的,因而这里的最优是相对概念,具体指在特定增益计算方法和特定树模型算法下的最优。
作为一个示例,装置B将基尼系数最小的分割策略作为优选分割策略。应理解,当两个或两个以上分割策略的增益相同时,装置B可以任选一个作为优选分割策略,也可以将属于分割策略B的作为优选分割策略等等,本申请不做限定。
进而,根据该优选分割策略更新该树模型。该优选分割策略是分割策略A或者分割策略B中的一个分割策略。应理解,纵向联邦学习的场景下,装置A和装置B根据自身的特征数据共同训练,训练得到的树模型中,可能部分节点的优选策略是装置A的分割策略(包含的是装置A的特征FA中的特征),而另一部分节点的优选策略是装置B的分割策略(包含的是装置B的特征AA中的特征)。从而,装置A训练得到的树模型A、和装置B训练得到的树模型B结构相同,分别保存各自的分割策略,可参见图5A及图5B的示例。训练过程中,树模型A和树模型B是被共同训练的;后期预测过程中,树模型A和树模型B是被共同使用的。因而,树模型A和树模型B可以认为是同一个树模型(例如是同一树模型的子树模型),也可以认为是关联的两个树模型,本申请不对此限定。
下面描述根据该优选分割策略更新该树模型的具体步骤。
409、装置B向装置A发送优选分割策略的指示信息。
装置A接收该指示信息,并根据该指示信息更新树模型A。
具体地,该指示信息指示该优选分割策略是分割策略A中的一个、或者是分割策略B中的一个。从而装置A根据该指示信息确定该优选分割策略是分割策略A中的一个还是分割策略B中的一个。进一步地,该指示信息还携带优选分割策略的标识,从而装置A根据该标识确定优选分割策略具体是哪个。例如该指示信息携带标识i=2,则装置A确定分割策略r2A为该第一节点的优选分割策略。
为使描述更清楚,下面分情况(两种情况:该优选分割策略是分割策略A中的一个、该优选分割策略是分割策略B中的一个)来讨论。
1)若该优选分割策略是分割策略A中的一个。
410、装置A将该优选分割策略应用于树模型A的该第一节点。
具体地,装置A存储该优选分割策略,将该优选分割策略作为树模型A的该第一节点的分割策略,例如图5A中将分割策略r2A作为树模型A内部节点10的分割策略。该情况下,装置B也可以更新树模型B,例如对于树模型B的该第一节点,记录优选分割策略在装置A侧。
411、装置A根据该加密的第一分布信息和该优选分割策略对于该样本集的分割结果确定该样本集对于该第一节点的第一子节点的加密的第二分布信息。
第一子节点指的是该第一节点的任一个子节点(如节点2v、节点2v+1)
该加密的第一分布信息可以是前述步骤(例如步骤401b、步骤401a’、步骤409)中装置B向装置A发送的。装置A接收该加密的第一分布信息后,存储该加密的第一分布信息以备后续使用。该加密的第一分布信息表示为
Figure BDA0002876098730000201
具体内容参见步骤401a。
该优选分割策略对于该样本集的分割结果可以是步骤402中得到的,装置A存储步骤402中得到的分割策略A的分割结果,从而当该优选分割策略为分割策略A中的一个时,直接读取存储的该优选分割策略对于该样本集的分割结果。可选地,装置A读取完成之后,将存储的分割策略A的分割结果清除,以释放存储空间。另外,装置A还可以在该步骤重新确定该优选分割策略对于该样本集的分割结果,确定方法具体参见步骤402,这里不再赘述。该优选分割策略对于样本集的分割结果表示为WA2v、WA(2v+1),具体内容参见步骤402。
该样本集对于节点2v、节点2v+1的加密的第二分布信息分别可以通过以下计算方法确定:
Figure BDA0002876098730000202
Figure BDA0002876098730000203
Figure BDA0002876098730000204
表示为:
Figure BDA0002876098730000205
Figure BDA0002876098730000206
表示为:
Figure BDA0002876098730000207
应理解,还可以是在分割策略A的分割结果处于密文的状态下进行上述计算。即上述计算公式中的分割策略A的分割结果具体为分割策略A加密的分割结果。这种情况下,装置A也需要加密密钥(pk),则装置B还向装置A发送该加密密钥(pk),从而装置A在步骤402中还利用加密密钥(pk)对该分割策略A的分割结果进行加密以得到加密的分割结果。本申请中,在利用分割结果计算第二分布信息时,都是类似的,可以利用明文的分割结果进行计算,也可以利用密文的分割结果进行计算,为使得描述简洁,不再赘述。相似地,对于利用分割结果计算中间参数时,可以利用明文的分割结果进行计算,也可以利用密文的分割结果进行计算。本领域技术人员应理解,本申请中的分割策略A的分割结果具体可以是明文的,也可以是密文的。
412、装置A向装置B发送该加密的第二分布信息。
装置B接收该加密的第二分布信息。
413、装置B对该加密的第二分布信息进行解密以得到该样本集对于该第一子节点的第二分布信息。
具体地,装置B利用解密密钥(sk)对该加密的第二分布信息进行解密以得到该第二分布信息。该第二分布信息包括该样本集中每个样本是否属于该第一子节点的指示数据。
节点2v、节点2v+1的第二分布信息分别表示为:
Figure BDA0002876098730000208
Figure BDA0002876098730000209
对于节点2v,如果
Figure BDA00028760987300002010
为非0字符(如1),则
Figure BDA00028760987300002011
指示样本p属于节点2v;如果
Figure BDA00028760987300002012
为0字符,则
Figure BDA00028760987300002013
指示样本p不属于节点2v;对于节点2v+1,如果
Figure BDA00028760987300002014
为非0字符(如1),则
Figure BDA00028760987300002015
指示样本p属于节点2v+1;如果
Figure BDA00028760987300002016
为0字符,则
Figure BDA00028760987300002017
指示样本p不属于节点2v+1。
该第二分布信息用于确定对于该第一子节点的加密的标签分布信息,具体方法可以参加上文中步骤401的描述,将其中的第一节点替换为第一子节点。该第二分布信息还可以用于确定第一子节点的第二样本子集,该第二样本集子中每个样本属于该第一子节点。
装置A和装置B继续对第一子节点进行训练,以确定第一子节点的优选策略,对于第一子节点进行训练的方法不再赘述,参见第一节点的训练方法即可。
应理解,若采用的是公钥合成技术进行的同态加密,则步骤413不执行,即装置B不对该加密的第二分布信息进行解密。该加密的第二分布信息用于确定对于该第一子节点的加密的标签分布信息。具体参见图6所示实施例中步骤613的描述。
2)若该优选分割策略是分割策略B中的一个。
414、装置B将该优选分割策略应用于树模型B的该第一节点。
具体地,装置B存储该优选分割策略,将该优选分割策略作为树模型B的该第一节点的分割策略。该情况下,装置A也可以更新树模型A,例如对于树模型A的该第一节点,记录优选分割策略在装置B侧。
415、装置B根据该优选分割策略的分割结果和该第一分布信息确定该样本集对于该第一子节点的第二分布信息。
该第一分布信息可以参见上文的描述(例如步骤401a),第一分布信息表示为:
Figure BDA0002876098730000211
该优选分割策略的分割结果具体可以是该优选分割策略对于样本集中每个样本的分割结果,表示为:
Figure BDA0002876098730000212
Figure BDA0002876098730000213
该优选分割策略的分割结果具体还可以是该优选分割策略对于第一节点的第一样本子集中每个样本的分割结果,表示为:
Figure BDA0002876098730000214
Figure BDA0002876098730000215
该优选分割策略的分割结果具体可以参见步骤405的描述。
可选地,装置B存储步骤405中得到的分割策略B的分割结果,从而当该优选分割策略为分割策略B中的一个时,直接读取存储的该优选分割策略对于该样本集的分割结果。可选地,装置B读取完成之后,将存储的分割策略B的分割结果清除,以释放存储空间。另外,装置B还可以在该步骤重新确定该优选分割策略的分割结果,确定方法参见步骤405,这里不再赘述。
该样本集对于节点2v、节点2v+1的第二分布信息分别可以通过以下计算方法确定:
S2v=Sv·WB2v
S2v+1=Sv·WB(2v+1)
当该优选分割策略的分割结果为该优选分割策略对于样本集中每个样本的分割结果时,直接利用上述表达式按元素相乘即可。
当该优选分割策略的分割结果为该优选分割策略对于第一样本子集中每个样本的分割结果时,可以将Sv中第一样本子集的Q个样本的数据取出来进行计算,以S2v为例进行说明:
Figure BDA0002876098730000216
则对于样本集中不属于第一样本子集的其他样本,第二分布信息中的指示数据直接取0值,因为不属于第一样本子集的样本(即不属于第一节点的样本),也不可能属于第一节点的第一子节点。
该第二分布信息的解释可以参见步骤413的描述,这里不再赘述。
应理解,步骤409可以在步骤415之后执行。该指示信息还可以携带该第二分布信息。
本申请实施例示例性地描述了第一节点的训练过程,应理解,其他节点(例如第一节点的上层节点、和/或下层节点)的训练过程都是类似的。即步骤401-414是多次执行的,直至子节点达到预设标准,训练完成。作为一种可选的方式,步骤400也可以多次执行,即装置B可以生成多对同态加密的加密密钥和解密密钥,从而周期性地更换密钥,以进一步地提高安全性。另外,当一棵树训练完成,还可以继续训练另一棵树,训练方法也是类似的。
本申请实施例中,装置A的分割策略A对应的加密的中间参数是根据对于第一节点的加密的标签分布信息确定的,而该加密的中间参数用于计算分割策略A对应的增益。因而装置A无需得到样本集对于第一节点的分布情况,分割策略A的增益也能被计算出来,从而装置B根据能够分割策略B的增益和分割策略A的增益确定优选分割策略。即装置A不会获得树模型中每个节点上样本集的分布情况,因而本申请提出的联邦纵向学习方法更加安全。
作为一个例子,对于多分类(一般指样本分类结果大于二种)的情况(具体地可以参见上文中图3B所示实施例之后、图4所示实施例之前的描述),树模型的训练的方法也是类似的。作为一种可选的方式,多分类的树模型也可以拆分为多个二分类的树模型来训练,则每棵树模型的训练方法参见上文描述,不再赘述。
作为另一种可选的方式,直接训练多分类的树模型,则训练方法也是类似的,具体步骤可以参见上文描述,但是上文中的一些参数的表示、计算公式需要适应性修改。下面对需要修改的参数的表示、计算公式进行说明。
多分类的标签集Y中的任意一行可以表示为:
Figure BDA0002876098730000221
应理解,下文中以第一标签信息表示为标签集Y为例进行描述,对于XGBoost算法等其他算法,也是类似的,不再赘述。则第一标签分布信息可以表示为:
Figure BDA0002876098730000222
加密的第一标签分布信息可以表示为
Figure BDA0002876098730000223
进而,分割策略riA对应的加密的中间参数计算方式如下:
Figure BDA0002876098730000224
Figure BDA0002876098730000225
Figure BDA0002876098730000226
Figure BDA0002876098730000227
分割策略riA对应的中间参数
Figure BDA0002876098730000228
是装置B对
Figure BDA0002876098730000229
Figure BDA00028760987300002210
解密而得到的。则分割策略riA对应的增益为:
Figure BDA00028760987300002211
分割策略rjB对应的增益的计算公式也是类似的,将上述增益计算公式中的A替换为B,i换为j即可。
作为一个例子,将样本集的P个样本中每L个样本的数据作为一个数据块,以对各数据集进行分块。应理解,分块又可以叫做分组、打包等等,则相应地,每L个样本的数据作为一个数据组、或者数据包等。若P不能被L整除,则最后一个数据块包括的数据不足L个样本的数据,为便于计算,最后一个数据块需要补齐L个样本的数据,不足的数据采用补0操作。数据块同样可以用于上述计算、传输,以即是上文中的各类数据具体可以是以数据块的形式进行计算、和/或传输的。
应理解,下文中对涉及分块的步骤进行具体描述,不涉及分块的步骤直接参见上文的描述即可,不再赘述。另外,下文中以第一标签信息表示为标签集Y为例进行描述,对于XGBoost算法等其他算法,也是类似的,不再赘述。
401a中,装置B还对第一标签信息Y进行分块,则分块的第一标签信息表示为:EY=[EY1,EY2,...,EYz,...,EYZ]。其中,Z为分块的个数,
Figure BDA00028760987300002212
即Z等于对P/L向上取整。L的值(数据块的大小)可以根据需要进行设置,本申请实施例在此不做限定。z为小于等于Z的任意正整数。具体地,EY1=[y1,y2,...,yL],EY2=[yL+1,yL+2,...,y2L],...,EYz=[y(z-1)L+1,y(z-1)L+2,...,yzL],对于最后一个数据块,如果包含的数据是不足L个样本的数据,则不足的数据采用补0操作,即:EYZ=[y(Z-1)L+1,y(Z-1)L+2,...,yP,0,...,0]。对于其他数据的分块,补0操作也是类似的,后面不再赘述。
类似地,装置B对该第一节点的第一分布信息Sv进行分块,则分块的第一分布信息表示为:
Figure BDA0002876098730000231
进一步地,装置B根据分块的第一分布信息和分块的第一标签信息确定分块的第一标签分布信息。分块的第一标签分布信息表示为:
Figure BDA0002876098730000232
应理解,装置B也可以先根据第一分布信息和第一标签信息确定第一标签分布信息,之后再对第一标签分布信息进行分块,以得到分块的第一标签分布信息,本申请对此不做限定。
进而,装置B分别对该分块的第一分布信息、该分块的第一标签分布信息进行加密以得到加密的分块的第一标签分布信息、加密的分块的第一分布信息。该加密的分块的第一标签分布信息表示为:
Figure BDA0002876098730000233
该加密的分块的第一分布信息表示为:
Figure BDA0002876098730000234
对数据集(如上述第一标签分布信息、第一分布信息等)分块后再进行加密,能够提高处理效率,节省计算资源。
401b中,装置B向装置A发送的是该加密的分块的第一标签分布信息、该加密的分块的第一分布信息。
401a’中,装置B向装置A发送的是加密的分块的第一标签信息和加密的分块的第一分布信息。
401b’中,装置A根据该加密的分块的第一标签信息和该加密的分块的第一分布信息确定该加密的分块的第一标签分布信息,具体如下:
Figure BDA0002876098730000235
402中,装置A还对该分割策略A的分割结果进行分块以得到分割策略A的分块的分割结果。以分割策略riA为例,该分割策略riA的分块的分割结果表示如下:
Figure BDA0002876098730000236
Figure BDA0002876098730000237
403中,装置A根据该分块的分割策略A的分割结果、该加密的分块的第一标签分布信息确定该分割策略A对应的加密的分块的中间参数。以分割策略riA为例,分割策略riA对应的加密的分块的中间参数计算方法如下:
Figure BDA0002876098730000238
Figure BDA0002876098730000239
Figure BDA00028760987300002310
Figure BDA00028760987300002311
404中,装置A向装置B发送该分割策略A对应的加密的分块的中间参数。
405中,装置B在确定装置B的分割策略对应的增益的过程中,可以不进行分块处理,因为装置B作为有标签方,可以在明文的状态下得到装置B的分割策略对应的增益的,不需要对过程中产生的数据进行加密,也不需要传输过程中产生的数据。应理解,装置B也可以进行分块处理,本申请对此不做限定。
406中,装置B对该分割策略A对应的加密的分块的中间参数进行解密以得到该分割策略A对应的分块的中间参数。
以分割策略riA为例,分割策略riA对应的分块的中间参数表示为:
Figure BDA00028760987300002312
Figure BDA0002876098730000241
Figure BDA0002876098730000242
Figure BDA0002876098730000243
407中,装置B根据该分割策略A对应的分块的中间参数确定该分割策略A对应的增益。
具体地,装置B根据该分割策略A对应的分块的中间参数确定该分割策略A对应的中间参数。计算方法如下:
Figure BDA0002876098730000244
Figure BDA0002876098730000245
Figure BDA0002876098730000246
Figure BDA0002876098730000247
进而,装置B根据该分割策略A对应的中间参数确定该分割策略A对应的增益。
411中,装置A根据该加密的分块的第一分布信息和该优选分割策略的分块的分割结果确定该样本集对于该第一子节点的加密的分块的第二分布信息。计算方法如下:
Figure BDA0002876098730000248
Figure BDA0002876098730000249
412中,装置A向装置B发送给加密的分块的第二分布信息。
413中,装置B对该加密的分块的第二分布信息进行解密以得到分块的第二分布信息。上述分块的方法能够提高加密、解密的效率,节省计算资源。
为使得本申请实施例提供的在纵向联邦学习的场景下、采用公钥合成技术进行树模型训练的方法更清楚,下面以图6所示的实施例来具体说明该方法。该方法也可适用于图2、图3A、图3B等应用场景。具体步骤如下:
600a、装置A生成装置A的同态加密的加密密钥(pkA)和解密密钥(skA)。
当有多个装置A时,多个装置A分别生成自身的加密密钥和解密密钥,本申请对此不做限定,以一个装置A为例进行描述。
600b、装置B生成装置B的同态加密的加密密钥(pkB)和解密密钥(skB)。
600c、装置A向装置B发送装置A的加密密钥(pkA)。
600d、装置B根据装置A的加密密钥(pkA)和装置B的加密密钥(pkB)生成用于同态加密的合成的加密密钥(pkAB)。
装置B还可以向装置A发送该加密密钥(pkAB)。
为便于区分,可以将加密密钥(pkA)和解密密钥(skA)分别称为第一加密密钥、第一解密密钥。将加密密钥(pkB)和解密密钥(skB)分别称为第二加密密钥、第二解密密钥。将加密密钥(pkAB)称为第三加密密钥。应理解,该第三加密密钥(pkAB)又可以叫做合成公钥、合成加密密钥等等。
应理解,本申请还可以采用其他方式生成该第三加密密钥,例如600c中,装置B向装置A发送加密密钥(pkB),600d中装置A根据加密密钥(pkA)和加密密钥(pkB)生成加密密钥(pkAB),并向装置B发送该加密密钥(pkAB)。又例如,装置A、装置B各自合成加密密钥(pkAB),具体不再赘述。
601a、装置B根据样本集的第一标签信息和样本集对于第一节点的第一分布信息确定样本集对于该第一节点的第一标签分布信息。
当该第一节点为根节点时,装置B可以在明文或者密文状态下做计算以得到该第一节点的第一标签分布信息,具体可以参见图4所示实施例步骤401a的描述。进而,装置B利用合成的加密密钥(pkAB)对该第一标签分布信息加密以得到该样本集对于第一节点的加密的第一标签分布信息。
当该第一节点不是根节点时,装置B在密文状态下进行计算。具体地,装置B根据加密的第一标签信息和加密的第一分布信息确定加密的第一标签分布信息。计算方式如下:
Figure BDA0002876098730000251
应理解,这里的加密指的是采用公钥合成技术进行的同态加密,因而仅依靠装置B自身的解密密钥(skB)是无法解密的,从而装置B在训练过程中也无法获得明文的样本集的分布信息,从而无法推测装置A的分割结果,进一步提高了安全性。另外,本申请实施例中以第一标签信息表示为标签集Y为例进行描述,对于XGBoost算法等其他算法,也是类似的,不再赘述。
601b、装置B向装置A发送该加密的第一标签分布信息。
具体参见图4所示实施例步骤401b的描述,这里不再赘述。
作为另一种可能的实现方式(即步骤601a’-601c’),装置B还向装置A发送该加密的第一标签信息和加密的第一分布信息,从而,装置B和装置A各自根据该加密的第一标签信息和加密的第一分布信息确定该加密的第一标签分布信息。具体不再赘述。
步骤602-604分别可以参见图4所示实施例中步骤402-404的描述,这里不再赘述。
605a、装置B确定装置B的分割策略的分割结果。
装置B获得装置B的分割策略(分割策略B),可表示为RB={r1B,r2B,...,rjB,...,rJB}。进一步地,装置B确定该分割策略B对于样本集中每个样本的分割结果。该分割结果表示如下:
Figure BDA0002876098730000252
Figure BDA0002876098730000253
605b、装置B分别根据该分割策略B的分割结果、该加密的第一标签分布信息确定该分割策略B对应的加密的中间参数。
具体地,对于该分割策略B中的每个分割策略,装置B计算对应的加密的中间参数。计算方法可以参见图4所示实施例中步骤403的描述,例如将步骤403中的A替换为B,i替换为j,具体内容这里不再赘述。
606、装置B根据该分割策略B对应的加密的中间参数、该分割策略A对应的加密的中间参数获得该分割策略B对应的中间参数、该分割策略A对应的中间参数。
具体地,装置B对该分割策略B对应的加密的中间参数、该分割策略A对应的加密的中间参数进行解密以获得该分割策略B对应的中间参数、该分割策略A对应的中间参数。
公钥合成技术对应的解密方法有多种,例如参与的多方分别进行解密、再对该多方的解密结果进行合成以得到明文;再例如参与的多方依次进行解密以得到明文等等。下面示例性地介绍解密的方法。
一、分别解密的方法:
装置A、装置B分别利用自身的解密密钥对该分割策略A对应的加密的中间参数进行解密,并由装置B对上述解密的结果进行合成以得到该分割策略A对应的中间参数。对于该分割策略B对应的加密的中间参数解密的方法也是类似的。具体如下:
1)装置B向装置A发送该分割策略B对应的加密的中间参数、该分割策略A对应的加密的中间参数。
2)装置A利用解密密钥(skA)分别对该分割策略B对应的加密的中间参数、该分割策略A对应的加密的中间参数进行解密以得到经装置A解密的该分割策略B对应的加密的中间参数、经装置A解密的该分割策略A对应的加密的中间参数。
3)装置A向装置B发送该经装置A解密的该分割策略B对应的加密的中间参数、该经装置A解密的该分割策略A对应的加密的中间参数。
4)装置B利用解密密钥(skB)分别对该分割策略B对应的加密的中间参数、该分割策略A对应的加密的中间参数进行解密以得到经装置B解密的该分割策略B对应的加密的中间参数、经装置B解密的该分割策略A对应的加密的中间参数。
5)装置B根据该装置A解密的该分割策略B对应的加密的中间参数、该经装置B解密的该分割策略B对应的加密的中间参数确定该分割策略B对应的中间参数;类似地,装置B根据该装置A解密的该分割策略A对应的加密的中间参数、该经装置B解密的该分割策略A对应的加密的中间参数确定该分割策略A对应的中间参数。
应理解,在步骤604之前,装置A就可以解密以得到该经装置A解密的该分割策略A对应的加密的中间参数。可选地,则步骤604中,装置A还可以向装置B发送该经装置A解密的该分割策略A对应的加密的中间参数。
二、依次解密的方法:
装置A利用解密密钥(skA)对该分割策略A对应的加密的中间参数进行解密、进而将装置A解密的结果发送给装置B,装置B接收该装置A解密的结果后,利用解密密钥(skB)对该装置A解密的结果继续进行解密,从而得到该分割策略A对应的中间参数。对于该分割策略B对应的加密的中间参数解密的方法也是类似的。具体如下:
1)-3)与上述分别解密的方法中1)-3)相同,这里不再赘述。
4)装置B利用解密密钥(skB)分别对该经装置A解密的该分割策略B对应的加密的中间参数、经装置A解密的该分割策略A对应的加密的中间参数进行解密以得到该分割策略B对应的中间参数、该分割策略A对应的中间参数。
应理解,在步骤604之前,装置A就可以解密以得到该经装置A解密的该分割策略A对应的加密的中间参数。可选地,则步骤604中,装置A直接向装置B发送该经装置A解密的该分割策略A对应的加密的中间参数,而不再发送该分割策略A对应的加密的中间参数。
607、装置B分别根据该分割策略B对应的中间参数、该分割策略A对应的中间参数确定该分割策略B对应的增益、该分割策略A对应的增益。
具体内容参见图4所示实施例中步骤405-3)、步骤407的描述,这里不再赘述。
608、装置B根据该分割策略B对应的增益、该分割策略A对应的增益确定该第一节点的优选分割策略。
具体内容参见图4所示实施例中步骤408的描述,这里不再赘述。
以上606-608是装置B确定优选分割策略的一种方式,应理解,还可以有其他方式。例如以下606a’-606d’、607a’-607b’、608,该方式下,装置A获得(明文下)该分割策略A对应的中间参数、增益,并根据该分割策略A对应的增益确定最优增益的第二分割策略A,从而向装置B发送该第二分割策略A的增益。这样装置B没有获得明文的该分割策略A对应的中间参数、增益,进一步提高了安全性。该方式具体如下。
606a’、装置A根据该分割策略A对应的加密的中间参数获得该分割策略A对应的中间参数。
与步骤606类似的,解密方法有多种,下面进行示例性说明。
一、分别解密的方法:
装置A、装置B分别利用自身的解密密钥对该分割策略A对应的加密的中间参数进行解密,并由装置A对上述解密的结果进行合成以得到该分割策略A对应的中间参数。具体内容与步骤606中分别解密的方法类似,区别在于这里由装置A进行合成。
1)装置B利用解密密钥(skB)对该分割策略A对应的加密的中间参数进行解密以得到经装置B解密的该分割策略A对应的加密的中间参数。
2)装置B向装置A发送该经装置B解密的该分割策略A对应的加密的中间参数。
3)装置A利用解密密钥(skA)对该分割策略A对应的加密的中间参数进行解密以得到经装置A解密的该分割策略A对应的加密的中间参数。
4)装置A根据该经装置A解密的该分割策略A对应的加密的中间参数、该经装置B解密的该分割策略A对应的加密的中间参数确定该分割策略A对应的中间参数。
二、依次解密的方法:
装置B利用解密密钥(skB)对该分割策略A对应的加密的中间参数进行解密、进而将装置B解密的结果发送给装置A,装置A接收该装置B解密的结果后,利用解密密钥(skA)对该装置B解密的结果继续进行解密,从而得到该分割策略A对应的中间参数。具体内容与步骤606中依次解密的方法类似,区别在于这里由装置B先进行解密、装置A后进行解密。
1)-2)与上述分别解密的方法中1)-2)相同,这里不再赘述。
3)装置A利用解密密钥(skA)对经装置B解密的该分割策略A对应的加密的中间参数进行解密以得到该分割策略A对应的中间参数。
606b’、装置A根据该分割策略A对应的中间参数确定分割策略A对应的增益。
具体内容参见图4所示实施例步骤407、步骤405-3)等,具体不再赘述。
606c’、装置A根据该分割策略A对应的增益确定第二分割策略A。
具体地,装置A在该分割策略A对应的增益中确定最优增益。将该最优增益对应的分割策略称为第二分割策略A。为便于描述,可以将该分割策略A称为第一分割策略A。应理解,在该情况下,第一分割策略A包括第二分割策略A。
606d’、装置A向装置B发送该第二分割策略A对应的增益。
607a’、装置B根据该分割策略B对应的加密的中间参数获得该分割策略B对应的中间参数。
具体内容可以参见步骤606b’的描述,将步骤606b’中的A换成B、B换成A即可。
607b’、装置B根据该分割策略B对应的中间参数确定分割策略B对应的增益。
具体内容参见图4所示实施例步骤405-3)等,具体不再赘述。
608’、装置B根据该分割策略B对应的增益、该第二分割策略A对应的增益确定该第一节点的优选分割策略。
具体内容可以参见图4所示实施例的步骤408的描述,例如步骤408中的分割策略A替换为第二分割策略A。该优选分割策略是该第二分割策略A、或者是分割策略B中的一个分割策略。
进而,根据该优选分割策略更新该树模型。下面描述具体步骤。
609、装置B向装置A发送优选分割策略的指示信息。
具体内容可以参见图4所示实施例中步骤409、或者图7所示实施例中步骤709,这里不做赘述。
为使描述更清楚,下面分情况(两种情况:该优选分割策略是分割策略A中的一个(应理解,第二分割策略A也是分割策略A中的一个)、该优选分割策略是分割策略B中的一个)来讨论。
1)若该优选分割策略是分割策略A中的一个。
步骤610、611、612分别可以参见图4所示实施例中步骤410、411、412的描述,这里不再赘述。
613、装置B根据该加密的第二分布信息确定该第一子节点的加密的标签分布信息。
应理解,若该第一子节点为叶节点,则停止训练。
若该第一子节点不是叶节点,具体方法可以参加上文中步骤601的描述,将其中的第一节点替换为第一子节点。从而装置A和装置B继续对第一子节点进行训练,以确定第一子节点的优选策略,对于第一子节点进行训练的方法不再赘述,参见第一节点的训练方法即可。
2)若该优选分割策略是分割策略B中的一个。
614、装置B将该优选分割策略应用于树模型B的该第一节点。
具体可以参见图4所示实施例中步骤414的描述,这里不再赘述。
615、装置B根据该优选分割策略的分割结果和该加密的第一分布信息确定该样本集对于该第一子节点的加密的第二分布信息。
具体可以参见图4所示实施例中步骤411的描述,例如将步骤411中A替换为B,这里不再赘述。
应理解,图6所示实施例对于多分类的情况同样适用,具体可以参见图4所示实施例对于多分类的情况的描述,并进行适应性修改,这里不再赘述。并且图6所示实施例中的各数据集也可以进行分块处理,具体不再赘述。
应理解,本申请中步骤的标号、说明顺序并不对步骤的执行顺序产生限定。例如步骤605和步骤602-604没有执行顺序的限定,即步骤605可以在步骤602之前执行、步骤604之后执行、或者和步骤602-604中任意步骤同时执行。
如图7所示,为本申请实施例提供的在纵向联邦学习的场景下进行树模型训练的又一种方法,可适用于图2、图3A、图3B等应用场景。相对于图4所示的实施例,本申请实施例中装置A对于分割策略A对应的加密的中间参数引入噪声,从而装置B对其解密之后不能直接获得分割策略A对应的中间参数,进一步地提高了安全性。具体步骤如下:
700、装置B获得同态加密的加密密钥(pk)和解密密钥(sk)。
700a、装置B向装置A发送同态加密的加密密钥(pk)。
应理解,步骤700a是可选的,例如步骤701b、步骤701a’中,装置B也可以向装置A发送该加密密钥(pk)。
步骤701a、701b、701a’、701b’分别可以参见图4所示实施例中步骤401a、401b、401a’、401b’的描述,这里不再赘述。
702、装置A确定装置A的第一分割策略A的分割结果。
具体内容可以参见图4所示实施例中步骤402的描述,将步骤402中的分割策略A替换为第一分割策略A即可。这里不再赘述。
703、装置A根据第一分割策略A的分割结果、该加密的第一标签分布信息确定该第一分割策略A对应的加密的第一中间参数。
具体内容可以参见图4所示实施例中步骤403的描述,将步骤403中的分割策略A替换为第一分割策略A、中间参数替换为第一中间参数即可。这里不再赘述。
703a、装置A向该加密的第一中间参数引入噪声以得到该第一分割策略A对应的加密的第二中间参数。
具体地,装置A确定第一噪声。该第一噪声是装置A产生的随机数。对于第一分割策略A中的任一分割策略riA,第一噪声表示为:
Figure BDA0002876098730000281
应理解,对于第一分割策略A中不同的分割策略,第一噪声可以是相同的,也可以是不同的。另外,
Figure BDA0002876098730000282
Figure BDA0002876098730000291
可以是相同的,也可以是不同的。本申请对此不做限定。设置不同的噪声安全性更高,但是计算成本也更高,本领域技术人员能够根据实际情况自行设定。
进而,装置A利用同态加密的加密密钥(pk)对该第一噪声加密以得到第二噪声。对于分割策略riA,第二噪声表示为:
Figure BDA0002876098730000292
装置A根据该加密的第一中间参数、该第二噪声确定该加密的第二中间参数。示例性地,计算该加密的第二中间参数的方法如下:
Figure BDA0002876098730000293
Figure BDA0002876098730000294
Figure BDA0002876098730000295
Figure BDA0002876098730000296
应理解,还有其他计算该加密的第二中间参数的方法,例如将第二噪声与该加密的第一中间参数相乘、相减等,本申请对此不做限定。
704、装置A向装置B发送该第一分割策略A对应的加密的第二中间参数。
步骤705可以参见图4所示实施例中步骤405的描述,这里不再赘述。
706、装置B对该第一分割策略A对应的加密的第二中间参数进行解密以得到该第一分割策略A对应的第二中间参数。
装置B接收装置A发送的该第一分割策略A对应的加密的第二中间参数
Figure BDA0002876098730000297
Figure BDA0002876098730000298
由步骤703可知,该加密的第二中间参数包含来自装置A的噪声(具体为第二噪声)。
具体地,装置B利用解密密钥(sk)对该第一分割策略A对应的加密的第二中间参数进行解密以得到该第一分割策略A对应的第二中间参数。即装置B利用解密密钥(sk)对
Figure BDA0002876098730000299
Figure BDA00028760987300002910
进行解密以得到
Figure BDA00028760987300002911
该第二中间参数包含来自装置A的噪声(具体为第一噪声),因而装置B不能根据该第二中间参数直接得到装置A的第一分割策略A的第一中间参数,避免根据该第一中间参数推测出装置A的特征数据,以进一步提高安全性。
706a、装置B向装置A发送该第一分割策略A对应的第二中间参数。
706b、装置A为该第一分割策略A对应的第二中间参数去除噪声以得到该第一分割策略A对应的第一中间参数。
装置A接收装置B发送的该第二中间参数,并为该第二中间参数去除噪声。
具体地,装置A为该第二中间参数去除该第一噪声,即根据该第一噪声、该第二中间参数确定该第一分割策略A对应的第一中间参数。示例性地,该第一分割策略A对应的第一中间参数的确定方法如下:
Figure BDA00028760987300002912
Figure BDA00028760987300002913
Figure BDA00028760987300002914
Figure BDA00028760987300002915
707、装置A根据该第一分割策略A对应的第一中间参数确定该第一分割策略A对应的增益。
具体内容可以参见图4所示实施例中的步骤407,这里不再赘述。
707a、装置A根据该第一分割策略A对应的增益确定第二分割策略A。
具体地,装置A在该第一分割策略A对应的增益中确定最优增益。将该最优增益对应的分割策略称为第二分割策略A。
707b、装置A向装置B发送该第二分割策略A对应的增益。
可选地,装置A还利用加密密钥(pk)对该第二分割策略A对应的增益进行加密以得到该第二分割策略A对应的加密的增益。进而装置A向装置B发送该第二分割策略A对应的加密的增益。从而避免明文发送该增益带来的数据泄露的风险。
708、装置B根据该第二分割策略A对应的增益和分割策略B对应的增益确定增益最优的优选分割策略。
具体内容可以参见图4所示实施例的步骤408的描述,例如步骤408中的分割策略A替换为第二分割策略A。该优选分割策略是该第二分割策略A、或者是分割策略B中的一个分割策略。
应理解,若装置B从装置A接收的是该第二分割策略A对应的加密的增益,装置B还利用解密密钥(sk)对该第二分割策略A对应的加密的增益进行解密以得到该第二分割策略A对应的增益。
进而,根据该优选分割策略更新该树模型。下面描述具体步骤。
709、装置B向装置A发送优选分割策略的指示信息。
装置A接收该指示信息,并根据该指示信息更新树模型A。具体地,该指示信息指示该优选分割策略是第二分割策略A、或者是分割策略B中的一个。从而装置A根据该指示信息确定该优选分割策略是第二分割策略A还是分割策略B中的一个。
为使描述更清楚,下面分情况(两种情况:该优选分割策略是第二分割策略A、该优选分割策略是分割策略B中的一个)来讨论。
1)若该优选分割策略是第二分割策略A。
步骤710、711、712、713分别可以参见图4所示实施例中步骤410、411、412、413的描述,这里不再赘述。
2)若该优选分割策略是分割策略B中的一个。
步骤714、715分别可以参见图4所示实施例中步骤414、415的描述,这里不再赘述。
相对于图4所示的实施例,本申请实施例提出的方案进一步地对于第一分割策略A对应的加密的中间参数引入噪声,从而装置B对其解密之后不能直接获得第一分割策略A对应的中间参数。进而装置B将解密后的第一分割策略A对应的中间参数发送给装置A去噪,并由装置A确定第一分割策略A中增益最优的第二分割策略A,从而将该第二分割策略A的增益发送给装置B,以使得装置B能够根据该第二分割策略A的增益和分割策略B的增益确定优选策略。因而装置B能获得的装置A侧的数据是该第二分割策略A的增益,而不是第一分割策略A对应的中间参数,减小了装置A侧特征数据泄露的风险,进一步地提高了安全性。
应理解,图7所示实施例对于多分类的情况同样适用,具体可以参见图4所示实施例对于多分类的情况的描述,这里不再赘述。另外,图7所示实施例中的各数据集也可以进行分块处理,具体不再赘述。图7所示实施例也可以采用公钥合成技术,具体不再赘述。
应理解,本申请中步骤的标号、说明顺序并不对步骤的执行顺序产生限定。例如步骤705和步骤702-704没有执行顺序的限定,即步骤705可以在步骤702之前执行、步骤704之后执行、或者和步骤702-704中任意步骤同时执行。
上述主要从装置之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述实现各装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
在采用集成的模块的情况下,图8示出了本申请实施例中所涉及的一种装置的可能的示例性框图。该装置800可以以软件的形式存在,也可以为终端设备、网络设备等,还可以为用终端设备、或者网络设备中的芯片。该装置800具备实现上述实施例中装置B的功能。装置800包括:处理模块801和通信模块802,通信模块802具体可以包括接收模块和发送模块。处理模块801用于对装置800的动作进行控制管理。通信模块802用于支持装置800与其他装置(如装置A)的通信。装置800还可以包括存储模块803,用于存储装置800的程序代码、样本数据(例如上述样本集的特征数据子集B(DB)、样本集的标签集(Y)等)、训练过程中产生的数据(如加密的标签分布信息、优选分割策略等)。
处理模块801可以支持装置800执行上文中各方法示例中装置B的动作,例如可以支持装置800执行图4中的步骤400、401a、405-408、413-415等等,图6中的步骤600b、600d、601a、601c’、605-608、607a’、607b’、608’、613-615等等,和/或图7中步骤700、701a、705-706、708、713-715等等。
通信模块802可以支持装置800与其他设备之间的通信,例如可以支持装置800执行图4中的步骤401b、401a’、404、409、412等等,图6中的步骤600c、601b、601a’、604、606d’、609、612等等,和/或图7中步骤700a、701b、701a’、704、706a、707b、709、712等等。
应理解,上述举例的动作中有可选的,处理模块801、通信模块802也可以选择性地支持装置800执行其中的部分动作。
在一个简单的实施例中,本领域的技术人员可以想到装置800可以采用图10所示的形式来实现。
类似地,图9示出了本申请实施例中所涉及的一种装置的可能的示例性框图。该装置900可以以软件的形式存在,也可以为终端设备、网络设备等,还可以为用终端设备、或者网络设备中的芯片。该装置900具备实现上述实施例中装置A的功能。装置900包括:处理模块901和通信模块902,通信模块902具体可以包括接收模块和发送模块。处理模块901用于对装置900的动作进行控制管理。通信模块902用于支持装置900与其他装置(如装置A)的通信。装置900还可以包括存储模块903,用于存储装置900的程序代码、样本数据(例如上述样本集的特征数据子集A(DA)等)、训练过程中产生的数据(如加密的标签分布信息、优选分割策略等)。
处理模块901可以支持装置900执行上文中各方法示例中装置A的动作,例如可以支持装置900执行图4中的步骤401b’、402-403、410-411等等,图6中的步骤600a、601b’、602-603、606a’-606c’,610-611等等,和/或图7中步骤701b’、702-703、703a、706b、707、707a、710-711等等。
通信模块902可以支持装置900与其他设备之间的通信,例如可以支持装置900执行图4中的步骤401b、404、409、412等等,图6中的步骤600c、601b、601a’、604、606d’、609、612等等,和/或图7中步骤700a、701b、701a’、704、706a、707b、709、712等等。
应理解,上述举例的动作中有可选的,处理模块901、通信模块902也可以选择性地支持装置900执行其中的部分动作。
在一个简单的实施例中,本领域的技术人员可以想到装置900可以采用图10所示的形式来实现。
如图10所示,为本申请实施例提供的装置1000的硬件结构示意图。该装置1000可以为装置A或装置B。
该装置1000可以包括至少一个处理器1001,通信总线1002、存储器1003、通信接口1004、和I/O接口。处理器可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线可包括一通路,在上述组件之间传送信息。所述通信接口,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器用于存储执行本申请方案的程序代码,并由处理器来控制执行。所述处理器用于执行所述存储器中存储的程序代码。
在具体实现中,处理器可以包括一个或多个CPU,每个CPU可以是一个单核(single-core)处理器,也可以是一个多核(multi-Core)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该装置还可以包括输入/输出(I/O)接口。例如,输出设备可以是液晶显示器(liquid crystal display,LCD),发光二级管(lightemitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
需要指出的是,图10中示出的结构并不构成对装置1000的限定,除图10所示部件之外,装置1000可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例中的各装置,如装置A、装置B,都可以采用图10所示的装置1000的结构。
例如对于装置A(第二装置),当其中的处理器执行存储器中存储的可执行代码或应用程序时,装置A可以执行以上所有实施例中与装置A相对应的方法步骤,具体执行过程均参见上述实施例,在此不再赘述。
例如对于装置B(第一装置),当其中的处理器执行存储器中存储的可执行代码或应用程序时,装置B可以执行以上所有实施例中与装置B相对应的方法步骤,具体执行过程均参见上述实施例,在此不再赘述。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的实施例中,术语“第二”、“第一”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第二”、“第一”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第一报文是指两个或两个以上的第一报文。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以计算机程序产品的形式体现出来,该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机程序产品存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (38)

1.一种树模型训练的方法,其特征在于,应用于第一装置,包括:
对于所述树模型的第一节点,确定所述第一装置的分割策略对应的增益;
接收第二装置发送的所述第二装置对于所述第一节点的第一分割策略对应的加密的中间参数,其中,所述加密的中间参数是根据对于所述第一节点的加密的标签分布信息、和所述第一分割策略对于样本集中每个样本的分割结果确定的,所述样本集包括用于训练所述树模型的样本,所述加密的标签分布信息是根据所述样本集的第一标签信息和所述样本集对于所述第一节点的第一分布信息确定的,所述第一标签信息包括所述样本集中的每个样本的标签数据,所述第一分布信息包括指示所述样本集中的每个样本是否属于所述第一节点的指示数据;
根据所述第一装置的分割策略对应的增益和所述第二装置对于所述第一节点的第二分割策略对应的增益确定所述第一节点的优选分割策略,其中,所述第一分割策略包括所述第二分割策略,所述第二分割策略对应的增益是根据所述第二分割策略对应的加密的中间参数确定的。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述第一标签信息和所述第一分布信息获得所述加密的标签分布信息;
向所述第二装置发送所述加密的标签分布信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
向所述第二装置发送所述加密的第一标签信息和所述加密的第一分布信息;
其中所述加密的标签分布信息是根据所述第一标签信息和所述第一分布信息确定的包括:所述加密的标签分布信息是根据加密的所述第一标签信息和加密的所述第一分布信息确定的。
4.根据权利要求1-3任一所述的方法,其特征在于,还包括:
获得用于同态加密的加密密钥和解密密钥,所述加密的标签分布信息是根据所述加密密钥确定的;
利用所述解密密钥对所述第一分割策略对应的加密的中间参数进行解密以得到所述第一分割策略对应的中间参数,所述第二分割策略对应的增益是根据所述第二分割策略对应的中间参数确定的。
5.根据权利要求1-4任一所述的方法,其特征在于,所述优选分割策略为所述第一装置的分割策略中的,所述方法还包括:
确定所述优选分割策略对于所述样本集中每个样本的分割结果;
根据所述优选分割策略的所述分割结果与所述第一分布信息确定所述样本集对于所述第一节点的第一子节点的第二分布信息、或者根据所述优选分割策略的所述分割结果与加密的所述第一分布信息确定所述样本集对于所述第一子节点的加密的第二分布信息。
6.根据权利要求1-4任一所述的方法,其特征在于,所述优选分割策略为所述第二分割策略中的,所述方法还包括:
向所述第二装置发送加密的所述第一分布信息、所述关于所述优选分割策略的指示信息;
接收所述第二装置发送的所述样本集对于所述第一节点的第一子节点的加密的第二分布信息,所述加密的第二分布信息是根据所述加密的第一分布信息和所述优选分割策略对于所述样本集的分割结果确定的。
7.根据权利要求1-6任一所述的方法,其特征在于,所述方法还包括:接收所述第二装置发送的所述第二分割策略对应的增益,其中,所述第二分割策略对应的增益是所述第一分割策略对应的增益中的最优增益,所述第一分割策略对应的增益是根据所述第一分割策略对应的加密的中间参数确定的。
8.根据权利要求7所述的方法,其特征在于,所述第一分割策略对应的加密的中间参数为所述第一分割策略对应的加密的第二中间参数,所述加密的第二中间参数包含来自所述第二装置的噪声,所述方法还包括:
对所述加密的第二中间参数进行解密以得到所述第一分割策略对应的第二中间参数;
向所述第二装置发送所述第一分割策略对应的所述第二中间参数,所述第一分割策略对应的增益是根据去除噪声后的所述第一分割策略对应的第二中间参数确定的。
9.根据权利要求8所述的方法,其特征在于,所述加密的第二中间参数包含的噪声为第二噪声,所述方法还包括:
向所述第二装置发送用于同态加密的加密密钥,所述第二噪声是利用所述加密密钥对第一噪声加密而得到的;
对所述加密的第二中间参数进行解密以得到所述第一分割策略对应的第二中间参数包括:利用同态加密的解密密钥对所述加密的第二中间参数进行解密以得到所述第一分割策略对应的第二中间参数;
所述第一分割策略对应的增益是根据去除噪声后的所述第一分割策略对应的第二中间参数确定的包括:所述第一分割策略对应的增益是根据所述第一分割策略对应的第一中间参数确定的,所述第一分割策略对应的第一中间参数是为所述第一分割策略对应的所述第二中间参数去除所述第一噪声而得到的。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
对所述第一分割策略对应的加密的中间参数进行解密以得到经所述第一装置解密的所述第一分割策略对应的加密的中间参数;
向所述第二装置发送经所述第一装置解密的所述第一分割策略对应的加密的中间参数,所述第一分割策略对应的增益是根据所述经所述第一装置解密的所述第一分割策略对应的加密的中间参数确定的。
11.根据权利要求1-10任一所述的方法,其特征在于,所述对于所述第一节点,确定所述第一装置的分割策略对应的增益包括:
对于所述第一节点,确定所述第一装置的分割策略对于所述样本集中每个样本的分割结果;
根据所述第一装置的分割策略对于所述每个样本的分割结果、和所述对于所述第一节点的加密的标签分布信息确定所述第一装置的分割策略对应的加密的中间参数;
根据所述第一装置的分割策略对应的加密的中间参数获得所述第一装置的分割策略对应的中间参数;
根据所述第一装置的分割策略对应的中间参数确定所述第一装置的分割策略对应的增益。
12.一种树模型训练的方法,其特征在于,应用于第二装置,包括:
对于所述树模型的第一节点,确定所述第二装置的第一分割策略对于样本集中每个样本的分割结果,所述样本集包括用于训练所述树模型的样本;
根据所述第一分割策略对于所述样本集的分割结果、和对于所述第一节点的加密的标签分布信息确定所述第一分割策略对应的加密的中间参数,其中所述对于所述第一节点的加密的标签分布信息是根据所述样本集的第一标签信息和所述样本集对于所述第一节点的第一分布信息确定的,所述第一标签信息包括所述样本集中的每个样本的标签数据,所述第一分布信息包括指示所述每个样本是否属于所述第一节点的指示数据;
向第一装置发送所述第一分割策略对应的加密的中间参数,所述加密的中间参数用于确定所述第一节点的优选分割策略。
13.根据权利要求12所述的方法,其特征在于,还包括:
接收所述第一装置发送的所述加密的标签分布信息。
14.根据权利要求12所述的方法,其特征在于,还包括:
接收所述第一装置发送的加密的所述第一标签信息和加密的所述第一分布信息;
根据所述加密的所述第一标签信息和所述加密的所述第一分布信息确定所述加密的标签分布信息。
15.根据权利要求12-14任一所述的方法,其特征在于,还包括:
接收所述第一装置发送的加密的第一分布信息、关于所述优选分割策略的指示信息;
根据所述指示信息确定所述优选分割策略,其中,所述优选分割策略为所述第二装置的第一分割策略中的;
根据所述加密的所述第一分布信息和所述优选分割策略对于所述样本集的分割结果确定所述样本集对于所述第一节点的第一子节点的加密的第二分布信息;
向所述第一装置发送所述加密的第二分布信息。
16.根据权利要求12-15任一所述的方法,还包括:
根据所述第一分割策略对应的加密的中间参数获得所述第一分割策略对应的中间参数;
根据所述第一分割策略对应的中间参数确定所述第一分割策略对应的增益;
根据所述第一分割策略对应的增益确定增益最优的第二分割策略;
向所述第一装置发送所述第二分割策略的增益,所述第二分割策略的增益用于确定所述第一节点的优选分割策略。
17.根据权利要求16所述的方法,其特征在于,所述第一分割策略对应的加密的中间参数为所述第一分割策略对应的加密的第二中间参数;所述根据所述第一分割策略对于所述样本集的分割结果、和对于所述第一节点的加密的标签分布信息获得所述第一分割策略对应的加密的中间参数包括:根据所述第一分割策略对于所述样本集的分割结果、和对于所述第一节点的加密的标签分布信息确定所述第一分割策略对应的加密的第一中间参数;向所述加密的第一中间参数引入噪声以得到所述第一分割策略对应的加密的第二中间参数;
所述第一分割策略对应的中间参数为第一分割策略对应的第一中间参数,所述根据所述第一分割策略对应的加密的中间参数获得所述第一分割策略对应的中间参数包括:接收所述第一装置发送的所述第一分割策略对应的第二中间参数,所述第二中间参数是对所述加密的第二中间参数解密而得到的;为所述第一分割策略对应的第二中间参数去除噪声以得到所述第一分割策略对应的第一中间参数。
18.根据权利要求17所述的方法,其特征在于,所述第二中间参数是利用同态加密的解密密钥对所述加密的第二中间参数解密而得到的,
所述方法还包括:接收所述第一装置发送的用于同态加密的加密密钥;确定第一噪声;利用所述加密密钥对所述第一噪声加密以得到第二噪声;
所述向所述加密的第一中间参数引入噪声以得到所述加密的第二中间参数包括:根据所述第二噪声、所述加密的第一中间参数确定所述第一分割策略对应的加密的第二中间参数;
所述为所述第一分割策略对应的第二中间参数去除噪声包括:为所述第一分割策略对应的第二中间参数去除所述第一噪声。
19.根据权利要求16所述的方法,其特征在于,所述根据所述第一分割策略对应的加密的中间参数确定所述第一分割策略对应的中间参数包括:
接收所述第一装置发送的经所述第一装置解密的所述第一分割策略对应的加密的中间参数;
根据所述经所述第一装置解密的所述第一分割策略对应的加密的中间参数获得所述第一分割策略对应的中间参数。
20.一种树模型训练的第一装置,其特征在于,包括通信模块和处理模块,
所述处理模块用于对于所述树模型的第一节点,确定所述第一装置的分割策略对应的增益;
所述通信模块用于接收第二装置发送的所述第二装置对于所述第一节点的第一分割策略对应的加密的中间参数,其中,所述加密的中间参数是根据对于所述第一节点的加密的标签分布信息、和所述第一分割策略对于样本集中每个样本的分割结果确定的,所述样本集包括用于训练所述树模型的样本,所述加密的标签分布信息是根据所述样本集的第一标签信息和所述样本集对于所述第一节点的第一分布信息确定的,所述第一标签信息包括所述样本集中的每个样本的标签数据,所述第一分布信息包括指示所述样本集中的每个样本是否属于所述第一节点的指示数据;
所述处理模块还用于根据所述第一装置的分割策略对应的增益和所述第二装置对于所述第一节点的第二分割策略对应的增益确定所述第一节点的优选分割策略,其中,所述第一分割策略包括所述第二分割策略,所述第二分割策略对应的增益是根据所述第二分割策略对应的加密的中间参数确定的。
21.根据权利要求20所述的装置,其特征在于,
所述处理模块还用于根据所述第一标签信息和所述第一分布信息获得所述加密的标签分布信息;
所述通信模块还用于向所述第二装置发送所述加密的标签分布信息。
22.根据权利要求20所述的装置,其特征在于,所述通信模块还用于向所述第二装置发送所述加密的第一标签信息和所述加密的第一分布信息;
其中所述加密的标签分布信息是根据所述第一标签信息和所述第一分布信息确定的包括:所述加密的标签分布信息是根据加密的所述第一标签信息和加密的所述第一分布信息确定的。
23.根据权利要求20-22任一所述的装置,其特征在于,
所述处理模块还用于获得用于同态加密的加密密钥和解密密钥,所述加密的标签分布信息是根据所述加密密钥确定的;
所述处理模块还用于利用所述解密密钥对所述第一分割策略对应的加密的中间参数进行解密以得到所述第一分割策略对应的中间参数,所述第二分割策略对应的增益是根据所述第二分割策略对应的中间参数确定的。
24.根据权利要求20-23任一所述的装置,其特征在于,所述优选分割策略为所述第一装置的分割策略中的,
所述处理模块还用于:
确定所述优选分割策略对于所述样本集中每个样本的分割结果、或者所述优选分割策略对于第一样本子集中每个样本的分割结果,其中所述第一样本子集中每个样本属于所述第一节点;
根据所述优选分割策略的所述分割结果与所述第一分布信息确定所述样本集对于所述第一节点的第一子节点的第二分布信息、或者根据所述优选分割策略的所述分割结果与加密的所述第一分布信息确定所述样本集对于所述第一子节点的加密的第二分布信息。
25.根据权利要求20-24任一所述的装置,其特征在于,所述优选分割策略为所述第二分割策略中的,
所述通信模块还用于:
向所述第二装置发送加密的所述第一分布信息、所述关于所述优选分割策略的指示信息;
接收所述第二装置发送的所述样本集对于所述第一节点的第一子节点的加密的第二分布信息,所述加密的第二分布信息是根据所述加密的第一分布信息和所述优选分割策略对于所述样本集的分割结果确定的。
26.根据权利要求20-25任一所述的装置,其特征在于,所述第一分割策略对应的加密的中间参数为所述第一分割策略对应的加密的第二中间参数,所述加密的第二中间参数包含来自所述第二装置的噪声,
所述处理模块还用于:对所述加密的第二中间参数进行解密以得到所述第一分割策略对应的第二中间参数;
所述通信模块还用于:向所述第二装置发送所述第一分割策略对应的所述第二中间参数,所述第一分割策略对应的增益是根据去除噪声后的所述第一分割策略对应的第二中间参数确定的;接收所述第二装置发送的所述第二分割策略对应的增益,其中,所述第二分割策略对应的增益是所述第一分割策略对应的增益中的最优增益。
27.根据权利要求26所述的装置,其特征在于,所述加密的第二中间参数包含的噪声为第二噪声,
所述通信模块还用于:向所述第二装置发送用于同态加密的加密密钥,所述第二噪声是利用所述加密密钥对第一噪声加密而得到的;
所述处理模块用于对所述加密的第二中间参数进行解密以得到所述第一分割策略对应的第二中间参数包括:所述处理模块用于利用同态加密的解密密钥对所述加密的第二中间参数进行解密以得到所述第一分割策略对应的第二中间参数;
所述第一分割策略对应的增益是根据去除噪声后的所述第一分割策略对应的第二中间参数确定的包括:所述第一分割策略对应的增益是根据所述第一分割策略对应的第一中间参数确定的,所述第一分割策略对应的第一中间参数是所述第一分割策略对应的所述第二中间参数去除所述第一噪声而得到的。
28.根据权利要求20-27任一所述的装置,其特征在于,
所述处理模块,用于对所述第一分割策略对应的加密的中间参数进行解密以得到经所述第一装置解密的所述第一分割策略对应的加密的中间参数;
所述通信模块,用于向所述第二装置发送经所述第一装置解密的所述第一分割策略对应的加密的中间参数,所述第一分割策略对应的增益是根据所述经所述第一装置解密的所述第一分割策略对应的加密的中间参数确定的;接收所述第二装置发送的所述第二分割策略对应的增益,其中,所述第二分割策略对应的增益是所述第一分割策略对应的增益中的最优增益。
29.根据权利要求20-28任一所述的装置,其特征在于,所述处理模块用于对于所述第一节点,确定所述第一装置的分割策略对应的增益包括:
所述处理模块用于:对于所述第一节点,确定所述第一装置的分割策略对于所述样本集中每个样本的分割结果;根据所述第一装置的分割策略对于所述每个样本的分割结果、和所述对于所述第一节点的加密的标签分布信息确定所述第一装置的分割策略对应的加密的中间参数;根据所述第一装置的分割策略对应的加密的中间参数获得所述第一装置的分割策略对应的中间参数;根据所述第一装置的分割策略对应的中间参数确定所述第一装置的分割策略对应的增益。
30.一种树模型训练的第二装置,其特征在于,包括通信模块和处理模块,
所述处理模块用于:对于所述树模型的第一节点,确定所述第二装置的第一分割策略对于样本集中每个样本的分割结果,所述样本集包括用于训练所述树模型的样本;根据所述第一分割策略对于所述样本集的分割结果、和对于所述第一节点的加密的标签分布信息确定所述第一分割策略对应的加密的中间参数,所述对于所述第一节点的加密的标签分布信息是根据样本集的第一标签信息和所述样本集对于所述第一节点的第一分布信息确定的,所述第一标签信息包括所述样本集中的每个样本的标签数据,所述第一分布信息包括指示所述每个样本是否属于所述第一节点的指示数据;
所述通信模块用于向第一装置发送所述第一分割策略对应的加密的中间参数,所述加密的中间参数用于确定所述第一节点的优选分割策略。
31.根据权利要求30所述的装置,其特征在于,所述通信模块还用于接收所述第一装置发送的所述加密的标签分布信息。
32.根据权利要求30所述的装置,其特征在于,所述通信模块还用于接收所述第一装置发送的加密的所述第一标签信息和加密的所述第一分布信息;所述处理模块还用于根据所述加密的所述第一标签信息和所述加密的所述第一分布信息确定所述加密的标签分布信息。
33.根据权利要求30-32任一所述的装置,其特征在于,
所述通信模块还用于接收所述第一装置发送的加密的第一分布信息、关于所述优选分割策略的指示信息;
所述处理模块还用于:
根据所述指示信息确定所述优选分割策略,其中,所述优选分割策略为所述第二装置的第一分割策略中的;
根据所述加密的所述第一分布信息和所述优选分割策略对于所述样本集的分割结果确定所述样本集对于所述第一节点的第一子节点的加密的第二分布信息;
所述通信模块还用于向所述第一装置发送所述加密的第二分布信息。
34.根据权利要求30-33任一所述的装置,其特征在于,
所述处理模块还用于:
根据所述第一分割策略对应的加密的中间参数获得所述第一分割策略对应的中间参数;根据所述第一分割策略对应的中间参数确定所述第一分割策略对应的增益;
根据所述第一分割策略对应的增益确定增益最优的第二分割策略;
所述通信模块还用于:向所述第一装置发送所述第二分割策略的增益,所述第二分割策略的增益用于确定所述第一节点的优选分割策略。
35.根据权利要求34所述的装置,其特征在于,
所述第一分割策略对应的加密的中间参数为所述第一分割策略对应的加密的第二中间参数;
所述处理模块用于根据所述第一分割策略对于所述样本集的分割结果、和对于所述第一节点的加密的标签分布信息获得所述第一分割策略对应的加密的中间参数包括:
所述处理模块用于根据所述第一分割策略对于所述样本集的分割结果、和对于所述第一节点的加密的标签分布信息确定所述第一分割策略对应的加密的第一中间参数;向所述加密的第一中间参数引入噪声以得到所述第一分割策略对应的加密的第二中间参数;
所述第一分割策略对应的中间参数为第一分割策略对应的第一中间参数,所述处理模块用于根据所述第一分割策略对应的加密的中间参数获得所述第一分割策略对应的中间参数包括:所述处理模块用于通过所述通信模块接收所述第一装置发送的所述第一分割策略对应的第二中间参数,所述第二中间参数是对所述加密的第二中间参数解密而得到的;为所述第一分割策略对应的第二中间参数去除噪声以得到所述第一分割策略对应的第一中间参数。
36.根据权利要求35所述的装置,其特征在于,所述第二中间参数是利用同态加密的解密密钥对所述加密的第二中间参数解密而得到的,
所述通信模块还用于:接收所述第一装置发送的用于同态加密的加密密钥;
所述处理模块还用于确定第一噪声,并利用所述加密密钥对所述第一噪声加密以得到第二噪声;
所述处理模块用于向所述加密的第一中间参数引入噪声以得到所述加密的第二中间参数包括:所述处理模块用于根据所述第二噪声、所述加密的第一中间参数确定所述第一分割策略对应的加密的第二中间参数;
所述处理模块用于为所述第一分割策略对应的第二中间参数去除噪声包括:所述处理模块用于为所述第一分割策略对应的第二中间参数去除所述第一噪声。
37.一种计算机可读存储介质,其特征在于,用于存储计算机程序,该计算机程序包括用于执行如权利要求1-19中任一项所述的树模型训练的方法的指令。
38.一种计算机程序产品,其特征在于,包括用于执行如权利要求1-19中任一项所述的树模型训练的方法的指令。
CN202011635228.XA 2020-12-31 2020-12-31 树模型训练方法、装置和系统 Pending CN114692717A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011635228.XA CN114692717A (zh) 2020-12-31 2020-12-31 树模型训练方法、装置和系统
EP21914716.2A EP4258163A4 (en) 2020-12-31 2021-12-31 TREE MODEL TRAINING METHOD, APPARATUS AND SYSTEM
PCT/CN2021/143708 WO2022143987A1 (zh) 2020-12-31 2021-12-31 树模型训练方法、装置和系统
US18/344,185 US20230353347A1 (en) 2020-12-31 2023-06-29 Method, apparatus, and system for training tree model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011635228.XA CN114692717A (zh) 2020-12-31 2020-12-31 树模型训练方法、装置和系统

Publications (1)

Publication Number Publication Date
CN114692717A true CN114692717A (zh) 2022-07-01

Family

ID=82133817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011635228.XA Pending CN114692717A (zh) 2020-12-31 2020-12-31 树模型训练方法、装置和系统

Country Status (4)

Country Link
US (1) US20230353347A1 (zh)
EP (1) EP4258163A4 (zh)
CN (1) CN114692717A (zh)
WO (1) WO2022143987A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151627A (zh) * 2023-04-04 2023-05-23 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076906B (zh) * 2023-08-18 2024-02-23 云和恩墨(北京)信息技术有限公司 分布式智能故障诊断方法和系统、计算机设备、存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611188A (zh) * 2016-06-22 2017-05-03 四川用联信息技术有限公司 一种标准化的多维尺度代价敏感决策树构建方法
CN109002861B (zh) * 2018-08-10 2021-11-09 深圳前海微众银行股份有限公司 联邦建模方法、设备及存储介质
US11699106B2 (en) * 2019-03-15 2023-07-11 Microsoft Technology Licensing, Llc Categorical feature enhancement mechanism for gradient boosting decision tree
CN111144576A (zh) * 2019-12-13 2020-05-12 支付宝(杭州)信息技术有限公司 模型训练方法、装置和电子设备
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151627A (zh) * 2023-04-04 2023-05-23 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备
CN116151627B (zh) * 2023-04-04 2023-09-01 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
WO2022143987A1 (zh) 2022-07-07
EP4258163A1 (en) 2023-10-11
US20230353347A1 (en) 2023-11-02
EP4258163A4 (en) 2024-06-19

Similar Documents

Publication Publication Date Title
CN110084377B (zh) 用于构建决策树的方法和装置
Jiang et al. Flashe: Additively symmetric homomorphic encryption for cross-silo federated learning
WO2022143987A1 (zh) 树模型训练方法、装置和系统
US20060149762A1 (en) Key information processing method, device thereof, and program
Lee et al. Comparison of perfect table cryptanalytic tradeoff algorithms
US20040174999A1 (en) Image data encryption method and apparatus, computer program, and computer-readable storage medium
Riis et al. Capacitated network design with uncertain demand
WO2022142366A1 (zh) 机器学习模型更新的方法和装置
CN115062323A (zh) 增强隐私保护的多中心联邦学习方法及计算机设备
WO2015148595A1 (en) Anonymization of streaming data
CN112785303A (zh) 基于区块链离线支付的验证处理方法及验证处理系统
CN112862057A (zh) 一种建模方法、装置、电子设备和可读介质
Le et al. GCRINT: network traffic imputation using graph convolutional recurrent neural network
CN107276912B (zh) 存储器、报文处理方法及分布式存储系统
Ling et al. Server-aided revocable predicate encryption: formalization and lattice-based instantiation
CN114003744A (zh) 基于卷积神经网络和向量同态加密的图像检索方法及系统
CN112364365A (zh) 工业数据加密方法、边缘服务器及计算机可读存储介质
CN107391541A (zh) 一种实时数据合并方法和装置
Kanaev et al. Increasing the efficiency of the functioning of transport communication networks by using a modified method for determining a set of independent routes
CN114329127B (zh) 特征分箱方法、装置及存储介质
CN116127400A (zh) 基于异构计算的敏感数据识别系统、方法及存储介质
CN115834062A (zh) 一种用于数据托管服务的企业数据传输加密方法
US11860868B2 (en) Secure database-as-a-service system
Pasteris et al. Data distribution and scheduling for distributed analytics tasks
US10673624B2 (en) Communication control device, communication control method, and computer program product

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