Description du stage
Durant ce second stage de 8 semaines chez Akkodis, j’ai poursuivi le travail sur le projet PI en développant cette fois une chaîne complète d’identification de modèles dynamiques basée sur des réseaux de neurones récurrents. L’objectif était de construire des modèles prédictifs (RNN, LSTM, GRU) capables d’anticiper l’évolution de grandeurs physiques d’un système énergétique afin d’améliorer la régulation et l’optimisation de la consommation.
Missions réalisées
- Conception d’un pipeline de données pour l’identification
- Normalisation des signaux (min-max, mise à l’échelle en [-1, 1])
- Mise en place d’un sliding window pour générer des séquences temporelles
- Séparation des jeux de données entraînement / test et gestion de l’ordre temporel
- Développement de modules Julia pour RNN / LSTM / GRU
- Implémentation des modules
GruIdentification,LstmIdentificationetRnnIdentificationen Julia avec Flux.jl - Création de modèles multi-couches avec couches denses d’entrée/sortie, dropout et régularisation
- Gestion d’une prédiction multi-pas (t+1 à t+3) pour certains modèles
- Entraînement, évaluation et optimisation des modèles
- Entraînement avec l’optimiseur ADAM et suivi de la perte MSE sur train / test
- Tests systématiques de plusieurs hyperparamètres : taille cachée, nombre de couches, longueur de séquence, taux de dropout
- Comparaison des performances RNN vs LSTM vs GRU pour sélectionner l’architecture la plus robuste
- Export, sauvegarde et industrialisation
- Export des modèles entraînés dans des fichiers TOML (poids des couches, hyperparamètres, erreurs)
- Sauvegarde des poids au format JLD2 pour une réutilisation ultérieure dans le régulateur
- Structuration du code en modules réutilisables et préparation à l’intégration dans le micro-service de régulation
- Documentation et collaboration
- Rédaction d’une documentation technique expliquant le fonctionnement des modules et la procédure d’entraînement
- Présentation régulière de l’avancement en réunion d’équipe (méthodologie inspirée de SCRUM)
- Utilisation de Git et Azure DevOps pour versionner le code et suivre les tâches
Compétences développées
- Techniques : Julia, Flux.jl, RNN / LSTM / GRU, traitement de séries temporelles, optimisation d’hyperparamètres
- Architecture : Conception de modules réutilisables, export de modèles, préparation à l’industrialisation
- Méthodologie : Analyse de données, mise en place de pipelines d’entraînement, comparaison de modèles
- Collaboration : Travail en équipe, communication technique, utilisation d’outils de gestion de projet
Ce stage m’a permis de renforcer mes compétences en Deep Learning appliqué aux systèmes dynamiques, tout en travaillant sur un projet concret d’optimisation énergétique déjà en production chez Akkodis.