Was ist ein Zustandsraummodell?

Was ist ein Zustandsraummodell (SSM)?

Zustandsraummodelle (SSMs) sind eine Klasse von Algorithmen für maschinelles Lernen, die verwendet werden, um Vorhersagen über dynamische Systeme zu treffen, indem sie anhand von Differentialgleichungen modellieren, wie sich ihr interner Zustand im Laufe der Zeit entwickelt. SSMs, die in der Vergangenheit im Bereich des Systems-Engineering eingesetzt wurden, sind eine bemerkenswert flexible mathematische Plattform, die sich an die meisten Aufgaben der Sequenzmodellierung anpassen lässt. Mamba, eine SSM-basierte neuronale Netzarchitektur, konkurriert bei der Sprachmodellierungsleistung mit Transformern.

Zustandsraummodelle haben ihren Ursprung im Systems-Engineering, wo sie in den 1960er Jahren eine entscheidende Rolle bei Navigationsberechnungen für das Apollo-Programm spielten.1 SSMs werden auch in der Elektrotechnik eingesetzt, wo sie für die Signalverarbeitung, die Regelungstheorie und die Robotertechnik von grundlegender Bedeutung sind. Aber die vielleicht wichtigste Eigenschaft von SSMs ist ihre Vielseitigkeit, insbesondere für Systeme mit mehreren Eingängen und mehreren Ausgängen.

SSMs liegen zwei einfache Gleichungen zugrunde: Die eine beschreibt die interne Dynamik eines Systems, die nicht direkt beobachtbar ist, und die andere beschreibt, wie diese interne Dynamik mit den beobachtbaren Ergebnissen zusammenhängt. Diese einfache, flexible Formulierung kann an eine Vielzahl von multivariaten Zeitreihendaten angepasst werden.

Im Bereich der Wirtschaft können SSMs modellieren, wie sich Trends und Saisonalität auf die Aktienkurse auswirken. In den Neurowissenschaften können sie Beziehungen zwischen messbaren Gehirnsignalen (wie fMRIs) und der zugrunde liegenden neuronalen Aktivität abbilden. Im Bereich der Ökologie kann man anhand von SSMs die Populationsdynamik, die Bewegungen von Tieren und Capture-Recapture-Daten modellieren.2 SSMs werden ebenfalls bei Wettervorhersagen und anderen Arten von Zeitreihenanalysen genutzt.

In den letzten Jahren hat sich die Forschung an Zustandsraummodellen auf ihre Verwendung in Deep Learning konzentriert und neuronale Netze als Parameter von SSM-Gleichungen integriert. In jüngster Zeit und vor allem ist daraus die Mamba-Modellarchitektur für Large Language Models (LLMs) hervorgegangen, die nachweislich der Leistung von Transformer-Modellen entspricht und gleichzeitig eine überragende Geschwindigkeit und Effizienz bietet.

Was ist ein Zustandsraum?

Die Bedingungen eines Systems zu einem bestimmten Zeitpunkt werden durch die spezifischen Werte einer beliebigen Anzahl von Systemvariablen bestimmt. Das Ziel der effektiven Modellierung des Zustandsraums besteht darin, die kleinste Teilmenge der Systemvariablen zu identifizieren, die zur vollständigen Beschreibung des Systems erforderlich sind. Diese Teilmenge der Systemvariablen wird als Zustandsvariablen bezeichnet. Der Zustandsraum ist der n-dimensionale Raum, dessen Achsen (Dimensionen) die Zustandsvariablen sind, die alle möglichen Werte für jede dieser n Zustandsvariablen enthalten.

Jede dieser Zustandsvariablen sollte linear unabhängig sein: mit anderen Worten, keine Zustandsvariable kann eine Kombination (durch Addition oder Subtraktion) anderer Zustandsvariablen darstellen.

Der spezifische Zustand des Systems zu einem bestimmten Zeitpunkt kann als Zustandsvektor ausgedrückt werden, in dem jedes Element des Vektors den Wert der entsprechenden Zustandsvariablen darstellt. Der Zustandsvektor hat dieselbe Anzahl von Dimensionen wie der Zustandsraum selbst. Ein gegebener Zustandsvektor kann als ein Satz spezifischer „Koordinaten“ im Zustandsraum verstanden werden.

Intuitive Beispiele für den Zustandsraum

