O que é um modelo de espaço de estado?

O que é um modelo de espaço de estado (SSM)?

Modelos de espaço de estado (SSMs) são uma classe de algoritmos de aprendizado de máquina utilizados para fazer previsões sobre sistemas dinâmicos, modelando como seu estado interno evolui com o passar do tempo por meio de equações diferenciais. Historicamente utilizados em engenharia de sistemas de controle, os SSMs são uma plataforma matemática notavelmente flexível adaptável à maioria das tarefas de modelagem de sequências. O Mamba, uma arquitetura de rede neural baseada em SSM, concorre com transformadores no desempenho de modelagem de linguagem.

Os modelos de espaço de estado têm suas origens na engenharia de sistemas de controle, onde desempenharam um papel fundamental nos cálculos de navegação para o programa Apollo na década de 1960.1 Os SSMs também são utilizados de forma proeminente na engenharia elétrica, onde são fundamentais para o processamento de sinais, teoria de controle e robótica. Mas talvez a qualidade mais importante dos SSMs seja sua versatilidade, especialmente para sistemas de múltiplas entradas e saídas.

A base dos SSMs são duas equações simples: uma descreve a dinâmica interna de um sistema não diretamente observável e a outra descreve como essa dinâmica interna se relaciona com os resultados observáveis. Essa formulação simples e flexível é extremamente adaptável para uma grande variedade de dados de séries temporais multivariadas.

Na economia, os SSMs podem modelar como as tendências e a sazonalidade afetam os preços das ações. Na neurociência, podem mapear relações entre sinais cerebrais mensuráveis (como fMRIs) e a atividade neural subjacente. Na ecologia, os SSMs podem ajudar a modelar a dinâmica da população, o movimento dos animais e os dados de captura e recaptura.2 Os SSMs também são utilizados em forecasting e em outros tipos de análise de séries temporais.

Nos últimos anos, a pesquisa sobre modelos de espaço de estado tem se concentrado em seus usos em deep learning, integrando redes neurais como parâmetros das equações SSM. Mais recentemente e de forma notável, isso resultou na arquitetura de modelo Mamba para grandes modelos de linguagem (LLMs), que provou corresponder à capacidade de desempenho de modelos baseados em transformadores oferecendo velocidade e eficiência superiores.

O que é um espaço de estado?

As condições de um sistema em um determinado momento são determinadas pelos valores específicos de qualquer número de variáveis do sistema. O objetivo de modelar efetivamente o espaço de estado é identificar o menor subconjunto de variáveis do sistema necessárias para descrever completamente o sistema. Esse subconjunto de variáveis do sistema é chamado de variáveis de estado. O espaço de estado é o espaço n-dimensional cujos eixos (dimensões) são as variáveis de estado, contendo todos os valores possíveis para cada uma dessas n variáveis de estado.

Cada uma dessas variáveis de estado deve ser linearmente independente: em outras palavras, nenhuma variável de estado pode constituir uma combinação (por adição ou subtração) de qualquer outra variável de estado.

O estado específico do sistema em qualquer momento pode ser expresso como um vetor de estado, no qual cada elemento do vetor representa o valor de sua variável de estado correspondente. O vetor de estado tem o mesmo número de dimensões que o próprio espaço de estado. Um determinado vetor de estado pode ser entendido como um conjunto de "coordenadas" específicas no espaço de estado.

Exemplos intuitivos de espaço de estado

Imagine um carro de brinquedo se movendo sobre uma trilha reta com velocidade constante. O espaço de estado pode ser modelado com duas variáveis de estado: a posição do carro (medida em distância a partir da linha de partida) e sua velocidade. O estado do sistema em qualquer momento t pode, portanto, ser expresso como um vetor de estado bidimensional [posiçãot, velocidadet]. Nesse sistema simples, se você souber a posição e a velocidade precisas do carro em um determinado momento (seu estado atual) poderá prever onde ele estará no próximo momento.

