Les réseaux connexionnistes EFREI 2010 Laurent Orseau (laurent Les réseaux connexionnistes EFREI 2010 Laurent Orseau (laurent.orseau@agroparistech.fr) AgroParisTech d'après les transparents d'Antoine Cornuéjols
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Introduction : Pourquoi les réseaux de neurones ? Inspiration biologique Le cerveau naturel : un modèle très séduisant Robuste et tolérant aux fautes Flexible. Facilement adaptable S’accommode d’informations incomplètes, incertaines, vagues, bruitées ... Massivement parallèle Capable d’apprentissage Neurones ≈ 1011 neurones dans le cerveau humain ≈ 104 connexions (synapses + axones) / neurone Potentiel d’action / période réfractaire / neuro-transmetteurs Signaux excitateurs / inhibiteurs
Introduction : Pourquoi les réseaux de neurones ? Les attraits pratiques Calculs parallélisables Implantables directement sur circuits dédiés Robustes et tolérants aux fautes (calculs et représentations distribués) Algorithmes simples D’emploi très général Les défauts Opacité des “raisonnements” et des résultats d’apprentissage
Historique (très rapide) Prémisses Mc Culloch & Pitts (1943) : 1er modèle de neurone formel. Rapport neurone et calcul logique : base de l’intelligence artificielle. Règle de Hebb (1949) : apprentissage par renforcement du couplage synaptique Premières réalisations ADALINE (Widrow-Hoff, 1960) PERCEPTRON (Rosenblatt, 1958-1962) Analyse de Minsky & Papert (1969) Nouveaux modèles Kohonen (apprentissage compétitif), ... Hopfield (1982) (réseau bouclé) Perceptron Multi-Couches (1985) Analyse et développements Théorie du contrôle, de la généralisation (Vapnik), ...
Le perceptron Rosenblatt (1958-1962)
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Discrimination linéaire : le Perceptron [Rosenblatt, 1957,1962]
Discrimination linéaire : le Perceptron
Discrimination linéaire : le Perceptron
Discrimination linéaire : le Perceptron Discrimination contre tous les autres
Discrimination linéaire : le Perceptron Discrimination entre deux classes
Le perceptron : critère de performance Critère d’optimisation (fonction d’erreur) : Nb total d’erreurs de classification : NON Critère du Perceptron : Car nous voulons pour toutes les formes d’apprentissage : Proportionnel à la distance à la surface de décision (pour toutes les formes mal classées) Fonction continue et linéaire par morceaux
Apprentissage direct : méthode de la pseudo-inverse La solution directe (méthode de la pseudo-inverse) requiert La connaissance de toutes les paires (xi,yi) Une inversion de matrice (souvent mal-configurée) (seulement pour un réseau linéaire et une fonction d’erreur quadratique) Nécessité d’une méthode itérative sans inversion de matrice Descente de gradient
Le perceptron : algorithme Méthode d’exploration de H Recherche par gradient Minimisation de la fonction d’erreur Principe : procédure d'apprentissage dans l'esprit de la règle de Hebb : ajouter à chaque connexion quelque chose de proportionnel à l'entrée et à la sortie. Apprentissage seulement si erreur de classification Algorithme : si la forme est correctement classée : ne rien faire sinon : boucler sur les formes d’apprentissage jusqu’à critère d’arrêt Convergence ?
Le perceptron : convergence et capacité mémoire Questions : Qu’est-ce qui est apprenable ? Résultat de [Minsky & Papert,68] : séparatrices linéaires Garantie de convergence ? Théorème de convergence du Perceptron [Rosenblatt,62] Fiabilité de l’apprentissage et nombre d’exemples Combien faut-il d’exemples d’apprentissage pour avoir une certaine garantie sur ce qui est appris ?
Capacité expressive : Séparations linéaires
Capacité expressive : Séparations linéaires Voir [Bishop, book, 1995], p.105. t = 1 si figure connectée. Avec des champs réceptifs limités, il est impossible avec un RN à une couche de distinguer les deux types de figures, sauf à faire croître le nb de ces champs réceptifs de manière exponentielle avec la difficulté du problème.
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Les réseaux de neurones : Types de réseaux Interconnecté à boucles (e.g. réseau de Hopfield) Fonctionnement en reconnaissance Apprentissage ?
Modèles de base : le Perceptron Multi-Couches Topologie typique
Le Perceptron Multi-Couches : propagation Pour chaque neurone : wjk : poids de la connexion de la cellule j à la cellule k ak : activation de la cellule k g : fonction d’activation Les fonctions sigmoïdes sont souvent prises de la forme : Ce qui permet d’obtenir la dérivée facilement : g’(a) = g(a) (1 - g(a)) g’(a) = g(a)(1-g(a))
Le Perceptron Multi-Couches : exemple du XOR Exemple du calcul de la fonction XOR Nous utilisons ici la convention graphique de Hinton, souvent utilisée dans les simulateurs de réseaux de neurones, pour représenter l’amplitude des poids arrivant sur chaque cellule. Ainsi, ici, la cellule A reçoit une connexion de poids -0.5 du biais, et deux connexions de poids 1 des entrées x1 et x2.
Exemple de réseau (simulateur JavaNNS)
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Le PMC : l’apprentissage Trouver des poids permettant au réseau de réaliser une relation entrée-sortie spécifiée par des exemples de cette relation (Toujours le problème de la généralisation) Apprentissage : Minimiser la fonction de coût E(w,{xl,ul}) en fonction du paramètre w Utiliser pour ceci une méthode de descente de gradient (algorithme de rétro-propagation de gradient) Principe inductif : On fait alors l’hypothèse que ce qui marche sur les exemples (minimisation du risque empirique), marche sur des données non vues (minimisation du risque réel) [Tutoriel Hertz,Tr.2 & 7 (bas)]
L’apprentissage : descente de gradient Apprentissage = recherche dans l’espace multidimensionnel des paramètres (poids synaptiques) en vue de minimiser la fonction de coût Quasi totalité des règles d’apprentissage pour les RNs = méthode de descente de gradient Solution optimale w* tq. : [Bishop, 95-97] Si le pas d’apprentissage décroit correctement avec le temps alors, on peut montrer que la matrice de poids W converge vers la solution au pb de l’approximation par moindre carrés.
Le Perceptron Multi-Couches : apprentissage Objectif : Algorithme (rétro-propagation de gradient) : descente de gradient Algorithme itératif : Cas hors-ligne (gradient total) : où : Cas en-ligne (gradient stochastique) : [Tutoriel Hertz, Tr.7 (bas)]
Le Perceptron Multi-Couches : apprentissage 1. Présentation d’un exemple parmi l’ensemble d’apprentissage Séquentielle, aléatoire, en fonction d’un critère donné 2. Calcul de l’état du réseau 3. Calcul de l’erreur = fct(sortie - sortie désirée) (e.g. = (yl - ul)2) 4. Calcul des gradients Par l’algorithme de rétro-propagation de gradient 5. Modification des poids synaptiques 6. Critère d’arrêt Sur l’erreur. Nombre de présentation d’exemples, ... 7. Retour en 1 Introduire le terme d’”époque” (epoch) pour le passage de toutes les formes d’apprentissage une fois, éventuellement dans un ordre tiré aléatoirement.
PMC : La rétro-propagation de gradient Le problème : Détermination des responsabilités (“credit assignment problem”) Quelle connexion est responsable, et de combien, de l’erreur E ? Principe : Calculer l’erreur sur une connexion en fonction de l’erreur sur la couche suivante Deux étapes : 1. Evaluation des dérivées de l’erreur par rapport aux poids 2. Utilisation de ces dérivées pour calculer la modification de chaque poids
PMC : La rétro-propagation de gradient 1. Evaluation de l’erreur Ej (ou E) due à chaque connexion : Idée : calculer l’erreur sur la connexion wji en fonction de l’erreur après la cellule j Pour les cellules de la couche de sortie : Pour les cellules d’une couche cachée :
PMC : La rétro-propagation de gradient ai : activation de la cellule i zi : sortie de la cellule i i : erreur attachée à la cellule i Cellule cachée Cellule de sortie a a j k z z y i i j j k k w w ij jk k j
PMC : La rétro-propagation de gradient 2. Modification des poids On suppose gradient à pas (constant ou non ): (t) Si apprentissage stochastique (après présentation de chaque exemple) Si apprentissage total (après présentation de l’ensemble des exemples)
Le PMC : passes avant et arrière (résumé) ys(x) wis k neurones sur la couche cachée [Cherkassky,p.140] [Haykin,171-172] pour répéter la différence entre apprentissage incrémental et en mode batch (stochastique ou total). [Kaykin,173] sur les critères d’arrêt. x
Le PMC : passes avant et arrière (résumé) ys(x) wis y ( x ) y ( x ) . i . . 1 w w 1 w w 2 w d B i a i s 3 . . . x x 1 x 2 x 3 x d x
PMC : La rétro-propagation de gradient Efficacité en apprentissage En O(w) pour chaque passe d’apprentissage, w = nb de poids Il faut typiquement plusieurs centaines de passes (voir plus loin) Il faut typiquement recommencer plusieurs dizaines de fois un apprentissage en partant avec différentes initialisations des poids Efficacité en reconnaissance Possibilité de temps réel
Applications : la discrimination Exemple : Mines cylindriques / roches (http://www.ics.uci.edu/mlearn/MLRepository.html) 1 neurone de sortie {0,1} [0,1] Erreur quadratique Probabilité [0,1] Critère entropique
Applications : la discrimination multiclasse Exemple : Reconnaissance de caractères manuscrits Reconnaissance de locuteurs y(x) c-1 problèmes de discrimination 1 neurone de sortie {0,1, …, c} [0,1] n (≤ c) neurones de sortie 1 neurone / classe Code correcteur d’erreur x
Applications : optimisation multi-objectif cf [Tom Mitchell] prédire à la fois la classe et la couleur plutôt que la classe seulement.
Rôle de la couche cachée 256x256 pixels 8 bits / pixel 16 neurones sur une couche cachée entraînés sur des imagettes 8x8 50000 à 100000 itérations avec pas de 0.01 à 0.1 Compression en discrétisant les sorties des neurones cachés -# réduit le nb de bits Ici 8 bits / neurone (256 valeurs possibles) (image (b)) (ce qui correspond à 2 bits /pixel car 8 bits pour 8x8 pixels ) 5 bits -> image © (1,5 bit / pixel) 4 bits -> image (d) (1 bit / pixel)
Rôle de la couche cachée
Rôle de la couche cachée
PMC : Les applications Automatique : identification et contrôle de processus (e.g. Commande de robot) Traitement du signal (filtrage, compression de données, traitement de la parole (Identification du locuteur, ...) Traitement d’images, reconnaissance des formes (reconnaissance de l’écriture manuscrite, Lecture automatique des codes postaux (Zip codes, USA), ...) Prédiction (consommations d’eau, d’électricité, météorologie, bourse, ...) Diagnostic (industrie, médecine, science, ...)
Application aux codes postaux (Zip codes) [Le Cun et al., 1989, ...] (ATT Bell Labs : très forte équipe) ≈ 10000 exemples de chiffres manuscrits Segmentés et redimensionnés sur matrice 16 x 16 Technique des poids partagés (“weight sharing”) Technique du optimal brain damage 99% de reconnaissance correcte (sur l’ensemble d’apprentissage) 9% de rejet (pour reconnaissance humaine) Voir [Hertz et al.,91,p.139-141] - Un réseau complétement connecté de cette taille impliquerait plus de 200000 poids, et serait donc impossible à apprendre. - D’où la technique de segmenter les couches cachées en détecteurs de formes (patterns). Chaque “segment” (sous-ensemble de neurones) d’une couche agit comme un détecteur de forme (chaque unité est reliée par exemple à seulement 25 unités de la couche précédente), et dans chaque segment ou groupe, les unités partagent les mêmes poids (e.g. les mêmes 25). Ils cherchent donc la même forme sur l’ensemble de la couche précédente. - Il reste alors 9760 poids. - On utilise en plus une technique d’élagage des poids les moins influents (par la technique dite du Optimal Brain Damage) et l’on arrive à 1560 poids. - Entraîné sur 7300 exemples et testé sur 2000.
La base de données
Application aux codes postaux (Zip codes)
Les erreurs commises
La régression
Un échec : QSAR Quantitative Structure Activity Relations Prédire certaines propriétés de molécules (par exemple activité biologique) à partir de descriptions : chimiques géométriques éléctriques
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
PMC : Mise en pratique (1) Problèmes techniques : comment améliorer la performance de l’algorithme Le PMC en tant que méthode d’optimisation : variantes Ajout d’un moment Méthodes du 2° ordre Hessien Gradients conjugués Heuristiques Apprentissage séquentiel vs en mode batch Choix de la fonction d’activation Normalisation des entrées Initialisation des poids Les gains d’apprentissage Note : Il serait bon de faire un tableau récapitualitf des réponses à ses questions à la fin. [Haykin,178-184]
PMC : La rétro-propagation de gradient (variantes) Ajout d’un moment Voir [Hertz et al.,91,p.123-124] [Haykin,169-171] : sur la technique du moment (bon) et évoque un gain adaptatif propre à chaque connexion.
Convergence Réglage du pas d’apprentissage : h
PMC : Problèmes de convergence Minimums locaux. “Ravins”. etc. Ajout d’un terme de moment (inertie) Conditionnement des variables Bruiter les données d’apprentissage Algorithme stochastique (vs. total) Un pas de gradient variable (dans le temps et pour chaque cellule) Utilisation de la dérivée seconde (Hessien). Gradient conjugué. Voir [Bishop,95,p.274-...], [Hertz et al.,91,p.126]
PMC : Problèmes de convergence (gradients variables) Gain adaptatif si le gradient ne change pas de signe, sinon Gain beaucoup plus faible en stochastique qu’en gradient total Gain propre à chaque couche (e.g. 1 / (# entrées cellule)1/2 ) Algorithmes plus complexes Gradients conjugués Idée : Essayer de minimiser indépendamment sur chaque axe, en utilisant un moment sur la direction de recherche Méthodes de second ordre (Hessien) Diminuent le nombre de pas mais augmentent le temps calcul.
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Le sur-apprentissage
Le problème de la sélection de modèle
Contrôle de H : régularisation Principe : limiter l’expressivité de H Nouveau risque empirique : Exemples de régularisateurs utilisés : Contrôle de l’architecture du RN Contrôle des paramètres Soft-weight sharing Weight decay Réseaux à convolution Exemples bruités Terme de pénalisation [Thiria et al.,14-15] Liens avec Vapnik (SRM) ?
Contrôle par limite de l’exploration effective de H Règle de l’arrêt prématuré Weight decay
Généralisation : optimiser la structure d’un réseau Par croissance progressive Cascade correlation [Fahlman,1990] Par élagage Optimal brain damage [Le Cun,1990] Optimal brain surgeon [Hassibi,1993]
Introduction de connaissances a priori Invariances Exemples obtenus par transformation Translation / rotation / dilatation Fonction de coût incorporant des dérivées (e.g. spatiales) Incorporer des dérivées dans la fonction de coût [Mitchell, 97, p.117]
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
ANN Application Areas Classification Clustering Associative memory Control Function approximation
Applications for ANN Classifiers Pattern recognition Industrial inspection Fault diagnosis Image recognition Target recognition Speech recognition Natural language processing Character recognition Handwriting recognition Automatic text-to-speech conversion
Neural Network Approaches ALVINN Neural Network Approaches ALVINN - Autonomous Land Vehicle In a Neural Network Presented by Martin Ho, Eddy Li, Eric Wong and Kitty Wong - Copyright© 2000
ALVINN - Developed in 1993. - Performs driving with Neural Networks. - An intelligent VLSI image sensor for road following. - Learns to filter out image details not relevant to driving. Output units Hidden layer Input units Presented by Martin Ho, Eddy Li, Eric Wong and Kitty Wong - Copyright© 2000
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
PMC à fonctions radiales (RBF) Définition Couche cachée de cellules à fonction d’activation radiale (e.g. gaussienne) Idée : “paver” l’espace des entrées avec ces “champs récepteurs” Couche de sortie : combinaison linéaire sur la couche cachée Propriétés Approximateur universel ([Hartman et al.,90], ...) Mais non parcimonieux (explosion combinatoire avec la taille des entrées) Réservé aux problèmes de faible dimensionalité Liens étroits avec les systèmes d’inférence floue et les réseaux neuro-flous
PMC à fonctions radiales (RBF) : apprentissage Paramètres à régler : Nb de cellules cachées Position des centres des champs récepteurs Diamètre des champs récepteurs Poids vers la couche de sortie (moyenne pondérée) Méthodes Adaptation de la rétro-propagation (possible) Détermination de chaque type de paramètres par une méthode propre (souvent plus efficace) Centres déterminés par méthodes de “clustering” (k-means, ...) Diamètres déterminés par optimisation des taux de recouvrement (PPV, ...) Poids par technique d’optimisation linéaire (calcul de pseudo-inverse, ...)
Les réseaux récurrents Tâches Reconnaissance de séquence E.g. reconnaître le mot correspondant à un signal vocal Reproduction de séquence E.g. poursuivre la séquence quand une séquence initiale a été fournie (ex: prévision de consommation d’électricité) Association temporelle Production d’une séquence en réponse à la reconnaissance d’une autre séquence. Time Delay Neural Networks (TDNNs) Duplication des couches (artifice : pas vraiment récurrents) Réseaux récurrents Voir [Hertz et al., 91, ch.7, p.163-...]
Recurrent ANN Architectures Feedback connections Dynamic memory: y(t+1)=f(x(τ),y(τ),s(τ)) τ(t,t-1,...) Models : Jordan/Elman ANNs Hopfield Adaptive Resonance Theory (ART)
Les réseaux récurrents Voir [Hertz et al.,91,p.180-182] • Les flèches en grisé indiquent des connexions totales entre couches • Les flèches simples indiquent des connexions entre la cellule i d’une couche et la cellule i de la couche cible
Les réseaux récurrents Problèmes Notoirement difficiles à contrôler Dynamique chaotique Mémoire du passé limitée Paramètres supplémentaires Apprentissage mal compris
Une idée intrigante : le « reservoir computing » Utiliser un réseau récurrent sans l’entraîner explicitement Mais entraîner une seule couche de sortie Permet de rendre compte du temps Séries temporelles using a recurrent neural network without explicitly training it, but instead only training a single output layer. This simple and elegant concept shows a lot of promise both from a theoretical and a practical point of view, but a lot of work still needs to be done.
Une idée intrigante : le « reservoir computing » Semble prometteur : Demande encore beaucoup de recherches using a recurrent neural network without explicitly training it, but instead only training a single output layer. This simple and elegant concept shows a lot of promise both from a theoretical and a practical point of view, but a lot of work still needs to be done. Voir aussi Liquid State Machines Echo State Machines Backpropagation-Decorrelation
Plan Introduction Le perceptron Le perceptron multi-couches (PMC) Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
Conclusions Limites Avantages Apprentissage lent et difficile Opacité Réseaux appris très difficile à interpréter Difficile d’utiliser de la connaissance a priori Apprentissage incrémental de nouveaux concepts difficile : « catastrophic forgetting » Avantages Famille de modèles souple : s’adapte à une grande variété de problèmes
Sources documentaires Ouvrages / articles Dreyfus et. al (2001) : Réseaux de neurones. Méthodologie et applications. Eyrolles, 2001. Bishop C. (06) : Neural networks for pattern recognition. Clarendon Press - Oxford, 1995. Haykin (98) : Neural Networks. Prentice Hall, 1998. Hertz, Krogh & Palmer (91) : Introduction to the theory of neural computation. Addison Wesley, 1991. Thiria, Gascuel, Lechevallier & Canu (97) : Statistiques et méthodes neuronales. Dunod, 1997. Vapnik (95) : The nature of statistical learning. Springer Verlag, 1995. Sites web http://www.lps.ens.fr/~nadal/ (point d’entrée pour de nombreux sites)