Federated learning based prediction method and apparatus

CN115526337BActive Publication Date: 2026-10-30DOUYIN VISION CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211245847.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-12
Publication Date
2026-10-30
Estimated Expiration
2042-10-12

AI Technical Summary

Benefits of technology

[0008]根据本公开的各种实施例,本公开的实施例能够有效地减少联邦学习中不同处理方之间的数据通信开销,从而提高预测效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115526337B_ABST
    Figure CN115526337B_ABST
Patent Text Reader

Abstract

According to an embodiment of the present disclosure, a prediction method, device, electronic equipment and computer storage medium based on federated learning are provided. The method described herein comprises: processing input data based on local parameter information of a tree model to determine first prediction information; obtaining second prediction information, the second prediction information being generated by processing the input data based on remote parameter information of the tree model; and determining a prediction result for the input data based on the first prediction information and the second prediction information. In the above manner, the embodiments of the present disclosure can effectively reduce the data communication overhead between different processing parties in federated learning, thereby improving processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The exemplary embodiments disclosed herein relate generally to the field of computers, and more particularly to prediction methods, apparatuses, electronic devices, and computer-readable storage media based on federated learning. Background Technology

[0002] With the development of computer technology, machine learning methods have been gradually applied to various aspects of people's lives. In some cases, considering data security or privacy, federated learning has become an important branch of machine learning.

[0003] Federated learning is a distributed machine learning technique. Its core idea is to build a global model based on virtual fused data by training a model in a distributed manner across multiple data sources that have local data, without exchanging local individual or sample data, but only by exchanging model parameters or intermediate results. Summary of the Invention

[0004] In a first aspect of this disclosure, a prediction method based on federated learning is provided. The method includes: processing input data based on local parameter information of a tree model; determining first prediction information, the first prediction information indicating at least a first set of outputs among a plurality of candidate outputs of the tree model, the first set of outputs being determined to be mismatched with the input data based on the local parameter information; obtaining second prediction information, the second prediction information being generated by processing the input data based on distant parameter information of the tree model, the second prediction information indicating at least a second set of outputs among a plurality of candidate outputs of the tree model, the second set of outputs being determined to be mismatched with the input data based on the distant parameter information; and determining a prediction result for the input data based on the first prediction information and the second prediction information.

[0005] In a second aspect of this disclosure, a prediction apparatus based on federated learning is provided. The apparatus includes: a determination module configured to process input data based on local parameter information of a tree model, determining first prediction information, the first prediction information indicating at least a first set of outputs among a plurality of candidate outputs of the tree model, the first set of outputs being determined to be mismatched with the input data based on the local parameter information; an acquisition module configured to acquire second prediction information generated by processing the input data based on remote parameter information of the tree model, the second prediction information indicating at least a second set of outputs among a plurality of candidate outputs of the tree model, the second set of outputs being determined to be mismatched with the input data based on the remote parameter information; and a prediction module configured to determine a prediction result for the input data based on the first prediction information and the second prediction information.

[0006] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.

[0007] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. A computer program is stored on the medium, and the computer program is executed by a processor to implement the method of the first aspect.

[0008] According to various embodiments of this disclosure, the embodiments of this disclosure can effectively reduce the data communication overhead between different processors in federated learning, thereby improving prediction efficiency.

[0009] It should be understood that the content described in this summary section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0011] Figure 1 A schematic diagram of an example environment in which several embodiments of the present disclosure can be implemented is shown;

[0012] Figure 2 A flowchart of a federated learning-based prediction process according to several embodiments of the present disclosure is shown;

[0013] Figure 3A and Figure 3B Examples of tree models according to various embodiments of this disclosure are shown;

[0014] Figure 4 A schematic structural block diagram of an apparatus for molecular analysis according to some embodiments of the present disclosure is shown; and

[0015] Figure 5 A block diagram of a computing device capable of implementing several embodiments of the present disclosure is shown. Detailed Implementation

[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0017] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0018] As discussed above, in federated learning scenarios, different participants need to exchange data to achieve joint predictions. Traditional multi-party privacy-preserving tree model prediction typically involves three stages: feature selection, feature comparison, and path execution. The first two stages require computationally intensive homomorphic encryption or obfuscation circuits for comparison operations, followed by path execution in the tree model. This approach incurs significant communication overhead.

