DE112021006215T5 - Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion - Google Patents

Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion Download PDF

Info

Publication number
DE112021006215T5
DE112021006215T5 DE112021006215.8T DE112021006215T DE112021006215T5 DE 112021006215 T5 DE112021006215 T5 DE 112021006215T5 DE 112021006215 T DE112021006215 T DE 112021006215T DE 112021006215 T5 DE112021006215 T5 DE 112021006215T5
Authority
DE
Germany
Prior art keywords
time series
prediction
model network
computer
network architecture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021006215.8T
Other languages
English (en)
Inventor
Bei Chen
Dakuo Wang
Martin WISTUBA
Beat Buesser
Long Vu
Chuang Gan
Mathieu Sinn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021006215T5 publication Critical patent/DE112021006215T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Es ist ein System und Verfahren zum automatischen Erzeugen tiefer neuronaler Netzarchitekturen für eine Zeitreihenvorhersage vorgesehen. Das System umfasst einen Prozessor (12) zum: Empfangen eines Vorhersagekontextes, der einem aktuellen Anwendungsfall zugeordnet ist; gestützt auf den zugeordneten Vorhersagekontext, Auswählen eines Vorhersagemodell-Netzes, das für eine Zeitreihenvorhersageaufgabe eines aktuellen Anwendungsfalles konfiguriert ist; Replizieren des ausgewählten Vorhersagemodell-Netzes, um eine Mehrzahl von Kandidaten-Vorhersagemodell-Netzen zu erzeugen; Eingeben von Zeitreihendaten in jedes der Mehrzahl der Kandidaten-Vorhersagemodell-Netze; paralleles Trainieren jedes jeweiligen Kandidaten-Vorhersagemodell-Netzes der Mehrzahl mit den eingegebenen Zeitreihendaten; Ändern jedes der Mehrzahl der Kandidaten-Vorhersagemodell-Netze durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren; und Ermitteln eines am besten geeigneten geänderten Vorhersagemodell-Netzes zum Lösen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles.

Description

  • Gebiet
  • Die vorliegende Erfindung betrifft automatisiertes maschinelles Lernen (AutoML) und Cloud-Computing und insbesondere Verfahren und Systeme zum automatischen Analysieren von Zeitreihendaten zum Erstellen und Bereitstellen von Zeitreihenvorhersagemodellen.
  • HINTERGRUND
  • Viele Arten von Wissenschafts- und Geschäftsdaten enthalten Zeitreihendaten, z.B. loT, Einzelhandel, Transport, Energie/erneuerbare Energien. Zeitreihendaten weisen ähnliche Eigenschaften auf: mehrstufige Saisonabhängigkeit, stark korrelierte Merkmale, Rauschen und großes Volumen.
  • Derzeit hat die Verwendung von tiefen neuronalen Netzen (DNN) für viele komplexe Zeitreihendaten-Vorhersageanwendungen eine höhere Genauigkeit gezeigt, insbesondere wenn die mehrstufigen Saisonalitäten nicht leicht trennbar sind.
  • Weiter gibt es Cloud-gestützte Dienstanbieter, die eine Online-Bereitstellung von Rechenressourcen als Dienste anbieten, insbesondere Cloud-gestützte AutoML-Dienste (Dienste für automatisches maschinelles Lernen), bei denen künstliche Intelligenz oder maschinell erlernte Modelle von und für Endverbraucher erzeugt und erstellt werden.
  • KURZDARSTELLUNG
  • Die folgende Zusammenfassung soll lediglich beispielhaft sein. Die Zusammenfassung soll den Umfang der Ansprüche nicht einschränken.
  • Gemäß einem Aspekt sind ein System und Verfahren für einen Cloud-gestützten Dienstanbieter vorgesehen, um automatisch Cloud-gestützte Zeitreihenvorhersagemodelle zu erstellen und bereitzustellen.
  • Gemäß einem weiteren Aspekt sind ein System und Verfahren zum Erstellen eines automatisierten DNN-Architektur-Auswahlverfahrens und -systems zur Zeitreihenvorhersage mit Benutzerinteraktion vorgesehen. In einer Ausführungsform ist das automatisierte DNN-Architektur-Auswahlverfahren und -system zur Zeitreihenvorhersage eine Erweiterung eines automatisierten maschinellen Lernsystems für Zeitreihen und von Werkzeugen, die die Erzeugung einer Zeitreihenvorhersage-Pipeline auf eine vollständig automatisierte Weise ermöglichen.
  • Gemäß einem Aspekt ist ein von einem Computer implementiertes Verfahren zum automatischen Synthetisieren optimierter tiefer neuraler Netzarchitekturen für eine Zeitreihenvorhersage vorgesehen. Das Verfahren weist auf: Empfangen, an einem Hardwareprozessor, eines Vorhersagekontextes, der einem aktuellen Anwendungsfall zugeordnet ist; gestützt auf den zugeordneten Vorhersagekontext, Verwenden des Hardwareprozessors zum Auswählen einer bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines ähnlichen Anwendungsfalles konfiguriert ist; Replizieren der ausgewählten bestehenden Vorhersagemodell-Netzarchitektur, um eine Mehrzahl von Kandidaten-Vorhersagemodell-Netzarchitekturen zu erzeugen; Eingeben, unter Verwendung des Hardwareprozessors, von Zeitreihendaten in jede der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen; Paralleles Trainieren, unter Verwendung des Hardwareprozessors, jeder jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur der Mehrzahl mit den eingegebenen Zeitreihendaten; Ändern, unter Verwendung des Hardwareprozessors, jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren; und Ermitteln, unter Verwendung des Hardwareprozessors, aus der Mehrzahl, einer am besten geeigneten geänderten Vorhersagemodell-Netzarchitektur zum Lösen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles.
  • Gemäß einem Aspekt ist ein von einem Computer implementiertes System zum automatischen Synthetisieren optimierter tiefer neuraler Netzarchitekturen für eine Zeitreihenvorhersage vorgesehen. Das System weist auf: eine Speichereinheit zum Speichern eines von einem Computer lesbaren Programms und mindestens einen Prozessor, der zum Ausführen des von einem Computer lesbaren Programms geeignet ist, um den mindestens einen Prozessor zu konfigurieren zum: Empfangen eines Vorhersagekontextes, der einem aktuellen Anwendungsfall zugeordnet ist; gestützt auf den zugeordneten Vorhersagekontext, Auswählen einer bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines ähnlichen Anwendungsfalles konfiguriert ist; Replizieren der ausgewählten bestehenden Vorhersagemodell-Netzarchitektur, um eine Mehrzahl von Kandidaten-Vorhersagemodell-Netzarchitekturen zu erzeugen; Eingeben von Zeitreihendaten in jede der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen; paralleles Trainieren jeder jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur der Mehrzahl mit den eingegebenen Zeitreihendaten; Ändern jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren; und Ermitteln, aus der Mehrzahl, einer am besten geeigneten geänderten Vorhersagemodell-Netzarchitektur zum Lösen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles.
  • In einem weiteren Aspekt ist ein Computerprogrammprodukt zum Ausführen von Operationen vorgesehen. Das Computerprogrammprodukt umfasst ein Speichermedium, das von einer Verarbeitungsschaltung lesbar ist und Anweisungen speichert, die von der Verarbeitungsschaltung ausgeführt werden, um ein Verfahren auszuführen. Das Verfahren ist das oben beschriebene.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • Die vorstehenden Aspekte und weitere Merkmale werden in der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen beschrieben, bei denen:
    • 1 schematisch ein beispielhaftes Datenverarbeitungs-Framework zeigt, das zum Implementieren der Ausführungsformen zum automatischen Erstellen eines Zeitreihenvorhersagemodells gemäß Ausführungsformen der vorliegenden Erfindung geeignet ist;
    • 2 konzeptionell ein Blockschema zeigt, das die Komponenten des AutoML-TS-Plug-in-Moduls zeigt;
    • 3A einen beispielhaften Plug-in-Geschäftsanwendungsfall zeigt, der sich auf ein Modell zur Vorhersage der kurzfristigen Elektrizitätsnachfrage bezieht, das zur Vorhersage zukünftiger Zeitreihendaten erzeugt wurde;
    • 3B einen Teil einer beispielhaften Struktur einer vorwärtsgerichteten Mehrschicht-Perzeptron(MLP)-Architektur zur Verwendung als anfängliche bzw. Plug-in-Architektur für einen Geschäftsanwendungsfall gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • 4 ein Verfahren zeigt, das von dem Architektursuchmodul ausgeführt wird, um ein neues DNN-Modell aus der ausgewählten Architektur gemäß einer Ausführungsform der Erfindung zu erzeugen;
    • 5 das Erzeugen eines DNN-Zeitreihenvorhersagemodells unter Verwendung des NCevolve-Suchalgorithmus von 4 zeigt;
    • 6 eine Tabelle zeigt, die eine Zuordnung von Arten von DNN-Modellarchitekturen (z.B. CNN, RNN, MLP) und Teilmengen möglicher Mutationen angibt, die auf einen bestimmten DNN-Architekturtyp angewendet werden können;
    • 7A eine auf einer Benutzereinheit dargestellte Benutzeroberfläche zeigt, die eine Eingabe von Daten zum automatisierten Erstellen eines Zeitreihenvorhersagemodells ermöglicht;
    • 7B eine Benutzeroberfläche zeigt, die als Reaktion auf den Geschäftsanwendungsfall, der über einen Benutzer eingegeben wird, die empfohlenen Modellarchitektur-Pipelines für die Zeitreihenvorhersage darstellt;
    • 8 ein Schema eines beispielhaften Computer- oder Verarbeitungssystems zeigt, das Verfahren zum automatischen Synthetisieren und Trainieren von optimierten tiefen neuronalen Netzarchitekturen für die Zeitreihenvorhersage gemäß Ausführungsformen der vorliegenden Erfindung implementieren kann;
    • 9 eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt; und
    • 10 Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Gemäß einer Ausführungsform sieht die vorliegende Offenbarung ein System und Verfahren für Systemanbieter vor, um Zeitreihen(TS)-Vorhersagen durchzuführen, und insbesondere ein automatisiertes und allgemeines Datenverarbeitungs-Framework, das eine höhere Genauigkeit für komplexe Zeitreihenvorhersageaufgaben erreicht.
  • Das bedeutet, dass bei Vorgabe einer (multivariaten) Zeitreihe X={x(1), ..., x(n)}, wobei x(t) = {x(t), ..., x(t)}, das System und Verfahren eine optimierte tiefe neurale Netz(DNN)-Architektur synthetisiert und trainiert, die dazu konfiguriert ist, Zeitreihenvorhersagen zu machen.
  • 1 zeigt ein generisches Blockschema, das das automatisierte Datenverarbeitungs-Framework 100 zum Erreichen einer höheren Genauigkeit für komplexe Zeitreihenvorhersageaufgaben zeigt. Das automatisierte und allgemeine Framework ist dazu konfiguriert, eine höhere Genauigkeit für komplexe Zeitreihenvorhersageaufgaben zu erreichen, beispielsweise solche komplexe Zeitreihenvorhersageaufgaben, bei denen 1) DL-Architekturen zur Zeitreihenvorhersage verwendet werden, 2) es starke Schwankungen der Realwelt-Zeitreihen bei Reihen mit spärlichen Informationen gibt, z.B. aufgrund von Abhängigkeitsstruktur, Rauschpegel, Datenmenge, und 3) weitere Parameter abzustimmen sind, z.B. Fensterlänge, Fensterüberlappung (gegenüber Bildern mit fester Größe).
  • In einer Ausführungsform läuft das automatisierte Datenverarbeitungs-Framework 100 auf einem oder mehreren Datenverarbeitungssystemen 102 zum Empfangen von Eingaben wie beispielsweise Zeitreihendaten und Erstellen von maschinell erlernten Modellen, um Zeitreihenvorhersageaufgaben zu lösen. In einer Ausführungsform kann ein Endbenutzer, z.B. ein Datenwissenschaftler 101, Zeitreihendaten 104 in einen Objektdatenspeicher 115 hochladen. Beispielsweise lädt der Endbenutzer über eine Benutzeroberfläche 110 Zeitreihendaten, z.B. Tabellen, und andere Daten in einen Cloud-Objektspeicher hoch. Alternativ kann der Endbenutzer 101 angeben, dass das automatisierte Framework 100 Zeitreihendaten von einem webbasierten Speicherort empfängt, der durch eine URL („Uniform Resource Locator“) angegeben wird. Weitere Dateneingaben in das System können umfassen, sind aber nicht beschränkt auf: ein oder mehrere Ziele und Prädiktoren für die Vorhersage, Zeitstempel/Daten; Aufgaben: Vorhersagen (beispielsweise Vorhersagehorizont), Anomalieerkennung, Clusterbildung; aufgabenbezogene Parameter wie: Rückschaufenster, Fensterüberlappung; einen oder mehrere erforderliche DNN-Algorithmen, z.B. ein CNN, RNN; und eine Domäne der Zeitreihendaten: z.B. Finanzdienstleistungen, Lieferketten, Transport; und bestehende DNN-Architekturen, die in etwaigen relevanten früheren Anwendungsfällen verwendet wurden.
  • In einer Ausführungsform kann der Endbenutzer 101 ferner mit einem Notebook 120 mit Watson Studio® (eingetragenes Warenzeichen der International Business Machines Corporation) oder einer ähnlichen webbasierten Anwendung für interaktive Datenverarbeitung 106 interagieren. Beispielsweise kann der Endbenutzer 101 unter Verwendung des Notebook-Softwarewerkzeugs 120 Python-Bibliotheken von Anwendungsprogrammierschnittstellen (APIs) 125 verwenden, um alle Bausteine zusammenzustellen, zu testen und auszuführen, um mit Daten zu arbeiten und die Daten im Objektspeicher 115 zur Verwendung beim Erstellen und Bereitstellen von Zeitreihenvorhersagemodellen zu speichern. In einer Ausführungsform kann das Notebook 120 eine Jupyter-Notebook-Anwendung umfassen, die ein interaktives Erstellen und Teilen von Dokumenten ermöglicht und Verfahren zur Datenbereinigung/- transformation/-analyse, statistischen Modellierung, für maschinelles Lernen usw. ausführt. Weitere ähnliche Datenanalyse- und Visualisierungs-Notebook-Werkzeuge 120, auf denen die Programmiersprachen Python, Julia, R ausgeführt werden, können zum Empfangen und Verarbeiten der Daten, des Kontextes und anderer Eingaben in das Datenverarbeitungs-Framework 100 verwendet werden.
  • Wie in 1 gezeigt, umfasst das Datenverarbeitungs-Framework 100 den AutoML-TS-Erstellungsprozess bzw. das Plug-in-Modul 150, das mit Programm- und Python-Bibliotheken der Notebook-Implementierung 120 zum Erstellen von Zeitreihenvorhersagemodellen 140 gemäß Ausführungsformen der vorliegenden Erfindung Daten austauscht. In einer Ausführungsform verarbeitet ein Erstellungsverfahren bzw. Plug-in-Modul 150 für automatisiertes maschinelles Lernen für Zeitreihendaten (AutoML-TS) Dateneingaben vom Notebook 120 und/oder aus der Objektspeicher-Cloud in einem Format mit kommagetrennten Werten (CSV) 110. In einer Ausführungsform wird ein Datenmodell 109 eingesetzt, um die Zeitreihen-Rohdaten, die in Tabellen und anderen Eingabeformaten im Objektspeicher gespeichert sind, in ein Format mit kommagetrennten Werten (CSV) zur Verwendung durch das AutoML-TS-Erstellungsverfahren (Plug-In) 150 zu übersetzen. Das AutoML-TS-Plug-in-Modul 150 umfasst ein Modellsuchmodul 130 zum automatischen Ausführen von Verfahren zum anfänglichen Suchen nach relevanten Modellarchitekturen für die Zeitreihendaten für die jeweilige Domäne, die jeweilige geschäftliche Aufgabe oder den jeweiligen geschäftlichen Kontext, Extrahieren der besten Modellarchitektur und, gemäß den Prinzipien der Erfindung, Einsetzen weiterer maschineller Lernmodule 140 zum Erstellen eines konkreten, verwendbaren Zeitreihenvorhersagemodells aus der gewonnenen besten Modellarchitektur.
  • Wie weiter in 1 gezeigt, ist nach der Erstellung das konkrete, verwendbare Zeitreihenvorhersagemodell über das Cloud-Datenverarbeitungs-Framework 100 als webbasierte Anwendung einsetzbar oder auf eine bestimmte Benutzereinheit 105 herunterladbar. In einer Ausführungsform bietet eine Flask-Anwendung 135 eine Benutzerschnittstelle, z.B. WSGI („Web Server Gateway Interface“), die es einem weiteren Endbenutzer über seine/ihre Datenverarbeitungseinheit 115 ermöglicht, Anfragen über ein öffentliches oder privates Netzwerk 99 zur Verwendung des bereitgestellten AutoML-TS- und anderer in Python geschriebener Framework-Module auszugeben.
  • Ein Blockschema, das die Betriebskomponenten des AutoML-TS-Plug-in-Moduls 150 zeigt, ist in 2 gezeigt.
  • Wie in 2 gezeigt, erstellt das AutoML-TS-Plug-in-Modul 150 des automatisierten Datenverarbeitungs-Framework 100 Modelle, um Zeitreihenvorhersageaufgaben zu lösen.
  • In einer Ausführungsform umfasst das AutoML-TS-Plug-in-Modul 150 des automatisierten Framework eine Speicherbibliothek 175 anfänglicher DNN-Architekturen, die Modellerstellungsarchitekturen umfassen, die als Ausgangspunkt zum Erstellen neuer DNN-Modelle gemäß Zeitreihendaten und anderen Benutzereingaben verwendet werden können. Zu diesem Zweck umfasst das Framework 100 ferner ein Zeitreihen-DNN-Architektur-Suchmodul 170, das Programmcode ausführt, der Logik zur Durchführung von Suchvorgängen implementiert, um eine Übereinstimmung mit einer bestehenden Modellarchitektur für den Anwendungsfall zu finden. Das heißt, dass eine anfängliche Suche durchgeführt wird, um zu ermitteln, ob ähnliche Zeitreihendaten durch das AutoML-TS-Plug-in-Modul 150 verarbeitet wurden und zu ihnen bereits eine Zeitreihen-Vorhersagemodellarchitektur zum Lösen einer Zeitreihenvorhersageaufgabe erstellt wurde. Wenn das Zeitreihen-DNN-Architektur-Suchmodul 170 ein Vorhandensein eines Anwendungsfalles für eine ähnliche Aufgabe oder einen ähnlichen Zeitreihendatenkontext findet (z.B. kurzfristige Strommarktvorhersage oder Kreditkartenbetrugsvorhersage), wählt das Suchmodul 170 eine entsprechende Architektur für diesen Anwendungsfall als anfängliche Architektur für die Suche in der Bibliothek 175 der anfänglichen DNN-Architekturen aus.
  • Wie in 2 gezeigt, umfasst das automatisierte AutoML-TS-Plug-In-Modul 150 in dem automatisierten Datenverarbeitungs-Framework 100 in einer Ausführungsform ferner ein Modul 165 zum Speichern von Plug-in-Pipelines von Geschäftsanwendungsfällen. Das Speichermodul 165 für Plug-in-Pipelines von Geschäftsanwendungsfällen enthält alle in der Vergangenheit erstellten DNN-Vorhersage-Pipelinearchitekturen, d.h. historische Anwendungsfälle der erstellten DNNs zum Lösen von Zeitreihenvorhersageaufgaben für vergangene Zeitreihenvorhersagekontexte wie beispielsweise, aber nicht beschränkt auf: kurzfristige Prognose der Elektrizitätsnachfrage, Erkennung von Kreditkartenbetrug und Vorhersage des Verkehrsvolumens, loT-Erkennung von Anomalien im Bauwesen, Vorhersage des finanziellen Kreditrisikos, Vorhersage der Verfügbarkeit von Parkplätzen im Transportwesen usw. Im Wesentlichen ist das Speichermodul 165 für Plug-in-Geschäftsanwendungsfälle eine Architektur/Datenbank für historische Geschäftsanwendungsfälle, die früheren Kontexten zugeordnet sind. Wenn ein Benutzer den Kontext eines bestimmten Zeitreihendatensatzes angibt, kann das System das Speichermodul 165 für Plug-in-Pipelines verwenden, um alle in der Vergangenheit erstellten DNN-Vorhersage-Pipelinearchitekturen zu finden, die eine optimale Lösung bereitgestellt haben.
  • In einer Ausführungsform enthält das AutoML-TS-Plug-In 150 ferner ein Transfer-Lern/Meta-Lern-Modul 160 zur Architekturauswahl. Zum Beispiel wird für neu eingegebene Zeitreihendaten, die einem aktuellen Eingabekontext entsprechen, durch das Speichermodul 165 für Plug-in-Pipelines zuerst ermittelt, ob es einen Kontext eines identischen oder ähnlichen vorherigen/historischen Anwendungsfalles gibt, d.h. ob eine DNN-Architektur-Pipeline für diesen bestimmten Kontext bereits erstellt wurde. Wenn kein Anwendungsfall existiert und keine DNN-Architektur-Pipeline für diese Art von Zeitreihendaten erstellt wurde, führt das Meta-Lern/Transfer-Lern-Modul 160 für die Architekturauswahl Programmcode aus, der Logik zum Berechnen einer Liste von charakteristischen Zeitreihendatenmerkmalen implementiert, z.B. Varianz, Schiefe, Kurtosis, Trend, Saisonalität und Hurst-Parameter (d.h. eine Beschreibung eines Maßes für das Langzeitgedächtnis einer Zeitreihe). Auf Grundlage der Liste charakteristischer Merkmale, die die eingegebenen Zeitreihendaten beschreiben, kann das Meta-Lern/Transfer-Lern-Modul 160 eine oder mehrere empfohlene anfängliche DNN-Architekturen finden. In einer Ausführungsform ist das Meta-Lern-Modul 160 ein ML-Lernmodell, das Eingabemerkmale wie Schiefe, Kurtosis usw. zum Zweck der Erkennung der Ähnlichkeit der Benutzereingabedaten und der Daten im System verwendet und eine anfängliche neuronale Netzarchitektur ausgeben kann.
  • In einer Ausführungsform kann das Meta-Lern-Modul 160 durch den Benutzer aktiviert/deaktiviert werden. Wenn der Benutzer annimmt, dass sein eingegebener Datensatz ein gängiger Datensatz ist, den das System wahrscheinlich in der Vergangenheit verarbeitet hat, kann der Benutzer das Meta-Lernen aktivieren.
  • 3A zeigt eine beispielhafte Plug-in- und Meta-Lern-Ausführungsform für einen Geschäftsanwendungsfall. Insbesondere gibt das Modul 165 für Plug-in-Geschäftsanwendungsfälle eine Liste von als beste ausgewählten Architekturen auf Grundlage früherer Anwendungsfälle aus. Ein Plug-in-Geschäftsanwendungsfall 200, der in 3A gezeigt ist, bezieht sich auf ein früher erzeugtes Modell zur Prognose der kurzfristigen Elektrizitätsnachfrage 205, das multivariate Zeitreihendaten 210 (Xt) empfängt und zur Vorhersage zukünftiger Zeitreihendaten 215 (Xt + 1) verwendet wird. Das Modell zur Prognose der kurzfristigen Elektrizitätsnachfrage 205 ist eine DNN-Modellarchitektur, die ein RNN und LSTM mit 100 verborgenen Schichten umfasst. Diese Architektur 200 wird vom Modul 165 als Empfehlung ausgegeben, wenn der Benutzer denselben Eingabeanwendungsfall hat.
  • Als weiteres Beispiel einer ausgewählten Architekturpipeline zeigt 3B ein Schema eines Abschnitts einer beispielhaften Struktur einer vorwärtsgerichteten Mehrschicht-Perzeptron(MLP)-Architektur 250. In der in 3B gezeigten beispielhaften vorwärtsgerichteten neuronalen MLP-Netzmodellarchitektur ist eine lineare Reihung mehrerer (sequentieller) Schichten gezeigt, z.B. einer Eingangsschicht, verborgener Schichten und einer Ausgangsschicht, wobei jede Schicht Eingangsinformationen empfängt, eine oder mehrere Berechnungen ausführt und schließlich die transformierten Informationen ausgibt. Die Ausgabe einer Schicht geht als Eingabe in die nächste Schicht ein. In der beispielhaften Struktur einer DNN-MLP-Architektur 250 zeigt eine obere Schicht 253 eine Kennung des bestimmten sequentiellen MLP-Modells, und nachfolgende Schichten werden durch eine erste Glättungsschicht 256 zum Glätten der Eingabedaten für das NN-Modell, eine oder mehrere normale tief verbundene neuronale Netzschichten bzw. dichte Schichten 260, eine oder mehrere LeakyReLU-Aktivierungsfunktionsschichten 265, von denen jede eine stückweise lineare Funktion darstellt, die so geändert ist, dass kleine negative Werte zugelassen werden, wenn die Eingabe kleiner als null ist, und eine oder mehrere Dropout-Regularisierungsschichten 270 zum Verringern von Überanpassung gebildet. Jede dieser Schichten umfasst eine Angabe 280 der Form der Eingaben in diese Schicht und eine Angabe 290 der Ausgaben dieser Schicht. Diese Schichten umfassen Schichten, die dazu dienen, einen eingegebenen univariaten oder multivariaten Zeitreihendatensatz zu verarbeiten. Andere Arten von Schichten, die in einer CNN- oder RNN-Modellarchitektur enthalten sein können, umfassen ohne Einschränkung: Cropping-Schichten, verkettete Schichten, Faltungsschichten und Pooling/Unpooling-Schichten. Um jede der Schichten in einer ausgewählten Architektur vollständig zu beschreiben, können zusätzliche Details angegeben werden, beispielsweise, aber nicht beschränkt auf: eine Form der Eingabedaten, eine Anzahl von Neuronen/Einheiten in der Schicht und jegliche Initialisierer, Regularisierer oder Beschränkungen.
  • Eine solche Struktur/Datensatz-Architektur 250 ist einer Verwendung in einem bestimmten früheren Kontext zugeordnet, z.B. Kreditkartenbetrugserkennung, und wird als Plug-in-Pipeline zur späteren Verwendung in der Zeitreihenvorhersage gespeichert, bei der neue Eingabedaten für einen ähnlichen Kontext vorliegen. Wenn also eine Benutzereingabe eines neuen Datensatzes für diesen Kontext vorliegt, verwendet das System als Ausgangspunkt die in 3B gezeigte anfängliche Architektur 250 zu Erstellung eines neuen Modells für den aktuellen neuen Eingabedatensatz.
  • Gemäß Ausführungsformen der Erfindung können Anpassungen an der anfänglichen Modellarchitektur vorgenommen werden, wenn die charakteristischen Eigenschaften des neuen Eingabedatensatzes (z.B. univariat oder multivariat) und die ausgewählte oder angegebene Art der DNN-Architektur gegeben sind. Beispielsweise wird im Fall von univariaten Zeitreihen-Eingabedaten, bei denen eine einzelne Reihe von Beobachtungen mit einer zeitlichen Reihenfolge vorliegt, eine DNN-Modellarchitektur ausgebildet, die aus der Reihe früherer Beobachtungen lernt, den nächsten Wert in der Sequenz vorherzusagen. Im Fall von multivariaten Zeitreihen-Eingabedaten wird nach Architekturen für die DNN-Modellierung von mehreren Eingabereihendaten, die zwei oder mehr parallele Eingabezeitreihen enthalten, wobei jede Reihe Beobachtungen in denselben Zeitschritten und eine von der Eingangszeitreihe abhängige Ausgabezeitreihe aufweist; oder Architekturen zum Modellieren mehrerer paralleler Reiheneingaben gesucht, die mehrere parallele Zeitreiheneingaben umfassen, und für diese muss jeweils ein Wert vorhergesagt werden.
  • Gemäß Ausführungsformen der Erfindung kann jede der gespeicherten DNN-Modellarchitekturen durchsucht, d.h. mutiert werden, um weitere komplexe neuronale Netze zum Optimieren einer bestimmten Vorhersageaufgabe oder ähnlichem, Maßschneidern einer Lösung in Bezug auf eine bestimmte Laufzeit oder Vorhersagen entsprechend einer gewünschten Genauigkeit zu erzeugen. Das heißt, dass gestützt auf eine Feststellung des Meta-Lernmoduls 160, dass es in der Vergangenheit einen ähnlichen Kontext gab, z.B. eine Vorhersage des Kreditkartenbetrugsrisikos, das Zeitreihen-DNN-Architektur-Suchmodul 170 eine neue Suche nach der ausgewählten Architektur beginnt (d.h. eine Mutation anwendet), die in der Vergangenheit erstellt wurde und die diesem früheren Kontext, d.h. der Vorhersage des Kreditkartenbetrugsrisikos, zugeordnet war. Das Meta-Lernmodul 160 liefert keine anfängliche Architekturempfehlung, wenn der Anwendungsfall nicht in der Datenbank vorhanden ist. Unter Berücksichtigung des Kontextes und der Eigenschaften der Daten können jedoch Annahmen über eine anfängliche Architektur gewonnen werden, die als Ausgangspunkt verwendet wird.
  • 6 zeigt eine Tabelle 600, die eine Zuordnung von DNN-Modellarchitekturarten (z.B. CNN, RNN, MLP) und möglichen Mutationen 650 angibt, die auf eine bestimmte DNN-Architekturart angewendet werden können. Wie beispielsweise in 6 gezeigt, kann eine anfängliche MLP-DNN-Architektur 602 anfänglich eine Sequenz von Schichten 612 enthalten, z.B. Eingabe-, Glättungs-, dichte (lineare) Schichten usw., während eine anfängliche CNN-Architektur 604 eine Sequenz von Schichten 615 enthalten kann, z.B. Eingabe-, Faltungs-, MaxPooling-, Glättungs-, dichte Schichten usw.
  • Wendet man sich wieder 2 zu, führt das TS-DNN-Architektur-Suchmodul 170 Verfahren aus, die neue TS-DNN-Architekturen aus einer ausgewählten Architektur oder anfänglichen DNN-Architektur synthetisieren. Beispielsweise kann das Suchmodul 170 ein Programm wie NCEvolve ausführen, das ein evolutionärer Algorithmus ist, der ein Verfahren zum Synthetisieren von hoch leistungsfähigen Netzen implementiert, wodurch das Maß an Trainingszeit und der Ressourcenbedarf minimiert werden. Wie in einem Verweis auf M. Wistuba mit dem Titel „Deep Learning Architecture Search by Neuro-Cell-based Evolution with Function-Preserving Mutations“ (ECML-PKDD 2018) beschrieben, dessen gesamter Inhalt und Offenbarung hierin durch Bezugnahme aufgenommen ist, synthetisiert NCEvolve CNN-Architekturen für Bild/Text durch Mutation von Neurozellen mit funktionserhaltenden Operationen. Funktionserhaltende Operationen sind eine Familie von Netzmanipulationen, um Wissen von einem Netz auf ein anderes zu übertragen. Das TS-DNN-Architektur-Suchmodul 170 verwendet NCEvolve und erweitert es um Zeitreihendaten mit der Hinzufügung einer MLP-Struktur. Beispielsweise wendet NCEvolve ausgehend von einer anfänglichen DNN-Architektur eine Reihe vordefinierter Mutationen an, z.B. Einfügen einer CNN-Schicht, Ändern der Kernelgröße und der Verzweigungen, bis sich die Lernkurve nicht mehr verbessert.
  • Wie beispielsweise in 6 gezeigt, kann gestützt auf die charakteristischen Eigenschaften der Eingabedaten oder gestützt auf vom Benutzer ausgewählte Parameter (z.B. Laufzeit, Genauigkeit usw.) eine Auswahl von vordefinierten Operationen an der anfänglichen DNN-Architektur durchgeführt werden. Beispielsweise umfassen für MLP-Architekturen solche Operationen bzw. Mutationen 625, die auf die Architektur angewendet werden können, ohne Einschränkung: Ändern der Fensterlänge, Ändern der Überlappungsgröße, Einfügen einer dichten Schicht, Ändern der Lernrate, Ändern der Anzahl der Einheiten gegebener Schichten usw. Beispielsweise kann im Fall einer anfänglichen MLP-Modellarchitektur eine anzuwendende funktionserhaltende Mutation 652 ein Verbreitern der Form der Eingabedaten oder ein Einfügen einer dichten Schicht umfassen. Für CNN-Modellarchitekturen kann eine funktionserhaltende Mutation 654, die auf die Architektur angewendet werden kann, umfassen: Identität, Ändern einer Kernelgröße, Einfügen einer Faltungsschicht, Ändern der Lernrate, Ändern der Anzahl der Kanäle, Verzweigen und Einfügen, Verzweigen und Einfügen von Blöcken, Einfügen eines Restblocks, Ändern der Anzahl der Einheiten für gegebene Schichten, Faltung von Verzweigungen, Ändern der Fensterlänge, Ändern der Überlappungsgröße, Einfügen einer dichten Schicht, Einfügen eines Dropout einer dichten Schicht oder Einfügen einer Anzahl von Filtern. Beispielsweise kann für Daten mit extrem hoher Varianz, bei denen die zeitlichen Abhängigkeiten nicht bekannt sind, der Parameter „Fensterlänge“ des Modells mehrfach erweitert oder geändert werden. Für RNN-Architekturen 606 kann eine Mutation 656, die auf die Architektur angewendet werden kann, umfassen: Ändern der Fensterlänge, Ändern der Überlappungsgröße, Einfügen einer dichten Schicht, Ändern der Lernrate oder Ändern der Anzahl der Einheiten für gegebene Schichten.
  • Bezieht man sich wieder auf 2, führt das DNN-Suchmodul 170 in einer Ausführungsform einen NCevolve(Neurozellenevolutions)-Algorithmus aus, um aus der ausgewählten Architektur ein neues DNN-Modell zu erzeugen. Der Algorithmus beginnt mit der anfänglichen Architektur und wendet dann verschiedene Mutationen wie z.B. Einfügen einer Schicht, Verzweigung usw. in einer Sequenz an. Da die automatisierte DNN-Suche auf Zeitreihendaten angewendet wird, muss der Algorithmus aufgrund dessen, dass die Daten eine Sequenz bilden und eine zeitliche Abhängigkeit aufweisen, die Reihenfolge beibehalten und sie so gruppieren, dass die zeitliche Abhängigkeit erhalten bleibt.
  • Insbesondere geht der NCEvolve-Ansatz von einer sehr einfachen Netzvorlage aus, die eine Sequenz von Neurozellen enthält. Diese Neurozellen bilden Architekturstrukturen und die optimale Struktur wird automatisch vom AutoML-TS-Algorithmus erkannt. Dieser Algorithmus geht davon aus, dass die Zelle zunächst nur eine einzige Faltungsschicht enthält und verändert diese dann fortlaufend durch funktionserhaltende Mutationen. Diese Mutationen ändern die Struktur der Architektur, ohne die Vorhersagen des Netzes zu ändern. Dies kann als spezielle Initialisierung angesehen werden, sodass das Netz weniger Rechenaufwand für das Training erfordert.
  • Evolution der Neurozellen
  • Die zellgestützte Neuroevolution verläuft wie folgt: Gegeben ist eine sehr einfache neuronale Netzarchitektur, die mehrere Neurozellen enthält, wobei die Zellen selbst ihre Struktur teilen und die Aufgabe darin besteht, eine Struktur zu finden, die die gesamte neuronale Netzarchitektur für einen bestimmten Datensatz und eine gegebene maschinelle Lernaufgabe verbessert. Anfangs kann eine Zelle mit einer Faltungsschicht identisch sein und wird während des evolutionären Optimierungsverfahrens geändert. Der evolutionäre Algorithmus verwendet Tournament Selection, um ein Individuum aus der Population auszuwählen: es wird zufällig ein Bruchteil k von Individuen aus der Population ausgewählt. Aus dieser Menge wird das Individuum mit der höchsten Eignung für die Mutation ausgewählt. In einer Ausführungsform wird die Eignung durch die Genauigkeit gebildet, die von dem Individuum für einen Holdout-Datensatz erreicht wird. Die Mutation wird zufällig ausgewählt und so auf alle Neurozellen angewendet, dass sie identisch bleiben. Das Netz wird für einige Epochen auf dem Trainingssatz trainiert und dann der Population hinzugefügt. Am Ende beginnt der Prozess von vorne. Nachdem ein Abbruchkriterium erfüllt wurde, wird das Individuum mit der höchsten Eignung zurückgegeben.
  • Mutationen
  • Alle verwendeten Mutationen beruhen auf den funktionserhaltenden Operationen. Das heißt, dass eine Mutation die Eignung eines Individuums nicht verändert, jedoch dessen Komplexität erhöht. Der Vorteil gegenüber dem Erstellen der gleichen Netzstruktur mit zufällig initialisierten Gewichten besteht darin, dass ein teilweise vortrainiertes Netz als Start verwendet wird. Dies ermöglicht ein Trainieren des Netzes in weniger Epochen. Alle Mutationen werden nur auf die Struktur innerhalb einer Neurozelle angewendet. Der neuroevolutionäre Algorithmus berücksichtigt die folgenden Mutationen:
  • Faltung einfügen: Eine Faltung wird an einer zufälligen Position hinzugefügt. Ihre Kernelgröße kann beispielsweise 3 × 3 betragen, wobei die Anzahl der Filter gleich ihrer Eingabedimension ist. Es wird zufällig entschieden, ob es sich stattdessen um eine trennbare Faltung handelt.
  • Faltung verzweigen und einfügen: Eine Faltung wird zufällig ausgewählt und verzweigt. Eine neue Faltung wird gemäß der „Faltung einfügen“-Mutation in einem der Zweige hinzugefügt.
  • Sprung einfügen: Eine Faltung wird zufällig ausgewählt. Deren Ausgabe wird der Ausgabe einer neu hinzugefügten Faltung hinzugefügt (siehe „Faltung einfügen“) und bildet die Eingabe für die folgenden Schichten.
  • Anzahl der Filter ändern: Eine Faltung wird zufällig ausgewählt und um einen gleichverteilten Zufallsfaktor verbreitert, der z.B. aus [1.2, 2] gezogen ist. Diese Mutation könnte auch auf Faltungen außerhalb einer Neurozelle angewendet werden.
  • Anzahl der Einheiten ändern: Ähnlich wie der vorherige Punkt, jedoch wird die Anzahl der Einheiten vollständig verbundener Schichten geändert. Diese Mutation wird nur außerhalb der Neurozellen angewendet.
  • Kernelgröße ändern: Wählt zufällig eine Faltung aus und erhöht ihre Kernelgröße um zwei entlang jeder Achse.
  • Faltung verzweigen: Wählt zufällig eine Faltung aus und verzweigt sie. Die Motivation für die Auswahl dieses Satzes von Mutationen besteht darin, dem neuroevolutionären Algorithmus zu ermöglichen, ähnliche Architekturen zu finden, wie sie von menschlichen Experten vorgeschlagen würden. Das Hinzufügen von Faltungen und das Ermöglichen der Verbindung eines Hinzufügens von Sprüngen und Faltungen ermöglicht es, Restnetze zu entdecken. Schließlich ermöglicht die Verbindung von Verzweigung, Änderung der Kernelgröße und Hinzufügen von (trennbaren) Faltungen, Architekturen zu entdecken, die Inception, Xception oder FractalNet ähneln. Die Optimierung wird mit nur einem einzigen Individuum gestartet. Die Population wird angereichert, indem mit einem Initialisierungsschritt begonnen wird, der 15 mutierte Versionen des ersten Individuums erzeugt. Dann werden die Individuen auf Grundlage des zuvor beschriebenen Tournament-Selection-Verfahrens ausgewählt.
  • 4 zeigt ein Verfahren 400, das von dem Architektur-Suchmodul 170 ausgeführt wird, um unter Verwendung des NCEvolve-Algorithmus ein neues DNN-Modell aus der ausgewählten Architektur zu züchten.
  • Anfänglich wird bei 405 ein leerer „Pool“ definiert, in den Operationen gezogen und auf die ausgewählte ursprüngliche bzw. anfängliche DNN-Modellarchitektur angewendet werden. Dann wird bei 410 ein „Individuum“ bzw. eine „Blockstruktur“-Modellarchitektur trainiert und Mutationen werden angewendet, um ein neues Modell zu „züchten“. In einer Ausführungsform werden mehrere Individuen bzw. Modellarchitekturen parallel trainiert und unterschiedliche Mutationen auf Blöcke jedes Individuums angewendet, um die Geschwindigkeit des Erhaltens eines am besten geeigneten TS-Vorhersagemodells zu verbessern. Bei Schritt 410 kann das Züchten eines neuen Modells aus der ursprünglichen DNN-Modellarchitektur, ohne Einschränkung, ein Anwenden eines Satzes von Mutationen auf einen Block umfassen, beispielsweise: Einfügen einer flacheren Datenschicht, Einfügen einer dichten Schicht, Ändern (z.B. Verbreitern) einer Fensterlänge, Ändern einer Überlappungslänge, Ändern von Modellhyperparametern, Verzweigen und Einfügen, Ändern einer Kernelgröße, Einfügen einer Faltungsschicht, Erhöhen einer Lernrate usw.
  • Dann wird übergehend zu 415 ermittelt, ob eine vorbestimmte Trainingszeit für das Training des Individuums verstrichen ist. Beispielsweise kann ein 24-Stunden-Trainingszeitraum zum Trainieren der Modelle eingestellt werden, diese Trainingszeit ist jedoch durch den Benutzer konfigurierbar. Wenn die Trainingszeit noch nicht beendet ist, wird bei 425 ein „am besten geeignetes“ Individuum aus einer zufälligen Teilmenge von Individuen ausgewählt, und bei 430 werden weitere zufällige Mutationen auf dieses ausgewählte am besten geeignete Individuum angewendet, um eine Feinabstimmung vorzunehmen. Ein am besten geeignetes Individuum wird durch ein Modell gebildet, das den niedrigsten berechneten Fehler aufweist, wenn das Modell mit einem Testdatensatz ausgeführt wird und der Vorhersagefehler innerhalb einer bestimmten Genauigkeit ermittelt wird. Das Verfahren kehrt zu Schritt 415 zurück, um erneut zu ermitteln, ob eine vorbestimmte Trainingszeit abgelaufen ist. Wenn nicht, wiederholen sich die Verfahrensschritte 425 bis 430. Nachdem ermittelt wurde, dass die vorbestimmte Trainingszeit abgelaufen ist, gibt das Verfahren bei 420 das trainierte am besten geeignete Individuum aus.
  • 5 zeigt ein Züchten eines DNN-Zeitreihenvorhersagemodells 500 unter Verwendung des NCevolve-Suchalgorithmus 400 von 4. Insbesondere implementiert der NCEvolve-Suchalgorithmus ein Individuum 501 aus Blockstrukturen 502A, 502B ..., 502N, das mit dem Trainingsdatensatz ausgewertet werden soll. In Ausführungsformen ist der DNN-Suchalgorithmus vollautomatisch und zeitreihenspezifisch. Er ist für die Zeitreihenvorhersage unter Verwendung einer breiten Palette von DNN-Architekturen, unter anderem z.B. CNN, RNN und MLP, und einer Verkettung von „Blockstrukturen“ zugeschnitten, die beispielsweise CNN und MLP umfassen. Die Blockstrukturen 502A, 502B, ..., 502N ähneln jeweils den Ensemble-Verfahren des ML und räumen mit der früheren (falschen) Vorstellung auf, dass nur rekurrente Netzmodelle auf Zeitreihendaten angewendet werden sollten. Das Verfahren beginnt mit mehreren „Blöcken“ 502A, 502B, ..., 502N, wobei jeder Block eines Individuums 501 selbst ein NN enthält. Anstatt ein NN an den Eingabe-Zeitreihendatensatz 510 anzupassen, der multivariate Zeitdaten 512 enthalten kann, wird ein gleichzeitiges Anpassen mehrerer paralleler NNs in parallelen Blöcken an die Eingabedaten 510 durchgeführt. Jede Blockstruktur 502A, 502B, ..., 502N ähnelt Ensemble-Modellen, unter anderem z.B. einem MLP, CNN, RNN oder einer Kombination davon, was die Architektur robuster und eine parallele Suche möglich macht. Beispielsweise umfasst Block 502A des Individuums 501, wie gezeigt, ein einziges MLP, und Block 502B umfasst eine Verbindung eines MLP wie eines CNN. Wie bei Schritt 410 in 4 beschrieben, können unterschiedliche Mutationen auf jeden Block 502A, 502B ..., 502N des Individuums parallel angewendet werden, wobei ein oder mehrere Individuen 501 parallel verarbeitet werden. Wie in 5 gezeigt, kann eine erste Blockstruktur 502A beispielsweise mit einem ersten Fensterlängen-(WL_1)-Parameter 505A geändert werden, während ein Block 502B mit einem zweiten WL_2-Parameter 505B geändert werden kann und ein N-ter Block 502N mit einem weiteren WL_N-Parameter 505N geändert werden kann. Im Fall eines Blocks, der ein CNN implementiert, kann eine Faltungsschicht eingefügt werden, eine Verzweigungs- und Einfügungsoperation kann ausgeführt oder die Kernelgröße geändert werden. Zurück zu 6 kann insbesondere für jeden parallel trainierten Block 502A, ..., 502N eine Teilmenge 652, 654, 656 von Mutationen aus einer Obermenge von Mutationen 625 in einer Sequenz angewendet werden.
  • In einer Ausführungsform sind die Mutationsarten, die für die Anwendung auf einen bestimmten Block ausgewählt werden, datengesteuert. Auf Grundlage von Eigenschaften der Daten und der Art der DNN-Netzstruktur der Blockstruktur werden bestimmte Mutationen angewendet. Zum Beispiel werden berechnete Eigenschaften der eingegebenen Zeitreihendaten anfänglich erhalten und/oder bereitgestellt, z.B. unter anderem: Variation, Schiefe, Kurtosis, Trend, Saisonalität und Hurst-Parameterwert (d.h. die Beschreibung eines Maßes der zeitlichen Abhängigkeit). Diese Dateneigenschaften werden dann verwendet, um die Komponenten der angewendeten Mutationssequenz festzulegen. Beispielsweise wird auf Grundlage des Werts des Hurst-Parameters der Mutationsparameter Fensterlänge festgelegt.
  • Zurück zu 5 kann jeder Block 502A, 502B, ...,502N eine Ausgabe erzeugen, die auf einer Verkettungsschicht 520 verkettet werden können. Die Verkettungsschicht 520 erzeugt einen einzelnen Vorhersagewert für den Eingabedatensatz. Die Ausgabe kann durch einen gemittelten Wert der Ausgaben jedes einzelnen Blocks 502A, 502B, ..., 502N gebildet werden. Beispielsweise liefert eine Endausgabeschicht der Blockstruktur wie etwa der in 3A oder 3B gezeigten vorwärtsgerichteten MLP-Struktur eine Ausgabevorhersage, die am Verkettungsblock 520 verkettet wird.
  • Das trainierte Individuum 501, das am besten geeignet ist bzw. den geringsten Vorhersagefehler aufweist, wird als optimiertes neues DNN-Modell für den neuen Eingabedatensatz/Kontext ausgegeben.
  • Zurück zu 2 ist die Ausgabe des Architektursuchmoduls 170 eine neue Architektur, die durch den am besten geeigneten Block gebildet wird, z.B. zum Lösen eines Modells zur Kreditkartenbetrugserkennung. Das heißt, dass das AutoML-TS-Plug-in-Modul 150 des Datenverarbeitungs-Framework 100 die neu erstellte, trainierte und optimierte DNN-Architektur 180 für die Zeitreihenvorhersage unabhängig davon ausgibt, ob eine anfängliche Architekturempfehlung gegeben wurde oder nicht. Neben der Ausgabe einer trainierten und optimierten DNN-Architektur werden ferner beliebige Prognosen/Listen von Anomalien/Clustern (abhängig von den Aufgaben) zur Präsentation oder Anzeige über eine Ausgabe der Benutzerschnittstelle der Einheit mit Unsicherheitsbewertungen und beliebigen Erläuterungen (z.B. für extreme Ereignisse) erzeugt.
  • Wie weiter in 2 gezeigt, sieht das AutoML-TS-Plug-in-Modul 150 des Datenverarbeitungs-Framework 100 ferner eine oder mehrere Benutzerschnittstellen 110 vor, die Eingabeinteraktionen des Benutzers mit der Architektur ermöglichen. Über eine Benutzerschnittstelle interagiert der Endbenutzer mit der Architektur, um einen Suchstart einzuleiten und ferner eine gewünschte Laufzeit zu definieren. Ein Benutzer kann die Suche jederzeit unterbrechen, um Zwischenergebnisse zu erhalten.
  • 7A zeigt eine auf einer Benutzereinheit gezeigte Benutzerschnittstelle, die eine Eingabe von Daten für die automatisierte Erstellung eines Zeitreihenvorhersagemodells ermöglicht. Beispielsweise kann ein Benutzer vor der Verwendung des Verfahrens 400 von 4 über eine Schnittstellenanzeige 700 bei 703 eine Datenquelle hinzufügen, beispielsweise indem er CVS-Dateien in einen Behälter an der Schnittstelle zieht/ablegt, oder alternativ nach Dateien bis zu einer gegebenen Größe zum Hochladen sucht. Andernfalls kann der Benutzer bei 706 Daten und Modelle eines bestimmten Projekts angeben oder laden.
  • 7B zeigt auf der Schnittstellenanzeige 700 ferner eine Ja/Nein-Auswahl 710, die eine Erstellung einer Zeitreihenvorhersage zur Vorhersage einer zukünftigen Aktivität über einen bestimmten Datum/Uhrzeit-Bereich ermöglicht. Eine weitere Dropdown-Menüauswahl 720 ist vorgesehen, die dem Benutzer die Eingabe eines Geschäftsanwendungsfalles ermöglicht. Das bedeutet, dass dies durch eine Auswahl einer Vorhersagespalte geschieht, d.h. eine Modellarchitektur (Plug-in-Pipeline) vorhanden ist, die die Werte (z.B. Gewinne und Verluste) in einer Spalte (einer Datentabelle) auf Grundlage des Rests der Werte der Spalten vorhersagen kann.
  • 7B zeigt eine Benutzerschnittstelle 701, die als Reaktion auf den über die Dropdown-Menüauswahl 720 eingegebenen Geschäftsanwendungsfall die empfohlenen Pipelines anbietet. In 7C stellt die Benutzerschnittstelle empfohlene Pipelines dar, zu denen übliche maschinelle Lernpipelines 730 gehören, z.B. Autoregressor, XGBoost, Holt-Winters, oder eine oder mehrere bestehende tiefe neurale Netzarchitekturen, z.B. profit_loss AutoML TS 750.
  • 7B zeigt eine weitere Menüauswahl 725, die vorgesehen ist, um eine Auswahl einer Datum/Uhrzeit-Spalte, z.B. eines transactionDate, durch den Benutzer über die auf einer Benutzereinheit angezeigte Benutzerschnittstelle zu ermöglichen. Als Reaktion auf die Auswahl der Datum/Uhrzeit-Spalte über die Menüauswahl 725 kann der Benutzer über die Schnittstellenanzeige 700 durch die Auswahlen 750 ein Rückschauzeitfenster eingeben, um anzugeben, wie weit in der Zeit die Zeitreihendaten von Transaktionen zurückverfolgt werden sollen. Eine weitere Dropdown-Menüauswahl 775 ist vorgesehen, die dem Benutzer eine Auswahl eines Vorhersagezeitfensters ermöglicht, z.B. 1 Tag im Voraus.
  • Zurück zu 2 kann der Benutzer über eine weitere Benutzerschnittstelle 155 eine gewünschte Laufzeit zum Lösen einer Zeitreihenvorhersageaufgabe und eine gewünschte Genauigkeit des Zeitreihenvorhersageergebnisses (der Vorhersage) eingeben. Alternativ kann der Benutzer eine Einstellung des Laufzeitverhältnisses eingeben, die durch ein Verhältnis des zusätzlichen Genauigkeitsgewinns zur Laufzeit gebildet wird, z.B. eine 1 % höhere Genauigkeit pro Stunde, was bedeutet, dass eine zusätzliche Stunde Laufzeit zu einer um 1 % höheren Genauigkeit führt, abhängig von der gegenwärtigen Genauigkeit. Das System verwendet die Laufzeitgenauigkeit, um zu ermitteln, ob es weiterlaufen oder beendet werden soll. Zusätzlich kann der Benutzer Beschränkungen in das System eingeben. Manche vom Benutzer eingegebenen Beschränkungen können Anforderungen umfassen, z.B. eine oder mehrere Eigenschaften oder ein bevorzugtes DNN-Modell, z.B. MLP, CNN, RNN, wenn die aktuelle Architektur abweicht. Weitere vom Benutzer eingegebenen Beschränkungen können eine maximale Trainingszeit oder Modelllaufzeit oder eine gewählte angestrebte Genauigkeitsbewertung umfassen. Die Architektursuche wird beendet, nachdem das Ziel des Benutzers erreicht ist. Alternativ kann der Benutzer einen Befehl eingeben, um eine Beendigung der Verarbeitung zu erzwingen, z.B. um Zwischenergebnisse zu erhalten.
  • Über eine weitere Schnittstelle 185 kann der Benutzer Ergebnisse von Zeitreihenvorhersageaufgaben erhalten, z.B. Zwischenergebnisse oder Endergebnisse mit einer Erläuterung. Beispielsweise kann der Benutzer nach Abschluss der DNN-Suche eine abschließende Ausgabe mit einer Erläuterung anfordern. Das Endergebnis wird durch eine optimale neuronale Netzarchitektur und die Erkenntnisse über deren Eigenschaften gebildet. Beispielsweise, welche die beiden wichtigsten Eigenschaften dieser Architektur sind. Wenn der Benutzer beispielsweise den Energieverbrauch prognostizieren möchte, gibt das System 100 ein CNN mit MLP-Blöcken aus, wobei die Erläuterung „Faltungsschichten machen X % dieser Architektur aus, und Temperatur und Wolkenabdeckung machen Y % der Datenvariation aus“ lauten könnte. Man beachte, dass „Temperatur“ und „Bewölkung“ Eigenschaften der Eingabedaten sind. Die Erläuterung stellt ein Nebenprodukt des DNN-Trainings- und Optimierungsmoduls dar. In einer Ausführungsform wird sie durch eine Erweiterung der LIME-Bibliothek („Local Interpretable Model-agnostic Explanations“) implementiert, die unter https:/github.com/marcotcr/lime verfügbar ist. Zu solchen Erläuterungen können ferner gehören: eine Liste mit Erläuterungen in Bezug auf die Gründe für die Ergebnisse, und, falls die Ausgabe auf Grundlage einer Unsicherheitsbewertung ein Ausreißer ist, eine mögliche Erläuterung.
  • Ein Beispiel zeigt experimentelle Ergebnisse von Deep AutoML TS im Vergleich zum Stand der Technik in Bezug auf die Vorhersagefähigkeit.
  • Beispiel 1: DNN AutoMLTS bildet die Ausgabearchitektur, die mit den Verfahren des Stands der Technik - dem ARMA- („autoregressiver gleitender Durchschnitt“) und dem Holt-Winters-Vorhersagemodell -für zwei Datensätze im Experiment verglichen wird. Insbesondere stellt dieses Beispiel eine univariate Zeitreihendatenvorhersage dar. Das Ergebnis des quadratischen Mittels (RMSE) auf Grundlage 1) eines ARMA(1,1)-Ansatzes unter Verwendung eines Modells mit bekannter Ordnung (z.B. ARMA(1,1) + T(5)) ergibt einen Wert von 1,34, während die Verwendung von AutoML-TS mit einem CNN zu einem RMSE von 1,11 führt. Auf Grundlage von Trend + Saisonalität + ARMA(1,1) + N(0,1) ergibt der Holt-Winters-Fehler einen Wert von 1,58, während die Verwendung von AutoML-TS mit einem CNN zu einem RMSE von 1,29 führt. Wie die Ergebnisse zeigen, weist AutoML TS einen niedrigeren Vorhersagefehler auf.
  • 8 zeigt ein beispielhaftes Datenverarbeitungssystem gemäß der vorliegenden Erfindung. Es versteht sich, dass das gezeigte Computersystem nur ein Beispiel für ein geeignetes Verarbeitungssystem bildet und keine Einschränkung des Bereichs der Anwendung oder Funktionalität von Ausführungsformen der vorliegenden Erfindung darstellen soll. Beispielsweise kann das gezeigte System mit zahlreichen weiteren Allzweck- oder Spezial-Datenverarbeitungssystemumgebungen oder -konfigurationen betriebsfähig sein. Beispiele für bekannte Datenverarbeitungssysteme, -umgebungen und/oder - konfigurationen, die zur Verwendung mit dem in 8 gezeigten System geeignet sein können, können ohne Einschränkung Personal-Computer-Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptopeinheiten, Multiprozessorsysteme, mikroprozessorgestützte Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerkcomputer, Minicomputersysteme, Mainframe-Computer-Systeme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten umfassen, und dergleichen umfassen.
  • In einigen Ausführungsformen kann das Computersystem im allgemeinen Kontext von durch das Computersystem ausführbaren Anweisungen beschrieben werden, die als im Speicher 16 gespeicherte Programmmodule verkörpert sind, die von dem Computersystem ausgeführt werden. Im Allgemeinen können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, die bestimmte Aufgaben ausführen und/oder bestimmte Eingabedaten und/oder -datentypen gemäß der vorliegenden Erfindung implementieren (siehe z.B. die 2, 4).
  • Die Komponenten des Computersystems können ohne Einschränkung einen oder mehrere Prozessoren bzw. Verarbeitungseinheiten 12, einen Speicher 16 und einen Bus 14 umfassen, der verschiedene Systemkomponenten wie beispielsweise den Speicher 16 mit dem Prozessor 12 betriebsfähig verbindet. In einigen Ausführungsformen kann der Prozessor 12 ein oder mehrere Module 11 ausführen, die aus dem Speicher 16 geladen werden, wobei das eine oder die mehreren Programmmodule Software (Programmanweisungen) verkörpern, die den Prozessor veranlassen, eine oder mehrere Verfahrensausführungsformen der vorliegenden Erfindung auszuführen. In einigen Ausführungsformen kann das Modul 11 in die integrierten Schaltungen des Prozessors 12 programmiert sein oder kann aus dem Speicher 16, der Speichereinheit 18, dem Netzwerk 24 und/oder Kombinationen davon geladen werden.
  • Der Bus 14 kann eine oder mehrere von mehreren Arten von Busstrukturen darstellen, beispielsweise eines Speicherbusses bzw. eines Speichercontrollers, eines Peripheriebusses, eines Accelerated Graphics Port und eines Prozessor- bzw. lokalen Busses, unter Verwendung einer Vielfalt von Busarchitekturen. Beispielsweise und ohne Einschränkung umfassen solche Architekturen ISA-Busse („Industry Standard Architecture“), MCA-Busse („Micro Channel Architecture“), EISA-Busse („Enhanced ISA“), lokale VESA-Busse („Video Electronics Standards Association“) und PCI-Busse („Peripheral Component Interconnects“).
  • Das Computersystem kann eine Vielzahl von durch das Computersystem lesbare Medien umfassen. Solche Medien können aus allen verfügbaren Medien bestehen, auf die das Computersystem zugreifen kann, und sie umfassen sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Speicher 16 (manchmal als Systemspeicher bezeichnet) kann von einem Computer lesbare Medien in Form von flüchtigem Speicher, etwa Direktzugriffsspeicher (RAM), Cache-Speicher und/oder anderen Formen umfassen. Das Computersystem kann ferner weitere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Speichermedien des Computersystems umfassen. Nur als Beispiel kann ein Speichersystem 18 zum Lesen und Beschreiben eines nicht austauschbaren, nichtflüchtigen magnetischen Mediums (z.B. einer „Festplatte“) vorgesehen sein. Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf einer austauschbaren, nichtflüchtigen Magnetplatte (z.B. einer „Diskette“) und ein Laufwerk für optische Platten zum Lesen von oder Schreiben auf einer austauschbaren, nichtflüchtigen optischen Platte wie einer CD-ROM, DVD-ROM oder einem anderen optischen Medium vorgesehen sein. In solchen Fällen können diese jeweils über eine oder mehrere Medien-Datenschnittstellen mit dem Bus 14 verbunden sein.
  • Das Computersystem kann auch mit einem oder mehreren externen Einheiten 26 Daten austauschen, beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 28 usw.; einem oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem zu interagieren; und/oder irgendwelchen Einheiten (z.B. Netzwerkkarten, Modems usw.), die es dem Computersystem ermöglichen, mit einem oder mehreren weiteren Datenverarbeitungseinheiten Daten auszutauschen. Ein solcher Datenaustausch kann über Eingabe/Ausgabe(E/A) -Schnittstellen 20 erfolgen.
  • Noch weiter kann das Computersystem über einen Netzwerkadapter 22 mit einem oder mehreren Netzwerken 24 wie einem lokalen Netzwerk (LAN), einem Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) Daten austauschen. Wie gezeigt, tauscht der Netzwerkadapter 22 mit den anderen Komponenten des Computersystems über den Bus 14 Daten aus. Es versteht es sich, dass andere Hardware- und/oder Softwarekomponenten, obwohl nicht gezeigt, in Verbindung mit dem Computersystem verwendet werden könnten. Beispiele hierfür sind unter anderem: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Festplattenarrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme usw.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Integrationsstufe handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen aufbewahren und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der fern angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Einheiten (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren zeigen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen zeigen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die hier verwendete Terminologie dient lediglich der Beschreibung bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Wie hierin verwendet, sollen die Singularformen „ein“ und „der/die/das“ auch die Pluralformen umfassen, es sei denn, der Kontext zeigt es deutlich anders an. Es versteht sich ferner, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen und/oder Komponenten anzeigen, aber das Vorhandensein oder Hinzufügen von einem oder mehreren weiteren Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon nicht ausschließen. Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente aller Elemente in den nachfolgenden Ansprüchen sollen jede Struktur, jedes Material oder jeden Vorgang zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie speziell beansprucht sind, umfassen. Die Beschreibung der vorliegenden Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung vorgestellt, soll für die Erfindung in der offenbarten Form jedoch nicht erschöpfend oder einschränkend sein. Viele Modifikationen und Varianten sind für Fachleute offensichtlich, ohne von dem Umfang und dem Geist der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundsätze der Erfindung und der praktischen Anwendung am besten zu erläutern und es anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, die für die jeweilige betrachtete Verwendung geeignet sind.
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle umfassen.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
    • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    • Resource Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-
    • Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
    • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
    • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
    • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
    • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netz aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 9 ist eine beispielhafte Cloud-Computing-Umgebung 50 gezeigt. Wie gezeigt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software as a Service anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 9 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich beispielhaft sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 10 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (siehe 9) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 10 gezeigten Komponenten, Schichten und Funktionen lediglich beispielhaft sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 umfasst Hardware- und SoftwareKomponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen die SoftwareKomponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung bzw. Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen umfassen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Verarbeitung zum automatischen Synthetisieren und Trainieren einer optimierten tiefen neuronalen Netzarchitektur, die neuronale Faltungsnetze, rekurrente neuronale Netze und mehrstufige Perzeptronen für die Zeitreihenvorhersage umfassen 96.

Claims (25)

  1. Von einem Computer implementiertes Verfahren zum automatischen Synthetisieren optimierter tiefer neuronaler Netzarchitekturen für eine Zeitreihenvorhersage, das Verfahren aufweisend: Empfangen, an einem Hardwareprozessor, eines Vorhersagekontextes, der einem aktuellen Anwendungsfall zugeordnet ist; gestützt auf den zugeordneten Vorhersagekontext, Verwenden des Hardwareprozessors zum Auswählen einer bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines ähnlichen Anwendungsfalles konfiguriert ist; Replizieren der ausgewählten bestehenden Vorhersagemodell-Netzarchitektur, um eine Mehrzahl von Kandidaten-Vorhersagemodell-Netzarchitekturen zu erzeugen; Eingeben, unter Verwendung des Hardwareprozessors, von Zeitreihendaten in jede der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen; paralleles Trainieren, unter Verwendung des Hardwareprozessors, jeder jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur der Mehrzahl mit den eingegebenen Zeitreihendaten; Ändern, unter Verwendung des Hardwareprozessors, jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines entsprechend unterschiedlichen Satzes eines oder mehrerer Modellparameter bei dem parallelen Trainieren; und Ermitteln, unter Verwendung des Hardwareprozessors, einer am besten geeigneten geänderten Vorhersagemodell-Netzarchitektur aus der Mehrzahl zum Lösen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles.
  2. Von einem Computer implementiertes Verfahren nach Anspruch 1, wobei die Vorhersagemodell-Netzarchitektur ein oder mehrere tiefe neuronale Netzmodelle zur Zeitreihenvorhersage aufweist, ausgewählt aus: neuronalen Faltungsnetzen, rekurrenten neuronalen Netzen und mehrschichtigen neuronalen Perzeptron-Netzen oder Kombinationen davon.
  3. Von einem Computer implementiertes Verfahren nach Anspruch 1, wobei das Auswählen einer Vorhersagemodell-Netzarchitektur für den aktuellen Anwendungsfall aufweist: Durchsuchen einer Bibliothek bestehender Vorhersagemodell-Netzarchitekturen, die zuvor für einen historischen Anwendungsfall in Bezug auf den aktuellen Vorhersagekontext erzeugt wurden.
  4. Von einem Computer implementiertes Verfahren nach Anspruch 1, wobei ein Satz des einen oder der mehreren Modellparameter, die bei einer jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur angewendet werden, aufweist: einen anderen Rückschau-Zeitfensterlängenparameter, einen anderen Fensterüberlappungsparameter.
  5. Von einem Computer implementiertes Verfahren nach Anspruch 1, ferner aufweisend: Erhalten, unter Verwendung des Hardwareprozessors, von charakteristischen Eigenschaften der eingegebenen Zeitreihendaten; Erkennen, unter Verwendung des Hardwareprozessors, einer Ähnlichkeit der charakteristischen Eigenschaften der eingegebenen Zeitreihendaten und der Dateneigenschaften von Daten, die als Eingabe in eine bestehende Vorhersagemodell-Netzarchitektur verwendet wurden; und Auswählen, unter Verwendung des Hardwareprozessors, derjenigen bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines aktuellen Anwendungsfalles konfiguriert ist, gestützt auf die erkannte Ähnlichkeit.
  6. Von einem Computer implementiertes Verfahren nach Anspruch 2, ferner aufweisend: Empfangen, an dem Hardwareprozessor, von Benutzerbeschränkungen über eine Benutzerschnittstelle zum Durchführen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles, wobei die eine oder mehreren Benutzerbeschränkungen mindestens eines oder mehrere aufweisen von: einer bestimmten Vorhersagemodell-Netzarchitektur, einer Modelltrainingszeit-Grenze, einer Vorhersagegenauigkeit oder eines Laufzeitverhältnisses.
  7. Von einem Computer implementiertes Verfahren nach Anspruch 6, ferner aufweisend: Ausgeben, über die Benutzerschnittstelle, der am besten geeigneten Vorhersagemodell-Netzarchitektur, und Anzeigen, über die Benutzerschnittstelle, einer Erläuterung einer oder mehrerer dominanter Eigenschaften der am besten geeigneten Vorhersagemodell-Netzarchitektur.
  8. Von einem Computer implementiertes Verfahren nach Anspruch 2, wobei die Mehrzahl von trainierten Kandidaten-Vorhersagemodell-Netzarchitekturen ein Individuum aufweist, das Verfahren ferner aufweisend: Erzeugen, unter Verwendung des Hardwareprozessors, mehrerer Individuen, und für jedes Individuum: Ändern, unter Verwendung des Hardwareprozessors, jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines entsprechend unterschiedlichen Satzes eines oder mehrerer Modellparameter bei dem parallelen Trainieren.
  9. Von einem Computer implementiertes Verfahren nach Anspruch 8, ferner aufweisend: Auswählen, unter Verwendung des Hardwareprozessors, eines zufälligen Satzes von Individuen; Ermitteln, unter Verwendung des Hardwareprozessors, eines am besten geeigneten Individuums aus dem zufälligen Satz; und Anwenden, unter Verwendung des Hardwareprozessors, von zufälligen Mutationen auf eine oder mehrere Kandidaten-Vorhersagemodell-Netzarchitekturen des ermittelten am besten geeigneten Individuums.
  10. Von einem Computer implementiertes System zum automatischen Synthetisieren optimierter tiefer neuronaler Netzarchitekturen für eine Zeitreihenvorhersage, das System aufweisend: eine Speichereinheit zum Speichern eines von einem Computer lesbaren Programms, und mindestens einen Prozessor, der zum Ausführen des von einem Computer lesbaren Programms geeignet ist, um den mindestens einen Prozessor zu konfigurieren zum: Empfangen eines Vorhersagekontextes, der einem aktuellen Anwendungsfall zugeordnet ist; gestützt auf den zugeordneten Vorhersagekontext, Auswählen einer bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines ähnlichen Anwendungsfalles konfiguriert ist; Replizieren der ausgewählten bestehenden Vorhersagemodell-Netzarchitektur, um eine Mehrzahl von Kandidaten-Vorhersagemodell-Netzarchitekturen zu erzeugen; Eingeben von Zeitreihendaten in jede der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen; paralleles Trainieren jeder jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur der Mehrzahl mit den eingegebenen Zeitreihendaten; Ändern jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren; und Ermitteln, aus der Mehrzahl, einer am besten geeigneten geänderten Vorhersagemodell-Netzarchitektur zum Lösen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles.
  11. Von einem Computer implementiertes System nach Anspruch 10, wobei die Vorhersagemodell-Netzarchitektur ein oder mehrere tiefe neuronale Netzmodelle zur Zeitreihenvorhersage aufweist, ausgewählt aus: neuronalen Faltungsnetzen, rekurrenten neuronalen Netzen und mehrschichtigen neuronalen Perzeptron-Netzen oder Kombinationen davon.
  12. Von einem Computer implementiertes System nach Anspruch 10, wobei zum Auswählen einer Vorhersagemodell-Netzarchitektur für den aktuellen Anwendungsfall der mindestens eine Prozessor ferner konfiguriert ist zum: Durchsuchen einer Bibliothek bestehender Vorhersagemodell-Netzarchitekturen, die zuvor für einen historischen Anwendungsfall in Bezug auf den aktuellen Vorhersagekontext erzeugt wurden.
  13. Von einem Computer implementiertes System nach Anspruch 10, wobei ein Satz des einen oder der mehreren Modellparameter, die bei einer jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur angewendet werden, aufweist: einen anderen Rückschau-Zeitfensterlängenparameter, einen anderen Fensterüberlappungsparameter.
  14. Von einem Computer implementiertes System nach Anspruch 10, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Erhalten von charakteristischen Eigenschaften der eingegebenen Zeitreihendaten; Erkennen einer Ähnlichkeit der charakteristischen Eigenschaften der eingegebenen Zeitreihendaten und der Dateneigenschaften von Daten, die als Eingabe in eine bestehende Vorhersagemodell-Netzarchitektur verwendet wurden; und Auswählen der bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines aktuellen Anwendungsfalles konfiguriert ist, gestützt auf die erkannte Ähnlichkeit.
  15. Von einem Computer implementiertes System nach Anspruch 11, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Empfangen von Benutzerbeschränkungen über eine Benutzerschnittstelle zum Durchführen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles, wobei die eine oder mehreren Benutzerbeschränkungen mindestens eines oder mehrere aufweisen von: einer bestimmten Vorhersagemodell-Netzarchitektur, einer Modelltrainingszeit-Grenze, einer Vorhersagegenauigkeit oder eines Laufzeitverhältnisses.
  16. Von einem Computer implementiertes System nach Anspruch 15, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Ausgeben, über die Benutzerschnittstelle, der am besten geeigneten Vorhersagemodell-Netzarchitektur, und Anzeigen, über die Benutzerschnittstelle, einer Erläuterung einer oder mehrerer dominanter Eigenschaften der am besten geeigneten Vorhersagemodell-Netzarchitektur.
  17. Von einem Computer implementiertes System nach Anspruch 11, wobei die Mehrzahl von trainierten Kandidaten-Vorhersagemodell-Netzarchitekturen ein Individuum aufweist, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Erzeugen mehrerer Individuen, und für jedes Individuum: Ändern jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren.
  18. Von einem Computer implementiertes System nach Anspruch 17, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Auswählen eines zufälligen Satzes von Individuen; Ermitteln eines am besten geeigneten Individuums aus dem zufälligen Satz; und Anwenden von zufälligen Mutationen auf eine oder mehrere Kandidaten-Vorhersagemodell-Netzarchitekturen des ermittelten am besten geeigneten Individuums.
  19. Computerprogrammprodukt, wobei das Computerprogrammprodukt ein von einem Computer lesbares Speichermedium mit einem darin gespeicherten von einem Computer lesbaren Programm aufweist, wobei das von einem Computer lesbare Programm, wenn es auf einem Computer mit mindestens einem Prozessor ausgeführt wird, den mindestens einen Prozessor veranlasst zum: Empfangen eines Vorhersagekontextes, der einem aktuellen Anwendungsfall zugeordnet ist; gestützt auf den zugeordneten Vorhersagekontext, Auswählen einer bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines ähnlichen Anwendungsfalles konfiguriert ist; Replizieren der ausgewählten bestehenden Vorhersagemodell-Netzarchitektur, um eine Mehrzahl von Kandidaten-Vorhersagemodell-Netzarchitekturen zu erzeugen; Eingeben von Zeitreihendaten in jede der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen; paralleles Trainieren jeder jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur der Mehrzahl mit den eingegebenen Zeitreihendaten; Ändern jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren; und Ermitteln, aus der Mehrzahl, einer am besten geeigneten geänderten Vorhersagemodell-Netzarchitektur zum Lösen der Zeitreihenvorhersageaufgabe des aktuellen Anwendungsfalles.
  20. Computerprogrammprodukt nach Anspruch 19, wobei zum Auswählen einer Vorhersagemodell-Netzarchitektur für den aktuellen Anwendungsfall das von einem Computer lesbare Programm den mindestens einen Prozessor veranlasst zum: Durchsuchen einer Bibliothek bestehender Vorhersagemodell-Netzarchitekturen, die zuvor für einen historischen Anwendungsfall in Bezug auf den aktuellen Vorhersagekontext erzeugt wurden.
  21. Computerprogrammprodukt nach Anspruch 19, wobei ein Satz des einen oder der mehreren Modellparameter, die bei einer jeweiligen Kandidaten-Vorhersagemodell-Netzarchitektur angewendet werden, aufweist: einen anderen Rückschau-Zeitfensterlängenparameter, einen anderen Fensterüberlappungsparameter.
  22. Computerprogrammprodukt nach Anspruch 19, wobei das von einem Computer lesbare Programm den mindestens einen Prozessor veranlasst zum: Erhalten von charakteristischen Eigenschaften der eingegebenen Zeitreihendaten; Erkennen einer Ähnlichkeit der charakteristischen Eigenschaften der eingegebenen Zeitreihendaten und der Dateneigenschaften von Daten, die als Eingabe in eine bestehende Vorhersagemodell-Netzarchitektur verwendet wurden; und Auswählen der bestehenden Vorhersagemodell-Netzarchitektur, die für eine Zeitreihenvorhersageaufgabe eines aktuellen Anwendungsfalles konfiguriert ist, gestützt auf die erkannte Ähnlichkeit.
  23. Computerprogrammprodukt nach Anspruch 19, wobei das von einem Computer lesbare Programm den mindestens einen Prozessor veranlasst zum: Ausgeben, über die Benutzerschnittstelle, der am besten geeigneten Vorhersagemodell-Netzarchitektur, und Anzeigen, über die Benutzerschnittstelle, einer Erläuterung einer oder mehrerer dominanter Eigenschaften der am besten geeigneten Vorhersagemodell-Netzarchitektur.
  24. Computerprogrammprodukt nach Anspruch 19, wobei die Mehrzahl von trainierten Kandidaten-Vorhersagemodell-Netzarchitekturen ein Individuum aufweist, wobei das von einem Computer lesbare Programm den mindestens einen Prozessor veranlasst zum: Erzeugen mehrerer Individuen, und für jedes Individuum: Ändern jeder der Mehrzahl der Kandidaten-Vorhersagemodell-Netzarchitekturen durch Anwenden eines jeweils unterschiedlichen Satzes von einem oder mehreren Modellparametern beim parallelen Trainieren.
  25. Computerprogrammprodukt nach Anspruch 24, wobei das von einem Computer lesbare Programm den mindestens einen Prozessor veranlasst zum: Auswählen eines zufälligen Satzes von Individuen; Ermitteln eines am besten geeigneten Individuums aus dem zufälligen Satz; und Anwenden von zufälligen Mutationen auf eine oder mehrere Kandidaten-Vorhersagemodell-Netzarchitekturen des ermittelten am besten geeigneten Individuums.
DE112021006215.8T 2020-11-30 2021-11-12 Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion Pending DE112021006215T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/106,966 2020-11-30
US17/106,966 US20220172038A1 (en) 2020-11-30 2020-11-30 Automated deep learning architecture selection for time series prediction with user interaction
PCT/IB2021/060490 WO2022112895A1 (en) 2020-11-30 2021-11-12 Automated deep learning architecture selection for time series prediction with user interaction

Publications (1)

Publication Number Publication Date
DE112021006215T5 true DE112021006215T5 (de) 2023-09-14

Family

ID=81751548

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021006215.8T Pending DE112021006215T5 (de) 2020-11-30 2021-11-12 Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion

Country Status (6)

Country Link
US (1) US20220172038A1 (de)
JP (1) JP2023550959A (de)
CN (1) CN116438555A (de)
DE (1) DE112021006215T5 (de)
GB (1) GB2616770A (de)
WO (1) WO2022112895A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220035877A1 (en) * 2021-10-19 2022-02-03 Intel Corporation Hardware-aware machine learning model search mechanisms
US20240020527A1 (en) * 2022-07-13 2024-01-18 Home Depot Product Authority, Llc Machine learning modeling of time series with divergent scale
CN115310727B (zh) * 2022-10-11 2023-02-03 山东建筑大学 一种基于迁移学习的建筑冷热电负荷预测方法及系统
WO2024085775A1 (en) * 2022-10-17 2024-04-25 Xero Limited Methods and systems for generating synthetic data
CN117312832A (zh) * 2023-11-28 2023-12-29 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种基于深度序列模型的中长期云量预测方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496927B2 (en) * 2014-05-23 2019-12-03 DataRobot, Inc. Systems for time-series predictive data analytics, and related methods and apparatus
CN104021432A (zh) * 2014-06-18 2014-09-03 温州大学 基于改进灰色预测模型的电力负荷中长期预测方法
US10762892B2 (en) * 2017-02-23 2020-09-01 Semantic Machines, Inc. Rapid deployment of dialogue system
US10541822B2 (en) * 2017-09-29 2020-01-21 International Business Machines Corporation Expected group chat segment duration
WO2019152929A1 (en) * 2018-02-02 2019-08-08 Google Llc Regularized neural network architecture search
CN109214566B (zh) * 2018-08-30 2021-02-26 华北水利水电大学 基于长短期记忆网络的风电功率短期预测方法
CN109255505B (zh) * 2018-11-20 2021-09-24 国网辽宁省电力有限公司经济技术研究院 一种多模型融合神经网络的短期负荷预测方法
CN109472110B (zh) * 2018-11-29 2023-06-27 南京航空航天大学 一种基于lstm网络和arima模型的航空发动机剩余使用寿命预测方法
CN109961177A (zh) * 2019-03-11 2019-07-02 浙江工业大学 一种基于长短期记忆循环神经网络的通用水冷中央空调能耗预测方法

Also Published As

Publication number Publication date
US20220172038A1 (en) 2022-06-02
JP2023550959A (ja) 2023-12-06
CN116438555A (zh) 2023-07-14
WO2022112895A1 (en) 2022-06-02
GB202309413D0 (en) 2023-08-09
GB2616770A (en) 2023-09-20

Similar Documents

Publication Publication Date Title
DE112021006215T5 (de) Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion
DE112021004908T5 (de) Computerbasierte systeme, rechenkomponenten und rechenobjekte, die eingerichtet sind, dynamische ausreisser-verzerrungs-verringerung bei maschinenlernmodellen zu implementieren
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112021004197T5 (de) Semantisches Lernen in einem System für ein föderiertes Lernen
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE112016001902T5 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE112020002042T5 (de) Erzeugen eines absichtserkennungsmodells auf grundlage von randomisierten absichtsvektornäherungen
DE112021001566T5 (de) Ermitteln von abhängigkeiten multivariater zeitreihendaten
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE102016100046A1 (de) Verfahren, System und Benutzerschnittstelle zur Expertensuche auf der Basis von Aufzeichnungen zu Lösungen von Problemstellungen
DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
DE112019005373T5 (de) Framework für maschinelles lernen zum finden von materialien mit gewünschten eigenschaften
DE112021003262T5 (de) Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen
DE102013206354A1 (de) Adaptive Bewertung der Objektrelevanz auf der Grundlage dynamischer Benutzereigenschaften
DE112020001774T5 (de) Datensatzabhängiges niedrigrang-zerlegen von neuronalen netzwerken
DE112020003744T5 (de) Durch dienstqualitätskriterien vorgegebenes automatisiertes betriebsdatenmanagement
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens
DE112020005296T5 (de) Durchsuchen von gesprächsprotokollen eines systems mit virtuellen dialogagenten nach kontrastierenden zeitlichen mustern
DE112021005569T5 (de) Kontradiktorisches, halbüberwachtes one-shot-lernen
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung
DE112016004745B4 (de) Syndiziertes, auf einer Cloud beruhendes Dienstmodell "Benachrichtigung als ein Dienst" Erweiterung in einem RSS-Feed
DE112020004231T5 (de) Ausführen von skalarproduktoperationen unter verwendung einer memristiven crossbar-anordnung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence