Le réseau de neurones artificiel

Slides:



Advertisements
Présentations similaires
Plan Les réseaux de neurones Le réseau RBF RBF et Mushroom Historique
Advertisements

Chapitre 9 La mécanique de Newton.
3. Variantes de l’algorithme
Efficient Simplification of Point-Sampled Surfaces
« Extraction des connaissances
RECONNAISSANCE DE FORMES
Introduction générale aux réseaux de neurones artificiels
Réseaux de Neurones Artificiels
LES RESEAUX DE NEURONES
1 Réunion biblio 13/12/00 Support Vectors Présentation générale SSS Maintaining Algorithm.
Corrélations et ajustements linéaires.
FONCTIONS EXPONENTIELLES ET LOGARITHMES
EXPONENTIELLES FONCTIONS EXPONENTIELLES EN TERMINALE ST2S auteur : Philippe Angot (version adaptée)
Modélisation des systèmes non linéaires par des SIFs
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Classification automatique de documents
Concepts avancés en mathématiques et informatique appliquées
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Partie 1: Notions & concepts
Réseaux de neurones artificiels « la rétropropagation du gradient »
Applications du perceptron multicouche
Optimisation linéaire
Le codage des nombres en informatique
Cours Corporate finance Eléments de théorie du portefeuille Le Medaf
Méthodes Connexionnistes Apprentissage Fusion d’informations
Groupe 1: Classes de même intervalle
RECONNAISSANCE DE FORMES
La segmentation
Réseaux de neurones.
II- L’algorithme du recuit simulé (pseudo-code)
Les réseaux de neurones
Chapitre 7 Réseau ART.
GPA-779 Perceptron multicouche
Résumé Domaine des réseaux de neurones.
IFT Complexité et NP-complétude
Recherche Opérationnelle
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Modélisation de la lecture grâce à un modèle connexionniste
Interprétation automatique
La régression multiple
Les réseaux de neurones artificiels (RNA)
L’adaptativité pour un solveur de l’équation de Vlasov
Les réseaux de neurones
Modèle neuromimètique de l’apprentissage par renforcement Les aspects temporels (réponse retardée) peuvent être facilement intégrés au niveau cortical.
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Classification : objectifs
Christelle Scharff IFI 2004
STATISTIQUES – PROBABILITÉS
Les réseaux de neurones à réservoir en traitement d’images
Institut de sciences et technologies Département d’informatique
Réseaux de neurones à base radiale
Karima Tabari1, Mounir Boukadoum1, Sylvain Chartier2,3, Hakim Lounis1
Les réseaux de neurones à réservoir en traitement d’images
Intelligence artificielle
SVM machine à vecteurs de support ou séparateur à vaste marge
Mémoires associatives Le modèle BSB/Eidos Mounir Boukadoum.
Le chaos pourquoi ? Permet de modéliser un type de mouvement récent qui n’est ni uniforme, ni accéléré. Des dynamiques chaotiques ont été mises en évidence.
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Méthode des moindres carrés (1)
GPA-779 Application des systèmes experts et des réseaux de neurones.
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
Post-optimisation, analyse de sensibilité et paramétrage
Résolution des équations différentielles
Recuit simulé Une métaheuristique venue de la métallurgie.
Algorithmique Boucles et Itérations
Pierre Joli Cours de Mathématique Pierre Joli
ECHANTILLONAGE ET ESTIMATION
Transcription de la présentation:

Le réseau de neurones artificiel Pr A. MAJDA - FST - FES

Introduction Une approche inspirée du traitement de l'information effectué par le cerveau Cas imprévus Domaine de la reconnaissance de formes (images ou signaux), contrôle moteur, traduction automatique,… Questions : Comment un être vivant simple peut classifier un objet à partir des images Cibler un objet en mouvement …