Stellen Sie sich ein Spielzeugauto vor, das mit konstanter Geschwindigkeit auf einer geraden Spur fährt. Der Zustandsraum kann mit zwei Zustandsvariablen modelliert werden: der Position des Autos (gemessen in Entfernung von der Startlinie) und seiner Geschwindigkeit. Der Zustand des Systems zu jedem Zeitpunkt t kann daher als 2-dimensionaler Zustandsvektor ausgedrückt werden [Positiont, Geschwindigkeitt]. Wenn man in diesem einfachen System die genaue Position und Geschwindigkeit des Autos in einem bestimmten Moment – seinen aktuellen Zustand – kennt, kann man vorhersagen, wo es sich im nächsten Moment befinden wird.

Die Geschwindigkeit selbst kombiniert 2 Systemvariablen: Geschwindigkeit und Richtung. Da sich das Auto auf einer geraden Strecke bewegt, ist es möglich, die Rückwärtsbewegung einfach als negative Geschwindigkeit und die Vorwärtsbewegung als positive Geschwindigkeit darzustellen. Es ist jedoch möglich, wenn auch ineffizient, die einzelne Zustandsvariable der Geschwindigkeit durch die 2 Zustandsvariablen Geschwindigkeit und Richtung zu ersetzen.

Würde sich das Spielzeugauto über ein offenes Feld statt über eine gerade Strecke bewegen, wäre der Zustandsraum nun 4-dimensional, denn die Position des Autos und seine Bewegung erfordern jeweils mindestens 2 Dimensionen, um vollständig beschrieben zu werden.

In der Praxis entsprechen die „Dimensionen“ eines Zustandsraums selten den bekannten, leicht zu visualisierenden Dimensionen der physischen Welt. Stellen Sie sich zum Beispiel ein Tic-Tac-Toe-Spiel vor. Wir könnten jedes seiner 9 einzelnen Quadrate als Zustandsvariable betrachten – deren Wert „0“ für Leer, „1“ für X und „2“ für O sein könnte – in einem 9-dimensionalen Zustandsraum. Jede Konfiguration des Spielbretts kann in Zustandsraumform als 9-dimensionaler Zustandsvektor ausgedrückt werden.

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Wie funktionieren Zustandsraummodelle?

Zustandsraummodelle zielen darauf ab, vorherzusagen, wie sich die Eingabe in ein System in seinen Ausgängen widerspiegeln und wie sich der Zustand des Systems selbst im Zeitverlauf und als Reaktion auf bestimmte Eingaben entwickelt.

Zu jedem Zeitpunkt t nimmt ein SSM eine Eingangsequenz x(t) und ordnet sie sowohl dem aktuellen Zustand h(t) als auch der Ausgangssequenz y(t) zu. Der Zustand h(t) wird oft als latenter Zustand bezeichnet, da er im Gegensatz zum Ausgang des Systems nicht direkt beobachtbar ist, sondern latent (verborgen) ist.

Die Zustandsraumdarstellung eines Systems wird mithilfe von 2 Differentialgleichungen erster Ordnung berechnet:

Die Zustandsgleichung h(t)=A*h(t)+B*x(t) 
Die Ausgangsgleichung
y(t)=C*h(t)+D*x(t)


Die Schlüsselparameter eines SSM sind A, B, C und D, die normalerweise in Form von Matrizes vorliegen. Jedes Element jeder Matrix stellt die Beziehung – ausgedrückt als Ableitung erster Ordnung– einer Zustandsvariablen in Bezug auf eine andere Variable (wie eine externe Eingangsvariable, eine andere Zustandsvariable oder sich selbst) dar. Die Verwendung von Matrizes macht Zustandsraummethoden zu einem leistungsstarken und skalierbaren Werkzeug zur Darstellung komplexer Multi-Eingang-, Multi-Ausgang-Systeme (Mimo) in einem kompakten und standardisierten Format.

In der Kontrolltheorie und verwandten Disziplinen werden diese Matrizes oft direkt definiert: Sie stellen die Dynamik eines etablierten Systems dar, und das SSM wird verwendet, um die Eingänge x zu finden, die zu den gewünschten Ausgängen y oder dem optimalen Zustand h führen. In moderneren Konzepten von SSMs sind diese Matrizes selbst Parameter, die durch maschinelles Lernen optimiert werden müssen, um die Muster in einem Trainingsdatensatz am besten widerzuspiegeln. In Deep-Learning-Modellen wird diese „Parametrisierung“ durch die erlernbaren Gewichte eines neuronalen Netzwerks dargestellt.

