Perceptron multicouches

Slides:



Advertisements
Présentations similaires
Plan Les réseaux de neurones Le réseau RBF RBF et Mushroom Historique
Advertisements

III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES
Inférence statistique
LES RESEAUX DE NEURONES
A Pyramid Approach to Subpixel Registration Based on Intensity
Modélisation des systèmes non linéaires par des SIFs
Chapitre II.Rappels mathématiques et complexité
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Les système linéaires Stéphane Paris.
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Un neurone élémentaire
Réseaux de neurones artificiels « la rétropropagation du gradient »
Séminaire de lobjectif « forage et production » Beaune, les 26,27 et 28 Avril 2000 Outils danalyse statistiques « programmation par lexemple » S. Canu,
GPA750 – Ordonnancement des systèmes de production aéronautique
Méthode des k plus proches voisins
Méthodes Connexionnistes Apprentissage Fusion d’informations
Régression linéaire simple
RECONNAISSANCE DE FORMES
Optimisation non linéaire sans contraintes
Réseaux de neurones.
Les réseaux de neurones
GPA-779 Perceptron multicouche
Résumé Domaine des réseaux de neurones.
Courbes de Bézier.
Révision de math pour ECO 2012
La corrélation et la régression multiple
La régression logistique
Les modèles linéaires (Generalized Linear Models, GLM)
Chapitre 1 Le Sens des nombres
Algorithmes d ’approximation
Structure discriminante (analyse discriminante)
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Technique de points de contrôle: Formes de Bézier
Préférences et fonctions d’utilité
La régression multiple
Principes de tarification de base
Les réseaux de neurones artificiels (RNA)
Méthodes de prévision (STT-3220)
Chapitre 5 Prévisions.
Modélisation géométrique de base
Le principe de superposition ou Diviser pour régner.
MAXIMISER les RESULTATS
Introduction Objet de la programmation mathématique, construction d'un modèle mathématique, problème général de programmation mathématique et classification,
Les réseaux de neurones
Présentation de la méthode des Eléments Finis
DEA Perception et Traitement de l’Information
Régression linéaire multiple : hypothèses & tests. Partie 3.
La décomposition en valeurs singulières: un outil fort utile
 La fondation des réseaux neuronaux : L’être humain apprend d’abord par analogie, et le raisonnement inductif et déductif vient après.  La fondation.
Apprentissage Statistique et Techniques de Ré-échantillonnage
SUITES cours 24.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Synthèse logique: Quelques algorithmes et techniques La synthèse logique consiste en un très.
Méthode différentielle Mercredi 8 mars 2006 Principe, historique, recherches actuelles.
Suites numériques Définitions.
L’estimation.
ASI 3 Méthodes numériques pour l’ingénieur
Etude et test des algorithmes d'estimation de mouvement en MPEG
Christelle Scharff IFI 2004
Les réseaux de neurones à réservoir en traitement d’images
Institut de sciences et technologies Département d’informatique
Réseaux de neurones à base radiale
Karima Tabari1, Mounir Boukadoum1, Sylvain Chartier2,3, Hakim Lounis1
Les réseaux de neurones à réservoir en traitement d’images
Chapitre 1 - Introduction.
Marché des capitaux.
Le chaos pourquoi ? Permet de modéliser un type de mouvement récent qui n’est ni uniforme, ni accéléré. Des dynamiques chaotiques ont été mises en évidence.
Méthode des moindres carrés (1)
GPA-779 Application des systèmes experts et des réseaux de neurones.
Post-optimisation, analyse de sensibilité et paramétrage
Perceptron multicouche
Transcription de la présentation:

Le Perceptron Multicouches et l’apprentissage par retropropagation d’erreur

Perceptron multicouches RNA le plus utilisé ! Des théorèmes existent prouvant : Approximateur universel de toute fonction bornée et suffisamment régulière. Parsimonieux en paramètres (en comparaison avec un algorithme linéaire). Converge vers une solution Unités de sortie Unités cachées Unités d’entrée Il n’existe pas de méthodes formelles pour régler les paramètres Apprentissage à faible plausibilité biologique

Propriétés Topologie non récurrente à propagation directe Au moins une couche cachée faite d’unités à fonction de sortie non linéaire (e.g., sigmoïde) Apprentissage supervisé, basé sur l’erreur entre la sortie désirée et la sortie obtenue (variante de la règle des moindres carrés, appelée règle delta généralisée) En pratique, les poids synaptiques sont déterminés par la méthode de descente du gradient de l’erreur

