Demokratisierung neuronaler Netzwerke zur Vorhersage des Energieverbrauchs

May 15, 2023
-
Vatsal Shah
-

Wir haben kürzlich LSTenergy [last energy] veröffentlicht, ein Long-Term-Short-Memory-Energieprognosemodell, das mit realen Smart-Meter-Daten trainiert wurde, die wir 2020 erfasst haben, und mit Blossom Sky trainiert wurde. LSTenergy ist verfügbar in unserer GitHub repository [1] und in unserem Umarmendes Gesicht Leerzeichen [2].

Warum wir ein branchenspezifisches Modell entwickelt haben

LLM- und LSTM-basierte Modelle sind ein großer Teil des aktuellen Hypes um KI, der von OpenAI und ChatGPT angetrieben wird. Unternehmen beginnen, KI-Strategien zu entwickeln, oft ohne wirklich zu wissen, was und wie sie tun sollten. Die Verwendung groß angelegter Modelle, die zwar leistungsstark, aber auch nicht spezialisiert sind, sorgt oft für mehr Verwirrung, da es sich um sprachbasierte Modelle handelt; sie sorgen lediglich für Konversationen. Nun sind Konversationen nicht wirklich hilfreich, wenn ein Unternehmen bestimmte Prozesse mithilfe von KI verbessern möchte.

Mit LSTenergy wollen wir Unternehmen dabei helfen, ihren Energieverbrauch besser zu verstehen, ihn viel besser vorherzusagen und so Energie und CO2 zu sparen. LSTenergy ist ein Zeitreihenprognosemodell, das zeitbasierte historische Daten verwendet, um zukünftige Ergebnisse vorherzusagen. Mithilfe von Blossom Sky kann dieses Modell auf mehreren unabhängigen Datenspeichern oder Data Lakes in einem gleitenden Zeitfenster ausgeführt werden, um einen möglichen zukünftigen Verbrauch vorherzusagen.

Kurzer Überblick, wie LSTenergy funktioniert

LSTenergie auf den Punkt gebracht:

  • Initialisierung des LSTM-Modells mit 50 versteckten Einheiten und 0,2 Dropout-Rate
  • trainiere das Modell für 100 Epochen mit einer Chargengröße von 32 und validiere es am Testset
  • Verwendung von Matplotlib zum Zeichnen der Trainings- und Validierungsverlustkurven
  • Generieren Sie Vorhersagen auf dem Testset und stellen Sie sie mit den tatsächlichen Werten in Zusammenhang
  • berechnet den mittleren quadratischen Fehler (RMSE) und den mittleren absoluten prozentualen Fehler (MAPE) der Vorhersagen

LSTenergy funktioniert je nach verwendetem Datensatz mit hoher Wahrscheinlichkeit nach etwa 20 Epochen. In einem typischen Szenario läuft das Modell einmal pro Woche pro Smart Meter. Um LSTM für unsere Zeitreihenprognosen verwenden zu können, müssen wir es anhand eines Datensatzes historischer Daten trainieren und versuchen, zukünftige Werte zu ermitteln. Unser LSTenergy-Modell lernt eine Funktion, die eine Abfolge vergangener Beobachtungen anhand des Smartmeter-Datensatzes als Eingabe für eine Ausgangsbeobachtung abbildet.

Wir haben einen Datensatz mit Energieverbrauchsdaten, die über einen längeren Zeitraum erfasst wurden. Wir trainieren LSTenergy nun darin, eine Funktion zu erlernen, die eine Abfolge des vergangenen Verbrauchs in x = Tagen als Eingabe für eine Ausgabe des prognostizierten Energieverbrauchs abbildet. Zum Beispiel können wir den Verbrauch der letzten 10 Tage als Input verwenden und den Verbrauch des 11. Tages als Output vorhersagen.

Warum wir einen LSTM-Ansatz verwendet haben

LSTM (Long Short-Term Memory) ist eine spezielle Art eines rekurrenten neuronalen Netzwerks (RNN), das in der Lage ist, langfristige Abhängigkeiten zu lernen. LSTM-Modelle haben eine spezielle Architektur, sie verwenden Speicherzellen und Gates, um den Informationsfluss zu regulieren. Dadurch können sie sich an wichtige Informationen aus der Vergangenheit erinnern und gleichzeitig irrelevante Informationen vergessen. Sie sind äußerst nützlich für zeitreihenbasierte Prognosen, bei denen das Ziel darin besteht, zukünftige Werte auf der Grundlage vergangener Ereignisse vorherzusagen.

Im Zusammenhang mit Zeitreihenprognosen verwendet ein LSTM-Modell als Eingabe eine Folge vergangener Beobachtungen und gibt eine Vorhersage für den nächsten Wert in der Sequenz aus. Das Modell wird anhand historischer Daten trainiert, um die zugrunde liegenden Muster und Beziehungen zwischen den Eingabemerkmalen und der Zielvariablen kennenzulernen. Wenn das Modell erfolgreich trainiert wurde, kann es verwendet werden, um Vorhersagen auf der Grundlage neuer Datensätze zu erstellen, ohne erneut trainiert zu werden. Um die Genauigkeit von LSTenergy zu verbessern, kann ein Benutzer die Anzahl der Schichten oder die Anzahl der Neuronen pro Schicht, die verwendet werden sollen, anpassen.

Heute gehört LSTM zur Familie der neuronalen Netzwerke. RRNs neigen jedoch dazu, Informationen zu vergessen, die zu weit in der Vergangenheit liegen. Dies liegt daran, dass der versteckte Zustandsvektor beim Durchlaufen des Netzwerks durch wiederholte Multiplikationen und Additionen verwässert wird. Dieses Problem ist bekannt als“verschwindender Gradient„, und es schränkt die Fähigkeit von RNNs ein, langfristige Abhängigkeiten zu lernen.

LSTM löst dieses Problem durch die Einführung einer neuen Komponente: a Zellzustand Vektor c_t. Der Zellenzustand fungiert als Speicher, der Informationen über lange Zeiträume speichern und abrufen kann. Es wird durch drei reguliert Tore: ein Eingang Gate i_t, und Ausgangstor o_t und ein vergiss das Tor f_t. Bei diesen Gates handelt es sich um neuronale Netzwerke, die lernen zu kontrollieren, welche Informationen aus dem Zellenzustand und dem versteckten Zustand aufbewahrt oder verworfen werden sollen.

Das Eingangsgate entscheidet auf der Grundlage der aktuellen Eingabe x_t und des vorherigen versteckten Zustands h_t, welche neuen Informationen dem Zellenzustand hinzugefügt werden sollen. Das Forget-Gate entscheidet anhand derselben Eingaben, welche alten Informationen aus dem Zellenzustand gelöscht werden sollen. Das Ausgangs-Gate entscheidet auf der Grundlage des aktualisierten Zellenzustands c_t und des vorherigen versteckten Zustands h_t, welche Informationen aus dem Zellenzustand ausgegeben werden.

Die folgenden Gleichungen beschreiben, wie diese Gatter mathematisch funktionieren:

i_t = sigmoid (W_i * [h_ (t-1), x_t] + b_i)

f_t = sigmoid (W_f * [h_ (t-1), x_t] + b_f)

o_t = sigmoid (W_o * [h_ (t-1), x_t] + b_o)

g_t = tanh (W_g * [h_ (t-1), x_t] + b_g)

c_t = f_t * c_ (t-1) + i_t * g_t

h_t = o_t * tanh (c_t)

y_t = Softmax (W_y * h_t + b_y)

wobei W_i, W_f, W_o, W_g und W_y Gewichtsmatrizen sind, b_i, b_f, b_o, b_g und b_y Bias-Vektoren sind, sigmoid eine logistische Funktion ist, die Werte zwischen 0 und 1 quetscht, tanh ist eine hyperbolische Tangentenfunktion, die Werte zwischen -1 und 1 quetscht, und softmax ist eine Funktion, die normalisiert Werte in eine Wahrscheinlichkeitsverteilung. Durch die Verwendung dieser Gates kann LSTM lernen, relevante Informationen aus dem Zellzustand über lange Zeiträume selektiv zu speichern und abzurufen. Dies ermöglicht es, langfristige Abhängigkeiten zu erfassen und das Verschwinden von Gradienten zu vermeiden.

[1] Databloom-AI/LLM-LSTM: Spezialisierte LLM- und LSTM-Modelle 

[2] DataBloom/LSTenergy · Umarmendes Gesicht

Über Scalytics

Da die Anforderungen an die moderne KI-Entwicklung steigen, haben traditionelle ETL-Plattformen Schwierigkeiten, Schritt zu halten, da sie durch ihre eigenen Einschränkungen in Bezug auf Datenbewegungen und Verarbeitungsgeschwindigkeit blockiert werden. Scalytics Connect ist die Lösung der nächsten Generation, die speziell für die Optimierung von KI-Trainings durch innovative Datenintegrationsfunktionen entwickelt wurde.

Wir ermöglichen es Ihnen, datengestützte Entscheidungen in Minuten statt Tagen zu treffen
Scalytics ist basierend auf Apache Wayang, und wir sind stolz darauf, das Projekt zu unterstützen. Du kannst dir ihr öffentliches GitHub-Repo hier ansehen. Wenn Dir unsere Software gefällt - ein Star ⭐ würde viel bedeuten!

Wenn Sie professionelle Unterstützung von unserem Team von branchenführenden Experten benötigen, können Sie sich jederzeit an uns über Slack oder E-Mail wenden.
back to all articlesFollow us on Google News
Schneller zum KI-Erfolg
Kostenlose White Paper. Erfahren Sie, wie Scalytics KI und ML optimiert und Unternehmen in die Lage versetzt, schnellere KI-Erfolge zu erzielen.

Starten Sie noch heute mit Scalytics Connect

Thank you! Our team will get in touch soon.
Oops! Something went wrong while submitting the form.