Le réseau de neurones : Méthode issue du modèle biologique Chaque neurone dispose en moyenne de 10.000 points de contacts (synapses) avec les neurones qui l'entourent, jusqu’à 50.000 ! Nous disposons de quelques dizaines de milliards de ces neurones à l'intérieur de notre cerveau De synapse en synapse, l'information transite dans la totalité de notre corps, à travers environ 500 000 milliards de synapses

Neurone biologique

Neurone artificiel Chaque neurone artificiel est un processeur élémentaire Il reçoit un nombre d'entrées des neurones amonts A chacune de ces entrées est associée un poids : la force de la connexion Chaque neurone a une sortie unique, qui se ramifie pour alimenter un nombre de neurones avals. Biais

Définition Les RNA sont des réseaux fortement connectés de processeurs élémentaires fonctionnant en parallèle. Chaque processeur élémentaire calcule une sortie unique sur la base des informations qu'il reçoit.

Définition En équivalence avec le système biologique, Ce processeur est appelé neurone fortement inspirés par le système nerveux biologique.

Domaine de recherches utilisant les RNA Dans la littérature Neuromimétique Vérifier les théories biologiques du fonctionnement du système nerveux central Connexionnisme Améliorer les capacités de l’informatique par des modèles aux composants fortement connectés

Historique Fin de 1943, les neurologues McCulloch et Pitts ont présenté un modèle simplifié de neurone biologique : neurone formel En 1958, Franck Rosenblatt a développé le modèle du Perceptron et Windrow a présenté le modèle de l'ADALINE (ADAptive LINear Element) : le modèle de base des réseaux multicouches. En 1969, Marvin Lee Minsky et Seymour Papert ont publié un ouvrage mettant en exergue les limitations du Perceptron,

Historique 1972 : Kohonen présente ses travaux sur les mémoires associatives 1982 : Hopfield démontre l’intérêt d’utiliser les réseaux récurrents pour la compréhension et la modélisation des fonctions de mémorisation. 1986 : Rumelhart popularise l’algorithme de du gradient qui permet la rétropropagation et l’entrainement par couches cachées des réseaux multicouches. Les réseaux neuronaux ont depuis été beaucoup étudiés, et ont trouvé énormément d’applications.

Applications Aérospatial : pilotage automatique, simulation du vol… Défense : guidage de missiles et suivi de cible, reconnaissance du visage, radar, suppression du bruit… Electronique : prédiction de la séquence d’un code, vision machine, synthétiseur vocal,… Finance : Prévision du coût de la vie Secteur médical : Analyse EEG et ECG Télécommunications : Compression de données … …

Structure d’un neurone artificiel Pour le neurone d'indice j : les entrées sur celui-ci sont de poids wji les connexions avals sont de poids wkj

Comportement On distingue deux phases : Calcul de la somme pondérée des entrées : Une fonction de transfert calcule la valeur de l'état du neurone (sortie) yj =g(aj) C’est cette valeur qui sera transmise aux neurones avals

La fonction de transfert Il existe de nombreuses formes possibles : 1 : fonction à seuil (t : la valeur du seuil) 2 : linéaire par morceaux 3 : sigmoïde y =g(a) a 1 2 3

Topologies Les connexions entre les neurones décrivent la topologie du modèle de RNA utilisé On distingue : Réseau multicouche Propagation avant (feedforward)

Topologies Réseau à connexions locales propagation avant (feedforward) Connexion avec un nombre réduit de neurones

Topologies Réseau à connexions récurrentes (feedback network) Ces connexions ramènent l'information en arrière par rapport au sens de propagation

Topologies Réseau à connexion complète modèle récurrent (feedback network) la structure d'interconnexion la plus générale

Le perceptron Le perceptron de Rosenblatt (1958) est le premier RNA opérationnel. C’est un réseau à propagation avant avec seulement deux couches (entrée et sortie) entièrement interconnectées. Il est composé de neurones à seuil. L ’apprentissage est supervisé et les poids sont modifiés selon la règle delta.

Le perceptron

Le perceptron Un réseau de neurones monocouche est caractérisé par : p informations en entrée q neurones chacun des q neurones est connecté aux p informations d'entrée A noter : X = (xi ) 1 <= i <= p : les p informations d'entrée wji , 1 <= i <= p et 1 <= j <= q : les poids de connexion yj : la sortie du j-ème neurone aj : la donnée d'entrée (somme pondérée) du j-ème neurone. seuil : seuil d’activation du neurone On parle aussi du coefficient de biais wj0, pour ajuster la sensibilité du neurone Wj0=seuil ils jouent le même rôle, le seuil est fixe le biais se reactualise avec les poids de connexion

Le biais : On a donc l'équation suivante :  Généralement, le neurone est activé si l’activation on atteint le seuil de la fonction d'activation lorsque la somme pondérée des informations d'entrée vaut le coefficient de biais

Sous forme matricielle W = (w ji ) (i,j) / 0 <= i <= p et 1 <= j <= q X = (x i ) 1 <= i <= p x0=-1 Evaluation de X Exemple d’utilisation : Classification des données Chaque neurone de la couche représente une classe Pour un exemple X donné, on obtient la classe de cet exemple en prenant la plus grande des q sorties.

Fonctionnement Le Perceptron (un seul neurone) en phase d'utilisation L'apprentissage ayant été réalisé Les poids sont fixes Le neurone réalise une simple somme pondérée de ses entrées, compare une valeur de seuil t, et fourni une réponse binaire en sortie y Exemple : On peut interpréter sa décision comme classe 1 si la valeur de y est +1 et classe 2 si la valeur de y est 0. 1 t a y=g(a) x1 y x2

Fonctionnement Exercice: Sachant que les poids du Perceptron à deux entrées sont les suivants : w1 = 0.8 ,w2 = 0.7 et que la valeur de seuil est t =0.5, Déterminez son comportement, sachant que les comportements du ET logique, OU logique et OU exclusif sont respectivement : x1 x2 y 1 x1 x2 y 1 x1 x2 y 1 Réponse = OU

Apprentissage L ’apprentissage est une phase du développement d’un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement désiré. On distingue deux grandes classes d’algorithmes d’apprentissage : L’apprentissage supervisé L’apprentissage non supervisé

Apprentissage non supervisé Technique d'apprentissage automatique de classification d’un groupe de données hétérogènes en sous groupes homogènes sans avoir une sortie désirée réseau sortie obtenue ENTREES

Apprentissage supervisé Technique d'apprentissage automatique se basant sur une base de données d’exemples (entrée, sortie désirée) superviseur réseau sortie désirée sortie obtenue erreur ENTREES

Règles d’apprentissage L’apprentissage consiste à modifier le poids des connexions entre les neurones. Il existe plusieurs règles de modification : Loi de Hebb : wji=αxiyj Règle de delta: wji= α(dj - yj)xi Règle de Grossberg : wji= α(xi - wji)yj i j Wji xi yj

Règles d’apprentissage Loi de Hebb : Si deux unités connectées sont actives simultanément, le poids de leur connexion est augmenté ou diminué. α est une constante positive qui représente la force d'apprentissage (learning rate) wji=αxiyj i j Wji xi yj yj = -1 yj = 1 xi =-1 Wji = α Wji = - α xi = 1

Règles d’apprentissage Règle de delta : aj activation produite par le réseau dj réponse désirée par l'expert humain Par exemple si la sortie est inférieure à la réponse désirée, il va falloir augmenter le poids de la connexion à condition bien sûr que l'unité j soit excitatrice (égale à 1). On est dans l'hypothèse d'unités booléennes {0,1}. i j Wji xi yj dj = 0 dj = 1 xi =0 wji = 0 xi = 1 wji = -α yj wji = α(1 - yj) wji= α(dj - yj)xi

Règles d’apprentissage Loi de Grossberg : On augmente les poids qui entrent sur l'unité gagnante yj s'ils sont trop faibles, pour les rapprocher du vecteur d'entrée xi . C’est la règle d’apprentissage utilisée dans les cartes auto-organisatrices de Kohonen i j Wji xi yj wji= α(xi - wji)yj

