Apprentissage distribué et apprentissage collaboratif et incrémental

par Ibrahim Dahaoui

Projet de thèse en Informatique

Sous la direction de Akka Zemmari et de Mohamed Mosbah.

Thèses en préparation à Bordeaux , dans le cadre de École doctorale de mathématiques et informatique , en partenariat avec LaBRI - Laboratoire Bordelais de Recherche en Informatique (laboratoire) et de Combinatoire et algorithmiques (equipe de recherche) depuis le 21-01-2020 .


  • Résumé

    Contexte : Un système distribué est un ensemble d'unités logiques ou physiques capables de réaliser des calculs et de communiquer entre elles. De nos jours, ces systèmes sont au cœur des technologies telles que l'internet des objets (IoT), l'internet des véhicules (IoV), etc. Ces systèmes collectent des données, effectuent des calculs et prennent des décisions.
D'autre part, l'apprentissage automatique (machine learning) est une branche de l'intelligence artificielle. Elle se propose d'utiliser des approches statistiques et algorithmiques pour exploiter des volumes de données importants et « apprendre » des modèles qui peuvent être utilisés ensuite pour, entre autre, prendre des décisions. L'apprentissage profond (deep learning) est une technique d'apprentissage basée sur les réseaux de neurones à plusieurs couches.
En présence de données distribuées en grand volume, la question de la pertinence de collecter toutes les données sur un serveur et d'entraîner un modèle sur ce serveur se pose. Il devient plus intéressant d'entrainer plusieurs modèles et distribuer en quelque sorte l'intelligence sur les différents nœuds du système. D'autant plus que les modèles peuvent alors être incrémentaux : ils s'enrichissent de nouvelles données, de nouvelles caractéristiques et de nouveaux labels. Description : Dans cette thèse, on s'intéressera à la définition d'architectures et d'algorithmes distribués pour une intelligence collaborative et distribuée. Etant donné un système, dont les nœuds collectent des données en masse, on détermine un seuil de volumétrie de données à partir duquel un nœud peut commencer en local à entrainer un modèle d'apprentissage. Tant que ce volume n'est pas atteint, le nœud collecte et échange avec ses voisins. Ensuite, des algorithmes distribués de calcul d'ensembles indépendants maximaux peuvent être déployés pour construire des modèles fusionnés rendant alors les prédictions de plus en plus robustes et de plus en plus précises. D'autres modèles peuvent ensuite être construits de manière centralisée en remontant des modèles via des arbres couvrant vers une racine (un serveur central) qui peut alors constituer un modèle encore plus fiable. L'approche soulève des questions pratiques car les techniques développées peuvent être testée et/ou utilisées sur des véhicules ou sur le campus (projet smart campus). Elle pose également des questions théoriques très intéressantes tant en algorithmique distribuée qu'en machine learning. En effet, des algorithmes de collecte et de diffusion doivent être développés, des techniques de fusion de modèle d'apprentissage doivent également être considérées, et enfin, il est clair que l'on doit s'intéresser à la définition de technique d'apprentissage incrémental pour construire des modèles adaptables.

  • Titre traduit

    Distributed Learning, Collaborative and Incremental Learning


  • Résumé

    Context: A distributed system is a set of autonomous logical or physical units with computing and communication capabilities. In our days, distributed systems are everywhere and in the core of emergent paradigms like Internet of Things (IoT), Internet of Vehicles (IoV), etc. This systems gather data, do computation and make decisions. On the other hand, machine learning is a subset of Artificial Intelligence. It aims to use statistics and algorithms to build mathematical models that can be used for prediction and/or decision making. Deep learning is a biological inspired machine learning approach based on the use of multi-layers neural networks. In the context of distributed huge data and IoTs, the classical approach which consists on the collection of data into a server to train a single model and to distribute the model becomes not feasible and one needs to devise new architectures and make the intelligence distributed. Moreover, the trained models can be incremental: they can be retrained on new discovered data with new features and/or new classes. Description: In this work, we aim to define distributed architectures and distributed algorithms for a distributed and collaborative intelligence. Given a system, where nodes collect data, we define a threshold on the amount of local available data and use it to trigger a local training process to build efficient local model that can be used to make decision locally. While the available data is not sufficient, nodes will continue to collect and communicate with their k-neighbours (k is as small as possible). Namely if k=1, algorithms for the construction of maximal independent sets (MIS) can be used to efficiently reduce communication overhead. This will allow building robust machine/deep learning models. In the opposite, we need to define strategies to collect and merge distributed trained models. This yields new chalenges related to both two aspects of the thesis: devise efficient distributed algorithms to collect information and define how different machine learning models can be merged. This can be of interest from theoretical and practical point of view (smart campus). Last, but not the least, we need to define incremental learning techniques to make the models adaptive.