DE112020004120T5 - Überwachen eines status eines computersystems durch implementieren eines netzwerks für tiefes, unüberwachtes binäres codieren - Google Patents

Überwachen eines status eines computersystems durch implementieren eines netzwerks für tiefes, unüberwachtes binäres codieren Download PDF

Info

Publication number
DE112020004120T5
DE112020004120T5 DE112020004120.4T DE112020004120T DE112020004120T5 DE 112020004120 T5 DE112020004120 T5 DE 112020004120T5 DE 112020004120 T DE112020004120 T DE 112020004120T DE 112020004120 T5 DE112020004120 T5 DE 112020004120T5
Authority
DE
Germany
Prior art keywords
loss
lstm
time series
feature vector
cluster
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
DE112020004120.4T
Other languages
English (en)
Inventor
Dongjin Song
Yuncong Chen
Cristian Lumezanu
Takehiko Mizoguchi
Haifeng Chen
Dixian Zhu
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.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
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 NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of DE112020004120T5 publication Critical patent/DE112020004120T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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
    • 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/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Ein computerimplementiertes Verfahren zum Überwachen eines Status bzw. Zustands eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren enthält ein Empfangen (41) multivariater Zeitreihendaten von einem oder mehreren Sensoren, die mit einem System assoziiert sind, ein Implementieren (420) eines Codierer-Decodierer-Frameworks mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)), um temporale bzw. zeitliche Informationen unterschiedlicher Zeitschritte innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen, wobei das LSTM-Codierer-Decodierer-Framework einen temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust enthält, ein Berechnen (430) eines minimalen Abstands vom Binärcode zu historischen Daten, und ein Erhalten (440) einer Status- bzw. Zustandsbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands.

