Articulo de referencia

gas neural

El gas neuronal es una red neuronal artificial , inspirada en el mapa autoorganizado e introducida en 1991 por Thomas Martinetz y Klaus Schulten . [ 1 ] El gas neuronal es un al...

El gas neuronal es una red neuronal artificial , inspirada en el mapa autoorganizado e introducida en 1991 por Thomas Martinetz y Klaus Schulten . [ 1 ] El gas neuronal es un algoritmo simple para encontrar representaciones de datos óptimas basadas en vectores de características . El algoritmo recibió el nombre de "gas neuronal" debido a la dinámica de los vectores de características durante el proceso de adaptación, que se distribuyen como un gas dentro del espacio de datos. Se aplica donde la compresión de datos o la cuantización vectorial son un problema, por ejemplo, el reconocimiento de voz , [ 2 ] el procesamiento de imágenes [ 3 ] o el reconocimiento de patrones . Como una alternativa de convergencia robusta al agrupamiento k-means, también se utiliza para el análisis de clústeres . [ 4 ]

Algoritmo

Supongamos que queremos modelar una distribución de probabilidad.PAG(incógnita){\displaystyle P(x)}de vectores de datosincógnita{\displaystyle x}utilizando un número finito de vectores de característicaswi{\displaystyle w_{i}}, dóndei=1,,norte{\displaystyle i=1,\cdots ,N}.

  1. Para cada paso de tiempot{\displaystyle t}
    1. Vector de datos de muestraincógnita{\displaystyle x}dePAG(incógnita){\displaystyle P(x)}
    2. Calcula la distancia entreincógnita{\displaystyle x}y cada vector de características. Clasifique las distancias.
    3. Dejari0{\displaystyle i_{0}}sea ​​el índice del vector de características más cercano,i1{\displaystyle i_{1}}el índice del segundo vector de características más cercano, y así sucesivamente.
    4. Actualizar cada vector de características mediante:wikt+1=wikt+εmik/λ(incógnitawikt),k=0,,norte1{\displaystyle w_{i_{k}}^{t+1}=w_{i_{k}}^{t}+\varepsilon \cdot e^{-k/\lambda }\cdot (x-w_{i_{k}}^{t}),k=0,\cdots ,N-1}

En el algoritmo,ε{\displaystyle \varepsilon }puede entenderse como la tasa de aprendizaje yλ{\displaystyle \lambda }como el rango del vecindario.ε{\displaystyle \varepsilon }yλ{\displaystyle \lambda }se reducen con el aumentot{\displaystyle t}para que el algoritmo converja después de muchos pasos de adaptación.

El paso de adaptación del gas neuronal puede interpretarse como un descenso de gradiente sobre una función de coste . Al adaptar no solo el vector de características más cercano, sino todos ellos, con un tamaño de paso que disminuye a medida que aumenta la distancia, se logra una convergencia mucho más robusta del algoritmo en comparación con el agrupamiento k-means (en línea) . El modelo de gas neuronal no elimina nodos ni crea nuevos.

Comparación con SOM

En comparación con los mapas autoorganizados, el modelo de gas neuronal no presupone que algunos vectores sean vecinos. Si dos vectores están cerca, tenderán a moverse juntos, y si están separados, tenderán a no moverse juntos. Por el contrario, en un SOM, si dos vectores son vecinos en el grafo subyacente, siempre tenderán a moverse juntos, independientemente de si son vecinos en el espacio euclidiano .

El nombre "gas neuronal" se debe a que uno puede imaginarlo como lo que sería un SOM si no hubiera un gráfico subyacente y todos los puntos fueran libres de moverse sin los vínculos que los unen.

Variantes

En la literatura existen varias variantes del algoritmo de gas neuronal para mitigar algunas de sus deficiencias. Quizás la más destacada sea el gas neuronal creciente de Bernd Fritzke [ 5 ] , pero también cabe mencionar elaboraciones posteriores como la red Growing When Required [ 6 ] y el gas neuronal creciente incremental [ 7 ] . Un enfoque orientado al rendimiento que evita el riesgo de sobreajuste es el modelo de gas neuronal plástico [ 8 ] .

Gas neuronal en aumento

