Aprendizaje competitivo - Competitive learning

El aprendizaje competitivo es una forma de aprendizaje no supervisado en redes neuronales artificiales , en la que los nodos compiten por el derecho a responder a un subconjunto de los datos de entrada. Una variante del aprendizaje hebbiano , el aprendizaje competitivo funciona aumentando la especialización de cada nodo de la red. Es muy adecuado para encontrar agrupaciones dentro de los datos.

Los modelos y algoritmos basados ​​en el principio de aprendizaje competitivo incluyen la cuantificación de vectores y los mapas autoorganizados (mapas de Kohonen).

Principios

Hay tres elementos básicos para una regla de aprendizaje competitiva:

  • Un conjunto de neuronas que son todas iguales excepto por algunos pesos sinápticos distribuidos aleatoriamente y que, por lo tanto, responden de manera diferente a un conjunto dado de patrones de entrada.
  • Un límite impuesto a la "fuerza" de cada neurona
  • Mecanismo que permite que las neuronas compitan por el derecho a responder a un subconjunto dado de entradas, de modo que solo una neurona de salida (o solo una neurona por grupo) esté activa (es decir, "encendida") a la vez. La neurona que gana la competencia se llama neurona de "el ganador se lleva todo" .

En consecuencia, las neuronas individuales de la red aprenden a especializarse en conjuntos de patrones similares y, al hacerlo, se convierten en "detectores de características" para diferentes clases de patrones de entrada.

El hecho de que las redes competitivas recodifiquen conjuntos de entradas correlacionadas en una de las pocas neuronas de salida esencialmente elimina la redundancia en la representación, que es una parte esencial del procesamiento en los sistemas sensoriales biológicos .

Arquitectura e implementación

Arquitectura de red neuronal competitiva

El aprendizaje competitivo generalmente se implementa con redes neuronales que contienen una capa oculta que se conoce comúnmente como "capa competitiva". Cada neurona competitiva se describe mediante un vector de pesos y calcula la medida de similitud entre los datos de entrada y el vector de pesos .

Para cada vector de entrada, las neuronas competitivas "compiten" entre sí para ver cuál de ellas es la más similar a ese vector de entrada en particular. La neurona ganadora m establece su salida y todas las demás neuronas competitivas establecen su salida .

Por lo general, para medir la similitud se usa la inversa de la distancia euclidiana: entre el vector de entrada y el vector de peso .

Algoritmo de ejemplo

Aquí hay un algoritmo de aprendizaje competitivo simple para encontrar tres grupos dentro de algunos datos de entrada.

1. (Configuración). Deje que un conjunto de sensores se alimenten en tres nodos diferentes, de modo que cada nodo esté conectado a cada sensor. Deje que los pesos que cada nodo da a sus sensores se establezcan aleatoriamente entre 0.0 y 1.0. Sea la salida de cada nodo la suma de todos sus sensores, multiplicando la intensidad de la señal de cada sensor por su peso.

2. Cuando se muestra una entrada en la red, el nodo con la salida más alta se considera el ganador. La entrada se clasifica como dentro del clúster correspondiente a ese nodo.

3. El ganador actualiza cada uno de sus pesos, moviendo el peso de las conexiones que le dieron señales más débiles a las conexiones que le dieron señales más fuertes.

Por lo tanto, a medida que se reciben más datos, cada nodo converge en el centro del grupo que ha llegado a representar y se activa con más fuerza para las entradas en este grupo y más débilmente para las entradas en otros grupos.

Ver también

Referencias

Más información y software