Tree model leaf node weight value determination method and computer equipment

In the tree model training of privacy calculation, the inadvertent transmission method is used to obtain the accumulated derivative value slice after obfuscated processing, and combined with privacy interception and bucket processing, the problem of time-consuming calculation of leaf node weight value is solved, and the calculation efficiency is improved.

CN119917943APending Publication Date: 2025-05-02ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411970284.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

During the tree model training process of privacy calculation, the calculation of leaf node weight value is time-consuming, especially because a large number of secret sharing multiplication operations are required, resulting in inefficient calculations.

Method used

By obtaining the intersection samples held by both the first and second parties through privacy interception in advance, and bucketing the intersection samples according to the characteristic values, and calculating the split points of each non-leaf node. Then, using the inadvertent transmission method, the second shard of the derivative accumulated value corresponding to the obfuscated target bucket number is obtained from the derivative accumulated value slice held by the second party, and then the new shard is determined with the sum of the first shard, and used to calculate the weight value of the leaf node in combination with the second party.

Benefits of technology

By reducing the number of secret multiplication operations, the calculation efficiency of leaf node weight values ​​is improved, the calculation time is reduced, and the privacy calculation performance is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119917943A_ABST
    Figure CN119917943A_ABST
Patent Text Reader

Abstract

The invention discloses a tree model leaf node weight value determination method. For a father node of any leaf node in the tree of which the leaf node weight value is to be determined, under the condition that a first party has a specific splitting condition of a splitting point of the father node, the first party can execute the following steps: taking a target bucket number corresponding to the splitting point as input, and transmitting the target bucket number to the father node through an inadvertent transmission method jointly executed by the first party and a second party; and obtaining a second fragment of the derivative accumulation value corresponding to the target bucket mark number subjected to confusion processing from the derivative accumulation value fragments corresponding to the plurality of bucket numbers held by the second party. And the sum of the second fragment and the first fragment which are subjected to confusion processing is used as a first new fragment, and the first new fragment and the second party are utilized to jointly execute calculation of a leaf node weight value. Through casual transmission, a large amount of secret multiplication operation used for updating derivative value fragments in related technologies is avoided. And the calculation efficiency of the leaf node weight value is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification belong to the field of privacy computing technology, and in particular, relate to a method for determining the weight value of a leaf node of a tree model and a computer device. Background Art

[0002] A decision tree model is a tree structure that can be used to score or classify the attributes of a target object based on the input feature values ​​of the target object. Privacy computing is a method in which multiple parties conduct joint data processing without disclosing their own data. With the continuous development of privacy computing technology, there is a need in the existing technology for privacy computing in which two parties jointly train a tree model.

[0003] In the process of training the privacy-preserving tree model, a large amount of sensitive data structure information is required, which requires the use of more encryption technologies and more cumbersome privacy-preserving processes to ensure data security during the joint training of the tree model. Therefore, compared with the initial plaintext tree model training process, the privacy-preserving tree model training process will consume more time, generally two orders of magnitude more than the plaintext tree model training process.

[0004] In the tree model training process of privacy computing, the calculation of leaf node weight values ​​is a relatively time-consuming calculation process. When calculating, the process corresponding to the plaintext training algorithm is often used to perform step-by-step privacy calculations. Specifically, for each leaf node, the sample distribution must be secretly updated for all training samples (also referred to as intersection samples in this manual), that is, each data representing which samples fall on the current leaf node. And based on the sample distribution, the derivative value ciphertext array is updated. The derivative value ciphertext array includes the ciphertext of the derivative values ​​corresponding to each training sample, and the derivative value is determined based on the loss function. In the derivative value ciphertext array, the plaintext of the derivative value corresponding to the training sample that does not fall into the current leaf node is generally set to 0. Finally, the derivative values ​​are accumulated, and the ciphertext value of the leaf node weight is calculated by accumulation.

[0005] In the above process, a large number of secret sharing multiplication operations are required when updating the derivative value ciphertext array corresponding to each leaf node, and the secret sharing multiplication operation is relatively time-consuming, which makes the calculation of the leaf node weight value slower. Summary of the invention

[0006] The purpose of this specification is to provide a method and computer device for determining the weight value of a leaf node of a tree model.

[0007] In a first aspect, the present specification provides a method for determining a weight value of a leaf node of a tree model, which is applied to a first party. The method also involves a second party. In advance, the method and the second party obtain a plurality of intersection samples of the first party and the second party by jointly performing a privacy intersection, and bucket the intersection samples according to feature values. The second party and the first party use the bucketed intersection samples for training to obtain splitting points of each non-leaf node. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the method includes:

[0008] Taking the target bucket number corresponding to the split point as input, and obtaining a second slice of the derivative cumulative value corresponding to the target bucket number after obfuscation from the derivative cumulative value slices corresponding to the multiple bucket numbers held by the second party through the oblivious transfer method jointly performed with the second party; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula;

[0009] A first new shard is determined based on the sum of the second shard and the first shard, and the first new shard is used to jointly calculate the weight value of the first leaf node corresponding to the parent node with the second party; the first shard is a derivative cumulative value shard corresponding to the target bucket number among the derivative cumulative value shards corresponding to multiple bucket numbers held by the first party.

[0010] A second aspect of the present specification provides a method for determining a weight value of a leaf node of a tree model, which is applied to a second party. The method also involves a first party, which obtains a plurality of intersection samples of the first party and the second party by jointly performing a privacy intersection with the first party in advance, and performs bucket processing on the intersection samples according to feature values, and obtains splitting points of each non-leaf node by training with the first party using the bucketed intersection samples. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the method includes:

[0011] Taking derivative cumulative value slices corresponding to multiple bucket numbers that have been obfuscated as input, jointly executing the oblivious transfer method with the first party, so that the first party obtains a second slice of the derivative cumulative value of the target bucket number corresponding to the split point; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula;

[0012] The data used for obfuscation processing is used as a second new shard, and the weight value of the first leaf node corresponding to the parent node is calculated jointly with the first party using the second new shard.

[0013] According to a third aspect of the present specification, a tree model leaf node weight value determination device is provided, which is applied to a first party, and obtains a plurality of intersection samples of the first party and the second party by jointly performing privacy intersection in advance with a second party, and performs bucket processing on the intersection samples according to feature values, and obtains splitting points of each non-leaf node by training with the second party using the bucketed intersection samples. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the device includes:

[0014] a first oblivious transmission module, configured to take the target bucket number corresponding to the splitting point as input, and obtain, from the derivative cumulative value slices corresponding to the plurality of bucket numbers held by the second party, a second slice of the derivative cumulative value corresponding to the target bucket number after obfuscation through an oblivious transmission method jointly performed with the second party; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula;

[0015] The first weight value calculation module is used to determine a first new shard based on the sum of the second shard and the first shard, and use the first new shard to jointly calculate the weight value of the first leaf node corresponding to the parent node with the second party; the first shard is a derivative cumulative value shard corresponding to a target bucket number among the derivative cumulative value shards corresponding to multiple bucket numbers held by the first party.

[0016] In a fourth aspect, the present specification provides a tree model leaf node weight value determination device, which is applied to a second party, and obtains a plurality of intersection samples of the first party and the second party by jointly performing privacy intersection with the first party in advance, and performs bucket processing on the intersection samples according to feature values, and obtains splitting points of each non-leaf node by training with the first party using the bucketed intersection samples. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the device includes:

[0017] A second oblivious transmission module is configured to take derivative cumulative value slices corresponding to a plurality of bucket numbers that have been obfuscated as input, and jointly perform an oblivious transmission method with the first party, so that the first party obtains a second slice of the derivative cumulative value of the target bucket number corresponding to the split point; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula;

[0018] The second weight value calculation module is used to use the data for obfuscation processing as the second new fragment, and use the second new fragment to jointly calculate the weight value of the first leaf node corresponding to the parent node with the first party.

[0019] The fifth aspect of the present specification provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed in a computer, the computer is caused to execute the method for determining the weight value of a leaf node of a tree model described in the first aspect or the second aspect.

[0020] The sixth aspect of the present specification provides a computing device, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method for determining the weight value of a leaf node of a tree model described in the first aspect or the second aspect is implemented.