Description

  • INFORMATION BEZÜGLICH ZUGEHÖRIGER ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der vorläufigen Anmeldungen Nr. 62/892,039, eingereicht am 27. August 2019, Nr. 62/895,549, eingereicht am 4. September 2019, und der am 26. August 2020 eingereichten US-Patentanmeldung Nr. 17/002,960 , die hierin durch Bezugnahme in ihrer Gesamtheit enthalten sind.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft künstliche Intelligenz und maschinelles Lernen und insbesondere ein Überwachen eines Zustands bzw. Status eines Computersystems durch Implementieren eines Netzwerks für tiefes, unüberwachtes binäres Codieren.
  • Beschreibung des zugehörigen Standes der Technik
  • Multivariate Zeitreihendaten werden bei verschiedenen realen Anwendungen, wie beispielsweise Smart-City-Systemen, Kraftwerksüberwachungssystemen, tragbaren Geräten etc. immer allgegenwärtiger. In Anbetracht historischer multivariater Zeitreihendaten (z.B. von Sensormesswerten eines Kraftwerkssystems) ohne irgendeine Statusbezeichnung vor einer Zeit T und ein aktuelles multivariates Zeitreihensegment kann es herausfordernd sein, ähnliche Muster in den historischen Daten auf effiziente Weise abzurufen und diese ähnlichen Muster zu verwenden, um den Status eines aktuellen Segments zu interpretieren. Zum Beispiel kann es schwierig sein, kompakte Darstellungen der historischen multivariaten Zeitreihendaten zu erhalten, die verborgene Struktur und zeitliche Information der rohen Zeitreihendaten zu verwenden, um eine Darstellung zu erzeugen, und/oder eine Darstellung mit besserer Verallgemeinerungsfähigkeit zu erzeugen.
  • Unüberwachtes Hashing kann in eine Vielzahl von Typen kategorisiert werden, einschließlich randomisiertem Hashing (z.B. lokalitätssensitives Hashing (LSH)), unüberwachten Methoden, die eine Datenverteilung berücksichtigen (z.B. spektrales Hashing (SH) und iterative Quantisierung (ITQ) und Ansätze eines tiefen unüberwachten Hashings, die tiefes Lernen bzw. Deep Learning verwenden, um eine sinnvolle bzw. aussagekräftige Darstellung der Eingabe zu erhalten (z.B. DeepBit und DeepHash). Diese Methoden sind jedoch wenigstens aus den folgenden Gründen eingeschränkt: (1) sie können die zugrundeliegenden Cluster-/Strukturinformationen der eingegebenen Daten nicht erfassen; (2) sie berücksichtigen die zeitliche Information der eingegebenen Daten nicht; und (3) sie konzentrieren sich nicht auf ein Herstellen einer Darstellung mit besserer Verallgemeinerungsfähigkeit.
  • ZUSAMMENFASSUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Überwachen eines Zustands bzw. Status eines Computersystems durch Implementieren eines Netzwerks für ein tiefes unüberwachtes binäres Codieren bereitgestellt. Das Verfahren enthält ein Empfangen multivariater Zeitreihendaten von einem oder mehreren Sensoren, die mit einem System assoziiert sind, und ein Implementieren eines Codierer-Decodierer-Frameworks mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)), um zeitliche Information von unterschiedlichen Zeitschritten innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen. Das LSTM-Codierer-Decodierer-Framework enthält einen zeitlichen bzw. temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust. Ein Implementieren des LSTM-Codierer-Decodierer-Frameworks enthält weiterhin ein Erzeugen von einem oder mehreren Zeitreihensegmenten basierend auf den multivariaten Zeitreihendaten unter Verwendung eines LSTM-Codierers, um die zeitliche Codierung und das Erzeugen eines Binärcodes für jedes von dem einen oder den mehreren Zeitreihensegmente basierend auf einem Merkmalsvektor durchzuführen. Das Verfahren enthält weiterhin ein Berechnen eines minimalen Abstands vom Binärcode zu historischen Daten und ein Erhalten einer Statusbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein System zum Überwachen eines Zustands bzw. Status eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren bereitgestellt. Das System enthält eine Speichervorrichtung, die einen Programmcode speichert, und wenigstens eine Prozessorvorrichtung, die operativ mit der Speichervorrichtung gekoppelt ist. Die wenigstens eine Prozessorvorrichtung ist konfiguriert, um einen auf der Speichervorrichtung gespeicherten Programmcode auszuführen, um multivariate Zeitreihendaten von einem oder mehreren Sensoren zu empfangen, die mit einem System assoziiert sind, und ein Codierer-Decodierer-Framework mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)) zu implementieren, um zeitliche Information von unterschiedlichen Zeitschritten innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen. Das LSTM-Codierer-Decodierer-Framework enthält einen zeitlichen bzw. temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust. Die wenigstens eine Prozessorvorrichtung ist weiterhin konfiguriert, um das LSTM-Codierer-Decodierer-Framework zu implementieren, indem ein oder mehrere Zeitreihensegmente basierend auf den multivariaten Zeitreihendaten unter Verwendung eines LSTM-Codierers erzeugt wird oder werden, um die zeitliche Codierung durchzuführen, und indem ein Binärcode für jedes von dem einen oder den mehreren Zeitreihensegmenten basierend auf einem Merkmalsvektor erzeugt wird. Die wenigstens eine Prozessorvorrichtung ist konfiguriert, um einen auf der Speichervorrichtung gespeicherten Programmcode auszuführen, um einen minimalen Abstand vom Binärcode zu historischen Daten zu berechnen und eine Statusbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands zu erhalten.
  • Diese und weitere Merkmale und Vorteile werden aus der folgenden detaillierten Beschreibung illustrativer Ausführungsformen davon offensichtlich werden, die im Zusammenhang mit den beigefügten Zeichnungen zu lesen ist.
  • Figurenliste
  • Die Offenbarung wird Details in der folgenden Beschreibung bevorzugter Ausführungsformen unter Bezugnahme auf die folgenden Figuren bereitstellen, wobei:
    • 1 ein Block-/Ablaufdiagramm, das einen Überblick auf hoher Ebene über ein Framework einschließlich eines Systems zum Überwachen eines Status eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 2 ein Block-/Ablaufdiagramm, das ein Framework für tiefes unüberwachtes binäres Codieren darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 3 ein Diagramm, das eine Modellierung einer zeitlichen Abhängigkeit durch zeitliches Codieren an verborgenen Merkmalen darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 4 ein Block-/Ablaufdiagramm, das ein System/Verfahren zum Überwachen eines Status eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
    • 5 ein Block-/Ablaufdiagramm, das ein Computersystem darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung ist.
  • DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Gemäß Ausführungsformen der vorliegenden Erfindung werden Systeme und Verfahren bereitgestellt, um ein Framework für eine tiefes überwachtes binäres Codieren Ende-zu-Ende (z.B. Hashing) für einen Abruf multivariater Zeitreihen zu implementieren. Das hierin beschriebene Framework kann verwendet werden, um kompakte Darstellungen der historischen multivariaten Zeitreihendaten zu erhalten, die verborgene Struktur und zeitliche Information der rohen Zeitreihendaten zu verwenden, um eine Darstellung zu erzeugen, und/oder eine Darstellung mit besserer Verallgemeinerungsfähigkeit zu erzeugen. Spezifischer wird ein Codierer-Decodierer-Framework mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)) bereitgestellt, um die wesentlichen zeitlichen Informationen von Schritten unterschiedlichen Typs innerhalb des eingegebenen Segments zu erfassen und den Binärcode zu lernen, und zwar basierend auf Wiederherstellungs- bzw. Rekonstruktionsfehlern. Das LSTM-Codierer-Decodierer-Framework kann: (1) einen Cluster-Verlust auf dem verborgenen Merkmalsraum verwenden, um die nichtlineare verborgene Merkmalsstruktur der rohen Eingangsdaten zu erfassen und die unterschiedliche Eigenschaft erzeugter Binärcodes zu verbessern; (2) einen zeitlichen Codierungsmechanismus verwenden, um die zeitliche Reihenfolge unterschiedlicher Segmente innerhalb eines Mini-Stapels bzw. -Batchs zu codieren, um aufeinanderfolgenden Segmente mit hoher Ähnlichkeit genügend Aufmerksamkeit zu schenken; (3) einen gegnerischen Verlust zu verwenden, um die Verallgemeinerungsfähigkeit der erzeugten Binärcodes zu verbessern (z.B. einen bedingten gegnerischen Regularisierer basierend auf bedingten allgemeinen gegnerischen Netzwerken (cGANs) aufzuerlegen).
  • Die hierin beschriebenen Ausführungsformen können zugrundeliegende Anwendungen wie beispielsweise Systemstatusidentifikation, Anomalieerkennung etc. innerhalb einer Vielzahl von realen Systemen, die multivariate Zeitreihendaten sammeln, erleichtern. Solche reale Systeme enthalten, sind aber nicht darauf beschränkt, Smart-City-Systeme, Kraftwerksüberwachungssysteme, tragbare Geräte etc. Zum Beispiel können innerhalb eines Kraftwerksüberwachungssystems mehrere Sensoren eingesetzt werden, um den Betriebsstatus in Echtzeit oder nahezu in Echtzeit zu überwachen. Als weiteres Beispiel kann mit einem tragbaren Gerät wie beispielsweise einem Fitness-Tracker eine zeitliche Sequenz von Aktionen (z.B. Gehen für 5 Minuten, Laufen für 1 Stunde und Sitzen für 15 Minuten) mit entsprechenden Sensoren aufgezeichnet und erkannt werden.
  • Die hierin beschriebenen Ausführungsformen können vollständig Hardware, vollständig Software oder sowohl Hardware- als auch Softwareelemente sein. Bei einer bevorzugten Ausführungsform ist die vorliegende Erfindung in Software implementiert, die Firmware, residente Software, einen Microcode etc. enthält, ist aber nicht darauf beschränkt.
  • Ausführungsformen können ein Computerprogrammprodukt enthalten, auf das von einem computerverwendbaren oder computerlesbaren Medium aus zugegriffen werden kann, das einen Programmcode zur Verwendung durch einen oder in Verbindung mit einem Computer, oder irgendein oder irgendeinem Anweisungsausführungssystem, bereitstellt. Ein computerverwendbares oder computerlesbares Medium kann irgendeine Vorrichtung enthalten, die das Programm zur Verwendung durch das Befehlsausführungssystem, die Vorrichtung oder das Gerät, oder in Verbindung damit, speichert, kommuniziert, aus- bzw. verbreitet oder transportiert. Das Medium kann ein magnetisches, optisches, elektronisches, elektromagnetisches, infrarotes oder Halbleitersystem (oder eine Vorrichtung oder ein Gerät) oder ein Ausbreitungsmedium sein. Das Medium kann ein computerlesbares Speichermedium enthalten, wie beispielsweise einen Halbleiter- oder Festkörperspeicher, ein Magnetband, eine Wechsel-Computerdiskette, einen Direktzugriffsspeicher (RAM), einen Nurlesespeicher (ROM), eine feste bzw. starre Magnetplatte und eine optische Scheibe etc.
  • Jedes Computerprogramm kann konkret bzw. materiell in einem maschinenlesbaren Speichermedium oder einer -vorrichtung (z.B. Programmspeicher oder Magnetplatte) gespeichert sein, das oder die durch einem allgemeinen oder speziellen programmierbaren Computer lesbar ist, zum Konfigurieren und Steuern eines Betriebs eines Computers, wenn das Speichermedium bzw. die Speichermedien oder die Vorrichtung durch den Computer gelesen wird bzw. werden, um die hierin beschriebenen Prozeduren durchzuführen. Das erfinderische System kann auch als in einem computerlesbaren Speichermedium verkörpert angesehen werden, das mit einem Computerprogramm konfiguriert ist, wobei das Speichermedium so konfiguriert ist, dass es veranlasst, dass ein Computer auf eine spezifische und vordefinierte Weise arbeitet, um die hierin beschriebenen Funktionen durchzuführen.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen eines Programmcodes geeignet ist, kann wenigstens einen Prozessor enthalten, der direkt oder indirekt über einen Systembus mit Speicherelementen gekoppelt ist. Die Speicherelemente können einen lokalen Speicher enthalten, der während einer tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cachespeicher, die eine temporäre Speicherung von wenigstens etwas von einem Programmcode zur Verfügung zu stellen, um die Anzahl von Malen zu reduzieren, für welche der Code während einer Ausführung aus einem Massenspeicher abgerufen wird. Eingabe-/Ausgabe- oder I/O-Vorrichtungen (einschließlich, aber nicht darauf beschränkt, von Tastaturen, Anzeigen, Zeigevorrichtungen etc.) können entweder direkt oder über dazwischenliegende I/O-Steuerungen mit dem System gekoppelt sein.
  • Netzwerkadapter können auch mit dem System gekoppelt sein, um zu ermöglichen, dass das Datenverarbeitungssystem über dazwischenliegende private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen oder entfernten bzw. Remote-Druckern oder Speichervorrichtungen gekoppelt werden. Modems, ein Kabelmodem und Ethernet-Karten sind nur einige wenige der derzeit verfügbaren Typen von Netzwerkadaptern.
  • Wie er hierin verwendet wird, kann sich der Begriff „Hardwareprozessor-Untersystem“ oder „Hardwareprozessor“ auf einen Prozessor, einen Speicher (einschließlich RAM, Cache(s) und so weiter), Software (einschließlich Speichermanagementsoftware) oder Kombinationen davon beziehen, die zusammenarbeiten, um eine oder mehrere spezifische Aufgaben durchzuführen. Bei nützlichen Ausführungsformen kann das Hardwareprozessor-Untersystem ein oder mehrere Datenverarbeitungselemente (z.B. Logikschaltungen, Verarbeitungsschaltungen, Anweisungsausführungsvorrichtungen etc.) enthalten. Das eine oder die mehreren Datenverarbeitungselemente kann oder können in einer zentralen Verarbeitungseinheit, einer Grafikverarbeitungseinheit und/oder einer separaten prozessor- oder computerelementbasierten Steuerung (z.B. Logikgatter etc.) enthalten sein. Das Hardwareprozessor-Untersystem kann einen oder mehrere integrierte Speicher bzw. Onboard-Speicher (z.B. Caches, bestimmte bzw. dedizierte Speicherarrays, einen Nurlesespeicher etc.) enthalten. Bei einigen Ausführungsformen kann das Hardwareprozessor-Untersystem einen oder mehrere Speicher enthalten, die onboard oder offboard sein können oder die zur Verwendung durch das Hardwareprozessor-Untersystem bestimmt bzw. dediziert sein können (z.B. ROM, RAM, BIOS (Basic Input/Output System (= Grundlegendes Eingabe-/Ausgabe-System)) etc.).
  • Bei einigen Ausführungsformen kann das Hardwareprozessor-Untersystem ein oder mehrere Softwareelemente umfassen und ausführen. Das eine oder die mehreren Softwareelemente kann oder können ein Betriebssystem und/oder eine oder mehrere Anwendungen und/oder einen spezifischen Code enthalten, um ein spezifiziertes bzw. bestimmtes Ergebnis zu erzielen.
  • Bei anderen Ausführungsformen kann das Hardwareprozessor-Untersystem eine dedizierte, spezialisierte Schaltung enthalten, die eine oder mehrere elektronische Verarbeitungsfunktionen durchführt, um ein bestimmtes Ergebnis zu erzielen. Eine solche Schaltung kann eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), FPGAs und/oder PLAs enthalten.
  • Diese und andere Variationen eines Hardwareprozessor-Untersystems werden gemäß Ausführungsformen der vorliegenden Erfindung auch in Betracht gezogen.
  • Nimmt man nun detailliert Bezug auf die Figuren, in denen gleiche Bezugszeichen die gleichen oder ähnliche Elemente darstellen, und zunächst auf 1, ist gemäß einer Ausführungsform der vorliegenden Erfindung ein Überblick auf hoher Ebene über ein Framework 100 zum Überwachen eines Status eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren dargestellt.
  • Wie es gezeigt ist, enthält das Framework 100 ein System 110. Spezifischer ist das System 110 bei diesem illustrativen Beispiel ein Kraftwerkssystem 110 mit einer Vielzahl von Sensoren, einschließlich der Sensoren 112-1 und 112-2, die konfiguriert sind, um den Status des Kraftwerkssystems 110 zu überwachen und multivariate Zeitreihendaten bei unterschiedlichen Zeitschritten zu erzeugen. Obwohl das System 110 bei dieser illustrativen Ausführungsform ein Kraftwerkssystem 110 ist, kann das System 100 irgendein geeignetes System enthalten, das konfiguriert ist, um multivariate Zeitreihendaten gemäß den hierin beschriebenen Ausführungsformen zu erzeugen (z.B. Systeme von tragbaren Geräten bzw. Vorrichtungen, Smart-City-Systeme).
  • Wie es weiterhin gezeigt ist, enthält das Framework 100 weiterhin wenigstens eine Verarbeitungsvorrichtung 120. Die Verarbeitungsvorrichtung 120 ist konfiguriert, um eine Architekturkomponente eines Netzwerks für tiefes unüberwachtes binäres Codieren (DUBCN (= Deep Unsupervised Binary Coding Network)) 122, eine Komponente für eine Suche nach ähnlichen Mustern 124 und eine Systemstatuskomponente 126 zu implementieren. Obwohl gezeigt ist, dass die Komponenten 122-126 durch eine einzelne Verarbeitungsvorrichtung implementiert sind, kann eine oder können mehrere der Komponenten 122-126 durch eine oder mehrere zusätzliche Verarbeitungsvorrichtungen implementiert werden.
  • Die von der Vielzahl von Sensoren erzeugten multivariaten Zeitreihendaten werden empfangen oder gesammelt und in die DUBCN-Architekturkomponente 122 eingegeben, um einen Abruf multivariater Zeitreihen unter Verwendung einer DUBCN-Architektur durchzuführen. Spezifischer ist, wie es hierin nachstehend in weiterem Detail beschrieben ist, die DUBCN-Architekturkomponente 122 konfiguriert, um ein oder mehrere Zeitreihensegmente basierend auf den multivariaten Zeitreihendaten zu erzeugen und einen Binärcode (z.B. einen Hashcode) für jedes von dem einen oder den mehreren Zeitreihensegmenten zu erzeugen. Das eine oder die mehreren Zeitreihensegmente kann oder können eine feste Fenstergröße haben.
  • Die Komponente für eine Suche nach ähnlichen Mustern 124 ist konfiguriert, um basierend auf dem einen oder den mehreren Binärcodes zu bestimmen, ob in den historischen Daten irgendwelche ähnlichen Muster (Segmente) vorhanden sind. Spezifischer ist die Komponente für eine Suche nach ähnlichen Mustern 124 konfiguriert, um einen minimalen Abstand zu berechnen und ähnliche Muster in den historischen Daten basierend auf dem Abstand abzurufen. Bei einer Ausführungsform ist der minimale Abstand ein minimaler Hamming-Abstand.
  • Die Systemstatuskomponente 126 ist konfiguriert, um basierend auf den Ergebnissen der Komponente für eine Suche nach ähnlichen Mustern 124 einen aktuellen Status des Systems 110 zu bestimmen. Wenn zum Beispiel ein ähnliches Muster in den historischen Daten vorhanden ist, kann das ähnliche Muster verwendet werden, um den aktuellen Systemstatus zu interpretieren. Andernfalls könnte der aktuelle Systemstatus einem abnormalen oder anomalen Fall entsprechen.
  • Wie es nachstehend detaillierter unter Bezugnahme auf 2 beschrieben werden wird, kann die DUBCN-Architekturkomponente 122 ein Codierer-Decodierer-Framework mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)) implementieren, um zeitliche Information von unterschiedlichen Zeitschritten innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen. Spezifischer enthält das LSTM-Codierer-Decodierer-Framework einen zeitlichen bzw. temporalen Codierungsmechanismus, um die zeitliche Reihenfolge unterschiedlicher Segmente innerhalb eines Mini-Stapels bzw. Batchs zu codieren, einen Cluster-Verlust auf dem verborgenen Merkmalsraum, um die nichtlineare Struktur verborgener Merkmale zu verbessern, und einen gegnerischen Verlust basierend auf bedingten allgemeinen gegnerischen Netzwerken (cGANs), um die Verallgemeinerungsfähigkeit der erzeugten Binärcodes zu verbessern.
  • Zum Beispiel kann in Anbetracht eines multivariaten Zeitreihensegments X t , w = ( x 1 , , x n ) T = ( x t w , , x t ) n × w ,
    Figure DE112020004120T5_0001
    wobei t der Zeitschrittindex und w die Länge einer Fenstergröße ist, die k-te Zeitreihe der Länge w dargestellt werden durch: x k = ( x t w k , x t w + 1 k , , x t k ) T w
    Figure DE112020004120T5_0002
    und bezeichnet x t = ( x t 1 , x t 2 , , x t n ) T n
    Figure DE112020004120T5_0003
    einen Vektor von n eingegebenen Reihen zum Zeitpunkt t. Zusätzlich bezeichnet || · ||F die Frobenius-Norm von Matrizen und stellt ||x||H die Hamming-Norm eines Vektors x
    Figure DE112020004120T5_0004
    dar, die als die Anzahl von Einträgen ungleich Null in x
    Figure DE112020004120T5_0005
    (L0-Norm) definiert ist. ||x||1 stellt die L2-Norm des Vektors x
    Figure DE112020004120T5_0006
    dar, die als die Summe von absoluten Werten der Einträge in x
    Figure DE112020004120T5_0007
    definiert ist.
  • Bei einem multivariaten Abfragezeitreihensegment X q , w n × w
    Figure DE112020004120T5_0008
    (einem Schnitt von n Zeitreihen, der w Zeitschritte dauert) ist es ein Ziel gemäß den hierin beschriebenen Ausführungsformen, die ähnlichsten Zeitreihensegmente in den historischen Daten (oder einer Datenbank) zu finden. Zum Beispiel erwarten wir ein Erhalten von: arg min X q , w D S ( X q , w , X p , w )
    Figure DE112020004120T5_0009
    wobei D = { X p , w }
    Figure DE112020004120T5_0010
    eine Sammlung von Segmenten ist, p den Zeitindex für das p-te Segment (∀1 + w ≤ p ≤ T) bezeichnet, T die Gesamtlänge der Zeitreihe bezeichnet und S(·) eine Ähnlichkeitsmessfunktion darstellt.
  • Das LSTM-Codierer-Decodierer-Framework enthält einen LSTM-Codierer, um das eingegebene Zeitreihensegment durch Codieren der zeitlichen Information innerhalb eines multivariaten Zeitreihensegments darzustellen. Spezifischer kann der LSTM-Codierer angesichts der oben beschriebenen eingegebenen Sequenz x k
    Figure DE112020004120T5_0011
    angewendet werden, um eine Abbildung von x t 1
    Figure DE112020004120T5_0012
    zu h t
    Figure DE112020004120T5_0013
    (zu einer Zeit t) zu lernen, mit: h t = LSTM enc ( h t 1 , x t )
    Figure DE112020004120T5_0014
    wobei h t m
    Figure DE112020004120T5_0015
    der verborgene Zustand des LSTM-Codierers zum Zeitpunkt t ist, m die Größe des verborgenen Zustands ist und LSTMenc eine LSTM-Codierereinheit ist. Jede LSTM-Codierereinheit hat eine Speicherzelle mit dem Zustand s t
    Figure DE112020004120T5_0016
    zum Zeitpunkt t. Ein Zugriff auf die Speicherzelle kann durch die folgenden drei Sigmoid-Gatter gesteuert werden: Vergessen-Gatter ƒ t ,
    Figure DE112020004120T5_0017
    Eingabe-Gatter i t
    Figure DE112020004120T5_0018
    und Ausgabe-Gatter o t .
    Figure DE112020004120T5_0019
    Das Update einer LSTM-Codierereinheit kann wie folgt zusammengefasst werden: ƒ t = σ ( W ƒ [ h t 1 ; x t ] + b ƒ )
    Figure DE112020004120T5_0020
    i t = σ ( W i [ h t 1 ; x t ] + b i )
    Figure DE112020004120T5_0021
    o t = σ ( W o [ h t 1 ; x t ] + b o )
    Figure DE112020004120T5_0022
    s t = ƒ t s t 1 + i t tanh ( W s [ h t 1 ; x t ] + b s )
    Figure DE112020004120T5_0023
    h t = o t tanh ( s t )
    Figure DE112020004120T5_0024
    wobei [ h t 1 ; x t ] m + n
    Figure DE112020004120T5_0025
    eine Verkettung des vorherigen verborgenen Zustands h t 1
    Figure DE112020004120T5_0026
    und der aktuellen Eingabe x t
    Figure DE112020004120T5_0027
    ist, W ƒ , W i , W o , W s m × ( m + n )
    Figure DE112020004120T5_0028
    und b ƒ , b i , b o , zu b s m
    Figure DE112020004120T5_0029
    Parameter sind, um zu lernen, σ eine logistische Sigmoidfunktion ist und ⊗ der elementweisen Multiplikation oder dem Hadamard-Produkt entspricht. Der Hauptgrund für eine Verwendung der LSTM-Codierereinheit besteht darin, dass der Zellzustand Aktivitäten im Laufe der Zeit summiert, was das Problem von verschwindenden Gradienten überwinden und langfristige Abhängigkeiten von Zeitreihen besser erfassen kann.
  • Weitere Details bezüglich einer Struktur des LSTM-Codierers werden nachstehend unter Bezugnahme auf 2 beschrieben werden.
  • Obwohl der LSTM-Codierer die zeitlichen Information innerhalb jedes Segments modelliert, wird die zeitliche Reihenfolge von unterschiedlichen Segmenten möglicherweise nicht explizit erfasst. Basierend auf der Intuition, dass zwei aufeinanderfolgende (oder sehr nahe) Segmente eher ähnliche Binärcodes haben, kann der oben angegebene temporale Codierungsmechanismus explizit eine zeitliche Reihenfolge von unterschiedlichen Segmenten codieren. Spezifischer kann für jeden Stapel bzw. Batch von 2N Segmenten die Hälfte des Stapels zufällig abgetastet werden und kann die andere Hälfte sequenziell abgetastet werden. Zufällig abgetastete Segmente werden verwendet, um instabile Gradienten zu vermeiden und eine Verallgemeinerungsfähigkeit zu verbessern. Für diese Segmente kann ein zweidimensionaler (2D) Vektor mit Einträgen von Null mit dem ursprünglichen verborgenen Merkmalsvektor h t
    Figure DE112020004120T5_0030
    verkettet werden. Für sequenziell abgetastete Segmente kann ein zeitlicher Codierungsvektor ( sin ( π i N ) , cos ( π i N ) )
    Figure DE112020004120T5_0031
    verwendet werden, um die relative zeitliche Position verschiedener Segmente zu codieren, wobei N ≥ i ≥ 0. Daher kann für jeden Stapel von Segmenten der zeitliche Codierungsvektor (C, S) bezeichnet werden als: ( C , S ) = { ( 0,0 ) , w e n n d a s S e g m e n t z u f a ¨ l l i g a b g e t a s t e t i s t ( sin ( π i N ) , cos ( π i N ) ) , s o n s t .
    Figure DE112020004120T5_0032
  • Demgemäß konzentriert sich der zeitliche bzw. temporale Codierungsvektor auf die Erfassung der zeitlichen bzw. temporalen Reihenfolge unterschiedlicher Segmente, im Gegensatz zu einer Codierung der zeitlichen Information innerhalb eines Segments.
  • Weitere Details bezüglich des temporalen Codierungsmechanismus werden nachstehend unter Bezugnahme auf 2 beschrieben werden. Eine visuelle Darstellung von (C,S) wird nun nachstehend unter Bezugnahme auf 3 beschrieben werden.
  • Nimmt man nun Bezug auf 3 wird ein Diagramm 300 bereitgestellt, das eine temporale Codierung innerhalb eines Stapels für einen zeitlichen Codierungsvektor darstellt. Wie es gezeigt ist, enthält das Diagramm 300 wenigstens einen Punkt 310 und eine Vielzahl von Punkten 320-1 bis 320-9. Der Punkt 310 stellt den zeitlichen Codierungsvektor (0,0) für den zufällig abgetasteten halben Stapel dar und die Vielzahl von Punkten 320-1 bis 320-9 stellt zeitliche Codierungsvektoren (C,S) für den sequenziell abgetasteten halben Stapel dar.
  • Nimmt man wieder Bezug auf 1, kann nach der zeitlichen Codierung eine vollständig verbundene Schicht verwendet werden, um einen Merkmalsvektor g m
    Figure DE112020004120T5_0033
    zu erhalten. Dann kann die hyperbolische Tangensfunktion tanh(·) verwendet werden, um einen angenäherten Binärcode tanh ( g )
    Figure DE112020004120T5_0034
    zu erzeugen. Eine weitere vollständig verbundene Schicht kann verwendet werden, um den Merkmalsvektor h ' t m
    Figure DE112020004120T5_0035
    zu erhalten, der als Eingabe für den LSTM-Decodierer dienen wird. Eine detailliertere Prozedur wird nachstehend unter Bezugnahme auf 2 in weiterem Detail beschrieben werden.
  • In Bezug auf den Cluster-Verlust ist es mit der Intuition, dass multivariate Zeitsegmente unterschiedliche Eigenschaften zeigen können (z.B. Aufwärtstrend, Abwärtstrend etc.), vernünftig, die nichtlineare verborgene Merkmalsstruktur der eingegebenen Zeitreihensegmente zu erforschen und diejenigen Segmente, die in dasselbe Cluster fallen, zu ermutigen, ähnlichere Merkmale zu haben als diejenigen Segmente, die in unterschiedliche Cluster fallen. Auf diese Weise kann der erzeugte Binärcode auch die unterschiedlichen Informationen zwischen Clustern erhalten. Zu diesem Zweck kann unter der Annahme, dass die anfänglichen Clusterzentroide { μ } j = 1 k
    Figure DE112020004120T5_0036
    im verborgenen Raum verfügbar sind, eine weiche Zuordnung zwischen den verborgenen Merkmalspunkten g i
    Figure DE112020004120T5_0037
    und den Clusterzentroiden illustrativ berechnet werden kann als: q i j = ( 1 + g i μ j / α ) α + 1 2 j = 1 k ( 1 + g i μ j / α ) α + 1 2
    Figure DE112020004120T5_0038
    wobei g i m
    Figure DE112020004120T5_0039
    das verborgene Merkmal ist, das nach einer vollständig verbundenen Schicht basierend auf einer zeitlichen Codierung erhalten ist, α die Freiheitsgrade für eine t-Verteilung sind und qij die Wahrscheinlichkeit darstellen, ein Segment i einem Cluster j zuzuordnen. Bei einer Ausführungsform gilt α = 1. Bei praktischen Anwendungen können die anfänglichen Clusterzentroide { μ } j = 1 k
    Figure DE112020004120T5_0040
    basierend auf Schwerpunkten im Rohraum mit einem k-Means-Algorithmus erhalten werden.
  • Ein Cluster-Ziel, ℓcluster, kann basierend auf einem KL-Divergenz-Verlust zwischen den weichen Zuordnungen qi und einer Hilfs-Zielverteilung wie folgt angenommen werden: l cluster = i = 1 N j = 1 k p i j log p i j q i j
    Figure DE112020004120T5_0041
    p i j = q i j 2 / z j j ' q i j ' 2 / z j '
    Figure DE112020004120T5_0042
    wobei zj = Σi qij weiche Clusterzahlen bezeichnet. Da erwartet wird, dass die Zielverteilung eine Clusterreinheit verbessert, können Segmente mehr hervorgehoben werden, die mit hoher Zuverlässigkeit zugewiesen sind, und können große Cluster daran gehindert werden, den verborgenen Merkmalsraum zu verzerren.
  • Weitere Details bezüglich des Cluster-Verlusts werden nachstehend unter Bezugnahme auf 2 beschrieben werden.
  • In Bezug auf den gegnerischen Verlust ist bei einer Erforschung bzw. Untersuchung eines Clusterns im verborgenen Merkmalsraum von DUBCNs ein potenzielles Problem eine Überanpassung aufgrund dessen, dass das Trainieren über die Batch-Ebene leitend ist und möglicherweise abgetastete Segmente in jedem Batch bzw. Stapel verzerrte bzw. vorspannte. Um dieses Problem zu überwinden, kann ein gegnerischer Verlust, ℓadv, eingesetzt werden, um die Verallgemeinerungsfähigkeit von DUBCNs zu verbessern, wie z.B.: l adv = E g p data ( g ) [ log D ( g ) ] + E z p data ( z ) [ log ( 1 D ( G ( [ g + z ; c ] ) ) ) ]
    Figure DE112020004120T5_0043
    wobei E eine Erwartung bezeichnet, g p data ( g )
    Figure DE112020004120T5_0044
    eine Abtastung g
    Figure DE112020004120T5_0045
    gezogen aus einer Datenverteilung pdata() bezeichnet, z p data ( z )
    Figure DE112020004120T5_0046
    eine Abtastung z
    Figure DE112020004120T5_0047
    aus der Datenverteilung pdata() bezeichnet, G(·) einen Generator bezeichnet, der konfiguriert ist, um einen Merkmalsvektor zu erzeugen, der den Merkmalsvektoren aus den rohen eingegebenen Segmenten ähnelt, und D(·) einen Diskriminator bezeichnet, der konfiguriert ist, um zwischen den erzeugten Abtastungen G(·) und dem realen Merkmalsvektor g m
    Figure DE112020004120T5_0048
    zu unterscheiden. Der Vektor z
    Figure DE112020004120T5_0049
    ist ein Vektor eines Zufallsrauschens der Dimension m, der aus einer Normalverteilung gezogen werden kann. Anstatt eines Verwendens eines Generators, der rein auf z
    Figure DE112020004120T5_0050
    basiert, wird hier die Summe g + z
    Figure DE112020004120T5_0051
    verwendet und wird die Clustermitgliedschaft c k
    Figure DE112020004120T5_0052
    verkettet, um dabei zu helfen, die verborgenen Merkmale innerhalb eines bestimmten Clusters zu verallgemeinern. Spezifischer kann G(·) zwei vollständig verbundene Schichten (jeweils mit einer Ausgabedimension von m) enthalten und kann auch D(·) zwei vollständig verbundene Schichten (jeweils mit einer Ausgangsdimension von m bzw. 1) enthalten.
  • Weitere Details bezüglich des gegnerischen Verlusts werden nachstehend unter Bezugnahme auf 2 beschrieben werden.
  • Das LSTM-Codierer-Decodierer-Framework enthält einen LSTM-Decodierer. Der LSTM-Decodierer kann definiert werden als: d t ' = L S T M d e c ( d t 1 ' , x t 1 ' )
    Figure DE112020004120T5_0053
    wobei d t '
    Figure DE112020004120T5_0054
    wie folgt aktualisiert bzw. upgedated werden kann: ƒ t ' = σ ( W ƒ ' [ d t 1 ' ; x t 1 ' ] + b ƒ ' )
    Figure DE112020004120T5_0055
    i t ' = σ ( W i ' [ d t 1 ' ; x t 1 ' ] + b i ' )
    Figure DE112020004120T5_0056
    o t ' = σ ( W o ' [ d t 1 ' ; x t 1 ' ] + b o ' )
    Figure DE112020004120T5_0057
    s t ' = ƒ t ' s t 1 ' + i t ' tanh ( W s ' [ d t 1 ' ; x t 1 ' ] + b s ' )
    Figure DE112020004120T5_0058
    d t ' = o t ' tanh ( s t ' )
    Figure DE112020004120T5_0059
    wobei [ d t 1 ' ; x t 1 ' ] p + 1
    Figure DE112020004120T5_0060
    eine Verkettung des vorherigen verborgenen Zustands d t 1 '
    Figure DE112020004120T5_0061
    ist und die Decodierereingabe x t 1 ' , W ƒ , W i , W o , W s m × ( m + n )
    Figure DE112020004120T5_0062
    und b ƒ , b i , b o , bis b s m
    Figure DE112020004120T5_0063
    Parameter sind, um zu lernen, σ eine logistische Sigmoidfunktion ist und ⊗ einer elementweisen Multiplikation oder dem Hadamard-Produkt entspricht. Der Merkmalsvektor h t m
    Figure DE112020004120T5_0064
    kann als Kontext-Merkmalsvektor für den LSTM-Decodierer zum Zeitpunkt 0 dienen ( z . B . b o ' = h t ) .
    Figure DE112020004120T5_0065
  • Die wiederhergestellt bzw. rekonstruierte Eingabe bei jedem Zeitschritt kann illustrativ erzeugt werden durch: x ^ t = d t ' W o u t + b o u t
    Figure DE112020004120T5_0066
  • wobei W o u t m × n
    Figure DE112020004120T5_0067
    und b o u t n .
    Figure DE112020004120T5_0068
    . Weitere Details bezüglich des LSTM-Decodierers werden nachstehend unter Bezugnahme auf 2 beschrieben werden.
  • Ein Verlust eines mittleren quadratischen Fehlers (MSE (= Mean Squared Error)) ℓMSE kann als das Ziel für den LSTM-Codierer-Decodierer verwendet werden, um die zeitlichen Informationen des eingegebenen Segments zu codieren. Zum Beispiel: l MSE = 1 N i = 1 N X ^ t , w i X t , w i F 2
    Figure DE112020004120T5_0069
    wobei i der Index für ein Segment und N die Anzahl von Segmenten in einem Batch bzw. Stapel ist.
  • Weitere Details zum MSE-Verlust werden nachstehend unter Bezugnahme auf 2 beschrieben werden. Das vollständige Ziel der DUBCN-Architektur, ℓDUBCN, kann als lineare Kombination von ℓMSE, ℓcluster und ℓadv erhalten werden. Zum Beispiel kann ℓDUBCN wie folgt berechnet werden: l DUBCN = l MSE + λ 1 l cluster + λ 2 l adv
    Figure DE112020004120T5_0070
    wobei λ1 ≥ 0 und λ2 ≥ 0 Hyperparameter sind, um die Wichtigkeit von Cluster-Verlust und/oder gegnerischem Verlust zu steuern. Um ℓDUBCN zu optimieren, kann das folgende illustrative Zwei-Spieler-Minimax-Spiel gelöst werden: G * , D * = a r g m i n G m a x D l MSE ( G , D )
    Figure DE112020004120T5_0071
    um den Generator G(·) und den Diskriminator D(·) iterativ zu optimieren. Spezifisch müssen wir uns bei einer Optimierung von D(·) nur auf die zwei vollständig verbundenen Schichten von D(·) zu konzentrieren, während beim Optimieren von G(-) die Netzwerkparameter über ℓMSE und ℓadv aktualisiert werden.
  • Nimmt man nun Bezug auf 2, ist eine beispielhafte Netzwerkarchitektur für tiefes unüberwachtes binäres Codieren (DUCBN (= Deep Unsupervised Binary Coding)) 200 gemäß einer Ausführungsform der vorliegenden Erfindung illustrativ gezeigt. Die Architektur 200 kann durch die oben unter Bezugnahme auf 1 beschriebene DUBCN-Architekturkomponente 122 zum Überwachen eines Computersystemstatus implementiert werden.
  • Wie es gezeigt ist, enthält die Architektur 200 Eingangsdaten 210. Die Eingangsdaten 210 entsprechen einem Abschnitt oder Schnitt multivariater Zeitreihendaten 205. Bei diesem illustrativen Beispiel entsprechen die Eingangsdaten 210 zum Beispiel einem Abschnitt oder Schnitt von Daten (x1, ..., xt).
  • Die Eingangsdaten werden in eine Gruppe von Eingangssegmenten 220 umgewandelt. Zum Beispiel kann die Gruppe von Eingangssegmenten 220 ein Eingangssegment 222-1 entsprechend x1, ein Eingangssegment 222-2 entsprechend x2, ... und ein Eingangssegment 222-t entsprechend xt enthalten.
  • Wie es weiterhin gezeigt ist, enthält die Architektur 200 einen LSTM-Codierer 230 mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)). Jedes Eingangssegment 222-1 bis 222-t der Gruppe von Eingangssegmenten 220 wird in ein jeweiliges von mehreren LSTMs 232-1 bis 232-t eingespeist. Darüber hinaus wird die Eingabe von jedem einzelnen einer Vielzahl von LSTMS in das nachfolgende LSTM eingespeist. Zum Beispiel wird die Eingabe vom LSTM 232-1 in das LSTM 232-2 eingespeist und so weiter. Die Ausgabe der LSTM-Codiererschicht 230 ist ein verborgener Zustand, ht, 234. Weitere Details bezüglich des LSTM-Codierers 220 sind oben unter Bezugnahme auf 1 beschrieben.
  • Eine temporale Codierung wird basierend auf dem verborgenen Zustand 234 durchgeführt, um einen Vektor einer temporalen Codierung bzw. einen temporalen Codierungsvektor 236 auszubilden, der verwendet wird, um die relative temporale bzw. zeitliche Position der unterschiedlichen Segmente zu codieren.
  • Spezifischer ist der temporale Codierungsvektor 236 eine Verkettung eines 2-dimensionalen Vektors von Null-Einträgen (bezeichnet als „C“ und „S“) mit dem verborgenen Zustand 234. Weitere Details bezüglich einer temporalen Codierung sind oben unter Bezugnahme auf die 1 und 3 beschrieben.
  • Nach der temporalen bzw. zeitlichen Codierung wird ein Merkmalsvektor, g, 238 erhalten. Spezifischer kann eine vollständig verbundene Schicht verwendet werden, um den Merkmalsvektor 238 basierend auf dem verborgenen Zustand 234 zu erhalten. Dann wird ein angenäherter Binärcode (ABC) 240 basierend auf dem Merkmalsvektor 238 erhalten. Zum Beispiel kann der ABC 240 erhalten werden durch Anwenden der hyperbolischen Tangensfunktion auf den Merkmalsvektor 238 (tanh(g)). Dann wird ein Merkmalsvektor, h't, 242 erhalten. Spezifischer kann eine weitere vollständig verbundene Schicht verwendet werden, um den Merkmalsvektor 242 basierend auf dem ABC 240 zu erhalten. Weitere Details bezüglich eines Erhaltens von Komponenten 238 bis 242 sind oben unter Bezugnahme auf 1 beschrieben.
  • Wie es weiterhin gezeigt ist, enthält die Architektur 200 weiterhin einen LSTM-Decodierer 250 mit einer Vielzahl von LSTMs 252-1 bis 252-t. Der Merkmalsvektor 242 dient als Eingabe in das LSTM 252-1. Darüber hinaus wird die Eingabe von jedem der Vielzahl von LSTMS in das nachfolgende LSTM eingespeist. Zum Beispiel wird die Eingabe vom LSTM 252-1 in das LSTM 252-2 eingespeist und so weiter. Weitere Details zum LSTM-Decodierer 230 sind oben unter Bezugnahme auf 1 beschrieben.
  • Wie es weiterhin gezeigt ist, enthält die Ausgabe des LSTM-Decodierers 230 eine Gruppe von Ausgangssegmenten 260 entsprechend der rekonstruierten bzw. wiederhergestellten Eingabe. Spezifischer kann die Gruppe von Ausgangssegmenten 260 ein durch das LSTM 252-1 ausgegebenes Eingangssegment 262-1, ein durch das LSTM 252-2 ausgegebenes Ausgangssegment 262-2, ... und ein durch das LSTM 252-t ausgegebenes Ausgangssegment 262-t enthalten. Dann wird ein Verlust eines mittleren quadratischen Fehlers (MSE (= mean square error)) 270 zur Verwendung als das Ziel/der Verlust für den LSTM-Codierer-Decodierer basierend auf der Gruppe von Ausgangssegmenten 260 erhalten. Weitere Details bezüglich der Gruppe von Ausgangssegmenten 260 entsprechend der rekonstruierten bzw. wiederhergestellten Eingabe und dem MSE-Verlust 270 sind oben unter Bezugnahme auf 1 beschrieben.
  • Wie es weiterhin gezeigt ist, enthält die Architektur 280 eine Komponente für Cluster-Verlust 280. Spezifischer wird der Merkmalsvektor 238 in eine Komponente für weiche Zuordnung 282 eingespeist, die konfiguriert ist, um weiche Zuordnungen zwischen verborgenen Merkmalspunkten und anfänglichen Clusterzentroiden bzw. -schwerpunkten zu berechnen. Dann wird ein Cluster-Verlust (CL) 284 basierend auf den weichen Zuordnungen und einer Hilfs-Zielverteilung berechnet. Weitere Details bezüglich der Komponente für Cluster-Verlust 280 sind oben unter Bezugnahme auf 1 beschrieben.
  • Wie es weiterhin gezeigt ist, enthält die Architektur 280 eine Komponente für gegnerischen Verlust 290, einschließlich eines Verkettungselements 292, eines Generators 294 und eines Diskriminators 296.
  • Die Komponente für weiche Zuordnung 282 ist konfiguriert, um eine Cluster-Mitgliedschaft 285 auszugeben, und das Verkettungselement 292 ist konfiguriert, um die Cluster-Mitgliedschaft 285 mit einer Summe aus dem Merkmalsvektor 238 und einem Zufallsrauschvektor (RN (= Random Noise Vector)) 291 zu verketten. RN 291 kann aus einer Normalverteilung gezogen werden. Eine solche Verkettung hilft, um die verborgenen Merkmale innerhalb eines spezifischen Clusters zu verallgemeinern.
  • Die Ausgabe des Verkettungselements 292 wird in den Generator 294 eingespeist, um einen Abtast-Merkmalsvektor, g', 295 zu erzeugen. Zum Beispiel kann der Generator 294 zwei vollständig verbundene Schichten mit der Ausgabedimension m enthalten. Der Diskriminator 296 zielt darauf ab, zwischen dem Abtast-Merkmalsvektor 295 und dem Merkmalsvektor 238 zu unterscheiden. Zum Beispiel kann der Diskriminator 296 zwei vollständig verbundene Schichten mit der Ausgabedimension 1 enthalten. Ein gegnerischer Verlust (AL (= adversarial loss)) 298 wird basierend auf Ausgaben des Generators 294 und des Diskriminators 296 berechnet. Weitere Details zur Komponente für gegnerischen Verlust 290 sind oben unter Bezugnahme auf 1 beschrieben.
  • Nimmt man nun Bezug auf 4, wird ein Block-/Ablaufdiagramm bereitgestellt, das ein System/Verfahren 400 zum Überwachen eines Computersystemstatus durch Implementieren eines Netzwerks für eine tiefe unüberwachte binäre Codierung darstellt.
  • Bei einem Block 410 werden multivariate Zeitreihendaten von einem oder mehreren Sensoren empfangen, die mit einem System assoziiert sind. Der eine oder die mehreren Sensoren kann oder können mit jedem geeigneten System assoziiert sein. Zum Beispiel kann der eine oder können die mehreren Sensoren mit einem Kraftwerkssystem, einem tragbaren Gerätesystem, einem Smart-City-System etc. assoziiert sein.
  • Bei einem Block 420 ist ein Codierer-Decodierer-Framework mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)) implementiert, um temporale bzw. zeitliche Information unterschiedlicher Zeitschritte innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen, wobei das LSTM-Codierer-Decodierer-Framework einen zeitlichen bzw. temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust enthält. Der temporale Codierungsmechanismus codiert die zeitliche Reihenfolge von unterschiedlichen Segmenten innerhalb eines Mini-Batchs bzw. -Stapels, der Cluster-Verlust verbessert die nichtlineare Struktur verborgener Merkmale und der gegnerische Verlust verbessert eine Verallgemeinerungsfähigkeit eines während der binären Codierung erzeugten Binärcodes. Der gegnerische Verlust kann auf bedingten allgemeinen gegnerischen Netzwerken (cGANs (= conditional General Adversarial Networks)) basieren.
  • Spezifischer kann bei einem Block 422 ein Implementieren des LSTM-Codierer-Decodierer-Frameworks ein Erzeugen von einem oder mehreren Zeitreihensegmenten basierend auf den multivariaten Zeitreihendaten unter Verwendung eines LSTM-Codierers enthalten, um eine temporale Codierung durchzuführen. Das eine oder die mehreren Zeitreihensegmente kann oder können von einer festen Fenstergröße sein.
  • Bei einem Block 424 kann ein Implementieren des LSTM-Codierer-Decodierer-Frameworks ein Erzeugen eines Binärcodes für jedes von dem einen oder den mehreren Zeitreihensegmenten basierend auf einem Merkmalsvektor enthalten. Spezifischer kann der Merkmalsvektor durch Verwenden einer vollständig verbundenen Schicht erhalten werden und kann der Binärcode durch Anwenden der hyperbolischen Tangensfunktion auf den Merkmalsvektor erzeugt werden. Bei einer Ausführungsform enthält der Binärcode einen Hashcode.
  • Bei einem Block 430 wird ein minimaler Abstand vom Binärcode zu historischen Daten berechnet. Bei einer Ausführungsform ist der minimale Abstand ein minimaler Hamming-Abstand.
  • Bei einem Block 440 wird eine Zustands- bzw. Statusbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands erhalten.
  • Zum Beispiel kann bei einem Block 442 ein Erhalten der Statusbestimmung des Systems ein Bestimmen basierend auf dem minimalen Abstand enthalten, ob irgendwelche ähnlichen Muster in den historischen Data existieren bzw. vorhanden sind.
  • Wenn beim Block 442 bestimmt wird, dass ein oder mehrere ähnliche Muster in den historischen Daten vorhanden ist oder sind, kann das eine oder können die mehreren ähnlichen Muster bei einem Block 444 verwendet werden, um einen aktuellen Status des Systems zu interpretieren. Andernfalls wird bei einem Block 446 ein aktueller Status des Systems als anormal identifiziert.
  • Weitere Details bezüglich des Blocks 410-446 sind oben unter Bezugnahme auf die 1-3 beschrieben.
  • Nimmt man nun Bezug auf 5, ist ein beispielhaftes Computersystem 500, das einen Server oder eine Netzwerkvorrichtung darstellen kann, gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Das Computersystem 500 enthält wenigstens einen Prozessor (CPU) 505, der über einen Systembus 502 operativ mit anderen Komponenten gekoppelt ist. Ein Cache 506, ein Nurlesespeicher (ROM) 508, ein Direktzugriffsspeicher (RAM) 510, ein Eingabe/Ausgabe-(I/O-) Adapter 520, ein Klangadapter 530, ein Netzwerkadapter 590, ein Benutzerschnittstellenadapter 550 und ein Anzeigeadapter 560 sind operativ mit dem Systembus 502 gekoppelt.
  • Eine erste Speichervorrichtung 522 und eine zweite Speichervorrichtung 529 sind durch den I/O-Adapter 520 operativ mit dem Systembus 502 gekoppelt. Die Speichervorrichtungen 522 und 529 können irgendetwas von einer Plattenspeichervorrichtung (z.B. einer magnetischen oder optischen Plattenspeichervorrichtung), einer magnetischen Festkörpervorrichtung und so weiter sein. Die Speichervorrichtungen 522 und 529 können derselbe Typ von Speichervorrichtung oder unterschiedliche Typen von Speichervorrichtungen sein.
  • Ein Lautsprecher 532 kann durch den Klangadapter 530 operativ mit dem Systembus 502 gekoppelt sein. Ein Transceiver 595 ist durch den Netzwerkadapter 590 operativ mit dem Systembus 502 gekoppelt. Eine Anzeigevorrichtung 562 ist durch einen Anzeigeadapter 560 operativ mit dem Systembus 502 gekoppelt.
  • Eine erste Benutzereingabevorrichtung 552, eine zweite Benutzereingabevorrichtung 559 und eine dritte Benutzereingabevorrichtung 556 sind durch einen Benutzerschnittstellenadapter 550 operativ mit dem Systembus 502 gekoppelt. Die Benutzereingabevorrichtungen 552, 559 und 556 können irgendetwas von einem Sensor, einer Tastatur, einer Maus, einer kleinen Tastatur, einem Joystick, einer Bilderfassungsvorrichtung, einer Bewegungserfassungsvorrichtung, einer Leistungsmessvorrichtung, einem Mikrofon, einer Vorrichtung, die die Funktionalität von wenigstens zwei der vorherigen Vorrichtungen enthält, und so weiter sein. Natürlich können auch andere Typen von Eingabevorrichtungen verwendet werden, während der Sinngehalt der vorliegenden Erfindung beibehalten wird. Die Benutzereingabevorrichtungen 552, 559 und 556 können derselbe Typ von Benutzereingabevorrichtungen oder unterschiedliche Typen von Benutzereingabevorrichtungen sein. Die Benutzereingabevorrichtungen 552, 559 und 556 werden dazu verwendet, Informationen zu dem System 500 einzugeben und aus diesem auszugeben.
  • Die Komponente eines Netzwerks für tiefes unüberwachtes binäres Codieren (DUBCN (= Deep Unsupervised Binary Coding Network) 570 kann operativ mit dem Systembus 502 gekoppelt sein. Die DUBCN-Komponente 570 ist konfiguriert, um eine oder mehrere der oben beschriebenen Operationen durchzuführen. Die DUBCN-Komponente 570 kann als eigenständige spezielle Hardwarevorrichtung oder als auf einer Speichervorrichtung gespeicherte Software implementiert werden. Bei der Ausführungsform, bei welcher die DUBCN-Komponente 570 softwareimplementiert ist, obwohl sie als separate Komponente des Computersystems 500 dargestellt ist, kann die DUBCN-Komponente 570 auf z.B. der ersten Speichervorrichtung 522 und/oder der zweiten Speichervorrichtung 529 gespeichert sein. Alternativ kann die DUBCN-Komponente 570 auf einer separaten Speichervorrichtung gespeichert werden (nicht gezeigt).
  • Natürlich kann das Computersystem 500 auch andere Elemente (die nicht gezeigt sind) enthalten, wie es von einem Fachmann auf dem Gebiet ohne weiteres in Erwägung gezogen wird, sowie bestimmte Elemente weglassen. Zum Beispiel können verschiedene andere Eingabevorrichtungen und/oder Ausgabevorrichtungen im Computersystem 500 enthalten sein, abhängig von der besonderen Implementierung desselben, wie es von einem Fachmann auf dem Gebiet ohne weiteres verstanden wird. Zum Beispiel können verschiedene Typen von drahtlosen und/oder verdrahteten Eingabe- und/oder Ausgabevorrichtungen verwendet werden. Darüber hinaus können auch zusätzliche Prozessoren, Steuerungen, Speicher und so weiter bei verschiedenen Konfigurationen verwendet werden, wie es von einem Fachmann auf dem Gebiet ohne weiteres eingesehen wird. Diese und andere Variationen des Computersystems 500 werden von einem Fachmann auf dem Gebiet angesichts der hierin zur Verfügung gestellten Lehren der vorliegenden Erfindung, ohne weiteres in Erwägung gezogen.
  • Eine Bezugnahme in der Spezifikation auf „eine einzelne Ausführungsform“ oder „eine Ausführungsform“ der vorliegenden Erfindung sowie andere Variationen davon bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur, eine bestimmte Charakteristik und so weiter, das oder die in Verbindung mit der Ausführungsform beschrieben wird, bei wenigstens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Somit beziehen sich die Erscheinungen der Formulierung „bei einer einzelnen Ausführungsform“ oder „bei einer Ausführungsform“ sowie irgendwelche anderen Variationen, die an verschiedenen Stellen in der gesamten Spezifikation erscheinen, nicht notwendigerweise alle auf dieselbe Ausführungsform. Es ist jedoch einzusehen, dass Merkmale von einer oder von mehreren Ausführungsformen bei den hierin zur Verfügung gestellten gegebenen Lehren der vorliegenden Erfindung kombiniert werden können.
  • Es ist einzusehen, dass die Verwendung von irgendetwas von dem folgendem „/“, „und/oder“ und „wenigstens eines von“, wie zum Beispiel in den Fällen von „A/B“, „A und/oder B“ und „wenigstens eines von A und B“, nur die Auswahl der ersten aufgelisteten Option (A) oder die Auswahl der zweiten aufgelisteten Option (B) oder die Auswahl von beiden Optionen (A und B) umfassen soll. Als ein weiteres Beispiel soll eine solche Formulierung in den Fällen „A, B und/oder C“ und „wenigstens eines von A, B und C“ nur die Auswahl der ersten aufgelisteten Option (A) oder nur die Auswahl der zweiten aufgelisteten Option (B) oder nur die Auswahl der dritten aufgelisteten Option (C) oder nur die Auswahl der ersten und zweiten aufgelisteten Optionen (A und B) oder nur die Auswahl der ersten und dritten aufgelisteten Optionen (A und C) oder nur die Auswahl der zweiten und dritten aufgelisteten Optionen (B und C) oder die Auswahl aller drei Optionen (A und B und C) umfassen. Dies kann für so viele Elemente ausgeweitet werden, wie sie aufgelistet sind.
  • Das Vorstehende ist in jeder Hinsicht als illustrativ und beispielhaft, aber nicht als einschränkend, zu verstehen, und der Schutzumfang der hierin offenbarten Erfindung ist nicht aus der detaillierten Beschreibung zu bestimmen, sondern aus den Ansprüchen, wie sie gemäß der vollständigen Breite interpretiert werden, die durch die Patentgesetze zulässig ist. Es ist zu verstehen, dass die hierin gezeigten und beschriebenen Ausführungsformen nur illustrativ für die vorliegende Erfindung sind und dass Fachleute auf dem Gebiet verschiedene Modifikationen implementieren können, ohne vom Schutzumfang und Sinngehalt der Erfindung abzuweichen. Fachleute auf dem Gebiet könnten verschiedene andere Merkmalskombinationen implementieren, ohne vom Schutzumfang und Sinngehalt der Erfindung abzuweichen. Nachdem somit Aspekte der Erfindung mit den von den Patentgesetzen geforderten Details und Besonderheiten beschrieben sind, wird das, was beansprucht und durch das Patent geschützt erwünscht wird, in den beigefügten Ansprüchen dargelegt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/002960 [0001]

Claims (20)

  1. Computerimplementiertes Verfahren zum Überwachen eines Zustands bzw. Status eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren, umfassend: Empfangen (410) multivariater Zeitreihendaten von einem oder mehreren Sensoren, die mit einem System assoziiert sind; Implementieren (420) eines Codierer-Decodierer-Frameworks mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)), um temporale bzw. zeitliche Informationen unterschiedlicher Zeitschritte innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen, wobei das LSTM-Codierer-Decodierer-Framework einen temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust enthält, wobei ein Implementieren des LSTM-Codierer-Decodierer-Frameworks weiterhin folgendes enthält: Erzeugen (422) von einem oder mehreren Zeitreihensegmenten basierend auf den multivariaten Zeitreihendaten unter Verwendung eines LSTM-Codierers, um eine temporale Codierung durchzuführen; und Erzeugen (424) eines Binärcodes für jedes von dem einen oder den mehreren Zeitreihensegmenten basierend auf einem Merkmalsvektor; Berechnen (430) eines minimalen Abstands vom Binärcode zu historischen Daten; und Erhalten (440) einer Status- bzw. Zustandsbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands.
  2. Verfahren nach Anspruch 1, wobei das eine oder die mehreren Zeitsegmente von einer festen Fenstergröße ist oder sind.
  3. Verfahren nach Anspruch 1, wobei der Binärcode einen Hashcode enthält.
  4. Verfahren nach Anspruch 1, wobei der minimale Abstand ein minimaler Hamming-Abstand ist.
  5. Verfahren nach Anspruch 1, wobei der temporale Codierungsmechanismus die zeitliche Reihenfolge von unterschiedlichen von dem einen oder den mehreren Zeitsegmenten innerhalb eines Mini-Batchs bzw. -Stapels codiert; der Cluster-Verlust eine nichtlineare Struktur für verborgene Merkmale verbessert; und der gegnerische Verlust eine Verallgemeinerungsfähigkeit des Binärcodes verbessert.
  6. Verfahren nach Anspruch 5, wobei der Cluster-Verlust basierend auf weichen Zuordnungen und einer Hilfs-Zielverteilung berechnet wird; und der gegnerische Verlust basierend auf einem Generator und einem Diskriminator berechnet wird, wobei der Generator konfiguriert ist, um einen Abtast-Merkmalsvektor basierend auf einer Verkettung von einer Cluster-Mitgliedschaft, dem Merkmalsvektor und einem Zufallsrauschvektor zu erzeugen, und der Diskriminator konfiguriert ist, um zwischen dem Abtast-Merkmalsvektor und dem Merkmalsvektor zu unterscheiden.
  7. Verfahren nach Anspruch 1, wobei ein vollständiges Ziel des Netzwerks für tiefes unüberwachtes binäres Codieren als lineare Kombination des Cluster-Verlusts, des gegnerischen Verlusts und eines Verlusts eines mittleren quadratischen Fehlers (MSE (= Mean Squared Error)) berechnet wird.
  8. Computerprogrammprodukt, das ein nicht transitorisches bzw. nichtflüchtiges computerlesbares Speichermedium umfasst, das damit Programmanweisungen verkörpert hat, wobei die Programmanweisungen durch einen Computer ausführbar sind, um zu veranlassen, dass der Computer ein Verfahren zum Überwachen eines Status bzw. Zustands eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren ausführt, wobei das durch den Computer ausgeführte Verfahren folgendes umfasst: Empfangen (410) multivariater Zeitreihendaten von einem oder mehreren Sensoren, die mit einem System assoziiert sind; Implementieren (420) eines Codierer-Decodierer-Frameworks mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)), um temporale bzw. zeitliche Informationen unterschiedlicher Zeitschritte innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen, wobei das LSTM-Codierer-Decodierer-Framework einen temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust enthält, wobei ein Implementieren des LSTM-Codierer-Decodierer-Frameworks weiterhin folgendes enthält: Erzeugen (422) von einem oder mehreren Zeitreihensegmenten basierend auf den multivariaten Zeitreihendaten unter Verwendung eines LSTM-Codierers, um eine temporale Codierung durchzuführen; und Erzeugen (424) eines Binärcodes für jedes von dem einen oder den mehreren Zeitreihensegmenten basierend auf einem Merkmalsvektor; Berechnen (430) eines minimalen Abstands vom Binärcode zu historischen Daten; und Erhalten (440) einer Status- bzw. Zustandsbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands.
  9. Computerprogrammprodukt nach Anspruch 8, wobei das eine oder die mehreren Zeitsegmente von einer festen Fenstergröße ist oder sind.
  10. Computerprogrammprodukt nach Anspruch 8, wobei der Binärcode Hashcode enthält.
  11. Computerprogrammprodukt nach Anspruch 8, wobei der minimale Abstand ein minimaler Hamming-Abstand ist.
  12. Computerprogrammprodukt nach Anspruch 8, wobei der temporale Codierungsmechanismus die zeitliche Reihenfolge von unterschiedlichen von dem einen oder den mehreren Zeitsegmenten innerhalb eines Mini-Batchs bzw. -Stapels codiert; der Cluster-Verlust eine nichtlineare Struktur für verborgene Merkmale verbessert; und der gegnerische Verlust eine Verallgemeinerungsfähigkeit des Binärcodes verbessert.
  13. Computerprogrammprodukt nach Anspruch 12, wobei der Cluster-Verlust basierend auf weichen Zuordnungen und einer Hilfs-Zielverteilung berechnet wird; und der gegnerische Verlust basierend auf einem Generator und einem Diskriminator berechnet wird, wobei der Generator konfiguriert ist, um einen Abtast-Merkmalsvektor basierend auf einer Verkettung von einer Cluster-Mitgliedschaft, dem Merkmalsvektor und einem Zufallsrauschvektor zu erzeugen, und der Diskriminator konfiguriert ist, um zwischen dem Abtast-Merkmalsvektor und dem Merkmalsvektor zu unterscheiden.
  14. Computerprogrammprodukt nach Anspruch 8, wobei ein vollständiges Ziel des Netzwerks für ein tiefes unüberwachtes binäres Codieren als lineare Kombination des Cluster-Verlusts, des gegnerischen Verlusts und eines Verlusts eines mittleren quadratischen Fehlers (MSE (= Mean Squared Error)) berechnet wird.
  15. System zum Überwachen eines Status bzw. Zustands eines Computersystems durch Implementieren eines Netzwerks für tiefes unüberwachtes binäres Codieren, umfassend: eine Speichervorrichtung, die einen Programmcode speichert; und wenigstens eine Prozessorvorrichtung, die operativ mit der Speichervorrichtung gekoppelt ist und konfiguriert ist, um einen auf der Speichervorrichtung gespeicherten Programmcode auszuführen, um: multivariate Zeitreihendaten von einem oder mehreren Sensoren, die mit einem System assoziiert sind, zu empfangen (410); ein Codierer-Decodierer-Framework mit langem Kurzzeitgedächtnis (LSTM (= Long Short-Term Memory)) zu implementieren (420), um temporale bzw. zeitliche Informationen unterschiedlicher Zeitschritte innerhalb der multivariaten Zeitreihendaten zu erfassen und eine binäre Codierung durchzuführen, wobei das LSTM-Codierer-Decodierer-Framework einen temporalen Codierungsmechanismus, einen Cluster-Verlust und einen gegnerischen Verlust enthält, wobei die wenigstens eine Verarbeitungsvorrichtung weiterhin konfiguriert ist, um das LSTM-Codierer-Decodierer-Framework durch folgendes zu implementieren: Erzeugen (422) von einem oder mehreren Zeitreihensegmenten basierend auf den multivariaten Zeitreihendaten unter Verwendung eines LSTM-Codierers, um eine temporale Codierung durchzuführen; und Erzeugen (424) eines Binärcodes für jedes von dem einen oder den mehreren Zeitreihensegmenten basierend auf einem Merkmalsvektor; einen minimalen Abstand vom Binärcode zu historischen Daten zu berechnen (430); und eine Status- bzw. Zustandsbestimmung des Systems basierend auf einer Analyse für ähnliche Muster unter Verwendung des minimalen Abstands zu erhalten (440).
  16. System nach Anspruch 15, wobei das eine oder die mehreren Zeitsegmente von einer festen Fenstergröße ist oder sind.
  17. System nach Anspruch 15, wobei der Binärcode einen Hashcode enthält und wobei der minimale Abstand ein minimaler Hamming-Abstand ist.
  18. System nach Anspruch 15, wobei der temporale Codierungsmechanismus die zeitliche Reihenfolge von unterschiedlichen von dem einen oder den mehreren Zeitsegmenten innerhalb eines Mini-Batchs bzw. -Stapels codiert; der Cluster-Verlust eine nichtlineare Struktur für verborgene Merkmale verbessert; und der gegnerische Verlust eine Verallgemeinerungsfähigkeit des Binärcodes verbessert.
  19. System nach Anspruch 18, wobei der Cluster-Verlust basierend auf weichen Zuordnungen und einer Hilfs-Zielverteilung berechnet wird; und der gegnerische Verlust basierend auf einem Generator und einem Diskriminator berechnet wird, wobei der Generator konfiguriert ist, um einen Abtast-Merkmalsvektor basierend auf einer Verkettung von einer Cluster-Mitgliedschaft, dem Merkmalsvektor und einem Zufallsrauschvektor zu erzeugen, und der Diskriminator konfiguriert ist, um zwischen dem Abtast-Merkmalsvektor und dem Merkmalsvektor zu unterscheiden.
  20. System nach Anspruch 15, wobei ein vollständiges Ziel des Netzwerks für tiefes unüberwachtes binäres Codieren als lineare Kombination des Cluster-Verlusts, des gegnerischen Verlusts und eines Verlusts eines mittleren quadratischen Fehlers (MSE (= Mean Squared Error)) berechnet wird.
