Réseaux de neurones artificiels « programmation par l’exemple » S. Canu, laboratoire PSI, INSA de Rouen équipe « systèmes d’information pour l’environnement » asi.insa-rouen.fr/~scanu
Plan de Route études de cas l’apprentissage simple nez électronique capteur logiciel prévision de charge entrante modélisation de l’écrouissage Conclusion : programmation à base d’exemples l’apprentissage simple une affaire de noyaux ! qui se ressemble s’assemble Réseaux de neurones perceptrons multicouches fonctions de bases radiales
Système d’information pour l’environnement
Système d’information pour l’environnement Nature des phénomènes beaucoup de données disponibles dépendances complexes : non linéaires, bruités les événements intéressants sont rares
Système d’information pour l’environnement Nature des phénomènes beaucoup de données disponibles dépendances complexes : non linéaires, bruités les événements intéressants sont rares Problèmes à résoudre validation de données prévision à court terme évaluation de la situation décision.
Système d’information pour l’environnement Nature des phénomènes beaucoup de données disponibles dépendances complexes : non linéaires, bruités les événements intéressants sont rares Solution programmation à base d’exemple précision de la prévision domaine de validité Problèmes à résoudre validation de données prévision à court terme évaluation de la situation décision.
Quelques exemples
Nez électronique Objectifs Données disponibles a priori méthode remplacer un capteur coûteux par 6 capteurs « bon marché » détecter certaines situation critiques Données disponibles 280 points de mesures 12 variables mesurées (pentes et conductance des capteurs) a priori phénomènes « réguliers » coût « absolu » méthode S.V.M. (un genre de réseau de neurones) sélection des variables pertinentes par analyse discriminante définition des zones d’ambiguïté définition d’un domaine de validité du domaine Résultats
Nez électronique Classe 1 Classe 3 Classe 2 inconnus Ambigus Classe 2 inconnus Régle de décision dans le plan de l’AFD
Capteur logiciel Objectifs Données disponibles a priori valider les données d’un capteur physique de NH4 remplacer ce capteur pour la détection Données disponibles 4 années, toutes les heures 24 variables mesurées (pH, température, conductance, turbidité,…) beaucoup de données manquantes a priori phénomènes « réguliers » coût quadratique méthode réseau de neurones sélection des variables pertinentes prévision de l’erreur de prédiction par un autre réseau de neurones définition d’un domaine de validité du domaine Résultats
Capteur logiciel
R.P.S. : Consommation journalière en 1988 en m3 Mois
Spécifications fonctionnelles Informations sociales - jour de la semaine - vacances scolaires - jour ferié, ... Informations météorologiques : - pluie, - température - neige, ... consommations passées Algorithme de prévision La consommation du lendemain
RNA y = W f ( W f (W X) ) 3 2 2 1 1
Spécifications fonctionnelles Informations sociales - jour de la semaine - vacances scolaires - jour ferié, ... Informations météorologiques : - pluie, - température - neige, ... consommations passées Algorithme de prévision La consommation du lendemain
Modèle de type “boite noire” Informations sociales - jour de la semaine - vacances scolaires - jour ferié, ... Informations météorologiques : - pluie, - température - neige, ... consommations passées Situation : X Information non observable Y yp = r(x) Algorithme de prévision La consommation du lendemain
Prévision de la classe de qualité du bois But : Minimiser les erreurs de classement Données : 550 points de mesures Entrées : mesures physique sur les planches Sorties : point de rupture Classe Informations a priori nature des classes
Prévision de la charge entrante Objectifs prévoir quand et quelle quantité de polluant va arriver à . la station d’épuration Données disponibles 12 années, toutes les heures 24 variables mesurées : pluie, charge entrante, température a priori phénomènes « réguliers » coût quadratique méthode prévision de la pluie par un réseau de neurones prévision de la charge par un second réseau de neurones structurer les réseaux de neurones à priori définition d’un domaine de validité du domaine
Optimisation de la qualité du verre (Saint Gobain) But : Optimiser la fabrication Données : 127 points de mesures (plan d’expérience) Entrées : quantités de “sables” Sorties : mesures physiques Informations a priori pas de variations brusques (monotonie)
Qualité du verre
Qualité du verre
Qualité du verre
Écrouissage Objectif Données disponibles a priori prévoir le comportement de l’alliage en fonction des forces Données disponibles simulations logiciel dans un premier temps données réelles ensuite a priori phénomènes temporels à mémoire coût quadratique méthode réseau de neurones récurrents (bouclés) approche incrémentale Résultats
Écrouissage Écrouissage Déformations - plastiques - élastiques - isotrope - cinématique f(t) : la force appliquée au cours du temps e(t) : l’allongement constaté au cours du temps
le futur est imprédictible Écrouissage Déformations - plastiques - élastiques Écrouissage - isotrope - cinématique Pour une même valeur du couple (F,D) le futur est imprédictible Il faut connaître le passé du système f(t) : la force appliquée au cours du temps e(t) : l’allongement constaté au cours du temps
Écrouissage : le modèle « statistique » e(t) = e(t-1) + D (f(t)-f(t-1)) z-1 sp Plastique/Elastique e a-b sm 1 a+b -a f(t) +1 x 1 -1 Monte/Descend f(t-1) 1 On cherche à « écrire » un programme, qui à partir d’une suite de « forces » calcule la réponse de la pièce
Écrouissage
Écrouissage : résultats mesure modèle
Écrouissage : résultats
Programmation à base d’exemples Apprendre : des entrées : X, et des sorties : Y But : trouver une dépendance : r(X) Utilisation : pour un X donné : prévoir Y Connaissance : données : (Xi,Yi), i=1,n cout : C(x,r(x),y) a priori sur la structure du modèle Difficultés : Généralisation données limitées remplir les trous Tâches génériques : Discrimination, Régression, Prévision à un pas de temps, Identification
Programmation à base d’exemples Apprendre : des entrées : X, et des sorties : Y But : trouver une dépendance : r(X) Utilisation : pour un X donné : prévoir Y Connaissance : données : (Xi,Yi), i=1,n cout : C(x,r(x),y) a priori sur la structure du modèle Difficultés : Généralisation données limitées remplir les trous Tâches génériques : Discrimination, Régression, Prévision à un pas de temps, Identification Modules logiciels
Que peut on faire ?
Que peut on faire ? résumer classer prévoir
Les Trois problèmes Regrouper des informations et les quantifier : faire des classes nuées dynamiques, EM Cartes auto-organisatrices de Kohonen Classer une nouvelle donnée : affecter à une classe discrimination linéaire : le neurone formel les méthodes à base de noyaux SVM Prévoir le comportement d’une variable : avec ou sans le temps régression linéaire RBF PCM Xn X1 Les données
Les Trois problèmes Regrouper des informations et les quantifier : faire des classes nuées dynamiques, EM Cartes auto-organisatrices de Kohonen Classer une nouvelle donnée : affecter à une classe discrimination linéaire : le neurone formel les méthodes à base de noyaux SVM Prévoir le comportement d’une variable : avec ou sans le temps régression linéaire RBF PCM Xn X1
Les Trois problèmes Regrouper des informations et les quantifier : faire des classes nuées dynamiques, EM Cartes auto-organisatrices de Kohonen Classer une nouvelle donnée : affecter à une classe discrimination linéaire : le neurone formel les méthodes à base de noyaux SVM Prévoir le comportement d’une variable : avec ou sans le temps régression linéaire RBF PCM Xn X1
Les Trois problèmes ? Regrouper des informations et les quantifier : faire des classes nuées dynamiques, EM Cartes auto-organisatrices de Kohonen Classer une nouvelle donnée : affecter à une classe (décider) discrimination linéaire : le neurone formel les méthodes à base de noyaux SVM Prévoir le comportement d’une variable : avec ou sans le temps régression linéaire RBF PCM Xn ? + X1
Les Trois problèmes Regrouper des informations et les quantifier : faire des classes nuées dynamiques, EM Cartes auto-organisatrices de Kohonen Classer une nouvelle donnée : affecter à une classe discrimination linéaire : le neurone formel les méthodes à base de noyaux SVM Prévoir le comportement d’une variable : avec ou sans le temps régression linéaire RBF PCM Xn x x x x + + x x x x x + + x x x + + x + x + X1
Les Trois problèmes Regrouper des informations et les quantifier : faire des classes nuées dynamiques, EM Cartes auto-organisatrices de Kohonen Classer une nouvelle donnée : affecter à une classe discrimination linéaire : le neurone formel les méthodes à base de noyaux SVM Prévoir le comportement d’une variable : avec ou sans le temps régression linéaire RBF PCM Xn x x x x + + x x x x x + + x x x + + x + x + X1
Modèle « boite noire » CRITERE Prévision ^ y = r(X) X Entrées Observables erreur CRITERE Système Réel Entrées Non Observables Y = F(X, )
Les différentes étapes d’une application Recueil des données brutes génération de caractéristiques sélection des caractéristiques pertinentes étiquetage des classes conception du classifieur évaluation du système
notations J coût d ’une règle de décision (erreur de prédiction) espace des sources J coût d ’une règle de décision (erreur de prédiction)
Conclusion C’est un outil dont il ne faut pas se priver Les méthodes statistiques peuvent dans certains cas apporter des solution originales à des problèmes « difficiles » il faut disposer de données on fait de la programmation à partir de données la notion de « coût » est fondamentale il faut disposer d’une bonne méthodologie il était une fois un concours de prévision...
{ Modèle “Boite Noire”... ...Minimise l’erreur de prédiction Innovation Y = r(x) + (x) X fontion de prévision : r(x) fonction de précision : (x) { Système Réel Y = F(X, ) ...Minimise l’erreur de prédiction
Variance non constante distribution non gaussienne P(Y/X=x) r(x) x
Variance non constante distribution non gaussiènne P(Y/X=x) r(x) x
Cas multi modal (Bishop (94)) P(x,y) E(Y/X) P(Y/X=x) x
Cas multi modal (Bishop (94)) P(x,y) E(Y/X) P(Y/X=x) x
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) Algorithme programme
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) cout Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) cout Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) a priori cout Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) a priori cout Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) a priori cout Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Programmation à base d’exemples Exemples : (formes x, étiquettes y, confiance) a priori cout Algorithme programme Pas de modèle : si on veut pourvoir tout apprendre, il faut contrôler la complexité Représentation des incertitudes : fusion d’informations incertaines Méthodologie et applications : domaine de validité, intervalle de confiance, heuristiques
Aspects fondamentaux Poser le problème les enjeux théoriques de l'apprentissage Explorer une solution possible la régularisation Développer de nouvelles approches nouveaux algorithmes Étude d'un problème fondamental sélectionner les variables explicatives pertinentes
Exemple d’application Huile +gaz +eau Bouchons
Prévoir la taille des bouchons y « date » d’arrivé et taille du prochain bouchon Algorithme de prévision Une forme x historique, taille, profil et points bas de la canalisation température, débit
Prévoir la taille des bouchons 1 Ensemble d’apprentissage (échantillon) A : Algorithme d’apprentissage y « date » d’arrivé et taille du prochain bouchon Algorithme de prévision Une forme x historique, taille, profil et points bas de la canalisation température, débit
Prévoir la taille des bouchons 1 Ensemble d’apprentissage (échantillon) 2 A : Algorithme d’apprentissage y « date » d’arrivé et taille du prochain bouchon Algorithme de prévision Une forme x historique, taille, profil et points bas de la canalisation température, débit
Prévoir la taille des bouchons 1 Ensemble d’apprentissage (échantillon) 3 A priori sur la nature de la solution 2 A : Algorithme d’apprentissage y « date » d’arrivé et taille du prochain bouchon Algorithme de prévision Une forme x historique, taille, profil et points bas de la canalisation température, débit
Quelques exemples de RdF
Quelques exemples de RdF
Quelques exemples de RdF C’est un rond, c’est un carré, (une forme quoi !) le feu est vert, (je passe, ou je m’arrête ! Classe = action possible) votre électrocardiogramme est normal : diagnostic = détection : signal ou bruit (inspection : qualité, monitoring) c’est une facture téléphone (reconnaissance syntaxique : les « règles ») odeur : c’est une madeleine caractère - écriture (c’est une lettre, un mot, une phrase, un sens) parole (forme temporelle) voix, identification : c’est Chirac aux guignol, localisation d’une source et séparation visage (vision) identification : visage + voix + odeur + empreintes : c’est « Chirac » une voiture (concept imprécis) il va pleuvoir (fusion de données - décision incertaine) Aspects humains
Quelques problèmes de RdF C’est un rond, c’est un carré, Distance avec des formes de références le feu est vert, (je passe, ou je m’arrête) Représentation des caractéristiques votre électrocardiogramme est normal : diagnostic = détection : signal ou bruit Cadre aléatoire c’est une facture téléphone Modèle = les « règles » (même source) odeur : c’est une madeleine capteur complexe caractère - écriture complexité de la tâche (c’est une lettre, un mot,...) modélisation par apprentissage parole (forme temporelle) Temps (système évolutif :environnement) voix (c’est Chirac aux guignol), complexité de l’espace des caractéristiques visage (vision) invariances identification fusion - (informations hétérogènes) une voiture (concept imprécis) définition des classes (monitoring) il va pleuvoir décision aléatoire
Les différentes phases des algorithmes de reconnaissance des formes Prétraitement extraction de caractéristiques Algorithme de R des F capteur source représentation caractéristiques décision (action) espace des caractéristiques espace des décision espace des sources
des caractéristiques) Buts de la RdF Algorithme de Reconnaissance des Formes Une forme x (vecteur forme des caractéristiques) C’est la forme « y » 1. Un algorithme de reconnaissance des formes est une règle de Décision (déterministe dans le cours) 2. Une règle de décision déterministe établie un partitionnement de l’espace des caractéristiques C’est le problème de discrimination « je ne sais pas », « inconnue »
Règles de décision Frontière de décision fonction b(x)=0 telle que Xn Frontière de décision fonction b(x)=0 telle que D(x-e) = D(x+e) x x x x + + x x x x x + + x x x + + x prototypes + x + X1 Rejet de distance Rejet d’ambiguïté Xn x x Xn x x x x x x + + x x + + x x x x x x x x + + + x x + x x x x + + + + x x + x + x + + X1 X1
des caractéristiques) Buts de la RdF D : Algorithme de Reconnaissance des Formes Une forme x (vecteur forme des caractéristiques) C’est la forme « y=D(x) » Nous voulons un algorithme de RdF performant
Coûts : matrice de confusion Vraie classe 1 2 3 … k … K Décision 1 2 3 . L ? ?? Rejet (ambiguïté et distance) Si je décide l’action al alors que la « vraie » classe est sk Combien coûte cette décision ?
Coûts : matrice de confusion Vraie classe 1 2 3 … k … K Décision 1 2 3 . L ? ?? La réalité notre décision Malade pas malade On soigne 1 Rejet (ambiguïté et distance) on ne soigne pas 100 Si je décide l’action al alors que la « vraie » classe est sk Combien coûte cette décision ?
Coûts : matrice de confusion Vraie classe 1 2 3 … k … K Décision 1 2 3 . L ? ?? La réalité notre décision Malade pas malade 14 On soigne 5 Rejet (ambiguïté et distance) on ne soigne pas 1 1480 Sur les 1500 « cas » testés, voici les résultats de l’algorithmes de RdF