Qu’est-ce qu’une fuite de données dans le machine learning ?

Auteur

Tim Mucci

IBM Writer

Gather

Qu’est-ce qu’une fuite de données dans le machine learning ?

Les fuites de données dans le cadre du machine learning se produisent lorsqu’un modèle utilise des informations qui n’étaient pas disponibles au moment de la prédiction pendant l’entraînement. Les fuites font qu’un modèle prédictif semble précis jusqu’à ce qu’il soit déployé dans son cas d’utilisation ; ensuite, il produira des résultats inexacts, ce qui entraînera une mauvaise prise de décision et de fausses informations.

L’objectif de la modélisation prédictive est de créer un modèle de machine learning capable de faire des prédictions précises sur des données futures du monde réel, qui ne sont pas disponibles lors de l’entraînement du modèle. Pour éviter les résultats inexacts, les modèles ne doivent pas être évalués sur les mêmes données que celles sur lesquelles ils ont été entraînés. Les data scientists divisent généralement les données disponibles en deux jeux : l’un pour entraîner le modèle et l’autre pour valider les performances du modèle sur des données non vues.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Exemples et types de fuites de données

Une fuite de données se produit lorsque des données provenant de l’extérieur du jeu de données d’entraînement sont utilisées pour créer le modèle, mais ces données futures ne seront pas disponibles lorsque le modèle est utilisé pour la prédiction. Ce modèle est très performant lors des tests et de la validation, mais lorsqu’il est utilisé en production, il devient totalement imprécis.

Il existe deux types de fuites : la fuite cible et la contamination par le test d’entraînement.

Fuite cible : Les modèles incluent des données qui ne seront pas disponibles lorsque le modèle est utilisé pour faire des prédictions.

L’utilisation d’informations qui ne seront pas disponibles lors des prédictions des conditions réelles conduit à un surajustement, où le modèle fonctionne exceptionnellement bien sur les données d’entraînement et de validation, mais de manière médiocre en production.

Contamination train-test : lorsque les données d’entraînement et de validation sont utilisées pour créer un modèle, souvent à cause d’une division ou d’un prétraitement incorrects.

Exemple de fuite cible

Par exemple, imaginez un modèle créé pour prédire la fraude à la carte de crédit. Ce problème est préoccupant dans les applications de forecasting où les modèles doivent faire des prédictions fiables basées sur des données incomplètes. Le jeu de données brutes contiendra des informations sur le client, le montant de la transaction, la localisation, si la fraude a été détectée et si une rétrofacturation a été reçue.

Lors de l’entraînement du modèle, les colonnes de détection des fraudes et de rétrofacturation auront des valeurs saisies vraies ou fausses. Dans le monde réel, une rétrofacturation est généralement initiée après la détection d’une fraude, de sorte que ces informations ne seraient pas disponibles au moment de la détection.

En entraînant un modèle avec ces informations, il lui apprend que les transactions avec une rétrofacturation sont presque toujours frauduleuses. Lors de la validation, le modèle présentera une grande précision car, lors de l’entraînement, la relation entre fraude et rétrofacturation est forte. Cependant, les informations de chargeback ne seront pas disponibles lors du déploiement et, dans la pratique, la performance du modèle sera médiocre.

Exemple de contamination train-test

Imaginez un data scientist créant un modèle pour prédire les prix de la maison en fonction de caractéristiques telles que la taille de la maison, le nombre de chambres et le quartier. La standardisation des caractéristiques numériques (telles que la taille et l’âge de la maison) afin qu’elles aient toutes la même échelle est une étape de prétraitement courante, ce qui est utile pour de nombreux algorithmes de machine learning.

Cependant, supposons que le data scientist applique une standardisation à l’ensemble du jeu de données avant de le diviser en jeux de données d’entraînement et de test. Dans ce cas, le modèle « verra » indirectement les informations du jeu de test pendant l’entraînement. Par conséquent, la performance du modèle sur les données de test pourrait sembler surévaluées de manière artificielle, car les informations du jeu de test ont été utilisées lors de l’étape de prétraitement. Cela permet d’accélérer la performance du modèle sur l’ensemble de test, mais réduit potentiellement sa capacité à se généraliser à de nouvelles données inédites.

