Les données de fabrication se présentent sous de nombreuses formes. Certaines données se prêtent à des analyses simples, comme la recherche de valeurs statistiques aberrantes dans le diamètre du trou d'une rondelle. L'analyse d'autres types de données peut s'avérer plus difficile, comme la catégorisation humaine des moteurs qui créent un bruit indésirable.
Les modèles de Machine Learning et d'intelligence artificielle (IA) peuvent faciliter le traitement de ces données plus difficiles, mais il arrive que ces projets se soldent par des déceptions, surtout lorsqu'ils tentent de remplacer l'interprétation et la catégorisation humaines. Si les premiers résultats obtenus par l'IA peuvent sembler prometteurs, ils peuvent devenir décevant dans la durée. Cela est souvent dû à un décalage entre l'analyse des données et l'expertise dans ledit domaine, ainsi qu'à des signaux contradictoires qui font que les données ne sont pas bien comprises.
Ces problèmes peuvent être minimisés en se posant certaines questions :
- Existe-t-il des facteurs de confusion dans les données ?
- Les données sont-elles présentées sous une forme parfaitement adaptée au modèle d'IA ?
- Les données contiennent-elles les informations nécessaires à l'apprentissage d'un modèle de Machine Learning/d'IA ?
- Les données d'entrée contiennent-elles des signaux dont la corrélation avec les données de sortie n'est qu'intermittente ?
- Les données d'apprentissage couvrent-elles entièrement la plage de fonctionnement du système de mesure ?
- Existe-t-il des conditions dans lesquelles les données d'apprentissage ne couvrent pas la variabilité nécessaire ?
- Quelle est la précision de mon processus actuel de classification (ou de régression) et quel niveau de précision je peux attendre d'un modèle d'intelligence artificielle ?
Ce livre blanc présente huit étapes de bonnes pratiques permettant aux ingénieurs possédant une expérience limitée en Machine Learning/IA de répondre aux questions susmentionnées, et ainsi de mieux comprendre les données brutes, ce qui peut aboutir à une amélioration des résultats. Il couvre les fonctionnalités de MATLAB® qui peuvent être utilisées pour étudier ces problèmes et y remédier. Ces bonnes pratiques sont illustrées par trois scénarios impliquant des données audio, des images et des séries temporelles.
Ces huit étapes vous permettront de comprendre vos données et d'en tirer le meilleur parti. Les étapes sont organisées en quatre phases :
- Comprendre la nature des données
- Comprendre les limites des données collectées
- Prétraiter les données et entraîner les modèles
- Évaluer les résultats
1. Recueillir l'avis d'experts
Recueillez des informations sur les mécanismes physiques qui conduisent à la caractéristique mesurée qui doit être détectée, ainsi que sur toute caractéristique comprise de manière empirique. Cela peut vous aider à élaborer des stratégies sur la manière de prétraiter les données et de les classer en leur posant les questions suivantes :
- Les données doivent-elles être normalisées en utilisant des moyennes et des écarts-types, ou une telle normalisation dégradera-t-elle le signal ? Une autre méthode de normalisation est-elle plus appropriée ?
- L'analyse fréquentiel ou la transformation des données à l'aide d'autres opérations mathématiques rendraient-elles la catégorisation plus aisée pour une personne, et par la même occasion, pourraient-elles simplifier le travail de l'intelligence artificielle ?
- Pour faciliter le choix des caractéristiques lors de la préparation d'un modèle d'intelligence artificielle, une analyse statistique ou un graphique pourrait-il rendre la distinction entre les classes plus évidente pour une personne ?
- Quels sont les comportements et les niveaux de signaux attendus ? Quelles sont les hypothèses à l'origine de cette attente ? Comment les niveaux de signaux peuvent-ils être vérifiés grâce à une expérimentation ?
2. Comprendre les hypothèses de collecte des données
Comprendre les facteurs pouvant perturber la collecte des données est essentiel pour élaborer des méthodes efficaces de collecte et de prétraitement, afin de réduire les erreurs qui pourraient compromettre le succès d'un projet de Machine Learning ou d'intelligence artificielle s'ils ne sont pas maîtrisés. Voici quelques exemples de questions que vous pouvez vous poser lors de la collecte de données :
- Peut-on supposer qu'un opérateur humain ne détecte les défauts que par le son, alors qu'il pourrait aussi recevoir des indices visuels, dont vous pourriez ne pas être au courant ?
- Peut-on supposer que la vitesse d'un tapis roulant est toujours constante ou que l'étalonnage d'une machine est toujours exécuté de façon identique ?
- Peut-on supposer que deux amplificateurs audio aient la même réponse en fréquence, ou que deux caméras aient la même réponse RGB à la même scène d'image ?
- Peut-on supposer que deux opérateurs utilisent bien les machines de la même manière ou que la température ambiante n'a pas d'effet sur vos données ?
Comprendre les limites des données collectées
3. Collecter des données reproductibles
Collectez les données de façon à améliorer la détection des mécanismes physiques sous-jacents à la quantité mesurée souhaitée, tout en atténuant autant que possible la variabilité confusionnelle en vous posant les questions suivantes :
- Est-il possible de répéter les mesures dans les mêmes conditions pour vérifier que les données soient reproductibles ?
- Comment la variabilité au niveau du signal se comporte-t-elle lorsqu'une série est répétée ?
- Si un processus est modifié pour s'adapter au système de Machine Learning/d'IA (par exemple avec un nouveau protocole de collecte de données), comment vérifier que cette modification n'affecte pas les informations contenues dans les données nécessaires à l'élaboration de la prédiction ?
4. Expérimenter pour vérifier les données
Réalisez des expérimentations pour évaluer les incidences des facteurs de collecte de données non contrôlés susceptibles d'avoir un impact sur l'apprentissage du Machine Learning et de l'IA. Procédez à des tests pour mesurer l'impact potentiel de ces facteurs non maîtrisés et répondez aux questions suivantes :
- Si une variable n'est pas contrôlée ou représentée dans vos données, en supposant qu'elle n'aura pas d'impact sur ces données, comment pouvez-vous réaliser une expérimentation pour vérifier cette hypothèse ?
- Peut-on utiliser un échantillon physique de référence, stable et bien défini, à mesurer régulièrement afin de détecter toute dérive du système susceptible d'affecter la précision des modèles de Machine Learning et d'intelligence artificielle ?
- Comment utiliser l'apprentissage non supervisé (clustering) pour rechercher de nouveaux clusters apparaissant au fil du temps afin de détecter une variabilité incontrôlée susceptible d'avoir un impact sur le modèle final ?
- Comment atténuer l'impact considérable de l'utilisation de signaux fortement corrélés en utilisant les composantes principales ou d'autres approches de réduction des données visant à réduire la dimensionnalité ?
5. Prétraitement des données
- L'idéal est de prétraiter les données pour qu'un être humain puisse procéder à la détection ou à la classification. Ces données prétraitées sont plus à même de permettre l'apprentissage d'un modèle précis de Machine Learning/d'IA. Demandez-vous comment vous pouvez utiliser les enseignements tirés des étapes 1 à 4 pour éclairer votre stratégie de prétraitement. Plus la tendance est facile à repérer dans les données prétraitées pour un humain, plus elle sera facile pour le modèle de Machine Learning/d'IA.
- Si l'on ne parvient pas à détecter un signal dans des conditions expérimentales extrêmes (comme de très hautes températures), où normalement il serait clairement perceptible, il est probable que les données manquent d'informations essentielles pour une détection ou une analyse par Machine Learning ou intelligence artificielle.
- Employez l'apprentissage non supervisé pour confirmer la présence de clustering (regroupements) attendus et pour identifier d'éventuels clustering surprenants, ce qui pourrait indiquer des facteurs capables de compromettre le modèle final.
6. Apprentissage
Commencez par explorer les données avec des modèles simples et utilisez un jeu de données de test pour déterminer quel est le modèle le plus prometteur ; cela établira un point de référence initial. Ensuite, optimisez en procédant comme suit :
- Utilisez des sessions d'apprentissage rapide pour évaluer différents modèles de Machine Learning/d'IA afin de déterminer quels sont les meilleurs modèles. Pour commencer, utilisez le type de modèle le plus simple. Une fois qu'un type de modèle a été sélectionné, optimisez les options d'apprentissage, en utilisant les données de validation pour détecter un surajustement (overfitting). On peut utiliser le jeu de données de test pour s'assurer que le modèle représente une bonne généralisation, avec de nouvelles données jamais vues auparavant.
- Utilisez les résultats de modèles plus simples pour déterminer la meilleure façon de procéder à l'implémentation de modèles plus complexes.
7. Étude en aveugle
Réalisez une étude en aveugle pour comparer les bonnes pratiques actuelles de détection/catégorisation avec le nouveau modèle de Machine Learning/d'IA.
- Utilisez une étude en aveugle pour comparer le comportement du Machine Learning et de l'IA avec les bonnes pratiques actuelles. Assurez-vous que l'étude est en aveugle à la fois pour l'approche traditionnelle et pour l'approche de Machine Learning/d'IA. Si le Machine Learning/l'IA prend la place d'un humain, assurez-vous que les résultats sont aussi en aveugle pour l'humain.
- Pour les comparaisons humaines, veillez à contrôler les indices provenant d'autres sources, comme un numéro de série hors séquence, des marques ou des labellisations qui pourraient donner des indices supplémentaires à l'opérateur humain. Utilisez des mesures appropriées telles que la précision, le rappel, les matrices de confusion, etc.
8. Vérifier, puis réexaminer, et répéter si nécessaire
- Passez en revue les résultats des étapes 5 et 6. Si les données ne peuvent pas être prétraitées pour accentuer les caractéristiques à détecter et que les résultats de l'apprentissage de l'étape 6 sont inadéquats, alors :
- Réexaminez (si la conclusion de la revue n'est pas bonne) les étapes 1 à 4 pour évaluer les niveaux de signaux et les facteurs qui masquent les caractéristiques à détecter, puis envisagez le développement d'une meilleure approche de collecte des données ou de prétraitement pour accentuer les caractéristiques qui doivent être détectées.
- Répétez les étapes 5 à 7 après avoir revu les étapes 1à 4 pour déterminer si des essais à plus long terme sont justifiés ou si des améliorations sont nécessaires.
Dans ces trois scénarios hypothétiques impliquant des données audio, des images et des séries temporelles, des utilisateurs fictifs appliquent ces bonnes pratiques à leurs projets de Machine Learning/d'IA. Ils utilisent MATLAB à plusieurs reprises.
Données audio dans le cadre de la production d'outils : détection de bruit sur des perceuses à main issues d'une chaîne de production
Ken dirige une équipe qui teste des perceuses à main à la fin d'une chaîne de production en les branchant et en les actionnant à la main pour écouter des bruits inhabituels. Ken souhaite automatiser ce processus et utiliser un modèle d'IA pour déterminer s'il existe un bruit inhabituel. Il souhaite réduire les coûts mais doit identifier plus de 99 % des mauvaises perceuses pour que l'analyse de rentabilité soit acceptable.
Ken suit la checklist des bonnes pratiques :
- Recueillir l'avis d'experts
- Comprendre les hypothèses de collecte des données
- Collecter des données reproductibles
- Expérimenter pour vérifier les données
- Prétraitement des données
- Apprentissage
- Étude en aveugle
- Vérifier, puis réexaminer, et répéter si nécessaire
Ken consulte un collègue qui travaille sur la réduction des vibrations. Il précise que le bruit des perceuses varie en fonction de la façon dont elles sont prises en main. Le collègue de Ken dispose d'un banc spécial qu'il peut emprunter pour atténuer ce problème potentiel et l'utiliser comme plateforme standardisée.
Ken recueille des données des mauvaises perceuses pendant les temps d'arrêt de la chaîne de fabrication. Un collègue constate que les données normales sont contaminées par le bruit des machines de production. Ken utilise la détection d'anomalie et confirme que le bruit des machines est bel et bien détectable en tant qu'anomalie et peut donc influencer exagérément l'IA. Ken met donc à jour la stratégie de collecte des données pour s'assurer que le bruit des machines est présent de manière égale sur les bonnes données (« OK »), sans défaut, et sur les données défectueuses ou mauvaises (« NG », not good). Il constate aussi des différences au niveau des composants principaux des bonnes et mauvaises perceuses. Il souhaite vérifier si cette différence est réelle et décide donc de vérifier la reproductibilité des données.
Ken recueille des bruits de la chaîne de production pour augmenter ses données NG qui ne comportent pas ce type de bruit de fond. Il collecte de nouvelles données à partir de son jeu de perceuses défectueuses en présence du bruit de la chaîne de production, en faisant usage du banc de perçage conformément aux connaissances acquises au cours des étapes 1 et 2. Il enregistre également à plusieurs reprises une bonne perceuse et une perceuse défectueuse pour vérifier la répétabilité ou les changements au niveau de leur bruit, car les perceuses NG sont normalement actionnées plusieurs fois, alors que les perceuses OK ne sont actionnées qu'une seule fois.
Ken utilise l'application Wavelet Time-Frequency Analyzer pour vérifier qu'il existe une différence minimale entre plusieurs enregistrements de la même perceuse, mais il peut également visualiser la différence entre les bonnes et les mauvaises perceuses. Il essaie différentes approches pour extraire les caractéristiques audio et entraîne une machine à vecteurs de support (SVM) qui permet d'obtenir une bonne précision de classification. Il pourrait essayer d'améliorer la précision de la classification en utilisant fitcauto()
ou l'application Classification Learner pour évaluer différents modèles de Machine Learning et différents hyperparamètres.
Ken standardise le traitement des données et utilise audioDataAugmenter
pour ajouter une variation supplémentaire à ses données. Ensuite, il utilise Wavelet Time-Frequency Analyzer pour examiner les données, en utilisant des ondelettes avec les paramètres les meilleurs, et la fonction cwt()
pour préparer les données en vue de l'apprentissage automatique.
Ken utilise cvpartition
pour diviser les données en jeux d'apprentissage, de validation et de test. Il utilise ensuite l'application Experiment Manager pour entraîner des réseaux de neurones à convolution (CNN) avec différents paramètres. Il expérimente avec les paramètres d'apprentissage du CNN et avec la transformée en ondelettes utilisée pour prétraiter les données afin de former des images. Il modifie une IA pré-entraînée en utilisant l'apprentissage par transfert pour l'entraîner sur ses données. Il peut en outre vérifier et débugger les prédictions du modèle d'IA en utilisant des méthodes de visualisation et d'explicabilité.
Ken recueille des données récemment collectées, les rend anonymes et demande à son équipe d'écouter les données afin de les classer comme bonnes ou mauvaises. L'équipe de Ken obtient de moins bons résultats avec les seules données audio, et il découvre qu'ils inspectent visuellement les perceuses, ce qui a un impact sur leurs décisions bonnes/mauvaises.
Ken constate que le CNN obtient d'aussi bons résultats que son équipe en conditions « audio uniquement », bien que les performances de son équipe s'améliorent avec la possibilité de procéder à une inspection visuelle. L'ajout d'une inspection visuelle à l'IA est quelque chose que Ken peut envisager pour de futures améliorations.
Images concernant les équipements médicaux : détection de contaminants dans des seringues préremplies
Jen est chargée de développer une IA pour identifier les contaminants dans des seringues d'insuline préremplies. Elle obtient des images de seringues défectueuses, avec des commentaires sur le type de défaut. N'ayant pas été entraînée à cela, elle n'est pas en mesure d'identifier certains défauts. L'entreprise fabrique un grand nombre de seringues et une inspection manuelle à 100 % n'est pas possible. La détection de ces défauts contribuera à réduire les problèmes de rappel.
Jen suit la checklist des bonnes pratiques :
- Recueillir l'avis d'experts
- Comprendre les hypothèses de collecte des données
- Collecter des données reproductibles
- Expérimenter pour vérifier les données
- Prétraitement des données
- Apprentissage
- Étude en aveugle
- Vérifier, puis réexaminer, et répéter si nécessaire
Jen demande au client d'entourer explicitement les défauts sur les images. Les défauts peuvent se présenter sous la forme de particules, de rayures ou de taches à l'intérieur ou à l'extérieur de la seringue. Elle doit donc inclure l'ensemble de la seringue. Certaines images présentent des reflets lumineux et elle conseille au client d'utiliser des filtres polarisants pour les atténuer.
Jen uniformise les images en procédant à des rotations, des recadrages et des normalisations. Elle renvoie les images prétraitées et anonymisées au client. Les commentaires reçus confirment que le prétraitement n'a pas supprimé les informations nécessaires à la classification par un technicien entraîné.
Jen demande au client de lui fournir davantage d'exemples de bonnes images afin d'avoir une meilleure idée de ce qui n'est pas un défaut et d'augmenter le nombre d'images possibles.
Jen utilise imageDatastore
pour gérer les images. Pour comprendre les différences, elle utilise l'application Registration Estimator, le recalage d'images et imsubtract()
pour superposer les seringues et rechercher des différences. Elle entraîne un modèle d'IA pour détecter les anomalies des images. L'examen de la carte thermique (heatmap) des anomalies permet à Jen de mieux comprendre où les défauts des seringues peuvent se trouver.
Jen élabore une stratégie de prétraitement basée sur les trois premières étapes. Elle utilise createMask()
pour supprimer l'arrière-plan (une table), qui doit être exclu lors de l'apprentissage du modèle d'IA. Elle utilise Image Labeler pour créer un boxLabelDatastore
afin d'entraîner l'IA sur les différents types de défauts. Elle augmente les images d'apprentissage en utilisant l'augmentation d'image pour modifier les images afin de créer un ensemble d'apprentissage plus important et bboxwarp()
pour ajuster les boîtes englobantes des images modifiées.
Jen utilise un détecteur d'objets YOLOX pour détecter les types de défauts. Après une classification préliminaire, elle observe que l'une des classes est plus souvent mal classée. Elle ajoute davantage de données d'apprentissage à cette classe et observe que l'erreur de classification diminue.
Jen package l'IA avec App Designer et la compile avec MATLAB Compiler™ pour que le client la teste. Une licence MATLAB n'est pas nécessaire pour l'application compilée.
Le client teste l'application d'IA et envoie des exemples d'images mal classées pour que Jen puisse effectuer un second apprentissage.
Prédire la défaillance prématurée des soupapes d'une turbine à gaz
Ben est chargé d'utiliser le Machine Learning/l'IA pour prédire une défaillance prématurée qui pourraient survenir après l'expédition de microturbines (MT) de son entreprise, en se basant sur les données issues des tests de contrôle avant expédition. Il dispose d'un grand nombre de données provenant du banc d'essai, mais d'un seul jeu de données avant et pendant un événement de défaillance. Bien que les défaillances soient rares, elles ont un impact sérieux sur les clients de l'entreprise de Ben.
Ben suit la checklist des bonnes pratiques :
- Recueillir l'avis d'experts
- Comprendre les hypothèses de collecte des données
- Collecter des données reproductibles
- Expérimenter pour vérifier les données
- Prétraitement des données
- Apprentissage
- Étude en aveugle
- Vérifier, puis réexaminer, et répéter si nécessaire
Ben apprend que la défaillance semble être associée à des événements liés à des débris qui endommagent les roulements du compresseur entre 100 et 200 heures d'utilisation, mais la source de ce problème est inconnue.
Un effort important a été fait pour assurer la cohérence des tests effectués sur le banc. Les variations qui subsistent pendant la collecte des données sont dues à des facteurs tels que la température ambiante, la pression, la composition de l'huile et du carburant, ainsi des facteurs moins bien contrôlés liés aux opérateurs humains.
Ben n'ayant qu'un seul exemple de données couvrant une défaillance, il crée un jumeau numérique. Il commence donc par le modèle de turbine à gaz Simulink®, le met à jour pour inclure le comportement des roulements avec les débris, et l'ajuste avec l' application Parameter Estimator pour imiter la turbine à gaz réelle.
Ben simule les dommages subis par les roulements grâce au modèle basé sur de bonnes données et à son exemple de données de défaillance. Il est prédit que les signaux indicatifs de défaillance 100 heures avant la défaillance, dans les données du modèle de simulation, sont plus faibles que le bruit dans les données réelles. Ben ajoute du bruit synthétique, puis constate qu'un filtre de Kalman étendu permet de détecter les tendances en matière de défauts.
Ben utilise les signaux de vibration et les variations dans les cartes de fréquence-RPM pour évaluer les données du modèle, afin de déterminer comment les dégâts sur les roulements se répercutent sur l'ensemble du système et comprendre ce qu'il faut rechercher dans les données réelles. Les données réelles nécessitent une transformation des signaux exprimés dans des unités de temps (secondes) en unités de fréquence (Hertz). Les données comportent de nombreux signaux colinéaires. Ben utilise les composants principaux pour la réduction des données.
Comme le bruit à haute fréquence sur de courtes périodes devrait masquer le signal, mais que la dérive à basse fréquence dans le temps révélera le défaut, Ben décide d'essayer un réseau LSTM, qui peut détecter la tendance à plus long terme. Avec des périodes d'essai prolongées, le réseau LSTM semble être en mesure de détecter la petite dérive (détérioration) qui indique un problème d'après les données du modèle.
Ben entraîne le réseau LSTM sur un jeu de données plus important et met en place une étude en aveugle en utilisant les données du modèle pour évaluer les plages de détection probables d'un système réel.
Ben constate qu'il doit augmenter la durée des tests sur banc d'essai de la turbine pour détecter les petites dérives associées aux défaillances et prépare une analyse coûts-bénéfices pour justifier l'allongement du coût des tests sur les turbines afin de tenter de détecter ces dérives.
Ben utilise l'outil de détection d'anomalies sur les données brutes et constate que des températures ambiantes plus élevées, ainsi que l'intervention d'un opérateur spécifique sont plus susceptibles d'être associés à des valeurs aberrantes dépassant le seuil associé au détecteur d'anomalies, et donc être liés à des événements de défaillance prématurée. Ceci demande des recherches supplémentaires.
Approfondissez ce sujet grâce à des conseils qui vont au-delà du nettoyage et du prétraitement des données pour les applications de Deep Learning et de Machine Learning dans le domaine du traitement du signal.
Les modèles de Machine Learning/d'IA peuvent éliminer les tâches fastidieuses et sources d'erreurs que sont les tests manuels et l'assurance qualité dans les environnements de production. Les défaillances en production, bien que graves, sont rares et les causes profondes peuvent ne pas être bien comprises.
Les solutions de Machine Learning/d'IA peuvent ainsi sembler difficiles à implémenter de manière fiable. Cependant, avec une certaine compréhension des données, vous pouvez générer de bons jeux de données pour l'apprentissage.
Grâce aux huit étapes et les exemples de scénarios ci-dessus, vous pouvez appliquer une approche plus systématique de la qualité des données et combler les écarts entre un concept de Machine Learning ou d'intelligence artificielle et son implémentation réussie.
MATLAB peut vous y aider.
À propos de l'auteur
Mike Simcock est consultant senior chez MathWorks et travaille sur des projets utilisant des données réelles qui nécessitent un traitement de données pour l'IA et bien d'autres applications. Avant de rejoindre MathWorks, Mike était consultant senior chez Altran et responsable en R&D chez Malvern Instruments, Halliburton et Ometric. Mike est titulaire d'une licence en chimie et d'un doctorat en matériaux semi-conducteurs de l’université de Salford (UK). Il est l'auteur de nombreuses publications validées par ses pairs, impliquant des données expérimentales, et il a déposé environ 20 brevets liés à la fabrication de composants optiques à couches minces et à l'application de l'instrumentation optique. MATLAB lui a été utile pour tous ces travaux.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)