
El controlador de articulación del modelo cerebeloso ( CMAC ) es un tipo de red neuronal basada en un modelo del cerebelo de los mamíferos . También se le conoce como controlador de articulación del modelo cerebeloso. Es un tipo de memoria asociativa . [ 2 ]
El CMAC fue propuesto por primera vez como un modelador de funciones para controladores robóticos por James Albus en 1975 [ 1 ] (de ahí su nombre), pero se ha utilizado ampliamente en el aprendizaje por refuerzo y también para la clasificación automatizada en la comunidad de aprendizaje automático . El CMAC es una extensión del modelo de perceptrón . Calcula una función paraDimensiones de entrada. El espacio de entrada se divide en hiperrectángulos, cada uno asociado a una celda de memoria. El contenido de las celdas de memoria son los pesos, que se ajustan durante el entrenamiento. Generalmente, se utiliza más de una cuantización del espacio de entrada, de modo que cualquier punto en dicho espacio se asocia a varios hiperrectángulos y, por lo tanto, a varias celdas de memoria. La salida de un CMAC es la suma algebraica de los pesos de todas las celdas de memoria activadas por el punto de entrada.
Un cambio en el valor del punto de entrada produce un cambio en el conjunto de hiperrectángulos activados y, por lo tanto, un cambio en el conjunto de celdas de memoria que participan en la salida del CMAC. La salida del CMAC se almacena de forma distribuida, de modo que la salida correspondiente a cualquier punto en el espacio de entrada se deriva del valor almacenado en varias celdas de memoria (de ahí el nombre de memoria asociativa). Esto proporciona generalización.
bloques de construcción

En la imagen adjunta, se muestran dos entradas al CMAC, representadas como un espacio bidimensional. Se han utilizado dos funciones de cuantificación para dividir este espacio con dos cuadrículas superpuestas (una de ellas resaltada con líneas más gruesas). Cerca del centro se muestra una única entrada, que ha activado dos células de memoria, correspondientes al área sombreada. Si aparece otro punto cerca del mostrado, compartirá algunas de las mismas células de memoria, lo que permite la generalización.
El CMAC se entrena presentando pares de puntos de entrada y valores de salida, y ajustando los pesos en las celdas activadas en proporción al error observado en la salida. Este sencillo algoritmo de entrenamiento cuenta con una prueba de convergencia. [ 3 ]
Es normal agregar una función kernel al hiperrectángulo, de modo que los puntos que caen hacia el borde de un hiperrectángulo tengan una activación menor que aquellos que caen cerca del centro. [ 4 ]
Uno de los principales problemas que se mencionan en el uso práctico de CMAC es el tamaño de memoria requerido, que está directamente relacionado con el número de celdas utilizadas. Esto suele solucionarse utilizando una función hash y asignando memoria únicamente a las celdas que se activan mediante las entradas.
Algoritmo convergente de un paso
Inicialmente, se emplea el método de mínimos cuadrados medios (LMS) para actualizar los pesos de CMAC. La convergencia del uso de LMS para entrenar CMAC es sensible a la tasa de aprendizaje y puede provocar divergencia. En 2004, [ 5 ] se introdujo un algoritmo de mínimos cuadrados recursivos (RLS) para entrenar CMAC en línea. Este algoritmo no requiere ajustar la tasa de aprendizaje. Su convergencia se ha demostrado teóricamente y se puede garantizar que converge en un paso. La complejidad computacional de este algoritmo RLS es O(N3).