Die Zustandsraumgleichung

Die Zustandsraumgleichung (oder einfach Zustandsgleichung) beschreibt, wie der Name schon sagt, den Zustand des Systems, vermittelt durch die A-Matrix und die B-Matrix. In dieser Notation kann h(0) als Anfangszustand des Systems verstanden werden, h(t) ist der latente Zustand zum Zeitpunkt t und h'(t) – die Differentialgleichung erster Ordnung für h(t) – ist die Art und Weise, wie sich der Zustand zum Zeitpunkt t ändert.

Diagramm der Zustandsraumgleichung eines SSM Die Zustandsgleichung. Die Abbildung basiert auf Maarten Grootendorsts „A Visual Guide to Mamba and State Space Models“

Um die abstrakten Begriffe von Differenzialgleichungen und Matrizes zu kontextualisieren, können wir sie durch die Brille eines vereinfachten, intuitiven Beispiels eines dynamischen Systems erkunden, in dem die Parameter A, B, C und D bereits bekannt sind.

Stellen Sie sich für unser Beispiel ein kleines Ökosystem auf einer abgelegenen Insel vor, das eine Population von Fischen beherbergt sowie eine Population von Pelikanen, die diese Fische frisst. Wir können dieses System mit zwei Zustandsvariablen darstellen: F (die Anzahl der Fische) und P  (die Anzahl der Pelikane). Unser Ziel ist es, eine Funktion zu definieren h(t) die beschreibt, wie der Zustand h(t), ausgedrückt als Zustandsvektor [F(t),P(t)] , sich zum Zeitpunkt t ändert.

Die A-Matrix

Die A-Matrix, auch Übergangsmatrix genannt, beschreibt, wie sich das Ökosystem der Insel – dargestellt durch diese beiden Zustandsvariablen – im Laufe der Zeit weiterentwickelt, wenn man es sich selbst überlässt. Genauer gesagt, beschreibt sie, wie der aktuelle Zustand h den zukünftigen Zustand beeinflusst.

Nehmen wir an, dass die Dynamik der Fisch- und Pelikanpopulationen sehr einfach und konstant ist:

  • Der Fischbestand bleibt sich selbst überlassen  F steigt mit einer Rate von 50 %
  • Auf sich allein gestellt, sinkt die Pelikanpopulation  P um 5 %.
  • Jeder Pelikan frisst im gleichen Zeitraum 4 Fische.
  • Mit jeweils 10 zusätzlichen Fischen kann das Ökosystem einen weiteren Pelikan ernähren.

Wir können nun jede dieser Dynamiken durch einfache Gleichungen ausdrücken und diese Gleichungen in einer Matrix der Größe n x n darstellen, wobei n  = die Anzahl der Zustandsvariablen. Jede Spalte unserer 2x2 A-Matrix stellt eine Zustandsvariable dar und jede Zeile stellt ihre Änderungsrate – ihre Ableitung erster Ordnung – in Bezug auf jede Zustandsvariable dar. Zur besseren Übersicht wurden kursive Anmerkungen hinzugefügt.

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

Da die Raten der Entwicklung der Population in unserem vereinfachten Szenario konstant sind, sind die Elemente unserer A-Matrix einfache Konstanten. Reale Szenarien beinhalten oft mehr Zustandsvariablen und mathematisch komplexere Beziehungen zwischen ihnen – aber die Art und Weise, wie diese Beziehungen im Raster der entsprechenden Übergangsmatrix A dargestellt werden, wäre die gleiche.

Unter der Annahme, dass es keine äußeren Einflüsse gibt, reicht h' (t) =A*h (t) aus, um zu beschreiben, wie sich der Zustand des Ökosystems der Insel im Laufe der Zeit entwickelt.

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

Die analytische Lösung dieser Gleichung erfordert die Berechnung der Eigenwerte und Eigenvektoren von Matrix A, was den Rahmen dieses Artikels sprengen würde. Doch wie sich herausstellt, ist dieses Ökosystem nicht nachhaltig, wenn man es sich selbst überlässt: Die Fisch- und Pelikanpopulationen werden jeweils einen miteinander verbundenen und zunehmend extremen Zyklus von Aufstieg und Fall erleben, der schließlich in einem katastrophalen Zusammenbruch gipfelt.

Die B-Matrix

