US 11,755,884 B2
Distributed machine learning with privacy protection
Sean Stephen Eilert, Penryn, CA (US); Shivasankar Gunasekaran, Folsom, CA (US); Ameen D. Akel, Rancho Cordova, CA (US); Kenneth Marion Curewitz, Cameron Park, CA (US); and Hongyu Wang, Folsom, CA (US)
Assigned to Micron Technology, Inc., Boise, ID (US)
Filed by Micron Technology, Inc., Boise, ID (US)
Filed on Aug. 20, 2019, as Appl. No. 16/545,813.
Prior Publication US 2021/0056387 A1, Feb. 25, 2021
Int. Cl. G06N 3/04 (2023.01); G06N 3/045 (2023.01); G06N 20/20 (2019.01); G06N 3/048 (2023.01)
CPC G06N 3/045 (2023.01) [G06N 3/048 (2023.01); G06N 20/20 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
hosting, by a first computing device, a master version of an artificial neural network (ANN);
receiving, by the first computing device, first changes to a first local version of the ANN from training of the first local version of the ANN hosted by a second computing device;
receiving, by the first computing device, second changes to a second local version of the ANN from training of the second local version of the ANN hosted by a third computing device; and
combining, by the first computing device, the first changes to the first local version of the ANN and the second changes to the second local version of the ANN with the master version of the ANN to generate an updated master version of the ANN, wherein:
the first changes are different from the second changes; and
combining the received changes to the local version of the ANN with the master version of the ANN comprises combining neuron attributes of the local version of the ANN in the received changes with corresponding neuron attributes of the master version of the ANN by:
generating a weighted average for each neuron attribute of the local version in the changes and its corresponding attribute of the master version according to a generated weight;
generating the generated weight based on a size of the user data locally stored in the second computing device used for input for the training of the local version of the ANN; and
updating the corresponding attributes of the master version according to the generated weighted averages.