Red neuronal artificial
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 se denominó "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 cuando la compresión de datos o la cuantificación de vectores es un problema, por ejemplo, el reconocimiento de voz , [2] el procesamiento de imágenes [3] o el reconocimiento de patrones . Como alternativa fuertemente convergente a la agrupación de k-medias, también se utiliza para el análisis de conglomerados . [4]
Algoritmo
Supongamos que queremos modelar una distribución de probabilidad de vectores de datos utilizando un número finito de vectores de características , donde .
- Para cada paso de tiempo
- Vector de datos de muestra de
- Calcule la distancia entre y cada vector de características. Clasifica las distancias.
- Sea el índice del vector de características más cercano, el índice del segundo vector de características más cercano, y así sucesivamente.
- Actualice cada vector de características mediante:
En el algoritmo, puede entenderse como la tasa de aprendizaje y como el rango de vecindad. y se reducen al aumentar para que el algoritmo converja después de muchos pasos de adaptación.
El paso de adaptación del gas neural puede interpretarse como un descenso de gradiente en una función de costos . Al adaptar no solo el vector de características más cercano, sino todos ellos con un tamaño de paso que disminuye al aumentar el orden de la distancia, en comparación con la agrupación de k-medias (en línea) , se puede lograr una convergencia mucho más robusta del algoritmo. El modelo de gas neuronal no elimina un nodo y tampoco crea nuevos nodos.
Comparación con SOM
En comparación con el mapa autoorganizado, el modelo de gas neuronal no supone que algunos vectores sean vecinos. Si dos vectores están muy juntos, tenderán a moverse juntos, y si dos vectores están separados, tenderán a no moverse juntos. Por el contrario, en un SOM, si dos vectores son vecinos en el gráfico subyacente, siempre tenderán a moverse juntos, sin importar si los dos vectores son vecinos en el espacio euclidiano.
El nombre "gas neuronal" se debe a que uno puede imaginar que sería lo que sería un SOM si no hubiera un gráfico subyacente y todos los puntos pudieran moverse libremente sin los enlaces que los unen.
Variantes
En la literatura existen varias variantes del algoritmo del gas neural para mitigar algunas de sus deficiencias. Quizás sea más notable el gas neuronal en crecimiento de Bernd Fritzke [5] , pero también se deben mencionar otras elaboraciones como la red Growing When Required [6] y también el gas neuronal en crecimiento incremental. [7] Un enfoque orientado al rendimiento que evita el riesgo de sobreajuste es el modelo de gas Plastic Neural. [8]
Gas neuronal en crecimiento
Fritzke describe el gas neuronal en crecimiento (GNG) como un modelo de red incremental que aprende relaciones topológicas mediante el uso de una " regla de aprendizaje tipo Hebb ", [5] sólo que, a diferencia del gas neuronal, no tiene parámetros que cambien con el tiempo y es capaz de aprendizaje continuo, es decir, aprendizaje sobre flujos de datos. GNG se ha utilizado ampliamente en varios dominios, [9] demostrando sus capacidades para agrupar datos de forma incremental. El GNG se inicializa con dos nodos ubicados aleatoriamente que inicialmente están conectados con un borde de edad cero y cuyos errores se establecen en 0. Dado que los datos de entrada del GNG se presentan secuencialmente uno por uno, se siguen los siguientes pasos en cada iteración:
- Se 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 un borde) se mueven hacia la entrada actual en diferentes fracciones de sus respectivos errores.
- Se incrementa la edad de todos los bordes conectados 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 hay aristas con una antigüedad mayor que un umbral, se eliminan. Se eliminan los nodos sin conexiones.
- Si la iteración actual es un múltiplo entero de un umbral de creación de frecuencia predefinido, se inserta un nuevo nodo entre el nodo con el mayor error (entre todos) y su vecino topológico que presenta el mayor error. Se elimina el vínculo entre el primero y el último nodo (sus errores disminuyen en un factor determinado) y el nuevo nodo se conecta a ambos. El error del nuevo nodo se inicializa como el error actualizado del nodo que tuvo el error más grande (entre todos).
- El error acumulado de todos los nodos disminuye en un factor determinado.
- Si no se cumple el criterio de parada, el algoritmo realiza la siguiente entrada. El criterio podría ser un número determinado de épocas, es decir, un número preestablecido de veces en las 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 de crecimiento 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]
Creciendo 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 vio cierta limitación en el aprendizaje mediante la introducción del parámetro λ, en el que la red solo sería capaz de crecer cuando las iteraciones fueron múltiplos de este parámetro. [6] La propuesta para mitigar este problema fue un nuevo algoritmo, la red Creciendo cuando sea necesario (GWR), que haría que la red creciera más rápidamente, agregando nodos lo más rápido posible cada vez que la red identificara que los nodos existentes no describirían la entrada bastante bien.
Gas neural plástico
La capacidad de hacer crecer únicamente una red puede introducir rápidamente un sobreajuste; Por otro lado, eliminar nodos basándose únicamente en la edad, como en el modelo GNG, no garantiza que los nodos eliminados sean realmente inútiles, porque la eliminación depende de un parámetro del modelo que debe ajustarse cuidadosamente a la "longitud de la memoria" de el 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 de solo crecimiento solo se adaptan al escenario de aprendizaje incremental , la capacidad de crecer y reducirse se adapta al problema más general de transmisión de datos .
Implementaciones
Para encontrar la clasificación de los vectores de características, el algoritmo de gas neuronal implica la clasificación, que es un procedimiento que no se presta fácilmente a la paralelización o implementación en hardware analógico. Sin embargo, en realidad se diseñaron implementaciones tanto en software paralelo [10] como en hardware analógico [11] .
Referencias
- ^ Thomas Martinetz y Klaus Schulten (1991). "Una red de" gas neuronal "aprende topologías" (PDF) . Redes neuronales artificiales . Elsevier . págs. 397–402.
- ^ F. Curatelli; O. Mayora-Iberra (2000). "Métodos de aprendizaje competitivo para cuantificaciones 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 . Saltador. pag. 109.ISBN 978-3-540-67354-5.
- ^ Angelopoulou, Anastassia; Psarrou, Alexandra; García Rodríguez, José; 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, Beijing, China, 21 de octubre de 2005: actas . Apuntes de conferencias sobre informática. vol. 3765. Saltador. pag. 210.doi : 10.1007 /11569541_22. ISBN 978-3-540-29411-5.
- ^ Fernando Canales; Max Chacón (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: 12° Congreso Iberoamericano de Reconocimiento de Patrones, CIARP 2007, Viña del Mar-Valparaíso, Chile, 13 al 16 de noviembre de 2007; diligencias . Apuntes de conferencias sobre informática. vol. 4756. Saltador. págs. 684–693. doi : 10.1007/978-3-540-76725-1_71 . ISBN 978-3-540-76724-4.
- ^ ab Fritzke, Bernd (1995). "Una red de gas neuronal en crecimiento aprende topologías". Avances en los sistemas de procesamiento de información neuronal . 7 : 625–632 . Consultado el 26 de abril de 2016 .
- ^ ab Marsland, Stephen; Shapiro, Jonathan; Nehmzów, Ulrich (2002). "Una red autoorganizada que crece cuando es necesario". Redes neuronales . 15 (8): 1041-1058. CiteSeerX 10.1.1.14.8763 . doi :10.1016/s0893-6080(02)00078-3. PMID 12416693.
- ^ ab Prudente, Yann; Ennaji, Abdellatif (2005). "Un gas neuronal en crecimiento incremental aprende topologías". Actas. 2005 Conferencia conjunta internacional IEEE sobre redes neuronales, 2005 . vol. 2. págs. 1211-1216. doi :10.1109/IJCNN.2005.1556026. ISBN 978-0-7803-9048-5. S2CID 41517545.
- ^ ab Ridella, Sandro; Rovetta, Stefano; Zunino, Rodolfo (1998). "Algoritmo plástico para cuantificación de vectores adaptativos". Computación neuronal y aplicaciones . 7 : 37–51. doi :10.1007/BF01413708. S2CID 1184174.
- ^ Iqbal, Hafsa; Campo, Damián; Baydoun, Mohamad; Marcenaro, Lucio; Martín, David; Regazzoni, Carlo (2019). "Optimización de agrupaciones para la detección de anomalías en sistemas semiautónomos". 1er Taller Internacional sobre Comprensión y Aprendizaje Multimodal para Aplicaciones Incorporadas . págs. 33–41. doi : 10.1145/3347450.3357657 . ISBN 978-1-4503-6918-3.
- ^ 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.
- ^ Ancona, Fabio; Rovetta, Stefano; Zunino, Rodolfo (1997). "Implementación hardware del gas neuronal". Actas de la Conferencia Internacional sobre Redes Neuronales (ICNN'97) . vol. 2. págs. 991–994. doi :10.1109/ICNN.1997.616161. ISBN 0-7803-4122-8. S2CID 62480597.
Otras lecturas
- T. Martinetz, S. Berkovich y K. Schulten. Red "gas neuronal" para la cuantificación de vectores y su aplicación a la predicción de series temporales. IEEE-Transacciones en redes neuronales, 4(4):558–569, 1993.
- Martínez, T.; Schulten, K. (1994). "Topología que representa redes". Redes neuronales . 7 (3): 507–522. doi :10.1016/0893-6080(94)90109-0.
enlaces externos
- Simulador Javascript DemoGNG.js para Neural Gas (y otros modelos de red)
- Aplicaciones de aprendizaje competitivo de Java Redes neuronales no supervisadas (incluido el mapa autoorganizado) en Java con códigos fuente.
- descripción formal del algoritmo de gas neuronal
- Una implementación del clasificador GNG y GWR en Matlab