¿Qué es un modelo de espacio de estados?

¿Qué es un modelo de espacio de estados (SSM)?

Los modelos de espacio de estados (SSM) son una clase de algoritmos de machine learning utilizados para hacer predicciones sobre sistemas dinámicos mediante el modelado de cómo su estado interno evoluciona con el tiempo a través de ecuaciones diferenciales. Históricamente utilizados en la ingeniería de sistemas de control, los SSM son una plataforma matemática notablemente flexible adaptable a la mayoría de las tareas de modelado de secuencias. Mamba, una arquitectura de red neuronal basada en SSM, compite con los transformadores en cuanto al rendimiento de modelado del lenguaje.

Los modelos de espacio de estados tienen su origen en la ingeniería de sistemas de control, donde desempeñaron una función fundamental en los cálculos de navegación para el programa Apollo en la década de 1960.1 Los SSM también se utilizan de forma destacada en ingeniería eléctrica, donde son fundamentales para el procesamiento de señales, la teoría de control y la robótica. Pero quizás la cualidad más importante de los SSM es su versatilidad, especialmente para sistemas de múltiples entradas y múltiples salidas.

Los SSM se basan en dos ecuaciones simples: una describe la dinámica interna de un sistema que no es directamente observable y la otra describe cómo esas dinámicas internas se relacionan con los resultados observables. Esa formulación simple y flexible es extremadamente adaptable para una amplia variedad de datos de series temporales multivariadas.

En economía, los SSM pueden modelar cómo afectan las tendencias y la estacionalidad a los precios de las acciones. En neurociencia, pueden trazar relaciones entre las señales cerebrales medibles (como las fMRI) y la actividad neuronal subyacente. En ecología, los SSM pueden ayudar a modelar la dinámica de poblaciones, el movimiento de los animales y los datos de captura-recaptura.2 Los SSM también se aprovechan en el forecasting y otros tipos de análisis de series temporales.

En los últimos años, la investigación sobre modelos de espacio de estados se ha centrado en sus usos en el aprendizaje profundo, con la integración de redes neuronales como los parámetros de las ecuaciones de SSM. Más recientemente y en particular, esto ha dado lugar a la arquitectura de modelos Mamba para modelos de lenguaje grandes (LLM), que ha demostrado que coincide con la capacidad de rendimiento de los modelos basados en transformadores, al tiempo que ofrece una velocidad y eficiencia superiores.

¿Qué es un espacio de estados?

Las condiciones de un sistema en un momento dado vienen determinadas por los valores específicos de cualquier número de variables del sistema. El objetivo de modelar eficazmente el espacio de estados es identificar el subconjunto más pequeño de variables del sistema necesario para describirlo por completo. Este subconjunto de variables del sistema se denomina variables de estados. El espacio de estados es el espacio n-dimensional cuyos ejes (dimensiones) son las variables de estados, que contienen todos los valores posibles para cada una de esas n variables de estados.

Cada una de estas variables de estados debe ser linealmente independiente: en otras palabras, ninguna variable de estados puede constituir una combinación (por suma o resta) de ninguna otra variable de estados.

El estado concreto del sistema en un momento dado puede expresarse como un vector de estados, en el que cada elemento del vector representa el valor de su correspondiente variable de estados. El vector de estados tiene el mismo número de dimensiones que el propio espacio de estados. Un vector de estados determinado puede entenderse como un conjunto de "coordenadas" específicas en el espacio de estados.

Ejemplos intuitivos de espacio de estados

Imagine un automóvil de juguete que se mueve a lo largo de una pista recta a velocidad constante. El espacio de estados se puede modelar con 2 variables de estados: la posición del automóvil (medida en distancia desde la línea de salida) y su velocidad. Por lo tanto, el estado del sistema en cualquier momento t puede expresarse como un vector de estado bidimensional [posiciónt, velocidadt]. En este sencillo sistema, si se conoce la posición y la velocidad precisas del automóvil en un momento dado (su estado actual), puede predecirse dónde estará en el siguiente momento.