Apprentissage supervisé Deux algorithmes pour "faire apprendre" à un réseau de neurones monocouche. Apprentissage par descente de gradient Apprentissage par l'algorithme de Windrow-Hoff Ils consistent à comparer le résultat qui était attendu par les exemples puis à minimiser l'erreur commise sur les exemples.

Apprentissage par descente de gradient Définition de l’Erreur quadratique moyenne On considère N exemples X n pour 1 <= n <= N Exemple : si la fct à apprendre au réseau est le ET Logique  N=4 X(n) = (x i(n)) 1 <= i <= p p : informations d’entrées Soit (X(n) ,d (n) ) le couple ( Entrée, sortie désirée) Soit y(n) la sortie obtenue pour le n -ème exemple avec les poids actuels EQM : L’idéal E = 0  RNA est expert Notre Objectif  Minimiser cette erreur en fonction des poids

Apprentissage par descente de gradient Cette minimisation se fait selon une règle delta , pour 1 <=i<=p ou b = biais En simplifiant α : taux d’apprentissage

Apprentissage par descente de gradient Récapitulons : pour 1 <=i<=p On a démontré que  d w i =- α e(n) (- xi(n)) e (n)=(d (n) -y (n) ) pour 1 <=n<=N Nombre d’exemples Remarque : On peut aussi réactualiser le biais si le neurone en a un. d w i =α (d (n) -y (n) ) (xi(n) )

Apprentissage par descente de gradient α un nombre réel = taux d'apprentissage Pour un seul neurone : w i le poids reliant la i -ème information au neurone Créer n variables dwi , pour 1 <= i <= p, égales à 0 Prendre un exemple (X(n) ,d (n) ) , pour 1 <= n <= N Calculer la sortie obtenue avec les poids actuels, yn (1) Rajouter à dw i le nombre α(d(n) – y(n)) x i (2) Réitérer (1) et (2) sur chacun des exemples Pour 1 <= i <= p, remplacer wi par wi + dwi

Apprentissage par descente de gradient Entrée:p poids w_i N exemples (X_n, y_n) où X_n est un vecteur à p x_i Sortie : les p poids modifiés POUR 1 <= i <= p dw_i = 0 FIN POUR POUR TOUT exemple (X_n, d_n) Calculer la sortie y_n du neurone dw_i = dw_i + alpha*(d_n – y_n)*x_i w_i = w_i + dw_i Le problème avec cette méthode est que l'on corrige sur la globalité des exemples

Apprentissage par l'algorithme de Windrow-Hoff Une amélioration de l'algorithme précédent : "la règle delta" Entrée:n poids w_i N exemples (X_n, d_n) où X_n est un vecteur à p x_i Sortie : les p poids modifiés POUR 1 <= i <= p dw_i = 0 FIN POUR POUR TOUT exemple (X_n, d_n) Calculer la sortie y_n du neurone w_i = w_i + alpha*(d_n – y_n)*x_i

Limitation du perceptron En général, les perceptrons ne permettent de représenter que des fonctions linéairement séparables [Minsky 69] Exemple : Fonctions logiques Pour les fonctions non linéairement séparables , il faut établir un réseau de neurones multicouche. ET XOR OU

Limitation du perceptron Théorème Un perceptron linéaire à seuil à n entrées divise l’espace des entrées en deux sous-espaces délimités par un hyperplan. Réciproquement : tout ensemble linéairement séparable peut être discriminé par perceptron linéaire à seuil.

Le Perceptron multicouche C’est un réseau à couches cachées Le flux se fait "en avant" En pratique une ou deux couches cachées suffisent

Dimensionnement Pb du PMC : déterminer l’architecture du réseau le nombre de couche cachée ? le nombre de neurones de chaque couche cachée ? Généralement : Pas de règles pour le nombre des neurones des couches cachée Hornik (1989) a démontré que la plupart des fonctions numériques peuvent être approximées par des réseaux à une seule couche cachée --> Pb de complexité

