stringtranslate.com

Controlador de articulación del modelo cerebeloso

Diagrama de bloques del sistema CMAC para una única articulación. El vector S se presenta como entrada para todas las articulaciones. Cada articulación calcula por separado una asignación S -> A* y una señal de actuador de articulación pi. Los pesos ajustables para todas las articulaciones pueden residir en la misma memoria física. [1]

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 la 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í el nombre), pero se ha utilizado ampliamente en el aprendizaje de refuerzo y también en 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 para las dimensiones 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 utiliza más de una cuantificación del espacio de entrada, de modo que cualquier punto en el espacio de entrada se asocia 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 CMAC. Por lo tanto, la salida CMAC se almacena de manera distribuida, de modo que la salida correspondiente a cualquier punto en el espacio de entrada se deriva del valor almacenado en una cantidad de celdas de memoria (de ahí el nombre de memoria asociativa). Esto proporciona generalización.

Bloques de construcción

CMAC, representado como un espacio 2D

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 de ellas mostrada en líneas más gruesas). Se muestra una única entrada cerca del medio, y esto ha activado dos celdas de memoria, correspondientes al área sombreada. Si hay otro punto cerca del que se muestra, compartirá algunas de las mismas celdas de memoria, lo que proporciona generalización.

El CMAC se entrena presentando pares de puntos de entrada y valores de salida, y ajustando los pesos en las celdas activadas según una proporción del error observado en la salida. Este algoritmo de entrenamiento simple 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]

Uno de los principales problemas que se mencionan en el uso práctico de CMAC es el tamaño de memoria necesario, que está directamente relacionado con la cantidad de celdas utilizadas. Esto suele solucionarse utilizando una función hash y proporcionando almacenamiento de memoria únicamente para las celdas reales que se activan mediante entradas.

Algoritmo convergente de un paso

Inicialmente, se emplea el método de mínimos cuadrados (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 divergencia. En 2004, [5] se introdujo un algoritmo de mínimos cuadrados recursivos (RLS) para entrenar CMAC en línea. No necesita ajustar una tasa de aprendizaje. Su convergencia se ha demostrado teóricamente y se puede garantizar que converge en un solo paso. La complejidad computacional de este algoritmo RLS es O(N3).

Estructura de canalización paralela de la red neuronal CMAC [6]
Panel izquierdo: funciones reales; panel derecho: aproximación CMAC con derivadas

Infraestructura de implementación de hardware

Basado en la descomposición QR, se ha simplificado aún más un algoritmo (QRLS) para que tenga 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 para implementar este algoritmo. [6]

En general, al utilizar el algoritmo QRLS, se puede garantizar la convergencia de la red neuronal CMAC y los pesos de los nodos se pueden actualizar mediante un solo paso de entrenamiento. Su estructura de matriz de canalización paralela ofrece un gran potencial para implementarse en hardware para uso industrial a gran escala.

CMAC continuo

Dado que la forma rectangular de las funciones de campo receptivo CMAC produce una aproximación de función de escalera discontinua, al integrar CMAC con funciones B-splines, el CMAC continuo 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, abordar de manera más eficaz las tareas no lineales y de alta complejidad. En 2018, [7] se propuso un marco 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 del CMAC de una sola capa convencional.

Resumen

Véase también

Referencias

  1. ^ ab Albus, JS (1 de septiembre de 1975). "Un nuevo enfoque para el control de manipuladores: el controlador de articulación del modelo cerebeloso (CMAC)". Revista de sistemas dinámicos, medición y control . 97 (3): 220–227. doi :10.1115/1.3426922. ISSN  0022-0434.
  2. ^ 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.
  3. ^ Wong, Y.; Sideris, A. (enero de 1992). "Convergencia de aprendizaje en el controlador de articulación del modelo cerebeloso". IEEE Transactions on Neural Networks . 3 (1): 115–121. doi :10.1109/72.105424.
  4. ^ 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.
  5. ^ 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.
  6. ^ ab 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.
  7. ^ Tsa, Yu; Chu, Hao-Chun; Fang, Shih-Hau; Lee, Junghsi; Lin, Chih-Min (2018). "Cancelación de ruido adaptativa utilizando el controlador de articulación del modelo cerebeloso profundo". IEEE Access . 6 : 37395–37402. arXiv : 1705.00945 . doi :10.1109/ACCESS.2018.2827699. ISSN  2169-3536.

Lectura adicional

Enlaces externos