La velocidad en sí combina 2 variables del sistema: velocidad y dirección. Debido a que el automóvil se mueve a lo largo de una pista recta, es posible representar simplemente el movimiento hacia atrás como velocidad negativa y el movimiento hacia adelante como velocidad positiva. Pero es posible, aunque ineficiente, reemplazar la única variable de estados de velocidad con las 2 variables de estados de velocidad y dirección.

Si el automóvil de juguete se moviera a través de un campo abierto en lugar de una pista recta, el espacio de estados ahora sería de 4 dimensiones, porque la posición del automóvil y su movimiento requieren al menos 2 dimensiones para ser descritos completamente.

En la práctica, las "dimensiones" de un espacio de estados rara vez corresponden a las dimensiones familiares y fáciles de visualizar del mundo físico. Por ejemplo, considere un tablero de tres en raya. Podríamos tratar cada uno de sus 9 cuadrados individuales como una variable de estados, cuyo valor podría ser "0" para el espacio en blanco, "1" para X y "2" para O, en un espacio de estados de 9 dimensiones. Cualquier configuración del tablero podría expresarse en forma de espacio de estados como un vector de estados de 9 dimensiones.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Cómo funcionan los modelos de espacio de estados?

Los modelos de espacio de estados tienen como objetivo predecir cómo las entradas de un sistema se reflejan en sus salidas y cómo el estado del sistema en sí evoluciona con el tiempo y en respuesta a entradas específicas.

En cada momento t, un SSM toma una secuencia de entrada x(t) y la asigna tanto al estado actual h(t) como a la secuencia de salida y(t). El estado h(t) a menudo se denomina estado latente porque, a diferencia de la salida del sistema, no es directamente observable, es decir,está latente (oculto).

La representación en el espacio de estados de un sistema se calcula mediante 2 ecuaciones diferenciales de primer orden:

La ecuación de estados, h(t)=A*h(t)+B*x(t) 
La ecuación de salida,
y(t)=C*h(t)+D*x(t)


Los parámetros clave de un MUS son A, B, C y D, que suelen adoptar la forma de matrices. Cada elemento de cada matriz representa la relación, expresada como una derivada de primer orden, de una variable de estados con respecto a alguna otra variable (como una variable de entrada externa, otra variable de estado o ella misma). El uso de matrices hace que los métodos de espacio de estados sean una herramienta poderosa y escalable para representar sistemas complejos de múltiples entradas y múltiples salidas (MIMO) en un formato compacto y estandarizado.

En la teoría del control y disciplinas afines, estas matrices a menudo se definen directamente: representan la dinámica de un sistema establecido, y el SSM se utiliza para encontrar las entradas x que llevan a salidas deseables y o al estado óptimo h.En concepciones más modernas de SSM, esas matrices son en sí mismas parámetros que deben optimizarse a través del machine learning para reflejar mejor los patrones en un conjunto de datos de entrenamiento. En los modelos de aprendizaje profundo, esta “parametrización” está representada por los pesos aprendibles de una red neuronal.

La ecuación del espacio de estados

La ecuación de espacio de estados (o simplemente ecuación de estados), como su nombre indica, describe el estado del sistema mediado por la matriz A y la matriz B. En esta notación, h(0) puede entenderse como el estado inicial del sistema, h(t) es el estado latente en el tiempo t y h'(t), la ecuación diferencial de primer orden para h(t), es la forma en que que el estado está cambiando en el tiempo t.

Diagrama de la ecuación del espacio de estados de un SSM La ecuación de estados. Ilustración derivada de "A Visual Guide to Mamba and State Space Models" de Maarten Grootendorst

Para contextualizar las nociones abstractas de ecuaciones diferenciales y matrices, podemos explorarlas a través de la perspectiva de un ejemplo simplificado e intuitivo de un sistema dinámico en el que los parámetros A, B, C y D ya se conocen.

Para nuestro ejemplo, imagine un pequeño ecosistema en una isla que alberga una población de peces y una población de pelícanos que comen esos peces. Podemos representar este sistema con 2 variables de estados: F (el número de peces) y P  (el número de pelícanos). Nuestro objetivo es definir una función h(t) que describe cómo el estado h(t), expresado como vector de estados [F(t),P(t)] , está cambiando en el tiempo t.

La matriz A

