IP Library Granted Patent US 10,803,184
Granted Patent B2
US 10,803,184 · App. 16/787,151 · Granted Oct 13, 2020

Generation of a model parameter

Inventors: Yashun Zhou (Hangzhou, CN); Lichun Li (Hangzhou, CN); Shan Yin (Hangzhou, CN); Huazhong Wang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F21/60G06N20/00H04L9/085G06F17/16G06F2221/2115
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,803,184
App. No.
16/787,151
Granted
Oct 13, 2020
Kind
B2
Abstract

Implementations of the present specification provide method for determining a new model parameter for a data processing model. The method includes determining and receiving, from one or more other data parties, one or more other shares of a new model parameter. The one or more other shares of the new model parameter can be combined with a first share of the new model parameter determined by a first data party to produce a new model parameter. The new model parameter is used to train the data processing model.

Claims (87)

1. A computer-implemented method for determining a new model parameter for a data processing model, comprising:

accessing, by a first data party, a first share of a first model parameter;

receiving, from a trusted party, a first share of a random orthogonal matrix;

determining a first share of a first product using sample data and a share of the first model parameter

determining a first share of a value of an existing activation function using the existing activation function and the first share of the first product, wherein the existing activation function is used to construct the data processing model;

determining a first share of a gradient of an existing loss function using the existing loss function, the value of the existing activation function, and the sample data, wherein the existing loss function is used to measure a degree of inconsistency between a predicted value and an actual value of the data processing model, and wherein the sample data is used to train the data processing model;

determining a first share of a hessian matrix using the sample data and the first share of the gradient of the existing loss function, wherein the hessian matrix is a square matrix representing a local curvature of the existing loss function;

determining a first share of a second product using the first share of the random orthogonal matrix and the first share of the hessian matrix, wherein the second product is a matrix with a condition number;

when the condition number satisfies a predetermined condition, determining a first share of a first inverse matrix using the first share of the hessian matrix;

determining a first share of the new model parameter using the first share of the first model parameter, the first share of the first inverse matrix, and the first share of the gradient of the existing loss function;

receiving, from one or more other data parties, one or more other shares of the new model parameter, wherein the one or more other shares of the new model parameter can be combined with the first share of the new model parameter to produce the whole of the new model parameter; and

using the whole of the new model parameter to train the data processing model,

wherein two or more shares of the first model parameter, the random orthogonal matrix, the first product, the value of the existing activation function, the gradient of the existing loss function, the hessian matrix, the second product, the first inverse matrix, or the new model parameter can be combined to produce a whole of the first model parameter, the random orthogonal matrix, the first product, the value of the existing activation function, the gradient of the existing loss function, the hessian matrix, the second product, the first inverse matrix, or the new model parameter, respectively.

2. The computer-implemented method of claim 1 , further comprising:

calculating the share of the new model parameter based on the share of the first model parameter, the first share of the gradient of the existing loss function, and a predetermined step size when the condition number of the second product does not satisfy the predetermined condition.

3. The computer-implemented method of claim 1 , further comprising:

repeatedly performing steps comprising the computer-implemented method of claim 1 to receive, by the first data party, one or more other shares of a second new model parameter, wherein the second new model parameter is used by one or more data parties to train the data processing model.

4. The computer-implemented method of claim 1 , wherein determining a first share of a value of an existing activation function comprises:

determining a value of a polynomial based on the first share of the first model parameter and the sample data wherein the polynomial is used to fit the existing activation function.

5. The computer-implemented method of claim 1 , further comprising:

sending the first share of the second product to another data party, wherein the other data party calculates the condition number of the second product; and

receiving the condition number of the second product, by the first data party.

6. The computer-implemented method of claim 1 , wherein determining the first share of the first inverse matrix comprises:

receiving a share of the second product that is sent by another data party;

adding the share of the second product that is held by the first data party and the received share of the second product, to obtain the whole of the second product;

calculating an inverse matrix of the whole of the second product; and

multiplying the inverse matrix by the first share of the random orthogonal matrix, to obtain the first share of the first inverse matrix.

7. The computer-implemented method of claim 1 , further comprising:

determining a share of an additional product using the first share of the first inverse matrix and the first share of the gradient of the existing loss function; and

subtracting the share of the additional product from the share of the first model parameter, to determining the first share of the new model parameter.

8. The computer-implemented method of claim 1 , further comprising:

determining a share of an additional product using the first share of the gradient of the existing loss function and a predetermined step size; and

subtracting the share of the additional product from the share of the first model parameter, to determining the first share of the new model parameter.

9. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations for determining a new model parameter for a data processing model, wherein the operations comprise:

accessing, by a first data party, a first share of a first model parameter;

receiving, from a trusted party, a first share of a random orthogonal matrix;

determining a first share of a first product using sample data and a share of the first model parameter

determining a first share of a value of an existing activation function using the existing activation function and the first share of the first product, wherein the existing activation function is used to construct the data processing model;

determining a first share of a gradient of an existing loss function using the existing loss function, the value of the existing activation function, and the sample data, wherein the existing loss function is used to measure a degree of inconsistency between a predicted value and an actual value of the data processing model, and wherein the sample data is used to train the data processing model;

determining a first share of a hessian matrix using the sample data and the first share of the gradient of the existing loss function, wherein the hessian matrix is a square matrix representing a local curvature of the existing loss function;

determining a first share of a second product using the first share of the random orthogonal matrix and the first share of the hessian matrix, wherein the second product is a matrix with a condition number;