[0021] The seventh aspect of the present specification provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the method for determining the weight value of a leaf node of a tree model described in the first aspect or the second aspect.

[0022] This specification provides a method for determining the weight value of a leaf node of a tree model. The intersection samples held by both the first party and the second party are obtained in advance through a privacy intersection method. The intersection samples are bucketed according to the size of the characteristic values ​​of each intersection sample, and the splitting points of each non-leaf node are calculated using the results of the bucketing process to obtain a tree of the weight values ​​of the leaf nodes to be determined. For the parent node of any leaf node, when the first party has the specific splitting conditions of the splitting point of the parent node, the first party can execute: taking the target bucket number corresponding to the splitting point as input, and obtaining the second slice of the derivative cumulative value corresponding to the target bucket number that has been obfuscated from the derivative cumulative value slices corresponding to the multiple bucket numbers held by the second party through the oblivious transmission method jointly performed with the second party. And the sum of the obfuscated second slice and the first slice is used as the first new slice, and the first new slice is used to jointly perform the calculation of the weight value of the leaf node.

[0023] The above method utilizes the characteristics that the derivative accumulation value shards used in calculating the leaf node weight value have been used in calculating the split point of the leaf node parent node. Through oblivious transmission, a large number of secret multiplication operations used to update the derivative value shards in the related art are eliminated, thereby improving the calculation efficiency of the leaf node weight value. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0025] Figure 1is a schematic diagram of an embodiment tree model;

[0026] Figure 2 is a flow chart of a method for determining weight values ​​of leaf nodes of a tree model in one embodiment;

[0027] Figure 3 is a flow chart of a method for determining weight values ​​of leaf nodes of a tree model in another embodiment;

[0028] Figure 4 It is a block diagram of a device for determining a weight value of a leaf node of a tree model in an embodiment of the present specification;

[0029] Figure 5 It is a block diagram of a device for determining weight values ​​of leaf nodes of a tree model according to an embodiment of the present specification. DETAILED DESCRIPTION

[0030] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.

[0031] With the requirements of data security, privacy computing methods that take into account privacy protection requirements and data utilization have been widely used. In related technologies, multiple participants use their own data to perform joint privacy computing, such as joint modeling, joint federated learning, etc. As a technology that can solve a variety of complex machine learning problems while protecting data privacy and security, the privacy-preserving tree model joint modeling technology has a wide range of applications in related technologies. The privacy-preserving tree model is a tree model computing method that protects the privacy of the data party's input data. This method usually uses privacy computing technologies such as secret sharing and homomorphic encryption to complete the model training and model prediction calculation of the tree model by two or more parties while protecting the privacy of the input data and the privacy of the computing process data.

[0032] The tree model mentioned above is also a decision tree model. For ease of understanding, the specific use and training methods of the decision tree model in plain text will be explained below.

[0033] The decision tree model generally exists in the form of a binary tree. It determines which leaf node a sample falls on based on the splitting conditions of the non-leaf nodes, and determines the score or classification of the sample based on the weight value of the leaf node. Figure 1 As shown, Figure 1It is a simple decision tree. The content in the non-leaf node represents the splitting condition of the node, A is the identifier of a certain feature, and the number is the corresponding splitting threshold. The content in the leaf node represents the weight value of the leaf node. If the sample meets the condition that is less than the corresponding splitting threshold, it will fall into the node on the left side of the node, otherwise it will fall into the node on the right side until the sample falls into a leaf node. For example, if the feature value of feature A of a certain sample is 1, then according to the splitting condition judgment of each non-leaf node, it can be determined that the sample falls into the leftmost leaf node, then the score value of the sample is 1. It should be noted that Figure 1 What is shown is a simple decision tree model. The decision tree model actually used may not generate the judgment conditions of non-leaf nodes based on only one feature, but may also complete the classification or scoring of samples through multiple trees at the same time.

[0034] There are many training methods for tree models, generally including gradient boosting decision tree (GBDT), extreme gradient boosting tree (XGBoost), etc. GBDT will be briefly introduced here. GBDT is an iterative decision tree algorithm that combines gradient boosting and decision tree algorithms. Multiple decision trees are trained iteratively, and each decision tree is trained on the residual (the difference between the predicted value and the actual value) of the previous tree. During the training process, the structure and parameters of each decision tree are continuously optimized by the gradient boosting method to minimize the loss function of the model. In the prediction stage, the prediction results of multiple decision trees are summed or weighted averaged to obtain the final prediction result. Gradient decision trees are usually used to solve regression and classification problems. For example, a tree model can be trained to classify the financial credit risk of users, so as to quickly identify users with credit risks (such as fraud risks).

[0035] Specifically, the training process of the tree model is generally divided into six steps: feature sorting and bucketing, derivative calculation, bucket accumulation, gain value and split point calculation, sample division, and leaf node weight calculation.

[0036] Feature sorting and bucketing, that is, sorting samples according to the size of the eigenvalue, and determining the bucket corresponding to each sample according to the size of the eigenvalue. Different buckets correspond to different eigenvalue size ranges. By bucketing the eigenvalues, the efficiency of model training can be improved. For example, after the features are bucketed, the subsequent training process can determine the size relationship of the eigenvalues ​​in units of buckets, which facilitates the calculation of the gain value (the specific calculation process is described later). And when calculating the split point, the split point can be selected from each bucket threshold instead of traversing all possible values ​​of the eigenvalue to determine the split point.

[0037] In addition, when a sample has multiple types of features, it is necessary to divide the sample into buckets according to the feature values ​​of different features, and determine the buckets corresponding to each feature value of the sample. For example, if the first feature value of the sample is 1, it is divided into bucket numbered 1, and if the second feature value of the sample is 10, it is divided into bucket numbered 10.

[0038] Through bucketing, we can get the bucket numbers corresponding to each sample. Each bucket corresponds to a unique bucket number, and the bucket numbers corresponding to different types of features do not overlap. For example, if a sample has m features, and each feature is divided into b buckets, then there are a total of m*b buckets, and the bucket numbers corresponding to each bucket in the m*b buckets do not overlap. For example, the first type of feature corresponds to the bucket numbered 1-b, the second type of feature corresponds to the bucket numbered b+1-2b, and so on.

[0039] After the bucketing is completed, each tree can be trained. As for the number of trees, multiple trees can be determined in advance, and each tree can be trained sequentially. In order to reduce the occurrence of overfitting, it is also possible to first train a tree based on the sample, and then use the residual of the tree to train the next tree until the residual is less than a certain value. When training each tree, the depth of the tree can be pre-specified.

[0040] The training process for the tth tree specifically includes:

[0041] 1. Determine the derivative value of each sample by derivatizing the loss function.

[0042] For ease of understanding, the derivation formula in XGBoost is first explained. It should be noted that the method of this specification can be used not only in XGBoost, but also in the training of tree models such as GBDT. Here, XGBoost is used as an example for explanation, which does not limit this specification.

[0043] The objective function can be expressed as formula (1):

[0044]

[0045] in, is the loss function, which is used to measure the quality of the model prediction results, Ω(f t ) is a regular term used to reduce the degree of overfitting of the model. n is the total number of samples involved in training, y i is the label of sample i, is the prediction result of the first t-1 trees, which is a constant value. t (x i) is the variable to be confirmed, that is, the prediction result of the tth tree in the current training for the sample. γ,λ are hyperparameters, T is the tree f t The number of leaf nodes, w j is the weight value of the jth leaf node.

[0046] In the binary classification problem, the loss function l uses log loss, and the specific formula is shown in formula (2):

[0047]

[0048] By differentiating the loss function, we can obtain the first-order derivative value g and the second-order derivative value h of the function, as shown in formula (3):

[0049]

[0050] 2. For each non-leaf node, perform bucket accumulation, use the gain value to determine the split point and sample division.

[0051] (1) According to the sample partitioning result of the parent node of the non-leaf node, determine the samples that fall into the non-leaf node. And use the derivative values ​​of the samples that fall into the non-leaf node to determine the derivative cumulative values ​​corresponding to each bucket. That is, for each bucket, for the samples that belong to the bucket and fall into the current non-leaf node, add up the derivative values ​​of these samples to obtain the derivative cumulative values ​​corresponding to each bucket. The derivative cumulative values ​​here include the first-order derivative cumulative value and the second-order derivative cumulative value. That is, we can get:

