×

Données synthétiques : définition, usages et méthodes de création

Données synthétiques : définition, usages et méthodes de création

Données synthétiques : définition, usages et méthodes de création

Imaginez que vous vouliez apprendre à une voiture autonome à reconnaître un piéton sous la pluie. Le problème : vos images réelles montrent surtout des rues ensoleillées. Faut-il attendre la prochaine averse, caméra en main ? Pas forcément. On peut fabriquer des exemples artificiels, suffisamment réalistes pour entraîner ou tester un système. C’est le principe des données synthétiques.

Le sujet attire l’attention pour une raison simple : les données sont devenues le carburant de nombreux logiciels, mais elles sont parfois rares, coûteuses à collecter ou trop sensibles pour être utilisées librement. Les données synthétiques promettent de contourner une partie de ces obstacles. Promesse intéressante, à condition de ne pas confondre données fabriquées et données magiques.

Qu’est-ce qu’une donnée synthétique ?

Une donnée synthétique est une donnée créée artificiellement, plutôt que recueillie directement auprès d’une personne, d’un capteur ou d’un événement réel. Elle est produite par un programme, un modèle statistique ou un système d’intelligence artificielle. Son objectif est généralement d’imiter certaines caractéristiques des données réelles, sans reproduire nécessairement chaque observation à l’identique.

Par exemple, une banque peut générer des profils fictifs de clients comprenant un âge, un revenu, un type de compte et des opérations. Ces profils ne correspondent pas à de véritables clients, mais peuvent reproduire des tendances observées dans une population réelle : certains revenus sont plus fréquents que d’autres, les dépenses varient selon les profils, et les opérations inhabituelles restent rares.

Autre cas : pour tester une application de livraison, une équipe de développement peut créer des milliers de commandes fictives, avec des adresses, des horaires, des produits et des statuts différents. Le but n’est pas de tromper qui que ce soit. Il s’agit de vérifier que le logiciel tient la route lorsque les commandes s’accumulent, qu’une adresse est incomplète ou qu’un paiement échoue.

Une donnée synthétique n’est donc pas simplement une donnée inventée au hasard. Si elle doit servir à entraîner un modèle ou à tester un service, elle doit reproduire des propriétés utiles du monde réel. Une météo aléatoire attribuée à des villes fictives ne sera pas très utile pour tester une prévision météorologique. À moins que le but soit de vérifier si le logiciel sait reconnaître une absurdité.

Pourquoi en créer ?

La première raison est l’accès. Certaines données existent, mais ne peuvent pas être partagées facilement. Les dossiers médicaux, les informations bancaires ou les historiques de navigation contiennent des éléments personnels. Les transformer en données synthétiques peut permettre à des équipes de travailler sur des cas proches du réel sans leur transmettre les enregistrements d’origine.

Attention, cela ne signifie pas que toute donnée synthétique est automatiquement anonyme ou sans risque. Si elle reprend trop fidèlement des informations provenant de personnes réelles, elle peut révéler des éléments sur celles-ci. La confidentialité ne se décrète pas avec une étiquette rassurante : elle doit être évaluée et protégée par des méthodes adaptées.

La deuxième raison est la rareté. Dans certains domaines, les événements importants sont heureusement peu fréquents. Une panne grave, une fraude ou une maladie rare ne fournit pas toujours assez d’exemples pour entraîner un système. Générer des cas supplémentaires peut aider à tester la réaction d’un logiciel face à ces situations.

Lire  Les langages de programmation les plus utilisés en 2024 : lequel choisir pour votre projet ?

Il y a aussi la question du coût. Collecter, annoter et vérifier des données réelles demande du temps et des ressources. Pour entraîner un système à reconnaître des objets, par exemple, il faut souvent identifier précisément ce que contient chaque image. Une partie de ce travail peut être automatisée en créant des images artificielles dont les éléments sont déjà étiquetés.

Enfin, les données synthétiques permettent de contrôler les conditions d’un test. Une équipe peut simuler une forte hausse de trafic, un réseau lent ou des utilisateurs qui enchaînent certaines actions. C’est un peu comme une répétition générale : mieux vaut découvrir qu’un service s’effondre pendant un essai que le jour où tout le monde clique en même temps.