La matriz A, también llamada matriz de transición , describe cómo el ecosistema de la isla, representado por esas 2 variables de estados, evoluciona con el tiempo si se deja solo. Más específicamente, describe cómo el estado actual h influye en el estado futuro.

Supongamos que la dinámica de las poblaciones de peces y pelícanos es muy simple y constante:

  • Por sí sola, la población de peces  F aumenta a una tasa del 50 %.
  • Por sí sola, la población de pelícanos  P disminuye en un 5 %.
  • Cada pelícano comerá 4 peces en ese mismo período.
  • Por cada 10 peces adicionales, el ecosistema puede albergar 1 pelícano adicional.

Ahora podemos expresar cada una de estas dinámicas con ecuaciones simples y representar esas ecuaciones en una matriz de tamaño n x n, donde n  = el número de variables de estados. Cada columna de nuestra matriz A de 2x2 representa una variable de estado y cada fila representa su tasa de cambio, su derivada de primer orden, con respecto a cada variable de estado. Se agregaron anotaciones en cursiva para mayor claridad.

 Fish(F)Pelicans(P)ChangestoFish0.5_-4_ChangestoPelicans0.1_-0.05_

Debido a que las tasas de cambio de población son constantes en nuestro escenario simplificado, los elementos de nuestra matriz A son constantes simples. Los escenarios del mundo real a menudo implican más variables de estados y relaciones matemáticamente más complejas entre ellas, pero la forma en que esas relaciones se representan en la cuadrícula de su matriz de transición A correspondiente sería la misma.

Supongamos que hay una ausencia total de influencias externas; h'(t)=A*h(t) es suficiente para describir cómo evoluciona el estado del ecosistema de la isla con el tiempo.

h(t)=A*h(t)

h(t)=[0.5-40.1-0.05]*h(t)

h(t)=[0.5-40.1-0.05]*[F(t)P(t)]  

Resolver esta ecuación de forma analítica implica calcular los valores propios y los vectores propios de la matriz A, lo cual queda fuera del alcance de este artículo. Pero resulta que, por sí solo, este ecosistema no es sostenible: las poblaciones de peces y pelícanos tendrán una experiencia interrelacionada y cada vez más extrema de auge y caída, que finalmente culminará en un colapso catastrófico.

La matriz B

¿Qué pasa si también hay factores externos que influyen en el ecosistema? La matriz B, también llamada matriz de entrada, fundamenta la otra mitad de la ecuación de estados, y describe cómo una entrada dada afecta cada variable de estados. Es una matriz de tamaño n x m, en la que n = el número de variables de estado y m = el número de variables de entrada externas. La esencia de la teoría de control es determinar las entradas del sistema x(t) que logran un estado o resultado deseable para el sistema general.

Para ampliar nuestro ejemplo de ecosistema insular, agregaremos una única variable de entrada: un suministro por aire de alimento para peces x (medida en toneladas) en el tiempo t. Supongamos que cada tonelada de alimento para peces lanzada desde el aire permite un aumento adicional del 30 % en la población de peces y no tiene ningún efecto sobre la población de pelícanos.

Como tenemos 2 variables de estados y 1 variable de entrada, las capturaremos en una matriz de entrada 2x1. La fila superior de la matriz B representará F, para que coincida con la matriz A.

 ChangetoFChangetoP   [0.30]

Ahora podemos modelar el estado del ecosistema insular en el momento t mediante la ecuación de estados completa:

h(t)=A*h(t)+B*x(t)

h(t)=[0.5-40.1-0.05]h(t)+[0.30]x(t)

En este caso, el objetivo sería identificar las reglas óptimas (normalmente, representadas por otra matriz cuyos elementos son funciones de las variables de estados) para agregar entradas x(t) al ecosistema cada vez que la población de peces está disminuyendo, con el fin de estabilizar el ecosistema.

La ecuación de salida

Como se mencionó anteriormente, el propósito de la ecuación de estados es describir el "estado oculto" h que no se puede observar directamente. Los SSM asumen la existencia de algún reflejo del estado verdadero que es directamente observable, aunque potencialmente ruidoso o incompleto, y lo modelan mediante la ecuación de salida (también llamada ecuación de observación).

