Dans le monde complexe de la gestion de la supply chain, les données relationnelles sont roi. Les ERP, WMS, PMS et autres outils logiciels omniprésents dans la supply chain fonctionnent sur des bases de données relationnelles qui suivent tout, des niveaux de stocks aux relations avec les fournisseurs. Les données relationnelles se composent d’une série de tables interconnectées, chacune riche en colonnes d’informations. Cependant, en ce qui concerne l’apprentissage automatique et l’optimisation mathématique, les données relationnelles sont souvent éclipsées par des formes plus simples comme les vecteurs, les séquences et les graphiques.

Les données relationnelles - grâce à leur complexité riche - offrent une vue plus approfondie et nuancée des opérations que leurs homologues plus simples (les vecteurs, séquences et graphiques mentionnés ci-dessus). Pourtant, la plupart des logiciels d’entreprise ont du mal à utiliser efficacement les données sous leur forme relationnelle. Le résultat ? Une adaptation forcée de pièces carrées dans des trous ronds, essayant désespérément de compresser les données relationnelles dans des outils conçus pour des modèles plus simples. Ce déséquilibre handicape les entreprises, semblable à l’utilisation d’un bâton de hockey au golf - théoriquement faisable, mais loin du mariage optimal de l’outil et du but.

Déterminé à enquêter sur ce point aveugle, il y a quelques années, Paul Peseux a commencé un doctorat chez Lokad dans le but de faire des données relationnelles un citoyen de première classe à la fois pour l’apprentissage et l’optimisation. Ses efforts de recherche ont conduit à une série d’améliorations remarquables de notre programmation différentiable au sein d’Envision - le DSL (langage de programmation spécifique au domaine) de Lokad dédié à l’optimisation de la supply chain. Les résultats impressionnants de Paul sont maintenant en production, généralement enfouis dans les capacités d’autodiff du DSL.

Auteur : Paul Peseux

Date : septembre 2023

Schéma du pipeline Envision pour la différenciation des requêtes relationnelles.

Figure 1 : Description du pipeline mis en place chez Lokad.

Résumé :

Cette thèse de doctorat, intitulée présente trois contributions dans le domaine de la programmation différentiable avec un accent sur les données relationnelles. Les données relationnelles sont courantes dans des industries telles que la santé et la supply chain, où les données sont souvent organisées dans des tables ou des bases de données structurées. Les approches traditionnelles d’apprentissage automatique ont du mal à gérer les données relationnelles, tandis que les modèles d’apprentissage automatique en boîte blanche sont mieux adaptés mais difficiles à développer.

La programmation différentiable offre une solution potentielle en traitant les requêtes sur les bases de données relationnelles comme des programmes différentiables, ce qui permet le développement de modèles d’apprentissage automatique en boîte blanche capables de raisonner directement sur les données relationnelles. L’objectif principal de cette recherche est d’explorer l’application de l’apprentissage automatique aux données relationnelles en utilisant des techniques de programmation différentiable.

La première contribution de la thèse introduit une couche différentiable dans les langages de programmation relationnelle, à la fois sur le plan théorique et pratique. Le langage de programmation Adsl a été créé pour effectuer la différenciation et transcrire les opérations relationnelles d’une requête. Le langage spécifique au domaine Envision a été enrichi de capacités de programmation différentiable, permettant le développement de modèles qui exploitent les données relationnelles dans un environnement de langage de programmation relationnelle natif.

La deuxième contribution développe un nouvel estimateur de gradient appelé GCE, conçu pour les caractéristiques catégorielles sur-représentées dans les données relationnelles. GCE s’avère utile sur divers ensembles de données et modèles catégoriels et a été implémenté pour les modèles d’apprentissage profond. GCE est également intégré en tant qu’estimateur de gradient natif dans la couche de programmation différentiable d’Envision, facilité par la première contribution de cette thèse.

La troisième contribution développe un estimateur de gradient généralisé appelé Stochastic Path Automatic Differentiation (SPAD), qui tire sa stochasticité de la décomposition du code. SPAD introduit l’idée de rétropropager une fraction du gradient pour réduire la consommation de mémoire lors des mises à jour des paramètres. La mise en œuvre de cette approche d’estimation de gradient est rendue possible par les décisions de conception lors de la différenciation d’Adsl.

Cette recherche a des implications significatives pour les industries qui dépendent des données relationnelles, débloquant de nouvelles informations et améliorant la prise de décision en appliquant des modèles d’apprentissage automatique en boîte blanche aux données relationnelles à l’aide de techniques de programmation différentiable.

Jury:

La soutenance a eu lieu devant un jury composé de :

  • Thierry Paquet, Professeur d’université (Université de Rouen Normandie), directeur de thèse.
  • Maxime Berar, Maître de conférences (Université de Rouen Normandie), co-encadrant de la thèse.
  • Romain Raveaux, Maître de conférences (Université de Tours), rapporteur.
  • Thierry Artières, Professeur d’université (ECM / LIS – AMU – CNRS), rapporteur.
  • Cécilia Zanni-Merk, Professeur d’université (INSA Rouen Normandie), examinatrice.
  • Laurent Wendling, Professeur d’université (Université Paris Cité), examinateur.
  • Victor Nicolet, CTO de Lokad, conseiller.

Télécharger la thèse (PDF)