EP4433944A1 - Circuitry for a plurality of edge devices and method - Google Patents

Circuitry for a plurality of edge devices and method

Info

Publication number
EP4433944A1
EP4433944A1 EP22805895.4A EP22805895A EP4433944A1 EP 4433944 A1 EP4433944 A1 EP 4433944A1 EP 22805895 A EP22805895 A EP 22805895A EP 4433944 A1 EP4433944 A1 EP 4433944A1
Authority
EP
European Patent Office
Prior art keywords
task
edge devices
edge
weight parameter
circuitry
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.)
Withdrawn
Application number
EP22805895.4A
Other languages
German (de)
French (fr)
Inventor
Lev Markhasin
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.)
Sony Europe BV United Kingdom Branch
Sony Semiconductor Solutions Corp
Original Assignee
Sony Europe BV United Kingdom Branch
Sony Semiconductor Solutions Corp
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 Sony Europe BV United Kingdom Branch, Sony Semiconductor Solutions Corp filed Critical Sony Europe BV United Kingdom Branch
Publication of EP4433944A1 publication Critical patent/EP4433944A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • the present disclosure generally pertains to circuitry for a plurality of edge devices and a method.
  • an artificial intelligence such as a neural network
  • a neural network For example, a well-trained neural network, a large amount of data may be needed.
  • speech recognition may be trained with voice data from millions of users performing a voice-based web search, or the like.
  • a data collection architecture or training architecture may be designed by hand (e.g., by a programmer), such that the architecture may be configured to collect large amounts of data depending on the objective of the training.
  • NAS neural architecture search
  • federated learning is known as a method to combine updates from several devices into one network training.
  • the disclosure provides circuitry for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
  • the disclosure provides a method for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the method including: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
  • Fig. 1 depicts a system including circuitry according to the present disclosure
  • Fig. 2 depicts a method according to the present disclosure
  • Fig. 3 depicts a further embodiment of a method according to the present disclosure in which a task algorithm is updated by changing a weight parameter
  • Fig. 4 depicts a further embodiment of a method according to the present disclosure in which a task algorithm is updated by determining an updated edge device weight parameter
  • Fig. 5 depicts a further embodiment of a method according to the present disclosure in which a task algorithm is updated by determining an updated backbone weight parameter.
  • training methods are generally known.
  • the training architecture may depend on a training objective. Accordingly, if the training objective is changed, the architecture may need to be changed, too.
  • NAS neural architecture search
  • the training data may need to be close or similar to the application data and still, NAS may lack the ability to dynamically change the architecture when the training objective is changed (dynamically) since a training designer (e.g., a programmer) may still need to be involved for searching the most suitable architecture.
  • edge devices e.g., terminal devices, such as mobile phones, drones, cars, or the like
  • processing powers and storage capabilities are more and more increasing, such that a part of the training and the adaption of the network may be carried out directly on a particular edge device (also referred to as on-device training).
  • Each edge device may be configured to collect its own training data which may be sufficiently similar to application data and may carry out a training based on that training data. Hence, a privacy may be secured since the training data may not necessarily be uploaded to a server. Moreover, in case an edge device has free capabilities, training may be carried out incidentally.
  • federated learning may not allow true swarm behavior since in federated learning, all devices may need to have an identical configuration (at least for that parts which participate in the training) and train on the same task. In other words, in federated learning the devices which acquire training data may all be copies of the same instance.
  • circuitry for a plurality of edge devices each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
  • the circuitry may be any entity or multitude of entities which may be configurable for determining the subset of edge devices, obtain sensor data, and develop and/ or update a task algorithm as will be described herein.
  • the circuitry may include or may be constituted of one or multiple processors (e.g., CPU (central processing unit), GPU (graphics processing unit)), FPGA(s) (field-programmable gate array), an Al (artificial intelligence) sensor, or the like.
  • processors e.g., CPU (central processing unit), GPU (graphics processing unit)), FPGA(s) (field-programmable gate array), an Al (artificial intelligence) sensor, or the like.
  • the circuitry may be included in one or more computer(s), server(s), smartphone(s), or the like.
  • the circuitry may be included in one or more of the edge devices.
  • the edge devices may include any type of device which may be controllable or programmable to collect any type of data, such as a smartphone, a camera, a car, a drone, smart glasses, or the like.
  • an edge device may include at least one sensor of at least one sensor type.
  • a sensor type may include a light sensor (e.g., any type of camera, such as RGB, time-of-flight, multispectral, infrared, or the like), a movement sensor, a gyroscopic sensor, an acceleration sensor, a distance sensor, a pressure sensor, a hygrometer, a microphone, an X-ray sensor, an ultrasound sensor, or the like. Accordingly, one or more of such sensors of a sensor type may be provided in an edge device.
  • a smartphone may include one or more cameras, microphones, or the like.
  • a car may include one or more pressure sensors, lidar or radar sensors, time-of-flight sensors, or the like.
  • a drone may have one or more sensors, as well, such as one or more cameras, hygrometers, velocity sensors, or the like.
  • Different edge devices may be suitable for different tasks.
  • tasks for different edge devices.
  • Drones may be used for semantic segmentation of landscapes, object detection (cars, wind turbines, or the like). Accordingly, drones may be used with different sensor types for their tasks.
  • Cars may be equipped with a joint set of sensors (e.g., RGB and radar), but may also have additional sensor(s), such as lidar, cameras pointing in specific directions or angles, or the like.
  • Tasks may include pedestrian detection, lane detection, or the like.
  • Surveillance systems may use different sensors, as well, such as RGB, infrared, event sensors, and according to the present disclosure, performance of surveillance systems may be improved during operation, e.g., by contributing surveillance data to a general system (e.g., a server), which may train on that training data.
  • Tasks may include security breach classification, detection of workers without helmets, or the like.
  • edge devices are used for the same training task, such as a car and a smart phone, e.g., for a pedestrian detection task.
  • the sensors of the edge devices may be similar, i.e. of the same type (e.g., all are light sensors), but the present disclosure is not limited to that case.
  • one sensor may be a time-of-flight sensor, whereas another one may be a pressure sensor.
  • the circuitry is further configured to determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices. For example, if the task includes object recognition, only such edge devices may be determined which include sensors suitable for object recognition, e.g., light sensors, cameras, time-of-flight sensors, lidar or radar sensors, or the like.
  • the subset may include at least one edge device of the plurality of edge devices or, in case every edge device includes a suitable sensor, all edge devices of the plurality of edge devices may be determined as the subset of edge devices.
  • the subset is not limited to be a “real” subset in a mathematical sense.
  • the circuitry is further configured to obtain sensor data from each edge device of the subset of edge devices for obtaining task training data.
  • the task training data may correspond to the data which is acquired by the sensor(s) or may be altered such that the circuitry may be able to process the data.
  • the task training data may be labeled (e.g., the circuitry labels them and/ or the edge devices label them depending on the capabilities of each edge device), but the present disclosure is not only applicable to labeled data since a completely unsupervised way of training the task may also be envisaged.
  • the circuitry is further configured to update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
  • the training data may be used, for example, for changing the task algorithm in some way in order to update it.
  • a weight parameter of a neural network may be changed, such that carrying out the task may lead to a different result than before the update.
  • steps of the task algorithm may be removed, added, or changed (in their order) for updating the task algorithm.
  • both types of updates may be carried out.
  • the present disclosure is not limited to such update types.
  • the task may be carried out by any edge device of the plurality of edge devices. For example, if an edge device was not included in the subset due to an unstable internet connection although that edge devices would have had suitable sensors, the updates may still be provided to that edge device, such that the edge device may carry out the task and/ or participate in further task training.
  • the updates may be provided to edge devices which were not included in the subset, as well.
  • the task is an object recognition task based only on image data
  • different edge devices may be suitable for carrying out that task, e.g., smartphones and drones.
  • drone image data depicting the object to be recognized from above is already considered as sufficient. Therefore, only the smartphones are determined as the subset of edge devices which provide the task training data. Since the training based on the task training data provided from the smartphones may lead to different weights of the task algorithm also for the drones, the updated weights may also be provided to the drones.
  • the set of predetermined tasks includes classification, segmentation, detection, and recognition, wherein the present disclosure is not limited to these tasks since any task may be adopted.
  • the task may include multiple tasks, for example classification and recognition, or any other combination of tasks of the set of predetermined tasks.
  • the circuitry is further configured to: change a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm, as discussed herein.
  • the weight parameter includes an edge device weight parameter and a backbone weight parameter.
  • the task algorithm may be developed and/ or updated for the edge devices and for a (remote) server.
  • the subset of edge devices may constitute a so-called task-head in which the edge devices may constitute a communication network for transmitting their updated weight parameters to each other.
  • the backbone which may include a majority of weights of a neural network, a similar training as in the edge devices may be carried out and the weight parameters may be updated similarly and then transmitted to each edge device of the plurality of edge devices.
  • the backbone may be configured to produce features out of the data and the task-head may produce a final task result, such as classification, segmentation, or the like.
  • the architecture of the backbone may be shared between the tasks while the task-head may vary from task to task.
  • the taskhead may be shared between the edge devices which are responsible for the task.
  • the weight parameters of the edge devices of the task-head may be averaged, such that each edge device has the same weight parameter and they all carry out the task in (roughly) the same way.
  • the circuitry is further configured to: determine an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
  • the circuitry is further configured to: provide the updated edge device weight parameter to the subset of edge devices.
  • the edge devices may average the values by themselves or they may be averaged by a central instance (e.g., a cloud).
  • the circuitry is further configured to: determine an updated backbone weight parameter, as discussed herein. The updated backbone weight parameter may be distributed to all edge devices, whereas the task-head weight parameter may only be shared in the task-head.
  • the circuitry is further configured to: provide the updated backbone weight parameter to the plurality of edge devices, as discussed herein.
  • the task algorithm is based on a neural network, as discussed herein. Any type of neural network may be envisaged, but it may depend on the type of task and/ or the sensor type(s) which are available in the plurality of edge devices. However, the present disclosure is not limited to a neural network as any type of artificial intelligence or machine learning algorithm may be utilized.
  • the subset of edge devices constitutes a swarm for training the neural network to the predetermined task.
  • algorithms for a swarm may be utilized in controlling the swarm and in obtaining the task training data.
  • Some embodiments pertain to a method for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the method including: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices, as discussed herein.
  • the method may be carried out by circuitry according to the present disclosure.
  • the set of predetermined tasks includes classification, segmentation, detection, and recognition, as discussed herein.
  • the method further includes: changing a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm, as discussed herein.
  • the weight parameter includes an edge device weight parameter and a backbone weight parameter, as discussed herein.
  • the method further includes: determining an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices, as discussed herein.
  • the method further includes: providing the updated edge device weight parameter to the subset of edge devices, as discussed herein.
  • the method further includes: determining an updated backbone weight parameter, as discussed herein. In some embodiments, the method further includes: providing the updated backbone weight parameter to the plurality of edge devices, as discussed herein.
  • the task algorithm is based on a neural network, as discussed herein. In some embodiments, the subset of edge devices constitutes a swarm for training the neural network to the predetermined task, as discussed herein.
  • the methods as described herein are also implemented in some embodiments as a computer program causing a computer and/ or a processor to perform the method, when being carried out on the computer and/ or processor.
  • a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the methods described herein to be performed.
  • the edge devices may constitute a swarm. Furthermore, they may participate in federated learning (with the difference that the edge devices and sensors may be allowed to be of different types).
  • the plurality of edge devices is connected to a central instance (e.g., a server, a local network, or the like), such that they may upload and download weight updates from that instance.
  • a central instance e.g., a server, a local network, or the like
  • Each edge device may have different capabilities (e.g., processing power, storage, or the like), but in some embodiments, each edge device is assumed to perform inference of an artificial intelligence (e.g., neural network) and perform a (small) number of network updates based on incoming sensor data.
  • the edge devices may not all perform the same task, as discussed herein, but they may need to be able to collect data for their own task.
  • the following method may be carried out by the edge devices and circuitry according to the present disclosure:
  • the data may be labeled or unlabeled. Labeling may be envisaged depending on the purpose of the device. For example, the operator may be an end-user and thus, the data may be labelled (e.g., the device is a smartphone and the person labels photos that he or she takes, or the like). In some embodiments, there are applications of the devices where the label is clear and/ or may be assumed.
  • the devices may perform task head updates only and fine-tune to their task and do no other updates.
  • the backbone is updated from server downloads only.
  • the architecture may be dynamically adaptable.
  • NAS may be carried out in which the architecture may be trained, such that the most suitable architecture for each task may be determined.
  • each update may change at least one weight parameter and the architecture structure (if necessary and/ or possible).
  • one of the task-head and the backbone architecture is fixed (static), while the other may be changeable due to training.
  • both the task-head and the backbone are fixed or changeable.
  • a neural network may be provided including three parts, namely base features, backbone and task-head, i.e. compared to the embodiments described above, a base features part which feeds the backbone (which may feed the edge devices or the task-head) may be introduced.
  • the base features part may be adapted to transform from sensor data into more general features, such that the different sets of training data may be present in the same domain (or have the same data structure, or the like).
  • base features such as base RGB, base depth, base X-ray, or the like
  • base features may be updated and trained in a similar way as the task-head.
  • those edge devices may also train for base RGB for providing features in the RGB domain
  • edge devices of a task-head having depth sensors those edge devices may train for base depth.
  • circuitry 2 there is depicted a system 1 including circuitry 2 according to the present disclosure. It should be noted that, for illustrational purposes, the circuitry 2 is depicted as two entities 2a and 2b for illustrating the logical separation between the task-head and the backbone, but the circuitry may be provided in one entity (e.g., a server) or multiple entities (e.g., distributed among the edge devices and/or server (s)).
  • entity e.g., a server
  • multiple entities e.g., distributed among the edge devices and/or server (s)
  • Fig. 1 depicts a plurality of edge devices 3a to 3d (four, in this embodiment), which are all implemented as cars, in this embodiment.
  • edge devices 3a to 3d four, in this embodiment
  • the present disclosure is not limited to edge devices being cars.
  • a Task-Zero head 4a is trained by the car 3a
  • a Task-One head 4b is trained by the cars 3b and 3c
  • a Task-Two head 4c is trained by the car 3d.
  • the Task-Zero head 4a and the Task-Two head 4c are each only trained by one car (i.e. the subset of edge devices includes one edge device for these two tasks), there is no need that edge device weight parameters are transmitted to other edge devices.
  • the Task-One head 4b is trained by two edge devices, namely the cars 3b and 3c, which are communicating via a network 2a (i.e. via the circuitry 2a according to the present disclosure).
  • the car 3b uploads its task training data to the network 2a and downloads the car 3c’s edge device weight parameters from the network 2a.
  • the car 3c uploads its task training data to the network 2a and downloads the car 3b’s edge device weight parameters from the network 2a.
  • the cars 3b and 3c each average their respective other’s edge device training parameters for updating the Task-1 head.
  • a backbone 5 is updated by the cars 3a to 3d and task training data is transmitted to the network 2b which carries out a similar training as the task-heads 4a to 4c do. Accordingly, an updated backbone is provided to the cars 3a to 3d.
  • Fig. 2 depicts an embodiment of a method 10 according to the present disclosure.
  • a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
  • sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
  • a task algorithm is updated based on the task training data for carrying out the task by at least one edge device of the plurality of edge devices, as discussed herein.
  • Fig. 3 depicts a further embodiment of a method 20 according to the present disclosure, in which the task algorithm is updated by changing a weight parameter.
  • a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
  • sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
  • a weight parameter of the task algorithm is changed to an updated weight parameter for updating the task algorithm, as discussed herein.
  • Fig. 4 depicts a further embodiment of a method 30 according to the present disclosure, in which the task algorithm is updated by determining an updated edge device weight parameter.
  • a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
  • sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
  • an updated edge device weight parameter of the task algorithm is determined based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices, as discussed herein.
  • the updated edge device weight parameter is provided to the subset of edge devices.
  • Fig. 5 depicts a further embodiment of a method 40 according to the present disclosure, in which the task algorithm is updated by determining an updated backbone weight parameter.
  • a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
  • sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
  • an updated backbone weight parameter of the task algorithm is determined, as discussed herein.
  • the updated backbone weight parameter is provided to the plurality of edge devices.
  • an updated edge device weight parameter may be determined as well as an updated backbone weight parameter, such that a method according to be present disclosure may include both embodiments of updating the weight parameter.
  • control 2 could be implemented by a respective programmed processor, field programmable gate array (FPGA) and the like.
  • FPGA field programmable gate array
  • a non-transitory computer-readable recording medium stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the method described to be performed.
  • Circuitry for a plurality of edge devices each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
  • circuitry of (1) or (2) further configured to: change a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm.
  • the circuitry of (4) further configured to: determine an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
  • the circuitry of (5) further configured to: provide the updated edge device weight parameter to the subset of edge devices.
  • circuitry of anyone of (4) to (6) further configured to: determine an updated backbone weight parameter.
  • the circuitry of (7) further configured to: provide the updated backbone weight parameter to the plurality of edge devices.
  • each edge device including at least one sensor of at least one sensor type
  • the method including: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
  • (20) The method of (19), wherein the subset of edge devices constitutes a swarm for training the neural network to the predetermined task.
  • (21) A computer program comprising program code causing a computer to perform the method according to anyone of (11) to (20), when being carried out on a computer.
  • (22) A non-transitory computer-readable recording medium that stores therein a computer program product, which, when executed by a processor, causes the method according to anyone of (11) to (20) to be performed.
  • a system including: a plurality of edge devices, each edge device including at least one sensor of at least one sensor type; and circuitry configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

