CPC H04L 63/0428 (2013.01) [G06F 17/16 (2013.01); G06F 18/2113 (2023.01); G06F 18/24 (2023.01); G06N 3/04 (2013.01); G06N 3/082 (2013.01); G06Q 20/401 (2013.01); G06Q 30/0623 (2013.01); H04L 9/008 (2013.01); H04L 9/0625 (2013.01); G06Q 2220/00 (2013.01); H04L 2209/46 (2013.01)] | 18 Claims |
1. A method comprising:
initiating, at a server device, an item-vector matrix V, wherein the item-vector matrix V comprises a value m related to a total number of items across one or more client devices and a value d representing a hidden dimension which is not directly observable from input or output;
transmitting the item-vector matrix V to each client device of a set of client devices, wherein each client device trains a local matrix factorization model comprising a version of a recommendation system using a respective user vector U and the item-vector matrix V to generate a respective set of gradients on each respective client device;
receiving, via a secure multi-party compute protocol to enable parties to perform multiplication and comparison securely, and from each client device of the set of client devices, the respective set of gradients;
updating the item-vector matrix V using the respective set of gradients from each client device to generate an updated item-vector matrix V by aggregating the respective set of gradients from each client device to generate the updated item-vector matrix V; and
downloading the updated item-vector matrix V to at least one client device of the set of client devices.
|