Fritzke describe el gas neuronal creciente (GNG) como un modelo de red incremental que aprende relaciones topológicas mediante una " regla de aprendizaje tipo Hebb " [ 5 ] . Sin embargo, a diferencia del gas neuronal, no tiene parámetros que cambien con el tiempo y es capaz de un aprendizaje continuo, es decir, aprende sobre flujos de datos. El GNG se ha utilizado ampliamente en varios dominios [ 9 ] , demostrando su capacidad para agrupar datos de forma incremental. El GNG se inicializa con dos nodos posicionados aleatoriamente que están conectados inicialmente por una arista de edad cero y cuyos errores se establecen en 0. Dado que en el GNG los datos de entrada se presentan secuencialmente uno por uno, en cada iteración se siguen los siguientes pasos:

  • Calcula los errores (distancias) entre los dos nodos más cercanos a los datos de entrada actuales.
  • El error del nodo ganador (solo el más cercano) se acumula respectivamente.
  • El nodo ganador y sus vecinos topológicos (conectados por una arista) se mueven hacia la entrada actual en diferentes fracciones de sus respectivos errores.
  • Se incrementa la edad de todas las aristas conectadas al nodo ganador.
  • Si el nodo ganador y el segundo ganador están conectados por una arista, dicha arista se establece en 0. De lo contrario, se crea una arista entre ellos.
  • Si existen aristas con una antigüedad superior a un umbral, se eliminan. Los nodos sin conexiones se eliminan.
  • Si la iteración actual es un múltiplo entero de un umbral de frecuencia de creación predefinido, se inserta un nuevo nodo entre el nodo con el mayor error (entre todos) y su vecino topológico con el mayor error. Se elimina el enlace entre ambos nodos (sus errores se reducen en un factor determinado) y el nuevo nodo se conecta a ambos. El error del nuevo nodo se inicializa con el error actualizado del nodo que tenía el mayor error (entre todos).
  • El error acumulado de todos los nodos se reduce en un factor determinado.
  • Si no se cumple el criterio de parada, el algoritmo toma una entrada adicional. El criterio puede ser un número determinado de épocas, es decir, un número preestablecido de veces en que se presentan todos los datos, o el alcance de un número máximo de nodos.

gas neuronal en crecimiento incremental

Otra variante del gas neuronal inspirada en el algoritmo GNG es el gas neuronal creciente incremental (IGNG). Los autores proponen que la principal ventaja de este algoritmo es "aprender nuevos datos (plasticidad) sin degradar la red previamente entrenada y olvidar los datos de entrada antiguos (estabilidad)". [ 7 ]

Crecimiento cuando sea necesario

Tener una red con un conjunto creciente de nodos, como la implementada por el algoritmo GNG, se consideró una gran ventaja; sin embargo, se observó cierta limitación en el aprendizaje debido a la introducción del parámetro λ, en el que la red solo podría crecer cuando las iteraciones fueran un múltiplo de este parámetro. [ 6 ] La propuesta para mitigar este problema fue un nuevo algoritmo, la red Crecimiento cuando sea necesario (GWR), que haría que la red creciera más rápidamente, agregando nodos lo más rápido posible cuando la red identificara que los nodos existentes no describirían la entrada suficientemente bien.

Gas neural plástico

La capacidad de hacer crecer una red únicamente puede provocar un sobreajuste rápidamente; por otro lado, eliminar nodos basándose solo en la antigüedad, como en el modelo GNG, no garantiza que los nodos eliminados sean realmente inútiles, ya que la eliminación depende de un parámetro del modelo que debe ajustarse cuidadosamente a la "longitud de la memoria" del flujo de datos de entrada.

El modelo "Plastic Neural Gas" [ 8 ] resuelve este problema tomando decisiones para agregar o eliminar nodos utilizando una versión no supervisada de validación cruzada, que controla una noción equivalente de "capacidad de generalización" para el entorno no supervisado.

Si bien los métodos que solo permiten el crecimiento solo son adecuados para el escenario de aprendizaje incremental , la capacidad de crecer y encoger se adapta al problema más general del procesamiento de datos en tiempo real .

Implementaciones

Para encontrar la clasificacióni0,i1,,inorte1{\displaystyle i_{0},i_{1},\ldots ,i_{N-1}}En cuanto a los vectores de características, el algoritmo de gas neuronal implica una ordenación, un procedimiento que no se presta fácilmente a la paralelización ni a la implementación en hardware analógico. Sin embargo, se diseñaron implementaciones tanto en software paralelo [ 10 ] como en hardware analógico [ 11 ] .

