UNIVERSITE SIDI MOHAMED BEN ABDELLAH FACULTE DES SCIENCES ET TECHNIQUE FES-SAIS DEPARTEMENT D’INFORMATIQUE Pr A.MAJDA ANNEE 2014- 2015 Réseaux de neurones TD/TP N°2 Mots clés : Réseaux de neurones, Perceptron Multi-Couche, Algorithme de retropropagation. Notes de cours Le Perceptron Multi-Couche (“Multi-Layered Perceptron”) est un réseau de neurones composé d’une couche d’entrée, une couche de sortie et une ou plusieurs couches cachées. L’apprentissage dans un réseau de neurones est réalisé en modifiant les poids de telle façon que la sortie effective du réseau soit la plus proche possible de la sortie désirée. Ceci est réalisée au cours de la phase d’apprentissage des poids, où l’on dispose d’un jeu de données représentant des exemples d’apprentissage (Entrée, Sortie désirée pour cette entrée). On parle d’apprentissage supervisé. Une fois la phase d’apprentissage terminée, on peut évaluer la performance du réseau de neurones sur : (1) les données déjà présentées (la base d’apprentissage) (2) les données non encore présentées (la base de validation) L’algorithme d’apprentissage le plus connu pour les réseaux de neurones est l’algorithme de rétro-propagation (“back-propagation algorithm”). Partie 1 On considère le PCM suivant : xi sont les entrées du réseau hj sont les sorties de la couche cachée y est la sortie du réseau En utilisant : La fonction de transfert Sigmoïde on a : Un taux d’apprentissage égale à 0,7 1 𝑦(𝑎) = 1+𝑒 −𝑎 1- On veut apprendre au réseau la fonction logique XOR. En utilisant l’algorithme de retropropagation, Ecrire une fonction qui permet de calculer les nouveaux poids du réseau de la figure ci-dessus si on présente à l’entrée le vecteur d’apprentissage (0,1) 2- Même question pour la fonction logique OU Partie 2 On souhaite maintenant implémenter un perceptron multicouche, avec une seule couche cachée, qui permet de reconnaitre les lettres de l’alphabet majuscules. Pour cela, chaque lettre peut être vue comme un tableau bidimensionnel de taille 50*50. Exemple : Pour une taille de 5*5 Ainsi, dans la séquence d’apprentissage on aura 26 exemples d’entrainement, des couples (vecteurs d’entrée, sortie désirée) où chaque vecteur d’entrée est de taille 2500. 1. Faire un apprentissage au réseau 2. Tracer la courbe Erreur quadratique moyenne en fonction du temps (Nombre d’itérations) 3. Après la phase d’apprentissage, testez votre réseau en présentant à l’entrée un vecteur de la base de test. Rédiger un compte rendu contenant les points suivants : a. La réponse à toutes les questions de la partie A b. Une description du programme de la partie B c. Le tracé de la courbe mentionnée en haut. d. Une conclusion mettant en évidence les avantages et les inconvénients de l’utilisation du PMC pour ce sujet.