when the condition number satisfies a predetermined condition, determining a first share of a first inverse matrix using the first share of the hessian matrix;

determining a first share of the new model parameter using the first share of the first model parameter, the first share of the first inverse matrix, and the first share of the gradient of the existing loss function;

receiving, from one or more other data parties, one or more other shares of the new model parameter, wherein the one or more other shares of the new model parameter can be combined with the first share of the new model parameter to produce the whole of the new model parameter; and

using the whole of the new model parameter to train the data processing model,

wherein two or more shares of the first model parameter, the random orthogonal matrix, the first product, the value of the existing activation function, the gradient of the existing loss function, the hessian matrix, the second product, the first inverse matrix, or the new model parameter can be combined to produce a whole of the first model parameter, the random orthogonal matrix, the first product, the value of the existing activation function, the gradient of the existing loss function, the hessian matrix, the second product, the first inverse matrix, or the new model parameter, respectively.

10. The non-transitory, computer-readable medium of claim 9 , further comprising:

calculating the share of the new model parameter based on the share of the first model parameter, the first share of the gradient of the existing loss function, and a predetermined step size when the condition number of the second product does not satisfy the predetermined condition.

11. The non-transitory, computer-readable medium of claim 9 , further comprising:

repeatedly performing steps comprising the operations of claim 9 to receive, by the first data party, one or more other shares of a second new model parameter, wherein the second new model parameter is used by one or more data parties to train the data processing model.

12. The non-transitory, computer-readable medium of claim 9 , wherein determining a first share of a value of an existing activation function comprises:

determining a value of a polynomial based on the first share of the first model parameter and the sample data wherein the polynomial is used to fit the existing activation function.

13. The non-transitory, computer-readable medium of claim 9 , further comprising:

sending the first share of the second product to another data party, wherein the other data party calculates the condition number of the second product; and

receiving the condition number of the second product, by the first data party.

14. The non-transitory, computer-readable medium of claim 9 , wherein determining the first share of the first inverse matrix comprises:

receiving a share of the second product that is sent by another data party;

adding the share of the second product that is held by the first data party and the received share of the second product, to obtain the whole of the second product;

calculating an inverse matrix of the whole of the second product; and

multiplying the inverse matrix by the first share of the random orthogonal matrix, to obtain the first share of the first inverse matrix.

15. The non-transitory, computer-readable medium of claim 9 , further comprising:

determining a share of an additional product using the first share of the first inverse matrix and the first share of the gradient of the existing loss function; and

subtracting the share of the additional product from the share of the first model parameter, to determining the first share of the new model parameter.

16. The non-transitory, computer-readable medium of claim 9 , further comprising:

determining a share of an additional product using the first share of the gradient of the existing loss function and a predetermined step size; and

subtracting the share of the additional product from the share of the first model parameter, to determining the first share of the new model parameter.

17. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations for determining a new model parameter for a data processing model, wherein the operations comprise:

accessing, by a first data party, a first share of a first model parameter;

receiving, from a trusted party, a first share of a random orthogonal matrix;

determining a first share of a first product using sample data and a share of the first model parameter

determining a first share of a value of an existing activation function using the existing activation function and the first share of the first product, wherein the existing activation function is used to construct the data processing model;

determining a first share of a gradient of an existing loss function using the existing loss function, the value of the existing activation function, and the sample data, wherein the existing loss function is used to measure a degree of inconsistency between a predicted value and an actual value of the data processing model, and wherein the sample data is used to train the data processing model;

determining a first share of a hessian matrix using the sample data and the first share of the gradient of the existing loss function, wherein the hessian matrix is a square matrix representing a local curvature of the existing loss function;

determining a first share of a second product using the first share of the random orthogonal matrix and the first share of the hessian matrix, wherein the second product is a matrix with a condition number;

when the condition number satisfies a predetermined condition, determining a first share of a first inverse matrix using the first share of the hessian matrix;

determining a first share of the new model parameter using the first share of the first model parameter, the first share of the first inverse matrix, and the first share of the gradient of the existing loss function;

receiving, from one or more other data parties, one or more other shares of the new model parameter, wherein the one or more other shares of the new model parameter can be combined with the first share of the new model parameter to produce the whole of the new model parameter; and

using the whole of the new model parameter to train the data processing model,

wherein two or more shares of the first model parameter, the random orthogonal matrix, the first product, the value of the existing activation function, the gradient of the existing loss function, the hessian matrix, the second product, the first inverse matrix, or the new model parameter can be combined to produce a whole of the first model parameter, the random orthogonal matrix, the first product, the value of the existing activation function, the gradient of the existing loss function, the hessian matrix, the second product, the first inverse matrix, or the new model parameter, respectively.

18. The computer-implemented system of claim 17 , further comprising:

calculating the share of the new model parameter based on the share of the first model parameter, the first share of the gradient of the loss function, and a predetermined step size when the condition number of the second product does not satisfy the predetermined condition.

19. The computer-implemented system of claim 17 , further comprising:

repeatedly performing steps comprising the operations of claim 17 to receive, by the first data party, one or more other shares of a second new model parameter, wherein the second new model parameter is used by one or more data parties to train the data processing model.

20. The computer-implemented system of claim 17 , wherein determining a first share of a value of an existing activation function comprises:

determining a value of a polynomial based on the first share of the first model parameter and the sample data wherein the polynomial is used to fit the existing activation function.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2020
From: ZHOU, YASHUN; LI, LICHUN; YIN, SHAN; WANG, HUAZHONG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052564/0013 →