Diagrama de la ecuación de salida de SSM La ecuación de salida. La ecuación de estados. Ilustración derivada de "A Visual Guide to Mamba and State Space Models" de Maarten Grootendorst.

Lo mismo ocurre con nuestro sencillo ejemplo de ecosistema: en realidad, probablemente sea imposible contar todos los peces y aves de una isla. En cambio, un estudio ecológico podría utilizar drones aéreos y cámaras submarinas para sondear objetivamente algunas de las poblaciones de peces y pelícanos, y luego hacer suposiciones sobre cómo se relacionan esas mediciones con el verdadero estado del ecosistema.

La matriz C

La matriz C (o matriz de salida) determina la relación entre las variables de estados internas y la salida, y. La salida en sí se representa como un vector cuyos elementos corresponden a los valores observados para cada una de las variables de salida. En nuestro ejemplo de ecosistema, agreguemos 4 variables de salida: 2 cámaras submarinas para observar la población de peces y 2 drones aéreos para observar la población de pelícanos.

  • La cámara 1 está en una buena ubicación con agua clara. Puede registrar de manera confiable alrededor del 20 % de la verdadera población de peces F (y nada de los pelícanos).
  • La cámara 2 está en aguas turbias y solo puede ver alrededor del 5 % de la población de peces.
  • El dron 1 es un dron nuevo y de gran calidad. Puede detectar aproximadamente el 25 % de la verdadera población de pelícanos P, pero vuela demasiado alto para ver los peces.
  • El dron 2 es un dron más antiguo. Solo puede detectar alrededor del 10 % de la población de pelícanos.

Podemos representar estas variables de salida en una matriz p x n C, en la que n = el número de variables de estado y p = el número de señales de salida que se van a medir. Para alinearnos con nuestras matrices anteriores, la columna de la izquierda corresponde a la relación de cada variable de salida con  F y la columna derecha corresponde a su relación con  P .

Camera1Camera2Drone1Drone2[.20.0500.250.10]

Correlación de los resultados con el estado del sistema

Ahora podemos modelar las salidas del sistema y en el tiempo t como

 y(t)=C*h(t)=[.20.0500.250.10]*[F(t)P(t)]

Teóricamente, esto nos permitiría derivar el verdadero estado h a partir de las mediciones de salida y haciendo referencia a las ecuaciones de estado y salida.

En realidad, la relación exacta entre las mediciones de salida y el estado real rara vez se puede conocer, y las mediciones de salida en sí mismas suelen ser imperfectas y están sujetas a variaciones ruidosas. Por ejemplo, no es realista suponer que el dron 1 detectará exactamente el 25 % de los pelícanos en la isla. El filtro de Kalman es una técnica comúnmente utilizada para producir la estimación del estado real con la máxima verosimilitud mediante salidas ruidosas del sistema.

La matriz D

La matriz D describe cómo la entrada influye directamente en la salida observada del sistema. A menudo, se omite de los diagramas y análisis de los SSM porque esencialmente pasa por alto el "modelo" real por completo, sin tener una relación directa con el estado en sí.

Por ejemplo, en nuestro ejemplo de ecosistema, imagine si las corrientes de los cuerpos de agua de la isla dan como resultado que los alimentos para peces lanzados desde el aire tiendan a asentarse cerca de la cámara 2. Esto podría hacer que la cámara 2 registre un porcentaje mayor de la población real de peces de lo habitual (y en la cámara 1 que captura un porcentaje menor de F de lo habitual) cada vez que se aumentan las entradas del sistema. La matriz p x 2 D daría cuenta de tal efecto en cada una de las variables de salida.    

En algunos casos, no existe una conexión directa entre la entrada y la salida y la D se elimina del modelo.

AI Academy

Elija el modelo de IA adecuado para su caso de uso

Más grande no siempre es mejor cuando se trata de modelos de IA. Aprenda a encontrar la solución que mejor se adapte a las necesidades de su empresa. A continuación, obtenga la guía que le ayudará a pasar a la acción.

SSMs y machine learning

El uso del filtro de Kalman para asignar las salidas del sistema al estado real del sistema requiere que los parámetros A y B se conozcan de antemano. Pero en muchos casos, la dinámica del sistema de espacio de estados (los parámetros A, B y C) se desconoce inicialmente. Se deben determinar los parámetros correctos para utilizar la infraestructura de SSM para hacer predicciones significativas sobre el sistema.

