Le perceptron monocouche est un type de réseau de neurones artificiels qui a été créé dans les années 1950 par Frank Rosenblatt. Il s’agit d’un modèle relativement simple qui consiste en un seul couche de neurones interconnectés. Le but du perceptron est de prendre une série d’entrées et de les classer en fonction de leur catégorie (par exemple: reconnaitre une lettre manuscrite).
Principe de fonctionnement.
Il est assez simple : chaque entrée est multipliée par un poids, puis ces produits sont sommés pour donner une valeur d’activation. Cette valeur d’activation est ensuite comparée à un seuil de décision. Si la valeur est supérieure au seuil, le perceptron classe l’entrée dans une catégorie spécifique. Sinon, il la classe dans une autre catégorie.
Le perceptron admet donc en entrée les valeurs x qu’il pondère avec des poids respectifs w. Il en fait la somme. Si cette somme est supérieur à une valeur seuil, elle donne une sortie 1, sinon 0.
Le perceptron a été créé dans le but de résoudre des problèmes de classification simples, tels que la reconnaissance de chiffres manuscrits. Ces problèmes de classification sont dits linéaires, en ceci qu’ils consistent à séparer de manière binaire les données analysées (c’est un c ou ça ne l’est pas; …) en les séparant par une droite (ou un plan) isolant les deux groupes.
Malheureusement, ces problèmes linéaires ne sont pas la règle, et nécessitent alors l’emploi de techniques plus complexes.
Algorithme de descente de gradient stochastique.
Rosenblatt, en 1957, emploie la méthode de descente de gradient stochastique pour optimiser son perceptron. Cette méthode est issue des modèles statistiques plus classiques de régression linéaire. La régression linéaire consiste à chercher l’équation d’une droite qui s’approche au mieux des valeurs mesurées, de manière à modéliser de façon simple un modèle (par exemple: la vitesse de remplissage d’une citerne, la relation entre la taille et le poids, ….). Ce modèle cherchera à réduire au mieux la différence moyenne entre la valeur prédite et les données utilisées.
Descente de gradient ?
La descente de gradient est une méthode d’optimisation couramment utilisée dans l’apprentissage automatique pour trouver les paramètres optimaux d’un modèle. Elle est particulièrement utile pour les grands ensembles de données, car elle permet de réduire le temps de calcul par rapport à la descente de gradient classique.
L’écart entre les valeurs mesurées et celles prédites par le modèles est exprimé par une fonction de coût, qui, lorsque les mesures portent sur deux valeurs, est une parabole. La descente de gradient revient à chercher le minimum de cette parabole selon un algorithme itératif, qui part d’un point aléatoire sur une fonction et descend sa pente par étapes jusqu’à ce qu’il atteigne le point le plus bas de cette fonction.
Stochastique ?
Plutôt que de réaliser à chaque itération la mesure de la descente de gradient sur la totalité du jeu de données, on choisit au hasard un exemple (ou une sélection d’exemples, un mini-lot) pour tester ces données. Cela rend la DGS plus rapide que la descente de gradient classique, car elle évite de calculer le gradient pour tous les exemples de données. Au lieu de cela, le gradient est calculé sur l’exemple de données actuel et les poids du modèle sont ajustés en fonction de ce gradient.
Au total.
Le processus de la DGS est le suivant :
- Initialiser les poids du modèle avec des valeurs aléatoires.
- Sélectionner un exemple de données au hasard.
- Calculer la prédiction du modèle pour cet exemple de données.
- Calculer l’erreur entre la prédiction du modèle et la vraie valeur de l’exemple de données (la fonction coût).
- Calculer le gradient de l’erreur par rapport aux poids du modèle en utilisant l’exemple de données sélectionné.
- Mettre à jour les poids du modèle en soustrayant le produit du gradient et du taux d’apprentissage (learning rate) à partir des poids actuels.
- Répéter les étapes 2 à 6 pour toutes les autres données d’entraînement.
La définition du taux d’apprentissage est une étape importante, car si il est trop petit, la convergence vers le point bas sera ralenti; tandis que si il est trop grand, la convergence sera instable.
La GDS a plusieurs avantages, notamment :
- Elle est rapide et peut être utilisée pour de grands ensembles de données.
- Elle est facile à mettre en œuvre.
Cependant, elle présente également des inconvénients, notamment :
- Elle peut être sensible aux valeurs initiales des poids du modèle.
- Elle peut être sensible au choix du taux d’apprentissage et nécessite souvent un réglage minutieux.
- Elle peut être moins précise que la descente de gradient classique, car elle utilise un seul exemple de données à chaque itération.
En résumé …
Le perceptron a était la première tentative, en 1957, de création d’une machine qui puisse apprendre. Basée sur la notion de neurone formel, son apprentissage est basé sur des algorithmes d’optimisation issus de la statistiques, que l’on peut rapprocher des méthodes de régression linéaires. La méthode de Descente de Gradient Stochastique reste la méthode de base d’adaptation des poids de chaque entrée dans le neurone, et donc de l’apprentissage dans les réseaux neuronaux.
Ses limites sont toutefois très importantes, et cette méthode fut abandonnée pendant des décennies en tant qu’outil permettant de l’apprentissage machine, au profit de méthodes d’optimisation statistique conventionnelle ou de méthodes de type système-expert.
2 réponses à “Perceptron monocouche.”
[…] de détails sur le perceptron monocouche ici). Les usages du perception monocouche sont actuellement très […]
[…] Perceptron. […]