# Apprentissage fédéré

En intelligence artificielle et en apprentissage machine, l'apprentissage fédéré (en anglais : federated learning ou collaborative learning) est un paradigme d'apprentissage dans lequel plusieurs machines entrainent collaborativement un modèle d'intelligence artificielle tout en gardant leurs données localement. Ainsi, les machines impliquées dans l'apprentissage se contentent d'envoyer les modèles appris sur leurs données locales, et non les données elles-mêmes. Ce paradigme s'oppose à l'apprentissage centralisé dans lequel toutes les données sont transmises à un serveur central chargé d'exécuter l'apprentissage du modèle.
Un objectif majeur de l'apprentissage fédéré est d'offrir un meilleur respect de la vie privée des utilisateurs, même si l'efficacité des protections actuelles peut être remise en question.

## Définition

En apprentissage automatique, on représente souvent les données d'apprentissage par une matrice. En apprentissage fédéré, chaque agent connait une partie de cette matrice. L'enjeu de l'apprentissage fédéré est d'entrainer un modèle d'apprentissage sans que les agents n'aient à transmettre leur part de la matrice. Beaucoup de modèles en apprentissage automatique sont obtenus en résolvant un problème d'optimisation. Les algorithmes d'apprentissage fédéré sont souvent une solution décentralisée à ces problèmes d'optimisation.
Un "modèle local" est un modèle d'apprentissage entrainé sur les données locales d'un agent. Le modèle global est le résultat de la combinaison de l'ensemble des modèles locaux. Le déroulement standard d'un protocole d'apprentissage fédéré requiert l'échange de modèles locaux afin d'obtenir un modèle global satisfaisant le problème d'optimisation choisi.

## Paradigmes d'apprentissage fédéré
### Apprentissage inter-silo et apprentissage inter-appareil

L'apprentissage fédéré inter-silo (en anglais : cross-silo learning) correspond à un apprentissage impliquant un nombre limité de serveurs puissants. Par exemple, la collaboration entre plusieurs hôpitaux proposée par Owkin$^,$ correspond à un apprentissage inter-silo. D'un autre côté, l'apprentissage inter-appareil (en anglais : cross-device learning) implique un large nombre d'appareils peu puissants : par exemple, des millions de smartphones. L'utilisation d'apprentissage fédéré pour le Gboard par Google$^,$ correspond à un apprentissage inter-appareil.

### Apprentissage horizontal et apprentissage vertical

Cette dualité caractérise la connaissance qu'a chaque agent de la matrice contenant les données d'apprentissage.
En apprentissage fédéré horizontal, chaque agent connait une ou plusieurs lignes de la matrice de données d'apprentissage. En d'autres termes, chaque agent possède l'ensemble des données d'un ou plusieurs individus. Par exemple, l'apprentissage fédéré utilisé par le Gboard est horizontal car chaque smartphone connait l'ensemble des données de son utilisateur.
En apprentissage fédéré vertical, chaque agent connait une ou plusieurs colonnes complètes de la matrice de données d'apprentissage. En d'autres termes, chaque agent a des informations partielles sur l'ensemble des individus. Par exemple, différents hôpitaux peuvent avoir des données complémentaires sur le même ensemble de patients.

### Apprentissage fédéré centralisé et apprentissage fédéré décentralisé

L'apprentissage fédéré centralisé est le paradigme le plus étudié : les agents communiquent avec un serveur central unique qui orchestre l'apprentissage. Dans les protocoles les plus simples, ce serveur est chargé d’agréger les modèles locaux et de diffuser le modèle global$^,$.
L'apprentissage fédéré (complètement) décentralisé (appelé fully decentralized federated learning ou gossip learning en anglais) correspond à un paradigme où il n'existe pas de serveur central : les agents communiquent directement les uns avec les autres et diffusent leurs modèles locaux en pair-à-pair$^,$.

## Défis de l'apprentissage fédéré

Il y a 5 problèmes majeurs qui concentrent l'attention de la recherche en apprentissage fédéré: la scalabilité des protocoles, la préservation de la vie privée, la résistance aux attaques, l'équité algorithmique et l'apprentissage personnalisé.

### Scalabilité des protocoles

L'apprentissage fédéré (particulièrement l'apprentissage inter-appareils) apporte de fortes contraintes liées à la mise à l'échelle. Premièrement, plusieurs techniques$^,$ visent à réduire le cout du protocole. Ces techniques permettent, par exemple, de rendre les couts abordables pour des appareils peu puissants tels que des smartphones.
Deuxièmement, la présence de milliers (voire millions) d'appareils introduit des problématiques liées à la distribution des données : il est fort probable que les données ne soient pas indépendantes et identiquement distribuées (i.i.d.). L'hypothèse i.i.d. est une hypothèse simplificatrice souvent utilisée pour obtenir des premiers résultats mais elle « n'est clairement presque jamais vérifiée en pratique ». Ainsi, des chercheurs travaillent sur des algorithmes robustes à une distribution non i.i.d. des données$^,$.

### Préservation de la vie privée

