Memoria temporal jerárquica

  • por

La HTM es el componente algorítmico de la teoría de los mil cerebros de la inteligencia de Jeff Hawkins. Así, los nuevos descubrimientos sobre el neocórtex se incorporan progresivamente al modelo HTM, que cambia con el tiempo como respuesta. Los nuevos hallazgos no invalidan necesariamente las partes anteriores del modelo, por lo que las ideas de una generación no quedan necesariamente excluidas en la sucesiva. Debido a la naturaleza evolutiva de la teoría, ha habido varias generaciones de algoritmos HTM, que se describen brevemente a continuación.

Primera generación: zeta 1Editar

La primera generación de algoritmos HTM se denomina a veces zeta 1.

EntrenamientoEditar

Durante el entrenamiento, un nodo (o región) recibe una secuencia temporal de patrones espaciales como entrada. El proceso de aprendizaje consta de dos etapas:

  1. La agrupación espacial identifica (en la entrada) patrones observados con frecuencia y los memoriza como «coincidencias». Los patrones que son significativamente similares entre sí se tratan como la misma coincidencia. Un gran número de posibles patrones de entrada se reduce a un número manejable de coincidencias conocidas.
  2. La agrupación temporal divide en grupos temporales las coincidencias que probablemente se sucedan en la secuencia de entrenamiento. Cada grupo de patrones representa una «causa» del patrón de entrada (o «nombre» en On Intelligence).
  3. Los conceptos de pooling espacial y pooling temporal siguen siendo bastante importantes en los algoritmos actuales de HTM. El pooling temporal aún no se entiende bien, y su significado ha cambiado con el tiempo (a medida que los algoritmos HTM evolucionaban).

    InferenciaEditar

    Durante la inferencia, el nodo calcula el conjunto de probabilidades de que un patrón pertenezca a cada coincidencia conocida. Luego calcula las probabilidades de que la entrada represente cada grupo temporal. El conjunto de probabilidades asignadas a los grupos se denomina «creencia» del nodo sobre el patrón de entrada. (En una implementación simplificada, la creencia del nodo consiste en un solo grupo ganador). Esta creencia es el resultado de la inferencia que se pasa a uno o más nodos «padres» en el siguiente nivel superior de la jerarquía.

    Los patrones «inesperados» para el nodo no tienen una probabilidad dominante de pertenecer a ningún grupo temporal, sino que tienen probabilidades casi iguales de pertenecer a varios de los grupos. Si las secuencias de patrones son similares a las secuencias de entrenamiento, entonces las probabilidades asignadas a los grupos no cambiarán tan a menudo como se reciben los patrones. La salida del nodo no cambiará tanto, y se pierde una resolución en el tiempo.

    En un esquema más general, la creencia del nodo puede ser enviada a la entrada de cualquier nodo(s) en cualquier nivel(s), pero las conexiones entre los nodos siguen siendo fijas. El nodo de nivel superior combina esta salida con la salida de otros nodos hijos formando así su propio patrón de entrada.

    Dado que la resolución en el espacio y el tiempo se pierde en cada nodo como se ha descrito anteriormente, las creencias formadas por los nodos de nivel superior representan un rango de espacio y tiempo aún mayor. Esto pretende reflejar la organización del mundo físico tal y como lo percibe el cerebro humano. Los conceptos más grandes (por ejemplo, causas, acciones y objetos) se perciben como más lentos y están formados por conceptos más pequeños que cambian más rápidamente. Jeff Hawkins postula que los cerebros evolucionaron este tipo de jerarquía para adaptarse, predecir y afectar a la organización del mundo externo.

    Se pueden encontrar más detalles sobre el funcionamiento de Zeta 1 HTM en la antigua documentación de Numenta.

    Segunda generación: algoritmos de aprendizaje corticalEditar

    La segunda generación de algoritmos de aprendizaje HTM, a menudo denominados algoritmos de aprendizaje cortical (CLA), fue drásticamente diferente de zeta 1. Se basa en una estructura de datos llamada representaciones distribuidas dispersas (es decir, una estructura de datos cuyos elementos son binarios, 1 o 0, y cuyo número de bits 1 es pequeño comparado con el número de bits 0) para representar la actividad cerebral y un modelo de neurona más realista desde el punto de vista biológico (a menudo también denominado célula, en el contexto de HTM). Hay dos componentes centrales en esta generación de HTM: un algoritmo de agrupación espacial, que produce representaciones distribuidas dispersas (SDR), y un algoritmo de memoria de secuencias, que aprende a representar y predecir secuencias complejas.

    En esta nueva generación, las capas y minicolumnas de la corteza cerebral se abordan y modelan parcialmente. Cada capa HTM (que no debe confundirse con un nivel HTM de una jerarquía HTM, como se ha descrito anteriormente) consiste en un número de minicolumnas altamente interconectadas. Una capa HTM crea una representación distribuida dispersa a partir de su entrada, de modo que un porcentaje fijo de minicolumnas está activo en todo momento. Una minicolumna se entiende como un grupo de células que tienen el mismo campo receptivo. Cada minicolumna tiene un número de células que son capaces de recordar varios estados anteriores. Una célula puede estar en uno de los tres estados: activo, inactivo y estado predictivo.

    Spatial poolingEdit

    El campo receptivo de cada minicolumna es un número fijo de entradas que se seleccionan aleatoriamente entre un número mucho mayor de entradas de nodos. En función del patrón de entrada (específico), algunas minicolumnas estarán más o menos asociadas a los valores de entrada activos. La agrupación espacial selecciona un número relativamente constante de las minicolumnas más activas e inactiva (inhibe) otras minicolumnas en las proximidades de las activas. Los patrones de entrada similares tienden a activar un conjunto estable de minicolumnas. La cantidad de memoria utilizada por cada capa puede aumentarse para aprender patrones espaciales más complejos o disminuirse para aprender patrones más simples.

    Células activas, inactivas y predictivasEditar

    Como se ha mencionado anteriormente, una célula (o una neurona) de una minicolumna, en cualquier momento, puede estar en un estado activo, inactivo o predictivo. Inicialmente, las celdas están inactivas.

    ¿Cómo se activan las celdas?

    Si una o más celdas de la minicolumna activa están en estado predictivo (ver más abajo), serán las únicas celdas que se activen en el paso de tiempo actual. Si ninguna de las células de la minicolumna activa está en estado predictivo (lo que ocurre durante el paso de tiempo inicial o cuando no se esperaba la activación de esta minicolumna), todas las células se hacen activas.

    ¿Cómo se hacen predictivas las células?

    Cuando una célula se hace activa, gradualmente forma conexiones con células cercanas que tienden a estar activas durante varios pasos de tiempo anteriores. Así, una célula aprende a reconocer una secuencia conocida comprobando si las células conectadas están activas. Si un gran número de células conectadas están activas, esta célula cambia al estado predictivo en previsión de una de las pocas entradas siguientes de la secuencia.

    La salida de una minicolumnaEditar

    La salida de una capa incluye minicolumnas tanto en estado activo como predictivo. Así, las minicolumnas están activas durante largos periodos de tiempo, lo que conduce a una mayor estabilidad temporal vista por la capa madre.

    Inferencia y aprendizaje en líneaEditar

    Los algoritmos de aprendizaje cortical son capaces de aprender continuamente de cada nuevo patrón de entrada, por lo que no es necesario un modo de inferencia separado. Durante la inferencia, HTM trata de hacer coincidir el flujo de entradas con fragmentos de secuencias previamente aprendidas. Esto permite que cada capa de HTM esté constantemente prediciendo la continuación probable de las secuencias reconocidas. El índice de la secuencia predicha es la salida de la capa. Dado que las predicciones tienden a cambiar con menos frecuencia que los patrones de entrada, esto conduce a una mayor estabilidad temporal de la salida en los niveles jerárquicos superiores. La predicción también ayuda a rellenar los patrones que faltan en la secuencia y a interpretar los datos ambiguos sesgando el sistema para inferir lo que predijo.

    Aplicaciones del CLAsEdit

    Los algoritmos de aprendizaje cortical se ofrecen actualmente como SaaS comercial por Numenta (como Grok).

    La validez del CLAsEdit

    La siguiente pregunta fue planteada a Jeff Hawkins en septiembre de 2011 con respecto a los algoritmos de aprendizaje cortical: «¿Cómo sabes si los cambios que estás haciendo en el modelo son buenos o no?». A lo que la respuesta de Jeff fue «Hay dos categorías para la respuesta: una es mirar la neurociencia, y la otra son los métodos para la inteligencia de las máquinas. En el ámbito de la neurociencia, hay muchas predicciones que podemos hacer y que se pueden probar. Si nuestras teorías explican un amplio abanico de observaciones de la neurociencia, eso nos indica que vamos por buen camino. En el mundo del aprendizaje automático, eso no les importa, sólo lo bien que funciona en problemas prácticos. En nuestro caso eso está por ver. En la medida en que puedas resolver un problema que nadie ha podido resolver antes, la gente se dará por enterada».

    Tercera generación: inferencia sensoriomotoraEditar

    La tercera generación se basa en la segunda y añade una teoría de la inferencia sensoriomotora en el neocórtex. Esta teoría propone que las columnas corticales de cada nivel de la jerarquía pueden aprender modelos completos de los objetos a lo largo del tiempo y que las características se aprenden en lugares específicos de los objetos. La teoría se amplió en 2018 y se denominó Teoría de los mil cerebros.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *