Les réseaux de neurones artificiels Pierre Borne p.borne@ec-lille.fr
Les Réseaux de Neurones Artificiels Présentation 2 Apprentissage 3 Analyse en composantes principales 4 Classification 5 Réseaux de Hopfield 6 Modélisation et commande des processus
Les réseaux de neurones artificiels Présentation
Présentation Neurone biologique Dendrites Axone Synapse Corps cellulaire
Présentation Neurone artificiel x 0 w 0 x w x i w i Σ f z x n w n y = n i = 0 w x i i ( ) z = f y
Présentation Fonctions d activation a) b) c) d) e) f) g) h)
Présentation Le perceptron Le perceptron comporte une couche d entrée constituée de neurones élémentaires dont la fonction d activation est linéaire et une couche de sortie constituée d un ou de plusieurs neurones dont la fonction d activation est en général du type plus ou moins, ou tout ou rien
Présentation Schéma du perceptron x 0 Σ / w 0 w j Σ. f z x j Σ / w ij w in Σ f z i. x n Σ / w mn Σ f z m y = Wx + w0x0
PERCEPTRON représentation matricielle x W + y z x 0 = w 0
Perceptron Séparation linéaire Σ f z x Σ / Σ f z 2 Σ f z 3 x 2 Σ / Σ f z 4 Σ f z 5
Classification à partir du Perceptron
Présentation des réseaux multicouches Réseaux multicouches Dans ce cas, le réseau comporte en général au moins trois couches : une couche d entrée, une ou plusieurs couche(s) cachée(s) et une couche de sortie l information circulant de l entrée vers la sortie à travers la (les) couche(s) cachée(s).
Réseaux multicouches, notations ( l ) z i ième : sortie du i neurone de la couche l à neurones () () () () l l l l z = z, z 2,, z n l ( l) w ième ij : poids liant le j neurone de la couche l - ième au i neurone de la couche l () l ième fi () : fonction d activation du i neurone de la couche l z ( ) i = x i n l x x x x n =, 2,, ( l + ) ( l + ) ( l) ( l + ) y = w z + w i ij j i0 j= T T nl
Représentation Schéma du réseau multicouches
Représentation matricielle x () z + ( 2) W ( 2) ( 2) y ( 3) + ( 2) f z W ( 3) + y f ( 3) ( 3) z ( 2) w 0 w ( 3) 0
Réalisation du OU exclusif ( 3) Il apparaît que z est égal à pour x x2 et à 0 dans le cas contraire. Il vient en effet : ( 2) 2x+ 2x2 > 0 si x et/ou x 2 = z = 2 2x + 2x < 0 si x= x2= 0 z = 0 2 2 x x2+.5 < 0 si x= x2= z 2 = 0 2 x x2+.5 > 0 si x et/ou x 2 = 0 z 2 = ( ) 3 Pour avoir z =, il faut avoir : ( 2) ( 2) z = z2 = Ce qui exclut le cas : x = x. 2 ( ) ( ) ( )
Présentation Réseaux de neurones récurrents R R x0 () t R ( q ) ( ) z t+ R R
Présentation Schémas simplifiés R R R xt () R RN R z( t+) xt ( ) RNR z( t+)
Les Réseaux de neurones artificiels APPRENTISSAGE
Apprentissage non supervisé Règle de Hebb wij zi ( t) : valeur à l instant du poids liant le neurone j au neurone i ième () t : sortie à l instant t du i neurone ( ) : fonction d activation du type tout ou rien f v w t+ = w t +µ z t z t ( ) ( ) ( ) ( ) ij ij i j w t+ = w t + µ z t z t γw t ( ) ( ) ( ) ( ) ( ) ij ij i j ij
Apprentissage non supervisé Règle de Kohonen Cette règle s écrit sous la forme : ( ) w t+ = w t + µ z t w t ( ) ( ) ( ) ( ) ij ij i ij avec : i I( t). Elle permet au neurone d apprendre le vecteur présenté en entrée et donc d être utilisé en reconnaissance des formes. L apprentissage a lieu lorsque l indice du neurone appartient à un ensemble It ( ), défini en fonction des objectifs.
Apprentissage supervisé Règle du perceptron L objectif est d apprendre K patrons () z ( t) p t ( ) Notons le patron présenté à l instant t, la sortie désirée et la sortie réelle ème Erreur pour la sortie du neurone ( + ) = ( ) + ( ) ( ) ( + ) = () + () w t w t e t p t i i i w t w t e t i0 i0 i Variante de la méthode w t+ = w t +η t e t p t ( ) ( ) ( ) ( ) ( ) i i i i p k s t e t = s t z t ( ) ( ) ( ) i i i
Apprentissage compétitif standard ( ) () = ( ) ( ) z t w t x t j j wj = wj, wj2,, w jn ( 2 ) () = arg min ( ) ( ) z t x t w t n E t j t x t wj t 2 () = α () () () () E t w j j j 2 j= j T () t x() t w () t ( ) = α ( + ) = () η () w t w t t j j () E t w j j
Apprentissage compétitif standard Réseau x x k x n ( ) z j z ( ) ( ) z n Min ( 2) z Couche d observation Couche intermédiaire Couche de sortie
Apprentissage compétitif Algorithme des K-moyennes C est l algorithme le plus simple et le plus répandu en classification automatique. Centre Centre 3 Centre 2
C j Algorithme des K-moyennes Classe C j x p C x p w = min x p w ( ) ( ) ( ) j j k k N K E = αk ( p) x( p) w 2 p= k= k 2 E w w j k j = N p= j ( j) ( ) ( ) = α p x p w N p= α N j p= ( p) x( p) α j ( p)
Algorithme des K-moyennes Cet algorithme converge en un nombre fini d itérations, mais la solution obtenue peut varier suivant l initialisation. Si les observations arrivent séquentiellement, il est possible d adopter une forme itérative de l algorithme. Notons x() t l observation disponible à l instant t et w ( t) le vecteur définissant le centre de la classe C j au même instant. Il vient : α j ( t + ) wj( t+ ) = wj( t) + ( x( t+ ) wj( t) ) N j ( t+ ) avec : N j () t le nombre d éléments de la classe C j à l instant t : N ( t+ ) = N ( t) + α ( t+ ) j j j A l instant t +, seul le centre ( t ) α + = j est actualisé, les autres restant inchangés. w j tel que : j
Apprentissage compétitif Apprentissage pénalisant le rival ( ) ( ) g = arg min x t w t k () () r = arg min x t w t k g k k w r w g
Apprentissage compétitif Apprentissage pénalisant le rival ( + ) = ( ) + η ( ) ( ) ( ) ( ) w t w t t x t w t g g g ( + ) = () γ () () () ( + ) = ( ) {, } ( ) w t w t t x t w t r r r w t w t k g r k k
Algoritme compétitif pénalisant le rival - si le nombre K de neurones est supérieur au nombre réel de classes en présence, les neurones gagnants évoluent vers les centres des classes et les autres s éloignent de l ensemble des observations ; - si le nombre K de neurones est inférieur au nombre de classes en présence, il y a oscillation des vecteurs poids entre les classes durant l apprentissage ; ce qui indique la nécessité d ajouter une ou plusieurs classes.
Apprentissage supervisé Réseau à 3 couches x i ( ) z k ( 2) z j ( ) 3 z i Couche d entrée neurones Couche cachée neurones Couche de sortie neurones
Apprentissage supervisé Rétropropagation du gradient z t f w t f w z t w t w t i n n2 n ( 3 ) ( 3 () ) ( 2) ( () ) ( 2 () ) ( 3 () ) i = ij jk k + j0 + i0 (), =,, 3 j= k= n E() t = z t s t 2 ( ( 3 ) () ()) i i 3 2 i= () l ( ) () l () η () w t+ = w t t ij ij w l ij ( ) E t ()
Apprentissage supervisé du réseau multicouche Méthode de rétropropagation du gradient n q E() t = z t s t 2 i= ( ( q ) () ()) 2 i i () l ( ) () l () η () W t+ = W t t ( ) E t w () l
Apprentissage supervisé Rétropropagation du gradient Couche Couche l Couche l Couche q l tot i ( ) l z i tot ( l ) l j z j
Algorithme de rétropropagation du gradient () () l () l () () l ( ) () l E t z () i t toti t wij t+ = wij t η () l () l () () l z tot i t i t w ij ( ) ( ) ( ) ( ) ( ) ( ) () ( ) ( ) w t+ = w t η t δ t z t q q q q ij ij i j δ ( q ) () ( ( q ) () ()) t = z t s t i i i q toti ( q ( )) i t f tot t ()
Les réseaux de neurones artificiels Analyse en composantes principales
Analyse en composantes principales Ensemble des observations: {,,,,, } X = x x x x 2 Ensemble de leurs projections : {,,,,, } Y = y y y y 2 [,,, ] x = x x x k k k2 kn [, 2,, ] ( X) y = y y y Y k k k km = ϕ T T p p x p P n P R y p R m
Analyse en composantes principales Extraction de la composante principale x P Σ= P p= ( xp µ )( xp µ ) T x 2 Σ y P xp P p= µ = x n n () w () t x () t y t = i= i i ( ) ( + ) = ( ) + η ( ) ( ) ( ) ( ) ( ) w t w t t y t x t y t w t i i i i
Analyse en composantes principales Réseaux de neurones hiérarchiques x x j x n Σ Σ Σ y y i y m i T ( ) = ( ) ( ) ; =,2,, y t w t x t i m i i wi t wi t t yi t x t yl t wl t l= ( + ) = () + η () () () () ()
Analyse en composantes principales Réseaux de neurones hiérarchiques L algorithme de Hebb généralisé est le suivant : η t petit paramètre positif et choisir le nombre maximum ) Choisir ( ) d itérations T. 2) Initialiser les poids du réseau à des valeurs aléatoires proches de zéro. 3) Présenter au réseau une observation xt ( ) de la base d apprentissage. 4) Calculer les équations du réseau et actualiser les poids conformément à la règle précédemment définie. 5) Tant que t < T, faire t = t+ et aller en 3.
Analyse en composantes principales Réseaux de neurones adaptatifs x x j x n Σ Σ Σ y y i y m i T () = () () + () () =, 2,, l= 2 ( + ) = ( ) + η ( ) ( ) ( ) ( ) ( ) 2 ( + ) = ( ) η ( ) ( ) ( ) + ( ) ( ) y t w t x t v t y t j m i i il l ( ) ( ) w t w t t y t x t y t w t i i i i i v t v t t y t Y t y t v t i i i i i i
Analyse en composantes principales Perceptron avec projection dans la couche cachée......
Analyse en composantes principales Méthodes de projection non linéaire L algorithme de Sammon consiste à déterminer la projection qui minimise la fonction d erreur : E PNL x y ( d d ) 2 uv uv x = x duv uv, P d uv uv, P EPNL 2 E PNL yp( t+ ) = yp() t η () t 2 yp E y p
Analyse en composantes principales Perceptron avec projection dans la couche cachée x p Σ f ( 2) z Σ Σ ( 3) z Σ f Σ x pn Σ ( 3) z n
Réseaux de neurones artificiels Classification
Classification Classification automatique supervisée Exemple : 0 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 0
Classification Réseaux multicouches x ( ) y ( 2) y ( 3) y ( ) 3 z W ( ) + + () w 0 + La première couche de neurones permet de définir des séparateurs linéaires afin de distinguer les classes de vecteurs. La deuxième couche réalise la fonction logique ET permettant de définir des zones et la troisième couche va servir à regrouper les zones de même nature en réalisant la fonction OU.
Classification Réalisation du «ou» exclusif - 2 2 - -.5 Σ Σ Σ Σ -.5
Classification Cartes topologiques de Kohonen sorties sorties connexions f ( σ ) (a) (b) = + e σ w x = min w x ( ) ( ) ( ) ( ) ( ) ( ) v ( ) w t+ = w t + α v, v' η t x t w t v' V v' v' v' r r
Réseaux de neurones artificiels Réseaux de Hopfield
Réseaux de Hopfield Réseaux totalement connectés x W + f z............ ( ) = signe( ) f y y i i
Réseaux de Hopfield discrets Reconnaissance de patrons E = w z z x z 2 n k = H ij i j i i i j i p T P W = pkpk I n ième Il vient si le i neurone est choisi pour l actualisation l instant t+ : ( ) ( ) z t+ = z t si j i j j z ( t+ ) = signe w z + x j i i ij j i Initialisation du réseau : zi = xi i
Réseaux de Hopfield continus Optimisation Critère : Contraintes : T T E' = x Tx+ b x+ c 2 ( ) f u i T T E = xrx+ sx+ δ avec x= x, x2,, x n 2 T r x s = 0 i =,2,, l = = x ui + exp τ T i i i T T E = xtx+ bx 2 de E x du x = = + i + dt x u dt τ du dt [ ] E = = + x T i ( Tx b) diag ( x ) ( Tx b) ( Tx b) T
Réseaux de Hopfield continus Schéma du réseau x T i Σ u i x i T in x n Tii 0 b i
Réseaux de Hopfield continus Problème du voyageur de commerce V xi Visiter n villes. grandeur égale à si le voyageur visite la ville x à l étape i d xy représente la distance pour aller de la ville x à la ville y E = d V V + d V V x ( xy xi y i+ yx xi y i ),, 2 i x y x V xi = i = x xi i 2 2 E2 = Vxi + Vxi = 0 x i i x n 2 Le réseau de Hopfield est constitué de neurones V
Réseaux de neurones artificiels Modélisation et commande des processus
Modélisation et commande des processus La faculté de recopie par apprentissage des Réseaux de Neurones (RN) permet une utilisation particulièrement intéressante pour la modélisation et la commande des processus, en particulier en utilisant des réseaux de neurones dynamiques. (,,,,,,, ) y = f u u u y y y k+ k k k n k k k n N D
Modélisation et commande des Modélisation processus R R R commande sortie k RN u y k + R R R k RND u y k +
Modélisation Modèle direct commande processus sortie système d apprentissage RND
Modélisation Modèle inverse commande processus sortie système d apprentissage RND modèle inverse
Commande Utilisation du modèle neuronal inverse consigne sortie système de commande RND modèle inverse processus
Commande Commande à Modèle Interne neuronal consigne système de commande processus sortie RND modèle direct +
Commande Recopie d un système de commande RND correcteur consigne système d apprentissage système de commande modèle du processus sortie
Commande Commande à modèle de référence modèle de référence du système bouclé consigne système d apprentissage RND système de commande commande modèle du processus sortie
Réseaux de neurones artificiels Les réseaux neuro-flous
Réseaux neuro-flous Le réseau neuro-flou, étudié ici, comporte cinq couches. La première couche, formée de neurones linéaires, transmet sans changement les variables d entrée à la deuxième couche qui calcule les degrés d appartenance des variables d entrée aux diverses classes des situations préalablement déterminées. La troisième couche calcule le degré d appartenance de la partie prémisses en réalisant l opérateur ET, par exemple en prenant le minimum ième des appartenances ayant activé la k règle. En notant I k l ensemble des indices des fonctions d appartenance ayant permis d activer cette règle, il vient : z ( z ) l ( 3) ( 2) k = min l I k Les poids liant la troisième à la quatrième couche sont égaux à.
Réseaux neuro-flous La quatrième couche calcule les degrés d appartenance aux parties conclusions dont les classes sont définies par les fonctions d activation des neurones de cette couche. Elle réalise la fonction OU, par ième exemple pour la j variable de la couche 4 : y { zk } ( 4) ( 3) j = max k I j I j étant l ensemble des indices des variables de la troisième couche, intervenant dans la ième détermination de la j variable de la quatrième couche. La fonction d appartenance associée à cette variable peut être, là encore, de la forme triangle, trapèze ou fonction gaussienne de la forme : 2 ( 4 ) u c j f j ( u) = exp ( 4 ) σ j La cinquième couche du réseau réalise la défuzzification, par exemple suivant l expression : z ( 5) i = j I i c j I ( 4) ( 4) ( 4) i σ j j j σ ( 4) ( 4) j z j z
Réseaux neuro-flous { } ( 5 ) ( 5 ) z = z i 5 ième couche : couche de sortie { } ( 4 ) ( 4 ) z = z j 4 ième couche { } ( 3 ) ( 3 ) z = z k 3 ième couche { } ( 2 ) ( 2 ) z = z l 2 ième couche { } x x m = ière couche : couche d entrée x x x 2 n
Réseaux de neurones artificiels Questions?