Articulo de referencia

Algoritmo hebbiano generalizado

El algoritmo hebbiano generalizado , también conocido en la literatura como regla de Sanger , es una red neuronal lineal de alimentación directa para el aprendizaje no supervisa...

El algoritmo hebbiano generalizado , también conocido en la literatura como regla de Sanger , es una red neuronal lineal de alimentación directa para el aprendizaje no supervisado, con aplicaciones principalmente en el 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 puede aplicarse a redes con múltiples salidas. El nombre se origina debido a la similitud entre el algoritmo y una hipótesis formulada por Donald Hebb [ 2 ] sobre la forma en que las fuerzas 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 las neuronas pre y postsinápticas . [ 3 ]

Teoría

Consideremos un problema de aprendizaje de un código lineal para algunos datos. Cada dato es un vector multidimensional.incógnitaRnorte{\displaystyle x\in \mathbb {R} ^{n}}y puede representarse (aproximadamente) como una suma lineal de vectores de código lineal.w1,,wmetroRnorte{\displaystyle w_{1},\dots ,w_{m}\in \mathbb {R} ^{n}}. Cuandometro=norte{\displaystyle m=n}, es posible representar los datos con exactitud. Simetro<norte{\displaystyle m<n}, es posible representar los datos de forma aproximada. Para minimizar la pérdida de representación L2,w1,,wmetro{\displaystyle w_{1},\dots,w_{m}}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.

Consideremos una red neuronal de una sola capa connorte{\displaystyle n}neuronas de entrada ymetro{\displaystyle m}neuronas de saliday1,,ymetro{\displaystyle y_{1},\dots,y_{m}}. Los vectores de código lineal son las intensidades de conexión, es decir,wij{\displaystyle w_{ij}}es el peso sináptico o fuerza de conexión entre elj{\displaystyle j}-entrada yi{\displaystyle i}-neuronas de salida.

La regla de aprendizaje del algoritmo hebbiano generalizado tiene la forma

Δwij = ηyi(incógnitajk=1iwkjyk){\displaystyle \,\Delta w_{ij}~=~\eta y_{i}\left(x_{j}-\sum _{k=1}^{i}w_{kj}y_{k}\right)}

dóndeη{\displaystyle \eta }es el parámetro de tasa de aprendizaje . [ 4 ]

Derivación

En forma matricial, la regla de Oja se puede escribir

dw(t)dt = w(t)Qdiagramo[w(t)Qw(t)T]w(t){\displaystyle \,{\frac {{\text{d}}w(t)}{{\text{d}}t}}~=~w(t)Q-\mathrm {diag} [w(t)Qw(t)^{\mathrm {T} }]w(t)},

y el algoritmo de Gram-Schmidt es

Δw(t) = lowmir[w(t)w(t)T]w(t){\displaystyle \,\Delta w(t)~=~-\mathrm {lower} [w(t)w(t)^{\mathrm {T} }]w(t)},

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 exterior de las entradas, diag es la función que establece todos los elementos de la matriz fuera de la diagonal iguales a 0, y lower es la función que establece todos los elementos de la matriz en o por encima de la diagonal iguales a 0. Podemos combinar estas ecuaciones para obtener nuestra regla original en forma matricial,

Δw(t) = η(t)(y(t)incógnita(t)TLT[y(t)y(t)T]w(t)){\displaystyle \,\Delta w(t)~=~\eta (t)\left(\mathbf {y} (t)\mathbf {x} (t)^{\mathrm {T} }-\mathrm {LT} [\mathbf {y} (t)\mathbf {y} (t)^{\mathrm {T} }]w(t)\right)},

donde la función LT establece todos los elementos de la matriz por encima de la diagonal iguales a 0, y observe que nuestra salida y ( t ) = w ( t ) x ( t ) es una neurona lineal. [ 1 ]

Análisis de estabilidad y componentes principales

[ 5 ]

La regla de Oja es el caso especial dondemetro=1{\displaystyle m=1}. [ 6 ] Se puede pensar en el algoritmo hebbiano generalizado como una iteración de la regla de Oja.

Con el gobierno de Oja,w1{\displaystyle w_{1}}se aprende y tiene la misma dirección que el vector de componente principal más grande que se aprende, con una longitud determinada pormi[incógnitaj]=mi[w1jy1]{\displaystyle E[x_{j}]=E[w_{1j}y_{1}]}a pesar dej{\displaystyle j}donde la esperanza se toma sobre todos los pares entrada-salida. En otras palabras, la longitud del vectorw1{\displaystyle w_{1}}es tal que tenemos un autoencoder , con el código latentey1=iw1iincógnitai{\displaystyle y_{1}=\sum _{i}w_{1i}x_{i}}, de tal manera quemi[incógnitay1w12]{\displaystyle E[\|x-y_{1}w_{1}\|^{2}]}se minimiza.

Cuandometro=2{\displaystyle m=2}, la primera neurona en la capa oculta del autoencoder sigue aprendiendo como se describió, ya que no se ve afectada por la segunda neurona. Entonces, después de la primera neurona y su vectorw1{\displaystyle w_{1}}ha convergido, la segunda neurona está ejecutando efectivamente otra regla de Oja en los vectores de entrada modificados, definidos porincógnita=incógnitay1w1{\displaystyle x'=x-y_{1}w_{1}}, que sabemos que es el vector de entrada con el primer componente principal eliminado. Por lo tanto, la segunda neurona aprende a codificar el segundo componente principal.

Por inducción, esto da como resultado encontrar el mejor-metro{\displaystyle m}componentes principales para arbitrariometro{\displaystyle m}.

Aplicaciones

El algoritmo hebbiano generalizado se utiliza en aplicaciones donde se requiere un mapa autoorganizado o donde se puede emplear 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 radica en que el aprendizaje es un proceso de una sola capa; es decir, el peso sináptico cambia únicamente en función de la respuesta de las entradas y salidas de esa capa, evitando así la dependencia multicapa asociada al algoritmo de retropropagación . Además, presenta una relación de compromiso simple y predecible entre la velocidad de aprendizaje y la precisión de la convergencia, determinada por el parámetro de tasa de aprendizaje η . [ 5 ]

Características aprendidas por el algoritmo hebbiano generalizado que se ejecuta en parches de 8x8 de Caltech 101.
Características encontradas mediante el análisis de componentes principales en el mismo conjunto de datos de Caltech 101.

Como ejemplo, (Olshausen y Field, 1996) [ 7 ] realizaron el algoritmo hebbiano generalizado en parches de 8 por 8 de fotos de escenas naturales y encontraron que da como resultado características similares a 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 el64×64{\displaystyle 64\times 64}matriz de varianza de las muestras de parches de 8x8. En otras palabras, está determinada por las estadísticas de segundo orden de los píxeles en las imágenes. Criticaron esto por ser insuficiente para capturar las estadísticas de orden superior que son necesarias para explicar las características tipo Gabor de las células simples en la corteza visual primaria .

Véase también

Referencias

  1. 1 2 Sanger, Terence D. (1989). "Aprendizaje no supervisado óptimo en una red neuronal lineal de alimentación directa de una sola capa" (PDF) . Redes neuronales . 2 (6): 459– 473. CiteSeerX 10.1.1.128.6893 . doi : 10.1016/0893-6080(89)90044-0 . Recuperado el 24 de noviembre de 2007 . 
  2. Hebb, DO (1949). La organización del comportamiento . Nueva York: Wiley & Sons. ISBN 9781135631918.{{cite book}}: Incompatibilidad de ISBN/Fecha ( ayuda )
  3. Hertz, John; Anders Krough; Richard G. Palmer (1991). Introducción a la teoría de la computación neuronal . Redwood City, CA: Addison-Wesley Publishing Company. ISBN 978-0201515602.
  4. Gorrell, Genevieve (2006), "Algoritmo hebbiano generalizado para la descomposición incremental de valores singulares en el procesamiento del lenguaje natural.", EACL , CiteSeerX 10.1.1.102.2084 
  5. 1 2 Haykin, Simon (1998). Redes neuronales: Fundamentos integrales (2.ª ed.). Prentice Hall. ISBN  978-0-13-273350-2.
  6. Oja, Erkki (noviembre de 1982). "Modelo neuronal simplificado como analizador de componentes principales". Journal of Mathematical Biology . 15 (3): 267– 273. doi : 10.1007/BF00275687 . PMID 7153672. S2CID 16577977. BF00275687.  
  7. Olshausen, Bruno A.; Field, David J. (junio de 1996). "Surgimiento de propiedades de campos receptivos de células simples mediante el aprendizaje de un código disperso para imágenes naturales" . Nature . 381 (6583): 607– 609. doi : 10.1038/381607a0 . ISSN 1476-4687 . PMID 8637596 .