CN111291417A - Method and device for protecting data privacy of multi-party combined training object recommendation model - Google Patents

Method and device for protecting data privacy of multi-party combined training object recommendation model Download PDF

Info

Publication number
CN111291417A
CN111291417A CN202010384206.4A CN202010384206A CN111291417A CN 111291417 A CN111291417 A CN 111291417A CN 202010384206 A CN202010384206 A CN 202010384206A CN 111291417 A CN111291417 A CN 111291417A
Authority
CN
China
Prior art keywords
kth
matrix
fragment
user
parties
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010384206.4A
Other languages
Chinese (zh)
Other versions
CN111291417B (en
Inventor
陈超超
曹绍升
王力
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010384206.4A priority Critical patent/CN111291417B/en
Publication of CN111291417A publication Critical patent/CN111291417A/en
Application granted granted Critical
Publication of CN111291417B publication Critical patent/CN111291417B/en
Priority to PCT/CN2021/092179 priority patent/WO2021227959A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Abstract

The embodiment of the specification provides a method for a multi-party joint training object recommendation model for protecting data privacy, wherein multiple parties are N parties, and a total scoring matrix of P objects by M users is maintained together. The method is executed by any kth party in the N parties, and comprises the following steps: firstly, secret sharing is carried out to obtain the following matrix fragments: a kth scoring matrix segment of the total scoring matrix, a kth object matrix segment of the initialized object feature matrices of the P objects, and a kth user matrix segment of the initialized user feature matrices of the M users; and performing repeated iterative updating, specifically, performing secret sharing matrix operation with other N-1 parties based on the matrix fragments to obtain a kth fragment of the object updating gradient and the user updating gradient, and further updating the kth object matrix fragment and the kth user matrix fragment. After the multiple iterative updating is finished, the N parties respectively exchange the updated matrix fragments to carry out matrix reconstruction, and further establish respective object recommendation models.

Description

Method and device for protecting data privacy of multi-party combined training object recommendation model
Technical Field
One or more embodiments of the present disclosure relate to the technical field of information security, and in particular, to a method and an apparatus for a multi-party joint training object recommendation model for protecting data privacy.
Background
In a recommendation system, a single data party usually learns the potential preferences of a user feature vector and an object feature vector by using stored scoring data of a plurality of users on a plurality of objects, and then predicts the scoring of some objects by a certain user by using the learned feature vectors of the users and the objects, wherein some objects are usually objects for which the certain user has not performed scoring behavior, and then performs object recommendation to the certain user according to the predicted scoring.
With the heat of research caused by the fact that multiple parties carry out machine learning by utilizing the data cooperation of the multiple parties, different data parties storing different scoring data hope to utilize the scoring data held by the multiple parties to learn the user characteristic vector and the object characteristic vector in cooperation, so that the accuracy of the learned characteristic vector is improved, and the accuracy and the effectiveness of prediction scoring are improved. The difficulty is how to ensure the privacy and the safety of data of each party, including user data, object data, scoring data and the like, in the learning process.
Therefore, a solution is needed, so that multiple parties can jointly learn feature vectors for constructing respective object recommendation models on the premise of protecting data privacy. However, no relevant solution currently exists.
Disclosure of Invention
One or more embodiments of the present specification describe a method for protecting a multi-party joint training object recommendation model for data privacy, which can achieve multi-party collaborative updating of a user feature vector and an object feature vector while ensuring the data privacy security of each party, thereby constructing respective object recommendation models and further making more accurate object recommendation.
According to a first aspect, a method for a multi-party joint training object recommendation model for protecting data privacy is provided, where the multiple parties are N parties, and the N parties jointly maintain a total score matrix of M users for P objects, and the method is performed by any kth party of the N parties, and includes: and acquiring the kth scoring matrix fragment of the total scoring matrix through secret sharing. And acquiring the k-th object matrix fragment of the initialized object feature matrix of the P objects and the k-th user matrix fragment of the initialized user feature matrix of the M users through secret sharing. Performing a plurality of iterative updates, wherein any iterative update comprises: for any first user and any first object, acquiring a kth scoring fragment of the first object from the kth scoring matrix fragment by the first user; acquiring a kth object characteristic fragment of the first object from the kth object matrix fragment of the previous iteration; acquiring a kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration; based on the kth user feature fragment and the kth object feature fragment, performing secret sharing matrix operation with other N-1 parties to obtain a kth similarity fragment of the feature vector similarity of the first user and the first object, and taking the difference between the kth similarity fragment and the kth scoring fragment as a kth error fragment; calculating a user characteristic updating gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth object characteristic fragment to obtain a kth user gradient fragment; calculating an object characteristic updating gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth user characteristic fragment to obtain a kth object gradient fragment; updating the kth user characteristic fragment according to the kth user gradient fragment; and updating the k object feature fragment according to the k object gradient fragment.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix; the obtaining of the kth scoring matrix segment of the total scoring matrix through secret sharing includes: splitting the kth scoring submatrix into N fragments, reserving the kth fragment, and correspondingly sending the other N-1 fragments to other N-1 parties; and receiving k-th fragments of other scoring matrixes from other N-1 parties; and splicing the kth fragment of the kth scoring submatrix with the kth fragments of other scoring submatrixes to form the kth scoring matrix fragment.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix, the kth scoring submatrix being defined by the M users for P in the kth partykThe scores of the individual subjects constitute.
In a specific embodiment, the obtaining the initialized kth object matrix partition of the object feature matrices of the P objects includes: initialization PkP corresponding to each objectkThe characteristic vector of each object forms a k object sub-matrix; splitting the k object sub-matrix into N fragments through secret sharing, reserving the k fragment, and correspondingly sending other N-1 fragments to other N-1 parties; and receiving initialized kth slices of other object submatrices from other N-1 parties; and splicing the kth fragment of the kth object sub-matrix and the kth fragments of other object sub-matrices to form the kth object matrix fragment.
In a specific embodiment, the kth party is a designated party for initializing the user feature vector; the acquiring the initialized kth user matrix segment of the user feature matrices of the M users includes: initializing M user characteristic vectors corresponding to M users to form a user characteristic matrix; and splitting the user characteristic matrix into N fragments through secret sharing, reserving the k-th user matrix fragment, and correspondingly sending other N-1 fragments to other N-1 parties.
In a specific embodiment, after the performing the plurality of iterative updates, the method further comprises: respectively sending the updated kth user characteristic fragment to other N-1 parties, and receiving the updated other user characteristic fragments from other N-1 parties; and splicing the updated kth user characteristic fragment and the received other user characteristic fragments to form an updated user characteristic matrix.
In a specific embodiment, after the performing the plurality of iterative updates, the method further comprises: correspondingly sending the kth fragment belonging to other object sub-matrixes in the updated kth object matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth object sub-matrix from other N-1 parties; and splicing the kth fragment belonging to the kth object sub-matrix in the updated kth object matrix fragment with the received other fragments to form an updated kth object sub-matrix.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix, the kth scoring submatrix being formed by M of the kth partykThe scores of the P objects by the users are formed.
In a specific embodiment, the obtaining the initialized kth user matrix segment of the user feature matrices of the M users includes: initialization MkM corresponding to each userkForming a kth user sub-matrix by the user characteristic vector; the k user sub-matrix is divided into N fragments through secret sharing, the k fragment is reserved, and other N-1 fragments are correspondingly sent to other N-1 parties; and receiving initialized kth slices of other user submatrices from other N-1 parties; and splicing the kth fragment of the kth user sub-matrix with the kth fragments of other user sub-matrices to form the kth user matrix fragment.
In a specific embodiment, the kth party is a designated party for initializing the object feature vector; the acquiring the initialized kth object matrix slice of the object feature matrices of the P objects includes: initializing P object feature vectors corresponding to the P objects to form an object feature matrix; and splitting the object feature matrix into N fragments through secret sharing, reserving the k-th object matrix fragment, and correspondingly sending the other N-1 fragments to other N-1 parties.
In a specific embodiment, after the performing the plurality of iterative updates, the method further comprises: respectively sending the updated kth object feature fragment to other N-1 parties, and receiving the updated other object feature fragments from other N-1 parties; and splicing the updated kth object feature fragment and the received other object feature fragments to form an updated object feature matrix.
In a specific embodiment, after the performing the plurality of iterative updates, the method further comprises: correspondingly sending the kth fragment belonging to other user sub-matrixes in the updated kth user matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth user sub-matrix from other N-1 parties; and splicing the kth fragment belonging to the kth user sub-matrix in the updated kth user matrix fragment with the received other fragments to form an updated kth user sub-matrix.
According to a second aspect, there is provided an apparatus for a multi-party joint training object recommendation model for protecting data privacy, where the multiple parties are N parties, and the N parties jointly maintain a total scoring matrix of P objects by M users, the apparatus is integrated at any kth party of the N parties, and the apparatus includes: and the scoring fragment acquisition unit is configured to acquire the kth scoring matrix fragment of the total scoring matrix through secret sharing. And the user fragment acquisition unit is configured to acquire the initialized kth object matrix fragment of the object feature matrix of the P objects through secret sharing. And the object fragment acquisition unit is configured to acquire initialized kth user matrix fragments of the user feature matrices of the M users through secret sharing. An iterative update unit configured to perform a plurality of iterative updates, wherein any one iterative update is performed by: the multi-segment acquisition module is configured to acquire a kth scoring segment of the first object from the kth scoring matrix segment for any first user and any first object; acquiring a kth object characteristic fragment of the first object from the kth object matrix fragment of the previous iteration; acquiring a kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration; the error fragment calculation module is configured to perform secret sharing matrix operation with other N-1 parties based on the kth user feature fragment and the kth object feature fragment to obtain a kth similarity fragment of feature vector similarity of the first user and the first object, and taking the difference between the kth similarity fragment and the kth score fragment as a kth error fragment; the user gradient fragment calculation module is configured to calculate a user characteristic update gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth object characteristic fragment to obtain a kth user gradient fragment; the object gradient calculation module is configured to calculate an object characteristic update gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth user characteristic fragment to obtain a kth object gradient fragment; a user segment updating module configured to update the kth user feature segment according to the kth user gradient segment; and the object fragment updating module is configured to update the kth object feature fragment according to the kth object gradient fragment.
According to a third aspect, there is provided a computer readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method of the first aspect.
According to a fourth aspect, there is provided a computing device comprising a memory having stored therein executable code and a processor that, when executing the executable code, implements the method of the first aspect.
In summary, by using the method and apparatus provided in this specification, multiple parties do not perform plaintext exchange of score data, object data, and user data, and the user feature matrix and the object feature matrix are also split into feature fragments, and each of the user feature matrix and the object feature matrix only maintains iterative update of the feature fragments until iteration is completed, and the feature matrices are reconstructed to construct respective object recommendation models. Therefore, the safety of the private data in the joint training process is guaranteed, and meanwhile the prediction accuracy of the object recommendation model can be improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 shows a general scoring matrix schematic according to one embodiment;
FIG. 2 shows a schematic diagram of a total scoring matrix composed of N scoring submatrices, according to one embodiment;
FIG. 3 shows a schematic diagram of a total scoring matrix composed of N scoring submatrices, according to another embodiment;
FIG. 4 shows a schematic diagram of a scoring submatrix forming an overall scoring matrix according to yet another embodiment;
FIG. 5 is a schematic diagram illustrating an implementation of a method for a multi-party joint training object recommendation model disclosed in an embodiment of the present disclosure;
FIG. 6 illustrates a flowchart of a method for a multi-party federated training object recommendation model to protect data privacy, in accordance with one embodiment;
FIG. 7 illustrates a process diagram for two parties to perform a secret sharing matrix operation, according to one embodiment;
FIG. 8 is a schematic diagram illustrating an apparatus structure of a multi-party joint training object recommendation model for protecting data privacy according to an embodiment.
Detailed Description
The scheme provided by the specification is described below with reference to the accompanying drawings.
As described above, object recommendation is currently implemented in a recommendation system by learning feature vectors of users and objects. The learning process typically includes learning the potential vector preferences of users and objects by matrix decomposition to fit existing user-object scores.
In particular, the scoring of a set of users u on a set of objects v is represented by a matrix R, where each element in the matrix R
Figure DEST_PATH_IMAGE001
Representing a user
Figure 937841DEST_PATH_IMAGE002
To the object
Figure 21204DEST_PATH_IMAGE004
The process of learning the feature vector is as follows:
Figure DEST_PATH_IMAGE005
(1)
wherein the content of the first and second substances,
Figure 177641DEST_PATH_IMAGE006
the function of the loss is represented by,
Figure DEST_PATH_IMAGE007
show to make
Figure 648943DEST_PATH_IMAGE006
The size of the particles is minimized and,
Figure 953147DEST_PATH_IMAGE008
and
Figure DEST_PATH_IMAGE009
respectively representing users
Figure 777884DEST_PATH_IMAGE002
Feature vectors and objects of
Figure 693887DEST_PATH_IMAGE004
Is determined by the feature vector of (a),
Figure 742615DEST_PATH_IMAGE010
and
Figure DEST_PATH_IMAGE011
respectively representing a user feature vector set and an object feature vector set,
Figure 940640DEST_PATH_IMAGE012
and
Figure DEST_PATH_IMAGE013
respectively represent
Figure 647696DEST_PATH_IMAGE008
A two-norm sum of
Figure 44305DEST_PATH_IMAGE009
The two-norm of (a) is,
Figure 936037DEST_PATH_IMAGE014
is super ginseng.
In the above equation (1), the first term constrains the relationship between the scores and the feature vector similarity, i.e., the higher the score is desired, the more similar the feature vectors are. The second term is a regular term in order to prevent overfitting.
Further, based on the formula (1) pair
Figure 526419DEST_PATH_IMAGE008
And
Figure 224116DEST_PATH_IMAGE009
the separate derivatives can yield the gradient of the loss function to the user and item as follows:
Figure DEST_PATH_IMAGE015
(2)
Figure 849132DEST_PATH_IMAGE016
(3)
wherein, the upper label
Figure DEST_PATH_IMAGE017
Indicating transposition. Thus, the user vector can be based on
Figure 505242DEST_PATH_IMAGE008
Gradient of loss of
Figure 317340DEST_PATH_IMAGE018
Updating
Figure 490832DEST_PATH_IMAGE008
According to the object vector
Figure DEST_PATH_IMAGE019
Gradient of loss of
Figure 94989DEST_PATH_IMAGE020
Updating
Figure 531787DEST_PATH_IMAGE019
As can be seen from the above process, the learning process includes several core operations: calculating the dot product of the user feature vector and the object feature vector as the similarity between the user feature vector and the object feature vector, further calculating the user gradient by combining the user-object score and the object feature vector according to the similarity, and calculating the object gradient by combining the user-object score and the user feature vector according to the similarity; then, the user feature vector is updated with the calculated user gradient, and the object feature vector is updated with the calculated object gradient.
In the case where the user feature vector and the object feature vector are learned unilaterally independently, the above calculation can be easily performed. However, under the condition of multi-party joint learning of the feature vectors, users or objects related to scoring data stored by each party may be different, and each party needs to learn the user feature vector of the user related to each party and the object feature vector of the object related to each party.
For ease of description, assuming that the above-mentioned parties are N parties, the scoring data stored by the parties collectively involve M users and P objects, where N, M and P are integers greater than 1. Therefore, the above problem can be described as how to implement the above operations without revealing plaintext data of each party under the scenario that N parties commonly maintain total scoring matrices of M users for P objects, so as to implement multi-party joint learning of user feature vectors and object feature vectors.
Aiming at the problems, the inventor proposes that firstly, through secret sharing, each party obtains a certain user matrix fragment of a user feature matrix of M users, a certain object matrix fragment of an object feature matrix of P objects and a certain score fragment of a total score matrix; then, the operations are correspondingly disassembled into safe and secret piece operation through secret sharing matrix multiplication, and the operations are realized through interaction and joint calculation of multi-party piece operation results, so that safe collaborative learning is realized.
Next, a scenario in which the N-party jointly maintains the total score matrix is introduced. As described above, the N parties collectively maintain a total scoring matrix of the M users for the P objects. FIG. 1 shows a general scoring matrix diagram in which the elements located in the ith row and jth column represent users U, according to one embodimentiFor object VjThe score of (1). Specifically, each of the N parties maintains a portion of the overall score matrix, which accordingly includes N portions maintained by the N parties. It is to be understood that, one of them, some elements may be default, for which it is stated that the corresponding user has not scored the corresponding object, and for any user or any object in the total scoring matrix, there need only be at least one valid score (non-default) associated therewith; and the N parts are mutually exclusive, and the composition of each part has multiple possibilities according to the distribution situation of the actual scoring data.
In one embodiment, each of the N parties maintains one scoring submatrix in the total scoring matrix. In a specific embodiment, the N parties each store scores of different objects for the same user, and fig. 2 shows a schematic diagram of a total score matrix composed of N score sub-matrices according to an embodiment, where an arbitrary k-th party has a k-th score sub-matrix, and the k-th score sub-matrix is formed by P of M users in the k-th partykThe scores of the individual subjects constitute. In another specific embodiment, the N parties each store scores of the same object by different users, and fig. 3 shows a schematic diagram of a total score matrix composed of N score sub-matrices according to another embodiment, where any k party has a k-th score sub-matrix, and the k-th score sub-matrix is composed of M of the k partieskThe scores of the P objects by the users are formed.
In a further specific embodiment, fig. 4 is a schematic diagram illustrating a total scoring matrix composed of scoring submatrices according to a further embodiment, as shown in fig. 4, in the N-square, there are two sides storing scores of different users by the same user, two sides storing scores of the same user by different users, and two sides storing scores of different objects by different users.
In another embodiment, several scoring submatrices of the total scoring matrix are each maintained in the N-party.
From the above, the total scoring matrix has various composition modes according to various distribution conditions of the scoring data in the N direction.
On the other hand, it should be noted that "party" in the N-party may refer to a data holder, a data party, or a participant, wherein each party may be implemented as any device, platform, server, or cluster having computing and processing capabilities; the user may be an individual user, an enterprise entity, or a merchant, and may specifically be embodied as a user identifier agreed by multiple data parties in a unified manner, such as a mobile phone number, a user number, and the like.
Further, in one embodiment, the object may be a commodity, and the commodity may have various forms including a physical commodity (e.g., a garment, a video), a virtual electronic commodity (e.g., an electronic book, a cloud storage space, a traffic, etc.), an online service or an offline service, and the like. In an exemplary scenario, the N parties are different e-commerce platforms, and the types of goods provided may include books, clothes, food, electronic products, living goods, and so on. In another exemplary scenario, the N parties are different APP (Application) download platforms, and the provided goods may include education APP, office APP, entertainment APP, and so on. In yet another exemplary scenario, where the N parties are different service experience platforms, the offered goods may include a variety of service items, such as taxi service, beauty service, fitness service, and so on. In another embodiment, the object may be a user. In one exemplary scenario, the N parties are different friend-making platforms, where users may score each other. In another exemplary scenario, party N is a house rental platform, where teamed roommates can be scored against each other.
In the above, a scene in which the N parties commonly maintain the total scoring matrix of the P objects scored by the M users is introduced. It is to be understood that object data, user data, score data and the like maintained by the N parties respectively belong to privacy data, and plaintext exchange cannot be performed in the joint training process so as to ensure the security of the privacy data.
In order to perform joint update of feature vectors without revealing privacy data, according to an embodiment of the present specification, fig. 5 is a schematic diagram illustrating an implementation of a method for a multi-party joint training object recommendation model disclosed in the embodiment of the present specification, and an arbitrary kth party acquires the total score matrix through secret sharing
Figure DEST_PATH_IMAGE021
Is divided into k-th scoring matrix
Figure 722859DEST_PATH_IMAGE022
Object feature matrix of P objects
Figure DEST_PATH_IMAGE023
K object matrix sharding of
Figure 903304DEST_PATH_IMAGE024
And a user feature matrix of M users
Figure DEST_PATH_IMAGE025
The kth user matrix segment of (1), whereby each of the N parties may obtain a matrix segment corresponding to each of the three matrices.
And each party executes multiple iterative updates through the secret sharing acquired matrix fragments. In the process of any iterative update, for any first user uiAnd a first object vjFirstly, the kth party acquires the kth scoring fragment of the first object from the kth scoring matrix fragment
Figure 627547DEST_PATH_IMAGE026
(ii) a Obtaining k object feature patches of a first object from a last k object matrix patch
Figure DEST_PATH_IMAGE027
(ii) a And acquiring the kth user characteristic fragment of the first user from the kth user matrix fragment
Figure 563142DEST_PATH_IMAGE028
(ii) a Then, based on
Figure 146570DEST_PATH_IMAGE028
And
Figure 865127DEST_PATH_IMAGE027
obtaining the similarity of the feature vectors of the first user and the first object by carrying out secret sharing matrix operation with other N-1 parties
Figure DEST_PATH_IMAGE029
K-th similarity slice of
Figure 709455DEST_PATH_IMAGE030
Will be
Figure 222476DEST_PATH_IMAGE030
And
Figure 293200DEST_PATH_IMAGE026
is taken as the k-th error slice
Figure DEST_PATH_IMAGE031
(ii) a Then based on
Figure 441547DEST_PATH_IMAGE031
And
Figure 750169DEST_PATH_IMAGE027
calculating the updating gradient of the user characteristics by carrying out secret sharing matrix operation with other N-1 parties
Figure 824304DEST_PATH_IMAGE018
To obtain the k-th user gradient slice
Figure 585587DEST_PATH_IMAGE032
And is based on
Figure 442684DEST_PATH_IMAGE031
And
Figure 996025DEST_PATH_IMAGE028
calculating object feature update gradient by performing secret sharing matrix operation with other N-1 parties
Figure 850849DEST_PATH_IMAGE020
Obtaining the kth object gradient slice
Figure DEST_PATH_IMAGE033
(ii) a Then, according to
Figure 224061DEST_PATH_IMAGE032
Updating
Figure 88112DEST_PATH_IMAGE028
And, according to
Figure 168064DEST_PATH_IMAGE033
Updating
Figure 831606DEST_PATH_IMAGE027
. In this manner, multiple iterative updates may be implemented.
Until the whole iterative process is finished, the multi-party exchanges the matrix fragments thereof to reconstruct the feature matrix. The situation where each of the parties maintains scoring data for different objects for the same user is illustrated in FIG. 1, where the k-th party reconstructs the user feature matrix U and the object sub-matrix V, respectivelykFurther use of U and VkConstructing an object recommendation model thereof for predicting P pair of any one of M userskAnd scoring any one of the objects, and recommending the object according to a scoring result.
In the whole iterative updating process, multiple parties do not exchange the score data, the object data and the plaintext of the user data, the user characteristic matrix and the object characteristic matrix are also split into characteristic fragments, the characteristic fragments are respectively maintained for iterative updating, and the characteristic matrix can be reconstructed until iteration is finished. Therefore, the security of the private data in the joint updating process is greatly enhanced.
In the following, a specific process of jointly learning feature vectors by multiple parties and further constructing respective object recommendation models is described.
Specifically, fig. 6 is a flowchart illustrating a method for a multi-party joint training object recommendation model for protecting data privacy according to an embodiment, where multiple parties are N parties that collectively maintain an overall evaluation matrix of M users on P objects, and the method is performed by any kth party of the N parties, and the kth party may be implemented by any device or equipment or server cluster with computing and processing capabilities.
As shown in fig. 6, the method comprises the steps of:
step S610, obtaining the kth scoring matrix segment of the total scoring matrix through secret sharing. Step S620, obtaining the initialized kth object matrix segment of the object feature matrices of the P objects and obtaining the initialized kth user matrix segment of the user feature matrices of the M users through secret sharing. Step S630, a plurality of iterative updates are performed, where any iterative update includes: step S631, for any first user and first object, acquiring the kth scoring fragment of the first object from the kth scoring matrix fragment; acquiring a kth object characteristic fragment of the first object from the kth object matrix fragment of the previous iteration; acquiring a kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration; step S632, based on the kth user feature fragment and the kth object feature fragment, performing secret sharing matrix operation with other N-1 parties to obtain a kth similarity fragment of the feature vector similarity of the first user and the first object, and taking the difference between the kth similarity fragment and the kth scoring fragment as a kth error fragment; step S633, based on the k error fragment and the k object feature fragment, calculating a user feature update gradient by performing secret sharing matrix operation with other N-1 parties to obtain a k user gradient fragment; step S634, based on the kth error fragment and the kth user characteristic fragment, calculating an object characteristic update gradient by performing secret sharing matrix operation with other N-1 parties to obtain a kth object gradient fragment; step S635, updating the kth user characteristic fragment according to the kth user gradient fragment; and updating the k object feature fragment according to the k object gradient fragment.
The steps are as follows:
step S610, obtaining the kth scoring matrix segment of the total scoring matrix through secret sharing.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix described above
Figure 364218DEST_PATH_IMAGE034
Based on this, the present step may include: in one aspect, the kth scoring submatrix
Figure 766381DEST_PATH_IMAGE034
Splitting into N pieces, and reserving k piece
Figure DEST_PATH_IMAGE035
Correspondingly sending other N-1 fragments to other N-1 parties, for example, when k is not equal to 1, the 1 st fragment is included
Figure 28735DEST_PATH_IMAGE036
Sending to the 1 st party; on the other hand, the kth slice of other scoring matrices is received from other N-1 parties
Figure DEST_PATH_IMAGE037
(ii) a Further, the kth slice of the kth scoring submatrix
Figure 490940DEST_PATH_IMAGE035
And k fragment of other scoring submatrices
Figure 510849DEST_PATH_IMAGE038
Splicing to form the kth scoring matrix fragment
Figure 841336DEST_PATH_IMAGE022
In another embodiment, the k-th scoring sub-matrix may be a plurality of sub-matrices, and accordingly, in this step, any one of the sub-matrices is split into NThe k-th fragment is reserved, and other N-1 fragments are correspondingly sent to other N-1 parties; on the other hand, receiving the kth fragment of other scoring matrixes from other N-1 parties; therefore, the plurality of k-th slices of the k-th scoring submatrix and the k-th slices of other scoring submatrixes are collectively classified into the k-th scoring matrix slice
Figure 630300DEST_PATH_IMAGE022
It should be noted that, the k-th scoring submatrix is divided into N segments, which can be implemented by using an existing secret sharing (or called secret sharing) technology, and the secret sharing technology is not described herein again.
Thus, the kth party can obtain the kth scoring matrix slice
Figure 997828DEST_PATH_IMAGE022
By analogy, each of the N parties correspondingly acquires a certain score matrix segment. And, in step S620, acquiring, through secret sharing, a kth object matrix segment of the initialized object feature matrices of the P objects and a kth user matrix segment of the initialized user feature matrices of the M users.
In one embodiment, the N parties respectively store scoring data of M users on some of the P objects, at this time, the k party has a k-th scoring submatrix of the total scoring matrix, and the k-th scoring submatrix is formed by the M users on P in the k partykThe scores of the individual subjects constitute.
Further, in a specific embodiment, the obtaining the kth object matrix partition may include: first, P is initializedkP corresponding to each objectkThe characteristic vector of each object forms the k-th object sub-matrix Vk(ii) a Then, the k object sub-matrix V is shared by secretkSplitting into N pieces, and reserving k piece
Figure DEST_PATH_IMAGE039
Correspondingly sending the other N-1 fragments to other N-1 parties; and, receiving from other N-1 partiesInitialized kth fragment of other object sub-matrix
Figure 98508DEST_PATH_IMAGE040
}; then, the k slice of the k object sub-matrix is divided into
Figure 108052DEST_PATH_IMAGE039
And k fragment of other object sub-matrix
Figure DEST_PATH_IMAGE041
Splicing to form the k-th object matrix slice
Figure 784146DEST_PATH_IMAGE024
In a specific embodiment, since the score data stored in each of the N parties points to M users, any one of the parties may be designated to initialize the user feature vector, and perform secret sharing with the other party based on the initialized user feature vector.
In an example, the kth party is a designated party for initializing the user feature vector, and accordingly, the obtaining the kth user matrix fragment may include: firstly, initializing M user characteristic vectors corresponding to M users to form a user characteristic matrix
Figure 978367DEST_PATH_IMAGE025
(ii) a Then, the user characteristic matrix is divided into N fragments through secret sharing, and the k-th user matrix fragment in the user characteristic matrix is reserved
Figure 707289DEST_PATH_IMAGE042
And correspondingly sending the other N-1 fragments to other N-1 parties. In another example, the kth party is not a designated party for initializing the user feature vector, and accordingly, the obtaining the kth user matrix fragment may include: receiving the k-th user matrix slice from a designated party of other N-1 parties
Figure 520524DEST_PATH_IMAGE042
. Thus, each of the N partiesA certain user matrix fragment may be obtained correspondingly.
In one embodiment, the N parties respectively store scoring data of P objects by some of the M users, and at this time, the k party has a k-th scoring submatrix of the total scoring matrix, and the k-th scoring submatrix is formed by M in the k partykThe scores of the P objects by the users are formed.
Further, in a specific embodiment, the obtaining the kth user matrix segment may include: first, M is initializedkM corresponding to each userkThe characteristic vector of each user forms a k-th user sub-matrix Uk(ii) a Then, the k-th user sub-matrix U is shared by secretskSplitting into N pieces, and reserving k piece
Figure DEST_PATH_IMAGE043
Correspondingly sending the other N-1 fragments to other N-1 parties; and receiving initialized kth fragment of other user submatrix from other N-1 sides
Figure 346398DEST_PATH_IMAGE044
}; then, the k slice of the k user sub-matrix is divided
Figure 321307DEST_PATH_IMAGE043
And k fragment of other user sub-matrix
Figure DEST_PATH_IMAGE045
Splicing to form the k-th user matrix segment
Figure 865421DEST_PATH_IMAGE042
In a specific embodiment, since the score data stored in each of the N parties points to P objects, any one of the parties may be designated to initialize the object feature vector, and perform secret sharing with the other party based on the initialized object feature vector.
In one example, the k-th party is a designated party for initializing the object feature vector, and accordingly, the k-th object feature vector is obtainedMatrix fragmentation may include: firstly, P object feature vectors corresponding to P objects are initialized to form an object feature matrix
Figure 13505DEST_PATH_IMAGE023
(ii) a Then, the object feature matrix is divided into N fragments through secret sharing, and the k-th object matrix fragment in the object feature matrix is reserved
Figure 834831DEST_PATH_IMAGE024
And correspondingly sending the other N-1 fragments to other N-1 parties. In another example, the kth party is not a designated party for initializing the object feature vector, and accordingly, the obtaining the kth object matrix fragment may include: receiving the k-th object matrix slice from a designated party of the other N-1 parties
Figure 606740DEST_PATH_IMAGE024
. Therefore, each party in the N parties can correspondingly obtain a certain object matrix fragment.
From the above, the k-th party can obtain the initialized k-th object matrix slice
Figure 310254DEST_PATH_IMAGE024
And k-th user matrix fragmentation
Figure 199713DEST_PATH_IMAGE042
. By analogy, each of the N parties may correspond to a certain object matrix segment and a certain user matrix segment that are initialized.
The kth party divides the kth scoring matrix based on the above acquisition
Figure 672282DEST_PATH_IMAGE022
Kth object matrix fragmentation
Figure 379207DEST_PATH_IMAGE024
And k-th user matrix fragmentation
Figure 507700DEST_PATH_IMAGE042
In step S630, a plurality of iterations are performedUpdating, wherein any iteration updating comprises the following steps S631 to S635, specifically as follows:
first, in step S631, for an arbitrary first user uiAnd a first object vjAcquiring the kth scoring fragment of the first object from the kth scoring matrix fragment by the first user
Figure 997587DEST_PATH_IMAGE026
(ii) a Obtaining the k object feature fragment of the first object from the k object matrix fragment of the last iteration
Figure 652559DEST_PATH_IMAGE027
(ii) a And acquiring the kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration
Figure 936910DEST_PATH_IMAGE028
. It is to be understood that where k object feature slices
Figure 552699DEST_PATH_IMAGE027
And kth user feature sharding
Figure 846277DEST_PATH_IMAGE028
Actually, the j < th > object feature vector respectively
Figure 355756DEST_PATH_IMAGE009
And ith user feature vector
Figure 76588DEST_PATH_IMAGE008
The k-th slice of (a), therefore,
Figure 179673DEST_PATH_IMAGE027
and
Figure 575144DEST_PATH_IMAGE028
are all vectors.
Then, in step S632, slicing is performed based on the k-th user feature therein
Figure 142392DEST_PATH_IMAGE028
And kth object feature sharding
Figure 971808DEST_PATH_IMAGE027
Obtaining the kth similarity fragment of the similarity of the feature vectors of the first user and the first object by performing secret sharing matrix operation with other N-1 parties
Figure 358927DEST_PATH_IMAGE030
Dividing the k similarity into pieces
Figure 56624DEST_PATH_IMAGE030
And kth scoring shards
Figure 681641DEST_PATH_IMAGE026
The difference is used as the k-th error slice
Figure 744274DEST_PATH_IMAGE031
Specifically, referring to the above formula (1), the first user uiAnd a first object vjDegree of similarity of
Figure 681006DEST_PATH_IMAGE029
Can be calculated by
Figure 854499DEST_PATH_IMAGE046
It was found that, while in the examples of the present specification,
Figure 68443DEST_PATH_IMAGE008
and
Figure 301978DEST_PATH_IMAGE009
the method is characterized in that the method is divided into N fragments which are dispersed in N parties, and based on the method, the inventor proposes that secret sharing matrix operation is utilized to realize that the N parties utilize respective user characteristic fragments and object characteristic fragments to jointly calculate the similarity between a user and an object.
It should be noted that the secret sharing matrix operation method itself is already known. For the sake of understanding, the following two aspects are taken as examples,introduces the secret sharing matrix operation, and introduces how the kth party splits based on the kth user characteristic
Figure 726006DEST_PATH_IMAGE028
And kth object feature sharding
Figure 906451DEST_PATH_IMAGE027
And carrying out secret sharing matrix operation with other N-1 parties to obtain the k-th similarity slice
Figure 37219DEST_PATH_IMAGE030
FIG. 7 illustrates a process diagram for two parties to perform a secret sharing matrix operation, according to one embodiment. Wherein the two parties are the 0 th party and the 1 st party, and, assuming that the two parties have previously passed secret sharing, obtaining auxiliary values for secret sharing matrix operation
Figure DEST_PATH_IMAGE047
Figure 474278DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE049
Wherein party 0 holds the slice
Figure 651182DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
And
Figure 635318DEST_PATH_IMAGE052
the 1 st party has a fragment
Figure DEST_PATH_IMAGE053
Figure 214067DEST_PATH_IMAGE054
And
Figure DEST_PATH_IMAGE055
. For numerical values
Figure 992667DEST_PATH_IMAGE047
Figure 391288DEST_PATH_IMAGE048
Figure 710274DEST_PATH_IMAGE049
Wherein
Figure 753316DEST_PATH_IMAGE047
Figure 328916DEST_PATH_IMAGE048
Is from a finite field
Figure 152515DEST_PATH_IMAGE056
A random number of (2), wherein
Figure DEST_PATH_IMAGE057
The method is a super-ginseng method,
Figure 212875DEST_PATH_IMAGE058
wherein
Figure DEST_PATH_IMAGE059
To represent
Figure 969479DEST_PATH_IMAGE047
And
Figure 214515DEST_PATH_IMAGE048
the product of (a) and (b),
Figure 463094DEST_PATH_IMAGE060
is a remainder symbol, used in FIG. 7
Figure DEST_PATH_IMAGE061
Refers to
Figure 77877DEST_PATH_IMAGE062
As shown in fig. 7, where party 0 holds data
Figure DEST_PATH_IMAGE063
Is divided into
Figure 626670DEST_PATH_IMAGE064
And data
Figure DEST_PATH_IMAGE065
Is divided into
Figure 731024DEST_PATH_IMAGE066
The 1 st party holds data
Figure 201319DEST_PATH_IMAGE063
Is divided into
Figure DEST_PATH_IMAGE067
And data
Figure 728116DEST_PATH_IMAGE065
Is divided into
Figure 724890DEST_PATH_IMAGE068
Two parties want to work out together
Figure DEST_PATH_IMAGE069
Next, party 0 is based on the shards it holds
Figure 187096DEST_PATH_IMAGE050
Figure 290226DEST_PATH_IMAGE051
Figure 230500DEST_PATH_IMAGE064
And
Figure 19464DEST_PATH_IMAGE066
calculate out
Figure 777205DEST_PATH_IMAGE070
And
Figure DEST_PATH_IMAGE071
in the case of a liquid crystal display device, in particular,
Figure 753251DEST_PATH_IMAGE070
=
Figure 356271DEST_PATH_IMAGE064
-
Figure 265321DEST_PATH_IMAGE050
Figure 803750DEST_PATH_IMAGE071
=
Figure 126147DEST_PATH_IMAGE066
-
Figure 470540DEST_PATH_IMAGE051
(ii) a Shards that party 1 holds based on
Figure 171780DEST_PATH_IMAGE053
Figure 209006DEST_PATH_IMAGE054
Figure 989006DEST_PATH_IMAGE067
And
Figure 340353DEST_PATH_IMAGE068
calculate out
Figure 958416DEST_PATH_IMAGE072
And
Figure DEST_PATH_IMAGE073
in the case of a liquid crystal display device, in particular,
Figure 697702DEST_PATH_IMAGE072
=
Figure 729111DEST_PATH_IMAGE067
-
Figure 618570DEST_PATH_IMAGE053
Figure 356719DEST_PATH_IMAGE073
=
Figure 798065DEST_PATH_IMAGE068
-
Figure 988874DEST_PATH_IMAGE054
then, the 0 th party and the 1 st party exchange the calculated
Figure 416445DEST_PATH_IMAGE074
And
Figure DEST_PATH_IMAGE075
to be divided into pieces. Thus, both parties 0 and 1 own
Figure 572882DEST_PATH_IMAGE070
Figure 326074DEST_PATH_IMAGE072
Figure 4180DEST_PATH_IMAGE071
And
Figure 360075DEST_PATH_IMAGE073
and is reconstructed
Figure 807237DEST_PATH_IMAGE074
And
Figure 200172DEST_PATH_IMAGE075
wherein
Figure 693471DEST_PATH_IMAGE076
Figure DEST_PATH_IMAGE077
Then, the 0 th party calculates
Figure 728423DEST_PATH_IMAGE078
1 st calculation
Figure DEST_PATH_IMAGE079
. Wherein the content of the first and second substances,
Figure 623566DEST_PATH_IMAGE080
Figure DEST_PATH_IMAGE081
finally, the 0 th and 1 st parties exchange the calculated
Figure 718561DEST_PATH_IMAGE082
To be divided into pieces. Thus, both parties 0 and 1 own
Figure 935041DEST_PATH_IMAGE078
And
Figure 570422DEST_PATH_IMAGE079
and is reconstructed
Figure DEST_PATH_IMAGE083
Figure 929859DEST_PATH_IMAGE084
Due to the fact
Figure DEST_PATH_IMAGE085
Then by reconstruction
Figure 523651DEST_PATH_IMAGE083
Then obtain
Figure 398067DEST_PATH_IMAGE069
From above, hold data
Figure 899455DEST_PATH_IMAGE063
Party 0 and holding data
Figure 175716DEST_PATH_IMAGE065
The 1 st party of (1) can calculate by secret sharing matrix operation
Figure 346934DEST_PATH_IMAGE069
. And, due to
Figure 708645DEST_PATH_IMAGE086
Therefore, it is
Figure 748145DEST_PATH_IMAGE078
And
Figure 878912DEST_PATH_IMAGE079
is in fact
Figure 486611DEST_PATH_IMAGE069
Share shards with secrets. That is, if the reconstruction of the last step is discarded
Figure 899400DEST_PATH_IMAGE083
Parties 0 and 1, may be based on data
Figure 414695DEST_PATH_IMAGE063
And
Figure 603231DEST_PATH_IMAGE065
performing secret sharing matrix operation to obtain
Figure 178569DEST_PATH_IMAGE069
Share shards with secrets. It should be noted that fig. 2 shows a process of performing secret sharing matrix operation by two parties, and the secret sharing matrix operation can be further extended to more than two parties, briefly, according to the number of participating parties and data
Figure 577189DEST_PATH_IMAGE063
And
Figure 896175DEST_PATH_IMAGE065
is divided into secret sharing fragments with corresponding quantity, and is distributed in each participant, and the auxiliary value is
Figure 939218DEST_PATH_IMAGE047
Figure 685457DEST_PATH_IMAGE048
Figure 305794DEST_PATH_IMAGE049
The secret sharing fragments are also split into corresponding number of secret sharing fragments which are distributed in each participant, and finally, each participant can correspondingly calculate
Figure 631733DEST_PATH_IMAGE069
Share a shard with a certain secret.
In the above description, the secret sharing matrix operation is described, and it can be seen from the above description that a plurality of parties can be based on data held by the parties
Figure 591599DEST_PATH_IMAGE063
And
Figure 571056DEST_PATH_IMAGE065
the sub-slices are obtained by respectively corresponding secret sharing matrix operation
Figure 881952DEST_PATH_IMAGE069
Share a shard with a certain secret. Based on this, in the embodiment of the present specification, the N parties may be based on the feature vectors of the users held by the respective parties
Figure 480423DEST_PATH_IMAGE008
And object feature vectors
Figure 294795DEST_PATH_IMAGE009
The sub-slices are obtained by respectively corresponding secret sharing matrix operation
Figure 212198DEST_PATH_IMAGE046
Of the shared secret sharding, wherein,
Figure DEST_PATH_IMAGE087
in this step, the kth party acquires the kth user feature fragment according to the kth user feature fragment
Figure 213652DEST_PATH_IMAGE028
And kth object feature sharding
Figure 740448DEST_PATH_IMAGE027
And carrying out secret sharing matrix operation with other N-1 parties to obtain
Figure 409327DEST_PATH_IMAGE046
Figure 137112DEST_PATH_IMAGE088
) The k-th slice, that is, the k-th similarity slice
Figure 219337DEST_PATH_IMAGE030
. Further, the kth party may slice the kth similarity
Figure 221928DEST_PATH_IMAGE030
And the k-th score segment
Figure 948576DEST_PATH_IMAGE026
The difference is used as the k-th error slice
Figure 643999DEST_PATH_IMAGE031
It can be shown that, because:
Figure DEST_PATH_IMAGE089
Figure 213521DEST_PATH_IMAGE090
(ii) a Therefore:
Figure DEST_PATH_IMAGE091
that is to say that the first and second electrodes,
Figure 223065DEST_PATH_IMAGE030
and
Figure 961477DEST_PATH_IMAGE026
difference of difference
Figure 499905DEST_PATH_IMAGE031
Is an error of
Figure 494406DEST_PATH_IMAGE092
To be divided into pieces.
Above, the k-th error slice is obtained
Figure 901117DEST_PATH_IMAGE031
Thereafter, on the one hand, the kth party, at step S633, slices based on the kth error
Figure 664673DEST_PATH_IMAGE031
And kth object feature sharding
Figure 374003DEST_PATH_IMAGE027
Calculating the updating gradient of the user characteristics by carrying out secret sharing matrix operation with other N-1 parties
Figure 855800DEST_PATH_IMAGE018
To obtain the k-th user gradient slice
Figure 331781DEST_PATH_IMAGE032
In particular, see equation (2) above for calculating a user update gradient, in conjunction with the foregoing, where
Figure DEST_PATH_IMAGE093
Accordingly, it can be inferred that:
Figure 153106DEST_PATH_IMAGE094
. To therein
Figure DEST_PATH_IMAGE095
The kth party may be based on the kth error slice
Figure 892392DEST_PATH_IMAGE031
And kth object feature sharding
Figure 595906DEST_PATH_IMAGE027
Obtaining the secret sharing matrix operation with other N-1 parties
Figure 845884DEST_PATH_IMAGE096
Slice k of
Figure DEST_PATH_IMAGE097
. It is to be understood that the regularization term in equation (1) is an optional term, and accordingly, in equation (2)
Figure 787295DEST_PATH_IMAGE098
Are optional and, in one embodiment, may not be considered
Figure 900745DEST_PATH_IMAGE098
And, thus,
Figure DEST_PATH_IMAGE099
and, in this step, the calculated
Figure 622713DEST_PATH_IMAGE097
As kth user gradient slice
Figure 112600DEST_PATH_IMAGE032
I.e. by
Figure 33152DEST_PATH_IMAGE100
(ii) a In another embodiment, consider
Figure 520765DEST_PATH_IMAGE098
Then, in this step, it is calculated
Figure 198871DEST_PATH_IMAGE097
Subtract kth user feature sharding
Figure DEST_PATH_IMAGE101
To obtain the k-th user gradient slice
Figure 554766DEST_PATH_IMAGE102
Thus, the k-th user gradient slice can be obtained
Figure 939611DEST_PATH_IMAGE032
. On the other hand, in step S634, based on the k-th error slice
Figure 501522DEST_PATH_IMAGE031
And kth user feature sharding
Figure 666924DEST_PATH_IMAGE028
Calculating object feature update gradient by performing secret sharing matrix operation with other N-1 parties
Figure 436297DEST_PATH_IMAGE020
Obtaining the kth object gradient slice
Figure 737965DEST_PATH_IMAGE033
. It should be noted that, as can be seen from the observation, the equations (2) and (3) have a certain degree of symmetry, so that reference may be made to the description of step S633 for the description of step S634, and no further description is given.
In the above steps S633 and S634, the kth party can obtain the kth user gradient slice
Figure 692015DEST_PATH_IMAGE032
And kth object gradient segmentation
Figure 344713DEST_PATH_IMAGE033
. Then, in step S635, slicing is performed according to the k-th user gradient
Figure 917777DEST_PATH_IMAGE032
Updating the k-th user feature slice
Figure 401848DEST_PATH_IMAGE028
(ii) a Slicing according to the k-th object gradient
Figure 464482DEST_PATH_IMAGE033
Updating the k-th object feature slice
Figure 276580DEST_PATH_IMAGE027
Specifically, the update may be performed by the following formula (4) and formula (5), respectively
Figure DEST_PATH_IMAGE103
Figure 309127DEST_PATH_IMAGE104
(4)
Figure DEST_PATH_IMAGE105
(5)
Wherein the content of the first and second substances,
Figure 788650DEST_PATH_IMAGE106
and
Figure DEST_PATH_IMAGE107
both are learning rates and super-parameters, which may be the same or different because they are manually set. In one example of the above-mentioned method,
Figure 851546DEST_PATH_IMAGE108
Figure DEST_PATH_IMAGE109
. In this way, the k-th user feature fragment and the k-th object feature fragment can be updated.
As can be seen from the above, the kth party can perform any iterative update by performing steps S631 to S635, so as to update the kth segment of the user feature vector of the first user and update the kth segment of the object feature vector of the first object according to the score of the first object by any first user. It should be noted that actually, in a certain iterative update, besides the kth slice of the single user feature vector and the single object feature vector, the kth slices of the multiple user feature vectors and the multiple object feature vectors may be updated in batches, and the size of the batch depends on the sampling number (batch size) of each update. Thus, the kth party can realize multiple iterative updates by repeatedly executing steps S631 to S635 for multiple times, and specifically, can realize the updates to the kth user matrix partition and the kth object matrix partition. By analogy, the N parties can cooperatively realize the updating of the user feature matrix and the object feature matrix, that is, the updating of the M user feature vectors and the P object feature vectors.
In one embodiment, after the process of the multiple iterative updates is finished, the multiple parties exchange matrix fragments thereof to perform feature matrix reconstruction.
In one embodiment, in a scenario where N parties each store scores of M users for a part of objects in P objects, each party needs to reconstruct the user feature matrix and an object submatrix of a corresponding part of objects in the object feature matrix. The embodiment of the method is that, on one hand, the kth party sends the updated kth user feature fragments to other N-1 parties respectively, receives the updated other user feature fragments from other N-1 parties, and then splices the updated kth user feature fragments and the received other user feature fragments to form an updated user feature matrix. On the other hand, the kth party correspondingly sends the kth fragment belonging to other object sub-matrixes in the updated kth object matrix fragment to other N-1 parties, and receives the updated other fragments belonging to the kth object sub-matrixes from other N-1 parties; and then, splicing the kth fragment belonging to the kth object sub-matrix in the updated kth object matrix fragment with the received other fragments to form an updated kth object sub-matrix.
Therefore, the k-th party can reconstruct the user characteristic matrix and the k-th object sub-matrix, and further construct an object recommendation model based on the reconstructed user characteristic matrix and the k-th object sub-matrix. For example, in order to select some objects from the objects of the kth party and recommend the selected objects to a certain user, the certain user and a plurality of candidate objects may be input into an object recommendation model, so the object recommendation model may obtain a user feature vector of the certain user from the reconstructed user feature matrix, obtain a plurality of object feature vectors corresponding to the plurality of candidate objects from the reconstructed kth object sub-matrix, then calculate similarities between the user feature vector and the plurality of object feature vectors respectively, score the user prediction on the plurality of candidate objects, and output the candidate objects with prediction scores greater than a predetermined threshold as recommendation objects recommended to the certain user.
In another embodiment, in a scenario where N parties each store scores of P objects by some users in M users, each party needs to reconstruct the object feature matrix and the user submatrix of the corresponding user in the user feature matrix. The embodiment of the method is that, on one hand, the kth party sends the updated kth object feature fragments to other N-1 parties respectively, receives the updated other object feature fragments from other N-1 parties, and then splices the updated kth object feature fragments and the received other object feature fragments to form an updated object feature matrix. On the other hand, the kth party correspondingly sends the kth fragments belonging to other user sub-matrixes in the updated kth user matrix fragments to other N-1 parties, and receives the updated other fragments belonging to the kth user sub-matrixes from other N-1 parties; and then, splicing the kth fragment belonging to the kth user sub-matrix in the updated kth user matrix fragment with the received other fragments to form an updated kth user sub-matrix. Therefore, the k-th party can reconstruct the object feature matrix and the k-th user sub-matrix, and further construct the user recommendation model based on the reconstructed object feature matrix and the k-th user sub-matrix.
In summary, by adopting the method disclosed in the embodiment of the present specification, not only plaintext exchange of score data, object data and user data is not performed by multiple parties, but also the user feature matrix and the object feature matrix are split into feature fragments, and each user feature matrix and the object feature matrix are only maintained for iterative updating of the feature fragments, and the feature matrix is reconstructed until iteration is finished, so that respective object recommendation models are constructed, and further more accurate object recommendation is made, and meanwhile, the security of privacy data in the joint training process is greatly ensured.
Corresponding to the training method, the embodiment of the specification also discloses a training device. Fig. 8 is a schematic structural diagram of an apparatus for a multi-party joint training object recommendation model for protecting data privacy according to an embodiment, where multiple parties are N parties, and the N parties jointly maintain a total scoring matrix of P objects by M users, and the apparatus is integrated in any kth party of the N parties. The apparatus may be implemented by any computing unit or server cluster having computing, processing capabilities.
As shown in fig. 8, the apparatus 800 includes: the score fragment obtaining unit 810 is configured to obtain a kth score matrix fragment of the total score matrix through secret sharing. A user fragment obtaining unit 820 configured to obtain the k-th object matrix fragment of the initialized object feature matrix of the P objects through secret sharing. The object fragment obtaining unit 830 is configured to obtain initialized kth user matrix fragments of the user feature matrices of the M users through secret sharing. An iterative update unit 840 configured to perform a plurality of iterative updates, wherein any one iterative update is performed by: a multi-segment obtaining module 841 configured to, for any first user and first object, obtain a kth scoring segment of the first object by the first user from the kth scoring matrix segment; acquiring a kth object characteristic fragment of the first object from the kth object matrix fragment of the previous iteration; acquiring a kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration; an error fragment calculation module 842 configured to perform secret sharing matrix operation with other N-1 parties based on the kth user feature fragment and the kth object feature fragment to obtain a kth similarity fragment of feature vector similarity of the first user and the first object, and taking a difference between the kth similarity fragment and the kth score fragment as a kth error fragment; the user gradient fragment calculation module 843 is configured to calculate a user characteristic update gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth object characteristic fragment, so as to obtain a kth user gradient fragment; an object gradient calculation module 844 is configured to calculate an object characteristic update gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth user characteristic fragment to obtain a kth object gradient fragment; a user segment updating module 845, configured to update the kth user feature segment according to the kth user gradient segment; an object slice updating module 846 configured to update the kth object feature slice according to the kth object gradient slice.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix; the score segment obtaining unit 810 is specifically configured to: splitting the kth scoring submatrix into N fragments, reserving the kth fragment, and correspondingly sending the other N-1 fragments to other N-1 parties; and receiving k-th fragments of other scoring matrixes from other N-1 parties; and splicing the kth fragment of the kth scoring submatrix with the kth fragment of other scoring submatrixes to form the kth scoring matrix fragment.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix, the kth scoring submatrix being defined by the M users for P in the kth partykThe scores of the individual subjects constitute.
In a specific embodiment, the object fragment obtaining unit 830 is specifically configured to: initialization PkP corresponding to each objectkThe characteristic vector of each object forms a k object sub-matrix; splitting the k object sub-matrix into N fragments through secret sharing, reserving the k fragment, and correspondingly sending other N-1 fragments to other N-1 parties; and receiving initialized kth slices of other object submatrices from other N-1 parties; dividing the k slice of the k object sub-matrix into other objectsAnd splicing the kth fragments of the submatrices to form the kth object matrix fragment.
In a specific embodiment, the kth party is a designated party for initializing the user feature vector; the user fragment obtaining unit 820 is specifically configured to: initializing M user characteristic vectors corresponding to M users to form a user characteristic matrix; and splitting the user characteristic matrix into N fragments through secret sharing, reserving the k-th user matrix fragment, and correspondingly sending other N-1 fragments to other N-1 parties.
In a specific embodiment, the apparatus 800 further includes a user matrix reconstructing unit 851 configured to: respectively sending the updated kth user characteristic fragment to other N-1 parties, and receiving the updated other user characteristic fragments from other N-1 parties; and splicing the updated kth user characteristic fragment and the received other user characteristic fragments to form an updated user characteristic matrix.
In a specific embodiment, the apparatus 800 further includes an object sub-matrix reconstructing unit 852 configured to: correspondingly sending the kth fragment belonging to other object sub-matrixes in the updated kth object matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth object sub-matrix from other N-1 parties; and splicing the kth fragment belonging to the kth object sub-matrix in the updated kth object matrix fragment with the received other fragments to form an updated kth object sub-matrix.
In one embodiment, the kth party has a kth scoring submatrix of the total scoring matrix, the kth scoring submatrix being formed by M of the kth partykThe scores of the P objects by the users are formed.
In a specific embodiment, the user fragment obtaining unit 820 is specifically configured to: initialization MkM corresponding to each userkForming a kth user sub-matrix by the user characteristic vector; the k user sub-matrix is divided into N fragments through secret sharing, the k fragment is reserved, and other N-1 fragments are correspondingly sent to other N-1 parties; and, receive initialized it from other N-1 partiesThe kth fragment of his user sub-matrix; and splicing the kth fragment of the kth user sub-matrix with the kth fragments of other user sub-matrices to form the kth user matrix fragment.
In a specific embodiment, the kth party is a designated party for initializing the object feature vector; the object fragment obtaining unit 830 is specifically configured to: initializing P object feature vectors corresponding to the P objects to form an object feature matrix; and splitting the object feature matrix into N fragments through secret sharing, reserving the k-th object matrix fragment, and correspondingly sending the other N-1 fragments to other N-1 parties.
In a specific embodiment, the apparatus 800 further comprises an object matrix reconstruction unit 861 configured to: respectively sending the updated kth object feature fragment to other N-1 parties, and receiving the updated other object feature fragments from other N-1 parties; and splicing the updated kth object feature fragment and the received other object feature fragments to form an updated object feature matrix.
In a specific embodiment, the apparatus 800 further includes a user sub-matrix reconstruction unit 862 configured to: correspondingly sending the kth fragment belonging to other user sub-matrixes in the updated kth user matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth user sub-matrix from other N-1 parties; and splicing the kth fragment belonging to the kth user sub-matrix in the updated kth user matrix fragment with the received other fragments to form an updated kth user sub-matrix.
In summary, by using the device disclosed in the embodiment of the present specification, multiple parties do not perform plaintext exchange on score data, object data, and user data, the user feature matrix and the object feature matrix are also split into feature fragments, and each user feature matrix and the object feature matrix are only maintained for iterative updating of the feature fragments, and the feature matrices are reconstructed until iteration is completed, so that respective object recommendation models are constructed, and further more accurate object recommendation is made.
According to an embodiment of another aspect, there is also provided a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method described in connection with fig. 6.
According to an embodiment of yet another aspect, there is also provided a computing device comprising a memory and a processor, the memory having stored therein executable code, the processor, when executing the executable code, implementing the method described in connection with fig. 6.
Those skilled in the art will recognize that, in one or more of the examples described above, the functions described in this invention may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
The above-mentioned embodiments, objects, technical solutions and advantages of the present invention are further described in detail, it should be understood that the above-mentioned embodiments are only exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made on the basis of the technical solutions of the present invention should be included in the scope of the present invention.

Claims (26)

1. A method for protecting a multi-party joint training object recommendation model of data privacy is disclosed, wherein the multi-party is N parties, the N parties jointly maintain total scoring matrixes of M users for P objects, the method is executed by any kth party in the N parties, and the method comprises the following steps:
acquiring a kth scoring matrix fragment of the total scoring matrix through secret sharing;
acquiring the k-th object matrix fragment of the initialized object feature matrix of the P objects and the k-th user matrix fragment of the initialized user feature matrix of the M users through secret sharing;
performing a plurality of iterative updates, wherein any iterative update comprises:
for any first user and any first object, acquiring a kth scoring fragment of the first object from the kth scoring matrix fragment by the first user; acquiring a kth object characteristic fragment of the first object from the kth object matrix fragment of the previous iteration; acquiring a kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration;
based on the kth user feature fragment and the kth object feature fragment, performing secret sharing matrix operation with other N-1 parties to obtain a kth similarity fragment of the feature vector similarity of the first user and the first object, and taking the difference between the kth similarity fragment and the kth scoring fragment as a kth error fragment;
calculating a user characteristic updating gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth object characteristic fragment to obtain a kth user gradient fragment;
calculating an object characteristic updating gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth user characteristic fragment to obtain a kth object gradient fragment;
updating the kth user characteristic fragment according to the kth user gradient fragment; and updating the k object feature fragment according to the k object gradient fragment.
2. The method of claim 1, wherein the kth party has a kth scoring submatrix of the total scoring matrix; the obtaining of the kth scoring matrix segment of the total scoring matrix through secret sharing includes:
splitting the kth scoring submatrix into N fragments, reserving the kth fragment, and correspondingly sending the other N-1 fragments to other N-1 parties; and receiving k-th fragments of other scoring matrixes from other N-1 parties;
and splicing the kth fragment of the kth scoring submatrix with the kth fragments of other scoring submatrixes to form the kth scoring matrix fragment.
3. The method of claim 1, wherein the kth party toolA k-th scoring submatrix with the total scoring matrix, wherein the k-th scoring submatrix is used for the P in the k-th party by the M userskThe scores of the individual subjects constitute.
4. The method of claim 3, wherein the obtaining the initialized kth object matrix slice of the object feature matrices of the P objects comprises:
initialization PkP corresponding to each objectkThe characteristic vector of each object forms a k object sub-matrix;
splitting the k object sub-matrix into N fragments through secret sharing, reserving the k fragment, and correspondingly sending other N-1 fragments to other N-1 parties; and receiving initialized kth slices of other object submatrices from other N-1 parties;
and splicing the kth fragment of the kth object sub-matrix and the kth fragments of other object sub-matrices to form the kth object matrix fragment.
5. The method of claim 3, wherein the kth party is a designated party that initializes the user feature vector; the acquiring the initialized kth user matrix segment of the user feature matrices of the M users includes:
initializing M user characteristic vectors corresponding to M users to form a user characteristic matrix;
and splitting the user characteristic matrix into N fragments through secret sharing, reserving the k-th user matrix fragment, and correspondingly sending other N-1 fragments to other N-1 parties.
6. The method of claim 3, wherein after the performing a plurality of iterative updates, the method further comprises:
respectively sending the updated kth user characteristic fragment to other N-1 parties, and receiving the updated other user characteristic fragments from other N-1 parties;
and splicing the updated kth user characteristic fragment and the received other user characteristic fragments to form an updated user characteristic matrix.
7. The method of claim 4, wherein after the performing a plurality of iterative updates, the method further comprises:
correspondingly sending the kth fragment belonging to other object sub-matrixes in the updated kth object matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth object sub-matrix from other N-1 parties;
and splicing the kth fragment belonging to the kth object sub-matrix in the updated kth object matrix fragment with the received other fragments to form an updated kth object sub-matrix.
8. The method of claim 1, wherein the kth party has a kth sub-matrix of scores of the total score matrix, the kth sub-matrix of scores being defined by M of the kth partykThe scores of the P objects by the users are formed.
9. The method of claim 8, wherein the obtaining the initialized kth user matrix slice of the user feature matrices of the M users comprises:
initialization MkM corresponding to each userkForming a kth user sub-matrix by the user characteristic vector;
the k user sub-matrix is divided into N fragments through secret sharing, the k fragment is reserved, and other N-1 fragments are correspondingly sent to other N-1 parties; and receiving initialized kth slices of other user submatrices from other N-1 parties;
and splicing the kth fragment of the kth user sub-matrix with the kth fragments of other user sub-matrices to form the kth user matrix fragment.
10. The method of claim 8, wherein the kth party is a designated party that initializes the object feature vector; the acquiring the initialized kth object matrix slice of the object feature matrices of the P objects includes:
initializing P object feature vectors corresponding to the P objects to form an object feature matrix;
and splitting the object feature matrix into N fragments through secret sharing, reserving the k-th object matrix fragment, and correspondingly sending the other N-1 fragments to other N-1 parties.
11. The method of claim 8, wherein after the performing a plurality of iterative updates, the method further comprises:
respectively sending the updated kth object feature fragment to other N-1 parties, and receiving the updated other object feature fragments from other N-1 parties;
and splicing the updated kth object feature fragment and the received other object feature fragments to form an updated object feature matrix.
12. The method of claim 9, wherein after the performing a plurality of iterative updates, the method further comprises:
correspondingly sending the kth fragment belonging to other user sub-matrixes in the updated kth user matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth user sub-matrix from other N-1 parties;
and splicing the kth fragment belonging to the kth user sub-matrix in the updated kth user matrix fragment with the received other fragments to form an updated kth user sub-matrix.
13. A device for protecting a multi-party joint training object recommendation model of data privacy is disclosed, wherein the multi-party is N parties, the N parties jointly maintain a total scoring matrix of P objects by M users, the device is integrated in any kth party of the N parties, and the device comprises:
the scoring fragment acquisition unit is configured to acquire the kth scoring matrix fragment of the total scoring matrix through secret sharing;
the user fragment acquisition unit is configured to acquire the k-th object matrix fragment of the initialized object feature matrix of the P objects through secret sharing;
the object fragment acquisition unit is configured to acquire initialized kth user matrix fragments of the user feature matrices of the M users through secret sharing;
an iterative update unit configured to perform a plurality of iterative updates, wherein any one iterative update is performed by:
the multi-segment acquisition module is configured to acquire a kth scoring segment of the first object from the kth scoring matrix segment for any first user and any first object; acquiring a kth object characteristic fragment of the first object from the kth object matrix fragment of the previous iteration; acquiring a kth user characteristic fragment of the first user from the kth user matrix fragment of the last iteration;
the error fragment calculation module is configured to perform secret sharing matrix operation with other N-1 parties based on the kth user feature fragment and the kth object feature fragment to obtain a kth similarity fragment of feature vector similarity of the first user and the first object, and taking the difference between the kth similarity fragment and the kth score fragment as a kth error fragment;
the user gradient fragment calculation module is configured to calculate a user characteristic update gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth object characteristic fragment to obtain a kth user gradient fragment;
the object gradient calculation module is configured to calculate an object characteristic update gradient by performing secret sharing matrix operation with other N-1 parties based on the kth error fragment and the kth user characteristic fragment to obtain a kth object gradient fragment;
a user segment updating module configured to update the kth user feature segment according to the kth user gradient segment;
and the object fragment updating module is configured to update the kth object feature fragment according to the kth object gradient fragment.
14. The apparatus of claim 13, wherein the kth party has a kth scoring submatrix of the total scoring matrix; the score fragment acquisition unit is specifically configured to:
splitting the kth scoring submatrix into N fragments, reserving the kth fragment, and correspondingly sending the other N-1 fragments to other N-1 parties; and receiving k-th fragments of other scoring matrixes from other N-1 parties;
and splicing the kth fragment of the kth scoring submatrix with the kth fragments of other scoring submatrixes to form the kth scoring matrix fragment.
15. The apparatus of claim 13, wherein the kth party has a kth sub-matrix of scores of the total score matrix, the kth sub-matrix of scores being for P in the kth party by M userskThe scores of the individual subjects constitute.
16. The apparatus according to claim 15, wherein the object slice obtaining unit is specifically configured to:
initialization PkP corresponding to each objectkThe characteristic vector of each object forms a k object sub-matrix;
splitting the k object sub-matrix into N fragments through secret sharing, reserving the k fragment, and correspondingly sending other N-1 fragments to other N-1 parties; and receiving initialized kth slices of other object submatrices from other N-1 parties;
and splicing the kth fragment of the kth object sub-matrix and the kth fragments of other object sub-matrices to form the kth object matrix fragment.
17. The apparatus of claim 15, wherein the kth party is a designated party that initializes a user feature vector; the user fragment acquiring unit is specifically configured to:
initializing M user characteristic vectors corresponding to M users to form a user characteristic matrix;
and splitting the user characteristic matrix into N fragments through secret sharing, reserving the k-th user matrix fragment, and correspondingly sending other N-1 fragments to other N-1 parties.
18. The apparatus of claim 15, wherein the apparatus further comprises a user matrix reconstruction unit configured to:
respectively sending the updated kth user characteristic fragment to other N-1 parties, and receiving the updated other user characteristic fragments from other N-1 parties;
and splicing the updated kth user characteristic fragment and the received other user characteristic fragments to form an updated user characteristic matrix.
19. The apparatus according to claim 16, wherein the apparatus further comprises an object sub-matrix reconstruction unit configured to:
correspondingly sending the kth fragment belonging to other object sub-matrixes in the updated kth object matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth object sub-matrix from other N-1 parties;
and splicing the kth fragment belonging to the kth object sub-matrix in the updated kth object matrix fragment with the received other fragments to form an updated kth object sub-matrix.
20. The apparatus of claim 13, wherein the kth party has a kth sub-matrix of scores of the total score matrix, the kth sub-matrix of scores being defined by M of the kth partykThe scores of the P objects by the users are formed.
21. The apparatus according to claim 20, wherein the user slice acquiring unit is specifically configured to:
initialization MkM corresponding to each userkForming a kth user sub-matrix by the user characteristic vector;
the k user sub-matrix is divided into N fragments through secret sharing, the k fragment is reserved, and other N-1 fragments are correspondingly sent to other N-1 parties; and receiving initialized kth slices of other user submatrices from other N-1 parties;
and splicing the kth fragment of the kth user sub-matrix with the kth fragments of other user sub-matrices to form the kth user matrix fragment.
22. The apparatus of claim 20, wherein the kth party is a designated party that initializes an object feature vector; the object fragment obtaining unit is specifically configured to:
initializing P object feature vectors corresponding to the P objects to form an object feature matrix;
and splitting the object feature matrix into N fragments through secret sharing, reserving the k-th object matrix fragment, and correspondingly sending the other N-1 fragments to other N-1 parties.
23. The apparatus according to claim 21, wherein the apparatus further comprises an object matrix reconstruction unit configured to:
respectively sending the updated kth object feature fragment to other N-1 parties, and receiving the updated other object feature fragments from other N-1 parties;
and splicing the updated kth object feature fragment and the received other object feature fragments to form an updated object feature matrix.
24. The apparatus of claim 21, wherein the apparatus further comprises a user sub-matrix reconstruction unit configured to:
correspondingly sending the kth fragment belonging to other user sub-matrixes in the updated kth user matrix fragment to other N-1 parties, and receiving the updated other fragments belonging to the kth user sub-matrix from other N-1 parties;
and splicing the kth fragment belonging to the kth user sub-matrix in the updated kth user matrix fragment with the received other fragments to form an updated kth user sub-matrix.
25. A computer-readable storage medium, on which a computer program is stored, wherein the computer program, when executed in a computer, causes the computer to perform the method of any of claims 1-12.
26. A computing device comprising a memory and a processor, wherein the memory has stored therein executable code that when executed by the processor implements the method of any of claims 1-12.
CN202010384206.4A 2020-05-09 2020-05-09 Method and device for protecting data privacy of multi-party combined training object recommendation model Active CN111291417B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010384206.4A CN111291417B (en) 2020-05-09 2020-05-09 Method and device for protecting data privacy of multi-party combined training object recommendation model
PCT/CN2021/092179 WO2021227959A1 (en) 2020-05-09 2021-05-07 Data privacy protected multi-party joint training of object recommendation model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010384206.4A CN111291417B (en) 2020-05-09 2020-05-09 Method and device for protecting data privacy of multi-party combined training object recommendation model