Les étapes de prétraitement telles que la mise à l’échelle, l’imputation ou la sélection des caractéristiques doivent être adaptées uniquement aux données d’apprentissage, puis appliquées à l’ensemble de validation, plutôt que de les adapter à l’ensemble du jeu de données avant le fractionnement. L’application incorrecte des transformateurs, tels que la mise à l’échelle ou la normalisation, peut entraîner une contamination des tests d’entraînement, en particulier dans les modèles de réseaux neuronaux. Lorsque ces étapes de prétraitement mal exécutées sont effectuées sur l’ensemble du jeu de données, cela conduit à des prévisions biaisées et à un sens irréaliste de la performance du modèle.

AI Academy

Exploiter l’IA pour le service client

Découvrez comment l’IA générative peut ravir les clients avec une expérience plus transparente et augmenter la productivité de l’organisation dans ces trois domaines clés : le libre-service, les agents humains et les opérations du centre de contact.

Causes des fuites de données

La fuite de données peut être une erreur chronophage et représenter plusieurs millions de dollars. La fuite dans le machine learning se produit en raison de divers facteurs. Voici certaines des causes les plus courantes :

Inclusion d’informations futures : lorsque l’on utilise des informations non disponibles qui ne seraient pas disponibles au moment de la prédiction dans un scénario réel.

Sélection de caractéristiques inappropriées : sélection de caractéristiques corrélées à la cible, mais sans lien de causalité. Le modèle apprend à exploiter des informations auxquelles il n’aurait pas accès dans les prédictions du monde réel.

Contamination des données externes : la fusion de jeux de données externes avec des données d’apprentissage peut conduire à des prévisions biaisées ou inexactes, car les données externes peuvent contenir des informations directes ou indirectes sur la variable cible.

Erreurs du prétraitement des données : une division incorrecte des données se produit lorsque vous redimensionnez les données avant de les diviser en ensembles d’apprentissage et de validation ou lorsque vous remplissez des valeurs manquantes à partir du jeu de données. Cela peut être particulièrement problématique dans les modèles d’apprentissage profond, où un prétraitement approfondi est souvent nécessaire, d’où la nécessité d’éviter de mélanger les données d’entraînement et les données de test.

Validation croisée incorrecte : lorsqu’on effectue une validation croisée sur un jeu de données contenant des données temporelles, si des points de données du futur sont inclus, le modèle accède à des informations qu’il ne devrait pas avoir, ce qui produit des évaluations trop optimistes.

Normalisation : les transformations des données, telles que la mise à l’échelle ou la normalisation des caractéristiques, lorsqu’elles sont mal appliquées aux données d’entraînement et de test ensemble, plutôt qu’appliquées séparément, entraînent une fuite de données.

Fuite de validation et de modifications de processus : modifier la façon dont la validation est effectuée peut créer des fuites en autorisant l’ajout de nouvelles informations dans le kit de formation. Ajuster le processus en relançant la validation croisée ou le fractionnement des données après modification des modèles peut par inadvertance divulguer des informations dans le processus d’entraînement.

Impact de la fuite de données sur les modèles de machine learning

La fuite de données est un piège courant dans l’entraînement des algorithmes de machine learning pour la modélisation prédictive. Une étude de la National Library of Medicine1 a révélé que, dans 17 domaines scientifiques différents où des méthodes de machine learning ont été appliquées, au moins 294 articles scientifiques ont été affectés par la fuite de données, ce qui a conduit à des performances trop optimistes.

Une étude de Yale2 a montré que la fuite de données peut faire augmenter ou diminuer les indicateurs de performance des modèles basés sur l’imagerie cérébrale, selon que les informations divulguées présentent du bruit ou créent des modèles irréalistes. Ces modèles sont utilisés pour diagnostiquer les maladies, identifier les traitements et aider les neuroscientifiques à mieux comprendre la relation entre le cerveau et le corps.

