Patent · US2020334524A1 · A1 · US
Edge learning
- (11) Publication number
- US2020334524A1
- (21) Application number
- 16/386,700
- (22) Filing date
- 2019-04-17
- (30) Priority date
- 2019-04-17
- (43) Publication date
- 2020-10-22
- (51) IPC
- G06N 20/00; G06N 3/08; G06V 10/774; G06V 10/776
- (52) CPC
- H04L Transmission of digital information, e.g. telegraphic communication: 67/12, 67/10
- G06N Computing arrangements based on specific computational models: 20/00, 3/045, 3/0464, 3/0495, 3/08, 3/088, 3/09, 3/094, 3/098
- G06V Image or video recognition or understanding: 10/774, 10/776, 10/95, 20/56
- H04W Wireless communication networks: 4/38, 4/70
- (73) Assignee
- Here Global BV
- (72) Inventors
- Michael Sprague; Amir Jalalirad; Marco Scavuzzo; Catalin Capota
- (54) Title
- Edge learning
- (57) Abstract
Systems and methods are provided for training a model on a large number of devices where, for example, each device acquires a local set of training data without sharing data sets across the devices. The devices train the model on the respective device's set of training data. The devices communicate a parameter vector from the trained model asynchronously with a parameter server. The parameter server updates a master parameter vector and transmits the master parameter vector to the respective device. The update rate of the devices is decoupled from the size of the data that is available to the devices and the computational power of the devices by over or under sampling the local training data.
- Full text
- View on Google Patents
Claims (1)
- A device for training a model, the device comprising at least one sensor configured to acquire a plurality of data instances; a communication interface configured to communicate with a parameter server; and a device processor configured to train the model using a threshold quantity of the data instances of the plurality of data instances; the device processor configured to over sample or under sample the plurality of data instances to equal the threshold quantity; the device processor further configured to transmit a parameter vector of the trained model to the parameter server and receive in response, an updated central parameter vector from the parameter server derived from the model; the device processor further configured to retrain the model using the updated central parameter vector; wherein the at least one sensor acquires different data instances than other sensors of the other devices that are training respective models; wherein at least one transmission between the device and the parameter server occurs asynchronously with respect to the other devices that are training respective models. 2. The device of claim 1, wherein the device processor is configured to over sample or under sample the plurality of data instances so that when a number of data instances available to the device processor is larger than the threshold quantity, the device processor samples the threshold quantity of data instances and when the number of data instances available to the device processor is smaller than the threshold quantity, the device processor samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold quantity is reached. 3. The device of claim 1, wherein the device processor is further configured to receive in response to the transmission of the parameter vector to the parameter server, an updated threshold quantity from the parameter server, wherein the device processor is further configured to retrain using the updated threshold quantity of the data instances of the plurality of data instances. 4. The device of claim 3, wherein the device processor is configured to over sample or under sample the plurality of data instances so that when a number of data instances available to the device processor is larger than the updated threshold quantity, the device processor samples the updated threshold quantity of data instances and when the number of data instances available to the device processor is smaller than the updated threshold quantity, the device processor samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the updated threshold quantity is reached. 5. The device of claim 3, wherein the updated threshold quantity is calculated as a function of a number of updates transmitted by the device to the parameter server compared to a predetermined number of updates from all devices. 6. The device of claim 3, wherein the updated threshold quantity is calculated as a function of a first parameter and the threshold quantity. 7. The device of claim 1, wherein the plurality of data instances is image data, and the model is trained to identify a position of the device. 8. The device of claim 1, wherein the plurality of data instances is search text data, and the model is trained to recommend a point of interest based on the search text data. 9. The device of claim 1, wherein training the model includes a gradient descent-based process. 10. The device of claim 1, wherein the at least one sensor is coupled with a vehicle. 11. The device of claim 1, wherein the model comprises a generative adversarial network, wherein the device processor is configured to train the model using an adversarial training process. 12. The device of claim 1, wherein the plurality of data instances is labeled, and the model is trained using a supervised training process. 13. The device of claim 1, wherein the updated central parameter is transmitted to the device prior to the updated central parameter being altered again. 14. A method for training a model using a plurality of distributed worker devices, the method comprising: identifying, by a worker device, a plurality of data instances; selecting, by the worker device, a first set of data instances from the plurality of data instances as a function of a threshold quantity received from a parameter server; training, by the worker device, the model using the first set of data instances and a set of first parameters; transmitting, by the worker device, a set of second parameters of the trained model to the parameter server; receiving, by the worker device, a set of third parameters from the parameter server and an updated threshold quantity, wherein the set of third parameters is calculated at least partially as a function of the set of second parameters; selecting, by the worker device, a second set of data instances from the plurality of data instances as a function of the updated threshold quantity received from a parameter server; and training, by the worker device, the model using the second set of data instances and the set of third parameters. 15. The method of claim 14, wherein selecting the first set of data instances comprises: over sampling or under sampling the plurality of data instances so that when a number of data instances available to the worker device is larger than the threshold quantity, the worker device samples the threshold quantity of data instances and when the number of data instances available to the worker device is smaller than the threshold quantity, the worker device samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold quantity is reached. 16. The method of claim 14, wherein the plurality of data instances is accessible only on the worker device. 17. The method of claim 14, wherein the plurality of data instances is image data and the model is an image recognition model. 18. A computer-readable, non-transitory medium storing a program that causes a computer to execute a method comprising: identifying, by a worker device, a plurality of data instances; selecting, by the worker device, a first set of data instances from the plurality of data instances as a function of a threshold value received from a parameter server; training, by the worker device, a model using the first set of data instances and a set of first parameters; transmitting, by the worker device, a set of second parameters of the trained model to the parameter server; receiving, by the worker device, a set of third parameters from the parameter server, wherein the set of third parameters is calculated at least partially as a function of the set of second parameters; selecting, by the worker device, a second set of data instances from the plurality of data instances as a function of the threshold value; and training, by the worker device, the model using the second set of data instances and the set of third parameters. 19. The computer-readable, non-transitory medium of claim 18, wherein selecting the first set of data instances comprises: over sampling or under sampling the plurality of data instances so that when a number of data instances available to the worker device is larger than the threshold value, the worker device samples the threshold value of data instances and when the number of data instances available to the worker device is smaller than the threshold quantity, the worker device samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold value is reached. 20. The computer-readable, non-transitory medium of claim 18, wherein the plurality of data instances is accessible only on the worker device.
Description
The following disclosure relates to location, navigation, and/or mapping services.
Many technologies involve massive amounts of data collection and collaborative intelligence that processes and analyzes the data. Internet of things (IoT), autonomous driving, or image recognition technologies are examples where data from remote sensors is continuously collected, communicated, and processed to make inferences about the state of a system, or predictions about future states. The data includes everything from user habits to images to audio and more. Analysis of the data could improve learning models and user experiences. For example, language models can improve speech recognition and text entry, and image models can help automatically identify photos.
The complex problem of training these models could be solved by large scale distributed computing by taking advantage of the resource storage, computing power, cycles, content, and bandwidth of participating devices available at edges of a network. In such a distributed machine learning scenario, the dataset is transmitted to or stored among multiple edge devices. The devices solve a distributed optimization problem to collectively learn the underlying model. For distributed computing, similar (or identical) datasets may be allocated to multiple devices that are then able to solve a problem in parallel.
However, privacy and connectivity concerns may prohibit data from being shared between devices preventing largescale distributed methods. Users may prefer to not share voice, video, or images with other devices or unknown users.
Citations (1)
- US20200051193A1
Record as JSON
{
"publication_number": "US2020334524A1",
"country": "US",
"kind": "A1",
"title": "Edge learning",
"abstract": "Systems and methods are provided for training a model on a large number of devices where, for example, each device acquires a local set of training data without sharing data sets across the devices. The devices train the model on the respective device's set of training data. The devices communicate a parameter vector from the trained model asynchronously with a parameter server. The parameter server updates a master parameter vector and transmits the master parameter vector to the respective device. The update rate of the devices is decoupled from the size of the data that is available to the devices and the computational power of the devices by over or under sampling the local training data.",
"claims": [
"1. A device for training a model, the device comprising at least one sensor configured to acquire a plurality of data instances; a communication interface configured to communicate with a parameter server; and a device processor configured to train the model using a threshold quantity of the data instances of the plurality of data instances; the device processor configured to over sample or under sample the plurality of data instances to equal the threshold quantity; the device processor further configured to transmit a parameter vector of the trained model to the parameter server and receive in response, an updated central parameter vector from the parameter server derived from the model; the device processor further configured to retrain the model using the updated central parameter vector; wherein the at least one sensor acquires different data instances than other sensors of the other devices that are training respective models; wherein at least one transmission between the device and the parameter server occurs asynchronously with respect to the other devices that are training respective models. 2. The device of claim 1, wherein the device processor is configured to over sample or under sample the plurality of data instances so that when a number of data instances available to the device processor is larger than the threshold quantity, the device processor samples the threshold quantity of data instances and when the number of data instances available to the device processor is smaller than the threshold quantity, the device processor samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold quantity is reached. 3. The device of claim 1, wherein the device processor is further configured to receive in response to the transmission of the parameter vector to the parameter server, an updated threshold quantity from the parameter server, wherein the device processor is further configured to retrain using the updated threshold quantity of the data instances of the plurality of data instances. 4. The device of claim 3, wherein the device processor is configured to over sample or under sample the plurality of data instances so that when a number of data instances available to the device processor is larger than the updated threshold quantity, the device processor samples the updated threshold quantity of data instances and when the number of data instances available to the device processor is smaller than the updated threshold quantity, the device processor samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the updated threshold quantity is reached. 5. The device of claim 3, wherein the updated threshold quantity is calculated as a function of a number of updates transmitted by the device to the parameter server compared to a predetermined number of updates from all devices. 6. The device of claim 3, wherein the updated threshold quantity is calculated as a function of a first parameter and the threshold quantity. 7. The device of claim 1, wherein the plurality of data instances is image data, and the model is trained to identify a position of the device. 8. The device of claim 1, wherein the plurality of data instances is search text data, and the model is trained to recommend a point of interest based on the search text data. 9. The device of claim 1, wherein training the model includes a gradient descent-based process. 10. The device of claim 1, wherein the at least one sensor is coupled with a vehicle. 11. The device of claim 1, wherein the model comprises a generative adversarial network, wherein the device processor is configured to train the model using an adversarial training process. 12. The device of claim 1, wherein the plurality of data instances is labeled, and the model is trained using a supervised training process. 13. The device of claim 1, wherein the updated central parameter is transmitted to the device prior to the updated central parameter being altered again. 14. A method for training a model using a plurality of distributed worker devices, the method comprising: identifying, by a worker device, a plurality of data instances; selecting, by the worker device, a first set of data instances from the plurality of data instances as a function of a threshold quantity received from a parameter server; training, by the worker device, the model using the first set of data instances and a set of first parameters; transmitting, by the worker device, a set of second parameters of the trained model to the parameter server; receiving, by the worker device, a set of third parameters from the parameter server and an updated threshold quantity, wherein the set of third parameters is calculated at least partially as a function of the set of second parameters; selecting, by the worker device, a second set of data instances from the plurality of data instances as a function of the updated threshold quantity received from a parameter server; and training, by the worker device, the model using the second set of data instances and the set of third parameters. 15. The method of claim 14, wherein selecting the first set of data instances comprises: over sampling or under sampling the plurality of data instances so that when a number of data instances available to the worker device is larger than the threshold quantity, the worker device samples the threshold quantity of data instances and when the number of data instances available to the worker device is smaller than the threshold quantity, the worker device samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold quantity is reached. 16. The method of claim 14, wherein the plurality of data instances is accessible only on the worker device. 17. The method of claim 14, wherein the plurality of data instances is image data and the model is an image recognition model. 18. A computer-readable, non-transitory medium storing a program that causes a computer to execute a method comprising: identifying, by a worker device, a plurality of data instances; selecting, by the worker device, a first set of data instances from the plurality of data instances as a function of a threshold value received from a parameter server; training, by the worker device, a model using the first set of data instances and a set of first parameters; transmitting, by the worker device, a set of second parameters of the trained model to the parameter server; receiving, by the worker device, a set of third parameters from the parameter server, wherein the set of third parameters is calculated at least partially as a function of the set of second parameters; selecting, by the worker device, a second set of data instances from the plurality of data instances as a function of the threshold value; and training, by the worker device, the model using the second set of data instances and the set of third parameters. 19. The computer-readable, non-transitory medium of claim 18, wherein selecting the first set of data instances comprises: over sampling or under sampling the plurality of data instances so that when a number of data instances available to the worker device is larger than the threshold value, the worker device samples the threshold value of data instances and when the number of data instances available to the worker device is smaller than the threshold quantity, the worker device samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold value is reached. 20. The computer-readable, non-transitory medium of claim 18, wherein the plurality of data instances is accessible only on the worker device."
],
"description_excerpt": "The following disclosure relates to location, navigation, and/or mapping services.\n\nMany technologies involve massive amounts of data collection and collaborative intelligence that processes and analyzes the data. Internet of things (IoT), autonomous driving, or image recognition technologies are examples where data from remote sensors is continuously collected, communicated, and processed to make inferences about the state of a system, or predictions about future states. The data includes everything from user habits to images to audio and more. Analysis of the data could improve learning models and user experiences. For example, language models can improve speech recognition and text entry, and image models can help automatically identify photos.\n\nThe complex problem of training these models could be solved by large scale distributed computing by taking advantage of the resource storage, computing power, cycles, content, and bandwidth of participating devices available at edges of a network. In such a distributed machine learning scenario, the dataset is transmitted to or stored among multiple edge devices. The devices solve a distributed optimization problem to collectively learn the underlying model. For distributed computing, similar (or identical) datasets may be allocated to multiple devices that are then able to solve a problem in parallel.\n\nHowever, privacy and connectivity concerns may prohibit data from being shared between devices preventing largescale distributed methods. Users may prefer to not share voice, video, or images with other devices or unknown users.",
"cpc": [
"H04L 67/12",
"G06N 20/00",
"G06N 3/045",
"G06N 3/0464",
"G06N 3/0495",
"G06N 3/08",
"G06N 3/088",
"G06N 3/09",
"G06N 3/094",
"G06N 3/098",
"G06V 10/774",
"G06V 10/776",
"G06V 10/95",
"G06V 20/56",
"H04L 67/10",
"H04W 4/38",
"H04W 4/70"
],
"ipc": [
"G06N 20/00",
"G06N 3/08",
"G06V 10/774",
"G06V 10/776"
],
"assignees": [
"Here Global BV"
],
"inventors": [
"Michael Sprague",
"Amir Jalalirad",
"Marco Scavuzzo",
"Catalin Capota"
],
"filing_date": "2019-04-17",
"publication_date": "2020-10-22",
"priority_date": "2019-04-17",
"application_number": "US-201916386700-A",
"family_id": "70285530",
"cited_by_count": 73,
"citations": [
"US20200051193A1"
]
}
Record 1,927 of 8,000 in Patents full text (MLC-0201). Request the full dataset.