WO2023031544A1 - Procédé et système de configuration de réseaux de neurones d'un ensemble de noeuds d'un réseau de communication - Google Patents

Procédé et système de configuration de réseaux de neurones d'un ensemble de noeuds d'un réseau de communication Download PDF

Info

Publication number
WO2023031544A1
WO2023031544A1 PCT/FR2022/051617 FR2022051617W WO2023031544A1 WO 2023031544 A1 WO2023031544 A1 WO 2023031544A1 FR 2022051617 W FR2022051617 W FR 2022051617W WO 2023031544 A1 WO2023031544 A1 WO 2023031544A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
nodes
node
weights
model
Prior art date
Application number
PCT/FR2022/051617
Other languages
English (en)
Inventor
Hugo MIRALLES
Tamara TOSIC
Original Assignee
Orange
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 Orange filed Critical Orange
Priority to EP22773284.9A priority Critical patent/EP4396732A1/fr
Publication of WO2023031544A1 publication Critical patent/WO2023031544A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • the invention relates to telecommunication networks. It relates to learning of neural networks implemented by devices connected to a communication network.
  • the invention lies more precisely in the context of federated learning in which devices locally train models of neural networks of the same structure and share the learning carried out on their devices with the other devices.
  • Federated learning is opposed to centralized learning where learning is done centrally, for example on the servers of a service provider.
  • Federated learning can for example be favored over centralized learning when it is difficult to envisage a global centralized model adapted to all devices.
  • federated learning can also be advantageous when the devices are likely to train their models by data whose distribution is likely to depend, at least to some extent, on these devices.
  • federated learning is thus a form of distributed learning where multiple nodes collaboratively solve a machine learning task.
  • IID independent and identically distributed
  • the invention relates to a method for configuring models of neural networks of nodes of a set of nodes of a communication network, the neural networks of said nodes all having the same structure.
  • the invention relates to a method for configuring weights of models of neural networks (RN) of the same structure, of nodes of a set of nodes of a communication network, said method comprising federated learning of said weights in which said nodes locally train their neural network model and share the weights of their model with other nodes of said network, the process comprising:
  • said designation comprising:
  • said designation is temporary, the method comprising at least one other designation for at least one other partition of said set of nodes.
  • the configuration method comprises, during said federated learning:
  • the configuration method comprises a partition of all the nodes into at least one cluster taking into account a communication cost between the nodes within said at least one cluster.
  • the configuration method comprises a partition of all the nodes to reorganize said clusters into at least one cluster, said reorganized clusters being constituted according to a function taking into account a communication cost between the nodes at the within a reorganized cluster and a similarity of an evolution of the weights of the models of the nodes within a reorganized cluster.
  • said similarity is determined by:
  • the configuration method comprises
  • the configuration method includes:
  • the invention relates to a coordination entity capable of configuring models of neural networks of nodes of a set of nodes of a communication network, the neural networks of said nodes all having a model of the same structure,
  • the invention relates to a coordination entity capable of configuring weights of models of neural networks, of the same structure, of nodes of a set of nodes of a communication network, by federated learning of said weights in which said nodes locally train their neural network models and share the weights of their model with other nodes of said network, said coordination entity comprising at least one processor capable of:
  • said designation comprising:
  • the coordination entity comprises:
  • said coordination entity comprises:
  • - a module for sending, to a node belonging to said at least one cluster, information according to which this node must play the role of aggregation node in said cluster, and identifiers of the nodes of this cluster, said node being then qualified as the cluster's aggregation node;
  • the invention relates to a learning method implemented by a node of a set of nodes of a communication network.
  • the invention relates to a learning method implemented by a node of a set of nodes comprising neural networks having a model of the same structure, of a communication network, said method comprising, before a federated learning weights of said models of the neural networks of the nodes of said set, in which said nodes locally train their model of neural networks and share the weights of their model with other so-called aggregation nodes of said network:
  • the learning method comprises, when said node is said aggregation node;
  • the learning method comprises, when said node is said aggregation node: determining whether said cluster must be restructured by taking into account a change in the weights of said cluster and/or a change in the weights of the nodes of said cluster.
  • the learning method comprises, when said node is said aggregation node; if it is determined that said cluster must be restructured, restructuring said cluster by grouping at least some of the nodes of said cluster into at least one sub-cluster, said sub-clusters being constituted according to a function taking into account a communication cost between the nodes within a said sub-cluster and a similarity of an evolution of the weights of the models of the nodes within a said sub-cluster.
  • said restructuring of said cluster comprises sending, to said entity of said communication network, the identifier of an isolated node of said cluster.
  • the learning method comprises, when said node is not said aggregation node:
  • said method is implemented by a node belonging to a first cluster, and said entity of said communication network is:
  • node of said set of nodes acting as an aggregation node managing an aggregated model of a second level cluster lower than the level of said first cluster.
  • the invention relates to a learning method implemented by a node of a set of nodes of a communication network, said node being capable of playing the role of aggregation node in a cluster of nodes of the set of nodes, the nodes of this set comprising a neural network, the neural networks of these nodes all having a model of the same structure.
  • This process includes:
  • the invention relates to a node belonging to a set of nodes of a communication network.
  • the invention relates to a node belonging to a set of nodes comprising neural networks having a model of the same structure, of a communication network, said node comprising at least one processor capable of:
  • a reception from an entity of said communication network, before federated learning of the weights of said models of the neural networks of the nodes of said set, in which said nodes locally train their model of neural networks and share the weights of their model with other nodes of said network, information designating a first node of said set as an aggregation node managing an aggregated model for said federated learning and, when said node is said first node, identifiers of the nodes of said one cluster whose said aggregation node manages said aggregated model.
  • the node comprises:
  • an initialization module configured, in the event of reception of said learning request, to initialize the weights of the aggregated model of said cluster and the weights of the models of the nodes of said cluster with the received weights, when said node is said aggregation node;
  • the invention relates to a node belonging to a set of nodes of a communication network, said node being capable of playing the role of aggregation node in a cluster of nodes of said set of nodes, the nodes of this set comprising a neural network, the neural networks of said nodes all having a model of the same structure.
  • This node includes:
  • an initialization module configured, in the event of reception of said learning request, to initialize the weights of the aggregated model of the cluster and the weights of the models of the nodes of said cluster with the weights received;
  • the invention also relates to a system comprising a coordination entity and at least one node as mentioned above.
  • the invention proposes federated learning in which nodes of the network can communicate or receive weights (or parameters) or changes in the weights of the models of their neural networks.
  • These nodes can be communication devices of any type. These may include terminals, connected objects (in English loT, Internet of Things) for example cell phones, laptops, domestic equipment (for example gateways), private or public equipment , in particular of an operator of a telecommunications network, for example access points, core network equipment, servers dedicated to the invention or servers implementing operator functions for the implementation of a service in the network.
  • Ni nodes can be fixed or mobile. These can be virtual machines.
  • the nodes each have access to a local dataset.
  • the invention can be implemented, but this in a non-limiting manner, in the context of applications or services of a communication network, for which it is not possible or desirable for the devices of the network to communicate their data either among themselves or to a centralized entity.
  • a node can update the weights of its model (or more simply its model), for example by performing a gradient descent on the database of its local dataset. More precisely, a gradient descent can comprise, for a node, a calculation of the gradient of a cost function by using a certain number E of times the set of local data divided into subsets (in English batch). Hyperpara meters can be considered to parameterize a gradient descent, in particular:
  • B the size of the data subset (batch), for example drawn randomly.
  • the invention can be implemented with all types of data sets, for example when the data of the local data sets are not “independent and identically distributed” (IID) data, but non-IID data.
  • IID independent and identically distributed
  • the nodes are grouped (partitioned) into clusters (or groups of nodes), these being able to vary dynamically to help for example the convergence of the models shared by the nodes of the same cluster.
  • the partition of nodes into clusters may vary, the structure of a cluster (namely in particular the set of nodes that compose it) is likely to vary over time.
  • a coordination entity is configured to partition or repartition all the nodes into clusters, and to designate an aggregation node in at least some of these clusters.
  • At least certain nodes of the set of nodes are capable of playing this role of aggregation node.
  • the coordination entity when the coordination entity has defined a new partition of clustered nodes and designated the nodes which must play the role of aggregation node within their clusters, the coordination sends these nodes information so that they play this role of aggregation node within their cluster. It also tells them the identifiers of the nodes in the cluster.
  • each node of a cluster comprises its own model, but also that each cluster comprises its own model.
  • the aggregation node of a cluster manages the aggregate model of at least that cluster.
  • each cluster comprises an aggregation node which manages the aggregated model of this cluster.
  • the aggregated model of a cluster is obtained by aggregating the weights of the models of the nodes of the cluster trained with sets of data local to these nodes.
  • the nodes of a cluster which train their models with their local datasets and which contribute to the construction of the aggregated model of the cluster can for example be qualified as worker nodes.
  • a node may be able to act as an aggregation node, to act as a worker node, or to play both roles.
  • the role of a node can vary over the partitions, for example be redefined with each new partition.
  • the learning method is implemented by a node which, in addition to being able to play the role of aggregation node, is also capable of playing the role of working node.
  • an entity of the communication network can specifically inform the node that it should act as a worker node.
  • a node implicitly understands that it must play the role of working node when it receives, from an entity of the communication network, the identifier of an aggregation node of a cluster to which it belongs.
  • a node When a node acts as a worker node, it receives, from the aggregation node of its cluster, weights of a model having the structure of the models of all the nodes of the set to initialize the weights of its own model and it transmits to this aggregation node the weights of its model trained with a set of data local to this node.
  • the aggregation node of a cluster relays communication between nodes within the cluster.
  • the cost of communication between two nodes is used as a criterion (unique or not) to determine the clusters of a partition of nodes
  • the cost of communication within a cluster can be the sum of the costs communication between the cluster aggregation node and each of the cluster nodes.
  • the aggregation node of a cluster is chosen close to the nodes of the cluster.
  • the aggregation node of a cluster is one of the nodes of the aforementioned set of nodes. In which case, it manages not only the cluster model but also its own model as described previously.
  • the aggregation node of a cluster relays the communication between the coordination entity and the nodes of its cluster.
  • the aggregation node of a cluster has the possibility of reorganizing its cluster, in particular of creating sub-clusters within its cluster or of excluding nodes from its cluster .
  • the model of a cluster of level n can be obtained by aggregating the models of the clusters of level n+1.
  • the aggregation node of a level n cluster can for example relay the communications with the aggregation nodes of the level n-1 and/or level n+1 clusters.
  • the coordination entity can be considered to be an aggregation node of the lowest level, by convention of level 0 for example.
  • the network entity which sends, to a node of a level n cluster, the information according to which this node must play the said role of aggregation node in this cluster, the identifiers of the nodes of this cluster and the weights of a global model for all the nodes is: - a coordination entity as mentioned above; Or
  • the network entity which sends to a node the information according to which it must play the role of working node in a level n cluster and the identifier of a aggregation node of this cluster is:
  • the aggregated model of each cluster is sent to the lower level cluster, for example conditionally, such as after a constant number of iterations.
  • the aggregated models can thus go back to the coordination entity which can aggregate these models in an updated version of the global model.
  • This global model can then be sent back down to all the nodes for a new implementation of the method either directly or via the aggregation nodes.
  • the partition of the nodes into clusters can take into account a communication cost between the nodes of at least one cluster or to take into account at least one service implemented by at least one least one of the nodes. But other criteria can be used.
  • the clusters of the partition of the nodes are determined to minimize a communication cost between the nodes of this cluster. But other criteria can be used.
  • the clusters of the partition can for example be determined to favor the grouping of the nodes which implement the same service in the communication network. They can also be created randomly.
  • the weights of the model of a cluster can be obtained by aggregating the weights of the models of the nodes which make up this cluster.
  • the nodes communicate the weights (or alternatively the gradients) of their models, resulting from local calculations from their local datasets.
  • the data remains local and is not shared or transferred, which guarantees the confidentiality of the data, while achieving the learning objective.
  • the invention is in this sense very different from the federated multitask optimization method described in the document "V. Smith, C. K. Chiang, M. Sanjabi, and A. Talwalkar, "Federated multi-task learning, "Advances in Neural Information Processing Systems, vol.2017-Decem, no. Nips, pp. 4425 ⁇ 1435, 2017” which does not offer to group nodes into clusters.
  • Different aggregation methods can be used to update the aggregate model of a level n cluster from the aggregate models of the n+1 higher level clusters or from the models of the nodes that make up this level n cluster.
  • the aggregation method used to update :
  • the weights of the aggregated models of the reorganized clusters use a weighted average or a median.
  • the method comprises a loop implemented within each cluster.
  • the aggregated model of the cluster is communicated to each of the nodes of the cluster, each of the nodes of the cluster updates its model by performing, for example, a gradient descent with its local data and returns either its new model or the evolution or the update of its model (i.e. the difference in weights between the current iteration and the previous iteration) so that it is aggregated at the level of the aggregated model of the cluster and returned to the nodes of the cluster at the next iteration.
  • This loop can comprise a constant number of iterations or not. It can for example stop when a stop condition is verified.
  • the coordination entity determines how the weights of the global model evolve, for example to what extent this global model continues to converge, and decides on the advisability of redefining the clusters.
  • this determination may comprise obtaining a representation of the global model in the form of a vector whose coordinates are made up of the evolutions of the weights of this model and the decision to redefine or not the clusters can take into account the norm of this vector, for example via a comparison of the norm of this vector with a constant value.
  • the reorganization of the clusters is a reorganization of all the nodes into a new partition of clusters of nodes.
  • new aggregation nodes can be defined for at least some of the clusters. These may be, for example, nodes of these reorganized clusters.
  • the reorganized clusters are constituted according to a function taking into account:
  • this similarity is determined by:
  • These requests can be made to the nodes directly by the coordination entity. Alternatively, they can be performed or relayed by the aggregation nodes.
  • the evolutions of the weights of the models are represented in the form of vectors and the similarity of the evolutions of the weights of the models of the different nodes is for example determined by a so-called cosine similarity method.
  • the weights of the updated global model are sent back to each of the nodes, either directly or via the aggregation nodes of the clusters thus reorganized.
  • the nodes can thus update their model with the global model.
  • Aggregated models of reorganized clusters can also be updated with the global model.
  • these new clusters are then made up of nodes selected according to a proximity criterion (communication cost for example) and whose models are likely to evolve in the same way.
  • this phase may comprise a loop implemented within each reorganized cluster, identical or similar for example to that of the initialization phase.
  • the aggregated model of the reorganized cluster is communicated to each of the nodes of this cluster, each of the nodes updates its model by performing a gradient descent with its local data set and returns either its new model or the evolution of its model so that it is aggregated at the level of the aggregated model of the reorganized cluster and returned to the nodes of this cluster at the next iteration.
  • This loop can include a constant or variable number of iterations. It can for example stop when a stop condition is verified.
  • the learning method comprises a step for determining whether at least one reorganized cluster must be restructured.
  • a reorganized cluster it is determined whether a reorganized cluster must be restructured according to a convergence criterion which takes into account a change in the weights of said reorganized cluster and/or a change in the weights of the nodes of the reorganized cluster.
  • a convergence criterion which takes into account a change in the weights of said reorganized cluster and/or a change in the weights of the nodes of the reorganized cluster.
  • it may be a double convergence criterion taking into account a change in the weights of said reorganized cluster and a change in the weights of the nodes of the reorganized cluster.
  • a reorganized cluster is determined to be restructured if the following conditions are met: (1) the evolution of the weights of said reorganized cluster is below a threshold; And
  • the global model is represented in the form of a vector whose coordinates are constituted by the evolutions of the weights of this model and the norm of this vector with a numerical value, used for example as a threshold value.
  • This value can be a constant or a value that depends for example on the level of the cluster or on the number of iterations already performed.
  • a similarity is determined between the evolution of each of the nodes of the cluster and the evolution that the cluster would have if it were deprived of this node . For example, for a given node:
  • the restructuring of a cluster comprises the grouping of at least some of the nodes of this cluster into at least one sub-cluster, these sub-clusters being constituted according to a function taking into account a cost of communication between the nodes within a said sub-cluster and a similarity of an evolution of the weights of the models of the nodes within a said sub-cluster (to minimize this function for example).
  • This step is similar to the reorganization step described previously (initialization phase) except that it only applies to the nodes of the cluster to be restructured and not to all the nodes.
  • isolated node of a cluster to be restructured is not assigned to a sub-cluster, this node can be assigned to another cluster.
  • the aggregation node of a level n cluster when the aggregation node of a level n cluster detects an isolated node, it sends the identifier of this isolated node to an entity of the communication network so that this node is reassigned. in another cluster.
  • This entity can for example be a coordination entity as mentioned below or a node which plays an aggregation role in a level n-1 cluster.
  • the reassignment of an isolated node to another cluster is carried out by the coordination entity mentioned above. Therefore, in one embodiment, the configuration method includes:
  • the methods mentioned above are implemented by a computer program. Consequently, the invention also relates to a computer program on a recording medium, this program being capable of being implemented by a coordination entity or more generally in a computer.
  • This program includes instructions suitable for implementing a configuration method or a learning method as described above.
  • These programs may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in any other desirable form.
  • the invention also relates to an information medium or a recording medium readable by a computer, and comprising instructions of a computer program as mentioned above.
  • the information or recording medium can be any entity or device capable of storing the programs.
  • the media may comprise a storage medium, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording medium, for example a floppy disk or a disk. hard, or flash memory.
  • the information or recording medium may be a transmissible medium such as an electrical or optical signal, which may be routed via an electrical or optical cable, by radio link, by wireless optical link or by other ways.
  • a program according to the invention can in particular be downloaded from an Internet-type network.
  • the information or recording medium may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of one of the methods in accordance with the invention.
  • FIG. 1 The figure [Fig 1] represents, in a communication network, a set of nodes that can be used in at least one embodiment of the invention
  • FIG. 2 The figure [Fig 2] schematically represents a node that can be used in at least one embodiment of the invention
  • FIG. 3 The figure [Fig 3] represents clusters of nodes
  • FIG. 4 The figure [Fig 4] represents clusters of nodes formed on communication cost criteria
  • FIG. 5 The figure [Fig 5] represents clusters of nodes formed to group together nodes whose local data have homogeneous distributions;
  • FIG. 6 The figure [Fig 6] represents a vectorial representation of the evolution of the model of a node
  • FIG. 7 The figure [Fig 7] represents a cluster of all the nodes of the figure [Fig. 1];
  • FIG. 8 The figure [Fig 8] illustrates the use of the vector representation of the figure [Fig. 6] on the cluster of the figure [Fig 7;
  • FIG. 9 The figure [Fig 9] represents a cluster initialization phase that can be implemented in at least one embodiment of the invention.
  • FIG. 10 The figure [Fig 10] represents an optimization phase that can be implemented in at least one embodiment of the invention.
  • FIG. 11 The figure [Fig 11] represents the hardware architecture of a coordination entity according to at least one embodiment;
  • FIG. 12 The figure [Fig 12] represents the functional architecture of a coordination entity according to at least one embodiment
  • FIG. 13 Figure [Fig 13] shows the hardware architecture of a node according to at least one embodiment
  • FIG. 14 Figure [Fig 14] shows the functional architecture of a node according to at least one embodiment
  • FIG. 15 The figure [Fig 15] illustrates performances of the invention in an exemplary implementation.
  • FIG 1 represents a set of nodes N, in a geographical environment for example in a country, said nodes N, being devices capable of communicating on a communication network.
  • the nodes N i each have access to a local dataset ds i .
  • the data of the local data sets ds i of these nodes are non-IID data.
  • the data of the nodes represented in the form of a circle come from a first distribution of independent and identically distributed data
  • the data of the nodes represented in the form of a triangle come from a third distribution of independent and identically distributed data.
  • the distribution of the local data ds, of a node N is not known, this being moreover liable to vary over time as the node N, acquires or generates new data and /or that some data becomes obsolete.
  • Each node N can acquire or generate the data ds, from its local data set.
  • These data ds can for example be communication network signaling or control data, for example quality of service data, statistics on the communication network, performance indicators of the communication network. It may also be data representative of the use of the node N,, for example durations, places or ranges of use of the node N,, data on the profiles of the users of the node N,, data on the services accessed or offered by the node N,. It can also be data acquired by the node N, or by a sensor of the node N, for example meteorological data, measurements of temperature, consumption, usage, wear, etc. It can it may also be data entered or acquired by a user of node N, for example text data (content of messages, etc.), images, videos, voice messages, audio recordings, etc.
  • the local data ds, of a node N can be sensitive data in the sense that this data must not be shared or communicated to the other nodes. For example, it may be data private to a user of the node, such as personal data.
  • the nodes are located, for example thanks to their GPS coordinates, and the cost of communication between two nodes is constituted by the geographical distance between these nodes.
  • the communication cost between two nodes can be a measurement of throughput, latency, bandwidth of a communication between these nodes.
  • a node N i comprises a neural network RN which can be trained by a learning method from the local data set ds i of this node.
  • the structures (number and topology of the layers) of the models of the neural networks RN of the different nodes N are identical. But the weights (or parameters) of the models of these networks are potentially different, since these networks are trained from different local dsi datasets.
  • the training of a neural network of a node N, to obtain a more efficient model can include a few iterations (or round, in English round) of gradient descent. More precisely, once the weights of the network have been initialized, during an iteration, a node N, can perform a gradient descent during E epochs (in English epoch) with different data (i.e. say, that it computes a gradient using for example each of its local data ds, E times).
  • B size of the data batch (randomly drawn for example).
  • the N nodes are organized into Q groups or clusters.
  • each cluster Q one of the nodes N, represented in black is an aggregation node Aj of the cluster Q.
  • the nodes N, within a cluster Q communicate only via the aggregation node Aj so that the communication cost between two nodes within a cluster is the sum of the communication costs between each of these nodes and the node of Aj aggregation of this cluster.
  • the number of cluster levels can be arbitrary, each aggregation node of a level n greater than or equal to 1, being configured to communicate with an aggregation node of lower level n-1 with the convention introduced above.
  • level 0 and 1 levels of aggregation
  • level 0 levels 0 and 1
  • level 0 is constituted by a node of Ao aggregation (coordination entity within the meaning of the invention).
  • the figure [Fig. 3] represents the nodes of the figure [Fig. 1] grouped into two clusters Q of level 1, the aggregation nodes Aj of these clusters being configured to communicate with the aggregation node Ao of level 0.
  • the dotted lines represent the clusters and the solid lines represent the communications between the knots.
  • the level 0 aggregation node Ao is able to communicate directly with each of the nodes N, but in order not to overload the figure [Fig. 3,] these direct communications are not shown.
  • each aggregation node Aj is configured to constitute an aggregated model for the cluster Q from the local models of the nodes N, of this cluster.
  • each aggregation node of level n, n greater than or equal to 0 is configured to constitute an aggregate model of level n from the aggregate models of the clusters of level n+1.
  • the level 0 aggregation node Ao is configured to constitute, optimize and reorganize the clusters and to designate an aggregation node Aj within each of these clusters;
  • a level n aggregation node is configured to be able to send the weights of a model to a node either directly or via a chain of aggregation nodes of intermediate levels between the level of the aggregation node and the level of this node;
  • the aggregation node Aj of a cluster Q is configured to ask the nodes N, of its cluster to update their models (for example by performing a gradient descent from their local data sets da ),
  • the nodes N are configured to send to the aggregation node Aj of their cluster Q the update A0, of their model;
  • an aggregation node of level n-1, n greater than or equal to 1, is configured to update its model from updates of the models of the level n clusters;
  • the aggregation node Aj of a cluster Q is configured to restructure its cluster Q, for example to group certain nodes of this cluster into sub-clusters or to exclude certain nodes from its cluster Q, for example if it determines that the evolution of the models of certain nodes of its cluster does not follow that of its aggregated model or that of other nodes of its cluster.
  • the clusters resulting from the partitions and the successive restructurings are formed by pursuing a dual objective, namely: limiting (for example minimizing) the communication costs between the nodes, and;
  • the figure [Fig. 4] represents a grouping of the nodes N, of the figure [Fig. 1] into four clusters which optimize the communication costs, the nodes N being grouped together on a purely geographical criterion (first criterion above).
  • the figure [Fig. 5] represents a grouping of the nodes N, of the figure [Fig. 1] in three clusters the nodes of the same cluster having local data sets with homogeneous distributions, in order to take into account the second criterion (to optimize for example the second criterion).
  • the clusters determined by the invention can result for example from a compromise between these two organizations.
  • the nodes N i communicate their local data sets ds neither to the other nodes nor to the aggregation nodes nor to the coordination entity.
  • the local data sets ds therefore cannot be used directly to distribute the nodes in the clusters.
  • the origin ê n represents the weights of the model before its evolution, in other words a reference model
  • the norm of this vector is representative of the importance of the evolution of the model: the greater the norm, the more the model evolves;
  • the direction of this vector represents the way the model evolves: if the model converges towards an optimal model for this node, the direction of this vector is directed towards this optimal model.
  • a cluster Ci comprising two nodes Ni, N2 is considered, the node N2 being the aggregation node Ai of this cluster.
  • the nodes Ni, N2 have local data sets dsi, ds2 from different distributions.
  • FIG. 8 represents, by way of example, the weights e 0PT1 of the model considered to be optimal from the data set dsi and the weights e 0PT2 of the model considered to be optimal from the data set ds2. These weights are unknown. For the sake of simplification, it is considered in this figure that the weights e are of dimension 2, dim0 and diml.
  • the vectors in dashed lines represent, at each turn t, the evolution of the model of the node Ni. We see that the norms of these vectors tend (if the model converges) to decrease at each round t, and that these vectors are (normally) directed towards the point representing the weights e 0PT1 of the optimal model of the dsi data set.
  • the vectors in dotted lines represent, at each turn t, the evolution of the model of the node N2. We see that the norms of these vectors tend (if the model converges) to decrease at each round t, and that these vectors are (normally) directed towards the point representing the weights e 0PT2 of the optimal model of the data set ds2.
  • the vectors in solid lines represent the evolution of the aggregated model of the cluster Ci, obtained by aggregating the models of the nodes Ni and N 2 .
  • the nodes whose evolutions of the models are represented by vectors of identical or neighboring directions are intended to be grouped together in the same cluster (assuming that this grouping is not called into question by the criterion of limiting communication costs).
  • the coordination entity Ao can be considered as a level 0 aggregation node.
  • the cluster initialization phase comprises steps E10 to E75.
  • the level 0 aggregation node Ao (coordination entity within the meaning of the invention) performs a first partition of the nodes N, to initialize the clusters Q and determines, among the nodes N,, the aggregation node Aj of each of these clusters Q.
  • the method comprises a parameter kinit which defines the number of clusters which must be created during this initial partition.
  • the kinit clusters are formed by only taking into account the distances between the nodes N i , on the basis of their geographical locations.
  • the constitution of the clusters can for example comprise a creation of one cluster per node N, and recursive fusions of pairs of clusters closest to each other in a single cluster.
  • the constitution of the clusters can for example use the Hierarchical Agglomerative Clustering algorithm presented in the document “T. Hastie, R. Tibshirani, and J. Friedma, The Elements of Statistical Learning, second edi ed. Springer, 2008”.
  • the aggregation node Aj can be chosen for example as the node N, of this cluster which minimizes the sum of the distances between this node Aj and each other nodes in this cluster.
  • the coordination entity Ao sends:
  • the nodes N, and the aggregation node Aj of this cluster can be configured to communicate with each other.
  • the coordination entity Ao on the first occurrence of a step E20, the coordination entity Ao initializes a variable t representing the number of the current round to 0 and sends to each aggregation node Aj, the weight 0° of an initial model global to all the nodes and a request to learn the models of the nodes of this cluster with these weights.
  • the learning request can be accompanied by a number 8 of updates, in other words of iterations to be carried out for this learning.
  • the aggregation node Aj of each of the clusters Q initializes the weights of its model 0/ for round t with the weights of the global model.
  • the aggregation node Aj of each of the Q sends the weights 0/ of its aggregated model to each of the nodes N, of its cluster.
  • each of the nodes N initializes the weights of its local model 0 for turn t with the weights 0/ of the model of its cluster Q.
  • the aggregation node Aj when the aggregation node Aj sends the weights 0/ of the model of its cluster to a node N, it asks it to update update its model 0 .
  • the aggregation node Aj communicates the hyperparameters E, B, 77 to the nodes N,.
  • the node N updates its model 0 . To do this, for example, it performs a gradient descent during E epochs on a batch of size B of its local data ds,.
  • the node N sends the update A0 of its model for round t to the aggregation node of its cluster Q.
  • an aggregation node Aj increments the variable t (current round number) and updates the weights of the aggregated model 0/ of its cluster Cj for round t by aggregation of the updates A0 of the weights of the models of the nodes N, of this cluster Q received at step E40.
  • the variables t of 0/ and of A0 differ by one unit, since for example, the weights of the model 0/ of the cluster Q for round 1 are obtained by aggregating the updates A0° of the models of the nodes N, on turn 0.
  • an aggregation node Aj checks whether the 3 rounds (or iterations) have been performed, in other words whether t is divisible by 3. If this n is not the case, the result of the test E50 is negative and the aggregation node sends (during a new iteration of step E30), the weights 0/ of the model of its cluster Q updated to each of the N nodes, of its cluster. These update their model 6- (step E35) and send the update A0 to the aggregation node Aj (step E40) so that the latter increments the value t and updates the aggregated model 0/ of its cluster Q (step E45).
  • the result of the test E50 is positive and the aggregation node Aj sends the aggregated model 0f of its cluster Q to a node playing an aggregation node role in a lower level cluster, namely, in this example, to the coordination entity Ao.
  • the coordination entity Ao updates the weights of the global model e 1 by aggregating the aggregated models 0/ of the clusters ⁇ .
  • the coordination entity Ao can use different aggregation methods depending on the embodiments, and for example the aforementioned “Federated Average” or “Coordinate-wise median” aggregation methods.
  • the coordination entity Ao when the norm of the evolution A0' of its model is greater than the convergence criterion e 0 , the coordination entity Ao considers that its model continues to converge and the result of the test E60 is positive. It then sends (new occurrence of step E20), the weights 0' of the new global model to the aggregation nodes Aj of the clusters Q asking them to repeat the process described above to update their aggregated models S times 0/.
  • the coordination entity Ao when the norm of the evolution A0' of its model is lower than the convergence criterion e 0 , the coordination entity Ao considers that its model no longer evolves and the result of the E60 test is negative.
  • the nodes N update their model 0 during a step E65 (for example by performing a gradient descent from their local data set da) and send the update A0 of their models to the coordination entity Ao during a step E70.
  • the coordination entity Ao performs a new partition of the nodes to reorganize the clusters. It is recalled that at step E10, the kinit clusters had been constituted, in the embodiment cited by way of example, by taking into account only the distances between the nodes N i , on the basis of their geographical locations .
  • step E75 reorganizes the nodes into clusters so that these respond to a compromise, namely to limit (for example minimize) the communication costs between the nodes within a cluster, and on the other hand constitute clusters of nodes whose updates of their A0 models ; (t) move in the same direction, this second criterion representing a priori the fact that these nodes have local data sets from homogeneous distributions.
  • step E75 reorganizes the clusters to globally optimize the dimension d, rk calculated for each pair of nodes N,, Nk: in which :
  • - cii,k is a distance between updates and A0® of the models of the nodes Ni and Nk;
  • step E75 the new clusters Q are reorganized and their aggregation nodes Aj are designated.
  • this step E75 completes an initialization phase.
  • this optimization phase comprises steps F10 to F95.
  • the coordination entity Ao saves the global model as reference model 0 n .
  • the coordination entity Ao sends:
  • the nodes N, and the aggregation node Aj of this cluster can be configured to communicate with each other.
  • the coordination entity Ao sends to each aggregation node Aj:
  • the aggregation node Aj of each of the reorganized clusters Q initializes the weights of its model 0f for round t with the weights of the global model.
  • the aggregation node Aj of each of the reorganized clusters Q sends the weights 0f of its aggregated model to each of the nodes N, of its cluster and their request to update their 0- model by performing gradient descent from their local dataset ds,.
  • each of the nodes N initializes the weights of its local model 0- for round t with the weights 0f of the model of its cluster Q and puts this model updated by performing a gradient descent during E epochs on a batch of size B of its local data ds,.
  • the node N sends the update A0 of its model for round t to the aggregation node of its cluster Q.
  • the aggregation node Aj of a reorganized cluster Q determines whether the cluster Q must be restructured. In the example described here, and as described above with reference to the figure [Fig. 8], this step returns:
  • the aggregation node Aj determines s 'there is at least one model of a node N, of its cluster which continues to evolve and this differently from the models of the other nodes of the cluster.
  • an aggregation node Aj compares the norm of A0 with the convergence criterion e n .
  • the aggregation node Aj to determine if the model of a node N, which continues to evolve, evolves differently than the models of the other nodes of the cluster Cj, the aggregation node Aj considers the angle between:
  • the aggregation node Aj considers that the model of a node of the cluster evolves differently if a t > . Or :
  • the aggregation node Aj of a cluster Q calculates during a step F50, the aggregated model 0f of the cluster Q obtained from the updates A0 of the model of the nodes N, of the cluster Q received at step F40.
  • This updated model is sent to all the nodes Ni of the cluster Q during a new iteration of step F30.
  • the loop of steps F25 to F50 is performed as long as t is less than a value T.
  • Other stopping criteria can be used.
  • the aggregation node Aj sends (step F58) the aggregated model 0f of its cluster Q to the coordination entity Ao (or to the lower level aggregation node).
  • an aggregation node Aj determines either that the model of cluster Q no longer evolves or that there is at least one node whose model evolves in a "wrong" direction, the result of test F45 is positive, and the aggregation node Aj undertakes, during a step F60, a restructuring of the cluster Q.
  • This step is similar to step E75 already described except that it only applies to the nodes of the cluster Q and not to all the nodes. It therefore produces a set of sub-clusters of the cluster SQ and of aggregation nodes SAj of these sub-clusters, these sub-clusters SQ being formed to limit the communication costs between their nodes and to group together nodes whose updates day of their models evolve substantially in the same direction. Eventually NI nodes are not assigned to any of the sub-clusters and can be considered isolated.
  • the subclusters SQ and the isolated nodes NI are not treated in the same way.
  • the aggregation node Aj sends:
  • the aggregation node Aj sends to each aggregation node SAj:
  • an aggregation node Aj creates, during a step F70, for each sub-cluster a reference model sè nj by aggregating the models of the nodes of this sub-cluster and sends then the weights of this model at the aggregation node SAj of this sub-cluster SQ.
  • This sub-cluster aggregation node can then implement, recursively, the steps described above to personalize its sub-cluster.
  • the lower level aggregation node namely the coordination entity Ao in this example, updates, during a step F75, the reference model ê n by aggregation of the models
  • the coordination entity Ao sends the weights of this reference model to the node NI, isolated during a step F80.
  • the isolated node NI initializes the weights of its local model with the weights of this reference model ê n and updates this model by performing a gradient descent.
  • the isolated node NI sends the update of its model to the coordination entity Ao during a step F90.
  • the isolated node NI is assigned to the cluster Q whose evolution of the model with respect to the reference model ê n , i.e. (0® - ê n ⁇ ) , the closest to A0,
  • a level n aggregation node is configured to determine (step E60) if its aggregated model is still far from convergence by comparing the norm of the evolution of its model with a convergence criterion s n which may be specific to this level of aggregation.
  • a level n aggregation node sends a reference model resulting from this initialization phase to the level n+1 aggregation nodes (step F10).
  • Each aggregation node is configured to determine whether its cluster needs to be reconfigured (step F45) and if so, to create sub-clusters (step F60) or request the lower level aggregation node to assign a cluster (step F95) to the nodes which would be isolated.
  • the coordination entity Ao has the hardware architecture of a computer. It comprises in particular a processor 11, a read only memory 12, a random access memory 13, a non-volatile memory 14 and means of communication 15.
  • These means of communication 15 can in particular allow the coordination entity Ao to communicate with nodes of the network.
  • the ROM 12 of the coordination entity Ao constitutes a recording medium in accordance with the invention, readable by the processor and on which is recorded a computer program PGC in accordance with the invention, comprising instructions for the performing a weight configuration method according to the invention.
  • the processor of said coordination entity (Ao) can be able to:
  • the program PGC defines various functional and software modules of the coordination entity Ao, capable of implementing the steps of the weight configuration method. With reference to the figure [Fig. 12], in a particular embodiment, these modules include in particular here:
  • a partitioning module MP configured to partition a set of nodes N, into at least one cluster Q;
  • a communication COM module configured to send to a node Aj belonging to at least one cluster Q, called aggregation node Aj, information according to which said node Aj must play the role of an aggregation node Aj in this cluster Q of nodes and identifiers of the nodes N, of this cluster Q;
  • the COM module being configured to send, to at least one aggregation node Aj, a request for learning the model weights of the nodes N, of this cluster Q with the weights of a global model to all the nodes ;
  • the COM module being configured to receive, from said at least one aggregation node Aj, weights of the aggregated model of the cluster Cj resulting from this learning;
  • FIG. 13 represents, in one embodiment of the invention, the hardware architecture of a node Aj capable of playing the role of aggregation node in a cluster of nodes of a set of nodes, neural networks of nodes of this set all having the same structure.
  • This node Aj comprises in particular a processor 21, a read only memory 22, a random access memory 23, a non-volatile memory 24 and means of communication 25.
  • These means of communication 25 can in particular allow the node N to communicate with a coordination entity Ao or with other network nodes, especially within the same cluster.
  • the read only memory 22 of the node Aj constitutes a recording medium in accordance with the invention, readable by the processor and on which is recorded a learning program PGA in accordance with the invention, comprising instructions for the execution of a learning method according to the invention.
  • the processor of the node may be able to receive, from an entity of said communication network, before a federated learning of the weights of said models of the neural networks of the nodes of said set, in which said nodes locally train their models of neural networks and share the weights of their models with other nodes of said network of information designating a node (Aj) of said set as an aggregation node managing an aggregated model for said federated learning and, when said node is said node , identifiers of the nodes of said cluster of a cluster whose said aggregation node manages said abbreviated model.
  • the program PGA defines various functional and software modules of the node Aj capable of implementing the steps of the learning method.
  • these modules include in particular here:
  • COM2 configured to receive, from an entity of the communication network:
  • the communication module COM2 being configured to receive, from an entity of the network, a request for learning the weights of the cluster from the weights of a model having said structure; - an initialization module MIN configured, in the event of reception of said learning request, to initialize weights 0, of an aggregated model Mj of the cluster Q and of the weights e t of the models of the nodes N, of the cluster Cj with said received weights;
  • an update module configured to update the weights of the aggregated model of the cluster Q, by aggregating the weights of the models of the nodes N, of the cluster Q trained with data sets local to these nodes, the weights of the models nodes of the cluster being replaced by the updated weights of the aggregated model of the cluster Q after each update;
  • the communication module COM2 being configured to send to the entity of the network weights of the aggregated model of said updated cluster.
  • this node then denoted N, is also capable of playing the role of working node
  • the means of communication COM2 are configured for:
  • FIG. 15 illustrates performance of the invention in an example implementation. More precisely :
  • test images from the MNIST data set are used, which comprises images each representing a number from 0 to 9, ie ten classes. 99% accuracy means that for every 100 known new images, 99% are classified correctly.
  • Parts (e) and (f) of the figure [Fig. 15] respectively illustrate the advantage of the invention in terms of communication cost reduction in the case of a federated mean type aggregation method and in the case of a median type aggregation method.
  • the communication cost being in this example constituted by the sum of the communication costs (i) of the model towards the nodes and (il) back from these nodes to the aggregation nodes or to the coordination entity, taking into account the number of bits needed to send the pattern (i.e. the weights), multiplied by the sum of the distances between two knots, power a (path loss exponent).
  • the single aggregation node is the barycenter of all nodes.
  • cluster federated learning can help reduce the communication cost by avoiding the communication between each node in the network and the single aggregation node.
  • the communication cost for the federated model by clusters varies, due to the reorganization of the clusters;
  • the communication cost for the federated model by clusters hardly varies any more, the clusters being stabilized and is much lower than that of the centralized federated model.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ce procédé permet la configuration des poids de modèles de réseaux de neurones de nœuds d'un ensemble de nœuds d'un réseau de communication, les réseaux de neurones ayant tous un modèle de même structure. Il comporte : - une partition de l'ensemble des nœuds en au moins un cluster de nœuds; - un envoi à un nœud appartenant au au moins un cluster, d'une information selon laquelle le nœud doit jouer un rôle d'un nœud d'agrégation dans le cluster et des identifiants des nœuds dudit cluster, le nœud étant alors qualifié de nœud d'agrégation du cluster; - un envoi, au nœud d'agrégation du au moins un cluster, d'une demande d'apprentissage des poids des modèles des nœuds du cluster avec les poids d'un modèle global à l'ensemble des nœuds; - une étape de réception, en provenance du nœud d'agrégation du au moins un cluster, des poids d'un modèle agrégé du cluster résultant de l'apprentissage; et - une mise à jour des poids du modèle global par agrégation des poids reçus du modèle agrégé du au moins un cluster.

Description

Procédé et système de configuration de réseaux de neurones d'un ensemble de nœuds d'un réseau de communication
Domaine de l'invention
L'invention concerne les réseaux de télécommunication. Elle se rapporte à un apprentissage de réseaux de neurones mis en œuvre par des dispositifs connectés à un réseau de communication.
Technique antérieure
L'invention se situe plus précisément dans le contexte d'un apprentissage fédéré (en anglais federated learning) dans lequel des dispositifs entraînent localement des modèles de réseaux de neurones de même structure et partagent les apprentissages réalisés sur leurs dispositifs avec les autres dispositifs.
L'apprentissage fédéré s'oppose à l'apprentissage centralisé où l'apprentissage se fait de façon centralisée par exemple sur les serveurs d'un fournisseur de service.
Pour plus de renseignements sur l'apprentissage fédéré, l'homme du métier pourra se reporter au document « Brendan McMahan, E. Moore, D. Ramage, S. Hampson, and B. Agüera y Areas, "Communication- efficient learning of deep networks from decentralized data," Proceedings of the 20th International Conference on Artificial Intelligence and Statistics, AISTATS 2017, vol. 54, 2017 ».
L'apprentissage fédéré peut par exemple être privilégié par rapport à l'apprentissage centralisé lorsqu'il est difficile d'envisager un modèle centralisé global adapté à tous les dispositifs.
L'utilisation d'un apprentissage fédéré peut aussi être avantageuse lorsque les dispositifs sont susceptibles d'entraîner leurs modèles par des données dont la distribution est susceptible de dépendre, au moins dans une certaine mesure, de ces dispositifs.
Au cours des dernières années, l’approche de l'apprentissage fédéré a suscité beaucoup d'intérêt dans de nombreux domaines, tels que la santé, la banque, l'industrie 4.0 ou les villes intelligentes, car elle peut aider à construire de meilleurs modèles globaux, tout en préservant la confidentialité des dossiers locaux (médicaux, financiers, etc.). Elle peut apporter une solution naturelle aux besoins croissants de protection des données personnelles, tout en répondant aux défis technologiques actuels: diminution de la consommation d'énergie, minimisation de la latence, deux défis avec le déploiement de la technologie 5G. Comme exposé plus haut, l'apprentissage fédéré est ainsi une forme d'apprentissage distribué où plusieurs nœuds résolvent en collaboration une tâche d'apprentissage automatique.
Pour certaines applications, les données recueillies par les utilisateurs dans des contextes réels ont souvent des distributions non « indépendantes et identiquement distribuées » (IID) (à l'inverse des variables aléatoires suivant la même loi de probabilité), ce qui peut avoir un impact important sur la convergence des modèles, lors d'un apprentissage fédéré, notamment lorsqu'un seul modèle conjoint peut ne pas correspondre à l’objectif de chaque nœud.
Objet et résumé de l'invention
Selon un premier aspect, l'invention concerne un procédé de configuration de modèles de réseaux de neurones de nœuds d'un ensemble de nœuds d'un réseau de communication, les réseaux de neurones desdits nœuds ayant tous la même structure.
Notamment, l'invention concerne un procédé de configuration de poids de modèles de réseaux de neurones (RN) de même structure, de nœuds d'un ensemble de nœuds d'un réseau de communication, ledit procédé comportant un apprentissage fédéré desdits poids dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dudit réseau, le procédé comportant:
- au moins une partition de l'ensemble des nœuds en au moins un cluster de nœuds ;
- une désignation d'au moins un premier nœud dudit cluster pour un rôle de nœud d'agrégation gérant un modèle agrégé dudit au moins un cluster de nœuds pour ledit apprentissage fédéré, ladite désignation comprenant :
• un envoi aux nœuds dudit cluster d'une information désignant ledit premier nœud comme nœud d'agrégation ;
• un envoi au premier nœud des identifiants des nœuds dudit cluster.
Dans au moins un mode de réalisation, ladite désignation est temporaire, le procédé comprenant au moins une autre désignation pour au moins une autre partition dudit ensemble de nœuds .
Dans au moins un mode de réalisation, le procédé de configuration comprend, lors dudit apprentissage fédéré :
- un envoi, au nœud d'agrégation dudit au moins un cluster, d'une demande d'apprentissage des poids des modèles des nœuds dudit cluster avec les poids d'un modèle global à l'ensemble des nœuds;
- une réception, en provenance du nœud d'agrégation dudit au moins un cluster, des poids dudit modèle agrégé dudit cluster résultant dudit apprentissage; et
- une mise à jour des poids du modèle global par agrégation des poids reçus du modèle agrégé dudit au moins un cluster.
Dans au moins un mode de réalisation, le procédé de configuration comporte une partition de l'ensemble des nœuds en au moins un cluster en tenant compte d'un coût de communication entre les nœuds au sein dudit au moins un cluster.
Dans au moins un mode de réalisation, le procédé de configuration comporte une partition de l'ensemble des nœuds pour réorganiser lesdits clusters en au moins un cluster, lesdits clusters réorganisés étant constitués selon une fonction prenant en compte un coût de communication entre les nœuds au sein d'un cluster réorganisé et une similarité d'une évolution des poids des modèles des nœuds au sein d'un cluster réorganisé.
Dans au moins un mode de réalisation, ladite similarité est déterminée en :
- demandant auxdits nœuds de remplacer les poids de leur modèle par les poids du modèle global mis à jour ;
- demandant auxdits nœuds de mettre à jour leur modèle en l'entraînant avec leur jeu de données locales; et
- déterminant une similarité des évolutions des poids des modèles des différents nœuds.
Dans au moins un mode de réalisation, le procédé de configuration comporte
- une réception, en provenance du nœud d'agrégation d'un premier cluster, d'un identifiant d'un nœud isolé dudit premier cluster ; et
- une réaffectation dudit nœud isolé à un autre cluster, en tenant compte d'une proximité entre :
• une direction de l'évolution des poids dudit nœud isolé lorsque celui-ci est entraîné par des données locales au nœud isolé; et
• une direction de l'évolution des poids du modèle agrégé dudit autre cluster, par rapport à un même modèle de référence.
Dans au moins un mode de réalisation, le procédé de configuration comporte :
- au moins une partition de l'ensemble des nœuds en au moins un cluster (ou groupe) de nœuds ;
- un envoi, à un nœud appartenant audit au moins un cluster, d'une information selon laquelle ce nœud doit jouer un rôle d'un nœud d'agrégation dans ce cluster et des identifiants des nœuds de ce cluster, ledit nœud étant alors qualifié de nœud d'agrégation du cluster ;
- un envoi, au nœud d'agrégation dudit au moins cluster, d'une demande d'apprentissage des poids des modèles des nœuds dudit cluster avec les poids d'un modèle global à l'ensemble des nœuds;
- une réception, en provenance du nœud d'agrégation dudit au moins un cluster, des poids d'un modèle agrégé dudit cluster résultant de cet apprentissage; et
- une mise à jour des poids du modèle global par agrégation des poids reçus du modèle agrégé dudit au moins un cluster.
Corrélativement, l'invention concerne une entité de coordination apte à configurer des modèles de réseaux de neurones de nœuds d'un ensemble de nœuds d'un réseau de communication, les réseaux de neurones desdits nœuds ayant tous un modèle de même structure,
Notamment, l'invention concerne une entité de coordination apte à configurer des poids de modèles de réseaux de neurones, de même structure, de nœuds d'un ensemble de nœuds d'un réseau de communication, par un apprentissage fédéré desdits poids dans lequel lesdits nœuds entraînent localement leurs modèles de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dudit réseau, ladite entité de coordination comprenant au moins un processeur apte à :
- au moins une partition de l'ensemble des nœuds en au moins un cluster de nœuds ;
- une désignation d'au moins un premier nœud dudit cluster pour un rôle de nœud d'agrégation gérant un modèle agrégé dudit au moins un cluster de nœuds pour ledit apprentissage fédéré, ladite désignation comprenant :
• un envoi aux nœuds dudit cluster, d'une information désignant ledit premier nœud comme nœud d'agrégation ;
• un envoi au premier nœud des identifiants des nœuds dudit cluster .
Selon au moins un mode de réalisation, l'entité de coordination comprend :
- un module d'envoi, audit nœud d'agrégation dudit au moins un cluster, d'une demande d'apprentissage des poids des modèles des nœuds dudit cluster avec les poids d'un modèle global à l'ensemble des nœuds;
- un module de réception, en provenance du nœud d'agrégation dudit au moins un cluster, des poids d'un modèle agrégé dudit cluster résultant dudit apprentissage ; et
- un module de mise à des poids du modèle global par agrégation des poids reçus du modèle agrégé dudit au moins un cluster.
Selon au moins un mode de réalisation, ladite entité de coordination comporte :
- un module de partitionnement de l'ensemble des nœuds en au moins un cluster de nœuds ;
- un module d'envoi, à un nœud appartenant audit au moins un cluster, d'une information selon laquelle ce nœud doit jouer un rôle de nœud d'agrégation dans ledit cluster, et des identifiants des nœuds de ce cluster, ledit nœud étant alors qualifié de nœud d'agrégation du cluster ;
- un module d'envoi, au nœud d'agrégation dudit au moins un cluster, d'une demande d'apprentissage des poids des modèles des nœuds dudit cluster avec les poids d'un modèle global à l'ensemble des nœuds;
- un module de réception, en provenance du nœud d'agrégation dudit au moins un cluster, des poids d'un modèle agrégé de ce cluster résultant dudit apprentissage ; et
- un module de mise à jour des poids du modèle global par agrégation des poids reçus du modèle agrégé dudit au moins un cluster.
Selon un deuxième aspect, l'invention concerne un procédé d'apprentissage mis en œuvre par un nœud d'un ensemble de nœuds d'un réseau de communication. Notamment, l'invention concerne un procédé d’apprentissage mis en œuvre par un nœud d’un ensemble de nœuds comportant des réseaux de neurones ayant un modèle de même structure, d’un réseau de communication, ledit procédé comportant, avant un apprentissage fédéré des poids desdits modèles des réseaux de neurones des nœuds dudit ensemble, dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dit d'agrégation dudit réseau:
- une réception, en provenance d’une entité dudit réseau de communication, d'une information désignant un premier nœud dudit ensemble comme nœud d’agrégation gérant un modèle agrégé pour ledit apprentissage fédéré et, lorsque ledit nœud est ledit premier nœud, des identifiants des nœuds d'un cluster dont ledit nœud d'agrégation gère ledit modèle abrégé.
Selon au moins un mode de réalisation, le procédé d’apprentissage comprend, lorsque ledit nœud est ledit nœud d’agrégation;
- une réception, en provenance de ladite entité dudit réseau de communication des poids d’un modèle ayant ladite structure;
- sur réception d’une demande d’apprentissage des poids d’un modèle agrégé dudit cluster à partir desdits poids reçus ;
- une initialisation des poids du modèle agrégé dudit cluster et des poids des modèles des nœuds dudit cluster avec lesdits poids reçus;
- au moins une mise à jour des poids du modèle agrégé dudit cluster, par agrégation des poids des modèles des nœuds dudit cluster entraînés avec des jeux de données locales à ces nœuds, les poids des modèles des nœuds dudit cluster étant remplacés par les poids mis à jour du modèle agrégé dudit cluster après chaque mise à jour ;
- un envoi à ladite entité dudit réseau des poids du modèle agrégé dudit cluster mis à jour.
Selon au moins un mode de réalisation, le procédé d'apprentissage comprend, lorsque ledit nœud est ledit nœud d’agrégation: déterminer si ledit cluster doit être restructuré en prenant en compte une évolution des poids dudit cluster et/ou une évolution des poids des nœuds dudit cluster.
Selon au moins un mode de réalisation, le procédé d'apprentissage comporte, lorsque ledit nœud est ledit nœud d’agrégation; s'il est déterminé que ledit cluster doit être restructuré, une restructuration dudit cluster en regroupant au moins une partie des nœuds dudit cluster en au moins un sous-cluster, lesdits sous-clusters étant constitués selon une fonction prenant en compte un coût de communication entre les nœuds au sein d'un dit sous-cluster et une similarité d'une évolution des poids des modèles des nœuds au sein d'un dit sous- cluster.
Selon au moins un mode de réalisation, ladite restructuration dudit cluster comporte l'envoi, à ladite entité dudit réseau de communication, de l'identifiant d'un nœud isolé dudit cluster.
Selon au moins un mode de réalisation, le procédé d'apprentissage comprend, lorsque ledit nœud n'est pas ledit nœud d'agrégation:
- une réception, en provenance dudit nœud d'agrégation, des poids d'un modèle ayant ladite structure pour initialiser les poids du modèle du nœud;
- une transmission audit nœud d'agrégation des poids du modèle du nœud entraîné avec un jeu de données locales audit nœud. Selon au moins un mode de réalisation, ledit procédé est mis en œuvre par un nœud appartenant à un premier cluster, et ladite entité dudit réseau de communication est :
- une entité de coordination du réseau ;
- un nœud dudit ensemble de nœuds jouant un rôle de nœud d'agrégation gérant un modèle agrégé d'un deuxième cluster de niveau inférieur au niveau dudit premier cluster.
Selon au moins un mode de réalisation, l'invention concerne un procédé d'apprentissage mis en œuvre par un nœud d'un ensemble de nœuds d'un réseau de communication, ledit nœud étant apte à jouer un rôle de nœud d'agrégation dans un cluster de nœuds de l'ensemble de nœuds, les nœuds de cet ensemble comportant un réseau de neurones, les réseaux de neurones de ces nœuds ayant tous un modèle de même structure. Ce procédé comporte :
- une réception, en provenance d'une entité du réseau de communication :
• d'une information selon laquelle le nœud doit jouer ledit rôle de nœud d'agrégation dans un cluster de nœuds ; et
• des identifiants des nœuds de ce cluster ;
- une réception, en provenance de l'entité du réseau de communication, des poids d'un modèle ayant ladite structure;
- sur réception d'une demande d'apprentissage des poids d'un modèle agrégé du cluster à partir de ces poids reçus:
- une initialisation des poids du modèle agrégé du cluster et des poids des modèles des nœuds du cluster avec les poids reçus;
- au moins une mise à jour des poids du modèle agrégé du cluster, par agrégation des poids des modèles des nœuds dudit cluster entraînés avec des jeux de données locales à ces nœuds, les poids des modèles des nœuds dudit cluster étant remplacés par les poids mis à jour du modèle agrégé du cluster après chaque mise à jour ;
- un envoi à l'entité dudit réseau des poids du modèle agrégé dudit cluster mis à jour.
Corrélativement, l'invention concerne un nœud appartenant à un ensemble de nœuds d'un réseau de communication.
Notamment, l’invention concerne un nœud appartenant à un ensemble de nœuds comportant des réseaux de neurones ayant un modèle de même structure, d’un réseau de communication, ledit nœud comportant au moins un processeur apte à:
- une réception, en provenance d’une entité dudit réseau de communication, avant un apprentissage fédéré des poids desdits modèles des réseaux de neurones des nœuds dudit ensemble, dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dudit réseau, d’une information désignant un premier nœud dudit ensemble comme nœud d’agrégation gérant un modèle agrégé pour ledit apprentissage fédéré et , lorsque ledit nœud est ledit premier nœud, des identifiants des nœuds dudit d'un cluster dont ledit nœud d'agrégation gère ledit modèle agrégé.
Selon au moins un mode de réalisation, le nœud comprend :
- un module de réception, en provenance de ladite entité dudit réseau de communication, des poids d'un modèle ayant ladite structure, lorsque ledit nœud est ledit nœud d'agrégation;
- un module de réception d'une demande d'apprentissage des poids d'un modèle agrégé dudit cluster à partir desdits poids reçus, lorsque ledit nœud est ledit nœud d'agrégation;
- un module d'initialisation configuré, en cas de réception de ladite demande d'apprentissage, pour initialiser les poids du modèle agrégé dudit cluster et les poids des modèles des nœuds dudit cluster avec les poids reçus, lorsque ledit nœud est ledit nœud d'agrégation;
- un module de mise à jour des poids du modèle agrégé dudit cluster, par agrégation des poids des modèles des nœuds dudit cluster entraînés avec des jeux de données locales à ces nœuds, les poids des modèles des nœuds dudit cluster étant remplacés par les poids mis à jour du modèle agrégé dudit cluster après chaque mise à jour , lorsque ledit nœud est ledit nœud d'agrégation; et
- un module d'envoi à ladite entité du réseau des poids du modèle agrégé dudit cluster mis à jour, lorsque ledit nœud est ledit nœud d'agrégation.
Selon au moins un mode de réalisation, l'invention concerne un nœud appartenant à un ensemble de nœuds d'un réseau de communication, ledit nœud étant apte à jouer un rôle de nœud d'agrégation dans un cluster de nœuds dudit ensemble de nœuds, les nœuds de cet ensemble comportant un réseau de neurones, les réseaux de neurones desdits nœuds ayant tous un modèle de même structure. Ce nœud comporte :
- un module de réception, en provenance d'une entité dudit réseau de communication :
• d'une information selon laquelle ledit nœud doit jouer ledit rôle de nœud d'agrégation dans un cluster de nœuds ; et
• des identifiants des nœuds de ce cluster ;
- un module de réception, en provenance de ladite entité dudit réseau de communication, des poids d'un modèle ayant ladite structure;
- un module de réception d'une demande d'apprentissage des poids d'un modèle agrégé du cluster à partir des poids reçus ;
- un module d'initialisation configuré, en cas de réception de ladite demande d'apprentissage, pour initialiser les poids du modèle agrégé du cluster et les poids des modèles des nœuds dudit cluster avec les poids reçus;
- un module de mise à jour des poids du modèle agrégé du cluster, par agrégation des poids des modèles des nœuds dudit cluster entraînés avec des jeux de données locales à ces nœuds, les poids des modèles des nœuds dudit cluster étant remplacés par les poids mis à jour du modèle agrégé du cluster après chaque mise à jour ; et
- un module d'envoi à ladite entité du réseau des poids du modèle agrégé du cluster mis à jour.
Selon certains modes de réalisation, l'invention vise aussi un système comportant une entité de coordination et au moins un nœud tel que mentionnés ci-dessus.
L'invention propose un apprentissage fédéré dans lequel des nœuds du réseau peuvent communiquer ou recevoir des poids (ou paramètres) ou des évolutions des poids des modèles de leurs réseaux de neurones.
Ces nœuds peuvent être des dispositifs de communication de types quelconques. Il peut s'agir notamment de terminaux, d'objets connectés (en anglais loT, Internet of Things) par exemple de téléphones cellulaires, d'ordinateurs portables, d'équipements domestiques (par exemple de passerelles), d'équipements privés ou publics, en particulier d'un opérateur d'un réseau de télécommunications, par exemple des points d'accès, des équipements de cœur de réseau, de serveurs dédiés à l'invention ou des serveurs mettant en œuvre des fonctions de l'opérateur pour la mise en œuvre d'un service dans le réseau. Les nœuds Ni peuvent être fixes ou mobiles. Il peut s'agir de machines virtuelles.
Dans un mode de réalisation, les nœuds ont chacun accès à un jeu de données locales (en anglais local dataset). Ainsi, l'invention peut être mise en œuvre, mais ceci de façon non limitative, dans le cadre d'applications ou de services d'un réseau de communication, pour lesquels il n'est pas envisageable ou souhaitable que les dispositifs du réseau communiquent leurs données soit entre eux soit à une entité centralisée.
Localement, un nœud peut mettre à jour les poids de son modèle (ou plus simplement son modèle), par exemple en effectuant une descente de gradient sur la base de données de son jeu de données locales. Plus précisément, une descente de gradient peut comprendre, pour un nœud, un calcul du gradient d'une fonction de coût en utilisant un certain nombre E de fois le jeu de données locales divisé en sous-ensembles (en anglais batch). Des hyperpara mètres peuvent être considérés pour paramétrer une descente de gradient, notamment :
77 : le taux d'apprentissage
E : le nombre d'époques
B : la taille du sous-ensemble de données (batch), par exemple tirées aléatoirement.
L'invention peut être mise en œuvre avec tous types de jeux de données, par exemple lorsque les données des jeux de données locales ne sont pas des données « indépendantes et identiquement distribuées » (IID), mais des données non-IID.
Dans un mode particulier de réalisation, les nœuds sont regroupés (partitionnés) en clusters (ou groupes de nœuds), ceux-ci étant susceptibles de varier dynamiquement pour aider par exemple à la convergence des modèles partagés par les nœuds d'un même cluster.
Plus précisément, la partition des nœuds en clusters peut varier, la structure d'un cluster (à savoir en particulier l'ensemble des nœuds qui le composent) est susceptible de varier dans le temps.
Ainsi, dans certains modes particuliers de réalisation, une entité de coordination est configurée pour partitionner ou repartitionner l'ensemble des nœuds en clusters, et pour désigner un nœud d'agrégation dans au moins certains de ces clusters.
Dans certains modes particuliers de réalisation de l'invention, au moins certains nœuds de l'ensemble des nœuds sont aptes à jouer ce rôle de nœud d'agrégation.
Dans certains modes particuliers de réalisation de l'invention, lorsque l'entité de coordination a défini une nouvelle partition des nœuds en cluster et désigné les nœuds qui doivent jouer le rôle de nœud d'agrégation au sein de leurs clusters, l'entité de coordination envoie à ces nœuds une information pour qu'ils jouent ce rôle de nœud d'agrégation au sein de leur cluster. Elle leur indique également les identifiants des nœuds du cluster.
Dans un mode particulier de réalisation de l'invention, on considère non seulement que chaque nœud d'un cluster comporte son propre modèle, mais également que chaque cluster comporte son propre modèle.
Dans certains modes de réalisation, le nœud d'agrégation d'un cluster gère le modèle agrégé d'au moins ce cluster.
Dans un mode particulier de réalisation de l'invention, chaque cluster comporte un nœud d'agrégation qui gère le modèle agrégé de ce cluster.
Dans un mode particulier de réalisation de l'invention, le modèle agrégé d'un cluster est obtenu par agrégation des poids des modèles des nœuds du cluster entraînés avec des jeux de données locales à ces nœuds.
Les nœuds d'un cluster qui entraînent leurs modèles avec leurs jeux de données locales et qui contribuent à la construction du modèle agrégé du cluster peuvent être par exemple qualifiés de nœuds de travail.
Dans certains modes de réalisation de l'invention, un nœud peut être apte à jouer le rôle de nœud d'agrégation, à jouer le rôle de nœud de travail ou à jouer ces deux rôles. Dans un mode de réalisation de l'invention, le rôle d'un nœud peut varier au fil des partitions, par exemple être redéfini à chaque nouvelle partition.
Ainsi, dans un mode particulier de réalisation, le procédé d'apprentissage est mis en œuvre par un nœud qui, en plus de pouvoir jouer le rôle de nœud d'agrégation, est en outre apte à jouer un rôle de nœud de travail. Dans ce mode de réalisation, une entité du réseau de communication peut spécifiquement informer le nœud qu'il doit jouer le rôle de nœud de travail.
En variante, un nœud comprend implicitement qu'il doit jouer le rôle de nœud de travail lorsqu'il reçoit, en provenance d'une entité du réseau de communication, l'identifiant d'un nœud d'agrégation d'un cluster auquel il appartient.
Le fait de pouvoir changer le rôle des nœuds au fil des itérations, et en particulier que des nœuds de travail prennent au moins temporairement le rôle de nœud d'agrégation permet de constituer des clusters de façon beaucoup plus flexible que dans les méthodes de l'art antérieur dans lesquelles l'agrégation, lorsqu'elle existe, est effectuée par des serveurs.
Lorsqu'un nœud joue le rôle de nœud de travail, il reçoit, en provenance du nœud d'agrégation de son cluster, des poids d'un modèle ayant la structure des modèles de tous les nœuds de l'ensemble pour initialiser les poids de son propre modèle et il transmet à ce nœud d'agrégation les poids de son modèle entraîné avec un jeu de données locales à ce nœud.
Dans un mode de réalisation de l'invention, le nœud d'agrégation d'un cluster relaye la communication entre les nœuds au sein du cluster. Dans ce mode de réalisation, si on utilise le coût de communication entre deux nœuds comme critère (unique ou pas) pour déterminer les clusters d'une partition de nœuds, le coût de communication au sein d'un cluster peut être la somme des coûts de communication entre le nœud d'agrégation du cluster et chacun des nœuds du cluster.
Dans un mode de réalisation, pour limiter (par exemple minimiser) les coûts de communication, le nœud d'agrégation d'un cluster est choisi à proximité des nœuds du cluster.
Dans un mode de réalisation de l'invention, le nœud d'agrégation d'un cluster est un des nœuds de l'ensemble des nœuds précité. Auquel cas, il gère non seulement le modèle du cluster mais aussi son propre modèle comme décrit précédemment.
Dans un mode de réalisation de l'invention, le nœud d'agrégation d'un cluster relaye la communication entre l'entité de coordination et les nœuds de son cluster.
Dans certains modes particuliers de réalisation de l'invention, le nœud d'agrégation d'un cluster a la possibilité de réorganiser son cluster, en particulier de créer des sous-clusters au sein de son cluster ou d'exclure des nœuds de son cluster.
Dans un mode particulier de réalisation, on peut utiliser plusieurs niveaux de cluster, et le modèle d'un cluster de niveau n peut être obtenu par agrégation des modèles des clusters de niveau n+1. Dans ce mode de réalisation, le nœud d'agrégation d'un cluster de niveau n peut par exemple relayer les communications avec les nœuds d'agrégation des clusters de niveau n-1 et/ou de niveau n+1.
Dans un mode de réalisation de l'invention, on peut considérer que l'entité de coordination est un nœud d'agrégation de niveau le plus bas, par convention de niveau 0 par exemple.
Dans un mode de réalisation de l'invention, l'entité du réseau qui envoie, à un nœud d'un cluster de niveau n, l'information selon laquelle ce nœud doit jouer ledit rôle de nœud d'agrégation dans ce cluster, les identifiants des nœuds de ce cluster et les poids d'un modèle global à l'ensemble des nœuds est : - une entité de coordination telle que mentionnée ci-dessus; ou
- un nœud qui joue un rôle d'agrégation dans un cluster de niveau n-1.
De même, dans un mode de réalisation de l'invention, l'entité du réseau qui envoie à un nœud l'information selon laquelle il doit jouer le rôle de nœud de travail dans un cluster de niveau n et l'identifiant d'un nœud d'agrégation de ce cluster est :
- une entité de coordination telle que mentionnée ci-dessus; ou
- un nœud qui joue un rôle d'agrégation dans un cluster de niveau n-1.
Dans un mode particulier de réalisation, le modèle agrégé de chaque cluster est envoyé au cluster de niveau inférieur, par exemple de façon conditionnelle, comme après un nombre constant d'itérations. Les modèles agrégés peuvent ainsi remonter jusqu'à l'entité de coordination qui peut agréger ces modèles dans une version mise à jour du modèle global.
Ce modèle global peut être ensuite redescendu à tous les nœuds pour une nouvelle mise en œuvre du procédé soit directement soit via les nœuds d'agrégation.
Dans certains modes de de réalisation de l'invention, la partition des nœuds en clusters peut tenir compte d'un coût de communication entre les nœuds d'au moins un cluster ou pour tenir compte d'au moins un service mis en œuvre par au moins un des nœuds. Mais d'autres critères peuvent être utilisés.
Par exemple, dans un mode particulier de réalisation de l'invention, les clusters de la partition des nœuds (dans la partition initiale par exemple) sont déterminés pour minimiser un coût de communication entre les nœuds de ce cluster. Mais d'autres critères peuvent être utilisés. Les clusters de la partition (comme la partition initiale) peuvent par exemple être déterminés pour privilégier le regroupement des nœuds qui mettent en œuvre un même service dans le réseau de communication. Ils peuvent aussi être créés aléatoirement.
Le fait de prendre en compte le coût de communication entre les nœuds d'un cluster, soit pour l'initialisation, soit pour la réorganisation des clusters peut aider à une réduction potentielle du coût de communication. En effet, si les nœuds sont regroupés par zones géographiques et que les mises à jour des poids sont uniquement partagées entre les nœuds d'une même zone géographique, la latence de communication et la consommation d'énergie seront réduites puisqu'elles sont des fonctions croissantes de la distance entre les deux nœuds communiquant les poids.
De plus, dans certains cas, il peut y avoir une corrélation entre la distribution non-IID des données et la distribution géographique des dispositifs.
Dans un mode particulier de réalisation de l'invention, les poids du modèle d'un cluster peuvent être obtenus par agrégation des poids des modèles des nœuds qui composent ce cluster. Les nœuds communiquent les poids (ou en variante les gradients) de leurs modèles, résultant de calculs locaux à partir de leurs jeux de données locales. Ainsi, les données restent locales et ne sont pas partagées ou transférées, ce qui garantit la confidentialité des données, tout en atteignant l’objectif d'apprentissage.
L'invention est en ce sens très différente de la méthode d'optimisation fédérée multitâche décrite dans le document « V. Smith, C. K. Chiang, M. Sanjabi, and A. Talwalkar, "Federated multi-task learning, "Advances in Neural Information Processing Systems, vol.2017-Decem, no. Nips, pp. 4425^1435, 2017 » qui ne propose pas de regrouper les nœuds en clusters.
Différentes méthodes d'agrégation peuvent être utilisées pour mettre à jour le modèle agrégé d'un cluster de niveau n à partir des modèles agrégés des clusters de niveau supérieur n+1 ou à partir des modèles des nœuds qui composent ce cluster de niveau n. Dans un mode particulier de réalisation, la méthode d'agrégation utilisée pour mettre à jour :
- les poids des modèles agrégés des clusters ; ou
- les poids du modèle global ; ou
- les poids des modèles agrégés des clusters réorganisés utilise une moyenne pondérée ou une médiane.
On peut par exemple utiliser la méthode « Federated Average » (moyenne pondérée par la taille du jeu de données des nœuds) présentée dans le document "H. Brendan McMahan, E. Moore, D. Ramage, S. Hampson, and B. Agüera y Areas, "Communication-efficient learning of deep networks from decentralized data, «Proceedings of the 20th International Conference on Artificial Intelligence and Statistics, AISTATS 2017, vol. 54, 2017".
On peut par exemple aussi utiliser la méthode Coordinate-wise median présentée dans le document "D. Yin, Y. Chen, K. Ramchandran, and P. Bartlett, "Byzantine-robust distributed learning: Towards optimal statistical rates," 35th International Conference on Machine Learning, ICML 2018, vol. 13, pp. 8947-8956, 2018".
Dans un mode particulier de réalisation le procédé comporte une boucle mise en œuvre au sein de chaque cluster. A chaque itération, le modèle agrégé du cluster est communiqué à chacun des nœuds du cluster, chacun des nœuds du cluster met à jour son modèle en effectuant par exemple une descente de gradient avec ses données locales et renvoie soit son nouveau modèle soit l'évolution ou la mise à jour de son modèle (c'est- à-dire la différence des poids entre l'itération courante et l'itération précédente) pour que celui-ci soit agrégé au niveau du modèle agrégé du cluster et renvoyé aux nœuds du cluster à la prochaine itération. Cette boucle peut comporter un nombre d'itérations constant ou non. Elle peut par exemple s'arrêter lorsqu'une condition d'arrêt est vérifiée.
Dans un mode de réalisation de l'invention, l'entité de coordination détermine comment les poids du modèle global évoluent, par exemple dans quelle mesure ce modèle global continue à converger, et décide de l'opportunité de redéfinir les clusters.
Dans un mode de réalisation de l'invention, cette détermination peut comprendre une obtention d'une représentation du modèle global sous forme d'un vecteur dont les coordonnées sont constituées par les évolutions des poids de ce modèle et la décision de redéfinir ou non les clusters peut tenir compte de la norme de ce vecteur, par exemple via une comparaison de la norme de ce vecteur avec une valeur constante.
Dans un mode de réalisation particulier, la réorganisation des clusters est une réorganisation de l'ensemble des nœuds en une nouvelle partition de clusters de nœuds. Eventuellement, de nouveaux nœuds d'agrégation peuvent être définis pour au moins certains des clusters. Il peut s'agir par exemple de nœuds de ces clusters réorganisés.
En variante d'autres réorganisations pourraient être envisagées, par exemple uniquement pour les nœuds de certains clusters.
Dans un mode de réalisation, au cours de cette réorganisation, les clusters réorganisés sont constitués selon une fonction prenant en compte :
- un coût de communication entre les nœuds au sein d'un cluster réorganisé ; et
- une similarité d'une évolution des poids des modèles des nœuds au sein d'un cluster réorganisé.
Par exemple, il peut être cherché à limiter ou à minimiser au moins un des éléments ci-dessus ou une combinaison de ces éléments.
Le fait de prendre en compte la similarité de l'évolution des poids des modèles des nœuds pour constituer les clusters de nœuds peut aider à regrouper des nœuds qui a priori présentent des similarités dans leurs jeux de données locales, et ce sans partager d'information sur ces jeux de données locales. De tels modes de réalisation peuvent aider à résoudre ainsi un problème d'hétérogénéité statistique. En effet, en constituant des clusters qui regroupent des nœuds ayant des distributions de données similaires, l'hétérogénéité statistique est fortement réduite au sein des clusters.
Dans un mode particulier de mise en œuvre de l'invention, cette similarité est déterminée en :
- demandant auxdits nœuds de remplacer les poids de leurs modèles par les poids du modèle global mis à jour ;
- demandant auxdits nœuds de mettre à jour leur modèle en l'entraînant avec leur jeu de données locales ; et en
- déterminant une similarité des évolutions des poids des modèles des différents nœuds.
Ces demandes peuvent être faîtes aux nœuds directement par l'entité de coordination. En variante, elles peuvent être effectuées ou relayées par les nœuds d'agrégation.
Dans un mode particulier de réalisation, les évolutions des poids des modèles sont représentées sous forme de vecteurs et la similarité des évolutions des poids des modèles des différents nœuds est par exemple déterminée par une méthode dite de similarité cosinus.
Dans un mode particulier de mise en œuvre de l'invention, les poids du modèle global mis à jour sont renvoyés à chacun des nœuds, soit directement soit via les nœuds d'agrégation des clusters ainsi réorganisés. Les nœuds peuvent ainsi mettre à jour leur modèle avec le modèle global. Les modèles agrégés des clusters réorganisés peuvent également être mise à jour avec le modèle global.
Dans un mode particulier de réalisation, ces nouveaux clusters sont alors constitués de nœuds sélectionnés selon un critère de proximité (coût de communication par exemple) et dont les modèles sont susceptibles d'évoluer de la même façon.
On peut considérer que ces étapes terminent une phase générale d'initialisation et que débute alors une phase qui peut être qualifiée de « phase d'optimisation », au cours de laquelle au moins certains des clusters vont pouvoir se réorganiser, par exemple en créant des sous clusters ou en excluant certains de leurs nœuds.
Dans un mode particulier de réalisation de l'invention, cette phase peut comporter une boucle mise en œuvre au sein de chaque cluster réorganisé, identique ou similaire par exemple à celle de la phase d'initialisation. A chaque itération, le modèle agrégé du cluster réorganisé est communiqué à chacun des nœuds de ce cluster, chacun des nœuds met à jour son modèle en effectuant une descente de gradient avec son jeu de données locales et renvoie soit son nouveau modèle soit l'évolution de son modèle pour que celui-ci soit agrégé au niveau du modèle agrégé du cluster réorganisé et renvoyé aux nœuds de ce cluster à la prochaine itération. Cette boucle peut comporter un nombre d'itérations constant ou variable. Elle peut par exemple s'arrêter lorsqu'une condition d'arrêt est vérifiée.
Dans un mode particulier de réalisation, le procédé d'apprentissage comporte une étape pour déterminer si au moins un cluster réorganisé doit être restructuré.
Dans un mode particulier de réalisation, on détermine si un cluster réorganisé doit être restructuré en fonction d'un critère de convergence qui prend en compte une évolution des poids dudit cluster réorganisé et/ou une évolution des poids des nœuds du cluster réorganisé. Par exemple, il peut s'agir d'un critère de double convergence prenant en compte une évolution des poids dudit cluster réorganisé et une évolution des poids des nœuds du cluster réorganisé.
Dans au moins un mode de réalisation de l'invention, on détermine qu'un cluster réorganisé doit être restructuré si les conditions suivantes sont remplies : (1) l'évolution des poids dudit cluster réorganisé est inférieure à un seuil ; et
(2) les poids du modèle d'au moins un nœud dudit cluster réorganisé évoluent fortement dans une direction différente de la direction dans laquelle évoluerait le modèle du cluster réorganisé si celui-ci était privé dudit nœud.
Dans un mode de réalisation de l'invention, pour vérifier le premier critère (1), on représente le modèle global sous forme d'un vecteur dont les coordonnées sont constituées par les évolutions des poids de ce modèle et on compare la norme de ce vecteur avec une valeur numérique, utilisée par exemple comme une valeur seuil. Cette valeur peut être une constante ou une valeur qui dépend par exemple du niveau du cluster ou du nombre d'itérations déjà effectuées.
Dans un mode de réalisation de l'invention, pour vérifier le deuxième critère (2), on détermine une similarité entre l'évolution de chacun des nœuds du cluster et l'évolution qu'aurait le cluster s'il était privé de ce nœud. Par exemple, pour un nœud donné :
- on représente l'évolution des poids du modèle de ce nœud par un premier vecteur ;
- on constitue temporairement un cluster identique au cluster considéré mais privé de ce nœud donné ;
- on représente l'évolution des poids du modèle de ce cluster temporaire par un deuxième vecteur ; et:
- on calcule la similarité entre ces deux vecteurs par exemple par la méthode de similarité cosinus.
Dans un mode particulier de réalisation, la restructuration d'un cluster comporte le regroupement d'au moins une partie des nœuds de ce cluster en au moins un sous-cluster, ces sous-clusters étant constitués selon une fonction prenant en compte un coût de communication entre les nœuds au sein d'un dit sous-cluster et une similarité d'une évolution des poids des modèles des nœuds au sein d'un dit sous-cluster (pour minimiser cette fonction par exemple).
Cette étape est similaire à l'étape de réorganisation décrite précédemment (phase d'initialisation) sauf qu'elle s'applique uniquement aux nœuds du cluster devant être restructuré et non pas à tous les nœuds.
Dans un mode particulier de réalisation, si au moins un nœud, dit « nœud isolé », d'un cluster devant être restructuré n'est pas affecté à un sous-cluster, ce nœud peut être affecté à un autre cluster.
A cet effet, dans un mode de réalisation, lorsque le nœud d'agrégation d'un cluster de niveau n détecte un nœud isolé, il envoie l'identifiant de ce nœud isolé à une entité du réseau de communication pour que ce nœud soit réaffecté dans un autre cluster.
Cette entité peut être par exemple une entité de coordination telle que mentionnée ci-dessous ou un nœud qui joue un rôle d'agrégation dans un cluster de niveau n-1.
Dans un mode particulier de réalisation de l'invention, la réaffectation d'un nœud isolé à un autre cluster est effectuée par l'entité de coordination mentionnée ci-dessus. Par conséquent, dans un mode de réalisation, le procédé de configuration comporte:
- une réception, en provenance du nœud d'agrégation d'un premier cluster, d'un identifiant d'une nœud isolé dudit premier cluster; et
- une réaffectation de ce nœud isolé à un autre cluster, en tenant compte d'une proximité entre :
(i) une direction de l'évolution des poids de ce nœud isolé lorsque celui-ci est entraîné par des données locales au nœud isolé ; et
(ii) une direction de l'évolution des poids du modèle agrégé de cet dudit autre cluster par rapport à un même modèle de référence.
Dans un mode particulier de réalisation, les procédés mentionnés ci-dessus sont mis en œuvre par un programme d'ordinateur. Par conséquent, l'invention vise également un programme d'ordinateur sur un support d'enregistrement, ce programme étant susceptible d'être mis en œuvre par une entité de coordination ou plus généralement dans un ordinateur. Ce programme comporte des instructions adaptées à la mise en œuvre d'un procédé de configuration ou d'un procédé d'apprentissage tels que décrits ci-dessus. Ces programmes peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'information ou un support d'enregistrement lisibles par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus.
Le support d'information ou d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur, ou une mémoire flash.
D'autre part, le support d'information ou d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par lien radio, par lien optique sans fil ou par d'autres moyens.
Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations ou d'enregistrement peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution de l'un des procédés conformes à l'invention.
Brève description des dessins :
D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures :
[Fig. 1] La figure [Fig 1] représente, dans un réseau de communication, un ensemble de nœuds pouvant être utilisé dans au moins un mode de mise en œuvre de l'invention ;
[Fig. 2] La figure [Fig 2] représente schématiquement un nœud pouvant être utilisé dans au moins un mode de mise en œuvre de l'invention ;
[Fig. 3] La figure [Fig 3] représente des clusters de nœuds ;
[Fig. 4] La figure [Fig 4] représente des clusters de nœuds constitués sur des critères de coût de communication ;
[Fig. 5] La figure [Fig 5] représente des clusters de nœuds constitués pour regrouper des nœuds dont les données locales ont des distributions homogènes ;
[Fig. 6] La figure [Fig 6] représente une représentation vectorielle de l'évolution du modèle d'un nœud ;
[Fig. 7] La figure [Fig 7] représente un cluster de l'ensemble des nœuds de la figure [Fig. 1 ];
[Fig. 8] La figure [Fig 8] illustre l'utilisation de la représentation vectorielle de la figure [Fig. 6] sur le cluster de la figure [Fig 7 ;
[Fig. 9] La figure [Fig 9] représente une phase d'initialisation de clusters pouvant être mise en œuvre dans au moins un mode de réalisation de l'invention ;
[Fig. 10] La figure [Fig 10] représente une phase d'optimisation pouvant être mise en œuvre dans au moins un mode de réalisation de l'invention ; [Fig. 11] La figure [Fig 11] représente l'architecture matérielle d'une entité de coordination conforme à au moins un mode de réalisation ;
[Fig. 12] La figure [Fig 12] représente l'architecture fonctionnelle d'une entité de coordination conforme à au moins un mode de réalisation ;
[Fig. 13] La figure [Fig 13] représente l'architecture matérielle d'un nœud conforme à au moins un mode de réalisation ;
[Fig. 14] La figure [Fig 14] représente l'architecture fonctionnelle d'un nœud conforme à au moins un mode de réalisation ; et
[Fig. 15] La figure [Fig 15] illustre des performances de l'invention dans un exemple de mise en œuvre.
Description des modes de réalisation
La figure [Fig 1] représente un ensemble de nœuds N, dans un environnement géographique par exemple dans un pays, lesdits nœuds N, étant des dispositifs capables de communiquer sur un réseau de communication.
Dans au moins un mode de réalisation, les nœuds N, ont chacun accès à un jeu de données locales (en anglais local dataset) ds,.
Dans au moins un mode de réalisation, si on considère l'ensemble des nœuds N, les données des jeux de données locales ds, de ces nœuds sont des données non-IID.
Dans l'exemple de la figure [Fig. 1], on a considéré à titre d'exemple que les jeux de données locales ds, pouvaient suivre trois distributions. Plus précisément, on fait l'hypothèse dans cet exemple, que :
- les données des nœuds représentés sous forme de cercle sont issues d'une première distribution de données indépendantes et identiquement distribuées ;
- les données des nœuds représentés sous forme de carré sont issues d'une deuxième distribution de données indépendantes et identiquement distribuées ; et que
- les données des nœuds représentés sous forme de triangle sont issues d'une troisième distribution de données indépendantes et identiquement distribuées.
En pratique, on ne connaît pas la distribution des données locales ds, d'un nœud N,, celle-ci étant en outre susceptible de varier dans le temps au fur et à mesure que le nœud N, acquiert ou génère de nouvelles données et/ou que certaines données deviennent obsolètes.
Chaque nœud N, peut acquérir ou générer les données ds, de son jeu de données locales. Ces données ds, peuvent par exemple être des données de signalisation ou de contrôle du réseau de communication, par exemple des données de qualité de service, des statistiques sur le réseau de communication, des indicateurs de performance du réseau de communication. Il peut aussi s'agir de données représentatives de l'usage du nœud N,, par exemple des durées, des lieux ou des plages d'utilisation du nœud N,, des données sur les profils des utilisateurs du nœud N,, des données sur les services accédés ou offerts par le nœud N,. Il peut aussi s'agir de données acquises par le nœud N, ou par un capteur du nœud N,, par exemple des données météorologiques, des mesures de température, de consommation, d'usage, d'usure, ... Il peut aussi s'agir de données saisies ou acquises par un utilisateur du nœud N,, par exemple des données textuelles (contenus de messages, ...), des images, des vidéos, messages vocaux, enregistrements audio, ...
Dans au moins un mode de réalisation, les données locales ds, d'un nœud N, peuvent être des données sensibles au sens où ces données ne doivent pas être partagées ou communiquées aux autres nœuds. Par exemple il peut s'agir de données privées à un utilisateur du nœud, comme des données personnelles. Dans certains modes de réalisation, on peut connaître un coût de communication entre deux nœuds N,, Nj. Par exemple, les nœuds sont localisés, par exemple grâce à leurs coordonnées GPS, et le cout de communication entre deux nœuds est constitué par la distance géographique entre ces nœuds. Dans au moins un autre mode de réalisation, le coût de communication entre deux nœuds peut être une mesure de débit, de latence, de bande passante d'une communication entre ces nœuds.
La figure [Fig. 2] représente schématiquement un nœud N,. Dans au moins un des modes de réalisation décrits ici, un nœud N, comporte un réseau de neurones RN qui peut être entraîné par une méthode d'apprentissage à partir du jeu de données locales ds, de ce nœud.
Dans un mode de réalisation de l'invention, les structures (nombre et topologie des couches) des modèles des réseaux de neurones RN des différents nœuds N, sont identiques. Mais les poids (ou paramètres) des modèles de ces réseaux sont potentiellement différents, puisque ces réseaux sont entraînés à partir de jeux de données locales dsi différentes.
L'entraînement d'un réseau de neurones d'un nœud N, pour obtenir un modèle plus performant peut comprendre quelques itérations (ou tour, en anglais round) de descente de gradient. Plus précisément, une fois que les poids du réseau ont été initialisés, au cours d'une itération, un nœud N, peut effectuer une descente de gradient durant E époques (en anglais epoch) avec des données différentes (c'est-à-dire, qu'il calcule un gradient en utilisant par exemple chacune de ses données locales ds, E fois).
Dans la suite de la description on notera :
0: notation générale pour désigner les poids (ou paramètres) du modèle d'un nœud et Poids courants du modèle du nœud N, e1 Poids d'un modèle au tour t
A0£ =et - 0t-1 : mise à jour d'un modèle au tour t
= 0f - 0 -1 = - 777f(0‘_1, dst~) mise à jour d'un modèle au tour t calculé localement avec le jeu de données da du nœud N,
7f : gradient de la fonction de coût f
T : taux d'apprentissage
E : nombre d'époques
B : taille du batch de données (tirées au hasard par exemple).
Dans au moins un mode de réalisation de l'invention, et comme représenté à la figure [Fig. 3], les nœuds N, sont organisés en groupes ou clusters Q.
Dans au moins un des modes de réalisation décrits ici, dans chaque cluster Q, un des nœuds N, représenté en noir est un nœud d'agrégation Aj du cluster Q. Dans au moins un des modes de réalisation décrits ici, les nœuds N, au sein d'un cluster Q ne communiquent que via le nœud d'agrégation Aj de sorte que le coût de communication entre deux nœuds au sein d'un cluster est la somme des coûts de communication entre chacun de ces nœuds et le nœud d'agrégation Aj de ce cluster.
Le nombre de niveaux de clusters peut être quelconque, chaque nœud d'agrégation d'un niveau n supérieur ou égal à 1, étant configuré pour communiquer avec un nœud d'agrégation de niveau inférieur n-1 avec la convention introduite ci-dessus.
Dans au moins un des modes de réalisation décrits ici, et par souci de simplification, on considérera uniquement deux niveaux d'agrégation (niveaux 0 et 1) et que le niveau le plus bas, le niveau 0, est constitué par un nœud d'agrégation Ao (entité de coordination au sens de l'invention). La figure [Fig. 3] représente les nœuds de la figure [Fig. 1] regroupés en deux clusters Q de niveau 1, les nœuds d'agrégation Aj de ces clusters étant configurés pour communiquer avec le nœud d'agrégation Ao de niveau 0. Les traits pointillés représentent les clusters et les lignes pleines représentent les communications entre les nœuds.
Dans au moins un des modes de réalisation décrits ici, le nœud d'agrégation Ao de niveau 0 est apte à communiquer directement avec chacun des nœuds N, mais pour ne pas surcharger la figure [Fig. 3,] ces communications directes ne sont pas représentées.
Dans au moins un des modes de réalisation décrits ici, chaque nœud d'agrégation Aj est configuré pour constituer un modèle agrégé pour le cluster Q à partir des modèles locaux des nœuds N, de ce cluster.
De la même façon, chaque nœud d'agrégation de niveau n, n supérieur ou égal à 0, est configuré pour constituer un modèle agrégé de niveau n à partir des modèles agrégés des clusters de niveau n+1.
On notera :
6j : Poids courants du modèle du cluster
6- : Modèle du cluster Q obtenu par agrégation des modèles de tous les nœuds N, du cluster Q à9j = ef - ef-1 Mise à jour du modèle du cluster Q au tour t.
D'une façon générale, et comme décrit précisément par la suite, dans au moins un des modes de réalisation décrit ici:
- le nœud d'agrégation Ao de niveau 0 est configuré pour constituer, optimiser et réorganiser les clusters et pour désigner un nœud d'agrégation Aj au sein de chacun de ces clusters ;
- un nœud d'agrégation de niveau n est configuré pour pouvoir envoyer les poids d'un modèle à un nœud soit directement soit via une chaîne de nœuds d'agrégation de niveaux intermédiaires entre le niveau du nœud d'agrégation et le niveau de ce nœud;
- le nœud d'agrégation Aj d'un cluster Q est configuré pour demander aux nœuds N, de son cluster de mettre à jour leurs modèles (en effectuant par exemple une descente de gradient à partir de leurs jeux de données locales da ),
- les nœuds N, sont configurés pour envoyer au nœud d'agrégation Aj de leur cluster Q la mise à jour A0, de leur modèle ;
- un nœud d'agrégation de niveau n-1, n supérieur ou égal à 1, est configuré pour mettre à jour son modèle à partir des mises à jour des modèles des clusters de niveau n ;
- le nœud d'agrégation Aj d'un cluster Q est configuré pour restructurer son cluster Q, par exemple pour regrouper certains nœuds de ce cluster en sous-clusters ou pour exclure certains nœuds de son cluster Q, par exemple s'il détermine que l'évolution des modèles de certains nœuds de son cluster ne suit pas celle de son modèle agrégé ou celle d'autres nœuds de son cluster.
Dans au moins un mode de réalisation de l'invention, les clusters issus des partitions et des restructurations successives sont constitués en poursuivant un double objectif, à savoir : limiter (par exemple minimiser) les coûts de communication entre les nœuds, et ;
- constituer des clusters de nœuds possédant des jeux de données locales avec des distributions homogènes.
La figure [Fig. 4] représente un regroupement des nœuds N, de la figure [Fig. 1] en quatre clusters qui optimisent les coûts de communication, les nœuds N, étant regroupés sur un critère purement géographique (premier critère ci-dessus). La figure [Fig. 5] représente un regroupement des nœuds N, de la figure [Fig. 1] en trois clusters les nœuds d'un même cluster ayant des jeux de données locales avec des distributions homogènes, afin de tenir compte du second critère (pour optimiser par exemple le second critère).
Les clusters déterminés par l'invention peuvent résulter par exemple d'un compromis entre ces deux organisations.
Dans au moins un des modes de réalisation décrits ici, les nœuds N, ne communiquent leurs jeux de données locales ds, ni aux autres nœuds ni aux nœuds d'agrégation ni à l'entité de coordination. Dans un tel mode de réalisation, les jeux de données locales ds, ne peuvent donc pas être utilisés directement pour répartir les nœuds dans les clusters.
Par conséquent, on peut par exemple regrouper en clusters (ou en sous-clusters) les nœuds N, dont les mises à jour de leurs modèles AS® évoluent dans la même direction, en considérant les mises à jour
Figure imgf000019_0001
des modèles comme représentatives des distributions des jeux de données sur la base desquels ces modèles ont été entraînés, et qu'agréger des modèles qui évoluent dans la même direction peut aider à obtenir un modèle agrégé qui évoluera dans cette même direction.
Dans un mode particulier de réalisation, et comme représenté à la figure [Fig. 6], on peut représenter l'évolution A0, du modèle d'un nœud N, sous la forme d'un vecteur dont :
- l'origine ên représente les poids du modèle avant son évolution, autrement dit un modèle de référence ;
- la norme de ce vecteur est représentative de l'importance de l'évolution du modèle : plus la norme est importante, plus le modèle évolue; et
- la direction de ce vecteur représente la façon dont le modèle évolue : si le modèle converge vers un modèle optimal pour ce nœud, la direction de ce vecteur est dirigée vers ce modèle optimal. En considérant que les modèles de nœuds entraînés sur des jeux de données ayant des distributions voisines évoluent dans des directions voisines, il peut être considéré que la direction de ce vecteur représente indirectement, la distribution du jeu de données locale sur la base duquel le modèle a été entraîné.
Ceci va maintenant être illustré en référence aux figures [Fig. 7] et [Fig. 8].
En référence à la figure [Fig. 7], on considère un cluster Ci comportant deux nœuds Ni, N2, le nœud N2 étant le nœud d'agrégation Ai de ce cluster. Les nœuds Ni, N2 ont des jeux de données locales dsi, ds2 issues de distributions différentes.
La figure [Fig. 8] représente, à titre d'exemple, les poids e0PT1 du modèle considéré comme optimal du jeu de données dsi et les poids e0PT2 du modèle considéré comme optimal du jeu de données ds2. Ces poids sont inconnus. Par souci de simplification on considère sur cette figure que les poids e sont de dimension 2, dimO et diml.
On suppose que les modèles des nœuds Ni et N2 sont initialisés avec un même ensemble de poids 0°.
Les vecteurs en traits mixtes représentent, à chaque tour t, l'évolution du modèle du nœud Ni. On voit que les normes de ces vecteurs tendent (si le modèle converge) à diminuer à chaque tour t, et que ces vecteurs sont (normalement) dirigés vers le point représentant les poids e0PT1 du modèle optimal du jeu de données dsi.
Les vecteurs en traits pointillés représentent, à chaque tour t, l'évolution du modèle du nœud N2. On voit que les normes de ces vecteurs tendent (si le modèle converge) à diminuer à chaque tour t, et que ces vecteurs sont (normalement) dirigés vers le point représentant les poids e0PT2 du modèle optimal du jeu de données ds2. Les vecteurs en traits plein représentent l'évolution du modèle agrégé du cluster Ci, obtenu par agrégation des modèles des nœuds Ni et N2.
On remarque qu'au fil des tours (par exemple à chaque tour), si les modèles convergent:
(1) la norme des vecteurs en trait plein diminue car le modèle agrégé évolue de moins en moins ;
(2) que l'angle entre le vecteur représentant l'évolution du modèle du nœud Ni et le vecteur représentant révolution du modèle du nœud N2 augmente, chacun de ces modèles s'éloignant progressivement du modèle 0° initial partagé ; et que
(3) l'angle entre le vecteur représentant l'évolution du modèle du nœud Ni (ou du N2) et le vecteur en trait plein représentant l'évolution du modèle du cluster Ci augmente.
Ces constations peuvent aider à déterminer que le modèle agrégé n'évolue plus.
Sur cette figure [Fig. 8], on a considéré uniquement un nœud pour chacune des distributions. Mais l'homme du métier comprendra que si le cluster Ci avait compris Æ nœuds avec des jeux de données locales similaires à dsi (respectivement ds2), chacun des vecteurs associés à ces Ænœuds aurait pu, au fil des tours évoluer de façon identique aux vecteurs en traits pointillés (respectivement en traits mixtes).
Dans un mode particulier de mise en œuvre de l'invention, et comme détaillé ultérieurement, une fois que le modèle agrégé n'évolue plus, les nœuds dont les évolutions des modèles sont représentées par des vecteurs de directions identiques ou voisines sont destinés à être regroupés dans un même cluster (en supposant que ce regroupement n'est pas remis en cause par le critère de limitation des coûts de communication).
Des modes de mise en œuvre d'un procédé de configuration et d'un procédé d'apprentissage conformes à l'invention vont maintenant être décrits. Ces procédés sont décrits dans le contexte d'un système conforme à l'invention et comportant une entité de coordination Ao et un ensemble de nœuds N, tous aptes à jouer le rôle de nœud d'agrégation au sein d'un cluster et un rôle de nœud de travail.
Dans l'exemple de réalisation décrit ici, l'entité de coordination Ao peut être considérée comme un nœud d'agrégation de niveau 0.
Dans cet exemple, on décrit une phase d'initialisation des clusters en référence à la figure [Fig. 9] et une phase d'optimisation en référence à la figure [Fig. 10].
En référence à la figure [Fig. 9], dans au moins un des modes de réalisation décrits ici,, la phase d'initialisation des clusters comporte des étapes E10 à E75.
Au cours d'une étape E10, le nœud d'agrégation Ao de niveau 0 (entité de coordination au sens de l'invention) effectue une première partition des nœuds N, pour initialiser les clusters Q et détermine, parmi les nœuds N,, le nœud d'agrégation Aj de chacun de ces clusters Q. Dans au moins un des modes de réalisation décrits ici,, le procédé comporte un paramètre kinit qui définit le nombre de clusters qui doivent être créés au cours de cette partition initiale.
Dans au moins un des modes de réalisation décrits ici, au cours de cette étape d'initialisation, les kinit clusters sont constitués en ne prenant en compte que les distances entre les nœuds N,, sur la base de leurs localisations géographiques.
Dans certains modes de réalisation, la constitution des clusters peut par exemple comprendre une création d'un cluster par nœud N, et des fusions récursives de paires de clusters les plus proches entre eux en un seul cluster.
Dans certains modes de réalisation, la constitution des clusters peut par exemple utiliser l'algorithme Hierarchical Agglomerative Clustering présenté dans le document « T. Hastie, R. Tibshirani, and J. Friedma,The Elements of Statistical Learning, second edi ed. Springer, 2008 ». Pour chacun des clusters Q (j=0, ... kinit- } ainsi créés, le nœud d'agrégation Aj peut être choisi par exemple comme le nœud N, de ce cluster qui minimise la somme des distances entre ce nœud Aj et chacun des autres nœuds de ce cluster.
Dans un mode de réalisation, au cours d'une étape E15, une fois les clusters créés, l'entité de coordination Ao envoie :
- à chaque nœud Aj destiné à devenir un nœud d'agrégation, une information selon laquelle ce nœud Aj doit jouer un rôle d'un nœud d'agrégation dans un cluster Q et les identifiants des nœuds N, de ce cluster Q ; et
- à chaque nœud N,, l'identifiant du nœud d'agrégation Aj du cluster Q auquel il appartient. de sorte que pour un cluster donné, les nœuds N, et le nœud d'agrégation Aj de ce cluster puissent se configurer pour communiquer entre eux.
Dans au moins un des modes de réalisation décrits ici, à la première occurrence d'une étape E20, l'entité de coordination Ao initialise une variable t représentant le numéro du tour courant à 0 et envoi à chaque nœud d'agrégation Aj, les poids 0° du d'un modèle initial global à l'ensemble des nœuds et une demande d'apprentissage des modèles des nœuds de ce cluster avec ces poids.
Dans au moins un des modes de réalisation décrits ici, la demande d'apprentissage peut être accompagnée d'un nombre 8 de mises à jour, autrement dit d'itérations à réaliser pour cet apprentissage.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E25, le nœud d'agrégation Aj de chacun des clusters Q initialise les poids de son modèle 0/ pour le tour t avec les poids du modèle global.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E30, le nœud d'agrégation Aj de chacun des Q envoie les poids 0/ de son modèle agrégé à chacun des nœuds N, de son cluster.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E35, chacun des nœuds N, initialise les poids de son modèle local 0 pour le tour t avec les poids 0/ du modèle de son cluster Q.
Dans au moins un des modes de réalisation décrits ici, au cours de l'étape E30 déjà décrite, lorsque le nœud d'agrégation Aj envoie les poids 0/ du modèle de son cluster à un nœud N,, il lui demande de mettre à jour son modèle 0 . Dans un mode de réalisation, le nœud d'agrégation Aj communique les hyperparamètres E, B, 77 aux nœuds N,.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E35, le nœud N, met à jour son modèle 0 . Il effectue par exemple pour cela une descente de gradient durant E époques sur un batch de taille B de ses données locales ds,.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E40, le nœud N, envoie la mise à jour A0 de son modèle pour le tour t au nœud d'agrégation de son cluster Q.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E45, un nœud d'agrégation Aj incrémente la variable t (numéro du tour courant) et met à jour les poids du modèle agrégé 0/ de son cluster Cj pour le tour t par agrégation des mises à jour A0 des poids des modèles des nœuds N, de ce cluster Q reçues à l'étape E40. On note ici que les variables t de 0/ et de A0 diffèrent d'une unité, puisque par exemple, les poids du modèle 0/ du cluster Q pour le tour 1 sont obtenus par agrégation des mises à jour A0° des modèles des nœuds N, au tour 0.
Différentes méthodes d'agrégation peuvent être utilisées, par exemple les méthodes telles que « Federated Average » (moyenne pondérée par la taille du jeu de données ds, du nœud N,) ou « Coord inate-wise median » connues de l'homme du métier. Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E50, un nœud d'agrégation Aj vérifie si les 3 tours (ou itérations) ont été effectués, autrement dit si t est divisible par 3. Si ce n'est pas le cas, le résultat du test E50 est négatif et le nœud d'agrégation envoie (au cours d'une nouvelle itération de l'étape E30), les poids 0/ du modèle de son cluster Q mis à jour à chacun des nœuds N, de son cluster. Ceux-ci mettent à jour leur modèle 6- (étape E35) et en envoient la mise à jour A0 au nœud d'agrégation Aj (étape E40) pour que celui-ci incrémente la valeur t et mette à jour le modèle agrégé 0/ de son cluster Q (étape E45).
Dans au moins un des modes de réalisation décrits ici, lorsque les 8 tours (ou itérations) ont été effectués, le résultat du test E50 est positif et le nœud d'agrégation Aj envoie le modèle agrégé 0f de son cluster Q à un nœud jouant une rôle de nœud d'agrégation dans un cluster de niveau inférieur, à savoir, dans cet exemple, à l'entité de coordination Ao.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E55, l'entité de coordination Ao met à jour les poids du modèle global e1 par agrégation des modèles agrégés 0/ des clusters Ç. L'entité de coordination Ao peut utiliser des méthodes d'agrégation différentes selon les modes de réalisation, et par exemple les méthodes d'agrégation « Federated Average » ou « Coordinate-wise median » précitées.
Dans au moins un des modes de réalisation décrits ici, au cours d'un test E60, l'entité de coordination Ao détermine si le modèle global 0‘ est encore loin de la convergence ou pas. Elle compare pour cela la norme de l'évolution A0‘ de son modèle (A0‘ =et - 0t-1) avec un critère de convergence e0.
Dans au moins un des modes de réalisation décrits ici, lorsque la norme de l'évolution A0‘ de son modèle est supérieure au critère de convergence e0, l'entité de coordination Ao considère que son modèle continue à converger et le résultat du test E60 est positif. Elle envoie alors (nouvelle occurrence de l'étape E20), les poids 0‘ du nouveau modèle global aux nœuds d'agrégations Aj des clusters Q en leur demandant de recommencer le processus décrit ci-dessus pour remettre à jour S fois leurs modèles agrégés 0/.
Dans au moins un des modes de réalisation décrits ici, lorsque la norme de l'évolution A0‘ de son modèle est inférieure au critère de convergence e0, l'entité de coordination Ao considère que son modèle n'évolue plus et le résultat du test E60 est négatif.
Dans au moins un des modes de réalisation décrits ici, elle envoie alors, au cours d'une étape E65, les poids 0‘ du modèle global aux nœuds N, (soit directement soit via les nœuds d'agrégations Aj des clusters Q) et leur demande de mettre à jour ce modèle 0 .
Dans au moins un des modes de réalisation décrits ici, les nœuds N, mettent à jour leur modèle 0 au cours d'une étape E65 (par exemple en effectuant une descente de gradient à partir de leur jeu de données locales da) et envoient la mise à jour A0 de leurs modèles à l'entité de coordination Aoau cours d'une étape E70.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape E75, l'entité de coordination Ao effectue une nouvelle partition des nœuds pour réorganiser les clusters. On rappelle qu'à l'étape E10, les kinit clusters avaient été constitués, dans le mode de réalisation cité à titre d'exemple, en ne prenant en compte que les distances entre les nœuds N,, sur la base de leurs localisations géographiques.
Or, à ce stade, le modèle global créé sur la base de ces premiers clusters, sur un critère purement géographique, n'évolue plus ou quasiment plus.
Dans au moins un des modes de réalisation décrits ici, et comme mentionné précédemment, l'étape E75 réorganise les nœuds en clusters pour que ceux-ci répondent à un compromis, à savoir limiter (par exemple minimiser) les coûts de communication entre les nœuds au sein d'un cluster, et d'autre part constituer des clusters de nœuds dont les mises à jour de leurs modèles A0; (t) évoluent dans la même direction, ce deuxième critère représentant a priori le fait que ces nœuds possèdent des jeux de données locales issues de distributions homogènes.
Dans au moins un des modes de réalisation décrits ici, l'étape E75 réorganise les clusters pour optimiser globalement la dimension d,r k calculée pour chaque paire de nœuds N,, Nk :
Figure imgf000023_0001
dans laquelle :
- cii,k est une distance entre les mises à jour
Figure imgf000023_0002
et A0® des modèles des nœuds Ni et Nk ;
- (xi, y,) désigne les coordonnées géographiques du nœud Ni. On note que dans ce mode de réalisation de l'invention on considère que les communications entre deux nœuds Ni, Nk transitent par un nœud d'agrégation a
- p désigne l'importance relative du cout de communication dans la fonction à minimiser par rapport à la di-similarité des mises à jour) ; et
- a désigne l'exposant d'affaiblissement de parcours (en anglais pass-loss exponent).
Dans un mode de réalisation
Figure imgf000023_0003
où <x, y> désigne le produit scalaire de % et y et | |x| | désigne la norme de x.
A l'issue de l'étape E75, les nouveaux clusters Q sont réorganisés et leurs nœuds d'agrégation Aj sont désignés.
Il peut être considéré, au moins dans certains modes de réalisation, que cette étape E75 termine une phase d'initialisation.
Il peut être considéré que cette phase d'initialisation est suivie par une phase d'optimisation qui va maintenant être décrite en référence à la figure [Fig. 10].
Dans au moins un des modes de réalisation décrits ici, cette phase d'optimisation comporte des étapes F10 à F95.
Au cours d'une étape F10, l'entité de coordination Ao enregistre le modèle global en tant que modèle de référence 0n.
Dans au moins un mode de réalisation, au cours d'une étape F15, de manière similaire à l'étape E15 déjà décrite, l'entité de coordination Ao envoie :
- à chaque nœud Aj destiné à devenir un nœud d'agrégation dans cette nouvelle partition, une information selon laquelle ce nœud Aj doit jouer un rôle d'un nœud d'agrégation dans un cluster Q et les identifiants des nœuds N, de ce cluster Q ; et
- à chaque nœud N,, l'identifiant du nœud d'agrégation Aj du cluster Q auquel il appartient. de sorte que pour un cluster donné, les nœuds N, et le nœud d'agrégation Aj de ce cluster puissent se configurer pour communiquer entre eux.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F20, l'entité de coordination Ao envoie à chaque nœud d'agrégation Aj :
- les poids e1 du modèle global ; et
- une demande d'apprentissage des poids 0, des modèles des nœuds N, de ce cluster Q avec les poids du modèle global. Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F25, le nœud d'agrégation Aj de chacun des clusters réorganisés Q initialise les poids de son modèle 0f pour le tour t avec les poids du modèle global.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F30, le nœud d'agrégation Aj de chacun des clusters réorganisés Q envoie les poids 0f de son modèle agrégé à chacun des nœuds N, de son cluster et leur demande de mettre à jour leur modèle 0- en effectuant une descente de gradient à partir de leur jeu de données locales ds,.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F35, chacun des nœuds N, initialise les poids de son modèle local 0- pour le tour t avec les poids 0f du modèle de son cluster Q et met ce modèle à jour en effectuant une descente de gradient durant E époques sur un batch de taille B de ses données locales ds,.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F40, le nœud N, envoie la mise à jour A0 de son modèle pour le tour t à le nœud d'agrégation de son cluster Q.
Dans au moins un des modes de réalisation décrits ici, au cours d'un test F45, le nœud d'agrégation Aj d'un cluster réorganisé Q détermine si le cluster Q doit être restructuré. Dans l'exemple décrit ici, et comme décrit précédemment en référence à la figure [Fig. 8], cette étape revient :
- à calculer pour chaque nœud N, du cluster Q un vecteur représentatif de l'évolution A0 du modèle de ce nœud pour le tour t. Ce vecteur a pour origine un point représentant 0- , et une direction sensiblement dirigée vers les poids du modèle optimal du jeu de données ds, de ce nœud N, ;
- calculer la norme de l'évolution du modèle agrégé A# du cluster Q obtenue à partir des mises à jour A0 du modèle des nœuds N, du cluster Q reçues à l'étape F40. Cette norme est par exemple dans l'exemple illustré en figure [Fig. 8] la norme du vecteur représenté en trait plein à la figure [Fig. 8];
- déterminer si cette norme est supérieure à un critère de convergence en. Si c'est le cas, le nœud d'agrégation Aj du cluster Q détermine que le modèle du cluster Cj continue à converger et qu'il n'est pas encore nécessaire de modifier le cluster Q.
Toujours au cours de ce test F45, si la norme du modèle agrégé A# du cluster Q est inférieure au critère de convergence en, ce qui est le cas si le modèle du cluster Q ne converge plus, le nœud d'agrégation Aj détermine s'il existe au moins un modèle d'un nœud N, de son cluster qui continue à évoluer et ce différemment des modèles des autres nœuds du cluster.
Dans au moins un des modes de réalisation décrits ici, pour déterminer si le modèle d'un nœud N, continue à évoluer, un nœud d'agrégation Aj compare la norme de A0 avec le critère de convergence en.
Dans au moins un mode de réalisation, pour déterminer si le modèle d'un nœud N, qui continue à évoluer, évolue différemment que les modèles des autres nœuds du cluster Cj, le nœud d'agrégation Aj considère l'angle entre :
- le vecteur représentant la mise à jour A0 du modèle de ce nœud et
- un vecteur représentant l'évolution qu'aurait le modèle du cluster Cj sans ce nœud N,. (L'homme du métier comprendra que ce vecteur n'est pas exactement le vecteur représenté en trait plein à la figure [Fig. 8], car sur cette figure celui-ci représente l'évolution du cluster Q au complet).
Plus précisément, dans au moins un des modes de réalisation décrits ici, le nœud d'agrégation Aj considère que le modèle d'un nœud du cluster évolue différemment si at > . où :
Figure imgf000025_0001
Si ce n'est pas le cas, autrement dit si le modèle du cluster Q continue à évoluer, sans qu'aucun modèle de nœud N, n'évolue dans une direction sensiblement différente à la celle dans laquelle le modèle du cluster évoluerait sans ce nœud, le résultat du test F45 est négatif.
Dans ce cas, dans au moins un des modes de réalisation décrits ici, le nœud d'agrégation Aj d'un cluster Q calcule au cours d'une étape F50, le modèle agrégé 0f du cluster Q obtenu à partir des mises à jour A0 du modèle des nœuds N, du cluster Q reçues à l'étape F40. Ce modèle mis à jour est envoyé à tous les nœuds Ni du cluster Q au cours d'une nouvelle itération de l'étape F30.
Dans au moins un des modes de réalisation décrits ici, la boucle des étapes F25 à F50 est effectuée tant que t est inférieur à une valeur T. D'autres critères d'arrêt peuvent être utilisés.
Dans au moins un des modes de réalisation décrits ici, le nœud d'agrégation Aj envoie (étape F58) le modèle agrégé 0f de son cluster Q à l'entité de coordination Ao (ou au nœud d'agrégation de niveau inférieur).
Lorsqu'un nœud d'agrégation Aj détermine soit que le modèle du cluster Q n'évolue plus soit qu'il existe au moins un nœud dont le modèle évolue dans une « mauvaise » direction, le résultat du test F45 est positif, et le nœud d'agrégation Aj entreprend, au cours d'une étape F60, une restructuration du cluster Q.
Cette étape est similaire à l'étape E75 déjà décrite sauf qu'elle s'applique uniquement aux nœuds du cluster Q et non pas à tous les nœuds. Elle produit donc un ensemble de sous-clusters du cluster SQ et de nœuds d'agrégations SAj de ces sous-clusters, ces sous-clusters SQ étant constitués pour limiter les coûts de communication entre leurs nœuds et pour regrouper des nœuds dont les mises à jour de leurs modèles évoluent sensiblement dans la même direction. Eventuellement des nœuds NI, ne sont attribués à aucun des sous-clusters et peuvent être considérés comme isolés.
Dans au moins un des modes de réalisation décrits ici, les sous-clusters SQ et les nœuds isolés NI, ne sont pas traités de la même façon.
Dans un mode de réalisation, au cours d'une étape F65, le nœud d'agrégation Aj envoie:
- à chaque nœud SAj destiné à devenir un nœud d'agrégation dans un sous-cluster SQ, une information selon laquelle ce nœud SAj doit jouer un rôle d'un nœud d'agrégation dans le cluster SQ et les identifiants des nœuds N, de ce sous-cluster SQ ; et
- à chaque nœud N, de ce sous-cluster SQ, l'identifiant du nœud d'agrégation SAj de ce sous-cluster SQ auquel il appartient de sorte que les nœuds N, et le nœud d'agrégation SAj de ce sous-cluster puissent se configurer pour communiquer entre eux.
Dans au moins un des modes de réalisation décrits ici, au cours de cette étape F65, le nœud d'agrégation Aj envoie à chaque nœud d'agrégation SAj :
- les poids 6- de son modèle agrégé ; et
- une demande d'apprentissage des poids 0, des modèles des nœuds N, de ce cluster Q avec les poids 0f de ce modèle agrégé.
Dans au moins un des modes de réalisation décrits ici, un nœud d'agrégation Aj créé, au cours d'une étape F70, pour chaque sous-cluster un modèle de référence sènjpar agrégation des modèles des nœuds de ce sous cluster et envoie ensuite les poids de ce modèle au nœud d'agrégation SAj de ce sous-cluster SQ. Ce nœud d'agrégation de sous-cluster peut alors mettre en œuvre, de façon récursive, les étapes décrites ci-avant pour personnaliser son sous-cluster. Dans au moins un des modes de réalisation décrits ici, lorsqu'un nœud NI, est isolé, le nœud d'agrégation de niveau inférieur, à savoir l'entité de coordination Ao dans cet exemple, met à jour, au cours d'une étape F75, le modèle de référence ên par agrégation des modèles
Dans au moins un des modes de réalisation décrits ici, l'entité de coordination Ao, envoie les poids de ce modèle de référence au nœud NI, isolé au cours d'une étape F80.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F85, le nœud NI, isolé initialise les poids de son modèle local avec les poids de ce modèle de référence ên et met ce modèle à jour en effectuant une descente de gradient. Le nœud isolé NI, envoie la mise à jour de son modèle à l'entité de coordination Ao au cours d'une étape F90.
Dans au moins un des modes de réalisation décrits ici, au cours d'une étape F95, le nœud NI, isolé est affecté au cluster Q dont l'évolution du modèle par rapport au modèle de référence ên, soit (0® - ên~) , la plus proche de A0,
Dans l'exemple précédent, on a décrit un mode de mise en œuvre de l'invention pour un système ne comportant que deux niveaux d'agrégation mais l'invention peut être mise en œuvre avec un nombre supérieur de niveaux d'agrégation.
D'une façon générale, au cours de la phase d'initialisation, lorsqu'un nœud d'agrégation Aj a mis à jour le modèle agrégé 0- de son cluster Q (étape E45), il l'envoie au nœud d'agrégation de niveau inférieur pour que celui-ci puisse mettre à jour son propre modèle (étape E55) par agrégation des modèles qu'il reçoit. D'une façon générale un nœud d'agrégation de niveau n est configuré pour déterminer (étape E60) si son modèle agrégé est encore loin de la convergence en comparant la norme de l'évolution de son modèle avec un critère de convergence sn qui peut être propre à ce niveau d'agrégation.
A l'issue de la phase d'initialisation, un nœud d'agrégation de niveau n envoie un modèle de référence résultat de cette phase d'initialisation aux nœuds d'agrégation de niveau n+1 (étape F10). Chaque nœud d'agrégation est configuré pour déterminer si son cluster doit être reconfiguré (étape F45) et si c'est le cas, pour créer des sous-clusters (étape F60) ou demander au nœud d'agrégation de niveau inférieur d'attribuer un cluster (étape F95) aux nœuds qui seraient isolés.
En référence à la figure [Fig. 11], dans au moins un des modes de réalisation décrits ici, l'entité de coordination Ao a l'architecture matérielle d'un ordinateur. Elle comprend notamment un processeur 11, une mémoire morte 12, une mémoire vive 13, une mémoire non volatile 14 et des moyens de communication 15.
Ces moyens de communication 15 peuvent permettre notamment à l'entité de coordination Ao de communiquer avec des nœuds du réseau.
La mémoire morte 12 de l'entité de coordination Ao constitue un support d'enregistrement conforme à l'invention, lisible par le processeur et sur lequel est enregistré un programme d'ordinateur PGC conforme à l'invention, comportant des instructions pour l'exécution d'un procédé de configuration de poids selon l'invention.
Par exemple le processeur de ladite entité de coordination (Ao) peut être apte à :
- au moins une partition de l'ensemble des nœuds (N,) en au moins un cluster de nœuds ;
- une désignation d'au moins un nœud (Ai) dudit cluster pour un rôle de nœud d'agrégation gérant un modèle agrégé dudit au moins un cluster de nœuds pour ledit apprentissage fédéré, ladite désignation comprenant un envoi aux nœuds (Ni) dudit cluster, d'une information désignant ledit nœud (Aj) comme nœud d'agrégation et un envoi au nœud (Ai) des identifiants des nœuds (Ni) dudit cluster. Le programme PGC définit divers modules fonctionnels et logiciels de l'entité de coordination Ao, aptes à mettre en œuvre les étapes du procédé de configuration de poids. En référence à la figure [Fig. 12], dans un mode particulier de réalisation, ces modules comprennent notamment ici :
- un module MP de partitionnement configuré pour partitionner un ensemble de nœuds N, en au moins un cluster Q;
- un module COM de communication configuré pour envoyer à un nœud Aj appartenant à au moins un cluster Q, dit nœud d'agrégation Aj, une information selon laquelle ledit nœud Aj doit jouer un rôle d'un nœud d'agrégation Aj dans ce cluster Q de nœuds et des identifiants des nœuds N, de ce cluster Q ;
- le module COM étant configuré pour envoyer, à au moins un nœud d'agrégation Aj, une demande d'apprentissage des poids de modèles des nœuds N, de ce cluster Q avec les poids d'un modèle global à l'ensemble des nœuds;
- le module COM étant configuré pour recevoir, en provenance dudit au moins un nœud d'agrégation Aj, des poids du modèle agrégé du cluster Cj résultant de cet apprentissage ; et
- un module MAI de mise à jour des poids dudit modèle global par agrégation des poids reçus du modèle agrégé dudit au moins un cluster.
La figure [Fig. 13] représente, dans un mode de réalisation de l'invention, l'architecture matérielle d'un nœud Aj apte à jouer un rôle de nœud d'agrégation dans un cluster de nœuds d'un ensemble de nœuds, des réseaux de neurones des nœuds de cet ensemble ayant tous la même structure. Ce nœud Aj comprend notamment un processeur 21, une mémoire morte 22, une mémoire vive 23, une mémoire non volatile 24 et des moyens de communication 25. Ces moyens de communication 25 peuvent permettre notamment au nœud N, de communiquer avec une entité de coordination Ao ou avec d'autres nœuds du réseau, notamment au sein d'un même cluster.
La mémoire morte 22 du nœud Aj constitue un support d'enregistrement conforme à l'invention, lisible par le processeur et sur lequel est enregistré un programme d'apprentissage PGA conforme à l'invention, comportant des instructions pour l'exécution d'un procédé d'apprentissage selon l'invention.
Par exemple le processeur du nœud peut être apte à une réception, en provenance d’une entité dudit réseau de communication, avant un apprentissage fédéré des poids desdits modèles des réseaux de neurones des nœuds dudit ensemble, dans lequel lesdits nœuds entraînent localement leurs modèles de réseaux de neurones et partagent les poids de leurs modèles avec d'autres nœuds dudit réseau d’une information désignant un nœud (Aj) dudit ensemble comme nœud d’agrégation gérant un modèle agrégé pour ledit apprentissage fédéré et , lorsque ledit nœud est ledit nœud, des identifiants des nœuds dudit cluster d'un cluster dont ledit nœud d'agrégation gère ledit modèle abrégé.
Le programme PGA définit divers modules fonctionnels et logiciels du nœud Aj aptes à mettre en œuvre les étapes du procédé d'apprentissage. En référence à la figure [Fig. 14], dans un mode particulier de réalisation, ces modules comprennent notamment ici :
- un module de communication COM2 configuré pour recevoir, en provenance d'une entité du réseau de communication :
- une information selon laquelle le nœud Aj doit jouer un rôle d'un nœud d'agrégation dans un cluster Q de nœuds ; et
- des identifiants des nœuds N, du cluster Q ;
- le module de communication COM2 étant configuré pour recevoir, en provenance d'une entité du réseau, une demande d'apprentissage des poids du cluster à partir des poids d'un modèle ayant ladite structure ; - un module MIN d'initialisation configuré, en cas de réception de ladite demande d'apprentissage, pour initialiser des poids 0, d'un modèle agrégé Mj du cluster Q et des poids et des modèles des nœuds N, du cluster Cj avec lesdits poids reçus;
- un module MAJ de mise à jour configuré pour mettre à jour des poids du modèle agrégé du cluster Q, par agrégation des poids des modèles des nœuds N, du cluster Q entraînés avec des jeux de données locales à ces nœuds, les poids des modèles des nœuds du cluster étant remplacés par les poids mis à jour du modèle agrégé du cluster Q après chaque mise à jour ;
- le module de communication COM2 étant configuré pour envoyer à l'entité du réseau des poids du modèle agrégé dudit cluster mis à jour.
Dans un mode de réalisation dans lequel ce nœud, alors noté N,, est en outre apte à jouer un rôle de nœud de travail, les moyens de communication COM2 sont configurés pour:
- recevoir, en provenance d'une entité dudit réseau de communication, un identifiant d'un nœud d'agrégation Aj d'un cluster Q auquel appartient le nœud N, ;
- recevoir, en provenance de ce nœud d'agrégation Aj, des poids d'un modèle ayant ladite structure pour initialiser les poids du modèle du nœud N,;
- transmettre audit nœud d'agrégation Aj des poids du modèle du nœud N, entraîné avec un jeu de données locales à ce nœud N,.
La figure [Fig. 15] illustre des performances de l'invention dans un exemple de mise en œuvre. Plus précisément :
La partie (a) de la figure [Fig. 15] présente pour 100 tours t (représentés en abscisse), le pourcentage (en ordonnées) de nœuds atteignant 99% de précision pour deux méthodes :
- triangles : apprentissage fédéré centralisé de l'état de la technique dans lequel la méthode d'agrégation utilise une moyenne fédérée ;
- ronds: apprentissage fédéré par clusters conformément à l'invention dans lequel la méthode d'agrégation utilise une moyenne fédérée.
La partie (b) de la figure [Fig. 15] présente pour 100 tours t (représentés en abscisse), le pourcentage (en ordonnées) de nœuds atteignant 99% de précision pour deux méthodes :
- triangles : apprentissage fédéré centralisé de l'état de la technique dans lequel la méthode d'agrégation utilise une médiane ;
- ronds: apprentissage fédéré par clusters conformément à l'invention dans lequel la méthode d'agrégation utilise une médiane.
On utilise dans ces exemples des images de test du jeu de données MNIST qui comporte des images représentant chacune un chiffre de 0 à 9, soit dix classes. Une précision de 99% signifie que pour 100 nouvelles images connues, 99% sont classées correctement.
Ce modèle est présenté dans le document « Y. LeCun and C. Cortes, "MNIST handwritten digit database," 2010 ».
Il apparaît sur ces parties (a) et (b) de la figure [Fig. 15], que pour les deux méthodes d’agrégation (moyenne fédérée et médiane), la mise en œuvre de l'invention (apprentissage fédéré par clusters) présente un pourcentage de nœuds atteignant une précision de 99 % beaucoup plus élevé que par rapport à un algorithme d’apprentissage fédéré centralisé. Les parties et (c) et (d) de la figure [Fig. 15] représentent respectivement la moyenne de précision pondérée par le nombre d'exemples dans le jeu de validation des nœuds pour les deux méthodes de la partie (a) et pour les deux méthodes de la partie (b) présentées ci-dessus.
Sur ces figures, si on considère un ensemble de nœuds qui ne comporterait que deux nœuds, le premier nœud ayant un jeu de XI données locales et une précision PI et le deuxième nœud ayant un jeu de X2 données locales et une précision P2, alors l'ordonnée d'un point aurait pour valeur :
(XI. Pl + X2.P2) / (P1+P2).
Les parties (e) et (f) de la figure [Fig. 15] illustrent respectivement l'intérêt de l'invention en termes de réduction de coût de communication dans le cas d'une méthode d'agrégation de type moyenne fédérée et dans le cas d"une méthode d'agrégation de type médiane.
Sur ces figures, on considère un coût de communication calculé dans le cas d'un réseau de 50 nœuds, à chacun des tours, le coût de communication étant dans cet exemple constitué par la somme des coûts de communication (i) du modèle vers les nœuds et (il) en retour de ces nœuds vers les nœuds d'agrégation ou vers l'entité de coordination, en prenant compte du nombre de bits nécessaires pour envoyer le modèle (autrement dit les poids), multiplié par la somme des distances entre deux nœuds, puissance a (exposant d'affaiblissement de parcours).
On suppose ici que dans le cas d'un apprentissage fédéré centralisé, le nœud d'agrégation unique est le barycentre de tous les nœuds.
On voit que l'apprentissage fédéré par cluster peut aider à réduire le coût de communication en évitant la communication entre chaque nœud du réseau et le nœud d'agrégation unique.
Ainsi, on peut observer, pour les deux méthodes d'agrégation :
- au premier tour, que le coût de communication pour le modèle fédéré centralisé de l'état de la technique est plus de 3,5 fois plus élevé que pour le modèle fédéré par clusters de l'invention ;
- que dans les premiers tours, le coût de communication pour le modèle fédéré par clusters varie, en raison de la réorganisation des clusters ;
- qu'après plus de 20 tours, le coût de communication pour le modèle fédéré par clusters ne varie presque plus, les clusters étant stabilisés et est bien inférieur à celui du modèle fédéré centralisé.
Ces résultats dépendent de la stabilité des clusters et donc des paramètres a, p et en.

Claims

REVENDICATIONS
[Revendication 1] Procédé de configuration de poids (0,) de modèles de réseaux de neurones (RN) de même structure, de nœuds (Ni) d'un ensemble de nœuds d'un réseau de communication, ledit procédé comportant un apprentissage fédéré desdits poids dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dudit réseau, le procédé comportant:
- au moins une partition (E10, E75) de l'ensemble des nœuds (Ni) en au moins un cluster (Cj) de nœuds ;
- une désignation d'au moins un premier nœud (Aj) dudit cluster (Cj) pour un rôle de nœud d'agrégation gérant un modèle agrégé dudit au moins un cluster (Cj) de nœuds pour ledit apprentissage fédéré, ladite désignation comprenant :
• un envoi (E15, F15) aux nœuds (Ni) dudit cluster (Cj), d'une information désignant ledit premier nœud (Aj) comme nœud d'agrégation ;
• un envoi (E15, F15) au premier nœud (Aj) des identifiants des nœuds (Ni) dudit cluster (Cj) .
[Revendication 2] Procédé de configuration selon la revendication 1 dans lequel ladite désignation est temporaire, le procédé comprenant une autre désignation pour au moins une autre partition dudit ensemble de nœuds .
[Revendication 3] Procédé de configuration de poids (0,) de modèles de réseaux de neurones (RN) selon la revendication 1 ou 2 où le procédé comprend lors dudit apprentissage fédéré
- un envoi (E20, F20), au nœud d'agrégation (Aj) dudit au moins un cluster (Cj), d'une demande d'apprentissage des poids (0,) des modèles des nœuds (Ni) dudit cluster (Cj) avec les poids (0°, 0‘) d'un modèle global à l'ensemble des nœuds;
- une réception (E50, F50), en provenance du nœud d'agrégation (Aj) dudit au moins un cluster (Cj), des poids (0| ) dudit modèle agrégé dudit cluster (Cj) résultant dudit apprentissage; et
- une mise à jour (E55, F75) des poids (0‘) du modèle global par agrégation des poids reçus (0®) du modèle agrégé dudit au moins un cluster (Cj).
[Revendication 4] Procédé de configuration selon l'une au moins des revendications 1 à 3 caractérisé en ce qu'il comporte une partition (E10) de l'ensemble des nœuds (N,) en au moins un cluster (Cj) en tenant compte d'un coût de communication entre les nœuds (Ni, Nk) au sein dudit au moins un cluster.
[Revendication 5] Procédé de configuration selon l'une au moins des revendications 1 à 4, caractérisé en ce qu'il comporte une partition (E75) de l'ensemble des nœuds (N,) pour réorganiser lesdits clusters (Q) en au moins un cluster, lesdits clusters réorganisés (Cj) étant constitués selon une fonction (o( *) prenant en compte un coût de communication entre les nœuds (N,, Nk) au sein d'un cluster réorganisé (Q) et une similarité (ai,k) d'une évolution des poids des modèles (A0®, A0®) des nœuds (N,, Nk) au sein d'un cluster réorganisé (Q).
[Revendication 6] Procédé de configuration selon la revendication 5 caractérisé en ce que ladite similarité (ai,k) est déterminée en :
- demandant auxdits nœuds (N,, Nk) de remplacer (E65) les poids de leur modèle par les poids (0‘) du modèle global mis à jour ;
- demandant auxdits nœuds (N,, Nk) de mettre à jour leur modèle en l'entraînant avec leur jeu de données locales (dSi, dSk) ; et en
- déterminant une similarité des évolutions (AS®, AS®) des poids des modèles des différents nœuds.
[Revendication 7] Procédé de configuration selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte :
- une réception (F60), en provenance du nœud d'agrégation (Aj) d'un premier cluster (Q), d'un identifiant d'un nœud isolé (NI,) dudit premier cluster (Q) ; et
- une réaffectation (F95) dudit nœud isolé (NI,) à un autre cluster (Ck), en tenant compte d'une proximité entre :
- une direction de l'évolution des poids
Figure imgf000031_0001
dudit nœud isolé (NI,) lorsque celui-ci est entraîné par des données locales au nœud isolé (NI,) ; et
-une direction de l'évolution des poids
Figure imgf000031_0002
du modèle agrégé dudit autre cluster (Ck), par rapport à un même modèle de référence (ê71).
[Revendication 8] Procédé d’apprentissage mis en œuvre par un nœud d’un ensemble de nœuds comportant des réseaux de neurones ayant un modèle de même structure, d’un réseau de communication, ledit procédé comportant , avant un apprentissage fédéré des poids desdits modèles des réseaux de neurones des nœuds dudit ensemble, dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dit d'agrégation dudit réseau: :
- une réception (E15, F15), en provenance d’une entité dudit réseau de communication, d'une information désignant un premier nœud (Aj) dudit ensemble comme nœud d’agrégation gérant un modèle agrégé pour ledit apprentissage fédéré et , lorsque ledit nœud est ledit premier nœud (Aj), des identifiants des nœuds (Ni) d'un cluster (Cj) dont ledit nœud d'agrégation gère ledit modèle abrégé.
[Revendication 9] Procédé d’apprentissage selon la revendication 8 où le procédé comprend, lorsque ledit nœud est ledit nœud d’agrégation (Ai);
- une réception (E15, F15), en provenance de ladite entité dudit réseau de communication des poids (0°, B1) d’un modèle ayant ladite structure;
- sur réception d’une demande d’apprentissage des poids d’un modèle agrégé dudit cluster à partir desdits poids (0°, B1) reçus:
• une initialisation (E20, F20) (E25, E30) des poids (0,) du modèle agrégé dudit cluster (Cj) et des poids (0;) des modèles des nœuds (Ni) dudit cluster (Cj) avec lesdits poids (0°, B1) reçus;
• au moins une mise à jour (E45) des poids (0^) du modèle agrégé dudit cluster (Cj), par agrégation des poids des modèles des nœuds (Ni) dudit cluster (Cj) entraînés (E35) avec des jeux de données (dsi) locales à ces nœuds (Ni), les poids (0®) des modèles des nœuds (Ni) dudit cluster étant remplacés (E30) par les poids mis à jour (0^) du modèle agrégé dudit cluster (Cj) après chaque mise à jour ;
- un envoi (E50, F50) à ladite entité dudit réseau des poids (0^) du modèle agrégé dudit cluster (Cj) mis à jour.
[Revendication 10] Procédé d'apprentissage selon la revendication 9, caractérisé en ce que le procédé comprend, lorsque ledit nœud est ledit nœud d’agrégation (Ai); déterminer (F45) si ledit cluster (Q) doit être restructuré en prenant en compte une évolution des poids (AS®) dudit cluster et/ou une évolution (AS®) des poids des nœuds (N,) dudit cluster.
[Revendication 11] Procédé d'apprentissage selon l'une quelconque des revendications 8 à 10, caractérisé en ce qu'il comporte, lorsque ledit nœud est ledit nœud d’agrégation (Ai); s'il est déterminé (F45) que ledit cluster (Q) doit être restructuré, une restructuration (F60) dudit cluster (Q) en regroupant au moins une partie des nœuds (N,) dudit cluster (Q) en au moins un sous-cluster (SQ), lesdits sous-clusters (SQ) étant constitués selon une fonction d,r k) prenant en compte un coût de communication entre les nœuds (N,, Nk) au sein d'un dit sous-cluster (SQ) et une similarité (ai,k) d'une évolution des poids des modèles (A0; (t), A0fc (t)) des nœuds (N,, Nk) au sein d'un dit sous-cluster (Q).
[Revendication 12] Procédé d'apprentissage selon la revendication 11, caractérisé en ce que ladite restructuration (F60) dudit cluster (Q) comporte l'envoi (F60), à ladite entité dudit réseau de communication, de l'identifiant d'un nœud isolé (NI,) dudit cluster (Q).
[Revendication 13] Procédé d'apprentissage selon l'une quelconque des revendications _8 à 12 comportant, lorsque ledit nœud n'est pas ledit nœud d'agrégation (Ai):
- une réception (E30, F30), en provenance dudit nœud d'agrégation (A), des poids (0°, 0t) d'un modèle ayant ladite structure pour initialiser les poids (0;) du modèle du nœud;
- une transmission (E35) audit nœud d'agrégation(A) des poids du modèle du nœud entraîné (E35) avec un jeu de données (ds,) locales audit nœud.
[Revendication 14] Procédé d'apprentissage selon l'une quelconque des revendications 8 à 13, ledit procédé étant mis en œuvre par un nœud appartenant à un premier cluster, caractérisé en ce que ladite entité dudit réseau de communication est :
- une entité de coordination du réseau ;
- un nœud dudit ensemble de nœuds jouant un rôle de nœud d'agrégation gérant un modèle agrégé d'un deuxième cluster de niveau inférieur au niveau dudit premier cluster.
[Revendication 15] Entité de coordination (Ao) apte à configurer des poids (0,) de modèles de réseaux de neurones (RN), de même structure, de nœuds (N,) d'un ensemble de nœuds d'un réseau de communication, par un apprentissage fédéré desdits poids dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dudit réseau, ladite entité de coordination (Ao) comprenant au moins un processeur apte à :
- au moins une partition (E10, E75) de l'ensemble des nœuds (N,) en au moins un cluster (Q) de nœuds ;
- une désignation d'au moins un premier nœud (Ai) dudit cluster (Cj) pour un rôle de nœud d'agrégation gérant un modèle agrégé dudit au moins un cluster (Cj) de nœuds pour ledit apprentissage fédéré, ladite désignation comprenant :
• un envoi (E15, F15) aux nœuds (Ni) dudit cluster (Cj), d'une information désignant ledit premier nœud (Aj)comme nœud d'agrégation ;
• un envoi (E15, F15) au premier nœud (Aj) des identifiants des nœuds (Ni) dudit cluster (Cj) .
[Revendication 16] Entité de coordination (Ao) selon la revendication 15 comprenant :
- un module (COM) d'envoi (E20, F20), audit nœud d'agrégation (Aj) dudit au moins un cluster (Q), d'une demande d'apprentissage des poids (0;) des modèles des nœuds (N,) dudit cluster (Q) avec les poids (0°, et) d'un modèle global à l'ensemble des nœuds;
- un module (COM) de réception (E50, F50), en provenance du nœud d'agrégation (Aj) dudit au moins un cluster (Q), des poids (0/) d'un modèle agrégé dudit cluster (Q) résultant dudit apprentissage ; et - un module (MAJ) de mise à jour (E55, F75) des poids (0 É) du modèle global par agrégation des poids
Figure imgf000033_0001
reçus du modèle agrégé dudit au moins un cluster (Q).
[Revendication 17] Nœud appartenant à un ensemble de nœuds comportant des réseaux de neurones ayant un modèle de même structure, d’un réseau de communication, ledit nœud (Ai) comportant au moins un processeur apte à:
- une réception (E15, F15), en provenance d’une entité dudit réseau de communication, avant un apprentissage fédéré des poids desdits modèles des réseaux de neurones des nœuds dudit ensemble, dans lequel lesdits nœuds entraînent localement leur modèle de réseaux de neurones et partagent les poids de leur modèle avec d'autres nœuds dudit réseau, d’une information désignant un premier nœud (Aj) dudit ensemble comme nœud d’agrégation gérant un modèle agrégé pour ledit apprentissage fédéré et , lorsque ledit nœud est ledit premier nœud (Aj), des identifiants des nœuds (Ni) dudit cluster (Cj) d'un cluster (Cj) dont ledit nœud d'agrégation gère ledit modèle agrégé.
[Revendication 18] Nœud selon la revendication 17 comprenant
- un module (COM2) de réception, en provenance de ladite entité dudit réseau de communication, des poids (0°, 0t) d'un modèle ayant ladite structure, lorsque ledit nœud est ledit nœud d'agrégation (Ai);
- un module (COM2) de réception d'une demande d'apprentissage des poids d'un modèle agrégé dudit cluster à partir desdits poids (0°, 0‘) reçus, lorsque ledit nœud est ledit nœud d'agrégation (Ai);
- un module d'initialisation (MIN) configuré, en cas de réception de ladite demande d'apprentissage, pour initialiser (E20, F20) (E25, E30) les poids (0,) du modèle agrégé dudit cluster (Q) et les poids (0;) des modèles des nœuds (N,) dudit cluster (Q) avec les poids (0°, et) reçus, lorsque ledit nœud est ledit nœud d'agrégation (Ai);
- un module (MAJ) de mise à jour (E45) des poids (0^) du modèle agrégé dudit cluster (Cj), par agrégation des poids des modèles des nœuds (N,) dudit cluster (Q) entraînés (E35) avec des jeux de données (ds,) locales à ces nœuds (N,), les poids (0; (t)) des modèles des nœuds (N,) dudit cluster étant remplacés (E30) par les poids mis à jour (0®) du modèle agrégé dudit cluster (Q) après chaque mise à jour , , lorsque ledit nœud est ledit nœud d'agrégation (Ai);et
- un module (COM2) d'envoi (E50, F50) à ladite entité du réseau des poids (0®) du modèle agrégé dudit cluster (Cj) mis à jour, , lorsque ledit nœud est ledit nœud d'agrégation (Ai).
PCT/FR2022/051617 2021-08-30 2022-08-29 Procédé et système de configuration de réseaux de neurones d'un ensemble de noeuds d'un réseau de communication WO2023031544A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP22773284.9A EP4396732A1 (fr) 2021-08-30 2022-08-29 Procédé et système de configuration de réseaux de neurones d'un ensemble de noeuds d'un réseau de communication

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2109043A FR3126575A1 (fr) 2021-08-30 2021-08-30 Procédé et système de configuration de réseaux de neurones d’un ensemble de nœuds d’un réseau de communication
FRFR2109043 2021-08-30

Publications (1)

Publication Number Publication Date
WO2023031544A1 true WO2023031544A1 (fr) 2023-03-09

Family

ID=79170878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2022/051617 WO2023031544A1 (fr) 2021-08-30 2022-08-29 Procédé et système de configuration de réseaux de neurones d'un ensemble de noeuds d'un réseau de communication

Country Status (3)

Country Link
EP (1) EP4396732A1 (fr)
FR (1) FR3126575A1 (fr)
WO (1) WO2023031544A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116502709A (zh) * 2023-06-26 2023-07-28 浙江大学滨江研究院 一种异质性联邦学习方法和装置
CN117829269A (zh) * 2023-12-15 2024-04-05 北京天融信网络安全技术有限公司 联邦学习方法、装置、计算设备及机器可读存储介质
CN117829274A (zh) * 2024-02-29 2024-04-05 浪潮电子信息产业股份有限公司 模型融合方法、装置、设备、联邦学习系统及存储介质

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
ABAD M S H ET AL: "Hierarchical Federated Learning ACROSS Heterogeneous Cellular Networks", ICASSP 2020 - 2020 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), IEEE, 4 May 2020 (2020-05-04), pages 8866 - 8870, XP033794287, DOI: 10.1109/ICASSP40776.2020.9054634 *
BRIGGS CHRISTOPHER ET AL: "Federated learning with hierarchical clustering of local updates to improve training on non-IID data", 2020 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), IEEE, 19 July 2020 (2020-07-19), pages 1 - 9, XP033831791, DOI: 10.1109/IJCNN48605.2020.9207469 *
D. YINY. CHENK. RAMCHANDRANP. BARTLETT: "Byzantine-robust distributed learning: Towards optimal statistical rates", 35TH INTERNATIONAL CONFÉRENCE ON MACHINE LEARNING, vol. 13, 2018, pages 8947 - 8956
H. BRENDAN MCMAHANE. MOORED. RAMAGES. HAMPSONB. AGÜERAARCAS: "Communication-efficient learning of deep networks from decentralized data", PROCEEDINGS OF THE 20TH INTERNATIONAL CONFÉRENCE ON ARTIFICIAL INTELLIGENCE AND STATISTICS, vol. 54, 2017
MIRALLES HUGO ET AL: "Communication-efficient Federated Learning through Clustering optimization", 17 December 2021 (2021-12-17), XP055913393, Retrieved from the Internet <URL:https://hal.inria.fr/hal-03479640/document> *
T. HASTIER. TIBSHIRANIJ. FRIEDMA: "The Elements of Statistical Learning", 2008, SPRINGER
V. SMITHC. K. CHIANGM. SANJABIA. TALWALKAR: "Federated multi-task learning", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, vol. 2017, no. Nips, 2017, pages 4425 - 4435
Y. LECUNC. CORTES, MNIST HANDWRITTEN DIGIT DATABASE, 2010

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116502709A (zh) * 2023-06-26 2023-07-28 浙江大学滨江研究院 一种异质性联邦学习方法和装置
CN117829269A (zh) * 2023-12-15 2024-04-05 北京天融信网络安全技术有限公司 联邦学习方法、装置、计算设备及机器可读存储介质
CN117829274A (zh) * 2024-02-29 2024-04-05 浪潮电子信息产业股份有限公司 模型融合方法、装置、设备、联邦学习系统及存储介质
CN117829274B (zh) * 2024-02-29 2024-05-24 浪潮电子信息产业股份有限公司 模型融合方法、装置、设备、联邦学习系统及存储介质

Also Published As

Publication number Publication date
FR3126575A1 (fr) 2023-03-03
EP4396732A1 (fr) 2024-07-10

Similar Documents

Publication Publication Date Title
WO2023031544A1 (fr) Procédé et système de configuration de réseaux de neurones d&#39;un ensemble de noeuds d&#39;un réseau de communication
CN111309614B (zh) A/b测试方法、装置及电子设备
EP3035647B1 (fr) Procédé de choix d&#39;au moins un service et dispositif associé
US11063881B1 (en) Methods and apparatus for network delay and distance estimation, computing resource selection, and related techniques
EP3414701A1 (fr) Procédé et dispositif d&#39;anonymisation de données stockées dans une base de données
CN112580814B (zh) 可伸缩的动态转移学习机制
CN115688913A (zh) 一种云边端协同个性化联邦学习方法、系统、设备及介质
WO2010034920A1 (fr) Determination et gestion de reseaux virtuels
EP4042339A1 (fr) Développement de modèles d&#39;apprentissage automatique
CN116562399A (zh) 端边云协同的模型训练方法及装置
JP2023014431A (ja) 安全な照会処理のための方法、コンピュータプログラム、およびコンピュータシステム(グラフストアにおける安全な照会処理)
CN113742580A (zh) 目标类型数据的召回方法、装置、电子设备及存储介质
WO2020239704A1 (fr) Procede de gestion de ressources de telecommunications allouees dynamiquement a une pluralite d&#39;operateurs de telecommunications, produit programme d&#39;ordinateur et dispositifs correspondants
CN110310138A (zh) 一种确定用户关系的方法及装置
WO2023275462A1 (fr) Système et procédé de gestion de données dans un environnement multi-stockage
FR2998697A1 (fr) Architecture de reseau de neurone, procede d&#39;obtention et programmes correspondants
FR2960732A1 (fr) Procede de routage pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d&#39;ordinateur mettant en oeuvre ce procede
KR102722708B1 (ko) 3D 모델의 UV 맵에 대응하는 seamless texture 생성하기 위한 방법, 서버 및 컴퓨터 프로그램
US20240012942A1 (en) Defending against adversarial attacks in federated learning
US20220343219A1 (en) Parallel cross validation in collaborative machine learning
FR3141585A1 (fr) Procédé d’évaluation d’un déploiement d’une configuration candidate d’un équipement d’accès radio d’un réseau de télécommunications, dispositif, système de gestion et programme d’ordinateur correspondants
Moreau et al. DPSGD strategies for cross-silo federated learning
FR3060795A1 (fr) Procede de construction d’une representation tridimensionnelle d’une atmosphere, dispositif et programme correspondant
FR3126576A1 (fr) Procédé de détermination d’une topologie d’interconnexion entre commutateurs d’un réseau de communication, produit programme d’ordinateur et dispositif correspondants.
WO2022269161A1 (fr) Procédé d&#39;échange sécurisé de données

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22773284

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18688006

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2022773284

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022773284

Country of ref document: EP

Effective date: 20240402