La fuite de données dans les modèles de machine learning peut avoir différents impacts à travers les différents champs et types de données. Voici les plus courants :

Défaut de généralisation aux nouvelles données : lorsque les modèles sont entraînés avec des informations qui ne représentent pas le monde réel, le modèle aura du mal à se généraliser aux données invisibles. Les prévisions sur les nouvelles données peuvent s’avérer inexactes et peu fiables.

Prise de décision biaisée : les données divulguées risquent de fausser le comportement des modèles, ce qui se traduit par des décisions injustes et incompatibles avec les scénarios réels.

Des informations et des résultats peu fiables : la fuite de données compromet la fiabilité des informations dérivées du modèle, ce qui conduit les utilisateurs à se méfier des résultats.

Indicateurs de performance surévalués : les fuites dans les modèles de machine learning entraînent souvent des modèles affichant à tort une précision et une exactitude élevées.

Gaspillage des ressources : détecter et corriger les fuites de données après l’entraînement d’un modèle prend du temps et s’avère coûteux. La correction des fuites de données nécessite de réentraîner les modèles à partir de zéro, ce qui est coûteux en calcul, mais aussi de retravailler l’ensemble du pipeline de modèles, du prétraitement des données jusqu’au réentraînement, qui peut être gourmand en ressources en termes d’efforts humains et de coûts de calcul.

Perte de confiance : les modèles peu fiables finissent par susciter la méfiance de la part des équipes de data scientists et mettre en doute le processus analytique global.

Risques juridiques et de conformité : la fuite de données dans l’analyse prédictive peut entraîner des risques juridiques et réglementaires. Si des informations sensibles sont utilisées à mauvais escient, elles peuvent entraîner des sanctions et des dommages sur la réputation.

Détecter les fuites de données dans le machine learning

Pour détecter les fuites de données, les entreprises doivent savoir comment les modèles sont préparés et traités. Elle nécessite des stratégies rigoureuses pour valider l’intégrité des modèles de machine learning. Voici quelques bonnes pratiques à garder à l’esprit concernant la construction de modèles et la détection de fuites de données :

Préparer : les données doivent être correctement fractionnées et les étapes de prétraitement ne doivent être appliquées qu’au jeu de données d’entraînement. Examinez toutes les caractéristiques pour vous assurer qu’elles ne représentent pas des informations futures ou indisponibles pendant la prévision.

Rechercher : une fois le modèle entraîné, enquêtez sur les schémas suspects qui pourraient indiquer une fuite. Examinez l’importance des caractéristiques et le comportement du modèle pour détecter les relations irréalistes.

Tester : testez un modèle limité avec des données réelles. Surveiller ses performances dans des scénarios concrets ; si les performances diminuent de manière significative, cela peut indiquer qu’une fuite s’est produite pendant l’entraînement.

Voici quelques signaux d’alarme courants qui permettent de détecter les fuites :

Performances exceptionnellement élevées : si un modèle affiche une exactitude, une précision ou un rappel nettement supérieur aux attentes, en particulier sur les données de validation, cela peut indiquer une fuite de données.

Divergences entre les performances de l’entraînement et celles du test : un écart important entre les performances sur l’ensemble d’apprentissage et sur l’ensemble de test est le signe que le modèle peut être surajusté en raison de fuites.

Résultats de validation croisée incohérents : si la performance varie considérablement ou semble anormalement élevée, cela est peut-être dû à une fuite lors de l’entraînement ou à une mauvaise division.

Comportement inattendu du modèle : si un modèle repose principalement sur des caractéristiques qui n’ont aucun sens logique, cela peut indiquer une fuite.

Techniques d’évaluation appropriées