PMC pour le XOR 1/3 Le XOR peut être calculé par un perceptron multi-couches les liens avec poids nul ne sont pas représentés x0 =1 x1 x2 1 -0.5 0.5 -2 x1 XOR x2

PMC pour le XOR 2/3 x1 x2 -2 1 x1 XOR x2 biais=0.5 biais=-0.5

PMC pour le XOR 3/3 x1 x2 -2 1 x1 XOR x2 biais=0.5 biais=-0.5

Apprentissage Algorithme de rétropropagation Utilise la règle de modification des poids ("delta rule") Remonte couche par couche, des neurones de sortie vers les neurones d’entrées Modifie les poids synaptique en amont de chaque couche, de manière à diminuer l’erreur commise en sortie La fonction d'activation doit être indéfiniment dérivable La fonction sigmoïde -x

Algorithme de rétropropagation Données du réseau n ème exemple d’entrainement Où Vecteur d’entrée Sortie désirée Sortie Obtenue L’algorithme est basé sur : Propagation vers l’avant des entrées x(n) Retropropagation de l’erreur entre d(n)et y(n) vers l’arrière pour l’adaptation des poids

Modèle du neurone j Fonction d’activation L’erreur pour le neurone j :

Démonstration des étapes de l’algorithme La somme des erreurs quadratiques Pour diminuer les erreurs on modifie les poids wji(n) Descente du gradient de l’erreur La variation de poids 0≤η ≤ 1 taux d’apprentissage ou gain de l’algorithme

Cas de la couche de sortie La règle de chaînage des dérivées partielles 1er terme du gradient

2ème terme du gradient

3ème terme du gradient

4ème terme du gradient Finalement

Adaptation des poids de la couche de sortie la règle du “delta” pour la couche de sortie s’exprime par : Où le “gradient local”

Cas des couches cachées Le problème est qu’on ne dispose plus de l’erreur observée ? Cas de la dernière couche cachée On utilise la règle de chaînage des dérivées partielles Inchangés i neurone de la couche précédente j neurone de la couche courante k neurone de la couche suivante

Tous les ek(n) dépendent de yj(n)

On obtient Où D’où

Adaptation des poids des couches cachées Ainsi, la variation des poids est donnée par Où N.B. Ces équations sont valides pour toutes les couches cachées Dans le cas de la 1ère couche cachée il faut substituer la variable yi(n) par l’entrée xi(n)

Sommaire de l’algorithme 1/2 Initialiser tous les poids à des valeurs aléatoires dans l’intervalle [−0.5, 0.5] ; Normaliser les données d’entraînement ; Permuter aléatoirement les données d’entraînement ; Pour chaque donnée d’entraînement n : Calculer les sorties observées en propageant les entrées vers l’avant ; Ajuster les poids en rétropropageant l’erreur observée :

Sommaire de l’algorithme 2/2 Où le “gradient local” est défini par : Répéter les étapes 3 et 4 jusqu’à un nombre maximum d’itérations ou jusqu’à ce que la racine de l’erreur quadratique moyenne (EQM) soit inférieure à un certain seuil.

Règle du “delta généralisé” La variation des poids devient : On ajoute un terme d'inertie : Momentum Eviter les problèmes liés à une stabilisation dans un minimum local Où 0≤α≤1 est un paramètre d’inertie

Applications : PMC Classification : Reconnaissance de formes : les lettres de l ’alphabet les chiffres de 0 à 9

Les réseaux de Kohonen Principale différence : Apprentissage non supervisé La sortie exacte ne peut pas être défini a priori Pas de superviseur Pas d’erreur Le réseau fait le classement des données d’entrées en se basant uniquement sur le principe d’auto - organisation On cite Les cartes auto-organisatrice de kohonen Le neural gas

