miniatura|320x320px|Un diagrama de blocs del sistema CMAC per a una sola articulació. El vector S es presenta com a entrada per a totes les articulacions. Cada articulació calcula per separat un mapatge S -> A* i un senyal pi de l'actuador de l'articulació. Els pesos ajustables per a totes les articulacions poden residir a la mateixa memòria física. L'ordinador aritmètic del model cerebel·lós (CMAC) és un tipus de xarxa neuronal basada en un model del cerebel dels mamífers. També es coneix com a controlador d'articulació del model cerebel·lós. És un tipus de memòria associativa.

El CMAC va ser proposat per primera vegada com a modelador de funcions per a controladors robòtics per James Albus el 1975 (d'aquí el nom), però s'ha utilitzat àmpliament en l'aprenentatge per reforç i també per a la classificació automatitzada a la comunitat d'aprenentatge automàtic. El CMAC és una extensió del model de perceptró. Calcula una funció per a dimensions d'entrada. L'espai d'entrada es divideix en hiperrectangles, cadascun dels quals està associat a una cel·la de memòria. El contingut de les cel·les de memòria són els pesos, que s'ajusten durant l'entrenament. Normalment, s'utilitza més d'una quantificació de l'espai d'entrada, de manera que qualsevol punt de l'espai d'entrada s'associa amb un nombre d'hiperrectangles i, per tant, amb un nombre de cel·les de memòria. La sortida d'un CMAC és la suma algebraica dels pesos de totes les cel·les de memòria activades pel punt d'entrada.

Un canvi de valor del punt d'entrada resulta en un canvi en el conjunt d'hiperrectangles activats i, per tant, un canvi en el conjunt de cel·les de memòria que participen en la sortida CMAC. Per tant, la sortida CMAC s'emmagatzema de manera distribuïda, de manera que la sortida corresponent a qualsevol punt de l'espai d'entrada es deriva del valor emmagatzemat en diverses cel·les de memòria (d'aquí el nom memòria associativa). Això proporciona una generalització.

Blocs de construcció miniatura|CMAC, representat com un espai 2D A la imatge adjacent, hi ha dues entrades al CMAC, representades com un espai 2D. S'han utilitzat dues funcions de quantificació per dividir aquest espai amb dues quadrícules superposades (una es mostra amb línies més gruixudes). Es mostra una única entrada a prop del centre, i això ha activat dues cel·les de memòria, corresponents a l'àrea ombrejada. Si es produeix un altre punt a prop del que es mostra, compartirà algunes de les mateixes cel·les de memòria, proporcionant una generalització.

El CMAC s'entrena presentant parells de punts d'entrada i valors de sortida, i ajustant els pesos a les cel·les activades per una proporció de l'error observat a la sortida. Aquest senzill algorisme d'entrenament té una prova de convergència.

És normal afegir una funció de nucli a l'hiperrectangle, de manera que els punts que cauen cap a la vora d'un hiperrectangle tinguin una activació menor que els que cauen a prop del centre.

Un dels principals problemes que es citen en l'ús pràctic de CMAC és la mida de memòria necessària, que està directament relacionada amb el nombre de cel·les utilitzades. Això normalment es millora mitjançant una funció hash i només proporcionant emmagatzematge de memòria per a les cel·les reals que s'activen mitjançant entrades.

Algorisme convergent d'un pas Inicialment, s'utilitza el mètode dels mínims quadrats (LMS) per actualitzar els pesos de CMAC. La convergència de l'ús de LMS per entrenar CMAC és sensible a la taxa d'aprenentatge i podria conduir a la divergència. El 2004, es va introduir un algorisme recursiu de mínims quadrats (RLS) per entrenar CMAC en línia. No cal ajustar la taxa d'aprenentatge. La seva convergència s'ha demostrat teòricament i es pot garantir que convergeixi en un sol pas. La complexitat computacional d'aquest algorisme RLS és O(N3). miniatura|520x520px|Estructura de canonades paral·leles de la xarxa neuronal CMAC

Infraestructura d'implementació de maquinari miniatura|360x360px|Panell esquerre: funcions reals; panell dret: aproximació de CMAC amb derivades Basant-se en la descomposició QR, s'ha simplificat encara més un algorisme (QRLS) per tenir una complexitat O(N). En conseqüència, això redueix significativament l'ús de memòria i el cost de temps. S'ha introduït una estructura de matriu de canonades paral·leles per implementar aquest algorisme.

En general, mitjançant l'ús de l' algorisme QRLS, es pot garantir la convergència de la xarxa neuronal CMAC i els pesos dels nodes es poden actualitzar mitjançant un sol pas d'entrenament. La seva estructura de matrius de canalització paral·lela ofereix un gran potencial per ser implementada en maquinari per a ús industrial a gran escala.

CMAC continu Com que la forma rectangular de les funcions de camp receptiu de CMAC produeix una aproximació discontínua de la funció d'escala, integrant CMAC amb funcions B-splines, el CMAC continu ofereix la capacitat d'obtenir qualsevol ordre de derivades de les funcions aproximades.

CMAC profund En els darrers anys, nombrosos estudis han confirmat que, apilant diverses estructures superficials en una sola estructura profunda, el sistema global podria aconseguir una millor representació de les dades i, per tant, gestionar de manera més eficaç tasques no lineals i d'alta complexitat. El 2018, es va proposar un marc de treball CMAC profund (DCMAC) i es va derivar un algorisme de retropropagació per estimar els paràmetres del DCMAC. Els resultats experimentals d'una tasca de cancel·lació de soroll adaptativa van mostrar que el DCMAC proposat pot aconseguir un millor rendiment de cancel·lació de soroll en comparació amb el del CMAC convencional d'una sola capa.

Resum EscalabilitatFàcil d'estendre a milions de neurones o mésConvergènciaL'entrenament sempre pot convergir en un sol pasDerivades de funcionsFàcil d'obtenir mitjançant la interpolació de B-splinesEstructura del maquinariEstructura de canonades paral·lelesÚs de memòriaLineal respecte al nombre de neuronesComplexitat computacionalO(N)

Referències

Categoria:Xarxes neuronals artificials