El algoritmo hebbiano generalizado , también conocido en la literatura como regla de Sanger , es una red neuronal lineal de avance para aprendizaje no supervisado con aplicaciones principalmente en análisis de componentes principales . Definido por primera vez en 1989, [1] es similar a la regla de Oja en su formulación y estabilidad, excepto que se puede aplicar a redes con múltiples salidas. El nombre se origina debido a la similitud entre el algoritmo y una hipótesis hecha por Donald Hebb [2] sobre la forma en que las fortalezas sinápticas en el cerebro se modifican en respuesta a la experiencia, es decir, que los cambios son proporcionales a la correlación entre la activación de neuronas pre y postsinápticas . [3]
Considere un problema de aprendizaje de un código lineal para algunos datos. Cada dato es un vector multidimensional y puede representarse (aproximadamente) como una suma lineal de vectores de código lineal . Cuando , es posible representar exactamente los datos. Si , es posible representar aproximadamente los datos. Para minimizar la pérdida de representación L2, deben ser los vectores de componentes principales más altos.
El algoritmo Hebbiano generalizado es un algoritmo iterativo para encontrar los vectores de componentes principales más altos, en una forma algorítmica que se asemeja al aprendizaje Hebbiano no supervisado en redes neuronales.
Considere una red neuronal de una capa con neuronas de entrada y neuronas de salida . Los vectores de código lineal son las intensidades de conexión, es decir, es el peso sináptico o la intensidad de conexión entre la -ésima neurona de entrada y la -ésima neurona de salida.
La regla de aprendizaje del algoritmo hebbiano generalizado tiene la forma
donde es el parámetro de tasa de aprendizaje . [4]
En forma matricial, la regla de Oja se puede escribir
y el algoritmo de Gram-Schmidt es
donde w ( t ) es cualquier matriz, en este caso representando pesos sinápticos, Q = η x x T es la matriz de autocorrelación, simplemente el producto externo de las entradas, diag es la función que diagonaliza una matriz, y lower es la función que establece todos los elementos de la matriz en o por encima de la diagonal igual a 0. Podemos combinar estas ecuaciones para obtener nuestra regla original en forma de matriz,
donde la función LT establece todos los elementos de la matriz por encima de la diagonal como iguales a 0, y observe que nuestra salida y ( t ) = w ( t ) x ( t ) es una neurona lineal. [1]
[5]
La regla de Oja es el caso especial donde . [6] Se puede pensar en el algoritmo hebbiano generalizado como una iteración de la regla de Oja.
Con la regla de Oja, se aprende , y tiene la misma dirección que el vector de componentes principales más grande, con longitud determinada por para todos , donde la expectativa se toma sobre todos los pares de entrada-salida. En otras palabras, la longitud del vector es tal que tenemos un autocodificador , con el código latente , tal que se minimiza.
Cuando , la primera neurona en la capa oculta del autocodificador aún aprende como se describe, ya que no se ve afectada por la segunda neurona. Entonces, después de que la primera neurona y su vector hayan convergido, la segunda neurona está ejecutando efectivamente otra regla de Oja en los vectores de entrada modificados, definidos por , que sabemos que es el vector de entrada con el primer componente principal eliminado. Por lo tanto, la segunda neurona aprende a codificar para el segundo componente principal.
Por inducción, esto da como resultado encontrar los componentes principales superiores para un número arbitrario de .
El algoritmo hebbiano generalizado se utiliza en aplicaciones en las que es necesario un mapa autoorganizado o en las que se puede utilizar un análisis de características o de componentes principales . Algunos ejemplos de estos casos son la inteligencia artificial y el procesamiento de voz e imágenes.
Su importancia proviene del hecho de que el aprendizaje es un proceso de una sola capa, es decir, un peso sináptico cambia solo dependiendo de la respuesta de las entradas y salidas de esa capa, evitando así la dependencia de múltiples capas asociada con el algoritmo de retropropagación . También tiene un equilibrio simple y predecible entre la velocidad de aprendizaje y la precisión de la convergencia, tal como lo establece el parámetro de tasa de aprendizaje η . [5]
Como ejemplo, (Olshausen y Field, 1996) [7] realizaron el algoritmo hebbiano generalizado en parches de 8 por 8 de fotos de escenas naturales y descubrieron que da como resultado características similares a las de Fourier. Las características son las mismas que los componentes principales encontrados por el análisis de componentes principales, como se esperaba, y que las características están determinadas por la matriz de varianza de las muestras de parches de 8 por 8. En otras palabras, está determinada por las estadísticas de segundo orden de los píxeles en las imágenes. Criticaron esto como insuficiente para capturar estadísticas de orden superior que son necesarias para explicar las características similares a las de Gabor de células simples en la corteza visual primaria .