430 likes | 750 Views
Réseaux neuronaux et applications. Richard Lepage M.Sc.A ingénierie Département d’informatique, de mathématiques et de génie. Université du Québec à Rimouski @2007. Les Sujets de discussion. Historique et concepts . Types de réseau (MLP, RBF, Kohonen). Les champs d’applications.
E N D
Réseaux neuronaux et applications Richard Lepage M.Sc.A ingénierie Département d’informatique, de mathématiques et de génie. Université du Québec à Rimouski @2007
Les Sujets de discussion • Historique et concepts . • Types de réseau (MLP, RBF, Kohonen). • Les champs d’applications. • Avenir des réseaux de neurones artificielles • Conclusion.
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX • Naissance du modèle théorique (mathématique et informatique) du neurone biologique élaboré par 2 neuro-biologistes (McCulloch et Pitts, 1943). Schématisation d’un neurone biologique. • Schématisation d’un neurone formel servant de modèle biologique
Neurone formel (automate à seuil avec entrées et sorties binaires). HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX S=1 S=0 Biais S=1 S=0 Le neurone formel S’apparente à la méthode du discriminant linéaire. La mise à jour des poids s’effectue manuellement. OU logique Poids Le Biais permet de jouer sur l’ordonnée de la droite de séparation ET logique
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Règles du Perceptron • En 1949, découverte de la règle d’apprentissage de Hebb pour la mise à jour des poids d’un réseau de neurones. • Développement de l’algorithme du perceptron qui permet la mise à jour des poids selon la sortie désirée d(i) durant le processus d’apprentissage. Étape 1 –Choisir des valeurs aléatoires pour les poids et le biais Étape 2 –Appliquer le vecteur d’entrée x(i) Étape 3 -Calculer la valeur de S () Étape 4 – Si S= d(i) on retourne à l’étape 2 sinon on continue à l’étape 5 Étape 5 -– Étape 6 - Retourner à l’étape 2.
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX - - Mise à jour des poids de la couche linéaire par la règle de Hebb Le perceptron de Rosenblatt (1958). Sortie désirée Le but premier du perceptron est la modélisation de la perception visuelle. Entrées Modification des biais et des poids du réseau selon l’erreur entre la sortie désirée et la sortie du réseau Rosenblatt entraina une couche linéaire de neurones formels soumis à la règle d’apprentissage de Hebb Sortie désirée Entrées
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX - S=0 S=1 S=0 S=1 Problème non linéairement séparable En 1970, Minsky et Papert évaluèrent les faiblesses du Perceptron. impossibilité pour le Perceptron de résoudre un problème qui n’est pas linéairement séparable. Minsky et Papert préconisèrent d’ajouter des couches de neurones entre l’entrée et la sortie mais il restait à trouver une procédure qui n’était pas connu pour mettre à jour les poids et les biais du réseau. La droite de discrimination linéaire ne peut séparer les deux classes peut importe les valeurs des poids et du biais XOR logique
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Couche d’entrée vers la couche cachée Couche cachée vers la couche de sortie Évolution du réseau multi-couche En 1980, révolution du Perceptron à couches multiples (MLP) avec la règle de rétropropagation du gradient de l’erreur (back-propagation). Généralisation de l’algorithme de Widrow et Hoff ou règle delta en minimisant la somme des erreurs quadratiques. Fonctions d’activations Cette découverte revient à deux équipes indépendantes: Rumelhart et all et Le Cun et all
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX S=1 S=0 y1 x1 Noeuds de sortie Couche N D2 D1 o S=0 x2 Couche N-1 y2 S=1 Noeuds cachés Couche 1 Branchements Noeuds d’entrée Couche 0 Réseau à N-couches Résolution d’un problème non linéairement séparable avec le réseau MLP XOR logique Le réseau MLP permet de séparer les deux classes du problème XOR.
Configuration optimale du réseau de neurone (MLP) HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Un des gros problèmes qui apparait dans l’utilisation des réseaux de neurones est la difficulté du choix dans le nombre de couche et le nombre de neurone par couche. Paramètres à prendre en considération • Le pas d’apprentissage • La vitesse d’apprentissage • La capacité de généralisation du réseau • Les fonctions d’activations des couches cachées Comment y remédier? • Méthode essai et erreur • La méthode des plans d’expériences (taguchi) • Optimisation conjointe des paramètres et de la topologie du réseau par algorithme génétique hiérarchiques. • Utilisation de l’ensemble de Pareto optimal (Vilfredo Pareto )
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Techniques d’apprentissage ou de détermination des poids Apprentissage supervisé (Approche déterministe) On enseigne au réseau ce qu’il doit présenter comme information à la sortie selon les données présentées à l’entrée. Cela force les poids à prendre des valeurs distinctes selon les formes présentées au réseau de neurones. Avantages: Le réseau atteint une précision très élevée au niveau de la reconnaissance et la base d’exemple n’a pas besoin d’être très grande. Désavantage: On perd en généralité car les formes sont reconnues d’une manière trop exacte. Si une forme proche est présentée au réseau, celle-ci ne sera peut-être pas reconnue. On peut ajouter un bruit blanc au données pour permettre une meilleure généralisation.
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Techniques d’apprentissage ou de détermination des poids Apprentissage non supervisé (approche statistique) Le réseau regroupe les données selon des algorithmes de calcul de distance par la méthode des moindres carrées. À chaque groupe correspond une classe. Après l’identification de toutes les classes, une valeur de sortie, dictée par l’usager, est associée à chacune des classes. Peut-être associé à une inférence bayésienne pour produire des probabilités conditionnelles pour chaque variable aléatoire étant donné les autres. Avantages: Le réseau atteint une précision très élevée au niveau de la reconnaissance et la généralisation est très bonne. Désavantage: La base d’exemples se doit d’être très volumineuse et le temps d’apprentissage est très long si un nouvel exemple est présenté au réseau pour un nouvel apprentissage.
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Méthode de minimisation pour le calcul des poids. Méthode de descente du Gradient Mise à jour des poids et des biais
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Méthode de minimisation pour le calcul des poids. Méthode de descente du Gradient avec terme d’inertie 0< b <1 Terme d’inertie Dw convergera vers
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Méthode de minimisation pour le calcul des poids. Méthode de Newton Par l’utilisation de la série de Taylor où H = matrice Hessienne E = fonction d’erreur (e2) De la série de Taylor, nous obtenons où ( Méthode de Newton)
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Méthode de minimisation pour le calcul des poids. Mise à jour des poids par la méthode de Newton • Avantages: • w Convergence rapide (forme quadratique) • Désavantages: • Calcul intensif (nécessité de calculer la matrice inverse à chaque pas d’itération. • La matrice Hessienne est difficile à calculer selon la complexité de la fonction d’activation. Nous devons choisir une fonction d’activation qui est continuement dérivable.
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Méthode de minimisation pour le calcul des poids. Méthode Levenberg-Marquardt Backpropagation où J = Matrice Jacobienne E = Toutes les erreurs I = Matrice identité m = Taux d’apprentissage • Avantages: • Convergence très rapide et généralisation très bonne. • Méthode la plus utilisée jusqu’à maintenant. • Désavantages: • Il ne faut pas que le nombre de poids constituant le réseau soit plus grand que 200 car cette méthode devient inéfficace en terme de rapidité de calcul.
Réseau de Kohonen Réseau MLP TYPES DE RÉSEAU (MLP, RBF, KOHONEN). MLP – Multilayer perceptron (perceptron multi-couches) Réseau vu précédemment. RBF – Radial Basis Function (Fonction d’activation gaussienne) Approximation de fonctions à plusieurs variables. Réseau de Kohonen (Réseau auto-organisateur) Conservation topologique de la forme Compression de données Réseau de Hopfield (Réseau pleine connection) non présenté dans cette présentation Nouvelles tendances: Combinaison de plusieurs types de réseaux pour des problèmes spécifiques Sortie Entrée
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). Structure du réseau RBF sortie linéaire x1 Entrées x2 La couche cachée est constituée de fonction-noyau de type gaussienne. Paramétrisation nécessaire de la fonction noyau. Le réseau RBF (Radial Basis Function) Broomhead et Lowe (1988) employèrent pour la première fois le réseau RBF. Sert actuellement pour les applications d’approximation de fonction mais s’explique mieux dans le contexte de la classification. Le réseau RBF est un réseau à trois couches (Couche d’entrée, couche RBF, couche de sortie linéaire). La règle Delta est utilisée comme technique d’apprentissage. Il faut choisir le bon nombre de neurone pour la couche RBF.
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). Le réseau RBF (Radial Basis Function) Pour déterminer le nombre et la position des neurones-noyau, on utilise l’algorithme décrit par Mustawi et all (1992). • On associe un neurone par donnée du corpus d’apprentissage représentant un nuage distinct, le but étant de regrouper des nuages de données. • Choisir aléatoirement un nuage (un neurone i) • Trouver un second nuage de la même classe (un neurone j). • Regroupement des deux nuages en un nouveau nuage k et calculer barycentre Ck. • Calculer la distance rk entre Ck et la donnée de k la plus éloignée. • Calculer la distance dk entre Ck et le barycentre du nuage le plus proche. • Si dk > Delta*rk, alors regroupement accepté et nouveau nuage k remplace nuage i et j, sinon répété depuis l’étape 3 jusqu’à ce que le regroupement soit accepté. • Répéter l’opération à partir de 2, en examinant tous les nuages jusqu’à ce qu’aucun regroupement ne soit plus possible.
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). Le réseau RBF (Radial Basis Function) dans l’approximation d’une fonction Somme pondérée des entrées Vecteurs d’apprentissage Fonction gaussienne Résultat après apprentissage On présente 20 vecteurs que le réseau doit apprendre (x,y). Une fois l’apprentissage terminé, n’importe laquelle des valeurs présentées à l’entrée donnera une valeur de sortie qui sera présente sur la courbe.
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). Le réseau SOM de Kohonen (réseau compétitif) Kohonen (1990) développa la carte topologique (“Self-Organizing Map). Le réseau SOM est constitué d’une couche d’entrée et d’une couche de compétition en sortie. Le réseau à apprentissage compétitif de Kohonen(spécialisation du neurone ) s’approche le plus du type de structure observé dans le cerveau. La règle d’apprentissage modifie les poids du neurone 1 de façon à le rapprocher du patron présenté. Couche d’entrée Couche de compétition Le réseau SOM est parfaitement adapté dans l’analyse des données (regroupement sous forme de nuage de données).
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). Les vecteurs poids suivent la courbe de données après apprentissage. 100 points de données créés sur un cercle unitaire 2 entrée et 10 neurones dans la couche compétitive Le réseau SOM de Kohonen (réseau compétitif) Le graphique représentant les poids de chaque neurone suivent la courbe de données en positionnant les poids de chacun des neurones au barycentre des nuages de données qui ont été créé.
APPLICATIONS DES RÉSEAUX NEURONAUX • Classification de données vectorielles • Reconnaissance de formes • Approximation de fonctions • Détection de patrons dans un signal • Prédiction future selon des données passés • Contrôle robotique (PID) • Compression de données • régression linéaire et non-linéaire
APPLICATIONS DES RÉSEAUX NEURONAUX Classification par réseau MLP. Commande Matlab : Création des données d’apprentissage x = randn([2 200]); o = (x(1,:).^2+x(2,:).^2)<1; Les composantes x1 et x2 sont générées à partir de nombres aléatoires. Sortie désirée o: Si (x1,x2) est dans un cercle de rayon 1 centré à l’origine Alors o = 1 Sinon o = 0
APPLICATIONS DES RÉSEAUX NEURONAUX Classification par réseau MLP. Commande Matlab : Création d’un réseau à deux couches Bornes de chacune des entrées PR = [min(x(1,:)) max(x(1,:)); min(x(2,:)) max(x(2,:))]; S1 = 10; S2 = 1; TF1 = 'logsig'; TF2 = 'logsig'; BTF = 'traingd'; BLF = 'learngd'; PF = 'mse'; net = newff(PR,[S1 S2],{TF1 TF2},BTF,BLF,PF); Nbr. de noeuds dans la couche 1 et 2 Fonction d’activation de la couche 1 et 2 Fonction d’entrainement Fonction d’apprentissage Fonction coût (mean square error ou MSE) Commande de création du réseau
APPLICATIONS DES RÉSEAUX NEURONAUX Nbr. d’époque de calcul Erreur maximale désirée Structure du réseau Commande d’apprentissage Calcul en continue des sortie du réseau Conversion en sortie binaire Noeud de sortie (Sigmoide) x1 Noeuds d’entrée x2 Unité de seuil (pour sortie binaire) Couche cachée (sigmoide) Classification par réseau MLP. net.trainParam.epochs = 2000; net.trainParam.goal = 0.002; net = train(net,x,o); y = sim(net,x); netout = y>0.5;
APPLICATIONS DES RÉSEAUX NEURONAUX Classification par réseau MLP. On essaye de voir jusqu’à quel point les droites de séparation peuvent encercler les vecteurs x pour former une classe distinctes des vecteurs o. Les poids sont choisis aléatoirement avant le début du calcul. Affichage des droites de séparation avant apprentissage. Trois types d’algorithme de gestion des poids seront utilisés dans cet exemple pour démontrer la rapidité de chacun d’eux lors du processus d’apprentissage. Lorsque le processus d’apprentissage est terminé, tout vecteur se présentant en entrée du réseau sera reconnu comme faisant partie de la classe o ou x.
APPLICATIONS DES RÉSEAUX NEURONAUX Classification par réseau MLP. Algorithme d’apprentissage: Descente de gradient avec terme d’inertie Algorithme d’apprentissage: Levenberg-Marquardt Backpropagation Algorithme d’apprentissage: Méthode de descente par le gradient MSE vs époques d’apprentissage MSE vs époques d’apprentissage MSE vs époques d’apprentissage (convergence atteinte en 10 époques) Erreur de classification : 40/200 Erreur de classification : 40/200 Erreur de classification : 0/200 À la fin de l’apprentissage, 6 noeuds seulement sont nécessaires pour classer les vecteurs x.
APPLICATIONS DES RÉSEAUX NEURONAUX Reconnaissance de forme avec réseau MLP Schémas synoptiques d’un système de reconnaissance de formes Acquisition de l’image Prétraitement de l’image On se sert des trois premier modules pour former la base de données des caractéristiques d’images. Extraction des caractéristiques d’invariance Création d’une base de données des caractéristiques invariantes (Identifier chaque image avec une classe d’appartenance) Présentation au réseau de neurones pour fin d’identification (le processus d’apprentissage est réalisé au préalable). Choisir aléatoirement selon une courbe normale (moyenne nulle et variance unitaire) des échantillons qui serviront à l’apprentissage du réseau) Processus d’apprentissage du réseau de neurones (stabilisation des poids du réseau selon la base de données des caractéristiques). Présentation du résultat de la classification.
APPLICATIONS DES RÉSEAUX NEURONAUX Reconnaissance de forme avec réseau MLP Prétraitement des données images 1 2 3 Image originale en couleurs Rehaussement de contraste Niveau de gris Filtre Sobel 6 4 5 Remplissage des vides Linéarisation de l’objet Segmentation de l’image
APPLICATIONS DES RÉSEAUX NEURONAUX Reconnaissance de forme avec réseau MLP Extraction des caractéristiques de la forme On recherche l’invariance en translation, en rotation et en homothétie en groupant des moments centrés d’ordre p,q, par exemple M20+M02 Moments centrés d’ordre p,q Moments élémentaires d’ordre p,q M10 et M01 définissent le centre de gravité de la surface et M00 définit la surface de l’objet Axes principaux d’inertie Allongement et orientation de la forme
Reconnaissance de forme avec réseau MLP APPLICATIONS DES RÉSEAUX NEURONAUX Normalisation des données et présentation au réseau MLP La normalisation est le processus par lequel les données d’entrée et les données en sortie ont des valeurs évoluant entre -1 et +1. On utilise habituellement deux couches cachées d’une dizaine de neurones pour éviter le sur-apprentissage et on fait apprendre au réseau les formes qui sont présentées à l’entrée selon les paramètres caractéristiques. On peut ajouter un bruit blanc aux formes qui sont présentées lors de l’apprentissage du réseau pour améliorer la généralisation. On utilise un algorithme d’apprentissage de type Levenberg-Marquard qui est le plus adéquat pour le réseau MLP.
APPLICATIONS DES RÉSEAUX NEURONAUX Passage d’une fenêtre de 10 échantillons par intervalle d’un échantillon. Présentation des 10 échantillons au réseau MLP Décision sur la commande de l’appareil Signal à analyser en temps réel Reconnaissance des signaux par réseau MLP Signal à analyser Patrons de signaux Le signal que nous voulons analyser provient d’une machine à usiner. Pour éviter d’endommager la pièce, un réseau de neurone détecte les bris des outils à usiner (mèches, fraiseuses…) en reconnaissant les signaux précurseurs.
APPLICATIONS DES RÉSEAUX NEURONAUX y1 y10 Reconnaissance des signaux par réseau MLP On utilise un réseau d’une couche cachée de 5 neurones avec fonction d’activation logsig et un neurone en sortie avec fonction d’activation purelin. La mise à jour des poids se fait par l’algorithme de Levenberg-Marquard durant l’étape d’apprentissage. Contrôle de la machine à usiner
AVENIR DES RÉSEAUX NEURONAUX Réseau de neurones à circuit intégré Implantation sous forme de circuits intégrés d’un réseau de neurone électronique à controle universel. Le DANA23 (Digital Adaptive Neuro ASIC) contient un réseau complet avec modification et sauvegarde des poids et biais avec un algorithme d’apprentissage intégré de type backpropagation modifié. Caractéristiques générales Technology: 0,35 μ CMOSChip size: 35 mm2Supply voltage: 3,3 VClock frequency: 33 MHzPower consumption: 0,5 WPackage type: CQFP 208Dimensions: 30,6 mm x 30,6 mm x 4,1 mmProcessing speed at 33MHz: 45MCUPS1
AVENIR DES RÉSEAUX NEURONAUX Réseau de neurones à circuit intégré
AVENIR DES RÉSEAUX NEURONAUX Réseau de neurones biologiques sur substrat de silicium (neurochips) Un groupe de chercheur du Caltech (institut de technologie de Californie) ont réussi la greffe d’un neurone sur un substrat de silicium en 1991. La surface lisse du silicium est un environnement idéal pour la croissance des cellulescérébrales. Conception prochaine de circuits qui exécutent des calculs analogiques massivement parallèles La vision et les capacités de la mémoire neurologique exécutent massivement des opérations parallèles impossibles à reproduire même sur les plus grands superordinateurs du monde.
CONCLUSIONS • Les réseaux de neurones sont en constante évolution et la nouvelle vogue est de combiner différents réseaux pour accomplir des tâche spécifiques. • L’optimisation de la configuration des réseaux de neurones est actuellement un problème ouvert. Il existe diverses techniques mais celle qui optimise vraiment la configuration n’a pas vu le jour. • Des recherches intensives sont en cours pour appliquer les réseaux SOM (auto-organisateur) dans le secteur de l’industrie. La compréhension des réseaux SOM permet d’approcher le comportement du cerveau humain en liaison avec la logique floue. • Nous sommes encore loin de l’époque où un cerveau humain sera remplacé par une machine car les fonctions humaines même les plus simple sont un énorme défis pour la technologie.