Was ist, wenn auch externe Faktoren das Ökosystem beeinflussen? Die B-Matrix, auch Eingangsmatrix genannt, gibt Aufschluss über die andere Hälfte der Zustandsgleichung und beschreibt, wie sich eine gegebene Eingabe auf jede Zustandsvariable auswirkt. Es ist eine Matrix der Größe n x m, in der n = die Anzahl der Zustandsvariablen und m = die Anzahl der externen Eingangsvariablen ist. Das Wesentliche der Regelungstheorie besteht darin, Eingänge x(t) zu bestimmen, die einen gewünschten Zustand oder ein gewünschtes Ergebnis für das Gesamtsystem erreichen.

Um unser Beispiel für ein Ökosystem zu vertiefen, fügen wir eine einzige Eingabe hinzu: einen Abwurf von Fischfutter x (gemessen in Tonnen) zum Zeitpunkt t. Es wird angenommen, dass jede aus der Luft abgeworfene Tonne Fischfutter einen weiteren Anstieg der Fischpopulation um 30 % ermöglicht und keinen Einfluss auf die Pelikanpopulation hat.

Da wir 2 Zustandsvariablen und 1 Eingangsvariable haben, werden wir sie in einer 2x1-Eingangsmatrix erfassen. Die oberste Zeile der B-Matrix steht für F, um der A-Matrix zu entsprechen.

 ChangetoFChangetoP   [0.30]

Wir können nun den Zustand des Insel-Ökosystems zum Zeitpunkt t mithilfe der vollständigen Zustandsgleichung modellieren:

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

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

In diesem Fall wäre das Ziel, die optimalen Regeln – typischerweise dargestellt durch eine weitere Matrix, deren Elemente Funktionen der Zustandsvariablen sind – für das Hinzufügen von Eingaben x(t) zum Ökosystem zu identifizieren, wenn die Fischpopulation zusammenbricht, um das Ökosystem zu stabilisieren.

Die Ausgangsgleichung

Wie bereits erwähnt, besteht der Zweck der Zustandsgleichung darin, den „verborgenen Zustand“ h zu beschreiben, der nicht direkt beobachtet werden kann. SSMs gehen von der Existenz einer direkt beobachtbaren Spiegelung des wahren Zustands aus der – wenn auch potenziell verrauscht oder unvollständig – beobachtbar ist und modellieren diesen mithilfe der Ausgangsgleichung (auch Beobachtungsgleichung genannt).

Diagramm der Ausgabegleichung von SSM Die Ausgangsgleichung. Die Zustandsgleichung. Die Illustration basiert auf Maarten Grootendorsts „A Visual Guide to Mamba and State Space Models“.

Das Gleiche gilt für unser einfaches Ökosystembeispiel: In Wirklichkeit ist es wahrscheinlich unmöglich, jeden einzelnen Fisch und Vogel auf einer Insel buchstäblich zu zählen. Stattdessen könnte eine ökologische Studie Luftdrohnen und Unterwasserkameras verwenden, um einen Teil der Fisch- und Pelikanpopulationen objektiv zu beobachten und dann Annahmen darüber zu treffen, wie diese Beobachtungen mit dem tatsächlichen Zustand des Ökosystems zusammenhängen.

Die C-Matrix

Die C-Matrix (oder Ausgangsmatrix) bestimmt die Beziehung zwischen den internen Zustandsvariablen und der Ausgabe, y. Der Ausgang selbst wird als Vektor dargestellt, dessen Elemente den beobachteten Werten für jede der Ausgangsvariablen entsprechen. In unserem Ökosystem-Beispiel fügen wir 4 Ausgangsvariablen hinzu: 2 Unterwasserkameras zur Beobachtung des Fischbestands und 2 Luftdrohnen zur Beobachtung der Pelikanpopulation.

  • Kamera 1 befindet sich in einer guten Lage mit klarem Wasser. Sie kann etwa 20 % der tatsächlichen Fischpopulation F (und keinen der Pelikane) zuverlässig erfassen.
  • Kamera 2 befindet sich in trübem Wasser und kann nur etwa 5 % der Fischpopulation erfassen.
  • Drone 1 ist eine neue, hochwertige Drohne. Sie kann etwa 25 % der echten Pelikanpopulation P entdecken, fliegt aber zu hoch, um Fische zu sehen.
  • Drohne 2 ist eine ältere Drohne. Sie kann nur etwa 10 % der Pelikanpopulation erfassen.

Wir können diese Ausgangsparameter in einer p x n Matrix C darstellen, in der n = die Anzahl der Zustandsvariablen und p = die Anzahl der zu messenden Ausgangssignale ist. Um sie an unseren vorherigen Matrizes anzupassen, entspricht die linke Spalte der Beziehung der einzelnen Ausgangsvariablen  F und die rechte Spalte entspricht ihrer Beziehung zu  P .

Camera1Camera2Drone1Drone2[.20.0500.250.10]

Korrelieren der Ausgaben mit dem Systemstatus

Wir können jetzt die Systemausgaben y zum Zeitpunkt t wie folgt modellieren

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

Theoretisch würde dies uns ermöglichen, den wahren Zustand h aus den Ausgangsmessungen y abzuleiten, indem wir die Zustands- und Ausgangsgleichungen heranziehen.

In Wirklichkeit ist die genaue Beziehung zwischen den Ausgaben und dem wahren Zustand selten bekannt, und die Ausgaben selbst sind oft unvollkommen und unterliegen starken Schwankungen. Zum Beispiel ist es unrealistisch anzunehmen, dass Drohne 1 jemals genau 25 % der Pelikane auf der Insel entdecken wird. Der Kalman-Filter ist eine Technik, die üblicherweise verwendet wird, um unter Verwendung von verrauschten System-Ausgaben eine Schätzung des wahren Zustands mit der maximalen Wahrscheinlichkeit zu erzeugen.

Die D-Matrix

Die D-Matrix beschreibt, wie die Eingabe den beobachteten Systemausgang direkt beeinflusst. Sie wird in Diagrammen und Diskussionen über SSM oft ausgelassen, weil sie das eigentliche „Modell“ im Grunde völlig umgeht und keine direkte Beziehung zum Staat selbst hat.

Stellen Sie sich in unserem Ökosystem-Beispiel beispielsweise vor, dass die Strömungen der Inselgewässer dazu führen, dass sich abgeworfenes Fischfutter dazu neigt, sich in der Nähe von Kamera 2 abzusetzen. Dies könnte dazu führen, dass Kamera 2 einen größeren Prozentsatz der wahren Fischpopulation aufzeichnet als üblich (und in Kamera 1 einen geringeren Prozentsatz von F als üblich erfasst), wann immer die Eingaben erhöht werden. Die p x m D-Matrix würde einen solchen Effekt auf jede der Ausgaben berücksichtigen.    

In einigen Fällen gibt es keine solche direkte Verbindung zwischen Eingabe und Ausgabe und D wird direkt aus dem Modell gestrichen.

AI Academy

Wählen Sie das richtige KI-Modell für Ihren Anwendungsfall

Größer ist nicht immer besser, wenn es um KI-Modelle geht. Erfahren Sie, wie Sie die richtige Lösung für Ihre Geschäftsanforderungen finden. Holen Sie sich anschließend den Leitfaden, der Ihnen hilft, aktiv zu werden.

SSMs und maschinelles Lernen

Die Verwendung des Kalman-Filters zur Zuordnung der Systemausgaben zum wahren Zustand des Systems erfordert, dass die Parameter A und B vorher bekannt sind. Doch in vielen Fällen ist die Dynamik des Zustandsraumsystems – die Parameter A, B und C – zunächst unbekannt. Die richtigen Parameter müssen bestimmt werden, damit das SSM-Framework genutzt werden kann, um aussagekräftige Vorhersagen über das System zu treffen.

Eine Reihe von Algorithmen für maschinelles Lernen kann verwendet werden, um die Werte von A, B und C aus den bekannten Eingaben und den entsprechenden bekannten Ausgaben abzuleiten, wobei die beiden miteinander verbundenen Gleichungen verwendet werden, die ihre Wechselwirkungen beschreiben. Wenn das Modell linear zeitinvariant (LTI) ist, seine Dynamik über die Zeit konsistent ist und seine Ausgabe proportional mit der Eingabe skaliert ist, können Algorithmen zur Erwartungsmaximierung oder Teilraummethoden wie N4SID die Modellparameter effizient schätzen.

SSMs und Deep Learning

In den letzten Jahren hat sich Deep Learning zu einem immer häufigeren Mittel zum Erlernen von SSM-Parametern entwickelt. Solche Ansätze stellen die Matrizes A, B und C als Gewichte eines neuronalen Netzes dar. In einem iterativen Prozess:

