Apprentissage compétitif - Competitive learning

L'apprentissage compétitif est une forme d' apprentissage non supervisé dans les réseaux de neurones artificiels , dans lequel les nœuds se disputent le droit de répondre à un sous-ensemble des données d'entrée. Variante de l' apprentissage Hebbian, l'apprentissage compétitif fonctionne en augmentant la spécialisation de chaque nœud du réseau. Il est bien adapté pour trouver des grappes dans les données.

Les modèles et algorithmes basés sur le principe de l'apprentissage compétitif incluent la quantification vectorielle et les cartes auto-organisées (cartes de Kohonen).

Des principes

Une règle d'apprentissage compétitif comporte trois éléments de base:

  • Un ensemble de neurones qui sont tous identiques à l'exception de certains poids synaptiques distribués de manière aléatoire, et qui répondent donc différemment à un ensemble donné de modèles d'entrée
  • Une limite imposée à la "force" de chaque neurone
  • Un mécanisme qui permet aux neurones de rivaliser pour le droit de répondre à un sous-ensemble donné d'entrées, de sorte qu'un seul neurone de sortie (ou un seul neurone par groupe), est actif (c'est-à-dire «allumé») à la fois. Le neurone qui remporte le concours est appelé un neurone «gagnant tout» .

En conséquence, les neurones individuels du réseau apprennent à se spécialiser sur des ensembles de modèles similaires et, ce faisant, deviennent des «détecteurs de caractéristiques» pour différentes classes de modèles d'entrée.

Le fait que les réseaux compétitifs recodent des ensembles d'entrées corrélées vers l'un des rares neurones de sortie supprime essentiellement la redondance de la représentation qui est une partie essentielle du traitement dans les systèmes sensoriels biologiques .

Architecture et mise en œuvre

Architecture de réseau neuronal concurrentiel

L'apprentissage compétitif est généralement mis en œuvre avec des réseaux de neurones qui contiennent une couche cachée qui est communément appelée «couche concurrentielle». Chaque neurone compétitif est décrit par un vecteur de poids et calcule la mesure de similarité entre les données d'entrée et le vecteur de poids .

Pour chaque vecteur d'entrée, les neurones compétitifs «se font concurrence» pour voir lequel d'entre eux est le plus similaire à ce vecteur d'entrée particulier. Le neurone gagnant m définit sa sortie et tous les autres neurones compétitifs définissent leur sortie .

Habituellement, pour mesurer la similitude, l'inverse de la distance euclidienne est utilisé: entre le vecteur d'entrée et le vecteur de poids .

Exemple d'algorithme

Voici un algorithme d'apprentissage compétitif simple pour trouver trois groupes dans certaines données d'entrée.

1. (Configuration.) Laissez un ensemble de capteurs alimenter tous trois nœuds différents, de sorte que chaque nœud soit connecté à chaque capteur. Laissez les poids que chaque nœud donne à ses capteurs être fixés aléatoirement entre 0,0 et 1,0. Supposons que la sortie de chaque nœud soit la somme de tous ses capteurs, la force du signal de chaque capteur étant multipliée par son poids.

2. Lorsque le réseau affiche une entrée, le nœud avec la sortie la plus élevée est considéré comme le gagnant. L'entrée est classée comme faisant partie du cluster correspondant à ce nœud.

3. Le gagnant met à jour chacun de ses poids, en déplaçant le poids des connexions qui lui ont donné des signaux plus faibles aux connexions qui lui ont donné des signaux plus forts.

Ainsi, à mesure que de plus en plus de données sont reçues, chaque nœud converge vers le centre du cluster qu'il en est venu à représenter et s'active plus fortement pour les entrées de ce cluster et plus faiblement pour les entrées d'autres clusters.

Voir également

Les références

Informations complémentaires et logiciel