MES
PROJETS

Détection d’objets et modélisation 3D
Développement d’un algorithme de détection d’objets et d’estimation de dimensions pour le stockage. Les objets sont détectés sur des images et leurs dimensions estimées. Ils sont ensuite modélisés en 3D afin d’être intégrés à une solution d’optimisation de l’espace de stockage.

Détection d’anomalies
Développement d’un outil de détection d’anomalies en temps réel. Cet outil d’aide à la décision limite les erreurs d’étiquetage sur les lignes de production automatisées de sacs de semences. Il détecte les étiquettes des sacs nouvellement créés et les compare aux étiquettes attendues. Le projet se divise en deux phases : une phase de détection d’étiquettes par apprentissage profond, puis une phase de comparaison par traitement d’images et machine learning.
Projets personnels

Deep learning avec PyTorch
Un ensemble de projets de deep learning réalisés avec PyTorch : fine-tuning d’un grand modèle de langage (BERT), fine-tuning de plusieurs CNN pour des tâches de classification, optimisation de modèles par régularisation et réglage d’hyperparamètres, et implémentation de la descente de gradient pour un problème de régression linéaire.

Système à base de connaissances (SBC)
Création d’un système d’inférence gérant à la fois la logique binaire et la logique probabiliste. La base de connaissances et l’ensemble des règles peuvent être définis manuellement. Les algorithmes de chaînage avant et de chaînage arrière sont disponibles.

Optimisation combinatoire
Résolution d’un problème d’optimisation combinatoire NP-complet. Le problème traité est la planification de rencontres sportives sous contraintes strictes. Une métaheuristique a été implémentée afin de trouver des solutions de qualité dans un temps raisonnable. J’ai retenu une recherche locale par méthode de descente. Pour éviter de s’arrêter au premier optimum local rencontré, j’ai intégré plusieurs redémarrages semi-aléatoires acceptant des voisins moins bons.

Recherche documentaire – NLP
Ce projet de NLP consiste à construire un système de recherche capable d’extraire l’information pertinente d’un corpus de questions à partir d’un ensemble de documents donné. Les fonctionnalités clés incluent la racinisation, qui ramène les mots à leur racine, et une stop-list filtrant les mots courants à faible valeur informative. Le système gère des requêtes de complexité variable : unions ou conjonctions de termes, requêtes de phrases où les termes doivent se suivre, expressions logiques complexes, jokers et tolérance aux fautes d’orthographe. Une interface conviviale permet de consulter les résultats, les termes de la requête étant surlignés directement dans les documents.

Apprentissage par renforcement
Développement d’un jeu de snake à 0, 1 ou 2 joueurs. L’apprentissage par renforcement sert à améliorer les agents au fil des parties. Les algorithmes utilisés sont le Q-learning tabulaire et le Q-learning approché. L’algorithme A* a été implémenté pour calculer les distances.

Algorithme évolutionnaire
Implémentation d’un algorithme évolutionnaire pour le problème One-Max. Trois stratégies ont été mises en œuvre : l’algorithme steady-state, l’algorithme à estimation de distribution et l’algorithme génétique compact. Une optimisation a été apportée par sélection automatique de l’opérateur de mutation, testée selon deux méthodes : la roulette adaptative et UCB.

Machine learning avec Scikit-learn
Création d’un notebook illustrant l’usage de scikit-learn pour des tâches de classification, de régression et de clustering, sur différents jeux de données. Ce projet s’inscrit dans le cours en ligne : Building Machine Learning Solutions with scikit-learn.

Projet MiniZinc & Angular
Création d’une interface web proposant quatre problèmes de satisfaction de contraintes. La résolution est assurée par MiniZinc et l’interface web est construite avec Angular. Les utilisateurs peuvent aussi créer leurs propres problèmes en définissant variables et contraintes. Un système de propagation et de rétropropagation de contraintes permet d’afficher dynamiquement le déroulement de la résolution.