Erklärbare Zeitreihenklassifizierung mit X-ROCKET
Felix Brunner
Angesichts des anhaltenden Hypes in den Bereichen Computer Vision und Verarbeitung natürlicher Sprache werden Zeitreihen häufig übersehen, wenn es um wirkungsvolle Anwendungen des maschinellen Lernens geht. Zeitreihendaten sind jedoch in vielen Bereichen allgegenwärtig, und die prädiktive Modellierung solcher Daten ist oft von erheblichem geschäftlichem Wert. Eine wichtige Aufgabe in diesem Zusammenhang ist die Klassifizierung von Zeitreihen, die aufgrund ihrer vielfältigen Anwendungen in Bereichen wie dem Finanzwesen, dem Gesundheitswesen und der Fertigung immer mehr Aufmerksamkeit auf sich zieht.
Es wurden zahlreiche Techniken entwickelt, um die besonderen Herausforderungen von Zeitreihendaten zu bewältigen, bei denen eine höhere Kapazität oft auf Kosten der Interpretierbarkeit und der Rechengeschwindigkeit geht. Während das Rennen um ein gemeinsames, dem Stand der Technik entsprechendes Einbettungsmodell für Zeitreihen weitergeht, hat RandOm Convolutional KErnel Transform (ROCKET) von Dempster et al. (2020) als einfaches, aber leistungsfähiges Kodiermodell große Aufmerksamkeit erlangt. In dieser Artikelserie werde ich die dem Modell zugrundeliegenden Ideen vorstellen und eine Erweiterung zeigen, die die Erklärbarkeit seiner Einbettungen für die Verwendung in nachgelagerten Aufgaben erhöht. Sie besteht aus drei Teilen:
Dieser erste Teil enthält Hintergrundinformationen zur Zeitreihenklassifizierung und zu ROCKET.
Der zweite Teil beleuchtet das Innenleben der X-ROCKET-Implementierung.
Der dritte Teil nimmt uns mit auf eine Erkundung der Möglichkeiten von X-ROCKET in einer praktischen Umgebung.
Die Grundlagen der Zeitreihenklassifizierung
Eine häufige Aufgabe im Bereich der Zeitreihen besteht darin, zu erkennen, zu welcher Kategorie eine Eingabe gehört. Beispielsweise könnte man daran interessiert sein, den Zustand einer Produktionsmaschine anhand einer Folge von Sensormessungen zu diagnostizieren oder den Gesundheitszustand eines Organismus anhand von biomedizinischen Beobachtungen über ein Zeitintervall vorherzusagen. Formal lässt sich das Problem wie folgt beschreiben: Berechnen Sie bei einer Folge von Beobachtungen mit regelmäßiger Häufigkeit die Wahrscheinlichkeiten, dass die Eingaben zu einer festen Gruppe von Klassen gehören. Die Eingabedaten für jedes Beispiel sind in der Regel als 1D-Array numerischer Werte im univariaten Fall oder als 2D-Array, wenn es mehrere Kanäle gibt, strukturiert. Ein Vorhersagemodell berechnet dann Klassenwahrscheinlichkeiten als seine Ausgabe. In diesem Zusammenhang bestehen Modelle in der Regel aus einem Encoder-Block, der Merkmalseinbettungen erzeugt, und einem Klassifizierungsalgorithmus, der die Einbettungen verarbeitet, um die Ausgabewahrscheinlichkeiten zu berechnen, wie im folgenden Diagramm schematisch dargestellt.
Illustration einer Pipeline zur Klassifizierung von Zeitreihen (gezeichnet in excalidraw).
Während die Klassifizierungsalgorithmen im Bereich des maschinellen Lernens ausgereift sind, ist weniger klar, wie man geeignete Merkmale aus Zeitreiheneingaben extrahieren kann. Herkömmliche Zeitreihenansätze wie Dynamic Time Warping und Fourier-Transformationen haben sich als vielversprechend bei der Handhabung von Zeitreihenähnlichkeit und Merkmalsextraktion erwiesen. In jüngster Zeit haben sich mit dem Aufkommen des Deep Learning rekurrente neuronale Netze (RNNs) und neuronale Faltungsnetze (CNNs) als dominante Methoden zur Erfassung sequenzieller Muster bzw. räumlicher Merkmale herauskristallisiert. Schließlich haben auf Transformer basierende Modelle mit zeitlicher Aufmerksamkeit in der neuesten Forschung gezeigt, dass sie vielversprechend sind, um den Bereich der Zeitreihenklassifizierung weiter voranzubringen (z. B. Zerveas et al. (2021)).
Trotz dieser Fortschritte gibt es immer noch erhebliche Herausforderungen bei der Auswertung von Zeitreihendaten. Während Bilder oder Texte von unserem menschlichen Gehirn in den meisten Fällen sofort interpretiert werden können, kann die Untersuchung der Schwankungen in Zeitreihenaufzeichnungen so unintuitiv sein, dass eine Klassenzuordnung von vornherein unmöglich ist. Insbesondere ist oft unklar, wie informativ bestimmte Zeitreihenaufnahmen überhaupt sind, was durch das weit verbreitete Rauschen noch verschärft wird. Daher ist es eine offene Frage, wie die Daten verarbeitet werden sollten, um potenzielle Signale aus einer Eingabe zu extrahieren. Außerdem sind Zeitreihen im Gegensatz zu Bildern oft unterschiedlich lang, so dass Methoden zur Merkmalsextraktion in der Lage sein sollten, Eingaben in festdimensionale Einbettungsvektoren zusammenzufassen, die unabhängig von der Größe der Eingabe sind. Schließlich können Zeitreihendaten stationär sein oder auch nicht, was sich möglicherweise nachteilig auf die Vorhersagequalität auswirkt.
Was funktioniert?
Welches ist also das beste Modell für die Klassifizierung von Zeitreihen? Leider ist die Antwort nicht so einfach. Das liegt vor allem daran, dass es keine allgemein anerkannten Benchmarks gibt, was einen fairen Vergleich der zahlreichen und unterschiedlichen Modelle, die in der Literatur vorgeschlagen werden, unmöglich macht. Aber selbst wenn man einen solchen einheitlichen Benchmark-Datensatz konstruieren wollte, ist nicht klar, was er enthalten müsste, um für die Vielfalt der Zeitreihen repräsentativ zu sein. Mit anderen Worten: Die Messung der Leistung eines Modells bei niederfrequenten Wetterdaten ist möglicherweise kein guter Hinweis auf seinen Erfolg bei hochfrequenten Audiodateien oder DNA-Sequenzen. Um ein Gefühl dafür zu bekommen, wie unterschiedlich Daten im Zeitreihenbereich sein können, vergleichen Sie zum Beispiel die Visualisierungen von Beispielen aus verschiedenen Datensätzen in Middlehurst et al. (2023) unten. Darüber hinaus gibt es eine wichtige Unterscheidung zwischen univariaten und multivariaten Zeitreihen, d. h. wenn eine oder mehrere verschiedene Variablen gleichzeitig gemessen werden. Leider ist die Beweislage für den multivariaten Fall, der in vielen praktischen Anwendungen der relevantere Fall ist, besonders dünn.
Visualisierungen von Beispielen aus verschiedenen Zeitreihendatensätzen aus Middlehurst et al. (2023).
Es gibt jedoch einige Quellen, die versuchen, verschiedene Methoden im Bereich der Zeitreihenklassifizierung zu vergleichen. Einerseits bietet die ständig aktualisierte Rangliste der Zeitreihenklassifizierung auf Papers with code Ergebnisse für einige Modelle auf ausgewählten Datensätzen. Andererseits haben Mitglieder der Forschungsgruppe, die hinter der Zeitreihenklassifizierungs-Website steht, Arbeiten veröffentlicht (vgl. z.B., Bagnall et al. (2017), Ruiz et al. (2021), und Middlehurst et al. (2023)), die auf ihrem Zeitreihendatenarchiv ein Wettrennen zwischen verschiedenen Klassifizierungsmethoden durchführen. Während erstere bei ihren Benchmarks eine Vielzahl von RNNs und CNNs bevorzugen, schneiden bei letzteren nicht-tiefe Lernmethoden wie ROCKET besonders gut ab. Daher wäre es vermessen, einen generellen Sieger zu küren, und die Antwort ist ein entschlossenes "Nun, es kommt darauf an".
In vielen Fällen gibt es neben der reinen Leistung weitere Überlegungen, die bei der Wahl des Modells den Ausschlag geben. Bei begrenzter Verfügbarkeit von Trainingsdaten sind komplexere und leistungsfähigere Modelle, die ein umfangreiches Training erfordern, oft fehl am Platz. Im Idealfall gäbe es ein vortrainiertes Kodiermodell, das ohne zusätzliches Training zur Extraktion aussagekräftiger Muster aus beliebigen Zeitserien verwendet und mit mäßigem Aufwand auf einen bestimmten Anwendungsfall abgestimmt werden könnte, wie dies beim Computer Vision oder NLP der Fall ist. Daher gibt es oft einen Kompromiss zwischen Leistung und Recheneffizienz. Darüber hinaus müssen Vorhersagen für praktische Anwendungen oft erklärbar sein, d. h. Fachleute müssen verstehen, welche Merkmale der eingegebenen Zeitreihen eine Vorhersage hervorrufen. Dies gilt insbesondere für sensible Anwendungsfälle wie im Gesundheitswesen oder beim autonomen Fahren. Daher ist die Wahl eines erklärbaren Modells oft entscheidend für die Eignung und Glaubwürdigkeit von maschinellen Lernverfahren.
Team ROCKET zur Rettung
Ein relativ einfacher Modellierungsansatz für Zeitreiheneinbettungen ist das sogenannte ROCKET, kurz für RandOm Convolutional KErnel Transform. Diese Methodik wurde erstmals in Dempster et al. (2020) vorgestellt und in nachfolgenden Forschungsarbeiten weiterentwickelt. Erwähnenswerte Varianten sind hier das MiniROCKET von Dempster et al. (2021), das MultiROCKET von Tan et al. (2022), und HYDRA von Dempster et al. (2023). Ein Hauptvorteil gegenüber komplexeren Methoden besteht darin, dass ROCKET-Modelle sehr rechenschnell sind und in der Regel kein Training benötigen, um eine informative Einbettungsabbildung zu erlernen, während die Vorhersageleistung mit den modernsten Modellen vergleichbar ist. So stellen Ruiz et al. (2021) fest, dass die Trainingszeit für ROCKET im Vergleich zu anderen Algorithmen zur Klassifizierung von Zeitreihen, die eine ähnliche Genauigkeit erreichen, um Größenordnungen schneller ist (siehe Abbildung unten). Dieser Unterschied ist vor allem darauf zurückzuführen, dass ROCKET-Kodierer eine Eingabe nach einer vordefinierten Menge möglicherweise entbehrlicher Muster durchsuchen und dann den Klassifikator nur die wichtigen Muster lernen lassen, anstatt alles von Grund auf neu zu lernen.
Modellvergleichstabelle aus Ruiz et al. (2021).
Die Hauptidee hinter den ROCKET-Kodierungen basiert auf den jüngsten Erfolgen von Convolutional Neural Networks (CNNs) und überträgt diese auf die Merkmalsextraktion in Zeitreihendaten. Im Gegensatz zu den meisten CNNs im Bildbereich enthält die Architektur jedoch keine versteckten Schichten oder andere Nichtlinearitäten. Stattdessen wird eine große Anzahl voreingestellter Kernel separat mit der Eingabe gefaltet, was zu einer Transformation führt, die die Stärke des Auftretens der Faltungsmuster in verschiedenen Teilen der Eingabesequenz angibt. Dieser Vorgang wird mit verschiedenen Dilatationswerten wiederholt, was dem Abtasten mit verschiedenen Frequenzen entspricht. Was die Wahl der Filter angeht, so wird in der Originalarbeit die Verwendung von Zufallskernen vorgeschlagen, während in späteren Arbeiten eine kleine Menge deterministischer Muster verwendet wird. Als Nächstes werden die hochdimensionalen Ausgaben dieses Schritts über die Zeit mittels Proportion of Positive Values Pooling (PPV) gepoolt, d. h. durch Zählen der Zeiten, in denen die Faltungsaktivierungen kanalweise Bias-Schwellenwerte überschreiten, die aus repräsentativen Beispielen gelernt werden können. Das Ergebnis des Encoders ist ein Merkmalsvektor, der die Eingangszeitreihe unabhängig von ihrer Länge zusammenfasst. Die transformierten Merkmale können dann als Eingabe für jeden Vorhersagealgorithmus dienen, der mit Merkmalsredundanz umgehen kann. In der Originalarbeit wird beispielsweise empfohlen, einfache Algorithmen wie regularisierte lineare Modelle zu verwenden. Eine genauere Erläuterung der Transformationen finden Sie in der Originalarbeit der Autoren oder in den ausführlicheren Beschreibungen im zweiten Teil dieses Artikels.
Wenn ROCKET also eine Spitzenleistung erzielt und dabei rechnerisch viel effizienter ist als die meisten Methoden, was könnte dann noch schiefgehen? Nun, oft ist Leistung nicht alles... Um auf die Anforderungen an die Erklärbarkeit zurückzukommen, denen Modelle des maschinellen Lernens in der Praxis oft begegnen, ist ROCKET ein geeignetes Modell? So wie es aussieht, ist die Antwort nein. Allerdings erfordert der Algorithmus nur geringfügige Änderungen, um seinen Einbettungen eine Bedeutung zu verleihen. Im zweiten Teil werde ich zeigen, wie dies durch eine leicht veränderte Implementierung, das erklärbare ROCKET - oder kurz X-ROCKET - erreicht werden kann.
Referenzen
Bagnall, A., Lines, J., Bostrom, A., Large, J., & Keogh, E. (2017). The great time series classification bake off: a review and experimental evaluation of recent algorithmic advances. Data mining and knowledge discovery, 31, 606–660.
Dempster, A., Petitjean, F., & Webb, G. I. (2020). ROCKET: exceptionally fast and accurate time series classification using random convolutional kernels. Data Mining and Knowledge Discovery, 34(5), 1454–1495.
Dempster, A., Schmidt, D. F., & Webb, G. I. (2021, August). Minirocket: A very fast (almost) deterministic transform for time series classification. In Proceedings of the 27th ACM SIGKDD conference on knowledge discovery & data mining (pp. 248–257).
Dempster, A., Schmidt, D. F., & Webb, G. I. (2023). Hydra: Competing convolutional kernels for fast and accurate time series classification. Data Mining and Knowledge Discovery, 1–27.
Middlehurst, M., Schäfer, P., & Bagnall, A. (2023). Bake off redux: a review and experimental evaluation of recent time series classification algorithms. arXiv preprint arXiv:2304.13029.
Ruiz, A. P., Flynn, M., Large, J., Middlehurst, M., & Bagnall, A. (2021). The great multivariate time series classification bake off: a review and experimental evaluation of recent algorithmic advances. Data Mining and Knowledge Discovery, 35(2), 401–449.
Tan, C. W., Dempster, A., Bergmeir, C., & Webb, G. I. (2022). MultiRocket: multiple pooling operators and transformations for fast and effective time series classification. Data Mining and Knowledge Discovery, 36(5), 1623–1646.
Zerveas, G., Jayaraman, S., Patel, D., Bhamidipaty, A., & Eickhoff, C. (2021, August). A transformer-based framework for multivariate time series representation learning. In Proceedings of the 27th ACM SIGKDD conference on knowledge discovery & data mining (pp. 2114–2124).
Dieser Artikel entstand im Rahmen des vom Bundesministerium für Bildung und Forschung (BMBF) unter dem Förderkennzeichen 02P20A501 geförderten Projekts "AI-gent3D - KI-gestütztes, generatives 3D-Drucken" unter Koordination des PTKA Karlsruhe.