Capacité de classification

Topologie et fonctions de sortie Au moins une couche cachée Les neurones d’entrée sont linéaires, ceux de la couche cachée non et les neurones de sortie peuvent être les deux Connexions inter-couches, mais pas intra-couches Unités non linéaires v11 x1 z1 w1k v1p vn1 Yk xn zp w2k vnp

Détermination de la sortie Appliquer un vecteur x aux neurones d’entrée Calculer le vecteur de sortie z de la couche cachée Calculer le vecteur de sortie y de la couche de sortie y est le résultat recherché. Le réseau projette donc x dans y

L’apprentissage par retropropagation de l’erreur La règle delta s’applique pour adapter les poids W entre la couche cachée et la couche de sortie Elle ne s’applique pas pour les poids V entre la couche d entrée et la couche cachée, car on ne connaît pas les valeurs désirées pour les unités cachées z1, ... zp Solution: Propager les erreurs déterminées à la sortie vers les couches cachées ; on pourra alors utiliser la règle delta. La retropropagation d’erreur peut continuer plus bas si plus d’une couche cachée.

l’algorithme de retropropagation But: minimiser l’erreur quadratique moyenne d’apprentissage Pour une seule paire d’apprentissage Approche: descente du gradient Pour Si on exige que E change dans la direction opposée à : Mais puisque pour petit, on obtient que => E décroît de façon monotone

Dans le cas du PMC, on a La descente de gradient demande que change dans la direction opposée à Mais puisque on a, en posant Donc, la descente de gradient garantit que E sera monotone décroissant, avec

Adaptation des poids W de la couche de sortie Pour un poids particulier (unités vers ) et yk=f(yink), on a : yk wjk vij xi zj v0j 1 w0k La dernière égalité vient du fait que seul un des termes de , implique Si on pose d = ( t - y ) f ' ( a ) K K K y K ¶ E Alors D w = a × ( - ) = a × d × z JK ¶ w K J JK

Adaptation des poids V de la couche cachée Pour un poids particulier (unités vers ) yk wjk vij xi zj v0j 1 w0k La dernière égalité vient du fait que seul un des termes dans , implique

Adaptation des poids V de la couche cachée yk wjk vij xi zj v0j 1 w0k

L’algorithme d’apprentissage Étape 0: initialiser les poids (W and V), incluant les biais, à de petite valeurs aléatoires dans [-0.05, 0.05] Étape 1: Répéter Pour chaque paire d’apprentissage (x,t) /* Passe avant (calcul du vecteur de sortie y) */ - Appliquer x à la couche d’entrée - Calculer l’activation zinj et la sortie Zj de chaque neurone caché zinj = v0j + Somme(xi * vij); zj = f(zinj); - Calculer l’activation yink et la sortie Yk de chaque neurone de sortie yink = w0k + Somme(zj * wjk); yk = f(yink); yk wjk vij xi zj v0j 1 w0k

/* Passe de retropropagation de l’erreur */ - Pour chaque unité de sortie Yk k = (tk – yk)*f’(yink) /* erreur */ wjk = * k*zj /* utilisé pour changer w */ - Pour chaque unité cachée Zj inj = Somme(k * wjk) /* erreur retropropagée */ j = inj * f’(zinj) /* erreur finale */ vij =  *  j*xi /* utilisé pour changer w */ /* Adaptation des poids */ - Adaptation des poids incluant les biais wjk = wjk + wjk pour tous les j, k; vij = vij + vij pour tous les i, j; Jusqu’à ce que la condition d’arrêt soit atteinte yk wjk vij xi zj v0j 1 w0k

Notes : L’erreur pour un neurone caché z est la somme pondérée des erreurs deltak de tous les neurones de sortie Yk, multipliée par la dérivée de la sortie du neurone : deltainj = Sum(deltak * wjk)* f’(zinj) deltainj joue le même rôle pour les neurones caché vj que (tk – yk) pour les neurones de sortie yk La fonction sigmoïde peut être unipolaire ou bipolaire Condition d’arrêt : L’erreur de sortie totale E = Somme(tk – yk)2 devient inférieure à un seuil acceptable E tend à se stabiliser Le temps maximum (ou nombre d’époques) est atteint. Il est utile d’avoir des fonctions de sortie dont les valeurs des dérivées s’expriment en fonctions des valeurs des fonctions:  ) 1 /( ( e x f + = - )) ( 1 )( ) ' x f - =

