Réseaux de neurones
Sommaire Perceptron Mémoires associatives Réseau à couches cachées Rétro-propagation de l’erreur
Perceptron Considéré comme 1er réseau de neurones Basé sur la biologie humaine Créé Par Rosenblatt Entre 1957 et 1961 But : associer des configurations d’entrée à des réponses
Perceptron Constitution Couche d’entrée / Rétine Couche de sortie 1/0 ∑ {0/1} Valeurs possibles en entrée : 0 ou 1 En sortie : 0/1 Connexions/Synapses
Perceptron Constitution Couche d’entrée / Rétine Couche de sortie 1/0 ∑ {0/1} Valeurs possibles en entrée : 0 ou 1 En sortie : 0/1 Connexions/Synapses
Perceptron Constitution x0 x1 x2 x3 aj= ∑i xiwij w0j w1j w2j w3j 1/0 ∑ {0/1} x0 x1 x2 x3 aj= ∑i xiwij w0j w1j w2j w3j oj=f(aj)
Perceptron Constitution aj : activation de la jème cellule de sortie x0 x1 x2 x3 aj= ∑i xiwij w0j w1j w2j w3j xi : valeur de sortie de la ième cellule de la rétine oj=f(aj) oj : régle de décision oj = 0 pour aj <= θj, 1 pour aj > θj wi,j : intensité connexion entre ième cellule d’entrée et jème cellule de sortie
Perceptron Apprentissage Supervisé On donne l’entrée et la sortie attendue Si sortie d’une cellule est bonne => on ne fait rien Sinon, si elle est activée : on diminue la valeur de ses connexions si elle est désactivée : on augmente la valeur de ses connexions Jusqu’au moment où les réponses sont toutes correctes
Perceptron Apprentissage Comment diminuer ou augmenter les connexions ? Règle d’apprentissage de Widrow-Hoff wi,j(t+1) = wi,j(t)+n(tj-oj)xi = wi,j(t)+∆wi,j Facteur d’apprentissage Réponse théorique de la jème cellule de sortie
Perceptron Problèmes Pourquoi ? Conséquence Difficile de trouver de bons paramètres Impossible de modéliser le XOR Pourquoi ? XOR est non linéairement séparable Conséquence Le perceptron est alors mal vu et est abandonné 1,0 0,1 0,0 1,1
Mémoires associatives Vers 1970 Deux types Mémoires hétéro-associatives Mémoires auto-associatives
Mémoires hétéro-associatives Généralisation du perceptron L’activation de sortie est continue et non plus 0 ou 1 Même constitution mais oj=γaj= γ(∑i xiwij)
Mémoires auto-associatives Constitution Réseau de neurones Input
Mémoires auto-associatives Deux types Linéaires Recherche de réponse par combinaison linéaire des stimulis stockés Non linéaires Réseaux de Hopfield Réponses binaires : fonction sign dans {-1 , 1} Mise à jour asynchrone
Mémoires auto-associatives But Retrouver une information à partir d’une partie de celle-ci Exemple Retrouver un visage connu à partir d’un nez et deux yeux
Sommaire Perceptron Mémoires associatives Réseau à couches cachées Rétro-propagation de l’erreur
Réseaux à couches cachées Constitution Matrices de connexions W Z x INPUT I neurones h HIDDEN L neurones o OUTPUT J neurones
Réseaux à couches cachées Constitution Zj0 Zj1 Zj2 x0 x1 x2 x3 aj= ∑i xiwij w0j w1j w2j w3j oj=f(aj)
Rétro-propagation de l’erreur Technique d’apprentissage Idée : On teste une entrée On récupère la réponse On la compare à la réponse théorique On propage l’erreur entre les deux réponses, de la sortie vers l’entrée du réseau
Rétro-propagation de l’erreur Choix de f (fonction de transfert): La plus populaire : la fonction logistique Sa dérivée
Rétro-propagation de l’erreur Algorithme 1. On place une entrée
Rétro-propagation de l’erreur Algorithme 1. On place une entrée h=f(W*x) 2. Calcul des réponses pour h
Rétro-propagation de l’erreur Algorithme o=f(Z*h) 1. On place une entrée h=f(W*x) 2. Calcul des réponses pour h 3. Calcul des réponses pour o
Rétro-propagation de l’erreur Algorithme o=f(Z*h) sortie=f’(Zh)*(t - o) 1. On place une entrée 2. Calcul des réponses pour h 3. Calcul des réponses pour o 4. Calcul du signal d’erreur de sortie
Rétro-propagation de l’erreur Algorithme sortie=f’(Zh)*(t - o) 1. On place une entrée 2. Calcul des réponses pour h 3. Calcul des réponses pour o 4. Calcul du signal d’erreur de sortie 5. On ajuste Z avec le signal d’erreur Z(t+1)=Z(t)+n sortie h = Z(t) + ∆(t)Z
Rétro-propagation de l’erreur Algorithme 1. On place une entrée cachée=f’(Wx)*(Z sortie) 2. Calcul des réponses pour h 3. Calcul des réponses pour o 4. Calcul du signal d’erreur de sortie 5. On ajuste Z avec le signal d’erreur 6. Calcul du signal d’erreur de la couche cachée Z(t+1)=Z(t)+n sortie h = Z(t) + ∆(t)Z
Rétro-propagation de l’erreur Algorithme 1. On place une entrée cachée=f’(Wx)*(Z sortie) 2. Calcul des réponses pour h 3. Calcul des réponses pour o 4. Calcul du signal d’erreur de sortie 5. On ajuste Z avec le signal d’erreur 6. Calcul du signal d’erreur de la couche cachée 7. On ajuste W avec le signal d’erreur W(t+1)=W(t)+n cachée x = W(t) + ∆(t)W
Rétro-propagation de l’erreur Algorithme 1. On place une entrée 2. Calcul des réponses pour h 3. Calcul des réponses pour o 4. Calcul du signal d’erreur de sortie 5. On ajuste Z avec le signal d’erreur 6. Calcul du signal d’erreur de la couche cachée 7. On ajuste W avec le signal d’erreur W(t+1)=W(t)+n cachée x = W(t) + ∆(t)W
Rétro-propagation de l’erreur Algorithme 1. On place une entrée 2. Calcul des réponses pour h 3. Calcul des réponses pour o 4. Calcul du signal d’erreur de sortie 5. On ajuste Z avec le signal d’erreur 6. Calcul du signal d’erreur de la couche cachée 7. On ajuste W avec le signal d’erreur
Domaine des réseaux de neurones Aide pour l’homme Classification d’objets Apprentissage supervisé Recherche d’une fonction complexe