La computadora aritmética del modelo cerebeloso ( CMAC ) es un tipo de red neuronal basada en un modelo del cerebelo de los mamíferos . También se conoce como controlador de articulación del modelo cerebeloso. Es un tipo de memoria asociativa . [2]
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/9/9f/CMAC_system_block_diagram.jpg/440px-CMAC_system_block_diagram.jpg)
El CMAC fue propuesto por primera vez como un modelador de funciones para controladores robóticos por James Albus en 1975 [1] (de ahí el nombre), pero se ha utilizado ampliamente en el aprendizaje por refuerzo y también como 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 hiper-rectángulos, cada uno de los cuales está asociado con una celda de memoria. El contenido de las celdas de memoria son los pesos, que se ajustan durante el entrenamiento. Por lo general, se utiliza más de una cuantificación del espacio de entrada, de modo que cualquier punto en el espacio de entrada se asocia con un número de hiper-rectángulos y, por lo tanto, con un número de celdas de memoria. La salida de un CMAC es la suma algebraica de los pesos en todas las celdas de memoria activadas por el punto de entrada.
Un cambio de valor del punto de entrada da como resultado un cambio en el conjunto de hiper-rectángulos activados y, por lo tanto, un cambio en el conjunto de celdas de memoria que participan en la salida CMAC. Por lo tanto, la salida CMAC se almacena de forma distribuida, de modo que la salida correspondiente a cualquier punto del espacio de entrada se deriva del valor almacenado en varias celdas de memoria (de ahí el nombre de memoria asociativa). Esto proporciona una generalización.
Bloques de construcción
En la imagen adyacente, hay dos entradas al CMAC, representadas como un espacio 2D. Se han utilizado dos funciones de cuantificación para dividir este espacio con dos cuadrículas superpuestas (una mostrada en líneas más gruesas). Una sola entrada se muestra cerca del medio, y esto ha activado dos celdas de memoria, correspondientes al área sombreada. Si otro punto ocurre cerca del que se muestra, compartirá algunas de las mismas celdas de memoria, proporcionando generalización.
El CMAC se entrena presentando pares de puntos de entrada y valores de salida, y ajustando los pesos en las celdas activadas por una proporción del error observado en la salida. Este sencillo algoritmo de entrenamiento tiene una prueba de convergencia. [3]
Es normal agregar una función de kernel al hiper-rectángulo, de modo que los puntos que caen hacia el borde de un hiper-rectángulo tengan una activación menor que los que caen cerca del centro. [4]
Uno de los principales problemas citados 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 generalmente se mejora mediante el uso de una función hash y solo proporciona almacenamiento de memoria para las celdas reales que se activan mediante 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 podría conducir a divergencias. En 2004, [5] se introdujo un algoritmo de mínimos cuadrados recursivos (RLS) para entrenar CMAC en línea. No es necesario ajustar una tasa de aprendizaje. Su convergencia se ha demostrado teóricamente y se puede garantizar que converja en un solo paso. La complejidad computacional de este algoritmo RLS es O (N3).
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/6/6d/Cmac.jpg/440px-Cmac.jpg)
Infraestructura de implementación de hardware
Basado en la descomposición QR, un algoritmo (QRLS) se ha simplificado aún más para tener una complejidad O (N). En consecuencia, esto reduce significativamente el uso de memoria y el costo de tiempo. Se ha introducido una estructura de matriz de canalización paralela sobre la implementación de este algoritmo. [6]
En general, al utilizar el algoritmo QRLS, se puede garantizar la convergencia de la red neuronal CMAC y se pueden actualizar los pesos de los nodos mediante un paso de entrenamiento. Su estructura de arreglo de tuberías paralelas ofrece un gran potencial para ser implementado en hardware para uso industrial a gran escala.
CMAC continuo
Dado que la forma rectangular de las funciones de campo receptivo de CMAC produce una aproximación de función de escalera discontinua, al integrar CMAC con funciones B-splines, la CMAC continua ofrece la capacidad de obtener cualquier orden de derivadas 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 podría lograr una mejor representación de los datos y, por lo tanto, tratar de manera más efectiva las tareas no lineales y de alta complejidad. En 2018, [7] se propuso un marco 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 del CMAC de una sola capa convencional.
Resumen
Escalabilidad | Fácil de extender a millones de neuronas o más |
Convergencia | La formación siempre puede converger en un solo paso |
Derivadas de funciones | Fácil de obtener mediante el empleo de interpolación B-splines |
Estructura de hardware | Estructura de tubería paralela |
Uso de memoria | Lineal con respecto al número de neuronas |
Complejidad computacional | EN) |
Ver también
Referencias
- ^ a b J.S. Albus (1975). "Un nuevo enfoque para el control de manipuladores: el controlador de articulación modelo cerebeloso (CMAC)". En: Trans. ASME, Serie G. Revista de sistemas dinámicos, medición y control , vol. 97, págs. 220-233, 1975.
- ^ JS Albus (1979). "Mecanismos de planificación y resolución de problemas en el cerebro". En: Biociencias Matemáticas . Vol. 45, págs. 247293, 1979.
- ^ Y. Wong, CMAC Learning está gobernado por un solo parámetro, IEEE International Conference on Neural Networks, San Francisco, vol. 1, págs. 1439–43, 1993.
- ^ PCE An, WT Miller y PC Parks, Mejoras de diseño en memorias asociativas para controladores de articulación del modelo cerebeloso, Proc. ICANN, págs. 1207–10, 1991.
- ^ Ting Qin, et al. "Un algoritmo de aprendizaje de CMAC basado en RLS". Cartas de procesamiento neuronal 19.1 (2004): 49-61.
- ^ a b Ting Qin, et al. "CMAC-QRLS continuo y su matriz sistólica". Cartas de procesamiento neuronal 22.1 (2005): 1-16.
- ^ * Yu Tsao, et al. "Cancelación de ruido adaptativa mediante el controlador de articulación del modelo cerebeloso profundo". IEEE Access Vol. 6, págs.37395 - 37402, 2018.
Otras lecturas
- Albus, JS (1971). " Teoría de la función cerebelosa ". En: Biociencias matemáticas , 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 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.
- Tsao, Y. (2018). " Cancelación de ruido adaptativa mediante controlador de articulación modelo cerebeloso profundo ". En: IEEE Access 6, abril de 2018, páginas 37395-37402.
enlaces externos
- Blog sobre el controlador de articulación modelo cerebeloso (CMAC) por Ting Qin. Más detalles sobre el algoritmo convergente de un paso, desarrollo de código, etc.