| 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 :
-
Cosinus.
-
Sinus.
-
Complex : c'est une somme de 4 sinus avec différentes périodes.
-
Chaos : c'est la fonction chaotique d'Ikeda (i.e., Benítez).
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
-
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.
-
Sinus: même question que précédemment mais avec
la fonction Sinus. Pourquoi un seul neurone d'entrée n'est plus
suffisant ?
-
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 ?
-
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 ?
-
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 ?
-
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.
-
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 ?