[0019] Based on the implementation of this disclosure, a federated learning-based prediction scheme is proposed. In this scheme, firstly, input data can be processed using a local device with local parameter information based on a tree model to determine first prediction information. The first prediction information indicates at least a first set of outputs among multiple candidate outputs of the tree model, which is determined to be mismatched with the input data based on the local parameter information. Further, second prediction information can be obtained from a remote device. This second prediction information is generated by processing the input data with remote parameter information based on the tree model. The second prediction information indicates at least a second set of outputs among multiple candidate outputs of the tree model, which is determined to be mismatched with the input data based on the remote parameter information. Accordingly, a prediction result for the input data can be determined based on the first and second prediction information.

[0020] According to various embodiments of this disclosure, this disclosure can effectively reduce the data communication overhead between different processors in federated learning by transmitting prediction information indicating mismatched outputs, thereby improving prediction efficiency.

[0021] The following section provides a detailed description of various example implementations of this scheme, with reference to the accompanying drawings.

[0022] Example Environment

[0023] First see Figure 1 The diagram schematically illustrates an environment 100 in which exemplary implementations according to this disclosure may be implemented. Figure 1 As shown, environment 100 includes a first computing device 120 and a second computing device 130 for performing a prediction task based on federated learning.

[0024] In some embodiments, the first computing device 120 and the second computing device 130 may belong to different organizations, and may be physically separated.

[0025] like Figure 1 As shown, the first computing device 120 and the second computing device 130 can, for example, maintain tree models with the same structure. Exemplarily, the first computing device 120 can maintain tree model 140-1, and the second computing device 130 can maintain tree model 140-2.

[0026] In some embodiments, tree models 140-1 and 140-2 may have only some of the parameters of the leaf nodes among the non-leaf nodes. For example, the first computing device 120 may locally have the node parameters of five non-leaf nodes 150 (shown in slashes) of tree model 140-1; the second computing device 130 may locally have the node parameters of two non-leaf nodes 160 (shown in slashes) of tree model 140-2.

[0027] In this situation, neither the first computing device 120 nor the second computing device 130 can complete the prediction task for the input data 110 based on local parameters. Accordingly, the first computing device 120 can determine the prediction result 170 for the input data 110 based on data exchange with the second computing device 130.

[0028] The process by which the first computing device 120 determines the prediction result 170 will be described in detail below.

[0029] Example process

[0030] Figure 2 A flowchart of a federated learning-based prediction process 200 according to some embodiments of the present disclosure is shown. Process 200 can be performed by… Figure 1 This is achieved using the first computing device 120. For ease of discussion, it will be combined with... Figure 1 To describe process 200.

[0031] like Figure 2As shown in block 202, the first computing device 120 processes the input data based on local parameter information of the tree model to determine first prediction information. The first prediction information indicates at least a first set of outputs among a plurality of candidate outputs of the tree model, which is determined to be mismatched with the input data based on the local parameter information.

[0032] The following will be referenced Figure 3A The example tree model 300A shown is used to describe the process by which the first computing device 120 determines the first prediction information.

[0033] like Figure 3A As shown, for tree model 300A, the first computing device 120 may locally have parameters for nodes 310-0, 310-2, 310-3, 310-5, and 310-6. Such parameters are also referred to as local parameters of the first computing device 120.

[0034] In some embodiments, the first computing device 120 may determine the first prediction information based on traversal. Specifically, the first computing device 120 may determine possible traversal paths associated with the tree model based on the local parameter information of the tree model and the input data. Further, the first computing device 120 may determine the first prediction information based on the possible traversal paths.

[0035] In some embodiments, during the process of determining a possible traversal path, for nodes with known parameters in the tree model, the first computing device 120 can determine the traversal direction associated with the first node based on a comparison of input data and node parameters.

[0036] by Figure 3A For example, for node 310-0, if the value of “F0” in the input data is “13” and the value of “F3” in the input feature is “20”, then the first computing device 120 can determine its traversal direction as the branch associated with “yes” based on the comparison between “13” and the node parameter (e.g., “20”), that is, to move forward to node 310-1.

[0037] In some embodiments, during the process of determining possible traversal paths, for a node with unknown parameters in the tree model, the first computing device 120 can determine all directions associated with that node as possible traversal directions associated with that node.

[0038] continue Figure 3A For example, for node 310-1, since the first computing device 120 does not have its node parameters locally, the first computing device 120 can further determine the "yes" and "no" directions as all possible traversal directions of node 310-1, that is, it may advance to both node 310-3 and node 310-4.