[0052]

[0053] Among them, G j is the cumulative value of the first-order derivative corresponding to the bucket numbered j, H j is the cumulative value of the second-order derivative corresponding to the bucket numbered j. The reason for calculating the cumulative value of the derivative will be explained below.

[0054] (2) Using the information gain method, determine the gain value corresponding to the bucket threshold of each bucket, and determine the maximum gain value. The bucket threshold of the bucket corresponding to the maximum gain value is used as the split point.

[0055] Next, the derivation of the gain value calculation formula will be explained.

[0056] We need to train the objective function towards the trend of gradient descent, and we need to approximate it according to the trend of the derivative. For the loss function, we can As x+Δx in Taylor expansion. According to Taylor expansion, And g i To use the loss function Find the first-order partial derivative, h i To use the loss function Find the second-order partial derivative. Therefore, by removing the constant value in the objective function, the objective function can be expanded into formula (5):

[0057]

[0058] in, Represents the weight value of the leaf node where the i-th sample falls in the tree model.

[0059] because With w j There is a corresponding mapping relationship: I j =i|q(x i ) = j, that is, sample x i It will eventually be classified into the jth leaf node (through I j Convert the traversal on the sample to the traversal on the leaf node), so that Obj (t) It is only related to the leaf nodes of the tree to be constructed. Since n>>T (T is the number of leaf nodes), there are a large number of repeated w values. Therefore, we use the derivative accumulation values ​​G and H obtained by formula (4) to merge these identical w values ​​and further update Obj (t) ,get:

[0060]

[0061] Formula (6) can be viewed as T equations about w j A quadratic function of one variable. Since the coefficient of the quadratic term (H j +λ)>0, therefore, each leaf node is When taking the minimum value, we can get:

[0062]

[0063] According to formula (7), the final leaf node weight value range is related to the structure and node distribution information. Next, we will explain how to construct the tree structure, that is, how to determine the split point of the tree model.

[0064] In the related art, split finding refers to determining the splitting features and splitting thresholds of each node when building a decision tree to maximize the prediction accuracy of the model. The calculation of the splitting point is usually performed by measuring the change in purity or impurity of the node after the split. Indicators such as the Gini coefficient, information gain, or mean square error are usually used to evaluate the selection of the splitting point. The feature that reduces the impurity the most and the corresponding splitting point are selected as the splitting point. This is a better split for a single cut.

[0065] Next, the split point calculation method based on information gain will be explained.

[0066] In order to reduce the cost of trying to construct the tree structure, a greedy algorithm is used to initialize a tree with only one root node, and then traverse each leaf node according to The magnitude of the decrease (i.e. enumerate the current node splitting situation to obtain the maximum gain value), determine the splitting point, and expand the tree structure one by one. Therefore, as shown below, the Gain value formula (8) after the previous node split can be determined by subtraction:

[0067]

[0068] Among them, G L and G R Respectively represent the sum of the derivative values ​​of samples whose eigenvalues ​​are less than or equal to and greater than the splitting threshold of the splitting point.

[0069] The Gain values ​​corresponding to each bucket threshold can be calculated, and the largest one can be selected as the split point corresponding to the non-leaf node.

[0070] 3. For each leaf node, use formula (7) to calculate the weight value of the leaf node.

[0071] In this way, the tree model can be trained.

[0072] After explaining the basic principles of the training method of the tree model in the plain text case, the calculation method of the weight value of the leaf node of the tree model in the cipher text case in the related technology will be explained next.

[0073] The method for calculating the weight value of the leaf node in the privacy protection tree model in the related technology mainly includes: updating the ciphertext value of the distribution, updating the derivative value ciphertext array corresponding to the leaf node, accumulating the derivative value ciphertext, and using the weight formula to calculate the weight ciphertext value of the leaf node.

[0074] Specifically, for the above scenario, it can be assumed that there are two participants: the first party P A and the second party P B , each party holds a data set that has been preprocessed by privacy intersection and alignment operations: the number of intersection samples is n, and the characteristics of the intersection samples held by the two parties are different. A The dataset held has m A Features, P B Own m B features and label information Y, the total number of features is m=m A +m B , both parties jointly determine the number of buckets for each feature to be b.

[0075] Both parties hope to train a decision tree model without leaking their respective data sets to each other. After a series of privacy calculations such as feature bucketing before training, derivative calculation based on privacy protection, bucket accumulation, gain value and split point calculation, and sample division during training, both parties can obtain a tree model with leaf node weight values ​​to be calculated. At this point, for each group of left and right leaf nodes, both parties have calculated the split point information of their parent nodes, and the party with the feature information corresponding to the split point can further know the sample division of this group of left and right leaf nodes.

[0076] For ease of understanding, this manual uses angle brackets. <x>Indicates that the current variable X is encrypted by secret sharing, and P A and P B Hold secret sharing shards separately <x> A and <x> B Use square brackets [X] A Indicates that the current variable X is homomorphically encrypted, and the A in the upper right corner indicates that the private key of the ciphertext belongs to P A , only P A The ciphertext can be decrypted.

[0077] Assume that the feature information corresponding to the split point is P A Hold, only P A Know the sequence number information idx of the split point. Specifically, both parties hold a set of "shared with computing secret" ciphertext bit arrays {b A [i]} i∈[n] and {b B [i]} i∈[n] , and the ciphertext values ​​of the first and second order derivatives of the n samples recorded by the parent node <g> 、 <h>. Among them, "sharing with computing secret" satisfies the plaintext bit array b=b A &b B , that is, for the i-th sample, if the bit and calculation b are satisfied A [i]&b B [i] = 1, it means that the i-th point is divided into the current node, and the ciphertext value <g> 、 <h>The corresponding plain text is the original first and second order derivative values. A [i]&b B [i] = 0 means that the node is not in the current node, and the ciphertext value <g> 、 <h>The corresponding plain text is 0. The reason why it is marked as 0 is that it will not affect the correctness of the derivative accumulation calculation during the calculation process.

[0078] The calculation method of the first-order and second-order derivative values ​​is shown in the previous article. Specifically, in the privacy protection scenario, the first-order and second-order derivative values ​​are calculated by combining the prediction value shards and label value shards owned by both parties. The reason why it needs to be in the form of ciphertext is that according to the formula in the previous article, for the first tree, if the specific derivative value is known, the label value may be inferred.

[0079] In addition, for scenarios where only the feature party knows the sample division of the left and right leaf nodes, "sharing with computational secrets" can directly let the feature party P A Calculate the ciphertext array of the sample distribution of the left and right leaf nodes locally according to the division situation and Non-characteristic square P B Directly in local The specific value is the b of the node. B [i].

[0080] In the related art, the specific execution process of the privacy protection calculation method for the weight values ​​of the left and right leaf nodes corresponding to a parent node is as follows:

[0081] 1. The parent node has enough features corresponding to the split point to have square P A According to the split point idx = (j-1)*bin+k, the feature threshold T corresponding to the k-th bucket position of the j-th feature can be obtained, and an all-0 bit array {a L [i]} i∈[n] and {a R [i]} i∈[m] For all n training set samples, if the feature value of the jth feature of the i-th sample is less than T, let the bit variable a L [i]=1, otherwise let a R [i] = 1. Here {a L [i]} i∈[n] and {a R [i]} i∈[n] is: the distribution of each intersection sample determined without considering the splitting condition of the non-leaf nodes before the parent node. L [i]} i∈[n] and {a R [i]} i∈[n] It cannot represent the distribution of intersection samples, but it indicates the division of intersection samples by the splitting threshold corresponding to the splitting point.

[0082] 2. P A Update the sample partition ciphertext arrays of the left and right leaf nodes locally respectively where i∈[n]. At the same time, P B Directly divide the samples of the left and right leaf nodes into ciphertext arrays b B [i] means P B The ciphertext of the sample distribution of the parent node.