Infraestructura de implementación de hardware
Basándose en la descomposición QR , se ha simplificado aún más un algoritmo (QRLS) para lograr una complejidad O(N). En consecuencia, esto reduce significativamente el uso de memoria y el tiempo de ejecución. Se ha introducido una estructura de matriz de pipeline paralela para la implementación de este algoritmo. [ 6 ]
En general, mediante el uso del algoritmo QRLS, se garantiza la convergencia de la red neuronal CMAC y los pesos de los nodos se pueden actualizar en un solo paso de entrenamiento. Su estructura de matriz de procesamiento en paralelo ofrece un gran potencial para su implementación en hardware para su uso industrial a gran escala.
CMAC continuo
Dado que la forma rectangular de las funciones de campo receptivo CMAC produce una aproximación discontinua de la función escalonada, al integrar CMAC con funciones B-spline, CMAC continuo ofrece la capacidad de obtener derivadas de cualquier orden de las funciones aproximadas.
CMAC profundo
En los últimos años, numerosos estudios han confirmado que al apilar varias estructuras superficiales en una única estructura profunda, el sistema general puede lograr una mejor representación de los datos y, por lo tanto, abordar de manera más eficaz tareas no lineales y de alta complejidad. En 2018, [ 7 ] se propuso un marco de trabajo de CMAC profundo (DCMAC) y se derivó un algoritmo de retropropagación para estimar los parámetros de DCMAC. Los resultados experimentales de una tarea de cancelación de ruido adaptativa mostraron que el DCMAC propuesto puede lograr un mejor rendimiento de cancelación de ruido en comparación con el CMAC convencional de una sola capa.
Resumen
Véase también
Referencias
- 1 2 Albus, JS (1 de septiembre de 1975). "Un nuevo enfoque para el control de manipuladores: el controlador de articulación del modelo cerebeloso (CMAC)" . Journal of Dynamic Systems, Measurement, and Control . 97 (3): 220– 227. doi : 10.1115/1.3426922 . ISSN 0022-0434 .
- ↑ Albus, James S. (agosto de 1979). "Mecanismos de planificación y resolución de problemas en el cerebro" . Mathematical Biosciences . 45 ( 3–4 ): 247–293 . doi : 10.1016/0025-5564(79)90063-4 .
- ↑ Wong, Y.; Sideris, A. (enero de 1992). "Aprendizaje convergente en el controlador de articulación del modelo cerebeloso". IEEE Transactions on Neural Networks . 3 (1): 115– 121. doi : 10.1109/72.105424 . PMID 18276412 .
- ↑ PCE An, WT Miller y PC Parks, Mejoras de diseño en memorias asociativas para controladores de articulación de modelos cerebelosos, Proc. ICANN, págs. 1207–10, 1991.
- ↑ Qin, Ting; Chen, Zonghai; Zhang, Haitao; Li, Sifu; Xiang, Wei; Li, Ming (1 de febrero de 2004). "Un algoritmo de aprendizaje de CMAC basado en RLS" . Neural Processing Letters . 19 (1): 49– 61. doi : 10.1023/B:NEPL.0000016847.18175.60 . ISSN 1573-773X .
- 1 2 Qin, Ting; Zhang, Haitao; Chen, Zonghai; Xiang, Wei (1 de agosto de 2005). "CMAC-QRLS continuo y su matriz sistólica" . Neural Processing Letters . 22 (1): 1– 16. doi : 10.1007/s11063-004-2694-0 . ISSN 1573-773X .
- ↑ Tsa, Yu; Chu, Hao-Chun; Fang, Shih-Hau; Lee, Junghsi; Lin, Chih-Min (2018). "Cancelación adaptativa de ruido mediante controlador de articulación de modelo cerebeloso profundo" . IEEE Access . 6 : 37395–37402 . arXiv : 1705.00945 . Bibcode : 2018IEEEA...637395T . doi : 10.1109/ACCESS.2018.2827699 . ISSN 2169-3536 .
Lecturas adicionales
- Albus, JS (1971). " Teoría de la función cerebelosa ". En: Mathematical Biosciences , Volumen 10, Números 1/2, febrero de 1971, págs. 25-61.
- Albus, JS (1975). " Nuevo enfoque para el control de manipuladores: el controlador de articulación del modelo cerebeloso (CMAC) ". En: Transactions of the ASME Journal of Dynamic Systems, Measurement, and Control , septiembre de 1975, págs. 220-227.
- Albus, JS (1979). " Mecanismos de planificación y resolución de problemas en el cerebro ". En: Mathematical Biosciences 45, págs. 247–293, 1979.
- Iwan, L., y Stengel, R., " La aplicación de redes neuronales a procesadores de combustible para pilas de combustible " En IEEE Transactions on Vehicular Technology , vol. 50 (1), págs. 125-143, 2001.
- Tsao, Y. (2018). " Cancelación adaptativa de ruido mediante un controlador de articulación de modelo cerebeloso profundo ". En: IEEE Access 6, abril de 2018, págs. 37395-37402.
Enlaces externos
- Blog sobre el controlador de articulación del modelo cerebeloso (CMAC) de Ting Qin. Más detalles sobre el algoritmo convergente de un solo paso, el desarrollo del código, etc.
- Neurociencia computacional
- Redes neuronales artificiales
- Arquitectura de red
- Redes