Points forts des réseaux PMC Bon pouvoir de représentation Toute fonction de type L2 (la plupart des fonction utiles) si on utilise suffisamment de neurones et/ou de couches Applicable aux problèmes à séparabilité linéaire ou non L’apprentissage par descente de gradient est applicable dans la plupart des cas Bonne capacité de généralisation en général Problème de sur-adaptation/sur-apprentissage : Le réseau apprend l’ensemble d’apprentissage parfaitement mais donne de faux résultats pour les données n’appartenant pas à l’ensemble. Domaine d applications très vaste Demande seulement un ensemble représentatif des données N’exige pas de connaissance profonde des relations d’entrées- sorties (problèmes mal structurés)

Points faibles des réseaux PMC Le réseau est une boîte noire La relation entre les entrées et les sorties est seulement fournie sous forme (x, y). Difficile de dériver une explication causale des résultats. Les neurones cachés et les poids obtenus n’ont pas de sens sémantique (paramètres opérationnels plutôt que des traits caractéristiques du domaine) Le pouvoir de généralisation n’est pas garanti même si l’erreur d’apprentissage est réduite à 0 La descente de gradient peut converger vers une solution sous optimale Peut converger vers un minimum local de l’erreur L’apprentissage peut être lent Les cas complexes peuvent demander des dizaines de milliers de périodes d’apprentissage

Points faibles des réseaux PMC Le réseau est sensible aux valeurs de x et w Or l’activation dépend de x et w. Remèdes possibles: Utiliser des fonctions d’activation non saturantes Normaliser les poids périodiquement L’apprentissage (précision, vitesse et, généralisation) dépend aussi des paramètres utilisés Poids initiaux, taux d’apprentissage, # de couches, # de neurones cachés... La plupart des paramètres peuvent seulement être déterminés empiriquement si => x ±¥ ® )) ( 1 )( ) ' f - = /( e +

Paires d’apprentissage: Qualité et quantité déterminent la qualité de l’apprentissage Doivent être représentatifs du problème Échantillonnage aléatoire Représentation homogène Pas de formule théorique pour déterminer le nombre requis : Règle heuristique : Si W: # total de poids à déterminer et e est le pourcentage d’erreur de classification, alors : si P = W/e patrons et (1 – e/2)P sont classés correctement après apprentissage, le réseau pourra classer correctement (dans un sens statistique) une proportion de (1 – e) patrons non compris dans l’ensemble d’apprentissage Exemple: W = 80, e = 0.1, P = 800. Si le réseau apprend à classer correctement (1 – 0.1/2)*800 = 760 des patrons, on peut présumer que le réseau donnera le bon résultat 90% du temps pour d’autres patrons d’entrée.

Format des données : Binaire vs bipolaire Données à valeurs réelles La représentation bipolaire est plus efficace pour l’apprentissage : Pas d’apprentissage lorsque avec une représentation binaire. # de patrons pouvant être représentés avec n neurones dans la couche d’entrée : Binaire : 2n ; bipolaire : 2 n-1 si pas de termes de biais, dû à la propriété d’antisymétrie (si la sortie pour x est y, elle sera de –y pour –x) Données à valeurs réelles Neurones d’entrée : valeurs d’entrée (sujettes à normalisation) Unités cachées : sigmoïdes (uni ou bipolaires) Unités de sortie : fonction de sortie souvent linéaire (e.g. identité) L’apprentissage peut être beaucoup plus lent qu’avec des données binaires/bipolaires (peut être avantageux de convertir les valeurs réelles en binaire/bipolaire)

Combien de couches cachées et de neurones cachés par couche ? Théoriquement, une couche cachée suffit (si suffisamment de neurones dedans) pour reproduire toute fonction de type L2 Il n’existe pas de résultat théorique sur le nombre minimum de neurones cachés nécessaires Règles empiriques : n = # de neurones d’entrée; p = # de neurones cachés Pour des données binaires/bipolaires : p = 2n Pour des données réelles : p >> 2n Commencer toujours avec un seule couche cachée ; cependant des couches cachées multiples avec moins de neurones au total peuvent apprendre plus vite, pour la même performance, dans certaines applications.

Sur-apprentissage/sur-adaptation Le réseau opère correctement avec les patrons appris (erreur totale E  0), mais pas avec de nouveaux stimuli. Le sur-apprentissage peut devenir sérieux si Les patrons d’apprentissage ne sont pas représentatifs L’ensemble d’apprentissage est très bruité On peut prévenir le sur-apprentissage par Validation-croisée : On divise les patrons en un ensemble d’apprentissage et un ensemble de test(e.g., 90%/10%) et on vérifie périodiquement le réseau avec les patrons de test; l’apprentissage est arrêté lorsque les résultats commencent à se détériorer. On arrête l’apprentissage tôt (avant E  0) On ajoute du bruit aux échantillons d’apprentissage: (x,t) devient (x+bruit,t) (pour x binaire/bipolaire: on change des bits de manière aléatoire)

Autres fonctions de sortie Modifications sur la fonction sigmoïde : On change l’image de la fonction de (0,1) à (a, b)

s joue donc un rôle similaire à a, mais avec un effet plus drastique On change la “pente” Avec une plus grande valeur, on atteint plus vite la région de saturation, ce qui donne un apprentissage plus rapide ; avec une valeur plus petite, c’est l’inverse qui se produit s joue donc un rôle similaire à a, mais avec un effet plus drastique Pente adaptative (chaque neurone a une pente apprise)

Une fonction sigmoïde avec une saturation plus lente la dérivée de la fonction logistique Une fonction non saturante et différentiable

Fonction de sortie non sigmoïdale Fonction a base radiale: elle possède un centre c et une étendue, ce qui permet un apprentissage local.

Un exemple d’application Apprentissage du OU exclusif Paramètres initiaux poids: nombres aléatoires pris dans [-0.5, 0.5] Unités cachées: une couche de 4 unités (topologie de réseau 2-4-1) biais utilisés; Coefficient d’apprentissage : 0.02 Modèles testés représentation binaire vs. bipolaire Critères d’arrêt Normalisation des poids initiaux (Nguyen-Widrow) Bipolaire est plus rapide que binaire convergence: ~3000 périodes pour binaire, ~400 pour bipolaire

L’augmentation de la marge d’erreur peut accélérer la convergence est une limite asymptotique de la fonction sigmoïde, Lorsqu’une sortie est près de , elle tombe dans une région de saturation Utiliser La normalisation des poids initiaux peut aider Aléatoire pur Nguyen-Widrow Binaire 2,891 1,935 Bipolaire 387 224 Bipolaire avec 264 127

Compression de données Autoassociation de patrons (vecteurs) en utilisant un petit ensemble d’unités cachées: Patrons d’entrée de dimension n, unités cachées de dimension m < n (réseau n-m-n) Après entrainement, l’application d’un vecteur x à l’entrée du réseau donne le même vecteur à la sortie Le vecteur z à la sortie des unités cachées est une représentation compressée de x (de dimension m < n) n m V W m n V W x z Communication channel sender receiver

Autres applications. Diagnostique médical Contrôle de procédés Entrées: manifestation (symptomes, analyses de laboratoire, etc.) Sorties: maladie(s) possible(s) Problèmes associés : Causalité entre entrées et sorties non triviale Détermination des entrées à utiliser non triviale L’emphase est présentement mise sur des tâches de reconniassance spécifiques e.g., predire le cancer de la prostate ou l’hépatitite B à partir d’analyses sanguines Contrôle de procédés Entrées : paramètres environmentaux Sorties : paramètre de commande Permet d’apprendre de fonctions de commande non linéaires ou mal strcturées

Prédiction boursière Évaluation de crédit Etc. Entrées : indicateurs financiers (macroeconomiques et/ou techniques : indice à la consommation, taux d’intérêts, indice DJ,prix des actions, etc.) quotidiens, hebdomadaires, mensuels, etc. Sorties : prédiction du prix des actions ou des indices boursiers (e.g., S&P 500) Ensemble d’apprentissage: Données historiques des dernières années Évaluation de crédit Entrées : Information financière personnelle (revenu, dettes, habitudes de paiement, etc.) Sorties : cote de credit Etc.

Clés du succès Topologie, fonction de sortie et règle d’apprentissage adéquates (plusieurs variantes de la déscente gradient existent !) Vecteurs d’entrée pertinents (incluant tous les traits importants) : utiliser les connaissances du domaine Patrons d’apprentissage représentatifs Pas évident 