¿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 que se utilizan para hacer predicciones sobre sistemas dinámicos modelando cómo evoluciona su estado interno a lo largo del 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, rivaliza con los transformadores en el rendimiento del modelado del lenguaje.

Los modelos de espacio de estados tienen su origen en la ingeniería de sistemas de control, donde desempeñaron un papel fundamental en los cálculos de navegación para el programa Apollo en la década de 19601. 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 multivariantes.

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

En los últimos años, la investigación sobre los modelos del espacio estatal se ha centrado en sus usos en el deep learning, integrando las redes neuronales como parámetros de las ecuaciones del SSM. Más recientemente, y especialmente, esto ha creado la arquitectura modelo Mamba para modelos de lenguaje de gran tamaño (LLM), que se ha demostrado que iguala la capacidad de rendimiento de los modelos basados en transformadores y, al mismo tiempo, ofrece una velocidad y una eficiencia superiores.

¿Qué es un espacio de estado?

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 al modelar eficazmente el espacio de estados es identificar el subconjunto más pequeño de variables del sistema que son necesarias para describir completamente el sistema. Este subconjunto de variables del sistema se denomina variables de estado. El espacio de estados es el espacio n-dimensional cuyos ejes (dimensiones) son las variables de estado y contiene todos los valores posibles para cada una de esas n variables de estado.

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

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

Ejemplos intuitivos de espacios de estado

Imagine un coche de juguete que se desplaza por una pista recta a velocidad constante. El espacio de estado puede modelarse con dos variables de estado: la posición del coche (medida en distancia desde la línea de salida) y su velocidad. Por 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 conoce la posición y la velocidad exactas del coche en un momento dado (su estado actual) puede predecir dónde estará en el momento siguiente.

La velocidad en sí combina dos variables del sistema: velocidad y dirección. Como el coche se mueve en una vía 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, sustituir la variable de estado única de la velocidad por las dos variables de estado de velocidad y dirección.

Si el coche de juguete se moviera por un campo abierto en lugar de por una vía recta, el espacio de estados sería ahora de cuatro dimensiones, ya que la posición y el movimiento del coche requieren al menos dos dimensiones para describirse 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, pensemos en un tablero de tres en raya. Podríamos tratar cada uno de sus nueve cuadrados individuales como una variable de estado (cuyo valor podría ser “0” para blanco, “1” para X y “2” para O) en un espacio de estados de nueve dimensiones. Cualquier configuración de la placa podría expresarse en forma de espacio de estados como un vector de estados de nueve dimensiones.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados 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! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. 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 se reflejan las entradas de un sistema en sus salidas y cómo evoluciona el estado del propio sistema 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 una 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 utilizando 2 ecuaciones diferenciales de primer orden:

La ecuación de estado, 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 SSM 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 estado 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, múltiples salidas (MIMO) en un formato compacto y estandarizado.

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

La ecuación del espacio de estados

La ecuación del 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 la que el estado está cambiando en el tiempo t.

