Perceptron (fr)

Le Perceptron s’inspire du traitement de l’information d’une seule cellule neuronale (appelée neurone). Un neurone accepte les signaux d’entrée via son axone, qui transmettent le signal électrique au corps cellulaire. Les dendrites transmettent le signal aux synapses, qui sont les connexions des dendrites d’une cellule aux axones d’autres cellules. Dans une synapse, l’activité électrique est convertie en activité moléculaire (molécules de neurotransmetteurs traversant la fente synaptique et se liant aux récepteurs). La liaison moléculaire développe un signal électrique qui est transmis à l’axone des cellules connectées.

L’objectif de traitement de l’information de la technique est de modéliser une fonction donnée en modifiant les pondérations internes des signaux d’entrée pour produire un signal de sortie attendu. Le système est formé à l’aide d’une méthode d’apprentissage supervisé, où l’erreur entre la sortie du système et une sortie attendue connue est présentée au système et utilisée pour modifier son état interne. L’état est maintenu dans un ensemble de pondérations sur les signaux d’entrée. Les poids sont utilisés pour représenter une abstraction de la mise en correspondance des vecteurs d’entrée avec le signal de sortie pour les exemples auxquels le système a été exposé pendant la formation.

Le Perceptron est composé d’une structure de données (poids) et de procédures distinctes pour la formation et l’application de la structure. La structure n’est en réalité qu’un vecteur de poids (un pour chaque entrée attendue) et un terme de biais.

L’algorithme suivant fournit un pseudocode pour l’apprentissage du Perceptron. Un poids est initialisé pour chaque entrée plus un poids supplémentaire pour un biais constant qui est presque toujours fixée à 1,0. L’activation du réseau à un modèle d’entrée donné est calculée comme suit:

où n est le nombre de poids et d’entrées, x_ki est le k-ème attribut sur le i-ème motif d’entrée, et w_bias est le poids de biais. Les poids sont mis à jour comme suit:

où w_i est le i-ème poids aux temps t et t + 1, α est le taux d’apprentissage, e(t) et a(t) sont la sortie réelle attendue au temps t, et x_i est la i-ème entrée. Ce processus de mise à jour est appliqué à chaque poids tour à tour (ainsi qu’au poids de biais avec son entrée).

Le Perceptron peut être utilisé pour approximer des fonctions linéaires arbitraires et peut être utilisé pour des problèmes de régression ou de classification. Le Perceptron ne peut pas apprendre un mappage non linéaire entre les attributs d’entrée et de sortie. Le problème XOR est un exemple classique d’un problème que le Perceptron ne peut pas apprendre.

Les valeurs d’entrée et de sortie doivent être normalisées de telle sorte que chaque x soit dans [0; 1]. Le taux d’apprentissage α dans [0; 1] contrôle la quantité de changement que chaque erreur a sur le système, les apprentissage inférieurs sont courants tels que 0,1. Les poids peuvent être mis à jour en ligne (après l’exposition à chaque modèle d’entrée) ou par lots (après qu’un nombre fixe de modèles ait été observé). Les mises à jour par lots devraient être plus stables que les mises à jour en ligne pour certains problèmes complexes. Un poids de polarisation est utilisé avec un signal d’entrée constant pour assurer la stabilité du processus d’apprentissage. Une fonction de transfert par étapes est couramment utilisée pour transférer l’activation vers une valeur de sortie binaire 1<–activation ≥ 0, sinon 0. Il est recommandé d’exposer le système à des modèles d’entrée dans un ordre aléatoire différent à chaque itération. Les poids initiaux sont généralement de petites valeurs aléatoires, généralement dans [0; 0,5].