Publications (2)

Publication Number Publication Date
CN111291417A true CN111291417A (en) 2020-06-16
CN111291417B CN111291417B (en) 2020-08-28

Family

ID=71029680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010384206.4A Active CN111291417B (en) 2020-05-09 2020-05-09 Method and device for protecting data privacy of multi-party combined training object recommendation model

Country Status (2)

Country Link
CN (1) CN111291417B (en)
WO (1) WO2021227959A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800466A (en) * 2021-02-10 2021-05-14 支付宝(杭州)信息技术有限公司 Data processing method and device based on privacy protection and server
CN113094739A (en) * 2021-03-05 2021-07-09 支付宝(杭州)信息技术有限公司 Data processing method and device based on privacy protection and server
WO2021227959A1 (en) * 2020-05-09 2021-11-18 支付宝(杭州)信息技术有限公司 Data privacy protected multi-party joint training of object recommendation model

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145792A (en) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 Multi-user's secret protection data clustering method and system based on ciphertext data
CN109034398A (en) * 2018-08-10 2018-12-18 深圳前海微众银行股份有限公司 Feature selection approach, device and storage medium based on federation's training
CN109902109A (en) * 2019-02-20 2019-06-18 北京邮电大学 A kind of multiparty collaboration data digging method and device
CN111079022A (en) * 2019-12-20 2020-04-28 深圳前海微众银行股份有限公司 Personalized recommendation method, device, equipment and medium based on federal learning

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216954B2 (en) * 2016-06-27 2019-02-26 International Business Machines Corporation Privacy detection of a mobile application program
CN107563841B (en) * 2017-08-03 2021-02-05 电子科技大学 Recommendation system based on user score decomposition
BR112019008135B1 (en) * 2018-10-17 2022-01-04 Advanced New Technologies Co., Ltd. COMPUTER IMPLEMENTED METHOD, COMPUTER READIBLE MEDIUM AND COMPUTER IMPLEMENTED SYSTEM
CN111291417B (en) * 2020-05-09 2020-08-28 支付宝(杭州)信息技术有限公司 Method and device for protecting data privacy of multi-party combined training object recommendation model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145792A (en) * 2017-04-07 2017-09-08 哈尔滨工业大学深圳研究生院 Multi-user's secret protection data clustering method and system based on ciphertext data
CN109034398A (en) * 2018-08-10 2018-12-18 深圳前海微众银行股份有限公司 Feature selection approach, device and storage medium based on federation's training
CN109902109A (en) * 2019-02-20 2019-06-18 北京邮电大学 A kind of multiparty collaboration data digging method and device
CN111079022A (en) * 2019-12-20 2020-04-28 深圳前海微众银行股份有限公司 Personalized recommendation method, device, equipment and medium based on federal learning

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021227959A1 (en) * 2020-05-09 2021-11-18 支付宝(杭州)信息技术有限公司 Data privacy protected multi-party joint training of object recommendation model
CN112800466A (en) * 2021-02-10 2021-05-14 支付宝(杭州)信息技术有限公司 Data processing method and device based on privacy protection and server
CN112800466B (en) * 2021-02-10 2022-04-22 支付宝(杭州)信息技术有限公司 Data processing method and device based on privacy protection and server
CN113094739A (en) * 2021-03-05 2021-07-09 支付宝(杭州)信息技术有限公司 Data processing method and device based on privacy protection and server
CN113094739B (en) * 2021-03-05 2022-04-22 支付宝(杭州)信息技术有限公司 Data processing method and device based on privacy protection and server