[0039] Continuing the above discussion, for node 310-3, the first computing device 120 can determine its traversal direction as moving towards leaf node 310-7 based on the comparison between the input data and the node parameters.

[0040] For node 310-4, due to its node parameter position, the first computing device 120 can traverse in two possible directions: forward to leaf node 310-9 and leaf node 310-10.

[0041] Based on this method, the first computing device 120 can determine leaf nodes 310-7, 310-9 and 310-10 as leaf nodes that may be traversed, which correspond to candidate outputs that may match the input data among multiple candidate outputs.

[0042] Conversely, leaf nodes 310-8, 310-11, 310-12, 310-13, and 310-14 can be determined as mismatched with the input data based on local parameter information.

[0043] In some embodiments, the first prediction information may be represented, for example, as a vector, such as [1, 0, 1, 1, 0, 0, 0, 0], to indicate the probability that each of the leaf nodes 310-7 to 310-14 (corresponding to multiple candidate outputs of the tree model) is selected.

[0044] In some embodiments, to facilitate batch processing of data, the first computing device 120 may also determine the first prediction information based on vectorization generation.

[0045] Specifically, the first computing device 120 can determine node feature vectors associated with multiple nodes associated with the tree model based on local parameter information, wherein the multiple nodes include multiple leaf nodes and multiple non-leaf nodes, and the feature vectors indicate the probability that each of the multiple nodes will be traversed based on the input data.

[0046] for Figure 3A For example, the first computing device 120 can determine the probability that each of the nodes 310-0 to 310-14 will be traversed.

[0047] Specifically, for a particular node, if the node parameters of the parent node of the characteristic node are unknown, the first computing device 120 can set the value corresponding to the second node in the node feature vector to a predetermined value to indicate that the second node may be traversed.

[0048] For example, taking nodes 310-1 and 310-4 as examples, considering the parameter local location of their parent node 310-1, the first computing device 120 can determine these two nodes as potentially traversable.

[0049] Conversely, if the node parameters of the parent node of a particular node are known, the first computing device 120 can determine the value in the node feature vector corresponding to the second node based on the comparison between the input data and the node parameters, so as to indicate whether the second node is traversed according to the input data.

[0050] For example, taking nodes 310-1 and 310-2 as examples, since the node parameters of their parent node 310-0 are always the same locally, the first computing device 120 can determine that node 310-1 may be traversed and node 310-2 will not be traversed based on the comparison between the input data and the node parameters of node 310-0.

[0051] In this way, the first computing device 120 can, for example, determine the node feature vectors for all nodes 310-0 to 310-14, such as [0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0], where the value "1" indicates that the node may be traversed, and the value "0" indicates that the node cannot be traversed. It should be understood that the value of the root node 310-1 can be assigned an appropriate value according to the computational needs, or it may be ignored in the computation, for example.

[0052] Furthermore, the first computing device 120 can determine the initial feature vectors corresponding to the multiple leaf nodes based on the determined node feature vectors. Specifically, for leaf nodes 310-7 to 310-14, their corresponding initial feature vectors are [1, 0, 1, 1, 1, 0, 1, 0].

[0053] Additionally, the first computing device 120 can update the initial feature vector based on the value in the node feature vector corresponding to at least one parent node of a plurality of leaf nodes.

[0054] In some embodiments, for a target leaf node among a plurality of leaf nodes, the first computing device 120 may determine, based on the node feature vector, that at least one of the parent nodes of the target leaf node includes a non-leaf node that is determined not to be traversed; and update the initial feature vector accordingly to indicate that the target leaf node does not match the input data.

[0055] Taking leaf node 310-11 as an example, it includes parent nodes 310-5 and 310-2. The first computing device 120 can determine that the value corresponding to node 310-5 is "1" and the value corresponding to node 310-2 is "0" based on the node feature vector. That is, the first computing device can determine that node 310-2 is determined to be impossible to traverse.

[0056] Accordingly, the first computing device 120 can update the value in the initial feature vector corresponding to the leaf node 310-11 to indicate that the leaf node 310-11 cannot be traversed either.

[0057] Similarly, the first computing device 120 can update the initial feature vector to [1, 0, 1, 1, 0, 0, 0, 0], where the values ​​corresponding to leaf nodes 310-11 and 130-13 are updated from "1" to "0" to indicate that the candidate output corresponding to that leaf node does not match the input data.