Il existe différents moyens de minimiser les fuites de données et plusieurs outils sont utilisés pour protéger l’intégrité du modèle. La validation croisée, en particulier les séries temporelles ou les k-fold stratifiés, aident à évaluer correctement les modèles et mettent en évidence des fuites potentielles. Dans les LLM (grands modèles de langage), la validation croisée et un traitement strict des données sont essentiels pour éviter d’entraîner le modèle sur des données qu’il pourrait rencontrer lors de l’inférence, ce qui affecterait sa capacité à répondre aux nouvelles entrées. L’utilisation d’un jeu de réserve distinct qui reste intact pendant l’entraînement renforce la protection contre les fuites.

L’importance des caractéristiques peut révéler si le modèle repose sur des données qui ne seraient pas disponibles lors des prédictions. La visualisation des données et les prédictions des modèles peuvent exposer des modèles ou des anomalies indiquant les fuites. En outre, les experts doivent examiner minutieusement le modèle pour déterminer s’il utilise des données irréalistes ou non disponibles, ce qui permet de découvrir des fonctionnalités problématiques.

Prévenir les fuites de données dans le machine learning

Pour éviter les fuites de données, les entreprises doivent procéder à un traitement minutieux et à une évaluation systématique des données. Voici quelques pratiques essentielles :

Prétraitement des données : pour éviter les fuites d’informations entre les jeux de données, appliquez des étapes de prétraitement telles que la mise à l’échelle ou l’imputation séparée des valeurs manquantes pour les jeux d’entraînement et de test. Effectuez des prétraitements tels que la mise à l’échelle, l’encodage et l’imputation séparément pour les jeux d’entraînement et de test. Automatisez les pipelines lorsque cela est possible.

Fractionnement approprié des données : fractionnez correctement les jeux d’entraînement et de test. Un fractionnement train-test soigneusement planifié entre l’entraînement et le test empêche les informations de l’ensemble de test de fuiter vers la phase d’entraînement. Pour les données sensibles au temps, fractionnez chronologiquement pour éviter que des données futures n’entrent dans le processus d’entraînement. Pour vérifier les fuites, conservez un jeu de validation distinct et non utilisé pendant l’entraînement, qui soit représentatif des données réelles.

Validation croisée : utilisez la validation croisée k-fold pour tester le modèle sur plusieurs sous-ensembles de données, ce qui permet de détecter les fuites potentielles et d’améliorer la généralisation.

Ingénierie de fonctionnalité : évitez de créer des caractéristiques qui introduisent des données futures. Examinez les caractéristiques dérivées pour vous assurer qu’elles reflètent uniquement ce qui serait disponible au moment de la prévision. Évaluez régulièrement la pertinence des caractéristiques pour vous assurer qu’elles sont appropriées et n’introduisez pas d’informations non disponibles au moment de la prédiction.

Validation basée sur le temps : pour les données de séries temporelles, utilisez la validation basée sur le temps pour imiter les performances réelles. Cela permet de s’assurer que les données passées sont utilisées pour prévoir les résultats futurs et éviter les fuites de données futures. Gérez les données de séries temporelles avec soin, en utilisant des méthodes telles que la validation de fenêtre glissante ou la validation progressive pour éviter les fuites de données futures pendant l’entraînement.

Évaluation régulière des modèles : surveillez en permanence les performances pendant l’entraînement et les tests pour détecter tout changement inattendu indiquant une fuite.

Fuite de données dans la prévention des pertes de données

Il existe une autre définition de la fuite de données qui n’a rien à voir avec le machine learning, mais fait plutôt référence à l’exposition involontaire des données du point de vue de la sécurité des données. La fuite de données dans la prévention des pertes de données (DLP) se produit lorsque des informations sensibles sont exposées involontairement à des parties non autorisées. Par exemple, un serveur de stockage cloud mal configuré peut faciliter l’accès aux données personnelles (PII) et aux secrets commerciaux.

Les vecteurs de fuite de données les plus courants proviennent d’une erreur humaine, comme un employé qui égare son ordinateur portable ou qui partage des informations sensibles par e-mail et par messagerie. Les pirates peuvent utiliser les données exposées pour commettre une usurpation d’identité, voler les détails de leur carte de crédit ou vendre les données sur le dark web.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct