Prediction avec un Perceptron multi-couche 

Introduction

Cette applet illustre les possibilités de prédiction d'un perceptron multi-couche. Il permet de définir un signal d'entrée sur lequel une prédiction peut être opérée. L'utilisateur peut choisir le nombre de neurone d'entrée, de neurones cachés et de neurones de sortie, de mêmem que le delai entre la série d'entrées et les sorties prédites. Il est alors possible d'obsesrver d'intéressantes propriétés de prédiction.

Auteur

L'applet origniale a été écrite par Olivier Michel.

Instructions

Choisissez une fonction à prédire par le menu popup : Choisissez le nombre de neurones d'entrée et de neurones de sortie. Choisissez le paramètre delta pour espacer les neurones d'entrée et les neurones de sortie. Choisissez alors le délai entre les neurones d'entrée et les neurones de sortie. Enfin, cliquez sur le bouton "Init" pour voir les positions des neurones par rapport à la courbe de la fonction choisie. Les neurones d'entrée sont affichés en bleu tandis que les neurones de sortie sont affichés en rouge.

Pendant l'apprentissage et le test, les entrées et sorties sont choisies au hasard dans l'espace [0;1]. L'algorithme calcule d'abord l'intervalle entre le premier neurone d'entrée et le dernier neurone de sortie. Cet intervalle est alors ensuite graduellement décalé pendant 100 itérations sur l'espace [0;1], partant de 0 jusqu'à ce que la fin de l'intervalle atteingne 1.

Vous pouvez jouer en cliquant avec la souris sur le graphe et changer ainsi la position du premier neurone d'entrée sur le graphe (cela ne change rien au processus d'apprentissage, mais affecte seulement l'affichage). Vous pouvez alors voir la réponse du réseau de neurones (points rouges) à l'entrée ainsi spécifiée.

L'apprentissage a lieu sur l'espace [0;1]. L'espace [1;2] peut être utilisé pour tester les possibilités de généralisation des réseaux.

Applet

 

Questions

  1. Cosinus: essayez de trouver le réseau minimal capable de faire une bonne prédiction sur la fonction Cosinus avec une seul neurone de sortie.
  2. Sinus: même question que précédemment mais avec la fonction Sinus. Pourquoi un seul neurone d'entrée n'est plus suffisant ?
  3. Complex: Même question que précédemment, mais avec la fonction Complex (qui est la somme de 4 sinusoïdes avec des périodes différentes). Pouvez-vous définir une loi pour calculer le nombre minimal de neurones d'entrée en fonction de la forme de la fonction à prédire ?
  4. Chaos: Même question que préceemment, mais avec la fonction Chaos. Félicitations si vous arrivez à trouver un réseau qui permet de faire une telle prédiction ! Comment expliquez-vous que cela soit si difficile ?
  5. Deux sorties: essayez de trouver le réseau minimum capable de faire une bonne prédiction sur la fonction Cosinus avec deux neurones de sortie. Est-ce plus difficile que la question 1. Pourquoi ?
  6. Trois sorties: Maintenant essayez avec trois sorties sur la fonction Sinus. Il se peut que vous soyiez obliger d'ajuster les paramètres delta et delay afin de trouver une solution.
  7. Quatre sorties: Enfin, essayez de concevoir le plus petit réseau possible (qui devrait être en fait assez gros), qui permet de prédire quatre sorties sur la fonction Complex. Faut-il davantage d'itération que pour les exemples précédents ?