Also Published As

Publication number Publication date
WO2021227959A1 (en) 2021-11-18
CN111291417B (en) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111291417B (en) Method and device for protecting data privacy of multi-party combined training object recommendation model
CN111738361B (en) Joint training method and device for business model
CN112818290B (en) Method and device for determining object feature correlation in privacy data by multiparty combination
CN110955915B (en) Method and device for processing private data
CN111080397A (en) Credit evaluation method and device and electronic equipment
CN113505882A (en) Data processing method based on federal neural network model, related equipment and medium
EP3806070A1 (en) Secret aggregate function calculation system, secret calculation device, secret aggregate function calculation method, and program
CN115632761B (en) Multi-user distributed privacy protection regression method and device based on secret sharing
US10922606B2 (en) Multi-directional reduction in large scale deep-learning
EP3975023A1 (en) Trusted execution environment-based model training methods and apparatuses
TW202006571A (en) Method and apparatus for embedding relational network diagram
WO2019127845A1 (en) Recording recommendation method, device, apparatus, and computer readable storage medium
CN106257910A (en) Image processing apparatus and image processing method
CN114691167A (en) Method and device for updating machine learning model
CN113271486B (en) Interactive video processing method, device, computer equipment and storage medium
CN111797319B (en) Recommendation method, recommendation device, recommendation equipment and storage medium
US20210374520A1 (en) Personalized recommendations using a transformer neural network
Wang et al. QPIN: a quantum-inspired preference interactive network for E-commerce recommendation
Pereira de Araújo Folding protein models with a simple hydrophobic energy function: The fundamental importance of monomer inside/outside segregation
CN115409095A (en) Multi-party Poisson regression privacy computation model training method and device and storage medium
US20220067052A1 (en) Providing dynamically customized rankings of game items
JP2019114053A (en) Recommending apparatus, recommending method and recommending program
CN113407988A (en) Method and device for determining effective value of service data characteristic of control traffic
CN117077179B (en) Searchable encryption method, device, equipment and medium based on differential privacy ordering
CN114764724A (en) User attribute prediction method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40029452

Country of ref document: HK