Se pueden utilizar varios algoritmos de machine learning para derivar los valores de A, B y C a partir de las entradas y los resultados correspondientes conocidos, mediante las 2 ecuaciones interrelacionadas que describen sus interacciones. Si el modelo es lineal e invariante en el tiempo (LTI), si su dinámica es coherente a lo largo del tiempo y su salida se escala proporcionalmente con la entrada, los algoritmos de maximización de expectativas o los métodos subespaciales, como N4SID, pueden estimar de manera eficiente los parámetros del modelo.

SSM y aprendizaje profundo

En los últimos años, el aprendizaje profundo ha surgido como un medio cada vez más común para aprender los parámetros de SSM. Dichos enfoques representan las matrices A, B y C como los pesos de una red neuronal. En un proceso iterativo:

  • El modelo recibe entradas de datos de entrenamiento y tiene la tarea de predecir las salidas del sistema.
  • Las salidas previstas se miden con respecto a las salidas reales de "verdad fundamental" para esa entrada mediante una función de pérdida.
  • La retropropagación se utilizar para determinar cómo cada parámetro del modelo (es decir, cada elemento de las matrices A, B y C) contribuyó al error medido.
  • El descenso de gradiente se utiliza para optimizar los parámetros del modelo de una manera que disminuya la pérdida (inexactitud).
  • El proceso se repite actualizando las matrices de SSM hasta que las predicciones del modelo alcanzan un umbral aceptable de precisión.

Mediante este proceso de aprendizaje supervisado (o aprendizaje autosupervisado), el modelo aprende implícitamente la dinámica del sistema de espacio de estados. Si bien este es un medio estable y versátil para aprender los parámetros de SSM óptimos, requiere una gran cantidad de datos de entrenamiento.

A diferencia de un SSM convencional, un SSM basado en red neuronales no es interpretable: los valores de sus matrices ya no corresponden a las relaciones entre variables de estados y otros parámetros del modelo de una manera intuitiva, como en nuestro ejemplo anterior. Este no es un defecto único de los SSM profundos, sino más bien una calidad universal para los modelos de aprendizaje profundo escritos en gran escala.

Modelos de espacio de estados discretos

Los SSM tradicionales son modelos de tiempo continuo diseñados para modelar secuencias continuas, como una señal eléctrica o la trayectoria de un objeto en movimiento. Pero muchas modalidades de datos procesadas por los modelos modernos de aprendizaje profundo, como texto, estructuras moleculares, comportamientos de los usuarios o datos de series temporales, suelen ser secuencias discretas. El uso de SSM para modelar una secuencia discreta requiere un medio para representar sus pasos de tiempo distintos y específicos como parte de una señal continua.

Conceptualmente, la discretización equivale a muestrear "instantáneas" del valor de una función continua en momentos específicos. Esto implica la introducción de un nuevo parámetro, el tamaño del paso, , que determina cuánto tiempo se “mantuvo” esa instantánea en cada paso de tiempo discreto t. Los ajustes de son similares a cambios en cualidades como la resolución de los datos (para datos de series temporales) o la velocidad de fotogramas (para datos de video). Los métodos comunes de discretización incluyen el método bilineal, el método de Euler y el método simple de retención de orden cero (ZOH) utilizado por muchas variantes modernas de SSM (incluida Mamba).

Conexión entre SSM y RNN

Mientras que un SSM de tiempo continuo asigna una función x(t) a una función y(t), un SSM de tiempo discreto es un modelo de secuencia a secuencia. Matemáticamente hablando, un SSM discretizado es el equivalente a una red neuronal recurrente (RNN), en la que el estado latente del sistema es el equivalente al "estado oculto" de una RNN.

Aunque hay variaciones en las letras específicas que se utilizan para indicar la entrada y el estado en las ecuaciones SSM (en algunos casos, la primera se expresa como U y la segunda como x), esta conexión con las RNN es lo que motiva el uso de h para indicar el estado en la mayoría de los contextos de machine learning. La relación con las RNN también es lo que llevó al desarrollo de arquitecturas modernas basadas en SSM, como Mamba.