[0083] 3. P A The array <g> A 、 <h> A and As the input of the secret multiplication, P B The array <g> B 、 <h> B and As input. After secret sharing and calculation and multiplication operation, P A get <g L > A , <h L > A , p B get <g L > B , <h L > B According to the above-mentioned secret sharing, <g L > A , <h L > A In the array, the derivative values ​​of the intersection samples that do not fall into the left leaf node are set to zero. <g L > B , <h L > B The two parties calculate the cumulative value of the derivative of the left leaf node locally. <g1>and <h1>, specifically, P A calculate <g1> A = ∑ i∈[n] <g L [i]> A sum <h1> A =∑ i∈[n] <h L [i]> A , P B calculate <g1> B = ∑ i∈[n] <g L [i]> B sum <h1> B =∑ i∈[n] <h L [i]> B .

[0084] 4. Similar to the operation in step 3, P A The array <g> A 、 <h> A and As the input of the secret multiplication, P B The array <g> B 、 <h> B and As input, after secret sharing and calculation and multiplication operation, P A get <g R > A , <h R > A , P B get <g R > B , <h R > B Then, both parties calculate the cumulative value of the derivative of the left leaf node locally. <g2>and <h2>, specifically, P A calculate <g2> A = ∑ i∈[n] <g R [i]> A sum <h2> A =∑ i∈[n] <h R [i]> A , P B calculate <g2> B = ∑ i∈[n] <g R [i]> B sum <h2> B =∑ i∈[n] <h R [i]> B .

[0085] 5. Both parties use secret sharing addition and division to calculate { <g1> , <h1>}and{ <g2> , <h2>}Enter the leaf node weight ciphertext value calculation formula respectively Get the left leaf node to calculate the weight value Calculate the weight value with the right leaf node

[0086] In the above calculation process, in step 3, it is necessary to calculate the sample distribution of each intersection sample for all leaf nodes, which requires O(n) secret multiplication calculations. <g L >, <h L >, <g R >, <h L > is only used when solving the leaf node weight. Specifically, for other non-leaf nodes, updating the sample distribution and obtaining the sample distribution corresponding to the node helps calculate the gain value and determine the split point. For leaf nodes, since there is no need to determine the split point, <g L >, <h L >, <g R >, <h L >The actual value is used when solving the distribution of leaf nodes. This makes the calculation of leaf node weights less efficient.

[0087] Based on this, the present specification provides a method for determining the weight value of a leaf node of a tree model. The intersection samples held by both the first party and the second party are obtained in advance through a privacy intersection method. The intersection samples are bucketed according to the size of the characteristic values ​​of each intersection sample, and the splitting points of each non-leaf node are calculated using the results of the bucketing process to obtain a tree of the weight values ​​of the leaf nodes to be determined. For the parent node of any leaf node, when the first party has the specific splitting conditions of the splitting point of the parent node, the first party can execute: taking the target bucket number corresponding to the splitting point as input, and obtaining the second shard of the derivative cumulative value corresponding to the target bucket number that has been obfuscated from the derivative cumulative value shards corresponding to the multiple bucket numbers held by the second party through the oblivious transmission method jointly performed with the second party. And the sum of the obfuscated second shard and the first shard is used as the first new shard, and the first new shard and the second party jointly perform the calculation of the weight value of the leaf node.

[0088] The above method uses: the derivative cumulative value shard used to calculate the weight value of the leaf node, which is used when calculating the split point of the parent node of the leaf node, that is, the derivative cumulative value shard used to calculate the maximum gain value corresponding to the parent node. Furthermore, although the derivative cumulative value shards corresponding to each bucket number are used to calculate the split point of the parent node, in privacy computing, in order to ensure privacy, only one of the two participants can obtain the plaintext of the bucket number corresponding to the split point. Generally, the party that obtains the plaintext of the bucket number is the party that has the feature corresponding to the split condition of the split point.

[0089] The above method utilizes the above characteristics and proposes an obfuscated secret sharing value multi-choice oblivious transmission method, which makes the second party unable to obtain the target bucket number and the first party unable to obtain the plaintext of the derivative cumulative value, so that the first party and the second party can each obtain a new shard of the derivative cumulative value corresponding to the target bucket number, and use the new shard to calculate the weight value of the leaf node.

[0090] In this way, the original method in the related art needs to update the derivative value of each training sample for each leaf node, so its theoretical performance and communication volume are of the order of O(n). The solution proposed in this specification only needs to perform one or more m*b choose 1 inadvertent transmissions for each leaf node, and its theoretical performance and communication volume are of the order of O(m*b). n is the number of intersection samples, m is the total number of feature types held by the first party and the second party, and b is the number of buckets for each feature. In tree model calculations, generally n>>m*b, so the method in this specification can better improve the performance of leaf node weight privacy calculation.

[0091] Next, a method for determining the weight value of a leaf node of a tree model shown in this specification will be described in conjunction with a specific embodiment. The method involves two parties, namely the first party and the second party. Next, this specification will be described with the execution method of the first party. For the application scenario of this method, the tree model trained by this method can be used to classify the financial credit risk of users. For example, the first party can be a bank, and the second party can be a party that records the transaction data of each user.

[0092] Before executing the method steps shown in this specification, the two parties may first jointly train the tree model to obtain the splitting points of each non-leaf node, and obtain a tree model of the weight value of the leaf node to be determined. Specifically, the first party may obtain multiple intersection samples of the first party and the second party in advance through a jointly executed privacy intersection with the second party, and bucket the intersection samples according to the feature values, and train with the second party using the bucketed intersection samples to obtain the splitting points of each non-leaf node.

[0093] Next, the above process will be explained through a specific example. It should be noted that the following example does not limit this specification, and it is also possible to use other two methods in the related technology to jointly train the tree model.

[0094] First Party P A and the second party P B A sample set with different characteristics, where P A Own A Features, P B Own m B Features and label information Y, m = m A +m B The two parties can use the private set intersection (PSI) method to determine multiple intersection samples based on the primary key information of each sample. The primary key information is the unique identification information that can distinguish the sample, such as identity information, mobile phone number, etc. For the same sample, the primary key of the sample owned by different participants is the same. The intersection sample is the sample held by both parties.

[0095] After both parties obtain the intersection samples through private intersection, they can perform bucketing operations based on the feature values ​​of each intersection sample. The specific meaning of bucketing operations is detailed in the previous article and will not be repeated here. For example, the first party can use m A The value of each feature in the features is used to determine the bucket corresponding to each feature of each intersection sample. In this specification, each feature can be divided into b buckets.

[0096] Then, the two parties can continue to use the bucketed data to train the tree model. In the specific training process, the number of trees and the depth of the trees can be preset, and each tree can be trained separately. In addition, in order to prevent overfitting, after training a tree, it can also be determined whether to train the next tree based on the difference between the predicted value and the label value.

[0097] The training process for the kth tree may include:

[0098] First, the two parties can perform joint derivation based on the predicted value and label value of each intersection sample according to the formula shown in formula (3), and the two parties can each obtain: the ciphertext of the first-order derivative value and the second-order derivative value of each intersection sample.

[0099] The predicted value is the predicted value output by the first k-1 trees before training the tree. In an optional implementation, both the predicted value and the label value can be held by two participants in the form of secret sharing shards, and the two participants obtain the shards of the first-order derivative value and the second-order derivative value according to the four arithmetic operations of secret sharing.

[0100] Among them, Secret Sharing (SS) is a commonly used encryption data sharing primitive and is widely used in the privacy computing process. Its basic principle is to split a secret (such as a key) into multiple shares (shares), also called shards, and give the multiple shares to different people for safekeeping. Only when more than a threshold number of people merge their shares can the secret be recovered; no information about the secret can be recovered from shares less than the threshold number. In multi-party secure computing, the threshold number is usually the same as the number of participants. For two participants P0 and P1, arithmetic secret sharing is performed by splitting the plaintext value x of length l bits into two random number shares <x>0∈2 l and <x>1∈2 l Stored by P0 and P1 respectively, and satisfying x=( <x> 0+ <x>1) mod2 ; For the convenience of description, this patent uses <x>Describe the ciphertext corresponding to the plaintext x, and the ciphertext <x>0 and <x>1 is held by P0 and P1 respectively. Secret sharing technology supports the four arithmetic operations of addition, subtraction, multiplication and division on the ciphertext.

[0101] Second, for each non-leaf node, you can perform the following steps:

[0102] (1) Both parties use a secret sharing-to-homomorphic encryption protocol to obtain the homomorphic ciphertext of the first-order derivative value and the homomorphic ciphertext of the second-order derivative value of each intersection sample.

[0103] Specifically, for the homomorphic ciphertext obtained by the first party, it can be: the second party locally encrypts the first-order derivative value fragment and the second-order derivative value fragment using its own public key, and sends the encrypted derivative value fragment to the first party. The first party performs a homomorphic addition operation on the homomorphic ciphertext of the received first-order derivative value fragment and the first-order derivative value fragment held locally to obtain the homomorphic ciphertext of the first-order derivative value. Finally, the first party can obtain: {[g i ] B ,[h i ] B } i∈[1,n] g is the first-order derivative value, h is the second-order derivative value, and n is the total number of intersection samples.

[0104] Homomorphic encryption is an encryption method commonly used in privacy computing. Compared with ordinary encryption, homomorphic encryption has the property of homomorphism, that is, it can perform calculations on encrypted data. For example, by performing homomorphic addition operations on the homomorphic encrypted ciphertext [a] of a and the unencrypted data b, the ciphertext [a+b] of a+b can be obtained, and a, b or a+b will not be leaked during the operation, and the decryption key does not need to be used.

[0105] (2) Both parties are local: Based on the bucket information of each intersection sample and the sample distribution of the current node, for each bucket, the derivative values ​​of the intersection samples that fall into the current node and belong to the bucket are accumulated.

[0106] Specifically, as mentioned above, the sample distribution can be shared with the computational secret. After determining the split point of each non-leaf node, the sample distribution of the child nodes of each node needs to be updated. Therefore, since the sample distribution has been used to update the first-order derivative value and the second-order derivative value, the specific step can be: for each bucket, according to the bucket number of each intersection sample, accumulate {[g i ] B ,[h i ] B } i∈[1,n] In {[g i ] B ,[h i ] B } i∈[1,n] The corresponding plaintext in is 0, so even if it is accumulated, it will not affect the final result.

[0107] (3) Both parties obtain the shards of the accumulated results corresponding to each bucket according to the Homomorphic Encryption to Arithmetic Secret Sharing (H2A) protocol. <G i,q >, <H i,q >} i∈[1,m],q∈[1,b] G represents the accumulated result of the first-order derivative value g, and h represents the accumulated result of the second-order derivative value.

[0108] Since the first party holds the m corresponding to the first party A The cumulative result of each bucket of each feature in the features, so H2A is needed here so that both parties can obtain: A The sharding of the cumulative result of each bucket of each feature in the features. Similarly, H2A is also needed to make: B The shards of the accumulated results of each bucket of each feature in the features. Then merge them to get { <G i,q >, <H i,q >} i∈[1,,],q∈[1,b] .

[0109] For ease of understanding, a specific example of H2A is given here, which does not limit the present specification.

[0110] Assume that the first party has the homomorphic ciphertext of the first data. The two parties generate random numbers f1 and f2 respectively. The second party homomorphically encrypts f2 and sends the homomorphic ciphertext of f2 to the first party. The first party generates two secret sharing shards of f1 and sends the shards to the other party. For example, if the first party generates shard 1 and shard 2 of f1, it can keep shard 1 and send shard 2 to the second party.

[0111] The first party can calculate the homomorphic ciphertext of the first data, the homomorphic ciphertext of f2, and the homomorphic sum of f1, and send the homomorphic sum to the second party for decryption. The second party obtains the plaintext of the sum of the first data, f1, and f2. Furthermore, the second party can obtain the plaintext of the sum of the first data and f1 based on the plaintext of f2 held locally, which is referred to as the second data here. Furthermore, the second party can generate two fragments of the second data and send the corresponding fragments to the first party. Further, the two parties use the fragments of the second data held by each party, subtract the fragment of f1, and obtain the fragments of the first data held by each party.

[0112] (4) Using the gain value calculation formula shown in formula (8), calculate the gain value slices corresponding to each bucket.

[0113] First, both parties can first <G i,q >, <H i,q >} i∈[1,m],q∈[1,b] Calculate the derivative cumulative value slices corresponding to each bucket.

[0114] For the first-order derivative, the derivative accumulation value slice can include the left derivative accumulation value slice <gl>And the right derivative cumulative value slice <gr>Specifically in this scenario, the bucket threshold corresponding to each bucket is used as the dividing point, and the accumulated result of the derivative value slices of the intersection samples whose characteristic values ​​are less than the bucket threshold is used as the left derivative accumulated value corresponding to the bucket. The accumulated result of the derivative value slices of other intersection samples falling into the node is used as the right derivative accumulated value corresponding to the bucket.

[0115] In other words, The second-order derivative value is similar and will not be repeated here.

[0116] After determining the derivative cumulative value shards corresponding to each bucket, the first party and the second party can use the four arithmetic operations of secret sharing according to formula (8) to calculate the gain value shards corresponding to each bucket. <gain>.

[0117] (5) Both parties use the privacy extreme value solution method to determine <gain>The maximum gain value in , and the secret shard of the bucket number corresponding to the maximum gain value. The shard of the bucket number is used in the following text<max_idx> Refers to. And through privacy comparison, both parties can obtain<max_idx> and m A ×nb.<max_idx> Greater than m A ×nb, it means that the feature corresponding to the split point is the feature of the second party.<max_idx> to the second party, and vice versa to the first party.

[0118] When the split point is disclosed to the first party, the first party can determine that the split point is the jth bucket of the i-th feature according to max_idx=i×nb+j. The split condition of the non-leaf node is further determined based on the bucket thresholds corresponding to each bucket held locally. The split condition specifically includes: feature type and feature value. The feature type can be i, and the feature value is the bucket threshold corresponding to the jth bucket of the i-th feature.

[0119] Through the above method, the splitting conditions corresponding to each non-leaf node can be obtained, and a tree model of the weight values ​​of the leaf nodes to be determined can be obtained.

[0120] Third, for the parent node of the first leaf node, execute:

[0121] Next, the steps executed when the first party owns the split point of the parent node will be described. The methods executed by other leaf nodes are similar and will not be repeated. The first party owns the split point, that is, the first party owns the target bucket number corresponding to the split point of the parent node. It is easy to understand that when the second party owns the split point of the parent node, the specific steps executed are similar and will not be repeated. The specific flowchart is as follows: Figure 2 As shown, including:

[0122] Step 201, taking the target bucket number corresponding to the splitting point as input, and obtaining a second slice of the derivative cumulative value corresponding to the target bucket number after obfuscation from the derivative cumulative value slices corresponding to multiple bucket numbers held by the second party through an oblivious transmission method jointly performed with the second party.

[0123] Among them, according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose eigenvalues ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula.

[0124] Correspondingly, the second party takes the derivative cumulative value slices corresponding to the multiple bucket numbers that have been obfuscated as input, and jointly executes the oblivious transmission method with the first party, so that the first party obtains the second slice of the derivative cumulative value of the target bucket number corresponding to the splitting point.

[0125] Specifically, in this step, through obfuscation processing and multiple-choice inadvertent transmission methods, the second party cannot know the target bucket number, and the first party cannot obtain all the derivative cumulative value fragments held by the second party, so that both parties obtain new fragments of the derivative cumulative value corresponding to the target bucket number.

[0126] The reason why the target bucket number needs to be kept secret from the second party is that if the target bucket number is leaked to the second party, the second party may obtain the private information of the intersection sample, such as the feature value of the intersection sample, through attack means. The reason why the first party cannot obtain the derivative cumulative value slices held by the second party is that for the first party, if it obtains all the derivative cumulative value slices held by the second party, it may obtain the derivative values ​​of each intersection sample. According to formula (3), the derivative value is calculated based on the label value and the predicted value. The label value of each intersection sample held by the second party may be inferred through the derivative value, especially in the process of training the first tree, which leads to the leakage of private data.

[0127] This step will be described in detail below.

[0128] The target bucket number corresponding to the split point corresponds to the max_idx corresponding to the parent node mentioned above. For the parent node, when calculating the split point of the parent node, the shards of the accumulated results corresponding to each bucket are used to calculate the derivative cumulative value shards corresponding to each bucket. The specific calculation process of the derivative value shards and the derivative cumulative value shards is detailed in the previous article and will not be repeated here.