[0058] In some embodiments, the first computing device 120 may also update the initial feature vector by vector multiplication. Specifically, the first computing device 120 may determine that the nodes at the next level above leaf nodes 310-7 to 310-14 are {leaf node 310-3, leaf node 310-3, leaf node 310-4, leaf node 310-4, leaf node 310-5, leaf node 310-5, leaf node 310-6, leaf node 310-6}, and their corresponding feature vectors are [1, 1, 1, 1, 1, 1, 0, 0].

[0059] Furthermore, the first computing device 120 can determine that the nodes at the two levels above leaf nodes 310-7 to 310-14 are {leaf node 310-1, leaf node 310-1, leaf node 310-1, leaf node 310-1, leaf node 310-2, leaf node 310-2, leaf node 310-2, leaf node 310-2}, and their corresponding feature vectors are [1, 1, 1, 1, 0, 0, 0, 0].

[0060] Furthermore, the first computing device 120 can determine the updated feature vector as [1,0,1,1,1,0,1,0] based on the product operation of the initial feature vector [1,0,1,1,1,1,0,0] and the two determined parent feature vectors [1,1,1,1,1,1,0,0] and [1,1,1,1,0,0,0,0], to indicate whether the outputs corresponding to the leaf nodes 310-7 to 310-14 can match the input data.

[0061] In box 204, the first computing device 120 acquires second prediction information. The second prediction information is generated by processing the input data using remote parameter information based on a tree model, wherein the second prediction information indicates at least a second set of outputs among a plurality of candidate outputs of the tree model, and the second set of outputs is determined to be mismatched with the input data based on the remote parameter information.

[0062] In some embodiments, the second computing device 130 may determine the second prediction information based on the local parameters of the tree model (i.e., the remote parameter information relative to the second computing device 120). The following will combine... Figure 3B The example of the tree model shown illustrates the process of determining the second prediction information.

[0063] For example, the second computing device 130 may have node parameters for nodes 310-1 and 310-4 of the tree model 300B locally. As an example, the input data “F1” may be “30”, and “F2” may be “15”.

[0064] Accordingly, the second computing device 130 can determine the second prediction information based on the possible traversal paths or vector calculation methods described above.

[0065] For example, the second prediction information may be represented as a vector, such as [0, 0, 1, 0, 1, 1, 1, 1], to indicate the probability that each of the leaf nodes 310-7 to 310-14 (corresponding to multiple candidate outputs of the tree model) is selected.

[0066] In some embodiments, the second computing device 130 may further send the second prediction information to the first computing device 120.

[0067] Continue to refer to Figure 2 In box 206, the first computing device 120 determines the prediction result for the input data based on the first prediction information and the second prediction information.

[0068] In some embodiments, if the first computing device 120 has labels corresponding to all leaf nodes 310-7 to 310-14, the first computing device 120 may, for example, determine which node corresponds to a possible candidate output based on the first prediction information and the second prediction information.

[0069] Continuing the example discussed above, the first computing device 120 can, for example, determine that node 310-9 corresponds to a unique possible candidate output based on the product of the vectors indicated by the first and second prediction information. Accordingly, the first computing device 120 can determine the prediction result for the input data based on the label corresponding to node 310-9.

[0070] In some embodiments, the first computing device 120 may only possess labels corresponding to a subset of the leaf nodes, and the second computing device 130 may possess labels corresponding to the remaining leaf nodes. In this case, the first computing device 120 and the second computing device 130 may not be able to directly send label information. In some embodiments, the prediction result for the input data can be determined based on the prediction information through secret sharing.

[0071] Specifically, the first computing device 120 can use secret sharing multiplication to process the second prediction information and the local label vector to determine the first product, wherein the local label vector indicates the locally managed portion of the multiple candidate outputs.

[0072] Furthermore, the first computing device 120 can obtain a second product from the second computing device. The second product is determined by processing the first prediction information and the remote label vector using secret shared multiplication. The remote label vector indicates the remotely managed portion of multiple candidate outputs.

[0073] Additionally, the first computing device 120 can utilize Secret Sharing Addition to process the first product and the second product to determine the prediction result for the input data.

[0074] For example, the first prediction information can be represented as S A The second prediction information can be represented as S, for example. B The local tag vector possessed by the first computing device 120 can be represented as W. A The local tag vector represented by the second computing device 130 is W. B .

[0075] The first computing device 120 and the second computing device 130 can first perform local multiplication to update the corresponding label vector using the prediction information, which can be represented as follows:

[0076] W A =S A *W A (1)

[0077] W B =S A *W B (2)

[0078] Furthermore, the first computing device 120 can utilize the second prediction information to perform secret-shared multiplication, and the second computing device 130 can utilize the first prediction information to perform secret-shared multiplication, which can be represented, for example, as follows:

[0079] Y A =S B *W A (3)

[0080] Y B =S A *W B (4)

[0081] The specific computational details of the secret-shared multiplication will not be elaborated here, but its execution process can be represented by the following pseudocode:

[0082] Input: P i hold i , i

[0083] Output: P i Get <c> i ,in <c> i =< / c> < / c> i * i

[0084] Random number: P i Holding a pair of triples (x i ,y i ,z i )

[0085] 1: for i∈{0,1}P i do:

[0086] 2: <c> i =< / c> i - <x> i, <f> i = i - <y> i

[0087] 3: reveal c and f / / Reveal c and f

[0088] 4:P i get <c> i =f* <x> i +e* <y> i + <z> i +i*e*f

[0089] 5: end for

[0090] Furthermore, the first computing device 120 acquires the second product determined by the second computing device 130, and determines the prediction result of the input data based on the secret shared addition of the first and second products, which can be expressed, for example, as:

[0091] Y = Y A +Y B (5)

[0092] Based on this approach, embodiments of this disclosure can further generate prediction results for input data based on secret sharing and by utilizing prediction information determined locally by each subject, thereby improving the security of data processing.

[0093] In some embodiments, the first computing device 120 may use the process discussed above to determine a set of predictions for a set of input data; and may provide a portion of the predictions from the set of predictions based on the order of the predictions.

[0094] For example, the first computing device 120 can provide a portion of the prediction results from the total prediction results to the second computing device 130 based on the TOP-N method, provided that all prediction results have been obtained.

[0095] In some embodiments, the first computing device 120 may be, for example, a service provider, and the second computing device 130 may correspond to, for example, a service demander. In the initial stages of the service, the service provider may, for example, expect to provide only partial prediction results.

[0096] It should be understood that, although the above text< / z> < / y> < / x> < / c> < / y> < / f> < / x> Figure 3A and Figure 3B The example tree model described herein is based on continuous feature comparison, but the method described herein can also be applied to the processing of tree models with discrete feature comparison.

[0097] Based on the process discussed above, embodiments of this disclosure can determine the final prediction result of federated learning by exchanging local prediction information only once. This can greatly reduce communication overhead, thereby improving prediction efficiency.

[0098] Example devices and equipment

[0099] Embodiments of this disclosure also provide corresponding apparatus for implementing the above methods or processes. Figure 4 A schematic structural block diagram of a federated learning-based prediction device 400 according to some embodiments of the present disclosure is shown.

[0100] like Figure 4 As shown, the device 400 may include a determination module 410 configured to process input data based on local parameter information of a tree model, determine first prediction information, the first prediction information indicating at least a first set of outputs among a plurality of candidate outputs of the tree model, the first set of outputs being determined to be mismatched with the input data based on local parameter information.

[0101] In addition, the device 400 may also include an acquisition module 420 configured to acquire second prediction information, which is generated by processing input data through remote parameter information based on a tree model. The second prediction information indicates at least a second set of outputs among a plurality of candidate outputs of the tree model, which is determined to be mismatched with the input data based on the remote parameter information.

[0102] Furthermore, such as Figure 4 As shown, the device 400 also includes a prediction module 430, configured to determine a prediction result for the input data based on the first prediction information and the second prediction information.

[0103] In some embodiments, the determining module 410 is further configured to: determine possible traversal paths associated with the tree model based on local parameter information of the tree model and input data; and determine first prediction information based on the possible traversal paths.

[0104] In some embodiments, the determining module 410 is further configured to: for a first node in the tree model: in response to the node parameters of the first node being known, determine the traversal direction associated with the first node based on a comparison of the input data and the node parameters; and in response to the node parameters of the first node being unknown, determine all directions associated with the first node as possible traversal directions associated with the first node.

[0105] In some embodiments, the determining module 410 is further configured to: determine, based on local parameter information, node feature vectors associated with a plurality of nodes associated with a tree model, the plurality of nodes including a plurality of leaf nodes and a plurality of non-leaf nodes, the feature vectors indicating the likelihood that each of the plurality of nodes will be traversed based on input data; determine, based on the node feature vectors, an initial feature vector corresponding to the plurality of leaf nodes; update the initial feature vector based on the value in the node feature vector corresponding to at least one parent node of the plurality of leaf nodes; and determine first prediction information based on the updated initial feature vector.