Referencias

  1. Thomas Martinetz y Klaus Schulten (1991). "Una red de "gas neuronal" aprende topologías" (PDF) . Redes neuronales artificiales . Elsevier . págs. 397–402 . 
  2. F. Curatelli; O. Mayora-Iberra (2000). "Métodos de aprendizaje competitivo para cuantizaciones vectoriales eficientes en un entorno de reconocimiento de voz" . En Osvaldo Cairó; L. Enrique Sucar; Francisco J. Cantú-Ortiz (eds.). MICAI 2000: Avances en inteligencia artificial : Conferencia Internacional Mexicana sobre Inteligencia Artificial, Acapulco, México, abril de 2000 : actas . Springer. pág. 109. ISBN    978-3-540-67354-5.
  3. Angelopoulou, Anastassia; Psarrou, Alexandra; Garcia Rodriguez, Jose; Revett, Kenneth (2005). "Visión por computadora para aplicaciones de imágenes biomédicas". En Yanxi Liu ; Tianzi Jiang; Changshui Zhang (eds.). Visión por computadora para aplicaciones de imágenes biomédicas: primer taller internacional, CVBIA 2005, Pekín, China, 21 de octubre de 2005 : actas . Lecture Notes in Computer Science. Vol. 3765. Springer. p. 210. doi : 10.1007/11569541_22 . ISBN    978-3-540-29411-5.
  4. Fernando Canales; Max Chacon (2007). "Avances en reconocimiento de patrones, análisis de imágenes y aplicaciones". En Luis Rueda; Domingo Mery (eds.). Avances en reconocimiento de patrones, análisis de imágenes y aplicaciones: XII Congreso Iberoamericano de Reconocimiento de Patrones, CIARP 2007, Viña del Mar-Valparaíso, Chile, 13-16 de noviembre de 2007; actas . Lecture Notes in Computer Science. Vol. 4756. Springer. pp. 684-693 . doi : 10.1007/978-3-540-76725-1_71 . ISBN   978-3-540-76724-4.
  5. 1 2 Fritzke, Bernd (1995). "Una red neuronal de gas en crecimiento aprende topologías" . Avances en sistemas de procesamiento de información neuronal . 7 : 625–632 . Recuperado el 26 de abril de 2016 .
  6. 1 2 Marsland, Stephen; Shapiro, Jonathan; Nehmzow, Ulrich (2002). "Una red autoorganizada que crece cuando se requiere". Redes neuronales . 15 (8): 1041– 1058. CiteSeerX 10.1.1.14.8763 . doi : 10.1016/s0893-6080(02)00078-3 . PMID 12416693 .  
  7. 1 2 Prudent, Yann; Ennaji, Abdellatif (2005). "Un gas neuronal creciente incremental aprende topologías". Actas. Conferencia Internacional Conjunta IEEE de 2005 sobre Redes Neuronales, 2005. Vol. 2. pp. 1211–1216 . doi : 10.1109/IJCNN.2005.1556026 . ISBN   978-0-7803-9048-5. S2CID 41517545 . 
  8. 1 2 Ridella, Sandro; Rovetta, Stefano; Zunino, Rodolfo (1998). "Algoritmo plástico para cuantización vectorial adaptativa". Neural Computing & Applications . 7 : 37– 51. doi : 10.1007/BF01413708 . S2CID 1184174 . 
  9. Iqbal, Hafsa; Campo, Damian; Baydoun, Mohamad; Marcenaro, Lucio; Martin, David; Regazzoni, Carlo (2019). «Optimización de agrupamiento para la detección de anomalías en sistemas semiautónomos». 1er Taller Internacional sobre Comprensión y Aprendizaje Multimodal para Aplicaciones Corporizadas . pp. 33–41 . doi : 10.1145/3347450.3357657 . ISBN  978-1-4503-6918-3.
  10. Ancona, Fabio; Rovetta, Stefano; Zunino, Rodolfo (1996). "Un enfoque paralelo al gas neuronal plástico". Actas de la Conferencia Internacional sobre Redes Neuronales (ICNN'96) . Vol. 1. págs. 126–130 . doi : 10.1109/ICNN.1996.548878 . ISBN   0-7803-3210-5. S2CID 61686854 . 
  11. Ancona, Fabio; Rovetta, Stefano; Zunino, Rodolfo (1997). "Implementación de hardware del gas neuronal". Actas de la Conferencia Internacional sobre Redes Neuronales (ICNN'97) . Vol. 2. pp. 991–994 . doi : 10.1109/ICNN.1997.616161 . ISBN   0-7803-4122-8. S2CID 62480597 . 

Lecturas adicionales

  • T. Martinetz, S. Berkovich y K. Schulten. Red neuronal de "gas" para la cuantificación vectorial y su aplicación a la predicción de series temporales. IEEE-Transactions on Neural Networks, 4(4):558–569, 1993.
  • Martinetz, T.; Schulten, K. (1994). "Topología que representa redes". Redes neuronales . 7 (3): 507– 522. doi : 10.1016/0893-6080(94)90109-0 .
  • DemoGNG.js Simulador de Javascript para Neural Gas (y otros modelos de red neuronal)
  • Aplicaciones de aprendizaje competitivo en Java: Redes neuronales no supervisadas (incluido el mapa autoorganizado) en Java con códigos fuente.
  • Descripción formal del algoritmo de gas neuronal
  • Implementación de un clasificador GNG y GWR en Matlab