E N D
Sleon une édtue de l'Uvinertisé de Cmabrigde, l'odrre des ltteers dnas un mtos n'a pas d'ipmrotncae, la suele coshe ipmrotnate est que la pmeirère et la drenèire soit à la bnnoe pclae. Le rsete peut êrte dnas un dsérorde ttoal et vuos puoevz tujoruos lrie snas porlblème. C'est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mmêe, mias le mot cmome un tuot.
Chapitre 1 Réseaux de neurones artificiels
Plan 1- Neurone artificiel • Modèle • Activation • Apprentissage • Réseaux • Historique • Parallèle avec la statistique • Taxonomie • Simulateurs
Découverte • J.M. Zurada, Introduction to Artificial Neural Systems, West Publishing, 1992. • Approche ingénierie • Orientation pédagogique • Livre de référence pour études supérieures (SYS-843 Réseaux de neurones et systèmes flous) • S. Thiria, Y. Lechevalier, O. Gascuel et S. Caru (Eds.), Statistiques et méthodes neuronales, Dunod (Paris), 1997. • Découvert en France durant le sabbatique (2001-2003) • Aspect statistique des réseaux de neurones.
Aperçu des grands domaines d’application des RNAs On utilise des réseaux de neurones artificiels (RNAs) pour tenter de résoudre des problèmes complexes qui sont plus faciles à résoudre par le cerveau que par un ordinateur • Reconnaissance d’un visage familier • Système de sonar chez la chauve-souris • Conduire sous la pluie • Reconnaissance de forme
Utilité des réseaux de neurones (1) Modèles de systèmes nerveux biologiques et de l’intelligence Corps cellule unité de calcul Axone signal de sortie impulsions électriques Dendrites entrées du neurone impulsions électriques Synapses poids d’une entrée impuls. réaction impuls.
Utilité des réseaux de neurones (2) Processeurs adaptatifs de signal en temps-réel • Le processeur COKOS (Speckmann et al., 1994, tiré de Kohonen, SOM, 1997) : • 8 unités parallèles de calcul MAB (Memory Arithmetic Board) • Fonctions arithmétiques de base, structure SIMD. • Mémoire RAM • Représentation des données en 16 bits • Prise de décision par un réseau Winner-Takes-All
Utilité des réseaux de neurones (3) Contrôleurs pour des applications de robotique • Visuomotor Control of Robot Arm (Kohonen, SOM, 1997) : • Le vecteur u de données d’entrée est donné par la position de la cible • Un réseau de neurone SOM à trois dimensions est l’espace de représentation du bras robot • Les coordonnées angulaires des joints du bras sont stockées dans le vecteur q • Apprentissage supervisé
40 50 60 tacy Indice canneberge 0 1 -1 Utilité des réseaux de neurones (4) Analyse et interprétation de données - classification des canneberges
Architecture de von Neumann (1) Unité centrale de traitement Instructions et Données Données Mémoire
Architecture de von Neumann (2) • Cycle d’opération 1. Charger une instruction de la mémoire 2. Charger les données requises par l’instruction 3. Exécuter l’instruction (traiter les données) 4. Emmagasiner les résultats en mémoire 5. Retour à l’étape 1 • Utilisation • Description d’un problème par un algorithme • Traitement de symboles selon des règles
Architecture de von Neumann (3) • Caractéristiques des machines de von Neumann • La machine doit connaître à l’avance la séquence des opérations à effectuer: c’est le programme • Les données sont dans un format connu et précis • Dégradation brusque des performances en cas de bris (crash) • Correspondance entre les symboles manipulés et le matériel (chaque objet occupe un bloc précis de mémoire)
Certaines lettres inversées Difficultés pour les algorithmes de traitement d’image Changement de contexte
1.1 Modèle d’un neurone • Neurone artificiel • Unité de calcul simple qui essaie de mimer le fonctionnement d’un neurone biologique
Modèle électrique de la membrane Na : sodium K : potassium Cl : chlore Batteries : pompes à ions Cm : capacité de la membrane Modèle Shunt (Grossberg) Le potentiel VCl est approximé nul
x1 Wm 1 x2 Wm 2 x3 Wm 3 am (k) Wm 4 x4 Entrée Xk ym Wm 5 netm Sortie x5 = = Wm n m f(a) xn F(net,a) Wm N f : xN Binaire ou Signe Linéaire à seuil Sigmoïde • Modèle d’un neurone artificiel
netm valeur d’entrée du neurone m. Généralement 1 site par neurone. ym valeur de sortie du neurone m. Wmn poids de la connexion de la sortie du neurone n au synapse d’entrée du neurone m am activation du neurone m. Aussi appelé potentiel (noté xm) F() fonction d’activation f() fonction de sortie m seuil ou polarisation du neurone m Notation
1.2 Fonction de site • Utilisation d’un seuil ou d’une polarisation j En général, on considère m comme une connexion supplémentaire. netm xn m m seuil m polarisation
W X netm : Somme pondérée de toutes les entrées à ce site du neurone netm : lorsqu’il y a 1 site sim : lorsqu’il y a plus d’un site par neurone
1.3 Fonction d’activation F() • Linéaire : la plus courante
Shunt: simulation d’une cellule nerveuse On part de l’équation dynamique d’une cellule nerveuse Excitation Inhibition passif
1.4 Fonction de sortie f() • Linéaire : ym = am • Binaire : souvent avec seuil m • Signe : +1 si am positive, -1 sinon • Sigmoïde : compression de la plage de sortie, différentiable (pour la rétropropagation d’erreur)
Sigmoïde Le paramètre T commande la pente à l’origine Sortie unipolaire Sortie bipolaire
Résumé Un neurone (ou une couche) est caractérisé principalement (la plupart des modèles) par sa fonction de sortie et par la valeur de son seuil ou polarisation que l’on indique dans le cercle du neurone. On modélise ce paramètre par un lien relié à 1
1.5 Apprentissage • Apprentissage • Modification des poids jusqu’à atteindre une sortie «correcte» pour les formes d’entrée du set d’apprentissage • Généralisation • Capacité du réseau à produire une réponse correcte à une forme non-apprise
Règle d’apprentissage • Fonction de modification des poids avec r : signal d’apprentissage avec : constante d’apprentissage • Catégories d’apprentissage • Supervisé présence du tuteur dj • Non-supervisé absence de signal-tuteur
x1 Wi 1 x2 Wi 2 x3 Wi 3 = ai (k) Wi 4 Sortie yi yi x4 neti Entrée X Wi 5 = x5 j f(a) Wi n F(net,a) xn Wi N wi n Générateur du signal d’apprentissage xN r di xn
1.6 Réseaux de neurones • Simple couche, par anticipation
Multicouche, en cascade y1 d1 x1 x2 y2 d2 entrée cachée sortie
Multicouche, en cascade, partiel Champ récepteur de i i
1.7 Historique • McCulloch & Pitts 1943 Modèle simple de neurone biologique. Sortie binaire, poids fixes Réseaux pour simuler opérations logiques de base (ex.: portes ET, OU, OU Exclusif) • Donald Hebb (McGill) 1949Professeur éminent de psychologie Première loi d’apprentissage • Rosenblatt 1959 Perceptron
Minsky & Papert 1969 Article qui monte les limitations du Perceptron Période de grande noirceur Chercheurs actifs : Grossberg ; Fukishawa Kohonen ; Amari ; Anderson • Hopfield 1982 Groupe PDP 1986 Renaissance de l’intérêt
Statistique et réseaux de neurones Une question de nomenclature?
1.8 Taxonomie La taxonomie consiste à bâtir un arbre de classification des réseaux neuroniques selon le nombre de couches, la méthode de recherche de solution et la règle d’apprentissage Une des toutes premières taxonomies proposée dans la littérature fut l’arbre de classification de Lippmann, en 1987. Cet arbre de classification a longtemps été considéré comme un classique dans le domaine.
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
1.9 Simulateurs • Approche objet • Environnement graphique évolué • Inspirée de la POO • Neurone objet • Attributs • Valeur d’activation • Valeur de sortie • Poids • etc. • Méthodes • Fonctions d’activation, de sortie • Apprentissage
Approche matricielle • Utilisation de logiciels spécialisés en traitement matriciel • MATLAB • Mathematica • couche vecteur • poids matrice
Approche par programmation Environnement de simulation Language orienté objet : C++ ou Java Objet informatique : Attributs Méthodes Valentini, G. & Masulli, F. (2002). NEURObjects: an object-oriented library for neural network development. Neurocomputing, 48, 623-646.
YANNSYet Another Neural Network Simulatorhttp://www-rocq.inria.fr/~crucianu/yanns/ Langage de description simple Interface graphique multiplateforme en Java Noyau de simulation et bibliothèque en C++ Boné, R., Crucianu, M., et Asselin de Beauville, J.-P., «Yet Another Neural Network Simulator», dans Proceedings of theNEURal networks and their APplications (NEURAP'98), 1998, Vol., tenue à Marseille, Francep. 421-424.