Carte auto organisatrice de kohonen Les neurones de la carte sont organisés selon une topologie bien précise dans une seule couche (grille 2d) Chaque neurone désignera une classe probable Ici la carte de 5*5 neurones Carte Vecteur des poids pour le neurone i wi1 wi2 … win Vecteur d’entrée P wi1 wi2 win p1 p2 … pn p1 p2 … pn

Carte auto-organisée de Kohonen Un apprentissage compétitif Une couche d ’entrée et une couche compétitive. Carte m La couche compétitive possède une structure topologique, ce qui permet de définir un voisinage pour le neurone gagnant n wi1 wi2 win Le neurone peut être référencé par un seul indice i=n*5+m ou deux indice m et n p1 p2 … pn

Carte auto-organisée de Kohonen L’apprentissage se fait en 2 étapes La compétition entre les neurones L’adaptation des neurones w1 wi2 win p1 p2 … pn

Carte auto organisatrice de kohonen Neurone j gagnant ( wj est le plus proche de P ) Le vecteur d’entrée P est connecté à chaque tout neurone i par le vecteur wi des poids Carte wi1 wi2 … win wj1 wj2 wjn wi1 wi2 win p1 p2 … pn Vecteur d’entrée P

Regroupement : clustering Réseaux de Neurones à Compétition : un seul neurone de sortie est activé pour une entrée donnée

Le neurone gagnant Lorsqu’on présente un vecteur d’entrée P on cherche le neurone qui présente le vecteur poids W le plus proche de P Avec S le nombre total des neurones sur la couche de compétition

Applications Applications : Robotique : pilotage de robots Compression des données Classification des données Statistiques

Le concept du voisinage Origine biologique : une zone du cortex correspond à une zone des organes sensoriels et moteurs

Apprentissage compétitif Faire compétitionner les neurones d’un réseau pour déterminer lequel sera actif à un instant donné Produit un «vainqueur» ainsi que, parfois, un ensemble de neurones «voisins du vainqueur » apprentissage est local Contrairement aux autre types d’apprentissage, Seuls les poids synaptiques de ce neurone( et de ceux de son voisinages s’il existe)seront réadaptés

Adaptation des poids Le neurone vainqueur modifiera ses poids synaptiques en les rapprochant (géométriquement) d’un stimulus d’entrée p On un voisinage autour modifie aussi les poids des neurones voisins du neurone gagnant : Taux d’apprentissage

Fonctionnement Construire une carte à 1 ou 2 dimensions permettant de structurer l’espace d’entrée

Fonctionnement p est un vecteur d’entrée (prototype) de dimension (R*1) W est la matrice des poids de taille (R*S) n de dimension (S*1) est le vecteur des distances ni entre un vecteur d’entrée p et la ième colonne de la matrice des poids relatifs au ième neurone pour 1 ≤ i≤ S a : Vecteur des activations de dimension (S*1) ai= compet(ni) = 1 si ni est la distance minimale = 0 sinon où S correspond au nombre de neurones du réseau.

mise à jour des poids La variation des poids ∆iw(t) du neurone i au temps t s’exprime de la façon suivante : Où p(t) désigne le stimulus d’apprentissage au temps t Λg(t) représente le voisinage au temps t du neurone gagnant g.

Topologie de voisinage d’un neurone Pour une carte à deux dimensions : (a) Λ18 = 2 ; (b) Λ18 = 1 ; (c) Λ18 = 0.

Modification du taux d’apprentissage avec le temps Le taux d’apprentissage η dépend du temps En pratique On débute avec η grand qui décroit avec le temps Où η 0 est le taux d’apprentissage initial ητ est le taux d’apprentissage final τ délimite la frontière entre deux phases d’apprentissage

Modification du voisinage d’un neurone avec le temps Même remarque pour le voisinage, en utilisant une décroissance linéaire Où Λ0 est le voisinage initial etendu

Algorithme de Kohonen

La fonction de voisinage gaussienne redéfinir l’algorithme d’apprentissage dans le cas ou la fonction de voisinage est une gaussienne