Diagrama de la ecuación de espacio de estado de un SSM La ecuación de estado. 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 lente 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 aislada que alberga una población de peces y una población de pelícanos que se comen esos peces. Podemos representar este sistema utilizando dos variables de estado: 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 estado [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 2dos variables de estado, evoluciona con el tiempo si se deja a sí mismo. 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:

  • Abandonada a su suerte, la población de peces  F aumenta a un ritmo del 50 %.
  • Abandonada a su suerte, la población de pelícanos  P disminuye en un 5 %.
  • Cada pelícano comerá cuatro peces en ese mismo período de tiempo.
  • Por cada diez peces adicionales, el ecosistema puede albergar un 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 estado. Cada columna de nuestra matriz A 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 han añadido anotaciones en cursiva para mayor claridad.

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

Dado 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 suelen implicar más variables de estado y relaciones matemáticamente más complejas entre ellas, pero la forma en que esas relaciones se representan en la cuadrícula de su correspondiente matriz de transición A sería la misma.

Suponiendo 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 a lo largo del 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 que queda fuera del alcance de este artículo. Pero resulta que, abandonado a su suerte, este ecosistema no es sostenible: las poblaciones de peces y pelícanos tendrán cada una una experiencia interrelacionada y cada vez más extrema de auge y caída, que culminará finalmente en un colapso catastrófico.

La matriz B

¿Y si también hay factores externos que influyen en el ecosistema? La matriz B, también llamada matriz de entrada, informa la otra mitad de la ecuación de estado, describiendo cómo una entrada determinada afecta a cada variable de estado. 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 del control es determinar las entradas del sistema x(t) que logran un estado o resultado deseable para el sistema en general.

Para ampliar nuestro ejemplo del ecosistema insular, agregaremos una única variable de entrada: un lanzamiento aéreo de alimento para peces x (medido en toneladas) en el momento 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 dos variables de estado y una variable de entrada, las capturaremos en una matriz de entrada de 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 tiempo t utilizando la ecuación de estado 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 sean funciones de las variables estatales, para añadir entradas x(t) al ecosistema cada vez que la población de peces se reduce, con el fin de estabilizar el ecosistema.

La ecuación de salida

Como se mencionó anteriormente, el propósito de la ecuación de estado 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 utilizando la ecuación de output (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 estado. 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 literalmente todos y cada uno de los peces y aves de una isla. En cambio, un estudio ecológico podría utilizar drones aéreos y cámaras submarinas para encuestar 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 estado internas y la salida, y. La salida propiamente dicha se representa como un vector cuyos elementos corresponden a los valores observados para cada una de las variables de salida. En nuestro ecosistema, añadamos cuatro variables de salida: dos cámaras submarinas para observar la población de peces y dos 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 forma fiable alrededor del 20 % de la verdadera población de peces F (y ninguno 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 alrededor del 25 % de la verdadera población de pelícanos P, pero vuela demasiado alto para ver peces.
  • El dron 2 es un dron antiguo. Solo puede detectar alrededor del 10 % de la población de pelícanos.

Podemos representar estas variables de salida en una matriz C p x n, 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 salida con  F y la columna derecha corresponde a su relación con  P .

Camera1Camera2Drone1Drone2[.20.0500.250.10]

Correlación de las salidas con el estado del sistema

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

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

En teoría, esto nos permitiría derivar el estado real h 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 conoce, y las propias mediciones de salida suelen ser imperfectas y estar sujetas a variaciones ruidosas. Por ejemplo, no es realista suponer que el dron 1 detectará exactamente el 25 % de los pelícanos de 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, utilizando 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 en los diagramas y debates sobre los SSM porque, en esencia, elude por completo el "modelo" real, al no tener relación directa con el propio Estado.

Por ejemplo, en nuestro ecosistema, imagine que las corrientes de las masas de agua de la isla hacen que la comida para peces lanzada desde el aire tienda a depositarse 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 capturando un porcentaje menor de F de lo habitual) cada vez que se aumentan las entradas del sistema. La matriz D p x m explicaría ese efecto en cada una de las variables de salida.    

En algunos casos, no existe una conexión tan directa entre la entrada y la salida y D se elimina por completo 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, consiga la guía que le ayudará a pasar a la acción.

SSM y machine learning

El uso del filtro de Kalman para asignar las salidas del sistema al estado real del sistema requiere que se conozcan de antemano los parámetros A y B. Pero en muchos casos, la dinámica del sistema de espacio de estados (los parámetros A, B y C) son inicialmente desconocidas. Se deben determinar los parámetros correctos para utilizar el marco 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 conocidas y las correspondientes salidas conocidas, utilizando las dos 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 output se escala proporcionalmente con la entrada, los algoritmos de maximización de expectativas o los métodos subespaciales como N4SID pueden estimar eficazmente los parámetros del modelo.

SSM y deep learning

En los últimos años, el deep learning se ha convertido en un medio cada vez más común para aprender los parámetros del SSM. Estos enfoques representan las matrices A, B y C como los pesos de las redes neuronales. En un proceso iterativo:

  • Al modelo se le proporcionan entradas de datos de entrenamiento y se le encomienda la tarea de predecir las salidas del sistema.
  • Las salidas predichas se miden con respecto a las salidas reales “verdad sobre el terreno” para esa entrada, utilizando una función de pérdida.
  • La retropropagación se utiliza 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 SSM hasta que las predicciones del modelo alcanzan un umbral aceptable de precisión.

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

A diferencia de un SSM convencional, un SSM basado en redes neuronales no es interpretable: los valores de sus matrices ya no corresponden a las relaciones entre las variables de estado y otros parámetros del modelo de forma intuitiva, como en nuestro ejemplo anterior. Este no es un defecto exclusivo de los SSM profundos, sino más bien una cualidad universal para los modelos de deep learning en general.

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 deep learning (como el texto, las estructuras moleculares, los comportamientos de los usuarios o los 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 a son similares a cambios en cualidades como la resolución de los datos (para los datos de series temporales) o la velocidad de fotogramas (para los datos de vídeo). Los métodos de discretización comunes incluyen el método bilineal, el método de Euler y el método simple de retenedor 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 red neuronal recurrente (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 es también lo que llevó al desarrollo de arquitecturas modernas basadas en SSM como Mamba.

Los parámetros y ecuaciones de los SSM discretizados generalmente se reescriben para distinguirlos de sus equivalentes de tiempo continuo, utilizando la notación de subíndice que se emplea típicamente 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 altera 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 (utilizando la ecuación de estado), lo que permite que el estado actualizado informe la ecuación de output 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.

La primera se abordó mediante una estrategia única para inicializar los parámetros de un SSM antes del entrenamiento. Esto último se abordó mediante el descubrimiento de una conexión importante entre los SSM y las redes neuronales convolucionales (CNN).

Inicialización HiPPO

Al igual que las RNN estándar, los SSM discretos convencionales son intrínsecamente débiles a la hora de modelar dependencias a larga distancia. En otras palabras, no se les da bien entender la relación entre pasos de una secuencia que están muy separados, como las palabras al principio y al final de un párrafo, lo que hace que no se les dé bien modelar secuencias largas (como datos de texto) en general.

Para resolver esto, Gu et al propusieron el uso de una técnica llamada HiPPO (abreviatura de High-order Polynomial Projection Operators) para definir el comportamiento de 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 varios órdenes, en las que cada polinomio es matemáticamente independiente de los demás, lo que garantiza que no haya superposiciones redundantes ni dependencias informativas 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 estas 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 capturan detalles amplios y de baja frecuencia (a largo plazo) y las entradas más recientes se aproximan mediante polinomios de orden superior que capturan detalles detallados y de alta frecuencia (a corto plazo). Dado que los polinomios elegidos son ortogonales, no se repite ninguna información. Básicamente, 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 de 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 %", resolviendo eficazmente el problema de memoria a largo plazo de los SSM. 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 básicos de HiPPO.

Conexión entre 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.

Por suerte, los SSM discretizados tienen una propiedad importante que las distingue de otras RNN: modelan exclusivamente dependencias lineales. En otras palabras, solo utilizan operaciones simples y sencillas de multiplicación y suma. Como demuestra el documento S4, estas recurrencias lineales simples, repetidas e interdependientes pueden desenrollarse en un kernel de convolución unidimensional, que mapea directamente la entrada x a la salida y en un solo paso. Esto puede calcularse de forma muy eficiente utilizando la transformada rápida de Fourier.

El único "problema" es que esto solo es posible cuando se conoce cada paso de toda la secuencia de entrada. Esto no ocurre durante la inferencia: el objetivo de la inferencia es utilizar el modelo para predecir iterativamente el siguiente paso de una secuencia, ya que se desconoce. Pero durante el entrenamiento, cuando el modelo se alimenta con 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 disfrute 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 estado selectivo. En tareas como el modelado autorregresivo del lenguaje, 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 supone una desventaja importante para la mayoría de las tareas avanzadas de modelado lingüístico. El modelo de espacio de estado selectivo proporciona a Mamba una capacidad crucial que antes solo ofrecía el mecanismo de autoatención de la arquitectura del transformador: la capacidad de centrarse selectivamente o ignorar partes específicas del historial de entrada pasado en función de su relevancia actual.

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, dado que los SSM selectivos no son lineales e 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 consciente del 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 artículo 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 líder en IA del sector de IBM y junto a su cartera de soluciones.

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

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

Explore los servicios de IA
Dé el siguiente paso

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

Descubra watsonx.ai Explore los modelos de IA de IBM Granite
Notas a 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 ecologic time series". Econological Society of America. 14 de junio de 2021.