FR 3126575 A1 20230303 FR 2109043 A 20210830 Procédé et système de configuration de réseaux de neurones d’un ensemble de nœuds d’un réseau de communication Ce procédé permet la configuration des poids ( ) de modèles de réseaux de neurones de nœuds (N i ) d’un ensemble de nœuds d’un réseau de communication, les réseaux de neurones desdits nœuds (N i ) ayant tous un modèle de même structure. Il comporte : - au moins une partition (E10, E75) de l’ensemble des nœuds (N i ) en au moins un cluster (C j ) de nœuds ; - un envoi (E15) à un nœud (Aj) appartenant audit au moins un cluster (Cj), d’une information selon laquelle ledit nœud (Aj) doit jouer un rôle d’un nœud d’agrégation dans ledit cluster (Cj) et des identifiants des nœuds (Ni) dudit cluster (Cj), ledit nœud (A j ) étant alors qualifié de nœud d’agrégation (A j ) dudit cluster (C j ) ; - un envoi (E20), au nœud d’agrégation (Aj) dudit au moins un cluster (Cj), d’une demande d’apprentissage des poids ( ) des modèles des nœuds (Ni) dudit cluster (Cj) avec les poids ( ) d’un modèle global à l’ensemble des nœuds; - une étape réception (E50), en provenance du nœud d’agrégation (A j ) dudit au moins un cluster (Cj), des poids ( ) d’un modèle agrégé dudit cluster (Cj) résultant dudit apprentissage; et - une mise à jour (E55) des poids ( ) du modèle global par agrégation des poids reçus ( ) du modèle agrégé dudit au moins un cluster (Cj). Fig. 9 Procédé et système de configuration de réseaux de neurones d’un ensemble de nœuds d’un réseau de communication 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. 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 Arcas, “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. L’invention peut être mise en œuvre, mais ceci de façon non limitative, dans le cadre d’applications ou de services pour lesquels il n’est pas envisageable ou souhaitable que les dispositifs communiquent leurs données soit entre eux soit à une entité centralisée. 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, ce procédé comportant : - 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, ladite entité de coordination comportant : - 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, 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, 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. L’invention vise aussi un système comportant une entité de coordination et au moins un nœud tel que mentionné 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 IoT, 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 N i 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). 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 de fois l’ensemble de jeu de données locales divisé en sous-ensembles (en anglais batch). Des hyperparamètres peuvent être considérés dans pour paramétrer une descente de gradient, notamment : : le taux d’apprentissage : le nombre d’époques : 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, 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 entrainent leurs modèles avec leurs jeux de données locales et qui contribuent à la construction du modèle agrégé du cluster peuvent 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 noeuds 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–4435, 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 Avearge » (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 Arcas, “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 comporte 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. 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 : La représente, dans un réseau de communication, un ensemble de nœuds pouvant être utilisé dans un mode particulier de mise en œuvre de l’invention ; La représente schématiquement un nœud pouvant être utilisé dans un mode particulier de mise en œuvre de l’invention ; La représente des clusters de nœuds ; La représente des clusters de nœuds constitués sur des critères de coût de communication ; La représente des clusters de nœuds constitués pour regrouper des nœuds dont les données locales ont des distributions homogènes ; La représente une représentation vectorielle de l’évolution du modèle d’un nœud ; La représente un cluster de l’ensemble des nœuds de la ; La illustre l’utilisation de la représentation vectorielle de la sur le cluster de la ; La représente une phase d’initialisation de clusters pouvant être mise en œuvre dans un mode particulier de réalisation de l’invention ; La représente une phase d’optimisation pouvant être mise en œuvre dans un mode particulier de réalisation de l’invention ; La représente l’architecture matérielle d’une entité de coordination conforme à un mode particulier de réalisation ; La représente l’architecture fonctionnelle d’une entité de coordination conforme à un mode particulier de réalisation ; La représente l’architecture matérielle d’un nœud conforme à un mode particulier de réalisation ; La représente l’architecture fonctionnelle d’un nœud conforme à un mode particulier de réalisation ; et La illustre des performances de l’invention. Procédé de configuration de poids ( ) de modèles de réseaux de neurones (RN) de nœuds (Ni) d’un ensemble de nœuds d’un réseau de communication, les réseaux de neurones (RN) desdits nœuds (Ni) ayant tous un modèle de même structure, ledit 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 ; - un envoi (E15, F15) à un nœud (Aj) appartenant audit au moins un cluster (Cj), d’une information selon laquelle ledit nœud (Aj) doit jouer un rôle d’un nœud d’agrégation dans ledit cluster (Cj) et des identifiants des nœuds (Ni) dudit cluster (Cj), ledit nœud (A j ) étant alors qualifié de nœud d’agrégation (A j ) dudit cluster (C j ) ; - un envoi (E20, F20), au nœud d’agrégation (Aj) dudit au moins un cluster (Cj), d’une demande d’apprentissage des poids ( ) des modèles des nœuds (Ni) dudit cluster (Cj) avec les poids ( ) 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 ( ) d’un modèle agrégé dudit cluster (Cj) résultant dudit apprentissage; et - une mise à jour (E55, F75) des poids ( ) du modèle global par agrégation des poids reçus ( ) du modèle agrégé dudit au moins un cluster (Cj). Procédé de configuration selon la revendication 1 caractérisé en ce qu’il comporte une partition (E10) de l’ensemble des nœuds (N i ) 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. Procédé de configuration selon la revendication 1 ou 2, caractérisé en ce qu’il comporte une partition (E75) de l’ensemble des nœuds (N i ) pour réorganiser lesdits clusters (C j ) en au moins un cluster, lesdits clusters réorganisés (C j ) étant constitués selon une fonction ( d i, k ) prenant en compte un coût de communication entre les nœuds (N i , N k ) au sein d’un cluster réorganisé (C j ) et une similarité (α i,k ) d’une évolution des poids des modèles ( , ) des nœuds (N i , N k ) au sein d’un cluster réorganisé (C j ). Procédé de configuration selon la revendication 3 caractérisé en ce que ladite similarité (α i,k ) est déterminée en : - demandant auxdits nœuds (N i , N k ) de remplacer (E65) les poids de leurs modèles par les poids ( ) du modèle global mis à jour ; - demandant auxdits nœuds (N i , N k ) de mettre à jour leur modèle en l’entraînant avec leur jeu de données locales (ds i , ds k ) ; et en - déterminant une similarité des évolutions ( , ) des poids des modèles des différents nœuds. Procédé de configuration selon l’une quelconque des revendications 1 à 4, caractérisé en ce qu’il comporte : - une réception (F60), en provenance du nœud d’agrégation (A j ) d’un premier cluster (C j ), d’un identifiant d’une nœud isolé (NI i ) dudit premier cluster (C j ) ; et - une réaffectation (F95) dudit nœud isolé (NI i ) à un autre cluster (C k ), en tenant compte d’une proximité entre : - une direction de l’évolution des poids ( dudit nœud isolé (NI i ) lorsque celui-ci est entraîné par des données locales au nœud isolé (NI i ) ; et -une direction de l’évolution des poids ( du modèle agrégé dudit autre cluster (C k ), par rapport à un même modèle de référence ( ). Procédé d’apprentissage mis en œuvre par un nœud (A j ) d’un ensemble de nœuds d’un réseau de communication, ledit nœud (A j ) étant apte à jouer un rôle de nœud d’agrégation dans un cluster de nœuds dudit ensemble de nœuds, lesdits nœuds (N i ) dudit ensemble comportant un réseau de neurones (RN), les réseaux de neurones (RN) desdits nœuds (N i ) ayant tous un modèle de même structure, ledit procédé comportant : - une réception (E15, F15), en provenance d’une entité dudit réseau de communication - d’une information selon laquelle ledit nœud (A j ) doit jouer ledit rôle de nœud d’agrégation dans un cluster (C j ) de nœuds ; et - des identifiants des nœuds (N i ) dudit cluster (C j ) ; - une réception (E15, F15), 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 (E20, F20) (E25, E30) des poids ( ) du modèle agrégé dudit cluster (C j ) et des poids ( ) des modèles des nœuds (N i ) dudit cluster (C j ) avec lesdits poids ( ) reçus; - au moins une mise à jour (E45) des poids ( ) du modèle agrégé dudit cluster (C j ), par agrégation des poids des modèles des nœuds (N i ) dudit cluster (C j ) entraînés (E35) avec des jeux de données (ds i ) locales à ces nœuds (N i ), les poids ( ) des modèles des nœuds (N i ) dudit cluster étant remplacés (E30) par les poids mis à jour ( ) du modèle agrégé dudit cluster (C j ) après chaque mise à jour ; - un envoi (E50, F50) à ladite entité dudit réseau des poids ( ) du modèle agrégé dudit cluster (C j ) mis à jour. Procédé d’apprentissage selon la revendication 6, caractérisé en ce qu’il détermine (F45) si ledit cluster (C j ) doit être restructuré en prenant en compte une évolution des poids ( dudit cluster et/ou une évolution ( des poids des nœuds (N i ) dudit cluster. Procédé d’apprentissage selon l’une quelconque des revendications 6 ou 7, caractérisé en ce qu’il comporte, s’il est déterminé (F45) que ledit cluster (C j ) doit être restructuré, une restructuration (F60) dudit cluster (C j ) en regroupant au moins une partie des nœuds (N i ) dudit cluster (C j ) en au moins un sous-cluster (SC j ), lesdits sous-clusters (SC j ) étant constitués selon une fonction ( d i, k ) prenant en compte un coût de communication entre les nœuds (N i , N k ) au sein d’un dit sous-cluster (SC j ) et une similarité (α i,k ) d’une évolution des poids des modèles ( , ) des nœuds (N i , N k ) au sein d’un dit sous-cluster (C j ). Procédé d’apprentissage selon la revendication 8, caractérisé en ce que ladite restructuration (F60) dudit cluster (C j ) comporte l’envoi (F60), à ladite entité dudit réseau de communication, de l’identifiant d’un nœud isolé (NI i ) dudit cluster (C j ) pour réaffectation dans un autre cluster (C k ). Procédé d’apprentissage selon l’une quelconque des revendications 6 à 9, ledit procédé étant mis en œuvre par un nœud (N i ) étant en outre apte à jouer un rôle de nœud de travail, ledit procédé comportant : - une réception (E15, F15), en provenance de ladite entité dudit réseau de communication, un identifiant d’un nœud d’agrégation (Aj) d’un cluster (C j ) auquel appartient ledit nœud (N i ) ; - une réception (E30, F30), en provenance dudit nœud d’agrégation (A j ), des poids ( ) d’un modèle ayant ladite structure pour initialiser les poids ( ) du modèle du nœud A j ); - une transmission (E35) audit nœud d’agrégation(A j ) des poids du modèle du nœud (N i ) entraîné (E35) avec un jeu de données (ds i ) locales à ce nœud (N i ). Procédé d’apprentissage selon l’une quelconque des revendications 6 à 10, 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 selon la revendication 12 ; ou - un nœud selon la revendication 13 qui joue un rôle d’agrégation dans un deuxième cluster de niveau inférieur au niveau du premier cluster. Entité de coordination (A 0 ) apte à configurer des modèles de réseaux de neurones (RN) de nœuds (N i ) d’un ensemble de nœuds d’un réseau de communication, les réseaux de neurones (RN) desdits nœuds (N i ) ayant tous un modèle de même structure, ladite entité de coordination (A 0 ) comportant : - un module (MP) de partitionnement (E10, E75) de l’ensemble des nœuds (N i ) en au moins un cluster (C j ) de nœuds ; - un module (COM) d’envoi (E15, F15) à un nœud (A j ) appartenant audit au moins un cluster (C j ), d’une information selon laquelle ledit nœud (A j ) doit jouer un rôle d’un nœud d’agrégation (A j ) dans ledit cluster (C j ) et des identifiants des nœuds (N i ) dudit cluster (C j ), ledit nœud (A j ) étant alors qualifié de nœud d’agrégation (A j ) dudit cluster (C j ) ; - un module (COM) d’envoi (E20, F20), audit nœud d’agrégation (A j ) dudit au moins un cluster (C j ), d’une demande d’apprentissage des poids ( ) des modèles des nœuds (N i ) dudit cluster (C j ) avec les poids ( ) 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 (A j ) dudit au moins un cluster (C j ), des poids ( ) d’un modèle agrégé dudit cluster (C j ) résultant dudit apprentissage ; et - un module (MAJ) de mise à jour (E55, F75) des poids ( ) du modèle global par agrégation des poids ( ) reçus du modèle agrégé dudit au moins un cluster (C j ). Nœud (A j ) appartenant à un ensemble de nœuds d’un réseau de communication, ledit nœud (A j ) é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 dudit ensemble comportant un réseau de neurones (RN), les réseaux de neurones (RN) desdits nœuds (N i ) ayant tous un modèle de même structure, ledit nœud (A i ) comportant : - un module (COM2) de réception (E15, F15), en provenance d’une entité dudit réseau de communication : - d’une information selon laquelle ledit nœud (A j ) doit jouer ledit rôle de nœud d’agrégation dans un cluster (C j ) de nœuds ; et - des identifiants des nœuds (N i ) dudit cluster (C j ) ; et - un module (COM2) de réception, en provenance de ladite entité dudit réseau de communication, des poids ( ) d’un modèle ayant ladite structure; - un module (COM2) de réception d’une demande d’apprentissage des poids d’un modèle agrégé dudit cluster à partir desdits poids ( ) reçus; - un module d’initialisation (MIN) configuré, en cas de réception de ladite demande d’apprentissage, pour initialiser (E20, F20) (E25, E30) les poids ( ) du modèle agrégé dudit cluster (C j ) et les poids ( ) des modèles des nœuds (N i ) dudit cluster (C j ) avec les poids ( ) reçus; - un module (MAJ) de mise à jour (E45) des poids ( ) du modèle agrégé dudit cluster (C j ), par agrégation des poids des modèles des nœuds (N i ) dudit cluster (C j ) entraînés (E35) avec des jeux de données (ds i ) locales à ces nœuds (N i ), les poids ( ) des modèles des nœuds (N i ) dudit cluster étant remplacés (E30) par les poids mis à jour ( ) du modèle agrégé dudit cluster (C j ) après chaque mise à jour ; et - un module (COM2) d’envoi (E50, F50) à ladite entité du réseau des poids ( ) du modèle agrégé dudit cluster (C j ) mis à jour.