The present disclosure generally pertains to circuitry for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.

Description

CIRCUITRY FOR A PLURALITY OF EDGE DEVICES AND METHOD
TECHNICAL FIELD
The present disclosure generally pertains to circuitry for a plurality of edge devices and a method.
TECHNICAL BACKGROUND
Generally, methods for training an artificial intelligence (Al), such as a neural network are known, for example based on multiple (terminal) devices which provide data to a training instance. For a well-trained neural network, a large amount of data may be needed. For example, speech recognition may be trained with voice data from millions of users performing a voice-based web search, or the like.
In other or similar known methods, a data collection architecture or training architecture may be designed by hand (e.g., by a programmer), such that the architecture may be configured to collect large amounts of data depending on the objective of the training.
On the other hand, neural architecture search (NAS) is known for determining a suitable architecture for the specific training.
Moreover, federated learning is known as a method to combine updates from several devices into one network training.
Although there exist techniques for training devices to a specific task, it is generally desirable to provide circuitry for a plurality of edge devices and a method.
SUMMARY
According to a first aspect, the disclosure provides circuitry for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
Further aspects are set forth in the dependent claims, the following description and the drawings. According to a second aspect, the disclosure provides a method for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the method including: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
Further aspects are set forth in the dependent claims, the drawings, and the following description.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments are explained by way of example with respect to the accompanying drawings, in which:
Fig. 1 depicts a system including circuitry according to the present disclosure;
Fig. 2 depicts a method according to the present disclosure;
Fig. 3 depicts a further embodiment of a method according to the present disclosure in which a task algorithm is updated by changing a weight parameter;
Fig. 4 depicts a further embodiment of a method according to the present disclosure in which a task algorithm is updated by determining an updated edge device weight parameter; and
Fig. 5 depicts a further embodiment of a method according to the present disclosure in which a task algorithm is updated by determining an updated backbone weight parameter.
DETAILED DESCRIPTION OF EMBODIMENTS
Before a detailed description of the embodiments starting with Fig. 1 is given, general explanations are made.
As mentioned in the outset, training methods are generally known. However, the training architecture may depend on a training objective. Accordingly, if the training objective is changed, the architecture may need to be changed, too.
Similarly, when using neural architecture search (NAS), the training data may need to be close or similar to the application data and still, NAS may lack the ability to dynamically change the architecture when the training objective is changed (dynamically) since a training designer (e.g., a programmer) may still need to be involved for searching the most suitable architecture. It has been recognized that edge devices (e.g., terminal devices, such as mobile phones, drones, cars, or the like) may be used for determining a suitable and dynamically adaptable training architecture. One reason for that may be that processing powers and storage capabilities are more and more increasing, such that a part of the training and the adaption of the network may be carried out directly on a particular edge device (also referred to as on-device training). Each edge device may be configured to collect its own training data which may be sufficiently similar to application data and may carry out a training based on that training data. Hence, a privacy may be secured since the training data may not necessarily be uploaded to a server. Moreover, in case an edge device has free capabilities, training may be carried out incidentally.
Moreover, it has been recognized that “true” swarm behavior of a plurality of edge devices further improve a training algorithm.
On the other hand, it has been recognized that, for example, federated learning may not allow true swarm behavior since in federated learning, all devices may need to have an identical configuration (at least for that parts which participate in the training) and train on the same task. In other words, in federated learning the devices which acquire training data may all be copies of the same instance.
Therefore, some embodiments pertain to circuitry for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
The circuitry may be any entity or multitude of entities which may be configurable for determining the subset of edge devices, obtain sensor data, and develop and/ or update a task algorithm as will be described herein.
The circuitry may include or may be constituted of one or multiple processors (e.g., CPU (central processing unit), GPU (graphics processing unit)), FPGA(s) (field-programmable gate array), an Al (artificial intelligence) sensor, or the like. Moreover, the circuitry may be included in one or more computer(s), server(s), smartphone(s), or the like. In some embodiments, the circuitry may be included in one or more of the edge devices.
If an Al sensor is used, updates may be performed at (roughly) the same that at which the data is obtained, such that there may be no need to save training data, in case privacy needs to be protected. The edge devices may include any type of device which may be controllable or programmable to collect any type of data, such as a smartphone, a camera, a car, a drone, smart glasses, or the like. For collecting the data, an edge device may include at least one sensor of at least one sensor type. A sensor type may include a light sensor (e.g., any type of camera, such as RGB, time-of-flight, multispectral, infrared, or the like), a movement sensor, a gyroscopic sensor, an acceleration sensor, a distance sensor, a pressure sensor, a hygrometer, a microphone, an X-ray sensor, an ultrasound sensor, or the like. Accordingly, one or more of such sensors of a sensor type may be provided in an edge device. For example, a smartphone may include one or more cameras, microphones, or the like. In a different example, a car may include one or more pressure sensors, lidar or radar sensors, time-of-flight sensors, or the like. Similarly, a drone may have one or more sensors, as well, such as one or more cameras, hygrometers, velocity sensors, or the like.
Different edge devices may be suitable for different tasks. In the following, non-limiting examples are given for tasks for different edge devices.
Drones may be used for semantic segmentation of landscapes, object detection (cars, wind turbines, or the like). Accordingly, drones may be used with different sensor types for their tasks.
Cars may be equipped with a joint set of sensors (e.g., RGB and radar), but may also have additional sensor(s), such as lidar, cameras pointing in specific directions or angles, or the like. Tasks may include pedestrian detection, lane detection, or the like.
Surveillance systems may use different sensors, as well, such as RGB, infrared, event sensors, and according to the present disclosure, performance of surveillance systems may be improved during operation, e.g., by contributing surveillance data to a general system (e.g., a server), which may train on that training data. Tasks may include security breach classification, detection of workers without helmets, or the like.
However, in some embodiments, different types of edge devices are used for the same training task, such as a car and a smart phone, e.g., for a pedestrian detection task.
In some embodiments, the sensors of the edge devices may be similar, i.e. of the same type (e.g., all are light sensors), but the present disclosure is not limited to that case. For example, one sensor may be a time-of-flight sensor, whereas another one may be a pressure sensor.
In some embodiments, the circuitry is further configured to determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices. For example, if the task includes object recognition, only such edge devices may be determined which include sensors suitable for object recognition, e.g., light sensors, cameras, time-of-flight sensors, lidar or radar sensors, or the like.
Accordingly, the subset may include at least one edge device of the plurality of edge devices or, in case every edge device includes a suitable sensor, all edge devices of the plurality of edge devices may be determined as the subset of edge devices. Hence, the subset is not limited to be a “real” subset in a mathematical sense.
In some embodiments, the circuitry is further configured to obtain sensor data from each edge device of the subset of edge devices for obtaining task training data.
The task training data may correspond to the data which is acquired by the sensor(s) or may be altered such that the circuitry may be able to process the data. In some embodiments, the task training data may be labeled (e.g., the circuitry labels them and/ or the edge devices label them depending on the capabilities of each edge device), but the present disclosure is not only applicable to labeled data since a completely unsupervised way of training the task may also be envisaged.
In some embodiments, the circuitry is further configured to update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
Hence, the training data may be used, for example, for changing the task algorithm in some way in order to update it. For example, a weight parameter of a neural network may be changed, such that carrying out the task may lead to a different result than before the update. In some embodiments, steps of the task algorithm may be removed, added, or changed (in their order) for updating the task algorithm. In some embodiments, both types of updates may be carried out. However, the present disclosure is not limited to such update types.
The task may be carried out by any edge device of the plurality of edge devices. For example, if an edge device was not included in the subset due to an unstable internet connection although that edge devices would have had suitable sensors, the updates may still be provided to that edge device, such that the edge device may carry out the task and/ or participate in further task training.
In some embodiments, only specific data is needed for updating since other data needed for the task has already been sufficient. In such embodiments, the updates may be provided to edge devices which were not included in the subset, as well.
For example, if the task is an object recognition task based only on image data, different edge devices may be suitable for carrying out that task, e.g., smartphones and drones. However, drone image data depicting the object to be recognized from above is already considered as sufficient. Therefore, only the smartphones are determined as the subset of edge devices which provide the task training data. Since the training based on the task training data provided from the smartphones may lead to different weights of the task algorithm also for the drones, the updated weights may also be provided to the drones.
In some embodiments, the set of predetermined tasks includes classification, segmentation, detection, and recognition, wherein the present disclosure is not limited to these tasks since any task may be adopted. Moreover, the task may include multiple tasks, for example classification and recognition, or any other combination of tasks of the set of predetermined tasks.
In some embodiments, the circuitry is further configured to: change a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm, as discussed herein.
In some embodiments, the weight parameter includes an edge device weight parameter and a backbone weight parameter.
For example, the task algorithm may be developed and/ or updated for the edge devices and for a (remote) server. For example, the subset of edge devices may constitute a so-called task-head in which the edge devices may constitute a communication network for transmitting their updated weight parameters to each other. In the backbone, which may include a majority of weights of a neural network, a similar training as in the edge devices may be carried out and the weight parameters may be updated similarly and then transmitted to each edge device of the plurality of edge devices.
The backbone may be configured to produce features out of the data and the task-head may produce a final task result, such as classification, segmentation, or the like. The architecture of the backbone may be shared between the tasks while the task-head may vary from task to task. The taskhead may be shared between the edge devices which are responsible for the task.
The weight parameters of the edge devices of the task-head may be averaged, such that each edge device has the same weight parameter and they all carry out the task in (roughly) the same way.
Hence, in some embodiments, the circuitry is further configured to: determine an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
In some embodiments, the circuitry is further configured to: provide the updated edge device weight parameter to the subset of edge devices. As indicated above, the edge devices may average the values by themselves or they may be averaged by a central instance (e.g., a cloud). In some embodiments, the circuitry is further configured to: determine an updated backbone weight parameter, as discussed herein. The updated backbone weight parameter may be distributed to all edge devices, whereas the task-head weight parameter may only be shared in the task-head.
In some embodiments, the circuitry is further configured to: provide the updated backbone weight parameter to the plurality of edge devices, as discussed herein.
In some embodiments, the task algorithm is based on a neural network, as discussed herein. Any type of neural network may be envisaged, but it may depend on the type of task and/ or the sensor type(s) which are available in the plurality of edge devices. However, the present disclosure is not limited to a neural network as any type of artificial intelligence or machine learning algorithm may be utilized.
In some embodiments, the subset of edge devices constitutes a swarm for training the neural network to the predetermined task. Hence, algorithms for a swarm may be utilized in controlling the swarm and in obtaining the task training data.
Some embodiments pertain to a method for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the method including: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices, as discussed herein.
The method may be carried out by circuitry according to the present disclosure.
In some embodiments, the set of predetermined tasks includes classification, segmentation, detection, and recognition, as discussed herein. In some embodiments, the method further includes: changing a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm, as discussed herein. In some embodiments, the weight parameter includes an edge device weight parameter and a backbone weight parameter, as discussed herein. In some embodiments, the method further includes: determining an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices, as discussed herein. In some embodiments, the method further includes: providing the updated edge device weight parameter to the subset of edge devices, as discussed herein. In some embodiments, the method further includes: determining an updated backbone weight parameter, as discussed herein. In some embodiments, the method further includes: providing the updated backbone weight parameter to the plurality of edge devices, as discussed herein. In some embodiments, the task algorithm is based on a neural network, as discussed herein. In some embodiments, the subset of edge devices constitutes a swarm for training the neural network to the predetermined task, as discussed herein.
The methods as described herein are also implemented in some embodiments as a computer program causing a computer and/ or a processor to perform the method, when being carried out on the computer and/ or processor. In some embodiments, also a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the methods described herein to be performed.
Generally, as mentioned above, the edge devices may constitute a swarm. Furthermore, they may participate in federated learning (with the difference that the edge devices and sensors may be allowed to be of different types).
Moreover, it is assumed, in some embodiments, that the plurality of edge devices is connected to a central instance (e.g., a server, a local network, or the like), such that they may upload and download weight updates from that instance. Each edge device may have different capabilities (e.g., processing power, storage, or the like), but in some embodiments, each edge device is assumed to perform inference of an artificial intelligence (e.g., neural network) and perform a (small) number of network updates based on incoming sensor data. The edge devices may not all perform the same task, as discussed herein, but they may need to be able to collect data for their own task.
In some embodiments, the following method may be carried out by the edge devices and circuitry according to the present disclosure:
- Collect some data in advance and train the simplest of the tasks on that data on the server (e.g., a classification task).
- If possible, fine-tune the training for some specific tasks, like semantic segmentation, or the like by collecting specific tasks data and labels in advance. However, this is not necessary in all embodiments.
- If initial failure is allowed, the entire training from scratch and/ or fine-tuning may happen on each edge device.
- Copy general weights or fine-tuned weights to the devices’ memories.
- Start collecting data by each device. As discussed herein, the data may be labeled or unlabeled. Labeling may be envisaged depending on the purpose of the device. For example, the operator may be an end-user and thus, the data may be labelled (e.g., the device is a smartphone and the person labels photos that he or she takes, or the like). In some embodiments, there are applications of the devices where the label is clear and/ or may be assumed.
- Perform training updates by each device as far as its computational capabilities permit and as far as it can be combined with the main usage of the device (if it is a phone/ wearable, updates may be carried out at night when no other tasks are performed and power supply is connected; if it is a drone, updates may be carried out when no complicated maneuvers are being flown, or the like).
- Upload updates (changes) of weight parameters of the backbone to the server where they are averaged with all other incoming updates and the average of updates is provided to all devices to download. The data that was used for the training update may be discarded (or saved). The task head weights may be uploaded to all devices (through the server as well) of the same task, if required, where they may be averaged with other updates. The server may continue training on available data or its data set might grow because some of the device’s data may be uploaded or in some other way data might be provided so that the server performs its own backbone weight updates.
- Download averaged backbone updated by certain (or all) edge devices from the server and downloads task head updates from all edge devices with the same task and average them and replace internal weights of the network layers.
The devices may perform task head updates only and fine-tune to their task and do no other updates. In such embodiments, the backbone is updated from server downloads only.
It should be noted that the architecture may be dynamically adaptable. For example, NAS may be carried out in which the architecture may be trained, such that the most suitable architecture for each task may be determined. In the present disclosure, each update may change at least one weight parameter and the architecture structure (if necessary and/ or possible). In some embodiments, one of the task-head and the backbone architecture is fixed (static), while the other may be changeable due to training. In some embodiments, both the task-head and the backbone are fixed or changeable.
In some embodiments, if the sensors of the edge devices are of different sensor types, a neural network may be provided including three parts, namely base features, backbone and task-head, i.e. compared to the embodiments described above, a base features part which feeds the backbone (which may feed the edge devices or the task-head) may be introduced. The base features part may be adapted to transform from sensor data into more general features, such that the different sets of training data may be present in the same domain (or have the same data structure, or the like).
For example, base features, such as base RGB, base depth, base X-ray, or the like, may be updated and trained in a similar way as the task-head. For example, if the task-head has RGB sensors, those edge devices may also train for base RGB for providing features in the RGB domain, whereas edge devices of a task-head having depth sensors, those edge devices may train for base depth.
Returning to Fig. 1, there is depicted a system 1 including circuitry 2 according to the present disclosure. It should be noted that, for illustrational purposes, the circuitry 2 is depicted as two entities 2a and 2b for illustrating the logical separation between the task-head and the backbone, but the circuitry may be provided in one entity (e.g., a server) or multiple entities (e.g., distributed among the edge devices and/or server (s)).
Moreover, Fig. 1 depicts a plurality of edge devices 3a to 3d (four, in this embodiment), which are all implemented as cars, in this embodiment. However, as discussed above, the present disclosure is not limited to edge devices being cars.
In this embodiment, three tasks are defined, namely Task-Zero, Task-One, and Task-Two. Accordingly, three task-heads are needed. A Task-Zero head 4a is trained by the car 3a, a Task-One head 4b is trained by the cars 3b and 3c, and a Task-Two head 4c is trained by the car 3d.
Since the Task-Zero head 4a and the Task-Two head 4c are each only trained by one car (i.e. the subset of edge devices includes one edge device for these two tasks), there is no need that edge device weight parameters are transmitted to other edge devices. However, the Task-One head 4b is trained by two edge devices, namely the cars 3b and 3c, which are communicating via a network 2a (i.e. via the circuitry 2a according to the present disclosure).
The car 3b uploads its task training data to the network 2a and downloads the car 3c’s edge device weight parameters from the network 2a. Likewise, the car 3c uploads its task training data to the network 2a and downloads the car 3b’s edge device weight parameters from the network 2a. The cars 3b and 3c each average their respective other’s edge device training parameters for updating the Task-1 head.
Moreover, a backbone 5 is updated by the cars 3a to 3d and task training data is transmitted to the network 2b which carries out a similar training as the task-heads 4a to 4c do. Accordingly, an updated backbone is provided to the cars 3a to 3d.
Fig. 2 depicts an embodiment of a method 10 according to the present disclosure. At 11, a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
At 12, sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
At 13, a task algorithm is updated based on the task training data for carrying out the task by at least one edge device of the plurality of edge devices, as discussed herein.
Fig. 3 depicts a further embodiment of a method 20 according to the present disclosure, in which the task algorithm is updated by changing a weight parameter.
At 21, a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
At 22, sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
At 23, a weight parameter of the task algorithm is changed to an updated weight parameter for updating the task algorithm, as discussed herein.
Fig. 4 depicts a further embodiment of a method 30 according to the present disclosure, in which the task algorithm is updated by determining an updated edge device weight parameter.
At 31, a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
At 32, sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
At 33, an updated edge device weight parameter of the task algorithm is determined based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices, as discussed herein.
At 34, the updated edge device weight parameter is provided to the subset of edge devices.
Fig. 5 depicts a further embodiment of a method 40 according to the present disclosure, in which the task algorithm is updated by determining an updated backbone weight parameter. At 41, a subset of edge devices of the plurality of edge devices is determined based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices, as discussed herein.
At 42, sensor data is obtained from each edge device of the subset of edge devices for obtaining task training data, as discussed herein.
At 43, an updated backbone weight parameter of the task algorithm is determined, as discussed herein.
At 44, the updated backbone weight parameter is provided to the plurality of edge devices.
It should be noted that the embodiments described under reference of Figs. 4 and 5 do not exclude each other. As discussed herein, an updated edge device weight parameter may be determined as well as an updated backbone weight parameter, such that a method according to be present disclosure may include both embodiments of updating the weight parameter.
It should be recognized that the embodiments describe methods with an exemplary ordering of method steps. The specific ordering of method steps is however given for illustrative purposes only and should not be construed as binding. For example, the ordering of 11 and 12 in the embodiment of Fig. 2 may be exchanged. Also, the ordering of 21 and 22 in the embodiment of Fig. 3 may be exchanged. Further, also the ordering of 31 and 32 in the embodiment of Fig. 4 may be exchanged, as well as the ordering of 41 and 42 in the embodiment of Fig. 5. Other changes of the ordering of method steps may be apparent to the skilled person.
Please note that the division of the circuitry 2 into units 2a and 2b is only made for illustration purposes and that the present disclosure is not limited to any specific division of functions in specific units. For instance, the control 2 could be implemented by a respective programmed processor, field programmable gate array (FPGA) and the like.
In some embodiments, also a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the method described to be performed.
All units and entities described in this specification and claimed in the appended claims can, if not stated otherwise, be implemented as integrated circuit logic, for example on a chip, and functionality provided by such units and entities can, if not stated otherwise, be implemented by software.
In so far as the embodiments of the disclosure described above are implemented, at least in part, using software-controlled data processing apparatus, it will be appreciated that a computer program providing such software control and a transmission, storage or other medium by which such a computer program is provided are envisaged as aspects of the present disclosure.
Note that the present technology can also be configured as described below.
(1) Circuitry for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
(2) The circuitry of (1), wherein the set of predetermined tasks includes classification, segmentation, detection, and recognition.
(3) The circuitry of (1) or (2), further configured to: change a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm.
(4) The circuitry of (3), wherein the weight parameter includes an edge device weight parameter and a backbone weight parameter.
(5) The circuitry of (4), further configured to: determine an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
(6) The circuitry of (5), further configured to: provide the updated edge device weight parameter to the subset of edge devices.
(7) The circuitry of anyone of (4) to (6), further configured to: determine an updated backbone weight parameter.
(8) The circuitry of (7), further configured to: provide the updated backbone weight parameter to the plurality of edge devices.
(9) The circuitry of anyone of (1) to (8), wherein the task algorithm is based on a neural network. (10) The circuitry of (9), wherein the subset of edge devices constitutes a swarm for training the neural network to the predetermined task.
(11) Method for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the method including: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
(12) The method of (11), wherein the set of predetermined tasks includes classification, segmentation, detection, and recognition.
(13) The method of (11) or (12), further including: changing a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm.
(14) The method of (13), wherein the weight parameter includes an edge device weight parameter and a backbone weight parameter.
(15) The method of (14), further including: determining an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
(16) The method of (15), further including: providing the updated edge device weight parameter to the subset of edge devices.
(17) The method of anyone of (14) to (16), further including: determining an updated backbone weight parameter.
(18) The method of (17), further including: providing the updated backbone weight parameter to the plurality of edge devices.
(19) The method of anyone of (11) to (18), wherein the task algorithm is based on a neural network.
(20) The method of (19), wherein the subset of edge devices constitutes a swarm for training the neural network to the predetermined task. (21) A computer program comprising program code causing a computer to perform the method according to anyone of (11) to (20), when being carried out on a computer.
(22) A non-transitory computer-readable recording medium that stores therein a computer program product, which, when executed by a processor, causes the method according to anyone of (11) to (20) to be performed.
(23) A system including: a plurality of edge devices, each edge device including at least one sensor of at least one sensor type; and circuitry configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.

Claims

1. Circuitry for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the circuitry being configured to: determine a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtain sensor data from each edge device of the subset of edge devices for obtaining task training data; update, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
2. The circuitry of claim 1, wherein the set of predetermined tasks includes classification, segmentation, detection, and recognition.
3. The circuitry of claim 1, further configured to: change a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm.
4. The circuitry of claim 3, wherein the weight parameter includes an edge device weight parameter and a backbone weight parameter.
5. The circuitry of claim 4, further configured to: determine an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
6. The circuitry of claim 5, further configured to: provide the updated edge device weight parameter to the subset of edge devices.
7. The circuitry of claim 4, further configured to: determine an updated backbone weight parameter.
8. The circuitry of claim 7, further configured to: provide the updated backbone weight parameter to the plurality of edge devices.
9. The circuitry of claim 1, wherein the task algorithm is based on a neural network.
10. The circuitry of claim 9, wherein the subset of edge devices constitutes a swarm for training the neural network to the predetermined task.
11. Method for a plurality of edge devices, each edge device including at least one sensor of at least one sensor type, the method comprising: determining a subset of edge devices of the plurality of edge devices based on a task of a set of predetermined tasks and based on the at least one sensor of each edge device of the plurality of edge devices; obtaining sensor data from each edge device of the subset of edge devices for obtaining task training data; updating, based on the task training data, a task algorithm for carrying out the task by at least one edge device of the plurality of edge devices.
12. The method of claim 11, wherein the set of predetermined tasks includes classification, segmentation, detection, and recognition.
13. The method of claim 11, further comprising: changing a weight parameter of the task algorithm to an updated weight parameter for updating the task algorithm.
14. The method of claim 13, wherein the weight parameter includes an edge device weight parameter and a backbone weight parameter.
15. The method of claim 14, further comprising: determining an updated edge device weight parameter based on an average value averaged from a plurality of edge device weight parameters determined by the subset of edge devices.
16. The method of claim 15, further comprising: providing the updated edge device weight parameter to the subset of edge devices.
17. The method of claim 14, further comprising: determining an updated backbone weight parameter.
18. The method of claim 17, further comprising: providing the updated backbone weight parameter to the plurality of edge devices.
19. The method of claim 11, wherein the task algorithm is based on a neural network.
20. The method of claim 19, wherein the subset of edge devices constitutes a swarm for training the neural network to the predetermined task.
EP22805895.4A 2021-11-19 2022-10-26 Circuitry for a plurality of edge devices and method Withdrawn EP4433944A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21209351 2021-11-19
PCT/EP2022/079923 WO2023088650A1 (en) 2021-11-19 2022-10-26 Circuitry for a plurality of edge devices and method

Publications (1)

Publication Number Publication Date
EP4433944A1 true EP4433944A1 (en) 2024-09-25

Family

ID=78709341

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22805895.4A Withdrawn EP4433944A1 (en) 2021-11-19 2022-10-26 Circuitry for a plurality of edge devices and method

Country Status (2)

Country Link
EP (1) EP4433944A1 (en)
WO (1) WO2023088650A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200272896A1 (en) * 2019-02-25 2020-08-27 Alibaba Group Holding Limited System for deep learning training using edge devices

Also Published As

Publication number Publication date
WO2023088650A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US12550228B2 (en) Systems and methods for collaborative edge computing
EP4168983B1 (en) Visual object instance segmentation using foreground-specialized model imitation
US11699213B2 (en) Image-capturing device and method for controlling same
US11816880B2 (en) Face recognition method and apparatus, computer device, and storage medium
US9852158B2 (en) Dynamic adaptation of feature identification and annotation
US12265574B2 (en) Using interpolation to generate a video from static images
US20170169358A1 (en) In-storage computing apparatus and method for decentralized machine learning
CN112748941B (en) Method and device for updating target application program based on feedback information
CN113516227A (en) Neural network training method and device based on federal learning
WO2020082724A1 (en) Method and apparatus for object classification
US20250039987A1 (en) Systems and Methods for Collaborative Edge Computing
US12386873B2 (en) Apparatus and method for sharing and pruning weights for vision and language models
CN113688814B (en) Image recognition method and device
Bai et al. A decade of video analytics at edge: Training, deployment, orchestration, and platforms
WO2022170156A1 (en) Systems and methods for collaborative edge computing
CN115423087A (en) Pruning method and device for impulse neural network and electronic equipment
CN110532890B (en) A Distributed Siamese Convolutional Neural Network Pedestrian Re-identification Method Based on Cloud, Edge and Device
WO2023088650A1 (en) Circuitry for a plurality of edge devices and method
Yee et al. Face recognition and machine learning at the edge
CN115147754B (en) Video frame processing method, apparatus, electronic device, storage medium, and program product
CN112738225B (en) Edge calculation method based on artificial intelligence
CN117952161A (en) Machine learning
KR20230109937A (en) Artificial intelligence apparatus for vision inspection based on product image pattern clustering and method thereof
Wang Scaling Wearable Cognitive Assistance
US20250265465A1 (en) Progressive bandwidth-latency optimization of large models

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240614

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20250103