A própria velocidade combina duas variáveis de sistema: velocidade e direção. Como o carro está se movendo sobre um caminho direto, é possível representar o movimento para trás como velocidade negativa e o movimento para frente como velocidade positiva. Mas é possível, embora ineficiente, substituir a única variável de estado de velocidade pelas duas variáveis de estado de velocidade e direção.

Se o carrinho de brinquedo estivesse se movendo por um campo aberto em vez de uma pista reta, o espaço de estados agora seria quadridimensional, porque a posição do carro e seu movimento exigem pelo menos duas dimensões para serem totalmente descritos.

Na prática, as "dimensões" de um espaço de estado raramente correspondem às dimensões familiares e fáceis de visualizar do mundo físico. Por exemplo, considere um tabuleiro de jogo da velha. Poderíamos tratar cada um de seus nove quadrados individuais como uma variável de estado — cujo valor poderia ser “0” para espaço em branco, “1” para X e “2” para O — em um espaço de estado de 9 dimensões. Qualquer configuração do quadro pode ser expressa em forma de espaço de estado como um vetor de estado de nove dimensões.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Como funcionam os modelos de espaço de estado?

Os modelos de espaço de estado visam prever como as entradas em um sistema são refletidas em suas saídas e como o estado do próprio sistema evolui ao longo do tempo e em resposta a entradas específicas.

A cada instante t, um SSM recebe uma sequência de entrada x(t) e a mapeia tanto para o estado atual h(t) quanto para uma sequência de saída y(t). O estado h(t) frequentemente é chamado de estado latente porque, diferentemente da saída do sistema, não é diretamente observável, ou seja, é latente (oculto).

A representação no espaço de estado de um sistema é calculada utilizando-se duas equações diferenciais de primeira ordem:

A equação de estado, h(t)=A*h(t)+B*x(t) 
A equação de saída,
y(t)=C*h(t)+D*x(t)


Os principais parâmetros de um MUS são A, B, C e D, que normalmente assumem a forma de matrizes. Cada elemento de cada matriz representa a relação — expressa como uma derivada de primeira ordem— de uma variável de estado com relação a alguma outra variável (como uma variável de entrada externa, outra variável de estado ou ela mesma). O uso de matrizes torna os métodos de espaço de estados uma ferramenta poderosa e escalável para representar sistemas complexos de múltiplas entradas e várias saídas (MIMO) em um formato compacto e padronizado.

Na teoria do controle e disciplinas relacionadas, essas matrizes costumam ser definidas diretamente: representam a dinâmica de um sistema estabelecido e o SSM é utilizado para encontrar as entradas x que levam às saídas desejáveis y ou ao estado ideal h. Em concepções mais modernas de SSMs, essas matrizes são parâmetros a serem otimizados por meio de aprendizado de máquina para refletir melhor os padrões em um conjunto de dados de treinamento. Em modelos de deep learning, essa "parametrização" é representada pelos pesos de uma rede neural que podem ser aprendidos.

A equação do espaço de estados

A equação do espaço de estado (ou simplesmente equação de estado), como o próprio nome sugere, descreve o estado do sistema mediado pela matriz A e pela matriz B. Nessa notação, h(0) pode ser entendido como o estado inicial do sistema, h(t) é o estado latente no tempo t, e h'(t)—a equação diferencial de primeira ordem para h(t)—é a maneira como o estado está mudando no tempo t.

Diagrama da equação de espaço de estado de um SSM A equação de estado. Ilustração derivada de "A Visual Guide to Mamba and State Space Models" de Maarten Grootendorst.

Para contextualizar as noções abstratas de equações diferenciais e matrizes, podemos explorá-las por meio das lentes de um exemplo simplificado e intuitivo de um sistema dinâmico no qual os parâmetros A, B, C e D já são conhecidos.

Para nosso exemplo, imagine um pequeno ecossistema em uma ilha isolada que abriga uma população de peixes e uma população de pelicanos que se alimentam desses peixes. Podemos representar esse sistema utilizando duas variáveis de estado: F (o número de peixes) e P  (o número de pelicanos). Nosso objetivo é definir uma função h(t) que descreva como o estado h(t), expresso como vetor de estado [F(t),P(t)] , está mudando no tempo t.

A matriz A

A matriz A, também conhecida como matriz de transição, descreve como o ecossistema da ilha, conforme representado por essas duas variáveis de estado, evolui com o passar do tempo se for deixado por conta própria. Mais especificamente, descreve como o estado atual h influencia o estado futuro.

Vamos supor que a dinâmica das populações de peixes e pelicanos seja muito simples e constante:

  • Sem interferência, a população de peixes  F aumenta a uma taxa de 50%.
  • Sem interferência, a população de pelicanos  P cai 5%.
  • Cada pelicano comerá quatro peixes no mesmo período.
  • Para cada 10 peixes adicionais, o ecossistema pode suportar mais um pelicano.

Agora podemos expressar cada uma dessas dinâmicas com equações simples e representar essas equações em uma matriz de tamanho n x n, onde n  = o número de variáveis de estado. Cada coluna da nossa matriz A 2x2 representa uma variável de estado e cada linha representa sua taxa de mudança — sua derivada de primeira ordem — com relação a cada variável de estado. Foram adicionadas anotações em itálico para maior clareza.

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

Como as taxas de mudança populacional são constantes no nosso cenário simplificado, os elementos de nossa matriz A são constantes simples. Cenários do mundo real frequentemente envolvem mais variáveis de estado e relações mais matematicamente complexas entre elas — mas a maneira como essas relações são representadas na grade de sua matriz de transição correspondente A seria a mesma.

Supondo uma completa ausência de influências externas, h'(t)=A*h(t) é suficiente para descrever como o estado do ecossistema da ilha evolui ao longo do tempo.

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)]  

A solução dessa equação de forma analítica envolve o cálculo dos autovalores e dos autovetores da Matriz A, o que está fora do escopo deste artigo. Mas acontece que, sem interferência, esse ecossistema não é sustentável: as populações de peixes e pelicanos terão uma experiência de um ciclo inter-relacionado e cada vez mais extremo de expansão e recessão, culminando eventualmente em um colapso catastrófico.

A matriz B

E se houver também fatores externos influenciando o ecossistema? A matriz B, também chamada de matriz de input, informa a outra metade da equação de estado, descrevendo como um determinado input afeta cada variável de estado. É uma matriz de tamanho n x m, na qual n = o número de variáveis de estado e m = o número de variáveis de entrada externas. A essência da teoria do controle é determinar as entradas do sistema x(t) que alcançam um estado ou resultado desejável para o sistema geral.

Para melhorar nosso exemplo de ecossistema insular, adicionaremos uma única variável de entrada: um airdrop de ração para peixes x (medido em toneladas) no momento t. Suponha que cada tonelada de ração para peixes possibilite um aumento adicional de 30% na população de peixes e não tenha efeito sobre a população de pelicanos.

Como temos duas variáveis de estado e uma variável de entrada, vamos capturá-las em uma matriz de entrada 2x1. A linha superior da matriz B representará F para corresponder à matriz A.

 ChangetoFChangetoP   [0.30]

Agora podemos modelar o estado do ecossistema insular no momento t utilizando a equação 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)

Nesse caso, o objetivo seria identificar as regras ideais — normalmente representadas por outra matriz cujos elementos são funções das variáveis de estado — para adicionar entradas x(t) ao ecossistema sempre que a população de peixes estiver diminuindo, a fim de estabilizar o ecossistema.

A equação de saída

Conforme mencionado anteriormente, o objetivo da equação de estado é descrever o "estado oculto" h que não pode ser observado diretamente. Os SSMs assumem a existência de algum reflexo do estado verdadeiro que é diretamente observável, embora potencialmente ruidoso ou incompleto, e o modelam utilizando a equação de saída (também conhecida como equação de observação).

Diagrama da equação de saída do SSM Equação de saída. Equação de estado. Ilustração derivada do livro "A Visual Guide to Mamba and State Space Models" de Maarten Grootendorst.

O mesmo se aplica ao nosso exemplo simples de ecossistema: na realidade, é provavelmente impossível contar literalmente cada peixe e pássaro em uma ilha. Em vez disso, um estudo ecológico pode usar drones aéreos e câmeras subaquáticas para pesquisar de forma objetiva parte da população de peixes e pelicanos e, em seguida, fazer suposições sobre como essas medições se relacionam com o verdadeiro estado do ecossistema.

A matriz C

A matriz C (ou matriz de saída) determina a relação entre as variáveis de estado internas e a saída, y. A saída em si é representada como um vetor cujos elementos correspondem aos valores observados para cada uma das variáveis de saída. Em nosso exemplo de ecossistema, vamos adicionar quatro variáveis de saída: duas câmeras subaquáticas para observar a população de peixes e dois drones aéreos para observar a população de pelicanos.

  • A câmera 1 está em uma boa localização com águas claras. Ele pode registrar com segurança cerca de 20% da verdadeira população de peixes F (e nenhum dos pelicanos).
  • A câmera 2 está em águas turvas e só consegue ver cerca de 5% da população de peixes.
  • O Drone 1 é um drone novo e de alta qualidade. Consegue avistar cerca de 25% da verdadeira população de pelicanos P, mas voa alto demais para ver peixes.
  • O Drone 2 é um drone mais antigo. Consegue identificar apenas cerca de 10% da população de pelicanos.

Podemos representar essas variáveis de saída em uma matriz p x n C, na qual n = o número de variáveis de estado e p = o número de sinais de saída a serem medidos. Para alinhar com nossas matrizes anteriores, a coluna da esquerda corresponde à relação de cada variável de produção com  F e a coluna da direita corresponde à sua relação com  P .

Camera1Camera2Drone1Drone2[.20.0500.250.10]

Correlação de saídas com o estado do sistema

Agora podemos modelar as saídas do sistema y no tempo t como

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

Teoricamente, isso nos permitiria derivar o verdadeiro estado h das medições de saída y,referenciando as equações de estado e saída.

Na realidade, a relação exata entre as medições de saída e o estado real raramente é conhecida, e as medições de saída em si geralmente são imperfeitas e sujeitas a variações ruidosas. Por exemplo, não é realista supor que o Drone 1 algum dia aviste exatamente 25% dos pelicanos na ilha. O filtro de Kalman é uma técnica comumente utilizada para produzir a estimativa do estado real com a máxima verossimilhança, utilizando saídas ruidosas do sistema.

A matriz D

A matriz D descreve como a entrada influencia diretamente a saída do sistema observado. Frequentemente é omitido dos diagramas e das discussões de SSMs porque, em essência, ignora completamente o "modelo" real, não tendo relação direta com o próprio estado.

Por exemplo, no nosso exemplo de ecossistema, imagine que as correntes dos corpos d'água da ilha resultam em alimento de peixe levado pelo ar tendendo a se acomodar perto da câmera 2. Isso pode resultar na câmera 2 registrando uma porcentagem maior da população real de peixes do que o normal (e na câmera 1 capturando uma porcentagem menor de F do que o normal) sempre que as inputs do sistema aumentam. A matriz p x m D levaria em conta esse efeito em cada uma das variáveis de saída.    

Em alguns casos, não existe uma conexão direta entre input e produção e D é completamente eliminado do modelo.

AI Academy

Escolha o modelo de IA certo para seu caso de uso

Tamanho nem sempre é documento quando falamos de modelos de IA. Aprenda a encontrar a solução correta para suas necessidades de negócios. E, em seguida, use o guia como um auxílio para entrar em ação.

SSMs e aprendizado de máquina

A utilização do filtro de Kalman para mapear as saídas do sistema para o estado verdadeiro do sistema exige que os parâmetros A e B sejam conhecidos de antemão. Mas em muitos casos a dinâmica do sistema de espaço de estados – os parâmetros A, B e C – é inicialmente desconhecida. Os parâmetros corretos devem ser determinados para usar o framework SSM para fazer previsões significativas sobre o sistema.

Vários algoritmos de aprendizado de máquina podem ser utilizados para derivar os valores de A, B e C das entradas conhecidas e das saídas conhecidas correspondentes, utilizando as duas equações inter-relacionadas que descrevem suas interações. Se o modelo for invariante linear no tempo (LTI), se sua dinâmica for consistente ao longo do tempo e sua saída for dimensionada proporcionalmente à entrada,algoritmos de maximização de expectativas ou métodos de subespaço, como o N4SID, poderão estimar com eficiência os parâmetros do modelo.

SSMs e deep learning

Nos últimos anos, o deep learning surgiu como um meio cada vez mais comum de aprender parâmetros SSM. Tais abordagens representam as matrizes A, B e C como os pesos de uma rede neural. Em um processo iterativo:

  • O modelo recebe inputs de dados de treinamento e é encarregado de prever as produções do sistema.
  • As saídas previstas são medidas em relação às saídas reais da "verdade do solo" para essa entrada, utilizando uma função de perda.
  • A retropropagação é utilizada para determinar como cada parâmetro do modelo, ou seja, cada elemento das matrizes A, B e C, contribuiu para o erro medido.
  • É utilizado gradiente descendente para otimizar os parâmetros do modelo de uma forma que diminua a perda (imprecisão).
  • O processo é repetido, atualizando as matrizes SSM até que as previsões do modelo atinjam um limite aceitável de precisão.

Usando esse processo de aprendizagem supervisionada (ou aprendizagem autossupervisionada), o modelo aprende implicitamente a dinâmica do sistema de espaço de estado. Embora esse seja um meio robusto e versátil de aprender os parâmetros SSM ideais, exige uma grande quantidade de dados de treinamento.

Diferentemente de um SSM convencional, um SSM baseado em Neural Networks não é interpretável: os valores de suas matrizes não correspondem mais às relações entre variáveis de estado e outros parâmetros do modelo de forma intuitiva, como em nosso exemplo anterior. Não se trata de uma falha exclusiva dos SSMs profundos, mas sim uma qualidade universal dos modelos de deep learning em geral.

Modelos de espaço de estados discretos

Os SSMs tradicionais são modelos de tempo contínuo projetados para modelar sequências contínuas, como um sinal elétrico ou a trajetória de um objeto em movimento. Mas muitas modalidades de dados processadas por modelos modernos de deep learning – como texto, estruturas moleculares, comportamentos do usuário ou dados de séries temporais – são tipicamente sequências discretas . O uso de SSMs para modelar uma sequência discreta exige um meio de representar seus intervalos de tempo distintos e específicos como parte de um sinal contínuo.

Conceitualmente, a discretização equivale a "instantâneos" de amostragem do valor de uma função contínua em momentos específicos. Isso implica a introdução de um novo parâmetro - o tamanho da etapa, - que determina por quanto tempo esse instantâneo "foi mantido" em cada etapa discreta de tempo t. Os ajustes no são semelhantes a alterações em qualidades como a resolução dos dados (para dados de séries temporais) ou a taxa de quadros (para dados de vídeo). Os métodos comuns de discretização incluem o método bilinear, o método de Euler e o método simples de retenção de ordem zero (ZOH) utilizado por muitas variantes modernas do SSM (inclusive pelo Mamba).

Conexão entre SSMs e RNNs

Enquanto um SSM de tempo contínuo associa uma função x(t) a uma função y(t), um SSM de tempo discreto é um modelo de sequência para sequência. Matematicamente falando, um SSM discretizado é o equivalente a uma rede neural recorrente (RNN), na qual o estado latente do sistema é o equivalente ao “estado oculto” de uma rede neural recorrente (RNN).

Embora haja variação nas letras específicas utilizadas para indicar a entrada e o estado nas equações SSM, em alguns casos a primeira é expressa como u e a segunda como x,essa conexão com as RNNs é o que motiva o uso de h para denotar o estado em maioria dos contextos de aprendizado de máquina. A relação com as RNNs também foi o que levou ao desenvolvimento de arquiteturas modernas baseadas em SSM, como o Mamba.

Geralmente, os parâmetros e equações de SSMs discretizados são reescritos para distingui-los de seus equivalentes de tempo contínuo, utilizando a notação subscrita tipicamente empregada com RNNs. Nesta notação, ht representa o espaço de estado atualizado que o modelo gerará e ht-1 representa o estado anterior a ele, ou seja, o espaço de estado atual. A notação de A, B e C também é alterada para refletir suas formas discretizadas.

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


Nessa formulação discreta, o estado do sistema é atualizado após cada intervalo de tempo t (usando a equação de estado), o que então permite que o estado atualizado informe a equação de saída no intervalo de tempo seguinte.

Modelos estruturados de espaço de estados

Apesar de suas muitas vantagens, os SSMs discretos padrão têm algumas das mesmas deficiências importantes das RNNs. Duas das deficiências mais importantes foram abordadas pela introdução de modelos de sequência de espaço de estado estruturado (ou "modelos S4") por Albert Gu et al em 2021: sua incapacidade de lidar com sequências longas e sua ineficiência inerente durante o treinamento do modelo.

O primeiro foi abordado por meio de uma estratégia exclusiva para a inicialização dos parâmetros de um SSM antes do treinamento. Esse último foi abordado por meio da descoberta de uma importante conexão entre SSMs e redes neurais (CNNs).

Inicialização HiPPO

Assim como os RNNs padrão, os SSMs discretos convencionais são inerentemente fracos na modelagem de dependências de longa distância. Em outras palavras, não são bons na compreensão da relação entre as etapas de uma sequência que estão distantes, como palavras no início e no fim de um parágrafo, o que os torna fracos na modelagem de sequências longas (como dados de texto).

Para resolver isso, Gu et al propuseram o uso de uma técnica chamada HiPPO (abreviação de High-order Polynomial Projection Operators, ou Operadores de Projeção Polinomial de Alta Ordem) para definir a forma como as matrizes A e B se comportam.

As funções polinomiais combinam um ou mais termos. Cada termo compreende um coeficiente e uma função base de alguma variável. Por exemplo, 3x2 é um termo cujo coeficiente é 3 e cuja base é x2. A “ordem” de um polinômio é determinada pela maior potência de qualquer base que ele contenha: 3x2+5x é um “polinômio de segunda ordem”. Quanto maior a ordem de um polinômio, mais detalhes intrincados podem ser capturados em suas curvas.

As funções polinomiais ortogonais são “famílias” especiais de polinômios, abrangendo várias ordens, nas quais cada polinômio é matematicamente independente dos outros, garantindo que não haja sobreposição redundante ou dependências informacionais entre eles. São também muito robustos com pequenos erros de arredondamento, o que os torna úteis para aproximar funções mais complexas. As próprias famílias de polinômios ortogonais são geradas por uma regra chamada fórmula de recorrência de três termos. O método HiPPO utiliza essas fórmulas de recorrência para construir as matrizes A e B.

Em resumo, toda vez que o estado ht é alterado pela equação de estado A¯ht-1+B¯xt , os elementos do vetor de estado ht atuam como coeficientes de expressões polinomiais que aproximam a entrada original. Entradas mais antigas são aproximadas por meio de polinômios de ordem inferior que capturam detalhes amplos e de baixa frequência (longo prazo), e inputs mais recentes são aproximadas por meio de polinômios de ordem superior que capturam detalhes finos e de alta frequência (curto prazo). Como os polinômios escolhidos são ortogonais, nenhuma informação é repetida. Em essência, essa estrutura força o espaço de estado a “memorizar” todo o histórico de entrada, “comprimindo-o” eficientemente em um vetor de coeficientes de tamanho fixo.

O artigo S4 observa que a "simples modificação de um SSM de uma matriz aleatória A para [a Matriz HiPPO] melhorou seu desempenho no benchmark sequencial MNIST de 60% para 98%", resolvendo efetivamente o problema de memória de longo prazo dos SSMs. Variações posteriores de SSMs estruturados, como DSS, S5 e Mamba, utilizam esquemas de inicialização diferentes (geralmente mais simples) para A e B, mas mantêm os principais princípios do HiPPO.