L'apprentissage fédéré est souvent promu comme une technologie améliorant la confidentialité grâce à sa non-publication des données d'apprentissage. Cependant, cette non-publication des données locales n'est pas suffisante pour préserver la vie privée. En effet, le modèle appris localement peut contenir des informations personnelles.
Plusieurs attaques arrivent à extraire des informations sensibles à partir des modèles entrainés et démontrent le risque lié au déploiement d'apprentissage fédéré sans méthode pour renforcer la confidentialité. On distingue deux types d'attaques : les attaques par inférence d'appartenance (en anglais : membership inference attacks) visant à inférer si un individu est présent dans les données d'apprentissage et les attaques de reconstruction (en anglais : reconstruction attacks) visant à reconstruire les données d'apprentissage à partir du modèle.
Ainsi, il est nécessaire d'utiliser des techniques cryptographiques (p. ex., du chiffrement homomorphe) ou de la confidentialité différentielle afin de compléter la préservation de la vie privée.

### Résistance aux attaques

Dans un protocole impliquant de nombreux agents, il est fort probable que certains d'entre eux soient malveillants. Mis à part les attaques portant atteinte à la vie privée, certaines attaques peuvent menacer la réussite du protocole d'apprentissage. Par exemple, les attaques visant à "empoisonner" le modèle global (c'est-à-dire biaiser le modèle pour en réduire sa qualité) sont le sujet de nombreux articles. Cependant, il existe d'autres attaques comme les free-rider attacks dans lesquelles l'attaquant profite du résultat de l'apprentissage sans participer activement à l'apprentissage. Certaines contre-mesures émergent, notamment pour les attaques d'empoisonnement$^,$.

### Équité algorithmique

L'équité algorithmique vise à corriger les biais des modèles d'apprentissage. L'enjeu de ces recherches est d'éviter les discriminations dans les systèmes d'intelligence artificielle$^,$. Bien que l'équité algorithmique concerne l'apprentissage automatique dans son ensemble, des techniques spécifiques à l'apprentissage fédéré$^,$ sont proposées afin de combiner algorithme décentralisé et équité algorithmique.

### Apprentissage personnalisé

L'apprentissage personnalisé vise à entrainer des modèles spécifiques à chaque agent ou chaque groupe d'agent plutôt que d’entrainer un unique modèle global. La personnalisation est surtout étudiée en apprentissage fédéré décentralisé car ce paradigme empêche par construction la constitution d'un modèle global unique (à cause de l'absence d'agent centralisateur).

## Applications

Bien que l'apprentissage fédéré ait bénéficié d'un intérêt récent lancé en 2016$^,$, plusieurs applications concrètes de l'apprentissage fédéré ont déjà été décrites voire déployées.

### Clavier intelligent

La première application concrète promue fut celle des chercheurs de Google à l'origine d'un article fondateur de l'apprentissage fédéré. Cette application propose d'utiliser l'apprentissage fédéré afin d’entrainer le modèle de recommandation du clavier intelligent pour smartphone: le Gboard$^,$. Dans ce projet, les smartphones entrainent un modèle durant leur période de veille et les modèles locaux sont ensuite agrégés par un serveur central.

### Médecine

L'apprentissage fédéré apporte des solutions aux problématiques de décentralisation et de confidentialité des données inhérentes à l'utilisation de données médicales$^,$$^,$$^,$. Ainsi, ce paradigme permettrait aux hôpitaux et aux laboratoires médicaux d’entrainer de meilleurs modèles d'apprentissage tout en restant en conformité avec les contraintes fortes imposées par des législations telles que le RGPD sur l'utilisation des données médicales. Plusieurs applications médicales spécifiques ont déjà été présentées telles que la détection du cancer de la prostate ou le traitement de patients atteints du COVID-19.

### Recommandation d'articles d'information

Dans la foulée de Google, l'entreprise Brave Software (développant le navigateur Brave) a également utilisé l'apprentissage fédéré pour résoudre un problème de recommandation. Brave News (le système de flux d'actualité de Brave)$^,$ utilise l'apprentissage fédéré pour fournir des recommandations d'articles d'information respectueuses de la vie privée. Ce projet s'inscrit dans la politique globale de l'entreprise qui promet des technologies Web plus respectueuse de la vie privée.

### Marketing

Les données personnelles sont au centre du modèle économique de nombreuses entreprises technologiques. L'apprentissage fédéré peut être vu comme une solution permettant de concilier ces intérêts économiques avec les contraintes légales telles que le RGPD. Par exemple, Google a proposé le concept de Federated Learning of Cohorts afin de remplacer les cookies dans le système de publicité en ligne et des chercheurs d'Orange ont utilisé l'apprentissage fédéré pour détecter préventivement les résiliations de contrat.

### Ville intelligente

La ville intelligente peut également bénéficier d'apprentissage fédéré afin de traiter au mieux les données produites par les capteurs servant à optimiser les services des villes$^,$.

### Voiture autonome

Les voitures autonomes sont des systèmes complexes remplis de capteurs et fonctionnant à l'aide de nombreux modèles d'intelligence artificielle. Étant donné la quantité colossale de données produite par une voiture autonome, l'apprentissage fédéré est vu comme un passage nécessaire pour permettre une amélioration continue des modèles d'apprentissage sans avoir à surcharger le réseau en transmettant de grandes quantités de données.