DE112020004120.4T 2019-08-27 2020-08-27 Überwachen eines status eines computersystems durch implementieren eines netzwerks für tiefes, unüberwachtes binäres codieren Pending DE112020004120T5 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962892039P 2019-08-27 2019-08-27
US62/892,039 2019-08-27
US201962895549P 2019-09-04 2019-09-04
US62/895,549 2019-09-04
US17/002,960 US20210065059A1 (en) 2019-08-27 2020-08-26 Monitoring computing system status by implementing a deep unsupervised binary coding network
US17/002,960 2020-08-26
PCT/US2020/048139 WO2021041631A1 (en) 2019-08-27 2020-08-27 Monitoring computing system status by implementing a deep unsupervised binary coding network

Publications (1)

Publication Number Publication Date
DE112020004120T5 true DE112020004120T5 (de) 2022-06-02

Family

ID=74681575

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004120.4T Pending DE112020004120T5 (de) 2019-08-27 2020-08-27 Überwachen eines status eines computersystems durch implementieren eines netzwerks für tiefes, unüberwachtes binäres codieren

Country Status (4)

Country Link
US (1) US20210065059A1 (de)
JP (1) JP7241234B2 (de)
DE (1) DE112020004120T5 (de)
WO (1) WO2021041631A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3992739A1 (de) * 2020-10-29 2022-05-04 Siemens Aktiengesellschaft Automatische erzeugung von trainingsdaten aus zeitreihen von sensordaten
CN113364813B (zh) * 2021-08-09 2021-10-29 新风光电子科技股份有限公司 一种轨道交通能量回馈数据的压缩传输方法及系统
CN113469300B (zh) * 2021-09-06 2021-12-07 北京航空航天大学杭州创新研究院 设备状态检测方法及相关装置
US20230267305A1 (en) * 2022-02-23 2023-08-24 Nec Laboratories America, Inc. Dual channel network for multivariate time series retrieval with static statuses
CN116307938B (zh) * 2023-05-17 2023-07-25 成都瑞雪丰泰精密电子股份有限公司 一种加工中心进给系统健康状态评估方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6313730B2 (ja) * 2015-04-10 2018-04-18 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 異常検出システムおよび方法
JP7017861B2 (ja) * 2017-03-23 2022-02-09 株式会社日立製作所 異常検知システムおよび異常検知方法
US20190034497A1 (en) * 2017-07-27 2019-01-31 Nec Laboratories America, Inc. Data2Data: Deep Learning for Time Series Representation and Retrieval
US11556581B2 (en) * 2018-09-04 2023-01-17 Inception Institute of Artificial Intelligence, Ltd. Sketch-based image retrieval techniques using generative domain migration hashing
US11899786B2 (en) * 2019-04-15 2024-02-13 Crowdstrike, Inc. Detecting security-violation-associated event data
US11550686B2 (en) * 2019-05-02 2023-01-10 EMC IP Holding Company LLC Adaptable online breakpoint detection over I/O trace time series via deep neural network autoencoders re-parameterization

Also Published As

Publication number Publication date
JP7241234B2 (ja) 2023-03-16
WO2021041631A1 (en) 2021-03-04
US20210065059A1 (en) 2021-03-04
JP2022543798A (ja) 2022-10-14

Similar Documents

Publication Publication Date Title
DE112020004120T5 (de) Überwachen eines status eines computersystems durch implementieren eines netzwerks für tiefes, unüberwachtes binäres codieren
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112020000281T5 (de) Vereinigen von modellen, die jeweilige zielklassen aufweisen, mit destillation
EP1530779B1 (de) Verfahren, datenverarbeitungseinrichtung und computerprogrammprodukt zur datenverarbeitung
DE102019000675A1 (de) Nutzen eines modells auf der basis eines tiefen neuronalen netzwerks zum identifizieren von visuell ähnlichen digitalen bildern auf der basis von nutzer-ausgewählten visuellen eigenschaften
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE212020000731U1 (de) Kontrastives Vortraining für Sprachaufgaben
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
DE112016006360T5 (de) Verbessern eines lernens einer abstandsmetrik mit einem n-paar-verlust
DE112019000739T5 (de) Zeitreihengewinnung zum analysieren und korrigieren eines systemstatus
DE202017007529U1 (de) Differenzmetrik für auf maschinellem Lernen basierende Verarbeitungssysteme
DE112020004052T5 (de) Sequenzmodelle zur audioszenenerkennung
DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
DE102021116436A1 (de) Verfahren und Vorrichtung zur datenfreien Posttraining-Netzwerkquantisierung und Generierung von synthetischen Daten auf Grundlage eines vortrainierten Modells maschinellen Lernens
DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
DE112021003629T5 (de) Kompakte darstellung und zeitreihensegmentabruf durch deep learning
DE112020005572T5 (de) Tiefe Gesichtserkennung basierend auf Clustern über unbezeichnete Gesichtsdaten
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112021004559T5 (de) System zur robusten vorhersage bei unregelmässigen zeitreihen in dialysepatientenakten
DE102018206108A1 (de) Generieren von Validierungsdaten mit generativen kontradiktorischen Netzwerken
DE112021005739T5 (de) Erzeugung von peptid-basiertem impfstoff
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
DE102020211849A1 (de) Trainieren eines maschinellen lernmodells unter verwendung eines batch-basierten aktiven lernansatzes

Legal Events

Date Code Title Description
R012 Request for examination validly filed