La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Réseaux neuronaux et applications

Présentations similaires


Présentation au sujet: "Réseaux neuronaux et applications"— Transcription de la présentation:

1 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

2 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.

3 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

4 Neurone formel (automate à seuil avec entrées et sorties binaires).
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Neurone formel (automate à seuil avec entrées et sorties binaires). Le neurone formel S’apparente à la méthode du discriminant linéaire. La mise à jour des poids s’effectue manuellement. Biais OU logique Poids A B S 1 S=0 S=1 Le Biais permet de jouer sur l’ordonnée de la droite de séparation ET logique A B S 1 S=0 S=1

5 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.

6 Mise à jour des poids de la couche linéaire par la règle de Hebb
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX 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 Mise à jour des poids de la couche linéaire par la règle de Hebb

7 Problème non linéairement séparable
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX 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 - S=1 S=0 XOR logique A B S 1

8 Évolution du réseau multi-couche
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX É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. Couche cachée vers la couche de sortie Couche d’entrée vers la couche cachée Fonctions d’activations Cette découverte revient à deux équipes indépendantes: Rumelhart et all et Le Cun et all

9 Résolution d’un problème non linéairement séparable avec le réseau MLP
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Résolution d’un problème non linéairement séparable avec le réseau MLP XOR logique y2 o x1 x2 y1 D1 S=1 S=0 D2 A B S 1 Noeuds d’entrée Noeuds cachés Noeuds de sortie Branchements Couche 0 Couche 1 Couche N Couche N-1 Réseau à N-couches Le réseau MLP permet de séparer les deux classes du problème XOR.

10 Configuration optimale du réseau de neurone (MLP)
HISTORIQUE ET CONCEPT DES RÉSEAUX NEURONAUX Configuration optimale du réseau de neurone (MLP) 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 )

11 Techniques d’apprentissage ou de détermination des poids
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.

12 Techniques d’apprentissage ou de détermination des poids
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.

13 Méthode de minimisation pour le calcul des poids.
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

14 Méthode de minimisation pour le calcul des poids.
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

15 Méthode de minimisation pour le calcul des poids.
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 ( Méthode de Newton)

16 Méthode de minimisation pour le calcul des poids.
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.

17 Méthode de minimisation pour le calcul des poids.
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.

18 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 Réseau de Kohonen Réseau MLP Sortie Entrée

19 Le réseau RBF (Radial Basis Function)
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). 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). Structure du réseau RBF x2 x1 La couche cachée est constituée de fonction-noyau de type gaussienne. Paramétrisation nécessaire de la fonction noyau. sortie linéaire Entrées La règle Delta est utilisée comme technique d’apprentissage. Il faut choisir le bon nombre de neurone pour la couche RBF.

20 Le réseau RBF (Radial Basis Function)
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.

21 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.

22 Le réseau SOM de Kohonen (réseau compétitif)
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. Poids du réseau I1 I2 W1 0.6 0.4 W2 Patron 1 1.0 0.0 Patron 2 0.8 0.2 Patron 3 Patron 4 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).

23 Le réseau SOM de Kohonen (réseau compétitif)
TYPES DE RÉSEAU (MLP, RBF, KOHONEN). Le réseau SOM de Kohonen (réseau compétitif) 100 points de données créés sur un cercle unitaire 2 entrée et 10 neurones dans la couche compétitive Les vecteurs poids suivent la courbe de données après apprentissage. 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éé.

24 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

25 Classification par réseau MLP.
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

26 Classification par réseau MLP.
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

27 Classification par réseau MLP.
APPLICATIONS DES RÉSEAUX NEURONAUX Classification par réseau MLP. Nbr. d’époque de calcul Erreur maximale désirée Commande d’apprentissage Calcul en continue des sortie du réseau Conversion en sortie binaire net.trainParam.epochs = 2000; net.trainParam.goal = 0.002; net = train(net,x,o); y = sim(net,x); netout = y>0.5; Structure du réseau x2 x1 Couche cachée (sigmoide) Noeud de sortie (Sigmoide) Noeuds d’entrée Unité de seuil (pour sortie binaire)

28 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.

29 Classification par réseau MLP.
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.

30 Reconnaissance de forme avec réseau MLP
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.

31 Reconnaissance de forme avec réseau MLP
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

32 Reconnaissance de forme avec réseau MLP
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

33 Reconnaissance de forme avec réseau MLP
APPLICATIONS DES RÉSEAUX NEURONAUX Reconnaissance de forme avec réseau MLP 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.

34 Reconnaissance des signaux par réseau MLP
APPLICATIONS DES RÉSEAUX NEURONAUX 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. Signal à analyser en temps réel 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

35 Reconnaissance des signaux par réseau MLP
APPLICATIONS DES RÉSEAUX NEURONAUX 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. y1 y10 Contrôle de la machine à usiner

36 Réseau de neurones à circuit intégré
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 μ CMOS Chip size: 35 mm2 Supply voltage: 3,3 V Clock frequency: 33 MHz Power consumption: 0,5 W Package type: CQFP 208 Dimensions: 30,6 mm x 30,6 mm x 4,1 mm Processing speed at 33MHz: 45MCUPS1

37 Réseau de neurones à circuit intégré
AVENIR DES RÉSEAUX NEURONAUX Réseau de neurones à circuit intégré

38 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 cellules cé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.

39 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.

40 Vous avez des questions???


Télécharger ppt "Réseaux neuronaux et applications"

Présentations similaires


Annonces Google