Los parámetros y ecuaciones de los SSM discretizados suelen reescribirse para distinguirlos de sus equivalentes de tiempo continuo mediante la notación de subíndices que suele utilizarse para las RNN. En esta notación, ht representa el espacio de estado actualizado que generará el modelo y ht-1 representa el estado anterior, es decir, el espacio de estado actual. La notación de A, B y C también se modifica para reflejar sus formas discretizadas.

 ht=A¯ht-1+B¯xt 
 yt=C¯ht


En esta formulación discreta, el estado del sistema se actualiza después de cada paso de tiempo t (mediate la ecuación de estados), lo que permite que el estado actualizado fundamente la ecuación de salida en el siguiente paso de tiempo.

Modelos de espacio de estados estructurados

A pesar de sus muchas ventajas, los SSM discretos estándar comparten algunas deficiencias importantes con las RNN. Dos de las deficiencias más importantes se abordaron con la introducción de modelos de secuencia de espacio de estados estructurados (o "modelos S4") por parte de Albert Gu et al en 2021: su incapacidad para manejar secuencias largas y su ineficiencia inherente durante el entrenamiento del modelo.

El primero se abordó a través de una estrategia única para la inicialización de los parámetros de un SSM previo al entrenamiento. Esto último se abordó mediante el descubrimiento de una conexión importante entre los SSM y las redes neuronales convolucionales (CNN).

Inicialización de HiPPO

Al igual que las RNN estándar, los SSM discretos convencionales son inherentemente débiles para modelar dependencias de larga distancia. En otras palabras, no sirven para comprender la relación entre los pasos de una secuencia que están muy separados, como las palabras al principio y al final de un párrafo, lo que los hace débiles para modelar secuencias largas (como datos de texto) en conjunto.

Para resolver esto, Gu et al propusieron el uso de una técnica llamada HiPPO (abreviatura de High-order Polynomial Projection Operators) para definir la manera en que se comportan las matrices A y B.

Las funciones polinomiales combinan uno o más términos. Cada término comprende un coeficiente y una función base de alguna variable. Por ejemplo, 3x2 es un término cuyo coeficiente es 3 y cuya base es x2. El “orden” de un polinomio está determinado por la potencia más alta de cualquier base que contenga: 3x2 + 5x es un “polinomio de segundo orden”. Cuanto mayor sea el orden de un polinomio, más detalles intrincados se pueden capturar en sus curvas.

Las funciones polinómicas ortogonales son “familias” especiales de polinomios, que abarcan múltiples órdenes, en las que cada polinomio es matemáticamente independiente de los demás, lo cual asegura que no haya superposición redundante ni dependencias informacionales entre ellos. También son muy resistentes a errores de redondeo menores, lo que las hace útiles para aproximar funciones más complejas. Las familias de polinomios ortogonales se generan mediante una regla llamada fórmula de recurrencia de tres términos. El método HiPPO utiliza dichas fórmulas de recurrencia para construir las matrices A y B.

En esencia, cada vez que el estado ht se actualiza mediante la ecuación de estado A¯ht-1+B¯xt , los elementos del vector de estado ht actúan como coeficientes de expresiones polinómicas que se aproximan a la entrada original. Las entradas más antiguas se aproximan mediante polinomios de orden inferior que captan detalles amplios y de baja frecuencia (a largo plazo) y las entradas más recientes se aproximan mediante polinomios de orden superior que captan detalles finos y de alta frecuencia (a corto plazo). Dado que los polinomios elegidos son ortogonales, no se repite ninguna información. En esencia, esta estructura obliga al espacio de estados a "memorizar" todo el historial de entrada "comprimiéndolo" de manera eficiente en un vector de coeficientes de tamaño fijo.

El documento S4 señala que “simplemente modificar un SSM de una matriz aleatoria A a [la matriz HiPPO] mejoró su rendimiento en el punto de referencia secuencial MNIST del 60 % al 98 %”, lo cual resolvió de manera efectiva el problema de memoria a largo plazo de los SMS. Las variaciones posteriores de SSM estructurados, como DSS, S5 y Mamba, utilizan esquemas de inicialización diferentes (a menudo más simples) para A y B, pero conservan los principios centrales de HiPPO.