Conexão entre SSMs e CNNs

Como os RNNs convencionais, seus equivalentes SSM discretos são extremamente rápidos na inferência autorregressiva. A desvantagem dessa equivalência é que os RNNs são extremamente lentos para treinar.

Felizmente, os SSMs discretizados têm uma propriedade importante que os distingue de outras RNNs: modelam exclusivamente dependências lineares. Em outras palavras, utilizam somente operações de multiplicação e adição simples e diretas. Como o artigo sobre S4 demonstra, essas recorrências lineares simples, repetidas e interdependentes podem ser aplicadas em um kernel de convolução unidimensional, que vincula diretamente a entrada x à saída y em uma única etapa:. Isso pode ser calculado de forma muito eficiente utilizando a transformada rápida de Fourier.

O único problema é que isso só é possível quando cada etapa de toda a sequência de entrada é conhecida. Esse não é o caso durante a inferência: o objetivo da inferência é usar o modelo para prever iterativamente as próximas etapas em uma sequência, porque elas são desconhecidas. Mas durante o treinamento, quando o modelo está sendo alimentado com sequências de amostra e otimizado para melhorar a precisão de suas previsões, toda a sequência é conhecida.

Isso permite que um SSM estruturado aproveite o melhor de dois mundos: durante o treinamento ele pode ser operado de forma muito eficiente como um CNN; durante a inferência, pode ser operado de forma muito eficiente como uma RNN.

Modelos Mamba

Mamba é uma arquitetura de rede neural construída sobre uma variante especial de SSMs estruturados: o modelo de espaço de estado seletivo. Em tarefas como modelagem de linguagem autorregressiva, os modelos Mamba provaram igualar ou exceder o desempenho dos modelos transformadores na maioria dos benchmarks acadêmicos, sendo consideravelmente mais rápidos e mais eficientes em termos de memória tanto na inferência quanto no treinamento.

Os SSMs comuns são explicitamente projetados para vincular a entrada com a saída utilizando todo o histórico de entrada. Isso é aceitável ou até desejável para algumas tarefas de modelagem de sequência, mas é uma desvantagem considerável para a maioria das tarefas avançadas de modelagem de linguagem. O modelo de espaço de estado seletivo disponibiliza ao Mamba um recurso crucial anteriormente oferecido somente pelo mecanismo de autoatenção da arquitetura de transformação: a capacidade de focar seletivamente ou ignorar partes específicas do histórico de entrada passado com base em sua relevância atual.

Em projetos anteriores de SSM, os parâmetros A, B, C, D e ∆ são fixos: uma vez otimizados por meio do treinamento de modelo, são os mesmos para todos os inputs. Em um SSM seletivo, os parâmetros do SSM são dependentes da entrada: são gerados multiplicando-se ("projetando") o vetor de entrada por uma camada de pesos do modelo otimizada no treinamento.

No entanto, como os SSMs seletivos não são lineares e invariantes no tempo (LTI), não podem operar como uma CNN durante o treinamento. Os autores do Mamba abordaram essa troca com uma varredura paralela com reconhecimento de hardware, um algoritmo que otimiza a maneira como uma unidade de processamento gráfico (GPU) lida com os cálculos do modelo em sua hierarquia de memória para maximizar a velocidade e a eficiência computacional.

Diagrama de um modelo de espaço de estados seletivo A alocação seletiva de SSM e RAM em uma GPU. Retirado do artigo original, "Mamba: Linear Time-Sequence Modeling with Selective State Spaces"
Soluções relacionadas
Modelos de base

Explore a biblioteca de modelos de base da IBM no portfólio do watsonx para escalar a IA generativa em sua empresa com confiança.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Explore a biblioteca da IBM de modelos de base no portfólio do IBM® watsonx para escalar a IA generativa para os seus negócios com confiança.

Conheça o watsonx.ai Conheça os modelos de IA do IBM® Granite
Notas de rodapé

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 junho de 2021