Résumé Domaine des réseaux de neurones
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Domaines d’application de l ’IA Vision Robotique Langages naturels Parole Tâches formelles Sens commun Réseaux neuroniques Systèmes experts
Réseaux de neurones artificiels Chapitre 1 Réseaux de neurones artificiels
Modèle d’un neurone artificiel Sortie x1 x2 x3 x4 xn xN x5 Entrée xk Wm 1 Wm 2 Wm 3 Wm 4 Wm 5 Wm n Wm N netm m am (k) F(net,a) = ym = f(a) f : Binaire ou Signe Linéaire à seuil Sigmoïde
netj : Somme pondérée de toutes les entrées à ce site du neurone netj : lorsqu’il y a 1 site skj : lorsqu’il y a plus d’un site par neurone W j O
x1 x2 x3 x4 x5 xn Générateur du xN Signal d’apprentissage Entrée X = ai (k) F(net,a) yi f(a) neti j x1 x2 x3 x4 xn xN x5 Sortie yi Wi 1 Wi 2 Wi 3 Wi 4 Wi 5 Wi n Wi N Entrée X Générateur du Signal d’apprentissage xn wi n di r
Taxonomie générale # couches dynamique apprentis. modèle
Taxonomie pour la reconnaissance de formes Problématique Extraction Système X des Y de D primitives décision Espace d'entrée Espace des primitives Espace des décisions
Réseau de neurones d’extraction de primitives Les réseaux de neurones extracteurs de primitives Réseau de neurones d’extraction de primitives Système de décision Espace d’objets Espace des primitives Espace des décisions
Composantes principales a) Vecteurs propres Composantes principales y . . . . . . y1 . . z . . . . . . . . . . . z . Système de décision . . . . V2 j v u x1 i j V1 x i Espace d’objets Espace des primitives Espace des décisions
Extraction des primitives b) Prototypes Vecteurs prototypes . P3 . . . P1 . . . . . . . . . Extraction des primitives P1, P2, P3 . . d3 d1 . . z d2 . . . . . . P2 Espace d’objets Espace des primitives Espace des décisions
c) Primitives visuelles Système de décision Espace d’objets Espace des primitives Espace des décisions
c) Primitives visuelles (suite) Éléments linéaires Système de décision Espace d’objets Espace des primitives Espace des décisions
Réseau de neurones classifieur Extraction des primitives Les réseaux de neurones classifieurs Réseau de neurones classifieur Extraction des primitives Espace d’objets Espace des primitives Espace des décisions
Les réseaux de neurones extracteurs/classifieurs Réseau d’extraction de primitives / classifieurs Extraction des primitives Système de décision Espace d’objets Espace des primitives (d’observations) Espace des décisions
Taxonomie pour la reconnaissance de formes
Domaines d’application Chapitre 2 Domaines d’application
Principaux domaines d ’application 1. Classification 2. Regroupement 3. Approximation 4. Prédiction 5. Optimisation de parcours 6. Mémoire associative 7. Commande
Introduction aux Réseaux de Neurones Application en Reconnaissance de Formes B. Solaiman Dépt. Image & Traitement de l'Information Ecole Nationale Supérieure des Télécommunications de Bretagne
? Neurone formel Réseaux Madaline 4 Le neurone formel de McCulloch&Pitts .AND. .OR. .XOR. ….... ? Fonctions logiques
Modèle du neurone formel de Version circuit à seuil x1 1 yq y xn q wn Circuit à seuil xN wN Combinateur linéaire adaptatif Modèle du neurone formel de McCulloch&Pitts 1943
Exemple x1 x2 -1 1 x2 Sortie OU x1 ET OU Sortie ET w1=+1 q =-1.5
4 yq < q q Neurone formel - Réseaux Madaline Le neurone formel et la reconnaissance de formes Discrimination de 2 classes 1 Sortie binaire C1 -1, et C2 +1 2 Surface de décision yq < q q - q = 0 Hyperplan dans N :
La séparation linéaire Neurone formel - Réseaux Madaline 4 Surface de décision 3 Surface de décision 2 x3 x2 x2 D + D + x1 x1 D - D - La fonction réalisée par un neurone formel : La séparation linéaire
Apprentissage des poids synaptiques deux classes C1 et C2 Neurone formel - Réseaux Madaline 4 Apprentissage des poids synaptiques deux classes C1 et C2 linéairement séparables 1 Apprentissage ? Surface de séparation : 2 - q = 0 3 Apprentissage Base d’exemples (Xk, d(k)) d(k) = 1 Estimer wn et q
L’algorithme d’apprentissage de Rosenblatt , 1958 x1(k) w1 y(k) yq(k) xn(k) q wn xN(k) Algorithme de Rosenblatt d(k) Nouveaux [w1, w2,…, wN] wN eq(k) W (t+1) = W (t) + h eq(k) Xk
Interprétation géométrique de l’algorithme de Rosenblatt x3 Xk D W (t+1) = h eq(k) Xk W(t+1) W (t) x1 x2 La modification de poids est proportionnelle à l’erreur et au vecteur d’entrée et est de même direction que ce dernier
tant que CONDITION D’ARRÊT non vérifiée faire Le déroulement de l’algorithme d'apprentissage initialisation aléatoire des poids synaptiques; tant que CONDITION D’ARRÊT non vérifiée faire Pour k = 1 jusqu'à k = K faire présenter la forme Xk à l'entrée; calculer yq(k); calculer eq(k); Pour n = 0 jusqu'à n = N faire ajustement des poids : wn(t+1) = wn(t) + h eq (k) xn(k) Fin; Fin.
Si eq(k) = 0 yq(k)= d(k) 4 Neurone formel - Réseaux Madaline Rosenblatt a démontré, 1960, la convergence de cet algorithme pour la séparation de deux classes à condition qu'elles soient linéairement séparables. Si eq(k) = 0 yq(k)= d(k) w (k+1) = w (k) (i.e. pas de modification des poids synaptiques) Exemple : q = 0, d(k)= 1 y (k) = 0.0001 y (k) = 0.9999 eq(k) = 0
L’algorithme de Widrow-Hoff, 1960 x1(k) w1 yq(k) y(k) q xn(k) wn xN(k) Algorithme de Widrow-Hoff d(k) wN Nouveaux [w1, w2,…, wN] e(k) Minimiser l'erreur analogique quadratique moyenne : [d(k) - y(k)]2 W (t+1) = W (t) + h e(k) Xk
4 Neurone formel - Réseaux Madaline A p p r e n t i s s a g e C1 C2 C1 Widrow-Hoff A p p r e n t i s s a g e Rosenblatt C1 C2 C1 C2 C1 C2
w 6 Le neurone formel en reconnaissance de chiffres Applications - OCR 6 Le neurone formel en reconnaissance de chiffres Séparation entre deux classes Classe 1 : -1 Classe 2 : +1 Imagette d’entrée X Poids synaptiques w
4 réseaux Madaline Neurone formel - Réseaux Madaline AND x1 Décision C1 : {-1,+1} x2 OR Décision C2 : {-1,+1} x1 Solution « artificielle » et si N > 3 ? Naissance de l’architecture multicouches
Réseaux de Neurones Multicouches Algorithme de rétropropagation de gradient B. Solaiman Dépt. Image & Traitement de l'Information Ecole Nationale Supérieure des Télécommunications de Bretagne
Réseaux multicouches X S 1 x1 x2 xn xN Couche d’entrée Couche cachée 1 Couche de sortie X S
sorties binaires +1 et -1 fonctions «dérivables» Comment associer une sortie à chaque classe ? Classe « m » : X Cm sm=1, et sm’=0 si mm’ Quelle est la nature des sorties ? Neurone de McCulloch&Pitts sorties binaires +1 et -1 Comment réaliser l’apprentissage des poids synaptiques ? Algorithme du gradient fonctions «dérivables»
« Légère » modification du modèle proposé par McCulloch & Pitts Fonction seuil 0,2 0,4 0,6 0,8 1 1,2 t f(t) a = 0.5 a =1.0 a = 1.5 la fonction sigmoïde Nouveau paramètre à régler : la pente de la fonction sigmoïde
L’algorithme de la rétropropagation 2 L’algorithme de la rétropropagation du gradient Hypothèse Base d’apprentissage étiquetée B = {( Xk, Dk), k=1, 2, …, K} Xk=[x1(k), .., xi(k), .., xN(k) ]tr k = 1, 2, .., K indice qui désigne une forme d’entrée K nombre de formes d’entrée dans la base N dimension des vecteurs d’entrée Dk=[d1(k), .., dm(k), .., dM(k) ]tr {0, 1}M vecteur de sortie désirée correspondant à Xk
Exemple : Trois classes C1, C2 et C3 Xk=[x1(k), .., xi(k), .., xN(k) ]tr : Classe C1 Dk=[1, 0, 0]tr x1(k) x2(k) xi(k) xN(k) d1(k) = 1 d2(k) = 0 d3(k) = 0
concrètement : s1(k) d1(k) s2(k) d2(k) d3(k) s3(k) x1(k) x2(k) xi(k) xN(k) s1(k) s2(k) s3(k) d1(k) d2(k) d3(k) Fonction du coût : Erreur quadratique instantanée
Algorithme de descente du gradient classique : Fonction du coût à minimiser : Coût(p) Coût(p) P(n+1) = P(n) - h P (n+1) p P(n) Fonction du coût à minimiser : Coût(p1, p2 ,…., pL) Pl(n+1) = Pl(n) - h
Cas d’une couche cachée x1(k) s1(k) x2(k) Xk vj,n wm,j Sk sm(k) xn(k) yj(k) xN(k) sM(k) Vecteur d’entrée Couche cachée comportant J neurones Vecteur de sortie obtenu
Fonction du coût : Erreur quadratique instantanée pour les poids synaptiques wm,j Wm,j Erreur liée à sm
pour les poids synaptiques vj,i ? vj,n
1. La forme Xk est présentée à l'entrée du réseau Le déroulement de l'algorithme de la rétropropagation du gradient La propagation directe 1. La forme Xk est présentée à l'entrée du réseau 2. Calcul des yj(k), j= 1, 2, .., J, et sm(k), m= 1, 2, .., M 3. Calcul des dm(k), m= 1, 2, .., M La rétropropagation 1. Rétropropagation et calcul de j, j=1,2, … ,J 2. Actualisation des poids wm,j 3. Actualisation des poids vj,n
Résumé: fonctionnement du rétro-prop. a) propagation directe
Résumé: fonctionnement du rétro-prop. b) propagation inverse du gradient
Point de vue extraction de primitives Extraction des primitives Discrimination linéaire . * . *
Applications 4 Reconnaissance Optique des Caractères (O.C.R) Seuillage d’images Base d’apprentissage incrémentale Data Mining, Extraction des connaissances Compression d’images (Réseau Diabolo)
Mémoires associatives Chapitre 5 Mémoires associatives
Reconstruction d ’images
5.1 Architecture W x1 y1 y2 x2 xN yM
Phases d’opération 1- Entraînement 2- Recherche Prototype à mémoriser: Mémorisation: Entrée: 2- Recherche
Catégories 1- Mémoire auto-associative 2- Mémoire héréro-associative
5.2 Entraînement Règle de Hebb Algorithme 0- Initialisation Wmn = 0 1- Pour chaque paire T : V 2- xn = tn 3- ym = vm 4- Wmn = Wmn(précédent) + xnym
Algorithme alternatif: produit externe de vecteurs
1- Entrées non-corrélés (vecteurs orthogonaux) 2- Entrées corrélés Phase de recherche 1- Entrées non-corrélés (vecteurs orthogonaux) recouvrement total et parfait 2- Entrées corrélés recouvrement croisé (bruit d’intercorrélation)
Règle Delta Règle itérative utilisée pour des vecteurs à mémoriser qui sont linéairement indépendants mais non-orthogonaux. La règle atténue les effets de corrélation croisée et produit une solution de moindres carrés lorsque les vecteurs ne sont pas linéairement indépendants
5.3 Mémoires anticipatives Algorithme 1- Entraînement a) Hebbien b) Delta 2- Forme (partielle ou bruitée) présentée à l’entrée
5.4 Mémoires itératives 5.4.1 Réseau de Hopfield y1 y3 -2 1 1 x1 1 +4 +1 -1 x2 1 y2
Chapitre 6 Réseaux récurrents
Énergie d ’un réseau de Hopfield Le système tend vers son état d’énergie minimal : Décroissance assurée de la fonction d’énergie Neurones activés à 1 Activations calculées une à une Attention aux minima locaux (A) !
Exemple de calcul de l’énergie 1 V1 V2 -2 -1 V3 +1 +4 S3 S1
6.2 Dynamique du réseau: relaxation Objectif : Partir d’un niveau d’énergie donné, atteindre le minimum local le plus proche pour récupérer l’information stockée Conditions initiales : Forme P Si Poids : Fixes (donnés par un apprentissage antérieur) Neurones : a) Activations calculées une à une b) Selon une séquence aléatoire c) Valeurs 1 pour assurer la minimisation de la fonction d’energie. Résultat : Minimisation de la fonction d’énergie et rappel de formes similaires précédemment enregistrées lors de l’apprentissage
Relation entre changement d’état et minimisation de l’ énergie On a Soit Vk l’activation d’un neurone k quelconque : Si le neurone ne change pas d’état : Si le neurone change d’état : Net(k)
Relation entre changement d’état et minimisation de l’énergie (2) Si on a un changement d’état alors on est assuré de diminuer E :
Algorithme de relaxation DÉPART Tirage aléatoire d’une séquence de visite des neurones Sélection du prochain neurone de la séquence Non Vj tous visités ? Oui Non P stable ? Oui FIN
6.3 Apprentissage « tailler » la courbe d’énergie La règle la plus simple: Hebb L’apprentissage est réalisé AVANT d’utiliser le réseau comme mémoire associative pour retrouver la forme emmagasinée à partir d’information partielle ou bruitée
6.4 Optimisation Une fonction de coût remplace la fonction d’énergie L’optimisation consiste à minimiser la fonction de coût La fonction de sortie utilisée est la fonction sigmoïde (au lieu de la fonction signe ou échelon)
Exemple: Voyageur de commerce Un vendeur doit établir un itinéraire de visite de 5 villes. Il doit partir de Boston et revenir à Boston à la fin de son itinéraire. Chaque ville est visitée une et une seule fois L’itinéraire doit être le plus court possible afin de minimiser les frais d’essence La principale difficulté rencontrée avec ce type de problème est l’explosion combinatoire des solutions à évaluer.
Réseau de Hopfield Lignes villes Colonnes séquence de visite Poids contraintes du problème à résoudre 1 ville visitée 1 seule fois 1 étape 1 seule ville Distance entre les villes Activation du réseau minimisation du coût
Fonction de coût C C1 C2 C3 C4 Vxi : neurone correspondant à la ville x à l’étape i dxy : distance entre les villes x et y A, B, C, D : facteurs de pondération pour les contraintes
Calcul des poids