​Dérive des modèles d'apprentissage : détection, mise à jour à la volée et correction

par Maxime Fuccellaro

Projet de thèse en Informatique

Sous la direction de Akka Zemmari et de Laurent Simon.

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 22-01-2021 .


  • Résumé

    L'intelligence Artificielle a connu d'énormes progrès ces dernières années, notamment dans le domaine de l'apprentissage automatique, grâce auquel des systèmes autonomes de prises de décisions sont de plus en plus couramment mis en production. L'apprentissage automatique consiste à entraîner des modèles sur des corpus de données suffisamment fournis, devant être représentatifs des données à venir, sur lesquels les modèles appris devront faire des prédictions. La prédiction peut être une catégorisation (classification), une valeur (régression), ou même une donnée quelconque générée (modèles à base de Generative Adversarial Networks (GAN, [Goodfellow et al. 2014] ). Classiquement, si chaque prédiction ne demande que des ressources négligeables en calcul, l'effort demandé pendant la phase d'apprentissage peut être très important (plusieurs jours / semaines de calculs intensifs). Avant de pouvoir déployer et utiliser un modèle, il est testé sur des données non vues pendant la phase d'entraînement. Cela permet alors de mesurer sa capacité de généralisation et de détecter au plus tôt des phénomènes de sur-apprentissage (overfitting). Néanmoins, un modèle entraîné et testé sur des données évolutives peut s'avérer inefficace et inutilisable après un certain temps, ou après l'évolution d'une partie des capteurs utilisés en entrée. On parle alors de ​dérive​ du modèle. Deux questions se posent : peut-on détecter la dérive d'un modèle au plus tôt, voire de manière préemptive, et peut-on corriger le modèle sans reprendre la phase d'entraînement depuis le début ? L'objet de cette thèse est de proposer des réponses efficaces à ces deux questions. Des solutions naïves peuvent être envisagées : tester systématiquement le modèle sur des données de test permettrait de détecter la dérive. Réentraîner complètement le modèle, dès que la dérive est détectée est une solution évidente pour le corriger. Cependant, les deux solutions ne peuvent être adoptée car le coût tant en données qu'en calcul peut être exorbitant. Il s'agit donc de proposer des solutions efficaces à ces deux problèmes cruciaux pour la mise en production et la maintenance des systèmes de décisions à base d'apprentissage. Il s'agira par exemple de définir des mesures de dérive et des seuils de tolérance pour éviter de trop entraîner les modèles, quantifier la variation dans les données afin de déterminer à partir de quelle variation on doit réentraîner le modèle. En effet, si de nouvelles caractéristiques doivent être intégrées ou si de nouvelles classes (dans le cas de la classification) doivent être intégrées dans le modèle, alors il serait pertinent de re-entraîner ce dernier, mais la question d'un entraînement parcimonieux, à partir de l'ancien modèle se pose bien entendu. Même dans le cas plus simple ou seules de nouvelles données sont découvertes et doivent être prise en compte dans la mise à jour du modèle, il peut être intéressant de voir comment les techniques actuelles de Incremental Learning [Diehl et al. 2003] peuvent s'appliquer suivant la dérive du modèle observé. Il peut également être envisagé de considérer les GAN pour mesurer la dérive du modèle appris. Les jeux de données et les cas d'applications sur lesquels l'effort sera focalisé seront issus des cas typiques rencontrés par Mangrove.ai.

  • Titre traduit

    Concept Drift in machine Learning : Detection, Update and Correction


  • Résumé

    Artificial Intelligence has seen tremendous progress in recent years, particularly in the field of machine learning, where autonomous decision-making systems are increasingly being put into production. Machine learning consists of training models on sufficiently large data corpora, which must be representative of future data, on which the learned models must make predictions. The prediction can be a categorization (classification), a value (regression), or even any data generated (models based on Generative Adversarial Networks (GAN, [Goodfellow et al. 2014]). Conventionally, if each prediction only requires negligible resources in computation, the effort required during the learning phase can be very important (several days / weeks of intensive computations). Before you can deploy and use a model, it is tested on data not seen during the training phase. This then makes it possible to measure its capacity for generalization and to detect over-learning phenomena (overfitting) as soon as possible. However, a model trained and tested on scalable data may turn out to be inefficient and unusable after a certain time, or after upgrading some of the sensors used as input. We then speak of model drift. Two questions arise: can we detect the drift of a model as early as possible, or even preemptively, and can we correct the model without restarting the training phase from the beginning? The aim of this thesis is to provide effective answers to these two questions. Naive solutions can be considered: systematically testing the model on test data would allow the drift to be detected. Completely retraining the model as soon as the drift is detected is an obvious solution to correct it. However, both solutions cannot be adopted because the cost both in data and in computation can be exorbitant. It is therefore a question of proposing effective solutions to these two crucial problems for the production and maintenance of learning-based decision systems. This will involve, for example, defining drift measurements and tolerance thresholds to avoid over-training the models, quantifying the variation in the data in order to determine from which variation we must retrain the model. Indeed, if new characteristics must be integrated or if new classes (in the case of classification) must be integrated into the model, then it would be relevant to re-train the latter, but the question of parsimonious training, from the old model arises of course. Even in the simpler case where only new data is discovered and must be taken into account in updating the model, it may be interesting to see how the current techniques of Incremental Learning [Diehl et al. 2003] may apply depending on the drift of the observed model. It can also be considered to consider the GAN to measure the drift of the learned model. The datasets and application cases on which the effort will be focused will be drawn from the typical cases encountered by Mangrove.ai.