Introduction aux Réseaux de Neurones Cours 2 Master Cours d'intelligence artificielle Alexandre Pitti
Rappel: neurone artificiel le perceptron Définition : linéaire, fonction paramétrée avec sortie normée ou bornée. Entrée Xi sortie Yi sortie désirée Di Règle d'apprentissage W ( t +)=W ( t )+Δ W Δ W =η( Di Y i) X i n ( y =f w 0 + wi x i i= ) y w0 x x2 x3
Fonctions d'activation threshold linear y y a piece-wise linear y a a sigmoid y a
Le Perceptron : exemples Le OU logique Le ET logique 0,5,5
Limitation du Perceptron Le XOR (ou exclusif)????
Limitation du Perceptron Linéairement séparable Non -Linéairement séparable
Le Perceptron : Limitations Problèmes linéairement séparables Latitude Augmenter le nombre de couches couche 2 couches 3 couches
Régression non-linéaire bias model y, y^ ^ linear model y, y^ ^ ^ y = θ 0 = E ( y) ^ y= x θ T x x non-linear model y, y^ ^ non-linear interpolation model y, y^ ^ ^ ^ y = m(x, θ) y = m(x, θ ) x x Besoin de réguler la complexité du modèle par rapport aux données, comment reproduire le signal: 2 y =f ( x )+N (0, σ ) 8
Modèles non-linéaire polynomiaux Une manière d'étendre les possibilités du réseau de neurones et de considérer une expansion polynomiale 2 2 y =m( x,θ )=θ0 + x θ +x 2 θ 2 +x x 2 θ3 +x θ4 +x 2 θ5 bias linear bilinear quadratic Expension peut être faîte à n'importe quel ordre: cubique, quadratique θ3 =θ4 =θ5 =0 Le modèle linéaire est produit quand: un modèle polynomial est linéaire dans ses paramètres T y =x θ 2 2 x=[ x x 2 x x 2 x x 2 ] 9
La méthode du gradient Entrée : n poids reliant les n informations à notre neurone ayant des valeurs quelconques N exemples (Xk, Dk) où Xk est un vecteur à n composantes x_i, chacune représentant une information de cet exemple. Le taux d'apprentissage alpha. Sortie : les n poids modifiés POUR <= i <= n dw_i = 0 FIN POUR POUR TOUT exemple e = (Xk, Dk) Calculer la sortie Yk du neurone POUR <= i <= n dw_i = dw_i + alpha*(dk - Yk)*x_i FIN POUR FIN POUR POUR <= i <= n w_i = w_i + dw_i FIN POUR X Les entrées Y La sortie
Modèle neuronal multi-couche Le perceptron multi-couche est une généralisation du modèle du perceptron : modèles linéaires y = W (q) j (q) ij x (q ) i i= (q ) j (q ) j x =f ( y ) La sortie devient l'entrée! Entrées N q (q) modèles composés Après avoir appris des classes linéairement séparables, la deuxième couche généralise encore une fois en construisant des modèles à composition de couches.
Propriétés des Perceptron MC Un PMC a une ou des couches cachées. Les unités des couches cachées ont des fonctions d'activations non-linéaires (fonctions lissées). Un PMC peut approximer tous les problèmes de classifications non-linéaires. Un PMC présente un haut degré de connectivité, déterminé par les synapses du réseau. Un changement de connectivité requiert un changement des poids synaptiques.
Problèmes Un des problèmes est lié à l'architecture : Quelles connexions entre les différentes couches? Combien de couches? Combien d unités par couches? Le dernier problème est liée à l'apprentissage. Quand on a une seule couche, on peut appliquer la règle de Widrow-Hoff ou du perceptron. Mais quelle règle appliquer sur les unités de la couche cachée étant donné que l'on a aucune information sur la sortie désirée?
Modèle neuronal à une couche Les unités internes n'ont donc aucune information sur le but a atteindre. Or, c'est essentiel pour mesurer l'erreur entre la sortie calculée et la sortie désirée afin de la minimiser. Sans mesure de l'erreur à l intérieur du réseau, il est difficile de pouvoir appliquer une correction des coefficients.
La rétro-propagation du gradient Cet algorithme permet d'effectuer l'apprentissage dans les réseaux multi-couches. Le principe est de rétro-propager l'erreur en sortie vers les couches cachées, provocant une modification Information successive des poids. Entrees Erreur de sortie
Modèle neuronal à une couche E( n) Erreur globale N 2 E( n)= e j ( n) 2 j C C : tous les neurones de la couche de sortie. E On va utiliser la dérivée de l'erreur globale W ji minimiser E( n) en trouvant les W ji optimaux. E Δ W ji (n)= η W ji E W ji W ji pour
Modèle neuronal à une couche Erreur globale Erreur globale N 2 E( n)= e j ( n) 2 j C N 2 E= e j 2 j C Erreur locale e j =d j y j C : tous les neurones de la couche de sortie. Sortie du neurone Dérivée de l'erreur globale y j=f j (v j ) E E e j y j v j = W ji e j y j v j W ji Somme synaptique m v j = w ji y i i=0
Modèle neuronal à une couche Erreur globale Erreur globale N 2 E( n)= e j ( n) 2 j C C : tous les neurones de la couche de sortie. Dérivée partielle de E E( n) =e j (n) e j (n) N 2 E= e j 2 j C Erreur locale e j =d j y j Sortie du neurone y j=f j (v j ) Somme synaptique m v j = w ji y i i=0
Modèle neuronal à une couche Erreur globale Erreur locale, à l'itération n e j (n)=d j ( n) y j (n) Dérivée partielle de e N 2 E= e j 2 j C Erreur locale e j =d j y j Sortie du neurone e j (n) = y j (n) y j=f j (v j ) Somme synaptique m v j = w ji y i i=0
Modèle neuronal à une couche Erreur globale Sortie du neurone, à l'itération n y j (n)=f j (v j (n)) Dérivée partielle de y y j (n) =f ' j (v j (n)) v j (n) N 2 E= e j 2 j C Erreur locale e j =d j y j Sortie du neurone y j=f j (v j ) Somme synaptique m v j = w ji y i i=0
Modèle neuronal à une couche Erreur globale Somme synaptique, à l'itération n m v j (n)= w ji (n) y i (n) i=0 Dérivée partielle de v v j (n) = y i (n) w ji (n) N 2 E= e j 2 j C Erreur locale e j =d j y j Sortie du neurone y j=f j (v j ) Somme synaptique m v j = w ji y i i=0
Modèle neuronal à une couche Erreur globale Dérivée partielle de E E E e j y j v j = W ji e j y j v j W ji E =e j.. f ' (v j ). y i W ji E = e j y i f ' (v j ) W ji N 2 E= e j 2 j C Erreur locale e j =d j y j Sortie du neurone y j=f j (v j ) Somme synaptique m v j = w ji y i i=0
Modèle neuronal à une couche Loi de correction W locale E Δ W ji (n)= η W ji Δ W ji (n)=ηe j f ' (v j ) y i E Si δ j (n)=, le gradient local vj E e j y j Alors δ j (n)= =e j f ' (v j ) ej y j vj
Modèle neuronal à une couche Loi de correction W locale Δ W ji (n)=ηδ j y i Signal d'entrée du neurone j Adaption des poids Gradient local Taux d'apprentissage Cas, j neurone de sortie δ j (n)=e j f '(v j) Cas 2, j neurone caché, plus compliqué δ j (n)=f ' (v j ) δ k wkj k
Démonstration, si le neurone j est caché E δ j (n)= vj E yj δ j (n)= y j vj N 2 E= e j 2 j C e k =d k y k m v k = w kj y j i= 0 δ j (n)=f ' (v j ) δ k wkj k E = f ' (v j) yj [ y j =f j (v j )] ek E = e k yj k yj ek = f k ' ( v k ) vk vk =w kj yk ek vk = ek vk y j k
Non-linear neurons with smooth derivatives For backpropagation, we need neurons that have well-behaved derivatives. Typically they use the logistic function The output is a smooth function of the inputs and the weights. yj 0.5 0 0 x x j= b j + y i w ij y j= i +e x j xj xj = yi =wij wij yi dy j = y j ( y j ) dx j Its odd to express it in terms of y.
Règle de la rétro-propagation du gradient d'erreur Entrée : un exemple, sous la forme (vecteur_x,vecteur_y); epsilon le taux d'apprentissage un Perceptron MultiCouches avec q- couches cachées C,..., Cq-, une couche de sortie Cq. Répéter Prendre un exemple (vecteur_x,vecteur_y) et calculer g(vecteur_x) Pour toute cellule de sortie i di <- si(-si)(yi-si) finpour Pour chaque couche de q- à Pour chaque cellule i de la couche courante di = oi(-oi) * Somme [pour k appartenant aux indices des neurones prenant en entrée la sortie du neurone i] de dk*w_ki finpour finpour Pour tout poids w_ij <- w_ij + epsilon*di*x_ij finpour finrépéter
Propriétés de la rétro-propagation Descente de gradient sur tous les poids du réseau Généralisation facile à d'autres types de graphes. Trouver une erreur locale, pas nécessairement l'erreur Globale: - En pratique, cela marche correctement Minimise l'erreur à partir des exemples d'apprentissage: - nombre d'exemple suffisant pour généraliser? Apprentissage peut prendre des milliers d itérations! après apprentissage, son utilisation est par contre très rapide.
Exercice
Momentum d'apprentissage Il y a un trade-off concernant le pas d'apprentissage: - pour un pas d'apprentissage trop petit : la trajectoire de convergence est lente mais la trajectoire est plus lisse. - pour un pas d'apprentissage trop grand : la trajectoire de convergence est rapide, mais la trajectoire peut être instable. l'ajout d'un momentum d'apprentissage peut aider à dépasser ce problème.
Momentum d'apprentissage Il peut arriver que la surface d'erreur contienne des minima locaux. Dans le cas d'une descente de gradient classique, l'algorithme resterait prisonnier de ce minimum local sous possibilité d'en sortir pour atteindre le minimum global. Descente du gradient de l'erreur Minimum local Minimum global
Momentum d'apprentissage Pour éviter de rester piégé dans un minimum local, on ajoute au système un paramètre : le momentum D. L équation d'apprentissage devient alors : Δ W ji (t+)= D Δ W ji (t)+( D)α d k p, j x p,i Pondération par les poids précédents : Fonction de mémoire à court terme et d entraînement Le vecteur de poids est la somme pondérée d'une série temporelle qui «oublie» de façon exponentielle.
Apprentissage séquentiel (online) vs batch Mode séquentiel: Adaptation appliquée après chaque présentation d'une entrée et d'une sortie. L'ordre de présentation des exemples doit être aléatoire. Avantages : pas de stockage, apprentissage stochastique des poids, permet d éviter les minima locaux. Désavantages : difficile d établir les conditions théoriques d'une convergence. Mode Batch : Adaptation appliquée après présentation de toutes les entrées et les sorties vues. Avantages : estimation précise du gradient, + facile de garantir les conditions de convergence.
Applications The properties of neural networks define where they are useful. Can learn complex mappings from inputs to outputs, based solely on samples Difficult to analyse: firm predictions about neural network behaviour difficult: Unsuitable for safety-critical applications. Require limited understanding from trainer, who can be guided by heuristics. 34
Neural network for OCR feedforward network trained using Backpropagation A B C D E H idden Layer Input Layer O utput Layer 35
OCR for 8x0 characters 0 8 0 8 0 8 NN are able to generalise learning involves generating a partitioning of the input space for single layer network input space must be linearly separable what is the dimension of this input space? how many points in the input space? this network is binary(uses binary values) networks may also be continuous 36
Engine management The behaviour of a car engine is influenced by a large number of parameters temperature at various points fuel/air mixture lubricant viscosity. Major companies have used neural networks to dynamically tune an engine depending on current settings. 37
ALVINN Drives 70 mph on a public highway 30 outputs for steering 4 hidden units 30x32 pixels as inputs 30x32 weights into one out of four hidden unit 38
Signature recognition Each person's signature is different. There are structural similarities which are difficult to quantify. One company has manufactured a machine which recognizes signatures to within a high level of accuracy. Considers speed in addition to gross shape. Makes forgery even more difficult. 39
Sonar target recognition Distinguish mines from rocks on sea-bed The neural network is provided with a large number of parameters which are extracted from the sonar signal. The training set consists of sets of signals from rocks and mines. 40
Stock market prediction Technical trading refers to trading based solely on known statistical parameters; e.g. previous price Neural networks have been used to attempt to predict changes in prices. Difficult to assess success since companies using these techniques are reluctant to disclose information. 4
Mortgage assessment Assess risk of lending to an individual. Difficult to decide on marginal cases. Neural networks have been trained to make decisions, based upon the opinions of expert underwriters. Neural network produced a 2% reduction in delinquencies compared with human experts. 42
Compression Exemples de taux de compression : Avec un réseau multicouche 00 x 5 x 00 neurones, il y a au total 500 poids (de la couche cachée vers la couche de sortie). Les valeurs des poids sont codées sur 4 bits, ainsi que les 5 valeurs des niveaux d activation. - Pour une image initiale de 00 pixels (sur 256 niveaux de gris : 8 bits), on obtient un taux de compression de (00. 8) / (500. 4 + 5. 4) = 0.38 - Si on code 0 images avec le même réseau, on obtient un taux de compression de (00. 0. 8) / (500. 4 + 0. 5. 4) = 3.6 Afin que l'opération soit rentable, il faut coder plusieurs images par réseau. Cette technique est limitée par la durée d'apprentissage (plusieurs centaines d'itérations sont nécessaires), ce qui exclu actuellement tout traitement en temps réel.
0 0 0 0 0 0 0 0 0 0 0 0
RNN & traitement du signal Compression de l'information dans la couche cachée Réduction de la dimensionnalité capacité de généralisation Similarité avec la transformée de Fourier : Un codage fréquentiel représente les informations d entrée
RNN & traitement du signal Fourier 2D Image 2D Représentation fréquentielle
RNN & traitement du signal Vision Banc de filtres: Chaque neurone détecte un seul type d'orientation Neurone vision Neurone sélectif aux segmentations horizontales hautes Oeil
RNN & traitement du signal Vision
Généralisation vs Spécialisation On dit qu'un réseau de neurone généralise bien lorsque peut approximer a peu près correctement tous les exemples entrées/sorties Durant la phase de test Problème du sur-apprentissage vaut-il mieux minimiser complètement l'erreur ou laisser une certaine marge? Le lissage de la mémorisation est plutôt quelque chose que l'on désire
Avantages/Désavantages de la retropropagation Connexionisme: métaphore biologique, computation locale, parallélisme (quelques limitations concernant la plausibilité biologique de la rétro-propagation). Détection de motifs: les neurones cachés encodent les motifs. Fonction d'approximation: sigmoïdes. Complexité de computation : la computation est polynomiale dans le nombre des paramètres ajustables, c'est assez efficace. Robustesse: le bruit cause seulement de petites erreurs d'estimation. Convergence: approximation stochastique,qui peut être lente. Minima locaux.
Fin