Conexión entre los SSM y CNN

Al igual que las RNN convencionales, sus equivalentes discretos de SSM son extremadamente rápidos en la inferencia autorregresiva. La desventaja de esta equivalencia es que las RNN son extremadamente lentas de entrenar.

Afortunadamente, los SSM discretizados tienen una propiedad importante que los distingue de otras RNN: modelan exclusivamente dependencias lineales. En otras palabras, solo utilizan operaciones simples y directas de multiplicación y suma. Como demuestra el documento de S4, estas recurrencias lineales simples, repetidas e interdependientes se pueden desenrollar en un kernel de convolución unidimensional, que asigna directamente la entrada x a la salida y en un solo paso. Esto se puede calcular de manera muy eficiente mediante la transformada rápida de Fourier.

La única “trampa” es que esto solo es posible cuando se conoce cada paso de toda la secuencia de entrada. Este no es el caso durante la inferencia: el punto de la inferencia es usar el modelo para predecir iterativamente el siguiente paso en una secuencia, porque es desconocido. Pero durante el entrenamiento, cuando el modelo se alimenta de secuencias de muestra y se optimiza para mejorar la precisión de sus predicciones, se conoce toda la secuencia.

Esto permite que un SSM estructurado se beneficie de lo mejor de ambos mundos: durante el entrenamiento, puede funcionar de manera muy eficiente como una CNN; durante la inferencia, puede funcionar de manera muy eficiente como una RNN.

Modelos Mamba

Mamba es una arquitectura de redes neuronales basada en una variante especial de SSM estructurados: el modelo de espacio de estados selectivo. En tareas como el modelado de lenguaje autorregresivo, los modelos Mamba han demostrado que igualan o superan el rendimiento de los modelos transformadores en la mayoría de los puntos de referencia académicos, a la vez que son significativamente más rápidos y más eficientes en memoria tanto en la inferencia como en el entrenamiento.

Los SSM ordinarios están diseñados explícitamente para asignar entrada a salida utilizando todo el historial de entrada. Esto es aceptable o incluso deseable para algunas tareas de modelado de secuencias, pero es una desventaja significativa para la mayoría de las tareas avanzadas de modelado de lenguaje. El modelo de espacio de estados selectivo proporciona a Mamba una capacidad crucial que antes solo ofrecía el mecanismo de autoatención de la arquitectura transformadora: la capacidad de enfocarse selectivamente o ignorar partes específicas del historial de entrada pasado en función de su relevancia presente.

En diseños anteriores de SSM, los parámetros A, B, C, D y ∆ son fijos: una vez que se han optimizado mediante el entrenamiento del modelo, son los mismos para cada entrada. En un SSM selectivo, los parámetros de SSM dependen de la entrada: se generan multiplicando ("proyectando") el vector de entrada por una capa de ponderaciones del modelo, que a su vez se optimiza en el entrenamiento.

Sin embargo, debido a que los SSM selectivos no son lineales invariantes en el tiempo (LTI), no pueden funcionar como una CNN durante el entrenamiento. Los autores de Mamba abordaron esta compensación con un escaneo paralelo que tiene en cuenta el hardware, un algoritmo que optimiza la forma en que una unidad de procesamiento de gráficos (GPU) maneja los cálculos del modelo en su jerarquía de memoria para maximizar la velocidad y la eficiencia computacional.

Diagrama de un modelo de espacio de estados selectivo La asignación selectiva de SSM y RAM en una GPU. Tomado del documento original "Mamba: Linear Time-Sequence Modeling with Selective State Spaces"
Soluciones relacionadas
Modelos fundacionales

Explore la biblioteca de modelos fundacionales de IBM en la cartera de watsonx para escalar la IA generativa para su negocio con confianza.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Explore la biblioteca de modelos fundacionales de IBM watsonx en la cartera de watsonx para escalar la IA generativa para su negocio con confianza.

Descubra watsonx.ai Explorar los modelos de IA de IBM Granite
Notas de pie de página

1. "The Apollo 11 Moon Landing: Spacecraft Design Then and Now," MathWorks, 2019
2. "A guide to state–space modeling of ecological time series," Econological Society of America, 14 de junio de 2021