Mon rapport de stage

Mes slides de présentation

Comprendre le sol à partir de mesures en surface
Pour étudier les propriétés du sol, le laboratoire utilise notamment des mesures de propagation des ondes. Un impact est produit en surface, puis une ligne de capteurs enregistre les vibrations. Ces signaux permettent de construire un spectre de dispersion dans le cadre d’une méthode appelée MASW, pour Multichannel Analysis of Surface Waves.
L’objectif est ensuite de retrouver un profil de vitesse des ondes de cisaillement, noté Vs, en fonction de la profondeur. Ce profil renseigne sur les propriétés mécaniques du milieu et les variations entre ses couches.
Il s’agit d’un problème inverse : les mesures en surface sont connues, tandis que les caractéristiques du sol sont à estimer. Le laboratoire disposait déjà d’un cadre de simulation, de données synthétiques et d’un premier réseau de neurones pour étudier cette relation.
Reprendre le code et comparer les modèles
J’ai commencé par comprendre les données, leurs normalisations et le fonctionnement du code existant. Dans la formulation principale du projet, le modèle reçoit le spectre et les informations de géométrie d’acquisition, puis prédit un profil Vs discrétisé en 101 valeurs.
J’ai ensuite adapté et comparé six configurations de réseaux autour de ResNet, DenseNet, EfficientNet et Swin Transformer. Les entraînements étaient réalisés avec Python et PyTorch sur GPU, avec CUDA.
La comparaison associait le suivi de l’erreur, l’examen des courbes d’apprentissage, la visualisation des profils prédits et le comptage des paramètres. Les résultats étaient conservés dans des journaux pour pouvoir revenir sur les expériences et préparer les essais suivants.
Repenser la représentation de la géométrie
La principale amélioration est venue de l’analyse d’une branche du modèle chargée de représenter la géométrie des capteurs. Dans la version initiale, une seule valeur décrivant le déport de la source était répétée sur une grille avant de traverser de grandes couches entièrement connectées.
Cette représentation entraînait un coût élevé : la branche géométrique du réseau initial comptait à elle seule environ 30,85 millions de paramètres. J’ai étudié une représentation plus compacte avec un perceptron multicouche, puis un encodage enrichi à partir du déport de la source, de l’espacement et du nombre de capteurs.
L’architecture finale associait des descripteurs géométriques, des caractéristiques de Fourier et une modulation FiLM. Cette dernière permet de conditionner les caractéristiques extraites du spectre à partir de la géométrie du dispositif.
Des modèles plus compacts à erreur de validation comparable
Sur la campagne à 90 000 exemples synthétiques, les résultats d’EfficientNet-B0 étaient les suivants :
| Indicateur | Avant la refonte | Après la refonte |
|---|---|---|
| Nombre total de paramètres | 36 997 985 | 6 211 313 |
| Minimum de l’erreur de validation enregistré | 0,062671 | 0,062505 |
Le modèle complet comporte ainsi 83,2 % de paramètres en moins. L’erreur de validation reste très proche dans cette comparaison. DenseNet-121 a également bénéficié de la refonte, avec une réduction de 77,6 % de ses paramètres et une erreur de validation comparable.
Ces valeurs d’erreur sont calculées sur des sorties normalisées, à l’échelle des journaux d’entraînement. Le résultat montre l’intérêt d’examiner la représentation des données et la structure d’un modèle pour en réduire la taille.
Évaluer aussi les limites des essais
J’ai testé l’ajout de bruit gaussien aux spectres pendant l’entraînement. Dans le protocole étudié, cette augmentation n’a pas apporté d’amélioration générale sur la validation avec des spectres propres. Cette observation a aidé à préciser les expériences à mener pour étudier la résistance à des perturbations plus réalistes.
Les résultats principaux portent sur des données synthétiques. L’évaluation sur des mesures réelles disposant d’une référence, la répétition des expériences et l’analyse des incertitudes constituent des étapes nécessaires pour poursuivre le travail. Les essais sur des spectres incomplets figuraient également parmi les pistes de prolongement.
Travailler dans un laboratoire international
Cette mission représentait un double défi : rejoindre un environnement de recherche à Taïwan et appliquer mes compétences en intelligence artificielle à un domaine qui m’était jusqu’alors inconnu, le génie civil. Comprendre les phénomènes physiques, les données et les attentes du laboratoire était indispensable pour proposer des expériences pertinentes.
Les échanges avec mes encadrants et les présentations en anglais ont accompagné cette progression. Chaque comparaison devait permettre d’expliquer un choix d’architecture, d’en mesurer les effets et d’en discuter les limites. Le code, les modèles et les résultats ont été transmis au laboratoire afin de faciliter la poursuite du projet après mon départ.
Une collaboration qui se poursuit
Les échanges avec les membres du laboratoire et son directeur se poursuivent depuis la fin du stage. L’équipe s’est montrée satisfaite du travail réalisé, notamment des comparaisons d’architectures et des améliorations apportées à la représentation des données géométriques.
Elle souhaite également faire figurer mon nom en tant que contributeur dans l’article scientifique consacré au projet. Cette perspective constitue une reconnaissance du travail mené pendant la mission et donne une continuité à cette première expérience de recherche internationale.
Ce que je retiens de cette expérience
Ce stage a renforcé mes compétences en deep learning et ma capacité à prendre en main un sujet nouveau. Il m’a appris à examiner un système existant, à identifier une source de complexité et à proposer des améliorations évaluées par l’expérimentation.
Cette expérience confirme mon intérêt pour les missions où l’informatique répond à un besoin concret, avec des responsabilités et des défis techniques à relever. C’est cette implication que je souhaite poursuivre dans un poste en CDI en développement logiciel ou en intelligence artificielle appliquée.
Technologies et méthodes : Python, PyTorch, NumPy, Matplotlib, CUDA, Git, transfert d’apprentissage, MLP, caractéristiques de Fourier et FiLM.



