Controlador de articulación modelo cerebeloso


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 el 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í el 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 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 usa más de una cuantificación del espacio de entrada, de modo que cualquier punto en el espacio de entrada está asociado con una cantidad de hiperrectángulos y, por lo tanto, con una cantidad 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 hiperrectángulos activados y, por lo tanto, un cambio en el conjunto de celdas de memoria que participan en la salida de CMAC. Por lo tanto, la salida de 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.

En la imagen adyacente, hay dos entradas a la CMAC, representadas como un espacio 2D. Se han utilizado dos funciones de cuantificación para dividir este espacio con dos cuadrículas superpuestas (una que se muestra en líneas más gruesas). Se muestra una sola entrada cerca del medio, y esto ha activado dos celdas de memoria, correspondientes al área sombreada. Si ocurre otro punto cercano al 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 kernel al hiperrectángulo, de modo que los puntos que caen hacia el borde de un hiperrectángulo tengan una activación menor que los que caen cerca del centro. [4]


Un diagrama de bloques del sistema CMAC para una sola articulación. El vector S se presenta como entrada a todas las articulaciones. Cada articulación calcula por separado un mapeo S -> A* y una señal pi del actuador de la articulación. Los pesos ajustables para todas las articulaciones pueden residir en la misma memoria física. [1]
CMAC, representado como un espacio 2D
Estructura de tubería paralela de la red neuronal CMAC [6]
Panel izquierdo: funciones reales; panel derecho: aproximación CMAC con derivadas