[0129] The derivative cumulative value shard obtained here can be a left derivative cumulative value shard or a right derivative cumulative value shard. That is, this step can be performed for the left derivative cumulative value shard alone, or for the right derivative cumulative value shard alone. In addition, this step can also be performed for the right derivative cumulative value shard and the left derivative cumulative value shard respectively, and the weight values ​​of the first leaf node and the second leaf node can be calculated using the two respectively.

[0130] The first leaf node at different positions corresponds to different derivative cumulative value shards. For example, if the first leaf node is on the left side of the parent node, that is, the first leaf node is a left leaf node, then the derivative cumulative value shard is: the sum of the derivative value shards of the intersection samples whose characteristic values ​​are less than / less than or equal to the bucket threshold corresponding to the bucket number, that is, the left derivative cumulative value shard. On the contrary, if the first leaf node is on the right side of the parent node and the first leaf node is a right leaf node, the derivative cumulative value shard is: the sum of the derivative value shards of the intersection samples whose characteristic values ​​are greater than or equal to / greater than the bucket threshold corresponding to the bucket number, that is, the right derivative cumulative value shard.

[0131] Among them, the left derivative cumulative value shard of the j-th bucket of the i-th feature is: the sum of the derivative value shards of the intersection samples whose feature value of the i-th feature is less than / less than or equal to: the bucket threshold corresponding to the j-th bucket of the i-th feature. Correspondingly, the right derivative cumulative value shard of the j-th bucket of the i-th feature is: the sum of the derivative value shards of the intersection samples whose feature value of the i-th feature is greater than / greater than or equal to: the bucket threshold corresponding to the j-th bucket of the i-th feature.

[0132] In an optional embodiment, the derivative value includes the first-order derivative value and the second-order derivative value of the loss function, the derivative cumulative value shard includes the first-order derivative cumulative value shard and the second-order derivative cumulative value shard, the first new shard mentioned below includes a first sub-shard and a second sub-shard, the first sub-shard is obtained according to the first-order derivative cumulative value array, and the second sub-shard is obtained according to the second-order derivative cumulative value.

[0133] The above steps may be performed on the first-order derivative cumulative value slice and the second-order derivative cumulative value slice respectively, and the first sub-slice and the second sub-slice may be obtained respectively through oblivious transmission.

[0134] In the above case, combined with a specific example, it can be: the first party and the second party each hold: the derivative accumulation value slice array used to calculate the gain value of m*b buckets during the calculation of the parent node split point { <G L [j][k]>, <G R [j][k]>, <H L [j][k]〉, <H R [j][k]>} j∈[m],k∈[b] .Should <G L > and the aforementioned <gl>The same meaning, <G R > and the previous <gr>Same meaning.

[0135] Among them, m is the number of feature types, b is the number of buckets corresponding to a feature, <G L [j][k]> means: the first-order left derivative cumulative value slice of the k-th bucket of the j-th feature. The meanings of other symbols are similar and will not be repeated here. Among them, although the k here has the same identifier as the k-th tree in the previous text, the meaning is different. This also corresponds to Figure 3 In the example, the first and second parties hold slices of the derivative accumulation array, respectively. The meaning of the derivative sum value will be explained below.

[0136] After explaining the derivative accumulation value slicing in detail, the oblivious transfer method will be explained in detail.

[0137] First, for the convenience of understanding, let's briefly introduce oblivious transfer. Oblivious transfer (OT) is a two-party cryptographic protocol widely used in nonlinear scenarios of secure multi-party computing. 1-out-of-2 OT is a common oblivious transfer. The specific process is that the data party (Receiver) has two secrets {m0, m1} as protocol inputs, and the requesting party (Sender) takes the target value c∈{0, 1} as input. In the end, the Sender can and only can obtain the secret value mc, and the Receiver cannot obtain any useful information. 1-out-of-n OT is an oblivious transfer protocol designed on the basis of 1-out-of-2OT to satisfy the secret 1-out-of-n requirement. Its definition is that the data party Receiver has n secrets {m0,m1,…,m(n-1)} as protocol input, and the requesting party Sender takes the target value c∈{0,1,…,n-1} as input. In the end, the Sender can and only can obtain the secret value mc, while the Receiver cannot obtain any useful information.

[0138] In the embodiment of this specification, the first party is the requester Sender, and the second party is the data receiver. The oblivious transmission process is a multiple-choice oblivious transmission process, in which the first party takes the target bucket number as input, and the second party takes the obfuscated derivative cumulative value slice as input. The first party can obtain the derivative cumulative value slice after obfuscation corresponding to the target bucket number.

[0139] The obfuscation method will be described here through an embodiment, and this example does not limit the present specification.

[0140] Specifically, the derivative cumulative value slices can be obfuscated by random numbers. For example, the second party can generate a first random number and calculate the difference between the derivative cumulative value slices corresponding to each bucket number and the first random number to obtain a second array.

[0141] Furthermore, the first party takes the target bucket number as input, and obtains the second slice corresponding to the target bucket number through the oblivious transmission method jointly executed with the second party; wherein in the oblivious transmission, the second party takes the second array as input, and the second array is calculated based on the difference between the derivative cumulative value slices corresponding to each bucket number and the first random number.

[0142] In addition, when there are first-order derivative cumulative value shards and second-order derivative cumulative value shards, the difference between the first-order derivative cumulative value shards and the first random number corresponding to each bucket number, and the difference between the second-order derivative cumulative value shards and the second random number can be calculated respectively. The first random number and the second random number can be the same or different, and this specification does not limit this.

[0143] Next, we will use a specific example to illustrate this specification. As mentioned above, each party holds an array of accumulated values ​​to the user { <G L [j][k]>, <G R [j][k]>, <H L [j][k]>, <H R [j][k]>} j∈[m],k∈[bin] On this basis, specifically, the second party P B Randomly generate two random numbers rg and rh, and then put the array <G L -rg> B and <H L -rh> B As the plaintext data set input of the two ordinary m*bin choose 1 oblivious transfer protocols, the first party P A Use max_idx as the input of the selection value of the two m*bin select 1 oblivious transfer protocols. After completing the oblivious transfer protocol, P A get <G L [max_idx]-rg> B and <H L [max_idx]-rh> B . <G L [max_idx]-rg> B and <H L [max_idx]-rh> B This is the second fragment after obfuscation. This also corresponds to Figure 3 The second party generates random numbers rg and rh, and the contents in the red box of the secret sharing method of multiple-choice oblivious transmission. For the convenience of description, max_idx is abbreviated as idx, and bin is also referred to as b in this specification, that is, the number of buckets corresponding to each feature.

[0144] Step 203: determine a first new shard based on the sum of the second shard and the first shard, and use the first new shard and the second party to jointly calculate the weight value of the first leaf node corresponding to the parent node.

[0145] The first shard is a derivative cumulative value shard corresponding to a target bucket number among the derivative cumulative value shards corresponding to multiple bucket numbers held by the first party.

[0146] Correspondingly, the second party uses the data for obfuscation processing as the second new shard, and uses the second new shard to jointly calculate the weight value of the first leaf node corresponding to the parent node with the first party.

[0147] Specifically, the first party can obtain the first new shard based on the first new shard and the derivative cumulative value shard corresponding to the target bucket number held by the first party. The second party uses the data for obfuscation processing as the second new shard. Next, based on the first new shard and the second new shard, the four arithmetic operations of secret sharing are used to obtain the weight value of the leaf node corresponding to the parent node.

[0148] In connection with the specific example in the previous article, here we take the left derivative cumulative value sharding as an example, the first new shard is: <g1> A =<G L [idx]-rg> B +<G L [idx]> A =G L [idx]-rg, <h1> A = <H L [idx]-rh> B + <H L [idx]> A =H L [idx]-rh. For the sake of simplicity, idx here is the abbreviation of max_idx. <g1> A It can be the first sub-shard mentioned above, <h1> A It can be the second sub-shard mentioned above.

[0149] Correspondingly, the second new shard is <g> B =rg, <h> B =rh.

[0150] As described above, for the left derivative cumulative value slice and the right derivative cumulative value slice, both can be processed by the method of step 201 and step 203. In addition, only the left derivative cumulative value slice or the right derivative cumulative value slice can be processed. In this case, the other derivative cumulative value slice can be obtained by the following method:

[0151] The sum of the derivative value slices of all intersection samples corresponding to the parent node minus the value obtained by subtracting the first new slice is used as the third new slice; the weight value of the second leaf node corresponding to the parent node is calculated jointly with the second party using the third new slice.

[0152] Correspondingly, the second party also: takes the sum of the derivative value slices of all intersection samples corresponding to the parent node, minus the value obtained by the second new slice as the fourth new slice; uses the fourth new slice to jointly calculate the weight value of the second leaf node corresponding to the parent node with the second party.

[0153] For any bucket of any feature, that is, for any values ​​of i and k, the following conditions are satisfied: <G ALL >= <G L [j][k]>+ <G R [j][k]> and <H ALL >= <H L [j][k]>+ <H R [j][k]> is a fixed value. In this way, <G ALL >The difference between the first new fragment and the third new fragment is obtained. The above method can reduce the number of inadvertent transmissions. Since the addition and subtraction speed of secret sharing is faster than that of no transmission, the computing efficiency can be improved.

[0154] The sum of the derivative value slices of all the intersection samples corresponding to the parent node mentioned above is also the sum of the derivative value slices of all the intersection samples corresponding to the parent node mentioned above. <G ALL > and / or <H ALL >, which has the same meaning as the sum of derivatives mentioned above.

[0155] In addition, for the first leaf node and the second leaf node, the left derivative cumulative value slice is used for the weight value calculation of the left leaf node, and the right derivative cumulative value slice is used for the weight value calculation of the right leaf node. Correspondingly, in the case where the derivative cumulative value slice in the above step 201 is the left derivative cumulative value slice, the first leaf node above is the left leaf node, and the second leaf node is the right leaf node. In the case where the derivative cumulative value slice in the above step 201 is the right derivative cumulative value slice, the first leaf node above is the right leaf node, and the second leaf node is the left leaf node.

[0156] Next, we will explain this step in detail with the specific example in the previous article. In the previous example, the first new fragment of the left leaf node was obtained by inadvertent transmission. <g1>and <h1>, corresponding to the right leaf node, both parties can design the <G ALL >= <G L [j][k]>+ <G R [j][k]>, <H ALL >= <H L [j][k]>+ <H R [j][k]> are all fixed values, so they can be directly used <g1>and <h1>Calculate the cumulative derivative value required for the node weight calculation <g2>and <h2>Specifically, P A Compute the third new shard locally <g2> A =<G ALL > A - <g1> A , <h2> A =<H ALL > A -< / h2> <h1> A ;P B Compute the fourth new shard locally <g2> B =<G ALL > B - <g1> B , <h2> B =<H ALL > B -< / h2> <h1> B The above process corresponds to Figure 3 The two parties perform local calculations respectively. <g2>and the process of <H2.

[0157] Furthermore, the addition and division calculations of secret sharing can be utilized, and both parties respectively hold { <g1> , <h1>}and{ <g2> , <h2>}Enter the leaf node weight ciphertext value calculation formula Get the left leaf node to calculate the weight value Calculate the weight value with the right leaf node Among them, λ is a clear value negotiated by both parties.

[0158] The above method can complete the training of the tree model. This process corresponds to Figure 3 The two parties jointly calculate the weight values ​​of the left and right leaf nodes. Figure 3 In the example, the first party and the second party perform the following steps locally: A and P B The boxes below the box correspond to the steps, and the boxes in the middle represent the steps performed by both parties.

[0159] In the above method, considering that the derivative value shards updated in the related art are only used for leaf node weight calculation, and the derivative accumulation used for leaf node weight calculation is used in the calculation of the parent node split point. Based on this, the present specification eliminates the step with the greatest performance impact in the previous method, that is, the O(n) secret multiplication calculations required to update the leaf node sample derivative value shards. <g1> , <h1>and <g2> , <h2>The calculation result is actually the characteristic of the left and right derivative accumulation values ​​corresponding to the parent node split point idx. A multiple-choice oblivious transmission method based on secret sharing value is designed to obtain the derivative accumulation value required for leaf node weight calculation. <g1> , <h1>and <g2> , <h2>In theoretical performance analysis, for a leaf node, this specification uses an m*b-choose-one oblivious transmission with a computational time and communication volume of O(m*b) order to replace the secret multiplication calculation with a computational time and communication volume of O(n) order, thereby improving the performance of leaf node weight privacy calculation.

[0160] In addition, the present specification also provides a data processing method, which is applied to a first party, and the method also involves a second party. In the method, the first party and the second party respectively have a first slice and a second slice of each value in a target array, and the first party has a position identifier of a required target value in the target array, and the method includes:

[0161] Taking the location identifier as input, jointly performing one-from-many oblivious transfer with the second party, obtaining a first value corresponding to the location identifier from multiple values ​​held by the second party; the multiple values ​​are the differences between the second slices of each value in the target array and the first random number, and the first value is the difference between the second slice of the target value and the first random number;

[0162] A first new fragment of the target value is obtained according to the sum of the first fragment of the target value and the first value; wherein the second party obtains a second new fragment of the target value according to the first random number.

[0163] The above method corresponds to the process in which the two parties jointly use oblivious transmission to extract new fragments. The specific implementation method is described in the previous article and will not be repeated here.

[0164] This method proposes a multi-choice oblivious transmission method for secret shared values ​​based on random number confusion, which solves the problem that oblivious transmission cannot be performed when both the input data set and the output data set are ciphertexts, and solves the problem of quickly obtaining the ciphertext value of a certain position.

[0165] This specification also provides a tree model leaf node weight value determination device, which is applied to the first party, and obtains multiple intersection samples of the first party and the second party through a joint execution of privacy intersection in advance, and buckets the intersection samples according to the feature value, and uses the bucketed intersection samples to train with the second party to obtain the splitting points of each non-leaf node, for the parent node of the first leaf node, when the first party has the splitting point of the parent node. Figure 4 As shown, the device comprises:

[0166] The first oblivious transmission module 410 is configured to take the target bucket number corresponding to the split point as input, and obtain a second slice of the derivative cumulative value corresponding to the target bucket number after the obfuscation process from the derivative cumulative value slices corresponding to the multiple bucket numbers held by the second party through the oblivious transmission method jointly performed with the second party; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula;

[0167] The first weight value calculation module 420 is used to determine the first new shard based on the sum of the second shard and the first shard, and use the first new shard to jointly calculate the weight value of the first leaf node corresponding to the parent node with the second party; the first shard is the derivative cumulative value shard corresponding to the target bucket number among the derivative cumulative value shards corresponding to the multiple bucket numbers held by the first party.

[0168] In an optional embodiment, the first oblivious transmission module 410 is specifically used to take the target bucket number as input, and obtain the second slice corresponding to the target bucket number through an oblivious transmission method jointly executed with a second party; wherein in the oblivious transmission, the second party takes the second array as input, and the second array is calculated according to the difference between the derivative cumulative value slices corresponding to each bucket number and the first random number.

[0169] In an optional embodiment, the method also includes a third weight value calculation module 430 (not shown in the figure), which is used to take the sum of the derivative value fragments of all intersection samples corresponding to the parent node minus the value obtained by subtracting the first new fragment as the third new fragment; using the third new fragment, the weight value of the second leaf node corresponding to the parent node is calculated jointly with the second party.

[0170] In an optional embodiment, the derivative value includes the first-order derivative value and the second-order derivative value of the loss function, the derivative cumulative value shard includes the first-order derivative cumulative value shard and the second-order derivative cumulative value shard, the first new shard includes a first sub-shard and a second sub-shard, the first sub-shard is obtained according to the first-order derivative cumulative value array, and the second sub-shard is obtained according to the second-order derivative cumulative value.

[0171] This specification also provides another tree model leaf node weight value determination device, which is applied to the second party, and obtains multiple intersection samples of the first party and the second party through a joint execution of privacy intersection with the first party in advance, and buckets the intersection samples according to the feature value, and trains with the first party using the bucketed intersection samples to obtain the splitting points of each non-leaf node, for the parent node of the first leaf node, when the first party has the splitting point of the parent node. Figure 5 As shown, the device comprises:

[0172] The second oblivious transmission module 510 is used to take the derivative cumulative value slices corresponding to the multiple bucket numbers that have been obfuscated as input, and jointly perform the oblivious transmission method with the first party, so that the first party obtains the second slice of the derivative cumulative value of the target bucket number corresponding to the split point; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula;

[0173] The second weight value calculation module 520 is used to use the data for obfuscation processing as the second new fragment, and use the second new fragment to jointly calculate the weight value of the first leaf node corresponding to the parent node with the first party.

[0174] In an optional embodiment, the device also includes an obfuscation processing module 530 (not shown in the figure), which is used to generate a first random number, and calculate the difference between the derivative cumulative value slices corresponding to each bucket number and the first random number to obtain a second array; the second new slice is the first random number.

[0175] In the 1990s, it was very clear whether the improvement of a technology was a hardware improvement (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or a software improvement (improvement of the method flow). However, with the development of technology, many improvements in the method flow today can be regarded as direct improvements in the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs. The original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0176] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.

[0177] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, this specification does not exclude that with the development of computer technology in the future, the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0178] Although one or more embodiments of the present specification provide method operation steps as described in the embodiments or flow charts, more or less operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps, and does not represent the only execution order. When the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment). The term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, product or equipment including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such process, method, product or equipment. In the absence of more restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or equipment including the elements. For example, if the words first, second, etc. are used to represent the name, they do not represent any specific order.

[0179] For the convenience of description, the above devices are described in various modules according to their functions. Of course, when implementing one or more of the present specification, the functions of each module can be implemented in the same or more software and / or hardware, or the module implementing the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0180] This specification is described with reference to the flowcharts and / or block diagrams of the methods, apparatus (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0181] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0182] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0183] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0184] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0185] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0186] It should be understood by those skilled in the art that one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, one or more embodiments of the present specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0187] One or more embodiments of the present specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0188] Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. In the description of this specification, the description of the reference term "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representation of the above terms does not necessarily target the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, in the absence of mutual contradiction, a person skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0189] The above description is only an example of one or more embodiments of the present specification and is not intended to limit one or more embodiments of the present specification. For those skilled in the art, one or more embodiments of the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims.< / h2> < / g2> < / h1> < / g1> < / h2> < / g2> < / h1> < / g1> < / h2> < / g2> < / h1> < / g1> < / h1> < / g1> < / g2> < / h1> < / g1> < / g2> < / h2> < / h1> < / h1> < / h> < / g> < / h1> < / h1> < / gr> < / gl> < / gain> < / gain> < / gr> < / gl> < / x> < / x> < / x> < / x> < / x> < / x> < / x> < / h2> < / g2> < / h1> < / g1> < / h2> < / h2> < / h2> < / h> < / g> < / h> < / g> < / h1> < / h1> < / h1> < / h> < / g> < / h> < / g> < / h> < / g> < / h> < / g> < / h> < / g> < / x> < / x> < / x>

Claims

1. A method for determining the weight value of a leaf node of a tree model, applied to a first party, the method also involves a second party, in advance, obtaining a plurality of intersection samples of the first party and the second party by jointly performing a privacy intersection with the second party, and bucketing the intersection samples according to feature values, and training with the second party using the bucketed intersection samples to obtain splitting points of each non-leaf node. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the method includes: Taking the target bucket number corresponding to the split point as input, and obtaining a second slice of the derivative cumulative value corresponding to the target bucket number after obfuscation from the derivative cumulative value slices corresponding to the multiple bucket numbers held by the second party through the oblivious transfer method jointly performed with the second party; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula; A first new shard is determined based on the sum of the second shard and the first shard, and the first new shard is used to jointly calculate the weight value of the first leaf node corresponding to the parent node with the second party; the first shard is a derivative cumulative value shard corresponding to the target bucket number among the derivative cumulative value shards corresponding to multiple bucket numbers held by the first party.

2. The method according to claim 1, wherein the step of taking the target bucket number corresponding to the split point as input, and obtaining the derivative cumulative value second slice corresponding to the target bucket number after obfuscation from the derivative cumulative value slices corresponding to the multiple bucket numbers held by the second party through the oblivious transfer method jointly performed with the second party, comprises: Taking the target bucket number as input, obtaining a second fragment corresponding to the target bucket number through an oblivious transfer method jointly performed by the second party; In the oblivious transmission, the second party takes the second array as input, and the second array is calculated based on the difference between the derivative cumulative value slices corresponding to each bucket number and the first random number.

3. The method according to claim 1, further comprising: The value obtained by subtracting the first new slice from the sum of the derivative value slices of all intersection samples corresponding to the parent node is used as the third new slice; The third new shard is used to jointly calculate the weight value of the second leaf node corresponding to the parent node with the second party.

4. According to the method described in claim 1, the derivative value includes the first-order derivative value and the second-order derivative value of the loss function, the derivative cumulative value shard includes the first-order derivative cumulative value shard and the second-order derivative cumulative value shard, the first new shard includes the first sub-shard and the second sub-shard, the first sub-shard is obtained according to the first-order derivative cumulative value array, and the second sub-shard is obtained according to the second-order derivative cumulative value.

5. A method for determining the weight value of a leaf node of a tree model, applied to a second party, the method also involves a first party, obtaining a plurality of intersection samples of the first party and the second party by jointly performing a privacy intersection with the first party in advance, bucketing the intersection samples according to feature values, and training with the first party using the bucketed intersection samples to obtain the splitting points of each non-leaf node. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the method includes: Taking derivative cumulative value slices corresponding to multiple bucket numbers that have been obfuscated as input, jointly executing the oblivious transfer method with the first party, so that the first party obtains a second slice of the derivative cumulative value of the target bucket number corresponding to the split point; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula; The data used for obfuscation processing is used as a second new shard, and the weight value of the first leaf node corresponding to the parent node is calculated jointly with the first party using the second new shard.

6. The method according to claim 5, wherein the obfuscation process comprises: Generate a first random number, and calculate the difference between the derivative cumulative value slices corresponding to each bucket number and the first random number, to obtain a second array; The second new fragment is the first random number.

7. A tree model leaf node weight determination device, applied to a first party, obtaining a plurality of intersection samples of the first party and the second party by jointly executing a privacy intersection in advance with a second party, and performing bucket processing on the intersection samples according to feature values, and using the bucketed intersection samples for training with the second party to obtain splitting points of each non-leaf node, for the parent node of the first leaf node, when the first party has the splitting point of the parent node, the device comprises: a first oblivious transmission module, configured to take the target bucket number corresponding to the splitting point as input, and obtain, from the derivative cumulative value slices corresponding to the plurality of bucket numbers held by the second party, a second slice of the derivative cumulative value corresponding to the target bucket number after obfuscation through an oblivious transmission method jointly performed with the second party; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula; The first weight value calculation module is used to determine a first new shard based on the sum of the second shard and the first shard, and use the first new shard to jointly calculate the weight value of the first leaf node corresponding to the parent node with the second party; the first shard is a derivative cumulative value shard corresponding to a target bucket number among the derivative cumulative value shards corresponding to multiple bucket numbers held by the first party.

8. A device for determining the weight value of a leaf node of a tree model, applied to a second party, obtaining a plurality of intersection samples of the first party and the second party by jointly executing a privacy intersection with the first party in advance, bucketing the intersection samples according to feature values, and training with the first party using the bucketed intersection samples to obtain the splitting points of each non-leaf node. For the parent node of the first leaf node, when the first party has the splitting point of the parent node, the device comprises: A second oblivious transmission module is configured to take derivative cumulative value slices corresponding to a plurality of bucket numbers that have been obfuscated as input, and jointly perform an oblivious transmission method with the first party, so that the first party obtains a second slice of the derivative cumulative value of the target bucket number corresponding to the split point; according to the position of the first leaf node, the derivative cumulative value slice corresponding to each bucket number includes the sum of the derivative value slices of the intersection samples whose characteristic values ​​are less than or greater than the bucket threshold corresponding to the bucket number, and the derivative value slices are calculated according to the loss function derivation formula; The second weight value calculation module is used to use the data for obfuscation processing as the second new fragment, and use the second new fragment to jointly calculate the weight value of the first leaf node corresponding to the parent node with the first party.

9. A computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the steps of any one of the methods of claims 1 to 6.

10. A computing device comprising a memory and a processor, wherein the memory stores executable codes, and when the processor executes the executable codes, the method according to any one of claims 1 to 6 is implemented.