Modèle Général d'un neurone artificiel
Le modèle général de neurone artificiel comporte cinq composants:
- Un ensemble d'entrées, x1,…,xn
- Un ensemble de poids, w1,…,wn
- Un biais b
- Une fonction de transfert f
- une sortie s
Production du neurone
Le neurone calcule sa sortie s grâce à l'équation suivante
f(Σn−1i=0wi.xi−b)=f(Σni=0wi.xi)
ou wn est égal à b et xn à −1.
Cette sortie peut être passée en entrée à un groupe de neurones ou transmise directement à l'environnement extérieur.
Travaux pratiques : développement du neurone
- Développer un neurone avec les cinq attributs énoncés ci-dessus et un constructeur permettant de les fixer. La sortie sera calculée.
- Instancier un neurone à deux entrées x1 et x2 et la fonction binaire comme fonction d'activation. A l'aide d'essais successifs, déterminer les poids w1, w2 et le biais b de sorte que le neurone calcule la sortie adéquate selon le tableau suivant :
x1 | x2 | Sortie |
-0,2 | 0,5 | 0 |
0,2 | -0,5 | 0 |
0,8 | -0,8 | 1 |
0,8 | 0,8 | 1 |
Réseau de neurones : perceptron simple couche
Un perceptron simple couche consiste en un ou plusieurs neurones artificiels en parallèle : chaque neurone fourni une sortie qui est connecté au monde extérieur.
Apprentissage dans un perceptron simple couche : règle delta
Cet algorithme d'apprentissage du perceptron a été développé par Frank Rosenblatt à la fin des années 50. Son but est de faire évoluer le réseau vers celui qui minimise les erreurs commises sur l'ensemble des exemples. Il est le suivant:
- Initialisation des poids et biais (w0, …, wn−1, wn) à des valeurs aléatoires comprises entre 0 et 1.
- Présentation du motif d'apprentissage x donné en entrée du neurone et calcul de la sortie.
- Les poids w sont modifiés comme suit w(t+1)=w(t)+η.(d−s).x où
- w est le poids,
- d est la sortie théorique,
- s est la sortie réelle,
- x est l'entrée,
- η est un coefficient d'apprentissage (entre 0 et 1) (que l'on peut diminuer au cours de l'apprentissage).
- Répétition des étapes 2 et 3 jusqu'à ce que :
- l'erreur de l'itération (E=1/2.(s−d)2) est inférieure à un seuil d'erreur spécifié par l'utilisateur.
- un nombre d'itérations prédéterminé s'est écoulé.
Travaux pratiques :
- Implanter la règle du delta et l'appliquer sur l'exemple de la page précédente
Projet à réaliser en binome pour le 01 avril 2010 à 0h00
- Concevoir un réseau de 144 neuronnes, chacun à 144 entrées
- Lui faire apprendre les caractères numériques (0-9)
- Le tester sur sur des versions dégradées de ces caractères
- Lui ajouter les voyelles minuscules de l'alphabet.
- Le tester sur des versions dégradées de ces voyelles
- Sont à fournir :
- Tout le code python
- Toutes les données d'apprentissage
- Toues les données d'essai.
- Un rapport de 2 pages synthétisant l'originalité du développement.