Durch diesen Prozess des überwachten Lernens (oder selbstüberwachten Lernens) lernt das Modell implizit die Dynamik des Zustandsraumsystems. Dies ist zwar ein robustes und vielseitiges Mittel zum Erlernen optimaler SSM-Parameter, erfordert jedoch eine große Menge an Trainingsdaten.

Im Gegensatz zu einem konventionellen SSM ist ein auf einem neuronalen Netz basierendes SSM nicht interpretierbar: Die Werte seiner Matrizes entsprechen nicht mehr auf intuitive Weise den Beziehungen zwischen den Zustandsvariablen und anderen Modellparametern, wie in unserem früheren Beispiel. Dies ist kein einzigartiger Fehler von Deep SSMs, sondern eine Qualität, die für Deep-Learning-Modelle im großen Maßstab universell einsetzbar ist.

Diskrete Zustandsraummodelle

Herkömmliche SSMs sind zeitstetige Modelle, die zur Modellierung kontinuierlicher Sequenzen entwickelt wurden, wie z. B. ein elektrisches Signal oder die Flugbahn eines bewegten Objekts. Viele Datenmodalitäten, die von modernen Deep-Learning-Modellen verarbeitet werden – wie Text, molekulare Strukturen, Nutzerverhalten oder Zeitreihendaten – sind jedoch in der Regel diskrete Sequenzen. Die Verwendung von SSMs zur Modellierung einer diskreten Sequenz erfordert ein Mittel, um ihre verschiedenen, spezifischen Zeitschritte als Teil eines kontinuierlichen Signals darzustellen.

Vom Konzept her läuft die Diskretisierung darauf hinaus, „Momentaufnahmen“ des Wertes einer kontinuierlichen Funktion zu bestimmten Zeitpunkten zu erfassen. Dies erfordert die Einführung eines neuen Parameters – der Schrittgröße, –, der bestimmt, wie lange diese Momentaufnahme in jedem diskreten Zeitschritt t „dauerte“. Anpassungen an ähneln Änderungen an Qualitäten wie der Auflösung der Daten (bei Zeitreihendaten) oder der Bildrate (bei Videodaten). Zu den gängigen Diskretisierungsmethoden gehören die bilineare Methode, das Owler-Verfahren und die einfache Zero Order Hold (ZOH)-Methode, die von vielen modernen SSM-Varianten (einschließlich Mamba) verwendet wird.

Verbindung zwischen SSMs und RNNs

Während ein zeitkontinuierliches SSM eine Funktion x(t) einer Funktion y(t) zuordnet, ist ein zeitdiskretes SSM ein Sequenz-zu-Sequenz-Modell. Mathematisch gesehen entspricht ein diskretisiertes SSM einem rekurrenten neuronalen Netzwerk (RNN), in dem der latente Zustand des Systems dem „versteckten Zustand“ eines RNN entspricht.

Obwohl es Unterschiede bei bestimmten Buchstaben gibt, die in SSM-Gleichungen zur Bezeichnung der Eingabe und des Zustands verwendet werden – in einigen Fällen wird ersteres als u und letzteres als x ausgedrückt – ist es diese Verbindung zu RNNs, die die Verwendung von h zur Bezeichnung des Zustands in den meisten Kontexten des maschinellen Lernens. Die Beziehung zu RNNs hat auch zur Entwicklung moderner SSM-basierter Architekturen wie Mamba geführt.

Die Parameter und Gleichungen diskreter SSMs werden in der Regel umgeschrieben, um sie von ihren zeitkontinuierlichen Äquivalenten zu unterscheiden, wobei die typischerweise für RNNs verwendete Indexnotation verwendet wird. In dieser Notation stellt ht den aktualisierten Zustandsraum dar, den das Modell generiert, und ht-1 stellt den Zustand davor dar, d. h. den aktuellen Zustandsraum. Die Schreibweise von A, B und C wurde ebenfalls geändert, um ihre diskretisierten Formen widerzuspiegeln.

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


In dieser diskreten Formulierung wird der Zustand des Systems nach jedem Zeitschritt t aktualisiert (unter Verwendung der Zustandsgleichung), wodurch der aktualisierte Zustand dann die Ausgangsgleichung im folgenden Zeitschritt beeinflussen kann.

Strukturierte Zustandsraummodelle

Trotz ihrer vielen Vorteile teilen standardmäßige diskrete SSMs einige wichtige Mängel mit RNNs. Zwei der wichtigsten Mängel wurden durch die Einführung von strukturierten Zustandsraumsequenzmodellen (oder „S4-Modellen“) durch Albert Gu et al.im Jahr 2021 behoben: ihre Unfähigkeit, lange Sequenzen zu verarbeiten, und ihre inhärente Ineffizienz beim Modelltraining.

Ersteres wurde durch eine einzigartige Strategie für die Initialisierung der Parameter eines SSM vor dem Training angegangen. Letzteres wurde durch die Entdeckung einer wichtigen Verbindung zwischen SSMs und Convolutional Neural Networks (CNNs) behoben.

HiPPO-Initialisierung

Wie Standard-RNNs sind herkömmliche diskrete SSMs von Natur aus schwach darin, Abhängigkeiten über große Entfernungen zu modellieren. Mit anderen Worten: Sie sind nicht gut darin, die Beziehung zwischen weit voneinander entfernten Schritten in einer Sequenz zu verstehen, z. B. Wörter am Anfang und am Ende eines Absatzes. Somit sind sie nicht gut darin, lange Sequenzen (z. B. Textdaten) insgesamt zu modellieren .

Um dieses Problem zu lösen, schlugen Gu et al. die Verwendung einer Technik namens HiPPO (kurz für High-order Polynomial Projection Operators) vor, um das Verhalten der A- und B-Matrizes zu definieren.

Polynomfunktionen kombinieren einen oder mehrere Begriffe. Jeder Term besteht aus einem Koeffizienten und einer Basisfunktion einer Variablen. Beispielsweise ist 3x2 ein Term, dessen Koeffizient 3 ist und dessen Basis x2 ist. Die „Ordnung“ eines Polynoms wird durch die höchste Potenz aller darin enthaltenen Basis bestimmt: 3x2 + 5x ist ein „Polynom zweiter Ordnung“. Je höher die Ordnung eines Polynoms ist, desto mehr komplizierte Details können in seinen Kurven erfasst werden.

Orthogonale Polynomfunktionen sind spezielle „Familien“ von Polynomen, die sich über mehrere Ordnungen erstrecken, in denen jedes Polynom mathematisch unabhängig von den anderen ist, sodass es keine redundanten Überschneidungen oder Informationsabhängigkeiten zwischen ihnen gibt. Sie sind auch sehr robust gegenüber kleineren Rundungsfehlern, was sie für die Approximation komplexerer Funktionen nützlich macht. Familien orthogonaler Polynome werden selbst durch eine Regel erzeugt, die als Drei-Term-Wiederholungsformel bezeichnet wird. Die HiPPO-Methode verwendet solche Wiederholungsformeln, um die A- und B-Matrizes zu erstellen.

Jedes Mal, wenn der Zustand ht durch die Zustandsgleichung A¯ht-1+B¯xt aktualisiert wird, fungieren die Elemente des Zustandsvektors ht als Koeffizienten von Polynomausdrücken, die sich der ursprünglichen Eingabe annähern. Ältere Eingaben werden durch Polynome niedrigerer Ordnung angenähert, die breite, niedrigfrequente (langfristige) Details erfassen, und neuere Eingaben werden durch Polynome höherer Ordnung angenähert, die feinkörnige hochfrequente (kurzfristige) Details erfassen. Da die gewählten Polynome orthogonal sind, wird keine Information wiederholt. Im Wesentlichen zwingt diese Struktur den Zustandsraum dazu, sich den gesamten Eingabeverlauf zu „merken“, indem sie ihn effizient in einen Vektor von Koeffizienten fester Größe „komprimiert“.

Im S4-Artikel wird darauf hingewiesen, dass „die einfache Modifizierung eines SSM von einer Zufallsmatrix A zu [der HiPPO-Matrix] seine Leistung beim sequenziellen MNIST-Benchmark von 60 % auf 98 % verbesserte“, wodurch das Problem mit dem „Langzeitgedächtnis“ von SSMs effektiv gelöst wird. Spätere Varianten strukturierter SSMs wie DSS, S5 und Mamba verwenden unterschiedliche (oft einfachere) Initialisierungsschemata für A und B, behalten aber die zentralen HiPPO-Prinzipien bei.

Verbindung zwischen SSM und CNNs

Wie herkömmliche RNNs sind ihre diskreten SSM-Äquivalente bei autoregressiver Inferenz extrem schnell. Der Nachteil dieser Äquivalenz ist, dass RNNs extrem langsam zu schulen sind.

Glücklicherweise haben diskretisierte SSMs eine wichtige Eigenschaft, die sie von anderen RNNs unterscheidet: Sie modellieren ausschließlich lineare Abhängigkeiten. Mit anderen Worten, sie verwenden nur einfache, unkomplizierte Multiplikations- und Additionsoperationen. Wie das S4-Paper zeigt, können diese einfachen, wiederholten und voneinander abhängigen linearen Wiederholungen in eine eindimensionale Faltungsmatrix umgewandelt werden, die die Eingabe x in einem einzigen Schritt direkt der Ausgabe y zuordnet: . Das kann mit der schnellen Fourier-Transformation sehr effizient berechnet werden.

Der einzige Haken ist, dass dies nur möglich ist, wenn jeder Schritt der gesamten Eingabesequenz bekannt ist. Das ist bei der Inferenz nicht der Fall: Der Punkt der Inferenz besteht darin, das Modell zu verwenden, um die Nächste Schritte in einer Sequenz iterativ vorherzusagen, weil sie unbekannt sind. Aber während des Trainings, wenn das Modell mit Beispielsequenzen gefüttert und optimiert wird, um die Genauigkeit seiner Vorhersagen zu verbessern, ist die gesamte Sequenz bekannt.

Dadurch kann eine strukturierte SSM das Beste aus beiden Welten nutzen: während des Trainings kann sie sehr effizient als CNN betrieben werden; während der Inferenz kann sie sehr effizient als RNN betrieben werden.

Mamba-Modelle

Mamba ist eine neuronale Netzarchitektur, die auf einer speziellen Variante strukturierter SSMs basiert: dem selektiven Zustandsraummodell. Bei Aufgaben wie der autoregressiven Sprachmodellierung haben Mamba-Modelle bewiesen, dass sie in den meisten akademischen Benchmarks die Leistung von Transformer-Modellen abgleichen oder übertreffen, während sie gleichzeitig bei beiden Inferenzen im Training deutlich schneller und speichereffizienter waren.

Gewöhnliche SSMs sind explizit so konzipiert, dass sie Eingabe zu Ausgabe unter Verwendung des gesamten Eingabeverlaufs zuordnen. Dies ist für einige Aufgaben der Sequenzmodellierung akzeptabel oder sogar wünschenswert, aber ein erhebliches Handicap für die meisten fortgeschrittenen Aufgaben der Sprachmodellierung. Das selektive Zustandsraummodell bietet Mamba eine entscheidende Fähigkeit, die bisher nur der Aufmerksamkeitsmechanismus der Transformer-Architektur bietet: die Fähigkeit, sich selektiv auf bestimmte Teile der vergangenen Eingabe zu konzentrieren oder diese zu ignorieren, basierend auf ihrer gegenwärtigen Relevanz.

In früheren SSM-Designs sind die Parameter A, B, C, D und ∆ fest: Sobald sie durch das Modelltraining optimiert wurden, sind sie für jede Eingabe gleich. Bei einem selektiven SSM sind die SSM-Parameter abhängigvon der Eingabe: Sie werden erzeugt, indem der Eingabevektor mit einer Schicht von Modellgewichtungen multipliziert („projiziert“) wird, die ihrerseits im Training optimiert wird.

Da selektive SSMs jedoch nicht linear zeitinvariante (LTI) sind, können sie während des Trainings nicht als CNN fungieren. Die Mamba-Autoren haben diesen Kompromiss mit einem hardwarebewussten parallelen Scan angegangen, einem Algorithmus, der die Art und Weise optimiert, wie eine Grafikverarbeitungseinheit (GPU) die Berechnungen des Modells in ihrer Speicherhierarchie verarbeitet, um Geschwindigkeit und Recheneffizienz zu maximieren.

Diagramm eines selektiven Zustandsraummodells Die selektive SSM- und RAM-Zuweisung auf einer GPU. Entnommen aus dem Originalbeitrag, „Mamba: Linear Time-Sequence Modeling with Selective State Spaces“
Weiterführende Lösungen
Basismodelle

Erkunden Sie die Foundation-Model-Bibliothek im watsonx-Portfolio von IBM zur zuverlässigen Skalierung generativer KI für Ihr Unternehmen.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Erkunden Sie die Foundation-Model-Bibliothek im watsonx-Portfolio von IBM zur zuverlässigen Skalierung generativer KI für Ihr Unternehmen.

Entdecken sie watsonx.ai Erkunden Sie die KI-Modelle von IBM Granite