Comment crée-t-on des données synthétiques ?

Il n’existe pas une méthode unique. Le choix dépend du type de données, de leur usage et du niveau de ressemblance recherché. Voici les approches les plus courantes.

  • La génération à partir de règles. On définit des contraintes et des valeurs possibles. Pour une base de données de commerce, une règle peut stipuler qu’une commande comporte au moins un article, qu’une date de livraison suit la date d’achat et qu’un code postal respecte un format donné. Cette méthode est simple, prévisible et pratique pour les essais logiciels. En revanche, elle reproduit difficilement les subtilités d’un comportement humain.

  • La modélisation statistique. On étudie les distributions et les relations présentes dans des données réelles, puis on génère de nouvelles observations qui suivent des tendances semblables. Si les clients qui achètent un produit commandent souvent un accessoire associé, le modèle peut conserver cette relation. La qualité dépend toutefois des tendances identifiées : une hypothèse erronée peut être reproduite en série.

  • La simulation. On construit une représentation simplifiée d’un système réel. Dans une simulation de circulation, des véhicules suivent des règles de déplacement, rencontrent des feux et réagissent aux embouteillages. Cette méthode est utile lorsque les interactions entre les éléments comptent autant que les données elles-mêmes.

  • Les modèles génératifs. Des systèmes d’intelligence artificielle apprennent à produire de nouveaux exemples à partir d’un grand nombre d’exemples existants. Ils peuvent générer des images, du texte, des sons ou des tableaux de données. Leur capacité à produire des résultats convaincants est impressionnante, mais leur fonctionnement ne dispense pas de vérifier les données obtenues.

  • La transformation de données réelles. On modifie des valeurs ou des détails afin de fabriquer de nouveaux exemples. Une image peut être recadrée, éclaircie ou tournée ; un texte peut être reformulé ; une valeur numérique peut être légèrement ajustée. Ces transformations augmentent la variété, mais ne créent pas toujours des cas réellement nouveaux.

Dans la pratique, les équipes combinent souvent plusieurs méthodes. Un simulateur peut produire des situations, tandis qu’un modèle statistique ajoute des variations. Pour une application, des règles simples suffisent parfois à générer des comptes de test. Pour un système médical ou industriel, la démarche demande davantage de contrôle, de spécialistes et de vérifications.

Lire  Développement de logiciel sur mesure : avantages, étapes et coûts

Des usages très concrets

Dans la santé, des dossiers fictifs peuvent aider à développer un outil de gestion ou à vérifier le fonctionnement d’un logiciel d’analyse. Des images médicales synthétiques peuvent aussi compléter des collections trop limitées, par exemple pour étudier des cas peu fréquents. Mais l’intérêt dépend de la fidélité clinique : une image artificielle convaincante à l’œil peut tout de même être trompeuse pour un outil de diagnostic.

Dans la banque et l’assurance, des opérations synthétiques permettent de tester des systèmes de détection de fraude. Il est possible de générer des scénarios rares, comme une série d’achats inhabituelle sur une courte période. Ces exemples servent à vérifier que le système signale les cas intéressants sans bloquer chaque achat effectué à l’étranger. Le juste équilibre est rarement une simple case à cocher.

Dans le développement logiciel, des données fictives alimentent les environnements de test. Une équipe peut créer des comptes, des paniers, des factures et des historiques sans exposer les informations de véritables clients. Elle peut aussi préparer des cas extrêmes : nom très long, champ manquant, prix nul ou milliers de demandes simultanées. Ces essais révèlent souvent des défauts qu’un scénario trop sage aurait laissés dormir.

Dans la vision par ordinateur, les images synthétiques aident à varier les conditions : éclairage, angle de prise de vue, météo ou arrière-plan. Pour entraîner un robot à repérer une pièce sur une chaîne de production, on peut générer des images montrant cette pièce dans différentes positions. Le gain est précieux lorsque la collecte d’images réelles serait lente ou complexe.

Dans les villes et les transports, les simulations produisent des données sur les déplacements, la circulation ou l’usage des transports en commun. Elles permettent de tester des aménagements avant de déplacer un arrêt ou de modifier un carrefour. Cela ne remplace pas les observations sur le terrain, mais aide à comparer plusieurs options sans installer d’abord chaque scénario dans la rue.

