03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 Diagnostic des défauts par un Couplage réseaux de neurones artificiels - algorithmes génétiques Mohamed.DJOUADA, Ridha. ZIANI, Ahmed. FELKAOUI, Rabah. ZEGADI Laboratoire de Mécanique de Précision Appliquée Département d’optique et mécanique de précision Université Ferhat Abbes, Sétif Algérie19000. [email protected] Résumé. Dans cette étude nous proposons une comparaison des performances de la classification des défauts dans les machines tournantes en utilisant un couplage des réseaux de neurones artificiels (RNA) et les algorithmes génétiques. Les signaux vibratoires ont été traités pour extraire deux types d’indicateurs qui sont utilisés comme entrée au classificateur pour l’identification de quatre classes des défauts et la classe de fonctionnement sain (sans défaut). Les performances de la classification ont été examinées avant et après sélection des indicateurs par les algorithmes génétiques. Les résultats obtenus montrent que l’approche utilisée permet une classification efficace des données avec une performance de 100%. I. INTRODUCTION applications d'RNA dans l'analyse de données, l'identification de modèle et la commande [4]. [6]. Parmi différents types d'RNA, le perceptron multicouches (noté MLP pour Multi Layer Perceptron en anglais) sont tout à fait populaires et utilisés pour le travail actuel. Dans cet article, les termes RNA et MLP ont été employés l'un pour l'autre en l'absence d'autres types de réseaux neurones. Ici une brève introduction à MLP est donnée pour la perfection. Un réseau MLP se compose d'une couche d'entrée de neurones de source, une ou plusieurs couches cachées et d'une couche de sortie. Le nombre des neurones dans la couche d'entrée et de sortie dépend du nombre de variables d'entrée et de nombre des classes désirées respectivement. Le nombre de couches cachées et le nombre de neurones dans chaque couche cachée affectent les possibilités de généralisation du réseau. Pour un plus petit nombre de couches cachées et de neurones, l'exécution peut ne pas être proportionnée. Considérant qu'avec trop de neurones cachés peuvent avoir le risque de sur-ajustement de précision des données. Il y a de diverses méthodes, heuristiques et systématiques, pour choisir le nombre de couches cachées et de neurone [3]. La Fig.1 montre une architecture typique de MLP se composant de trois couches ; de M, N et O pour l'entrée, cachée et la couche de sortie, respectivement. Le vecteur La surveillance des machines gagne beaucoup d'importance dans l'industrie en raison de la nécessité d'augmenter la fiabilité des machines et de diminuer la perte de production possible due aux pannes engendrées par les différents défauts. L'utilisation des signaux vibratoires et d’émission acoustique, est tout à fait commune dans le domaine de la surveillance conditionnelle des machines tournantes. La comparaison des signaux d'une machine fonctionnant en conditions normales et défectueuses, permet de détecter les défauts comme le déséquilibre de masse, bande de frottement de rotor, déviation d'alignement d'axe… Cependant, beaucoup de techniques disponibles exigent actuellement de beaucoup d'expertise pour les appliquer avec succès ; on exige de nouvelles techniques qui permettent aux opérateurs relativement non qualifiés de prendre des décisions fiables sans connaître le mécanisme du système et analyser les données. De nouvelles techniques sont exigées pour surveiller un système mécanique. Donc, la fiabilité doit être le critère le plus important de l'opération. Les réseaux neurones artificiels (RNA) conviennent à ce genre de problèmes. Ils ont été recherchés et appliqués dans de vrais systèmes [1] [3]. Les algorithmes génétiques (AG) ont été présentée dans plusieurs références [3] [5]. Dans la période courte de leurs développements, les AG ont montré leurs capacités supérieures et ont été avec succès appliqué dans beaucoup de domaines. entre le j neurone de la couche cachée et le i neurone de la couche d'entrée. L'indice supérieur 1 représente le raccordement (premier) entre les neurones des couches entrée/cachée. Le vecteur de sortie désirée y = [ y1 y 2 ... y O ]T du II. LES RESEAUX DE NEURONES ARTIFICIELS (RNA) réseau est obtenu à partir du vecteur des variables intermédiaires U par une fonction d'activation f 2 de la couche Les RNA ont été développés sous forme de modèles parallèles de réseau distribué basés sur l'apprentissage biologique du cerveau humain. Il y a de nombreuses d'entrée X = [x1 x 2 ... x M ] , est transformé à un vecteur intermédiaire des variables cachées U par utilisation de T fonction d'activation f j : la sortie u j du j ème neurones de la couche cachée est obtenue comme suit : ⎛M ⎞ u j = f 1 ⎜ ∑w i1, j x i + b 1j ⎟ (1) ⎝ i =1 ⎠ 1 1 Où b j et wi , j représenter respectivement le biais et le poids ème de sortie. Par exemple, la sortie du neurone exprimé comme suit : ème k peut être 03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 ⎛N ⎞ y k = f 2 ⎜ ∑w l2,k u l + b k2 ⎟ ⎝ l =1 ⎠ (2) Où l'indice supérieur 2 dénote le raccordement (secondaire) entre les neurones des couches cachée/sortie. Il y a plusieurs formes des fonctions d'activation f 1 et, f 2 tels que la fonction sigmoïde, la tangente hyperbolique et la fonction linéaire, données par les équations. (3) (4) (5), respectivement: 1 f (v ) = 1 + e −v itérativement pour réduire au minimum la fonction d'exécution de MSE entre les sorties de réseau et les valeurs à atteindre correspondantes. x1 wi1, j u1 x2 w l2,k y1 u2 y2 (3) bk2 b1j 1 − e −2 v 2 f (v ) = = −1 −2v 1+ e 1 + e −2v (4) f (v ) = v (5) Ces fonctions sont appelées en MATLAB: logsig, tansig et purelin, respectivement. L'apprentissage de réseau MLP implique de trouver des valeurs des poids de raccordement, qui réduisent au minimum la fonction erreur entre les résultats réels produit (calculés) et les valeurs à atteindre (désirés) correspondantes dans l'ensemble de apprentissage. Une des fonctions erreur largement répandues est l'erreur quadratique moyenne (MSE) et les algorithmes s'exerçants le plus généralement utilisés sont basés sur la règle de delta aux réseaux à couches cachées s'appelle la règle de la rétro propagation (back propagation) du gradient de l'erreur [3]. Cet algorithme, qui présente l'avantage d'exister, reste discutable dans la mesure où sa convergence n'est pas prouvée. Son utilisation peut conduire à des blocages dans un minimum local de la surface d'erreur. Son efficacité dépend, en effet, d'un grand nombre de paramètres que doit fixer l'utilisateur : le pas du gradient, les paramètres des fonctions sigmoïdes des automates, l'architecture du réseau ; nombre de couches, nombre de neurones par couche..., l'initialisation des poids... Le réseau de neurone MLP, utilisé dans ce travail, est composé de trois couches : entrée, cachée et sortie, comme représenté sur la fig. 1. La couche d'entrée a eu des neurones représentants les observations extraites à partir des signaux mesurés de vibration par l'analyse temporelle et fréquentielle. Ces observations ont été utilisées à l'entrée de réseau. Le nombre de neurones O de sortie a été fixé à 5. Les valeurs à atteindre (étiquettes) peuvent être sous formes binaires qui représentent les différentes classes (états normal (N) et défaillantes (f)) de fonctionnement du système. Dans MLP, les fonctions d'activation tangente hyperbolique (tansig), ‘‘(4)’’ et linéaire (purelin), ‘‘(5)’’, ont été employés dans la couche caché et la couche de sortie, respectivement. La gamme des neurones de la couche cachée et les fonctions d'activation ont été choisies sur la base des épreuves d'apprentissage. L'RNA a été créée, formée et mise en application à l'aide de la boîte à outils de réseau de neurones de Matlab. L'RNA a été formée uN xM yO Couche d'entrée Couche cachée Couche de sortie Fig. 1. Structure des réseaux de neurones artificiels. La Fig. 2 montre l'organigramme du procédé proposé. Le choix des indicateurs des observations d'entrées est optimisé en utilisant une approche AG. Machine tournante Traitement et acquisition de données Extraction des indicateurs, Formation des matrices d’apprentissage BA et de test BT Sans sélection (1) Sélection par AG (2) Ensemble de test Apprentissage de MLP Apprentissage de MLP terminé Récupération du % d’observations bien classées Fig. 2. Organigramme de procédure de classification par un couplage RNA_AG. 03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 III. LES ALGORITHMES GÉNÉTIQUES AG L’AG utilisé dans cette expérience est un AG simple. Les expériences sont programmées dans l’environnement MTLAB. L’AG utilise une dimension de la population de taille Np, et commence avec une génération aléatoire des chromosomes. Chaque chromosome est de taille Nb égale au nombre d’indicateurs utilisés. Un modèle élitiste de la population est utilisé, c’est à dire le meilleur individu dans la population antérieure est gardé dans la nouvelle population, et ce qui empêche la décroissance de la performance du AG avec la croissance du nombre des générations. A. Codification des chromosomes Pour résoudre notre problème de sélection des indicateurs. Nous avons choisi d’utiliser le codage binaire, où le nombre de bits dans chaque chromosome (individu) correspond au nombre d’indicateurs possibles qui peuvent être inclus dans l’ensemble de départ. Ainsi, une chaîne binaire est composée par M bits. Si le jième (i=1, …, M) bit a une valeur unitaire, alors l’indicateur correspondant doit être choisi et participe à la classification sinon si le jième bit a une valeur 0, alors l’indicateur correspondant doit être exclu B. Génération de la population initiale La population initiale est constituée d’un ensemble d’individus (chromosomes) générés aléatoirement. Le nombre d’individus d’une population ou la taille de la population constitue un paramètre important pour l’AG qu’il faudra déterminer. La représentation de la population P est : [ P = P1 P 2 , L Pi L P Np ] t Où Pi représente le iième chromosome dans la population et Np représente le nombre de chromosomes dans la population. Tous les chromosomes dans notre cas ont été générés aléatoirement. C. Calcul de la fonction d’évaluation (fitness). Nous utiliserons dans ce travail une approche génétique qui optimise le choix des paramètres par la minimisation d’une fonction coût. Cette dernière est choisie d’après le critère de la Trace tiré de l’Analyse Discriminante Linéaire (ADL). Le critère de la trace que nous avons choisi est une fonction est donné par : J= trace ( S w ) (6) Avec Sw : matrice de variance-covariance intra classe NC S W = N1 S w1 + N 2 S w 2 + L + N c S NC = ∑ N i S wi (7) i =1 S wi est la matrice de dispersion intra-classes de la classe wi . Elle est calculée à l’aide de l’équation suivante [7]: S wi = 1 Ni N ∑ i j =1 (x ij − m i )( x Avec N C : Nombre de classes ij − m i )t (8) Ni : Nombre de vecteurs dans la classe xij : jième vecteur de la classe mi : Centre de gravité de la classe ωi ωi , ωi . m : Centre de gravité de l'ensemble d'apprentissage : c’est le [ vecteur moyen total m = m1 m2 K m j K m M partir de l’ensemble des échantillons m j = N 1 N ] t obtenu à N ∑x i =1 ij . : Nombre de vecteurs de l'ensemble d'apprentissage D. Critère d’arrêt Les étapes de l’AG sont répétées durant t cycles, l’arrêt de l’algorithme est fixé d’après un critère d’arrêt. Dans cet article, l’algorithme s’arrête lorsqu’il atteint un nombre de 500 générations. Ce nombre est fixé initialement. E. Sélection des individus pour la reproduction Pour générer de nouveaux descendants (enfants), dans notre cas, des parents sont sélectionnés, en fonction de leur fonction d’évaluation, puis des mécanismes de croisement (crossover) et la mutation, sont appliquées. Pour sélectionner les meilleurs chromosomes dans une population, nous avons choisi d’utiliser la sélection par troncature. Un taux de mortalité de 20 % est considéré, c'est-à-dire que 80 % des plus forts individus sont retenus pour la reproduction, alors que, 20 % des faibles disparaissent sans avoir la possibilité de se reproduire, c’est à dire subir un croisement et une mutation. Le croisement est mis en place pour que les nouveaux chromosomes gardent la meilleure partie des chromosomes anciens. Ceci, peut-être, dans le but d'obtenir de meilleurs chromosomes. Néanmoins, il est quand même important qu'une partie de la population survive à la nouvelle génération car il est fort probable que les meilleurs chromosomes ne seront pas reproduits dans la prochaine génération. C’est pour cela que le modèle (stratégie) élitiste a été également adopté. IV. SYSTEME ETIDIE La surveillance automatique sur les éléments des roulements est nécessaire dans l'industrie, comme la vérification manuelle d'un certain nombre des roulements dans les machines peut prendre inadmissiblement pour désirer ardemment temps, et par conséquent causera une grande perte d'argent. Par conséquent, il est important de pouvoir détecter l'existence et la sévérité d'un défaut des roulements dans les machines tournantes. Les données de vibration utilisées dans ce papier ont été prises de "Bearing Data Center", Ce site Web "www.eecs.cwru.edu\laboratory\bearing\welcome_overview.ht m ", permet d'accéder à la base de données des essais de roulements à billes, soit les roulements normaux ou défectueux. Comme représenté sur la fig. 3., le banc d'essai se compose principalement d'un moteur (à gauche), d'un accouplement 03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 (centre), d'un dynamomètre (droit) et des circuits de commande (non montrés). Fig. 3. Banc d'essai de roulements Cinq conditions sont disponibles dans cet ensemble de données ; L'état normal est représenté par un état nouvel des roulements. Des autres simples défauts sous forme de points ont été créés sur les roulements d'essai, en utilisant l'usinage électro décharge. Dans ce travail nous nous limiterons à l’étude des défauts créés sur la bague intérieure. Le tableau 1 représente les diamètres des défauts, leurs profondeurs et les marques de roulement utilisés. TABLEAU I CARACTERISTIQUES DES DEFAUTS DE ROULEMENTS Position du roulement Emplacement du défaut coté entraînement coté entraînement coté entraînement coté entraînement bague Intérieur bague Intérieur bague Intérieur bague Intérieur Diamètre [inches1] profondeur [inches] Marque du roulement 0.007 0.011 SKF 0.014 0.011 SKF 0.021 0.011 SKF 0.028 0.050 NTN Les données ont été enregistrées sur une gamme de 4 vitesses différentes Les signaux ont été enregistrés à l'aide des accéléromètres, qui ont été fixés à la cage du moteur par aimant. La fig. 4 représente les signaux vibratoires des différents défauts et pour l’état normal V. PREPARATION DES OBSERVATIONS Pour chaque mode de fonctionnement nous disposons de 4 signaux enregistrés pour quatre vitesses différentes. Nous avons donc, 20 signaux échantillonnés à 12 KHz. Pour avoir suffisamment d'individus dans les différents modes de fonctionnement (sans et avec défaut) et puisque nous disposons d'enregistrements d'une longueur de Ns=122136 points, chaque signal est décomposé en 2 tranches, la première pour l’entraînement et la deuxième pour le test du réseau MLP. Après une analyse préliminaire, nous avons choisi de calculer des indicateurs temporels et fréquentiels dans les quatre bandes adjacentes [1-1500 Hz], [1500-3000 Hz], [3000-4500 Hz] et [4500-6000 Hz]. Dans chaque Bande nous avons choisi de calculer les indicateurs temporels suivants : la valeur efficace, le facteur de crête, le skewness, le kurtosis, et les moments d’ordre 5 et 6. La matrice des données obtenue est composée de (20 individus \ 24 indicateurs). Pour extraire les indicateurs fréquentiels, nous avons choisi de calculer les énergies du spectre dans les quatre bandes de calculs précitées. La matrice obtenue est, donc, composée de (20 individus \ 4 indicateurs). Chaque ligne des matrices d’apprentissage BA, et de test BT, est normalisée en accord avec la formule suivante : xi = xi − m x σx (9) Où mx : la moyenne σx : La variance Donc Les deux ensembles d’indicateurs calculés, forment une matrice d’apprentissage (BA) de (20individu \ 28 indicateurs), et une matrice de test BT de même taille formé en utilisant la deuxième tranche de chaque signal VI. PERFORMANCE DE LA CLASSIIFCATION A.. Performance du RNA sans sélection des indicateurs par AG Le réseau est entraîné en utilisant la matrice de d’apprentissage BA pour prédire les sorties de la matrice de test ET avec deux ensembles d’indicateurs (temporels fréquentiels) et avec l’ensemble de combinaison. La performance de classification est donnée par : per = ny b × 100 ny i (10) nyb : nombre de sorties bien prédites. nyi : nombre total de sorties désirées (étiquettes). Fig. 4. Signaux temporels, différents diamètres du défaut sur la bague intérieure. 1 Inches ≡ pouces = 25.4 mm. Le tableau 2 représente les performances de classification pour les trois ensembles d’indicateurs calculés avant la sélection par AG. 03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 TABLEAU II PERFORMANCES DE LA CLASSIFICATION PAR LES RNA SANS SELECTION DES INDICATEURS Indicateurs Performance apprentissage (%) Performance test (%) temporels 100 90 fréquentiels 100 100 combinés 100 85 Mal prédit (en test) 5 ,8 Nbre d’étirations 7 100 5 ,8, 9 11 Les résultats du tableau.2 montrent que le réseau est entraîné avec une performance de 100% pour les différents ensembles d’indicateurs. Nous avons obtenu une performance en test de 90% en utilisant les indicateurs temporels et une meilleure performance de 100%, avec les indicateurs fréquentiels, tandis que la combinaison des deux ensembles l’abaisse à 85%. Cela peut être expliqué par la redondance de quelques indicateurs. B. Performance du RNA avec sélection des indicateurs par AG Dans cette étape le réseau est entraîné et testé en utilisant le vecteur forme optimal obtenu par l’algorithme génétique que nous avons proposé. Plusieurs essais ont été réalisés afin de tester la convergence de notre algorithme. Le tableau 3 représente les performances de classification après sélection des indicateurs les plus pertinents. TABLEAU III PERFORMANCES DE LA CLASSIFICATION PAR LES RNA AVEC SELECTION DES INDICATEURS Indicateurs Indicateurs selectionnés Performance apprentissage (%) Performance test (%) Nbre d’étirations Essai 1 7 13 18 19 100 100 100 Essai 2 7 13 19 24 100 100 100 Essai 3 7 13 19 24 100 100 100 Essai 4 7 13 100 100 87 Les performances du RNA sur la base de test, en utilisant le vecteur forme optimal (tableau 3), montrent une amélioration de la performance de la classification pour les différents essais réalisés. Cette performance atteint 100%. (Toutes les observations sont correctement affectées aux classes correspondantes) avec un nombre des indicateurs réduit La séparation des cinq classes est, donc, réalisée avec un taux d’erreur nul. On peut aussi constater que pour les différents essais, le vecteur forme optimal n’est pas le même. Ceci est tout à fait normal puisque la population initiale est générée d’une façon aléatoire. Toutefois, certains indicateurs se répètent ; ce sont 7 13 19 24 qui correspondent respectivement à la valeur efficace calculée dans les bandes [1500-3000 Hz], [3000-4500Hz],[4500-6000Hz] et au moment d’ordre 6 calculé dans la bande [4500-6000Hz]. On peut constater également que la classification est réalisée avec une performance de 100% en utilisant seulement les indicateurs 7 et 13. VII. CONCLUSION L’algorithme de sélection d’indicateurs utilisé ici permet, donc, de choisir un sous-ensemble optimal d’indicateurs d’un ensemble de caractéristiques obtenues par l’estimation de deux types d’indicateurs. Il s’agit d’une représentation parcimonieuse mais informative de 2 indicateurs sur les 20 initiaux du processus. L’algorithme génétique a permis de diminuer le nombre d’indicateurs nécessaire à une bonne classification. L’utilisation des techniques d’optimisation par AG et de la classification par un réseau de neurone artificiel MLP à coté du traitement du signal ont pu améliorer la surveillance des machines en détectant l’évolution d’un défaut dans le temps. C’est ce que nous avons pu mettre en évidence lors de l’essai sur 5 classes. RÉFÉRENCES [1] L.B. Jack, A.K. Nandi, “Comparison of neural networks and support vector machines in condition monitoring applications,” Proceedings of 13th Conference on Condition Monitoring and Diagnostic Engineering Management (COMADEM), Houston, TX, USA, 2000, pp. 721–730. [2] L.B. Jack, A.K. Nandi, “Support vector machines for detection and characterisation of rolling element bearing faults,” Proceedings of Institution of Mechanical Engineers. Part C: Journal of Mechanical Engineering Science 215 (2000) 1065–1074. [3] L.B. Jack, A.K. Nandi, “Genetic algorithms for feature extraction in machine condition monitoring with vibration signals,” IEE Proceedings of Vision & Image Signal Processing 147 (2000) 205–212. [4] L.B. Jack, A.K. Nandi, “Fault detection using support vector machines and artificial neural networks, augmented by genetic algorithms,” Mechanical Systems and Signal Processing 16 (2002) 373–390. [5] B. Samanta, K.R. Al-Balushi, S.A. Al-Araimi, “Use of genetic algorithm and artificial neural network for gear condition diagnostics,” Proceedings of COMADEM 2001, University of Manchester, UK, 2001, pp. 449–456. [6] N. Benahmed, Optimisation de réseaux de neurones pour la reconnaissance de chiffres manuscrits isolés : sélection et pondération des primitives par algorithmes génétiques, Thèse de doctorat, Université de Québec, 2002 [7] R. Casimir., Diagnostic des défauts des machines asynchrones par reconnaissance des formes, Thèse de doctorat, Ecole Centrale de Lyon, 2003.