[0106] In some embodiments, the determining module 410 is further configured to: for a second node among a plurality of nodes: in response to the unknown node parameters of the parent node of the second node, set the value corresponding to the second node in the node feature vector to a predetermined value to indicate that the second node may be traversed; and in response to the known node parameters of the parent node of the second node, determine the value corresponding to the second node in the node feature vector based on the comparison of the input data and the node parameters to indicate whether the second node has been traversed according to the input data.

[0107] In some embodiments, the determining module 410 is further configured to: for a target leaf node among a plurality of leaf nodes, determine, based on the node feature vector, that at least one of the parent nodes of the target leaf node includes a non-leaf node that is determined not to be traversed; and update the initial feature vector to indicate that the target leaf node does not match the input data.

[0108] In some embodiments, the determining module 410 is further configured to: determine at least one parent feature vector corresponding to at least one parent node of the plurality of leaf nodes based on the node feature vector; and update the initial feature vector based on the at least one parent feature vector.

[0109] In some embodiments, the prediction module 430 is further configured to: process second prediction information and a local label vector using secret shared multiplication to determine a first product, wherein the local label vector indicates a locally managed portion of a plurality of candidate outputs; obtain a second product, wherein the second product is determined by processing the first prediction information and a remote label vector using secret shared multiplication, wherein the remote label vector indicates a remotely managed portion of a plurality of candidate outputs; and process the first product and the second product using secret shared addition to determine a prediction result for the input data.

[0110] In some embodiments, the prediction module 430 is further configured to: determine a set of prediction results for a set of input data; and provide a portion of the prediction results from the set of prediction results based on the order of the prediction results.

[0111] The units included in device 400 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units may be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to machine-executable instructions, some or all of the units in device 400 may be implemented at least partially by one or more hardware logic components. By way of example, and not limitation, exemplary types of hardware logic components that may be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0112] Figure 5 A block diagram of a computing device / server 500 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that... Figure 5 The computing device / server 500 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein.

[0113] like Figure 5 As shown, the computing device / server 500 is in the form of a general-purpose computing device. Components of the computing device / server 500 may include, but are not limited to, one or more processors or processing units 510, memory 520, storage devices 530, one or more communication units 540, one or more input devices 560, and one or more output devices 560. The processing unit 510 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 520. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capabilities of the computing device / server 500.

[0114] The computing device / server 500 typically includes multiple computer storage media. Such media can be any available media accessible to the computing device / server 500, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 520 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 530 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data (e.g., training data for training) and accessible within the computing device / server 500.

[0115] The computing device / server 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 5 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 520 may include computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of this disclosure.

[0116] The communication unit 540 enables communication with other computing devices via a communication medium. Additionally, the functionality of the components of the computing device / server 500 can be implemented as a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the computing device / server 500 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0117] Input device 550 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 can be one or more output devices, such as a monitor, speaker, printer, etc. The computing device / server 500 can also communicate as needed with one or more external devices (not shown) via communication unit 540. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with the computing device / server 500, or with any device (e.g., network card, modem, etc.) that enables the computing device / server 500 to communicate with one or more other computing devices. Such communication can be performed via input / output (I / O) interfaces (not shown).

[0118] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores one or more computer instructions, wherein one or more computer instructions are executed by a processor to implement the methods described above.

[0119] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0120] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0121] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0123] Various implementations of this disclosure have been described above. The foregoing description is exemplary and not exhaustive, nor is it limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the implementations disclosed herein.

Claims

1. A prediction method based on federated learning, executed by a first computing device, the method comprising: The input data is processed based on the local parameter information of the tree model to determine first prediction information. The first prediction information indicates at least a first set of outputs among a plurality of candidate outputs of the tree model. The first set of outputs is determined to be mismatched with the input data based on the local parameter information. Second prediction information is obtained from a second computing device. The second prediction information is generated by processing the input data based on the remote parameter information of the tree model. The second prediction information indicates at least a second set of outputs among the plurality of candidate outputs of the tree model. The second set of outputs is determined to be mismatched with the input data based on the remote parameter information. as well as Based on the first prediction information and the second prediction information, a prediction result is determined for the input data. The determination of the first prediction information includes: determining possible traversal paths associated with the tree model based on the local parameter information of the tree model and the input data; and determining the first prediction information based on the possible traversal paths. The determination of the prediction result for the input data includes: processing the second prediction information and the local label vector using secret shared multiplication to determine a first product, wherein the local label vector indicates the locally managed portion of the plurality of candidate outputs; obtaining a second product, wherein the second product is determined by processing the first prediction information and the remote label vector using secret shared multiplication, wherein the remote label vector indicates the remotely managed portion of the plurality of candidate outputs; and processing the first product and the second product using secret shared addition to determine the prediction result for the input data.

2. The method of claim 1, wherein determining the possible traversal paths of the tree model comprises: For the first node in the tree model: In response to the fact that the node parameters of the first node are known, the traversal direction associated with the first node is determined based on the comparison between the input data and the node parameters; as well as In response to the fact that the node parameters of the first node are unknown, all directions associated with the first node are determined as possible traversal directions associated with the first node.

3. The method according to claim 1, wherein determining the first prediction information includes: Based on the local parameter information, node feature vectors associated with multiple nodes associated with the tree model are determined. The multiple nodes include multiple leaf nodes and multiple non-leaf nodes. The feature vectors indicate the probability that each of the multiple nodes will be traversed according to the input data. Based on the node feature vectors, determine the initial feature vectors corresponding to the plurality of leaf nodes; The initial feature vector is updated based on the value in the node feature vector that corresponds to at least one parent node of the plurality of leaf nodes; as well as The first prediction information is determined based on the updated initial feature vector.

4. The method according to claim 3, wherein determining the node feature vectors associated with multiple nodes associated with the tree model based on the local parameter information comprises: For the second node among the plurality of nodes: In response to the unknown node parameters of the parent node of the second node, the value corresponding to the second node in the node feature vector is set to a predetermined value to indicate that the second node may be traversed; as well as In response to the fact that the node parameters of the parent node of the second node are known, the value corresponding to the second node in the node feature vector is determined based on the comparison between the input data and the node parameters, so as to indicate whether the second node has been traversed according to the input data.

5. The method of claim 3, wherein updating the initial feature vector comprises: For the target leaf node among the plurality of leaf nodes: Based on the node feature vector, it is determined that at least one parent node of the target leaf node includes a non-leaf node that is determined not to be traversed; and Update the initial feature vector to indicate that the target leaf node does not match the input data.

6. The method of claim 3, wherein updating the initial feature vector comprises: Based on the node feature vectors, at least one parent feature vector corresponding to at least one parent node of the plurality of leaf nodes is determined; as well as The initial feature vector is updated based on the at least one superior feature vector.

7. The method according to claim 1, further comprising: Determine a set of predictions for a set of input data; as well as Based on the sorting of the set of prediction results, a portion of the prediction results are provided.

8. A prediction device based on federated learning, comprising: The determination module is configured to process input data based on local parameter information of a tree model by a first computing device, and determine first prediction information, wherein the first prediction information indicates at least a first set of outputs among a plurality of candidate outputs of the tree model, and the first set of outputs is determined to be mismatched with the input data based on the local parameter information; The acquisition module is configured to acquire second prediction information from a second computing device by the first computing device. The second prediction information is generated by processing the input data based on remote parameter information of the tree model. The second prediction information indicates at least a second set of outputs among the plurality of candidate outputs of the tree model, and the second set of outputs is determined to be mismatched with the input data based on the remote parameter information. as well as The prediction module is configured to determine a prediction result for the input data based on the first prediction information and the second prediction information by a first computing device. The determining module is further configured to: determine possible traversal paths associated with the tree model based on the local parameter information of the tree model and the input data; and determine the first prediction information based on the possible traversal paths. The prediction module is further configured to: process the second prediction information and the local label vector using secret shared multiplication to determine a first product, wherein the local label vector indicates the locally managed portion of the plurality of candidate outputs; obtain a second product, wherein the second product is determined by processing the first prediction information and the remote label vector using secret shared multiplication, wherein the remote label vector indicates the remotely managed portion of the plurality of candidate outputs; and process the first product and the second product using secret shared addition to determine a prediction result for the input data.

9. An electronic device, comprising: At least one processing unit; as well as At least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the device to perform the method according to any one of claims 1 to 7 when executed by the at least one processing unit.

10. A computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Multi-party XGBoost security prediction model training method based on secret sharing and federated learning

    CN112464287A