Les limites à garder en tête

Le principal risque est de fabriquer des données qui ressemblent aux données disponibles sans représenter correctement le monde réel. Un modèle génératif apprend à partir de ses exemples : si ceux-ci sont déséquilibrés, les nouvelles données risquent de conserver, voire d’accentuer, ce déséquilibre. Ajouter des milliers de profils fictifs ne corrige pas automatiquement un manque de diversité dans les données de départ.

Autre piège : la ressemblance visuelle peut donner une fausse impression de qualité. Une image paraît réaliste, donc on suppose qu’elle est utile. Pourtant, un petit détail important peut être incorrect : position d’un objet, relation entre deux variables ou fréquence d’un événement. Pour un système d’apprentissage, ces écarts peuvent compter davantage que l’apparence générale.

Il faut également éviter que les données synthétiques et réelles soient trop différentes. Un modèle entraîné sur des scènes toujours nettes et bien éclairées pourrait échouer face à une caméra sale ou à une lumière faible. Ce décalage entre les données d’entraînement et les conditions d’utilisation est parfois appelé écart de distribution. En clair : le logiciel a révisé dans un manuel impeccable, puis découvre le jour de l’examen que la salle est plongée dans la pénombre.

Lire  Créer des applications mobiles : guide de choix des outils et frameworks de développement

Enfin, la génération ne supprime pas le besoin d’expertise. Les équipes doivent savoir quelles propriétés préserver, quelles limites accepter et quels risques surveiller. Un grand volume de données ne remplace ni une question bien posée ni une évaluation sérieuse.

Comment évaluer leur qualité ?

Avant de les utiliser, il faut comparer les données synthétiques à leur objectif, et pas seulement à leur apparence. Plusieurs vérifications peuvent aider :

  • Vérifier les règles de base : les formats sont-ils cohérents ? Les dates et les valeurs respectent-elles les contraintes du système ?

  • Comparer les grandes tendances : les fréquences, les répartitions et les relations entre variables sont-elles proches de celles attendues ?

  • Tester sur des tâches réelles : un modèle entraîné avec ces données fonctionne-t-il sur des exemples réels qu’il n’a jamais vus ?

  • Examiner les sous-groupes : les résultats restent-ils acceptables pour différents âges, contextes ou catégories d’utilisateurs ?

  • Évaluer les risques de confidentialité : les exemples générés pourraient-ils révéler des informations sur les données d’origine ?

Une bonne pratique consiste à conserver un jeu de données réelles, protégé et séparé, pour l’évaluation finale. Si le système est testé uniquement sur des exemples issus du même processus de génération que ceux qui l’ont entraîné, le résultat risque de flatter le modèle sans démontrer qu’il saura affronter le réel.

Choisir la bonne approche

Avant de lancer une génération à grande échelle, commencez par définir l’usage. Cherchez-vous à tester une interface, à entraîner un modèle, à simuler un phénomène ou à faciliter le partage de données ? Ces objectifs n’exigent ni les mêmes méthodes ni les mêmes garanties.

Pour tester une application, des règles déterministes sont souvent suffisantes et faciles à expliquer. Pour produire des images variées, la simulation ou la génération assistée par intelligence artificielle peut être plus adaptée. Pour des données sensibles, il faut intégrer la protection de la vie privée dès la conception, puis vérifier qu’aucun élément ne permet de retrouver une personne.

Il est aussi utile de documenter la fabrication : données ayant servi de référence, transformations appliquées, limites connues et tests réalisés. Cette documentation évite de traiter un fichier synthétique comme une vérité tombée du ciel. Ce n’est pas un oracle ; c’est un outil construit selon des choix, et ces choix méritent d’être visibles.

Les données synthétiques ne remplacent donc pas les données réelles. Elles les complètent, les rendent parfois plus accessibles et permettent d’explorer des situations difficiles à observer. Bien conçues, elles accélèrent les tests et enrichissent l’apprentissage. Mal contrôlées, elles reproduisent les défauts des données d’origine avec une efficacité redoutable. La bonne question n’est pas « Peut-on en générer beaucoup ? », mais « Sont-elles adaptées à ce que l’on veut vérifier ou apprendre ? »