-
Technisches Gebiet
-
Diese Offenbarung betrifft im Allgemeinen ein System und ein Verfahren zum Schätzen unbekannter Variablen bei gegebenen Messungen, die im Laufe der Zeit in einem Maschinenlernsystem beobachtet werden.
-
Hintergrund des Standes der Technik
-
In der Datenanalyse ist Anomalieerkennung (auch als Ausreißererkennung bezeichnet) die Identifizierung von bestimmten Daten, Ereignissen oder Beobachtungen, die Verdacht erregen, indem sie signifikant von der Mehrheit der Daten abweichen. Typischerweise werden die anormalen Elemente zu irgendeiner Art von Problem führen, wie etwa einem strukturellen Defekt, einem fehlerhaften Betrieb, einer Fehlfunktion, einem medizinischen Problem, Betrug, oder einem Fehler oder Ausreißer.
-
Ein neuronales Graphnetz bzw. Graph Neuronal Network (GNN) ist eine Art von neuronalem Netz, das direkt mit der Graphstruktur arbeitet. Eine typische Anwendung von GNN ist die Knotenklassifizierung, bei der jedem Knoten in dem Graph ein Label zugeordnet wird. Das GNN kann dann tätig werden, um die Graphen oder Teile davon zu vergleichen, falls Knoten und benachbarte Knoten verglichen werden können. Der Graphkontext und Labels von Knoten können unter Verwendung von aggregierten Informationen vorhergesagt werden. GNNs können auch verwendet werden, um eine Merkmalsdarstellung (Einbettung) eines gesamten Graphen zu bilden.
-
Kurzdarstellung
-
Eine erste veranschaulichende Ausführungsform offenbart ein computerimplementiertes Verfahren zur Erkennung von Anomalien, die graphischen Daten zugeordnet sind, aufweisend Empfangen eines oder mehrerer Eingabedatensätze als Eingabe, wobei die Eingabedatensätze einen oder mehrere Graphen aufweisen, wobei eine Mehrzahl von neuronalen Graphnetzen (GNNs) zum Identifizieren eines Gesamtverlusts verwendet werden, der einen ersten Verlust und einen zweiten Verlust aufweist, die dem Eingabedatensatz zugeordnet sind, wobei der Gesamtverlust Einbettungen zugeordnet ist, die von den GNNs erzeugt werden, und Ausgeben einer Benachrichtigung, die einer Anomalieerkennung zugeordnet ist, wenn der erste und der zweite Verlust einen Anomalieerkennungsschwellenwert überschreitet.
-
Eine zweite veranschaulichende Ausführungsform offenbart ein computerimplementiertes Verfahren zur Erkennung von Anomalien, die graphischen Daten zugeordnet sind. Das Verfahren weist auf Empfangen eines oder mehrerer Eingabedatensätze als Eingabe, wobei die Eingabedatensätze einen oder mehrere Graphen aufweisen, Verwenden einer Mehrzahl von neuronaler Graphnetzen zum Identifizieren eines dem Eingabedatensatz zugeordneten Verlusts, wobei der Verlust eine oder mehrere Einbettungen verwendet, die dem einen oder den mehreren Graphen zugeordnet sind, Trainieren einer Mehrzahl von Merkmalsextrahierern, die der Mehrzahl von neuronalen Graphnetzen zugeordnet sind, als Reaktion auf den Verlust, und Ausgeben einer trainierten Mehrzahl von neuronalen Graphnetzen als Reaktion darauf, dass der Verlust einen Konvergenzschwellenwert überschreitet.
-
Eine dritte veranschaulichende Ausführungsform offenbart ein System, das ein maschinell lernendes Netz aufweist. Das System weist eine Eingabeschnittstelle, die zum Empfangen von Eingabedaten ausgebildet ist, die grafische Darstellungen aufweisen, und einen Prozessor auf. Der Prozessor kommuniziert mit der Eingabeschnittstelle, und der Prozessor ist programmiert, als Eingabe einen oder mehrere Eingabedatensätze zu empfangen, wobei die Eingabedatensätze einen oder mehrere Graphen aufweisen, mehrere neuronale Graphnetze zu verwenden, um einen ersten Verlust und einen zweiten Verlust zu identifizieren, die dem Eingabedatensatz zugeordnet sind, die Mehrzahl der neuronalen Graphnetze als Reaktion auf den ersten und zweiten Verlust zu trainieren, und ein trainiertes neuronales Graphnetz als Reaktion darauf ausgeben, dass der erste und zweite Verlust einen Konvergenzschwellenwert überschreiten.
-
Kurze Beschreibung der Zeichnungen
-
- 1 zeigt ein System zum Trainieren eines neuronalen Netzes gemäß einer Ausführungsform.
- 2 zeigt ein computerimplementiertes Verfahren zum Trainieren und Verwenden eines neuronalen Netzes gemäß einer Ausführungsform.
- 3 offenbart ein Flussdiagramm, das dem Training eines neuronalen Graphnetzes zugeordnet ist, gemäß einer Ausführungsform.
- 4 offenbart ein Flussdiagramm, das dem Aspekt der Erkennung von Anomalien in Bezug auf ein neuronales Graphnetz zugeordnet ist.
- 5 zeigt ein schematisches Diagramm einer Interaktion zwischen einer computergesteuerten Maschine und einem Steuersystem gemäß einer Ausführungsform.
- 6 zeigt ein schematisches Diagramm des Steuersystems von 5, das dazu ausgebildet ist, ein Fahrzeug zu steuern, das ein teilweise autonomes Fahrzeug, ein vollständig autonomes Fahrzeug, ein teilweise autonomer Roboter oder ein vollständig autonomer Roboter sein kann, gemäß einer Ausführungsform.
- 7 zeigt ein schematisches Diagramm des Steuersystems von 5, das dazu ausgebildet ist, eine Fertigungsmaschine, wie etwa einen Stanzschneider, eine Schneidevorrichtung oder einen Tiefbohrer eines Fertigungssystems, wie etwa einen Teil einer Produktionslinie, zu steuern.
- 8 zeigt ein schematisches Diagramm des Steuersystems von 5, das dazu ausgebildet ist, ein Elektrowerkzeug, wie etwa einen Elektrobohrer oder -schrauber, zu steuern, das einen zumindest teilweise autonomen Modus hat.
- 9 zeigt ein schematisches Diagramm des Steuersystems von 5, das dazu ausgebildet ist, einen automatisierten persönlichen Assistenten zu steuern.
- 10 zeigt ein schematisches Diagramm des Steuersystems von 5, das dazu ausgebildet ist, ein Überwachungssystem, wie etwa ein Zugangskontrollsystem oder ein Beobachtungssystem, zu steuern.
- 11 zeigt ein schematisches Diagramm des Steuersystems von 5, das dazu ausgebildet ist, ein Bildgebungssystem, wie beispielsweise eine MRI-Vorrichtung, eine Röntgenbildgebungsvorrichtung oder eine Ultraschallvorrichtung, zu steuern.
-
Ausführliche Beschreibung
-
Wenn erforderlich, werden hierin ausführliche Ausführungsformen der vorliegenden Erfindung offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen ausgeführt werden kann. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale können übertrieben oder minimiert dargestellt sein, um Details bestimmter Komponenten zu zeigen. Daher sind hierin offenbarte spezifische strukturelle und funktionelle Details nicht als einschränkend zu interpretieren, sondern lediglich als repräsentative Grundlage, um einem Fachmann zu lehren, die vorliegende Erfindung auf verschiedene Weise einzusetzen.
-
Der Begriff „im Wesentlichen“ kann hier verwendet werden, um offenbarte oder beanspruchte Ausführungsformen zu beschreiben. Der Begriff „wesentlich“ kann einen Wert oder eine relative Eigenschaft, die in dieser Offenbarung offenbart oder beansprucht wird, modifizieren. In solchen Fällen kann „im Wesentlichen“ bedeuten, dass der Wert oder die relative Eigenschaft, die er modifiziert, innerhalb von ± 0 %, 0,1 %, 0,5 %, 1 %, 2 %, 3 %, 4 %, 5 % oder 10 % des Werts oder der relativen Eigenschaft liegt.
-
Der Begriff Sensor bezieht sich auf eine Vorrichtung, die eine physikalische Eigenschaft erkennt oder misst, und diese aufzeichnet, anzeigt oder anderweitig darauf reagiert. Der Begriff Sensor umfasst einen optischen, Licht-, Bildgebungs- oder Photonensensor (z. B. eine ladungsgekoppelte Vorrichtung (CCD), einen CMOS-Aktivpixelsensor (APS), einen Infrarotsensor (IR), einen CMOS-Sensor), einen akustischen Sensor, einen Schallsensor oder Vibrationssensor (z. B. ein Mikrofon, Geophon, Hydrophon), einen Fahrzeugsensor (z. B. bezgl. Radgeschwindigkeit, Parken, Radar, Sauerstoff, toter Winkel, Drehmoment, LIDAR), einen chemischen Sensor (z. B. einen ionenempfindlichen Feldeffekttransistor (ISFET), einen Sauerstoff-, Kohlendioxid-, Chemieresistor-, holografischen Sensor), ein Sensor für elektrischen Strom, elektrisches Potential, Magnet- oder Hochfrequenz (z. B. Hall-Effekt, Magnetometer, Magnetowiderstand, Faraday-Cup, Galvanometer), einen Umgebung-, Wetter-, Nässe-, oder Feuchtigkeitssensor (z. B. ein Wetterradar, Aktinometer), einen Durchfluss- oder Fluidgeschwindigkeitssensor (z. B. einen Luftmassenmesser, ein Anemometer), einen Sensor für ionisierende Strahlung oder subatomare Teilchen (z. B. eine Ionisationskammer, einen Geigerzähler, einen Neutronendetektor), einen Navigationssensor (z. B. einen GPS- (Global Positioning System) Sensor, einen magnetohydrodynamischen (MHD) Sensor), einen Positions-, Winkel-, Verschiebungs-, Abstands-, Geschwindigkeits- oder Beschleunigungssensor (z. B. einen LIDAR, einen Beschleunigungsmesser, einen Ultrabreitbandradar, einen piezoelektrischen Sensor), einen Kraft-, Dichte- oder Füllstandssensor (z. B. einen Dehnungsmessstreifen, einen Nukleardichtemesser), einen Wärme-, Hitze- oder Temperatursensor (z. B. ein Infrarotthermometer, Pyrometer, Thermoelement, Thermistor, Mikrowellenradiometer) oder ein anderes Gerät, Modul, Maschine oder Subsystem, deren Zweck es ist, eine physikalische Eigenschaft zu erkennen oder zu messen, und aufzuzeichnen, anzuzeigen oder anderweitig darauf zu reagieren.
-
Insbesondere kann ein Sensor Eigenschaften eines Zeitreihensignals messen, und kann räumliche oder räumlich-zeitliche Aspekte, wie etwa einen Ort im Raum, einbeziehen. Das Signal kann elektromechanische, Ton-, Licht-, elektromagnetische, HF- oder andere Zeitreihendaten aufweisen. Die in dieser Anmeldung offenbarte Technologie kann auf eine Zeitreihenbildgebung mit anderen Sensoren, z. B. einer Antenne für drahtlose elektromagnetische Wellen, einem Mikrofon für Schall, usw. angewendet werden.
-
Der Begriff Bild bezieht sich auf eine Darstellung oder ein Artefakt, das die Wahrnehmung einer physikalischen Eigenschaft (z. B. hörbarer Ton, sichtbares Licht, Infrarotlicht, Ultraschall, Unterwasserakustik) darstellt, wie etwa ein Foto oder ein anderes zweidimensionales Bild, das ein Subjekt (z. B. ein physisches Objekt, eine Szene oder eine Eigenschaft) wiedergibt und somit eine Darstellung davon bereitstellt. Ein Bild kann insofern mehrdimensional sein, indem es Komponenten von Zeit, Raum, Intensität, einer Konzentration, oder anderen Eigenschaften aufweisen kann. Beispielsweise kann ein Bild ein Zeitreihenbild aufweisen. Diese Technologie kann auch erweitert werden, um akustische in 3D-Schallquellen oder Objekte abzubilden.
-
Ein Graph ist eine Datenstruktur, die aus zwei Komponenten besteht - Knoten (oder Ecken) und Kanten. Die Knoten können aus zugeordneten Daten bestehen oder darin eingebettet sein, wie beispielsweise eine Klassifizierung, und die Kanten verbinden benachbarte Knoten. Graphdatenstrukturen können in einer Vielzahl realer Anwendungen angewendet werden, wie etwa Geschäftsprozesse, Kontrollflussgraphen in Programmen, soziale Verbindungen, Wissensgraphen und semantische Szenengraphen in der Bildanalyse. Das visuelle Identifizieren und Suchen nach persistenten Subgraph-Mustern ist eine häufige und wichtige Aufgabe in der Graphenanalyse. Die Suche nach Grafikmotiven, wie etwa Cliquen oder Stars, in einem sozialen Netzwerk offenbart beispielsweise die Community-Strukturen oder Influencer; die Suche nach ähnlichen Workflow-Vorlagen hilft, Geschäftsprozesse zu rationalisieren oder zu vereinfachen; die Suche nach Bildern mit ähnlichen Szenengraphen hilft beim systematischen Abrufen von Trainings-/Testfällen, um Modelle für Computer-Vision-Aufgaben zu entwickeln.
-
Die Anomalieerkennung (AD) auf Graphenebene weist die Aufgabe auf, Anomalien in einem Satz von Graphen zu erkennen, und ist in verschiedenen Anwendungen wichtig, einschließlich der Erkennung von Anomalien in medizinischen Testergebnissen, im autonomem und halbautonomem Fahrzeugsystembetrieb, bei Finanzbetrug-Netzwerken und der Erkennung anormaler Gemeinschaften in sozialen Netzwerken. Diese Anwendung stellt einen modernen Ansatz für die AD auf Graphenebene dar, einschließlich Konzepten, wie etwa Deep Feature Extraction, Ein-Klassen-Klassifizierung und Selbstüberwachung. Diese Paradigmen werden kombiniert, um ein Ein-Klassen-Graph-Transformations-Lernen (OCGTL) zu entwickeln, ein neuartiges Ende-zu-Ende-AD-Verfahren, das alle anderen Verfahren in einer umfassenden empirischen Studie an verschiedenen realen Datensätzen übertrifft. Eine umfassende Bewertung von neun Algorithmen (einschließlich vier neuer Algorithmen) auf neun realen Datensätzen, die für AD auf Graphenebene umfunktioniert wurden, wird vorgestellt. Die Erkennungsraten der Deep-Learning-basierten Verfahren hängen entscheidend von der Auslesefunktion zum Extrahieren von Darstellungen auf Graphenebene ab. In früheren Arbeiten führten suboptimale Entscheidungen zu dem sogenannten „Performance Flip“-Problem, das durch geeignete Designentscheidungen gemildert werden kann.
-
Anomalieerkennung (AD) ist ein wichtiges Werkzeug zum Scannen von Systemen auf unbekannte Bedrohungen. Viele Systeme (z. B. medizinische, fahrzeugbasierte, webbasierte usw.) werden am besten durch Graphen dargestellt, und es wurde daran gearbeitet, anormale Knoten und Kanten innerhalb eines Graphen zu erkennen. In vielen Anwendungen ist es jedoch relevanter, zu prüfen und zu verifizieren, ob ein gesamter Graph anormal ist.
-
Betrachtet man beispielsweise ein Finanznetzwerk mit Knoten, die Einzelpersonen, Unternehmen und Banken darstellen, und Kanten, die Transaktionen darstellen, könnte es schwierig sein, alle kriminellen Aktivitäten zu erkennen, indem man einzelne Knoten und Kanten betrachtet. Clevere Kriminelle können ihre Absichten hinter harmlos aussehenden Transaktionen verbergen. Das gesamte Netzwerk, das mit einem Geldwäschesystem verbunden ist, ist jedoch schwerer zu verschleiern und weist immer noch Eigenschaften krimineller Aktivitäten auf. Durch die Verwendung von Werkzeugen für die AD auf Graphenebene kann ein System möglicherweise ein ganzes kriminelles Netzwerk statt einzelner Einheiten erkennen. Daher kann die Erkennung von Anomalien auf Graphenebene bei realen Aufgaben aus verschiedenen Bereichen, wie etwa die Erkennung menschlicher Posen, Erkennung gefälschter Nachrichten, Erkennung von Verkehrsereignissen und Erkennung fehlerhafter Software, wichtig sein.
-
Leider gab es nur begrenzten Erfolg bei der Anpassung von Fortschritten der tiefen Anomalienerkennung auf die AD auf Graphenebene. Diese Anwendung behebt dies, indem sie den Zugriff auf einen großen Datensatz typischer Graphen für AD auf Graphenebene annimmt, wie etwa einen Datensatz mit medizinischen Interaktionen oder Zuständen, mit Standorten verknüpfte Objekte, Gemeinschaften in einem sozialen Netzwerk, oder einen Datensatz mit Schnappschüssen eines Finanznetzwerks. Obwohl die Trainingsdaten Anomalien enthalten können, sind sie nicht gelabelt. Aus diesem Grund gilt der gesamte Datensatz als „normal“. Das Ziel besteht darin, die Daten zu verwenden, um eine Anomalie-Bewertungsfunktion zu lernen, die dann verwendet werden kann, um zu bewerten, wie wahrscheinlich es ist, dass ein neuer Graph entweder normal oder anormal ist. Wichtig ist, dass sich der Begriff AD auf Graphenebene auf die Erkennung ganzer anormaler Graphen bezieht, anstatt Anomalien innerhalb von Graphen zu lokalisieren.
-
In letzter Zeit gab es einen Trend zur Verwendung von Deep Learning bei einer AD bei Bildern, tabellarischen Daten und sequentiellen Daten. Es gab jedoch nur begrenzte Forschung zu tiefer AD für Graphen. Dies mag überraschend erscheinen, da es einfach erscheint, ein tiefes AD-Verfahren für tabellarische Daten auf eines für Graphen adaptieren, indem eine geeignete Merkmalskarte definiert wird. Noch funktionieren die resultierenden Verfahren jedoch oft auf fast zufällige Weise, und bisher waren Versuche, moderne AD-Verfahren (basierend auf Deep Learning) auf AD auf Graphenebene zu adaptieren, nicht erfolgreich.
-
In dieser Offenbarung wird ein Ansatz des Ein-Klassen-Graph-Transformations-Lernens (OCGTL) für AD auf Graphenebene präsentiert, der eine tiefe Ein-Klassen-Klassifizierung (OCC) und Selbstüberwachung kombiniert, um bekannte Probleme von tiefer OCC zu überwinden. Die OCGTL-Architektur kann K+1 neuronal Graphnetze (GNNs) aufweisen, die gemeinsam auf zwei komplementäre tiefe AD-Verluste trainiert werden.
-
1 ist ein schematisches Diagramm eines visuellen Analysesystems 100, das gemäß einer Ausführungsform eine Subgraph-Mustersuche mit visueller Human-in-the-Loop-Analyse durchführt. Das System 100 kann mindestens ein Computersystem 102 aufweisen. Das Computersystem 102 kann mindestens einen Prozessor 104 aufweisen, der operativ mit einer Speichereinheit 108 oder einem Speicher verbunden ist. Der Prozessor 104 kann eine oder mehrere integrierte Schaltungen aufweisen, die die Funktionalität einer zentralen Verarbeitungseinheit (CPU) 106 implementieren. Die CPU 106 kann eine im Handel erhältliche Verarbeitungseinheit sein, die einen Befehlssatz, wie etwa einen der x86-, ARM-, Power-, oder MIPS-Befehlssatzfamilien, implementiert. Während des Betriebs kann die CPU 106 gespeicherte Programmanweisungen ausführen, die von der Speichereinheit 108 abgerufen werden. Die gespeicherten Programmanweisungen können Software aufweisen, die den Betrieb der CPU 106 steuert, um die hierin beschriebene Operation durchzuführen. In einigen Beispielen kann der Prozessor 104 ein System auf einem Chip (SoC) sein, das eine Funktionalität der CPU 106, der Speichereinheit 108, einer Netzwerkschnittstelle und Eingabe-/Ausgabeschnittstellen in einer einzigen integrierten Vorrichtung integriert. Das Computersystem 102 kann ein Betriebssystem zum Verwalten verschiedener Aspekte des Betriebs implementieren.
-
Die Speichereinheit 108 kann einen flüchtigen Speicher und einen nichtflüchtigen Speicher zum Speichern von Befehlen und Daten aufweisen. Der nichtflüchtige Speicher kann Festkörperspeicher, wie etwa NAND-Flash-Speicher, magnetische und optische Speichermedien, oder jede andere geeignete Datenspeichervorrichtung aufweisen, die Daten behält, wenn das Computersystem 102 deaktiviert ist oder elektrische Energie verliert. Der flüchtige Speicher kann einen statischen und dynamischen Direktzugriffsspeicher (RAM) aufweisen, der Programmanweisungen und Daten speichert. Beispielsweise kann die Speichereinheit 108 ein Maschinenlernmodell 110 oder einen Algorithmus, einen Trainingsdatensatz 112 für das Maschinenlernmodell 110, einen Rohquellendatensatz 115, eines oder mehrere GNNs 134, eine Graphdatenbank 136, eine Bilddatenbank 137 speichern.
-
Das Computersystem 102 kann eine Netzwerkschnittstellenvorrichtung 122 aufweisen, die dazu ausgebildet ist, eine Kommunikation mit externen Systemen und Vorrichtungen bereitzustellen. Beispielsweise kann die Netzwerkschnittstellenvorrichtung 122 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle aufweisen, wie sie durch die Normenfamilie 802.11 des Institute of Electrical and Electronics Engineers (IEEE) definiert ist. Die Netzwerkschnittstellenvorrichtung 122 kann eine zellulare Kommunikationsschnittstelle zum Kommunizieren mit einem zellularen Netzwerk (z. B. 3G, 4G, 5G) aufweisen. Die Netzwerkschnittstellenvorrichtung 122 kann ferner dazu ausgebildet sein, eine Kommunikationsschnittstelle zu einem externen Netzwerk 124 oder einer Cloud bereitzustellen.
-
Das externe Netzwerk 124 kann als das World Wide Web oder das Internet bezeichnet werden. Das externe Netzwerk 124 kann ein Standard-Kommunikationsprotokoll zwischen Computervorrichtungen einrichten. Das externe Netzwerk 124 kann ermöglichen, dass Informationen und Daten zwischen Computervorrichtungen und Netzwerken leicht ausgetauscht werden. Einer oder mehrere Server 130 können mit dem externen Netzwerk 124 kommunizieren. Der eine oder die mehreren Server 130 können den Speicher und die Prozessoren aufweisen, die dazu ausgebildet sind, die hier offenbarten GNNs und Systeme auszuführen.
-
Das Computersystem 102 kann eine Eingabe/Ausgabe- (E/A) Schnittstelle 120 aufweisen, die dazu ausgebildet sein kann, digitale und/oder analoge Eingaben und Ausgaben bereitzustellen. Die E/A-Schnittstelle 120 kann zusätzliche serielle Schnittstellen zum Kommunizieren mit externen Geräten (z. B. eine USB- (Universal Serial Bus) Schnittstelle) aufweisen.
-
Das Computersystem 102 kann eine Mensch-Maschine-Schnittstellen-(HMI) Vorrichtung 118 aufweisen, die eine beliebige Vorrichtung aufweisen kann, die es dem System 100 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabevorrichtungen können Schnittstellen für menschliche Eingaben, wie etwa Tastaturen, Mäuse, Berührungsbildschirme, Spracheingabevorrichtungen, und andere ähnliche Vorrichtungen aufweisen. Das Computersystem 102 kann eine Anzeigevorrichtung 132 aufweisen. Das Computersystem 102 kann Hardware und Software zum Ausgeben von Grafik- und Textinformationen an die Anzeigevorrichtung 132 aufweisen. Die Anzeigevorrichtung 132 kann einen elektronischen Anzeigebildschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener aufweisen. Das Computersystem 102 kann ferner dazu ausgebildet sein, eine Interaktion mit entfernten HMI- und entfernten Anzeigevorrichtungen über die Netzwerkschnittstellenvorrichtung 122 zu ermöglichen. Die HMI 118 und die Anzeige 132 können dem Benutzer gemeinsam eine Benutzerschnittstelle bereitstellen, die eine Interaktion zwischen dem menschlichen Benutzer und dem/den Prozessor(en) 104 ermöglicht.
-
Das System 100 kann unter Verwendung eines oder mehrerer Computersysteme implementiert werden. Während das Beispiel ein einzelnes Computersystem 102 darstellt, das alle beschriebenen Merkmale implementiert, ist beabsichtigt, dass verschiedene Merkmale und Funktionen getrennt und durch mehrere miteinander kommunizierende Computereinheiten implementiert werden können. Die bestimmte ausgewählte Systemarchitektur kann von einer Vielzahl von Faktoren abhängig sein, und das in 1 dargestellte System ist lediglich ein Beispiel.
-
Das System 100 kann einen Maschinenlernalgorithmus 110 implementieren, der dazu ausgebildet ist, den Rohquelldatensatz 115 zu analysieren. Der Rohquelldatensatz 115 kann rohe oder unverarbeitete Sensordaten oder Bilddaten aufweisen, die repräsentativ für einen Eingabedatensatz für ein Maschinenlernsystem sein können. Der Rohquelldatensatz 115 kann Video, Videosegmente, Bilder, textbasierte Informationen, und rohe oder teilweise verarbeitete Sensordaten (z. B. eine Radarkarte von Objekten) aufweisen. In einigen Beispielen kann der Maschinenlernalgorithmus 110 ein neuronaler Netzwerkalgorithmus sein, der dafür ausgelegt ist, eine vorbestimmte Funktion auszuführen. Beispielsweise kann der neuronale Netzwerkalgorithmus in Automobilanwendungen ausgebildet sein, um Objekte (z. B. Fußgänger, Schilder, Gebäude, den Himmel, die Straße usw.) in Bildern oder Bildsequenzen (z. B. Video) zu identifizieren, und die Bilder sogar mit Anmerkungen zu versehen, um Labels solcher Objekte zu enthalten. Die neuronalen Netzwerkalgorithmen des Maschinenlernalgorithmus 110 können ein GNN aufweisen, obwohl die hierin offenbarten GNNs als eine separate Komponente im Speicher 108 veranschaulicht sind. Die Maschinenlernalgorithmen 110 und/oder das GNN können als Eingabe einen Abfragegraphen mit einer Mehrzahl von Knoten (z. B. Arten von Objekten im Bild) annehmen, die durch Kanten (z. B. die Beziehung zwischen diesen Objekten) verbunden sind, und entsprechende Zielgraphen, die den Abfragegraphen als Sub-Graphen innerhalb des gespeicherten Zielgraphen aufweisen, in der Graphdatenbank suchen und abrufen. Die Bilddatenbank 137 enthält eine Mehrzahl von gespeicherten Bilder, die den Zielgraphen entsprechen. Jedes Bild in der Bilddatenbank 137 kann vordefinierte segmentierte Bereiche und zugeordnete Knoten aufweisen, wie aus früheren menschlichen Labeling- oder Maschinenlernprozessen bestimmt wurde. Wenn festgestellt wird, dass ein Zielgraph den Abfragegraphen enthält, kann eines der Bilder aus der Bilddatenbank 137, das dem Zielgraphen zugeordnet ist, wie hierin beschrieben abgerufen werden.
-
Das Computersystem 100 kann einen Trainingsdatensatz 112 für den Maschinenlernalgorithmus 110 speichern. Der Trainingsdatensatz 112 kann einen Satz von zuvor erstellten Daten zum Trainieren des Maschinenlernalgorithmus 110 darstellen. Der Trainingsdatensatz 112 kann von dem Maschinenlernalgorithmus 110 zum Lernen von Gewichtungsfaktoren, die einem neuronalen Netzwerkalgorithmus zugeordnet sind, verwendet werden. Der Trainingsdatensatz 112 kann einen Satz von Quelldaten aufweisen, die entsprechende Ausgaben oder Ergebnisse aufweisen, die der Maschinenlernalgorithmus 110 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 112 Quellbilder oder -videos mit und ohne Gegenstände in der Szene und entsprechende Anwesenheits- und Standortinformationen des Gegenstands aufweisen.
-
Der Maschinenlernalgorithmus 110 kann in einem Lernmodus unter Verwendung des Trainingsdatensatzes 112 als Eingabe betrieben werden. Der Maschinenlernalgorithmus 110 kann über eine Anzahl von Iterationen unter Verwendung der Daten aus dem Trainingsdatensatz 112 ausgeführt werden. Bei jeder Iteration kann der Maschinenlernalgorithmus 110 interne Gewichtungsfaktoren basierend auf den erzielten Ergebnissen aktualisieren. Beispielsweise kann der Maschinenlernalgorithmus 110 Ausgabeergebnisse (z. B. Anmerkungen, latente Variablen, Störgeräusche usw.) mit denen vergleichen, die in dem Trainingsdatensatz 112 enthalten sind. Da der Trainingsdatensatz 112 die erwarteten Ergebnisse aufweist, kann der Maschinenlernalgorithmus 110 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Maschinenlernalgorithmus 110 ein vorbestimmtes Leistungsniveau erreicht hat (z. B. 100 % Übereinstimmung mit den Ergebnissen, die dem Trainingsdatensatz 112 zugeordnet sind), kann der Maschinenlernalgorithmus 110 unter Verwendung von Daten ausgeführt werden, die nicht in dem Trainingsdatensatz 112 enthalten sind. Der Maschinenlernalgorithmus 110 kann auf neue Datensätze angewendet werden, um kommentierte Daten zu erzeugen.
-
Das GNN 134 ist ein neuronales Netzwerk, das direkt auf den in der Graphdatenbank 136 gespeicherten Graphstrukturen (z. B. Zielgraphen) sowie Eingabeabfragegraphen arbeitet. Jedem Knoten in den Graphen ist ein Label zugeordnet. Beispielsweise können im Kontext eines gespeicherten Bildes Knoten Labels für Fußgänger, Schilder, Gebäude, den Himmel, Straßen und dergleichen, die in dem Bild zu finden sind, aufweisen. Die in der Graphdatenbank 136 gespeicherten Graphstrukturen können diese Labels als Grundwahrheit gespeichert haben, während die eingegebenen Abfragegraphen einen Graphen mit einem gewünschten Knoten oder gewünschten Knoten aufweisen können, wobei das GNN dazu ausgebildet ist, so zu arbeiten, dass es die in der Graphdatenbank 126 gespeicherten Zielgraphen, die den Abfragegraphen als eine Teilmenge innerhalb der Zielgraphen aufweisen, durchsucht.
-
Das System ist dazu ausgebildet, einen Abfragegraphen mit einem oder mehreren Zielgraphen abzugleichen, die in der Graphdatenbank 136 gespeichert sind. Jeder Graph weist Ecken und Kanten auf. Ein ungerichteter, verbundener Graph kann als G = (V, E) bezeichnet werden, wobei die Knotenmenge V und die Kantenmenge E, X die V zugeordneten Merkmale sind (z. B. kategoriale Attribute).
-
Um die Effektivität von OCGTL zu untersuchen, präsentiert diese Anwendung vier Ablationen des Modells, die dabei helfen, den Beitrag der unterschiedlichen Ingredienten zu entwirren. Da der OCGTL-Ansatz eine tiefe OCC mit selbstüberwachter AD kombiniert, basieren die Ablationen auf diesen beiden Ideen. Die Ablationsstudie weist auch ein Ein-Klassen-GNN (OCGNN) auf. Bei der OCC werden Proben in eine Hypersphäre abgebildet, die typische Proben einkapselt; alles außerhalb der Sphäre gilt als anormal. Während damit eine leistungsstarke AD für Bilder erzeugt wird, wurden noch keine zufriedenstellenden Ergebnisse bei der AD auf Graphenebene erzielt.
-
Als Teil einer empirischen Studie wurde eine sorgfältige Untersuchung der architektonischen Wahlmöglichkeiten der GNNs erwogen, die alle tiefe AD-Verfahren zur Merkmalsextraktion verwenden. Neun Verfahren an neun realen Graphklassifizierungsdatensätzen, die für AD auf Graphenebene umfunktioniert wurden, wurden in Betracht gezogen. Diese Anwendung bringt eine tiefe AD auf Graphen mit anderen Domänen auf den neuesten Stand und steuert ein völlig neues Verfahren (OCGTL) bei.
-
2 offenbart ein Beispiel eines neuronalen Graphnetzes gemäß einer nachstehenden Ausführungsform. Das System kann einen oder mehrere Graphen 201 aufweisen, die als Datensatz verwendet werden. Die Graphen 201 können verschiedene Knoten oder Darstellungen verschiedener Daten sein, die Bilder (z. B. mit Pixeln), Finanzdaten usw. aufweisen. Jeder Graph kann durch einen Satz von GNNs 203 eingebettet sein. Die GNNs können bis zu K Darstellungen haben. Die GNNs 203 können dazu ausgebildet sein, jeden Graphen 201 einzubetten, um Darstellungen zu erhalten, die verschiedene Darstellungen sein können.
-
Das System kann einen Verlust 205
bestimmen. Ein solcher Verlust kann zwei Beiträge aufweisen. Der erste Beitrag kann dazu führen, dass die Einbettungen nahe an einem Zentrum θ liegen. Der zweite Verlustterm kann dazu führen, dass die Einbettungen nahe an der Referenzeinbettung liegen, jedoch voneinander beabstandet sind. Der Verlust kann sowohl während des Trainings als auch als Anomaliewert verwendet werden.
-
Die OCGTL-Architektur (wie etwa die in 2 gezeigte Ausführungsform) kann K+1 GNNs 203 aufweisen. Diese Netze können K+1 unterschiedliche Einbettungen erzeugen, wenn ein Graph 201 als Eingabe gegeben ist. Die OCGTL kann zwei sich ergänzende Verlustbeiträge verwenden. Ein OCC-Verlust kann dazu führen, dass alle Einbettungen nahe am selben Punkt liegen. Dies kann durch das Transformationslernziel ausgeglichen werden. Es kann ein kontrastiver Verlust sein, der sicherstellt, dass sich alle Einbettungen desselben Graphen voneinander unterscheiden, während dennoch wichtige Eigenschaften der ursprünglichen Eingabe erfasst werden.
-
Das Kombinieren dieser beiden Verluste kann aus einer Reihe von Gründen vorteilhaft sein. Erstens ist bekannt, dass eine tiefe OCC anfällig für einen „Modenkollaps“ ist, was eine triviale Lösung ist, die nicht zur Erkennung von Anomalien verwendet werden kann. Die triviale Lösung ist unter dem OCGTL-Ziel nicht optimal, was beweist, dass OCGTL dieses Problem löst. Zweitens konzentrieren sich die beiden Verlustbeiträge auf unterschiedliche Abstandsbegriffe zwischen den Grapheinbettungen. Der OCC-Verlust kann auf euklidischen Abständen beruhen, während der Transformationslernverlust empfindlich auf die Winkel zwischen Einbettungen reagiert. Wenn der kombinierte Verlust als Anomaliewert verwendet wird, bedeutet dies, dass es anormale Einbettungskonfigurationen sowohl in Bezug auf Winkel zwischen Einbettungen als auch in Bezug auf euklidische Abstände erkennen kann. Schließlich kann das OCGTL das erste tiefe Ein-Klassen-Verfahren sein, bei dem das Zentrum des Ein-Klassen-Verlusts optimiert werden kann, was dem Verfahren einen zusätzlichen Freiheitsgrad verleiht.
-
Das OCGTL kann eine selbstüberwachte AD mit lernbaren Transformationen, tiefe OCC und Merkmalsextraktion mit GNNs aufweisen. Die OCGTL-Architektur kann einen Referenzmerkmalsextrahierer f und K zusätzliche Merkmalsextrahiereren f
k (k = 1,..., K) aufweisen, die gemeinsam trainiert werden, wie in
2 gezeigt wird. Jeder der Merkmalsextrahierer ist eine parametrisierte Funktion (z. B. GNN), die als Eingabe einen attributierten Graphen
mit einer Menge von Ecken V, Kanten ε und Knotenmerkmalen (Attributen)
als Eingabe nimmt und sie auf einen Einbettungsraum Z abbildet. Diese K + 1 Merkmalsextrahiereren werden gemeinsam auf den OCGTL-Verlust,
trainiert. Jeder Graph in den Trainingsdaten trägt zwei Terme zum Verlust bei,
-
Der erste Term,
kann ein Ein-Klassen-Term sein und kann unterstützen, dass alle Einbettungen so nahe wie möglich an demselben Punkt
liegen. Der zweite Term,
kann erzwingen, dass die Einbettungen jedes GNN verschieden und semantisch sinnvolle Darstellungen des Eingabegraphen G sind.
-
Der Graph-Transformations-Lernbegriff neuronales Transformationslernen kann ein selbstüberwachtes Trainingsziel für eine tiefe AD sein, das bei Zeitreihen und tabellarischen Daten erfolgreich ist. Für einen Graphen G unterstützt der Verlust des Graphtransformationslernens die Einbettungen jedes GNN, f
k(G), ähnlich der Einbettung des Referenz-GNN, f
k(G), zu sein, während sie zueinander unähnlich sind. Folglich ist jedes GNN f
k(G), in der Lage, Merkmale auf Graphenebene zu extrahieren, um eine andere Ansicht von G zu erzeugen. Der Beitrag jedes Graphen zum Ziel ist
mit
wobei τ einen Temperaturparameter bezeichnet. Die Ähnlichkeit kann hier als Kosinus-Ähnlichkeit sim(z, z
1) := z
Tz'/||z|| ||z'|| definiert werden. Beachte, dass der obige Verlust allgemeiner ist als der oben vorgeschlagene, da er eine Einschränkung der gemeinsamen Nutzung von Parametern zwischen Transformationen weglässt. Diese Wahl kann unterschiedliche Graphkategorien aufweisen, die unterschiedliche Typen von Transformationen bevorzugen.
-
In Bezug auf den Ein-Klassen-Begriff kann die Ein-Klassen-Klassifizierung (OCC) in der Lage sein, Daten in eine minimale Hypersphäre abzubilden, die alle normalen Trainingsdaten aufweist. Datenpunkte außerhalb der Grenze werden als anormal angesehen. Der Beitrag jedes Graphen G zu unserem OCC-Ziel kann sein
-
Die Verlustfunktion kann den Abstand des Graphen G zum Zentrum θ bestrafen, was als ein trainierbarer Parameter behandelt werden kann. Bei früheren tiefen OCC-Ansätzen kann das Zentrum θ ein fester Hyperparameter sein, um triviale Lösungen für Gleichung 3 (oben) zu vermeiden.
-
Die Merkmalsextraktion mit GNNs von Graphdaten, Parametrierung der Merkmalsextrahiereren f und f
1,···,f
K durch GNNs ist vorteilhaft. Auf jeder Schicht I verwaltet ein GNN Knotendarstellungsvektoren
für jeden Knoten v. Die Darstellung kann basierend auf den Darstellungen von v und seinen Nachbarn v in der vorherigen Schicht berechnet werden.
-
Die Knotendarstellungen jeder Schicht werden dann zu schichtspezifischen Graphdarstellungen kombiniert.
die zu Darstellungen auf Graphenebene verkettet sind,
-
Diese Verkettung führt Informationen aus verschiedenen Hierarchieebenen (Xu et al., 2018b) in die grafische Darstellung ein. Unsere empirische Studie in Abschnitt 4 zeigt, dass die Wahl der Auslesefunktion (die bestimmt, wie die Knotendarstellungen zu Graphdarstellungen aggregiert werden) besonders wichtig ist, um Anomalien zuverlässig zu erkennen.
-
Eine Anomalie-Bewertung mit OCGTL kann ein Ende-zu-Ende-Verfahren für eine AD auf Graphenebene sein. Während des Trainings können die GNNs auf Gleichung 1 trainiert werden. Während des Tests wird
(Gleichung (1)) direkt als Bewertungsfunktion zum Erkennen anormaler Graphen verwendet. Ein geringer Verlust bei einer Testprobe bedeutet, dass der Graph wahrscheinlich normal ist, während ein hoher Verlust auf eine Anomalie hinweist. Ein Vorteil von OCGTL besteht darin, dass sein Verlust es empfindlicher für unterschiedliche Arten von Anomalien macht, indem sowohl Winkel zwischen Einbettungen als auch euklidische Abstände berücksichtigt werden. Im Gegensatz dazu beruhen OCC-basierte Verfahren typischerweise nur auf den euklidischen Abstand.
-
Ein weiterer Vorteil von OCGTL gegenüber OCC-basierten Ansätzen besteht darin, dass das Training robuster ist und das AD-Modell flexibler sein kann. Eine bekannte Schwierigkeit beim Training von OCC-basierten Detektoren für tiefe Anomalien (wie etwa Deep Support Vector Data Description (SVDD) und Ein-Klassen neuronales Graphnetz (OCGNN)) kann der Hypersphärenkollaps sein. Der Hypersphärenkollaps ist ein triviales Optimum des Trainingsziels
das auftritt, wenn der Merkmalsextrahierer f alle Eingaben genau auf das Zentrum θ abbildet. Die Hypersphäre kann dann einen Radius von Null haben, und eine AD kann unmöglich werden. Einige empfehlen, θ zu fixieren und Bias-Terme für f zu vermeiden, und zeigen in der Praxis gute Ergebnisse. Es gibt jedoch keine Garantie dafür, dass eine triviale Lösung unter jeder Architektur für f vermieden werden kann. Hier kann das System beweisen, dass OCGTL dies überwindet.
-
Das System kann zeigen, dass die triviale Lösung f(G) = θ einen perfekten OCC-Verlust erreicht, aber nicht optimal für den OCGTL-Verlust ist. Somit vermeidet OCGTL nachweislich den Kollaps der Hypersphäre, selbst wenn das Zentrum θ ein trainierbarer Parameter ist. Dieses Ergebnis macht OCGTL zum ersten tiefen Ein-Klassen-Ansatz, bei dem das Zentrum trainiert werden kann.
-
Der konstante Merkmalsextrahierer, f(G) = θ für alle Eingaben G, minimiert
(Gl. (3)).
-
Beweis.
ist die quadrierte ℓ
2-Norm des Abstands zwischen der Einbettung von G und dem Zentrum θ. Das Einsetzen von f (G) = θ ergibt das Minimum 0.
-
Durch die Verwendung von
zur Regularisierung können wir den Kollaps der Hypersphäre vermeiden.
-
Aussage 2. Wenn das neuronale Transformationslernen bei den Trainingsdaten besser abschneidet als zufällig
dann minimiert der konstante Merkmalsextrahierer von Aussage 1 nicht den kombinierten Verlust
(Gl. (1)).
-
Für den konstanten Merkmalsextrahierer ist f
k(G) = θ für alle k, und alle Eingaben
wobei K die Anzahl der Transformationen und K log K die negative Entropie des zufälligen Erratens der Referenzeinbettung ist. Angenommen, es gibt eine Konstellation der Modellparameter, so dass
ist, d.h. besser als zufällig. Da θ trainierbar ist, können wir es als Ursprung festlegen. Der Verlust der optimalen Lösung ist mindestens so gut wie der Verlust mit θ = 0.
Die Transformationen können so manipuliert werden, dass ihre Ausgaben neu skaliert werden und als Ergebnis alle Einbettungen die Norm ||f
k(G)||
2 < ε/K haben. Wenn sich die Norm der Einbettungen ändert, bleibt L
GTL unverändert, da die Kosinusähnlichkeit nicht empfindlich auf die Norm der Einbettungen reagiert. Durch Einsetzen in Gl. (1) erhalten wir
was besser ist als die Leistung des besten konstanten Encoders.
-
Die obigen Details zeigen, dass, während eine tiefe OCC zum Zusammenbruch der Hypersphäre neigt, dieselbe triviale Lösung kein Minimierer des kombinierten Verlusts
ist. Somit kann
in der Praxis getestet werden, indem man Graph Transformation Learning (GTL) trainiert und die prädiktive Entropie anhand der Trainingsdaten auswertet. In allen Szenarien haben wir nach dem Training mit
gearbeitet.
-
Der Hauptbeitrag unserer Arbeit ist OCGTL. Um die Effektivität von OCGTL zu untersuchen, kann das System die folgenden AD-Verfahren auf Graphenebene als Ablationen implementieren. Diese Verfahren wurden bisher noch nicht an Graphen untersucht, daher ist ihre Implementierung auch einer unserer Beiträge in diesem Papier und ebnet den Weg für zukünftige Fortschritte.
-
Ein-Klassen-Pooling (OCPool) ist ein flaches Verfahren, die Pooling verwendet, um eine Darstellung auf Graphenebene aus den Knotenfunktionen zu erstellen:
-
Dieser Merkmalsextrahierer hat möglicherweise keine Parameter und erfordert daher kein Training. Anomalien können erkannt werden, indem ein Ein-Klassen-SVM (OCSVM) auf diese Merkmale trainiert wird. Dieser neuartige Ansatz für eine AD auf Graphenebene ist eine einfache Grundregel und kann vorteilhafte Ergebnisse erzielen (obwohl die Kantenmengen ε der Graphen nicht verwendet wird). Außerdem kann er helfen, zu bestimmen, welche Pooling-Funktion am besten als Auslesefunktion (Gleichung (5)) für GNN-basierte AD-Verfahren funktionieren könnte.
-
Graph-Transformations-Vorhersage bzw. Graph Transformation Prediction (GTP) ist ein selbstüberwachtes Ende-zu-Ende-Erkennungsverfahren, das auf einer Transformationsvorhersage basiert. Es trainiert einen Klassifizierer f, um vorherzusagen, welche Transformation auf eine Probe angewendet wurde, und verwendet den Kreuzentropieverlust, um Anomalien zu bewerten. Wir implementieren GTP mit sechs Graphtransformationen (Node Dropping, Edge Adding, Edge Dropping, Attribut Masking, Subgraph und Identity Transformation), die ursprünglich für das kontrastive Lernen von Graphen in You et al. (2020) entwickelt wurden.
-
Graphen-Transformations-Lernen bzw. Graph Transformation Learning (GTL) ist ein selbstüberwachtes Ende-zu-Ende-Erkennungsverfahren, das neuronale Transformationen verwendet. K GNNs, f
k for k = 1,···,K werden zusätzlich zu dem Referenzmerkmalsextrahierer f anhand von
trainiert (Gl. (2)). Der Verlust wird direkt verwendet, um Anomalien zu bewerten. Während dieses Verfahren in der Praxis gut funktioniert, ist es nicht empfindlich gegenüber der Norm der Grapheinbettungen in Gl. (2). Der Normalisierungsschritt beim Berechnen der Cosinus-Ähnlichkeit macht das Mittelwert- und Additions-Pooling äquivalent, wenn die Graphdarstellungen aggregiert werden, und verliert daher die Berücksichtigung der Normen der Grapheinbettungen. Dies kann sich für GTL nachteilig auswirken im Vergleich zu den anderen in dieser Arbeit vorgestellten Verfahren, die vom Add-Pooling profitieren.
-
3 offenbart ein Flussdiagramm, das dem neuronalen Graphnetzwerk gemäß einer Ausführungsform zugeordnet ist. Bei Schritt 301 kann das System Eingabedaten empfangen, die einen Graphen oder eine Mehrzahl von Graphen aufweisen. Die Graphen können eine Vielzahl von Knoten aufweisen, um verschiedene Datenpunkte darzustellen, die einem Bild oder anderen Daten zugeordnet sind. Bei Schritt 303 kann das System die Mehrzahl von GNNs laufen lassen, um die Graphdaten zu modellieren. Bei Schritt 305 kann es einen Verlust identifizieren, der jedem Eingabegraphen zugeordnet ist, indem es die Einbettung der von den GNNs erzeugten Graphdaten verwendet. Der Verlust wird unter Verwendung von OCGTL identifiziert, was oben ausführlich erläutert wird. Bei Entscheidung 307 kann das System bestimmen, ob ein Konvergenzschwellenwert erreicht ist. Bei Schritt 309 kann das trainierte GNN ausgegeben werden, wenn es erfüllt oder überschritten wird. Somit kann das GNN als trainiert identifiziert werden, wenn der Verlust gering ist. Wenn der Verlust immer noch signifikant ist und nicht unter den GNN-Schwellenwert fällt, kann das System Parameter 308 aktualisieren, die dem GNN zugeordnet sind. Das System kann dann unter Verwendung der aktualisierten Parameter und unter Verwendung der Graphdaten einen Verlust identifizieren. Das System kann weiterhin Parameter aktualisieren und grafische Daten auswerten, bis der Konvergenzschwellenwert erreicht ist.
-
4 offenbart ein Flussdiagramm, das dem Aspekt der Anomalieerkennung in Bezug auf das neuronale Graphnetz zugeordnet ist. Die Anomalieerkennung kann auf einem trainierten GNN oder einem GNN verwendet werden. In Schritt 401 kann das System graphische Eingabedaten empfangen. Die Eingabedaten können graphische Daten sein, die eine Vielzahl von offenbarten Ausführungsformen aufweisen. Bei Schritt 403 kann das System die trainierte Mehrzahl eines Modells von GNNs für die Graphdaten ausführen. Bei Schritt 405 kann das System einen Verlust identifizieren, der jedem Eingabegraphen zugeordnet ist, indem es die Einbettungen der von den GNNs erzeugten Graphdaten verwendet. Der Verlust wird mit einem OCGTL identifiziert. (Dieser Verlust ist der wesentliche Punkt für die Neuheit). Bei Entscheidung 407 kann das System bestimmen, ob der Verlust über einem Schwellenwert liegt. Bei Schritt 409 kann das System eingreifen, wenn der Verlust über einem Anomalieschwellenwert liegt, oder einen Alarm melden. Somit kann die Warnung anzeigen, dass die Anomalie anormal ist. In einer anderen Ausführungsform kann das System eingreifen und Programme oder Operationen beenden, wenn die Daten eine Anomalie anzeigen. Wenn beispielsweise eine Betrugserkennung basierend auf den grafischen Daten vorliegt, die Betrug anzeigen, kann das System eine Transaktion (z. B. Überweisung, Kreditkartenüberweisung, Zahlung, usw.) stoppen. Wenn der Verlust unter dem Schwellenwert liegt, kann das System davon ausgehen, dass es sich um einen normalen Datensatz oder eine normale Aktivität handelt, und somit einfach mit der Überwachung fortfahren und Daten durch das trainierte GNN laufen lassen.
-
Diese Technologie kann auf andere graphische Daten angewendet werden, wie in den 5-11 angegeben und vorgestellt. Diese Figuren, die 5-11, veranschaulichen beispielhafte Ausführungsformen, jedoch können die Konzepte dieser Offenbarung auf zusätzliche Ausführungsformen angewendet werden. Einige beispielhafte Ausführungsformen weisen auf: Industrielle Anwendungen, in denen die Modalitäten Video, Gewicht, IR, 3D-Kamera und Ton aufweisen können; Elektrowerkzeug- oder Geräteanwendungen, bei denen die Modalitäten Drehmoment, Druck, Temperatur, Entfernung oder Schall aufweisen können; medizinische Anwendungen, bei denen die Modalitäten Ultraschall, Video, CAT-Scan, MRI oder Ton aufweisen können; Roboteranwendungen, bei denen die Modalitäten Video, Ultraschall, LIDAR, IR oder Ton aufweisen können; und Sicherheitsanwendungen, bei denen die Modalitäten Video, Ton, IR oder LIDAR aufweisen können. Die Modalitäten können verschiedene Datensätze aufweisen, beispielsweise kann ein Videodatensatz ein Bild aufweisen, kann ein LIDAR-Datensatz eine Punktwolke aufweisen, und kann ein Mikrofondatensatz eine Zeitreihe aufweisen.
-
Die hier offenbarte Technologie kann verwendet werden, indem mit jeder Art von grafischen Daten gearbeitet wird, die durch Empfangen von Sensorsignalen erhalten werden können, z. B. GPS-Signale von Fahrzeugen, oder Emissionen von Motoren. Die grafischen Daten können mit Daten sozialer Netzwerke oder Schnappschüssen von Finanznetzwerkdaten verknüpft werden. Grafische Daten können für Modelle des typischen Fahrverhaltens, der typischen Verschmutzungsgrade im Zeitverlauf, oder der Dynamik eines Motors verwendet werden, um sowohl Gesetzgebern als auch Automobilingenieuren dabei zu helfen, Lösungen für eine sauberere Mobilität zu entwickeln.
-
Die hierin beschriebenen Maschinenlernmodelle können in vielen verschiedenen Anwendungen verwendet werden, und nicht nur im Zusammenhang mit der Bildverarbeitung von Straßenschildern. Weitere Anwendungen, bei denen eine Bildquantisierung verwendet werden kann, sind in den 6-11 gezeigt. Strukturen, die zum Trainieren und Verwenden der Maschinenlernmodelle für diese Anwendungen (und andere Anwendungen) verwendet werden, sind in 5 beispielhaft dargestellt. 5 zeigt ein schematisches Diagramm einer Interaktion zwischen einer computergesteuerten Maschine 500 und einem Steuersystem 502. Die computergesteuerte Maschine 500 weist einen Aktor 504 und einen Sensor 506 auf. Der Aktor 504 kann einen oder mehrere Aktoren aufweisen und der Sensor 506 kann einen oder mehrere Sensoren aufweisen. Der Sensor 506 ist dazu ausgebildet, einen Zustand der computergesteuerten Maschine 500 zu erfassen. Der Sensor 506 kann dazu ausgebildet sein, den erfassten Zustand in Sensorsignale 508 zu codieren und Sensorsignale 508 an das Steuersystem 502 zu senden. Nicht einschränkende Beispiele des Sensors 506 weisen Video, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren auf. In einer Ausführungsform ist der Sensor 506 ein optischer Sensor, der dazu ausgebildet ist, optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 500 zu erfassen.
-
Das Steuersystem 502 ist dazu ausgebildet, Sensorsignale 508 von der computergesteuerten Maschine 500 zu empfangen. Wie nachstehend ausgeführt, kann das Steuersystem 502 ferner dazu ausgebildet sein, Aktorsteuerbefehle 510 in Abhängigkeit von den Sensorsignalen zu berechnen und Aktorsteuerbefehle 510 an den Aktor 504 der computergesteuerten Maschine 500 zu senden.
-
Wie in 5 gezeigt wird, weist das Steuersystem 502 eine Empfangseinheit 512 auf. Die Empfangseinheit 512 kann dazu ausgebildet sein, Sensorsignale 508 von dem Sensor 506 zu empfangen und Sensorsignale 508 in Eingangssignale x umzuwandeln. In einer alternativen Ausführungsform werden die Sensorsignale 508 ohne die Empfangseinheit 512 direkt als Eingangssignale x empfangen. Jedes Eingangssignal x kann ein Teil jedes Sensorsignals 508 sein. Die Empfangseinheit 512 kann dazu ausgebildet sein, jedes Sensorsignal 508 zu verarbeiten, um jede Eingangssignal x zu erzeugen. Das Eingangssignal x kann Daten aufweisen, die einem von dem Sensor 506 aufgezeichneten Bild entsprechen.
-
Das Steuersystem 502 weist einen Klassifizierer 514 auf. Der Klassifizierer 514 kann dazu ausgebildet sein, Eingangssignale x unter Verwendung eines Algorithmus für maschinelles Lernen (ML), wie beispielsweise eines oben beschriebenen neuronalen Netzes, in eines oder mehrere Labels zu klassifizieren. Der Klassifizierer 514 ist dazu ausgebildet, durch Parameter, wie z. B. die oben beschriebenen (z. B. Parameter θ), parametrisiert zu werden. Die Parameter θ können im nichtflüchtigen Speicher 516 gespeichert und von diesem bereitgestellt werden. Der Klassifizierer 514 ist dazu ausgebildet, Ausgangssignale y aus Eingangssignalen x zu bestimmen. Jedes Ausgangssignal y weist Informationen auf, die jedem Eingangssignal x eine oder mehrere Labels zuordnen. Der Klassifizierer 514 kann Ausgangssignale y an die Umwandlungseinheit 518 senden. Die Umwandlungseinheit 518 ist dazu ausgebildet, Ausgangssignale y in Aktorsteuerbefehle 510 umzuwandeln. Das Steuersystem 502 ist dazu ausgebildet, Aktorsteuerbefehle 510 an den Aktor 504 zu senden, der dazu ausgebildet ist, die computergesteuerte Maschine 500 als Reaktion auf Aktorsteuerbefehle 510 anzusteuern. In einer anderen Ausführungsform ist Aktor 504 dazu ausgebildet, die computergesteuerte Maschine 500 direkt auf Ausgangssignalen y basierend anzusteuern.
-
Der Aktor 504 ist dazu ausgebildet, beim Empfang der Aktorsteuerbefehle 510 durch den Aktor 504 eine Aktion auszuführen, die dem zugehörigen Aktorsteuerbefehl 510 entspricht. Der Aktor 504 kann eine Steuerlogik aufweisen, die dazu ausgebildet ist, die Aktorsteuerbefehle 510 in einen zweiten Aktorsteuerbefehl umzuwandeln, der verwendet wird, um den Aktor 504 zu steuern. In einer oder mehreren Ausführungsformen können Aktorsteuerbefehle 510 verwendet werden, um anstelle von oder zusätzlich zu einem Aktor eine Anzeige zu steuern.
-
In einer anderen Ausführungsform weist das Steuersystem 502 einen Sensor 506 auf anstelle von oder zusätzlich zu einer computergesteuerten Maschine 500 mit einem Sensor 506. Das Steuersystem 502 kann auch einen Aktor 504 aufweisen anstelle von oder zusätzlich zu einer computergesteuerten Maschine 500 mit einem Aktor 504.
-
Wie in 5 gezeigt wird, weist das Steuersystem 502 auch einen Prozessor 520 und einen Speicher 522 auf. Der Prozessor 520 kann einen oder mehrere Prozessoren aufweisen. Der Speicher 522 kann eine oder mehrere Speichervorrichtungen aufweisen. Der Klassifizierer 514 (z. B. Maschinenlernalgorithmen, wie die, welche oben in Bezug auf den vortrainierten Klassifizierer 306 beschrieben sind) einer oder mehrerer Ausführungsformen kann durch das Steuersystem 502 implementiert werden, das einen nichtflüchtigen Speicher 516, einen Prozessor 520 und einen Arbeitsspeicher 522 aufweist.
-
Der nichtflüchtige Speicher 516 kann eine oder mehrere persistente Datenspeichervorrichtungen, wie etwa eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Festkörpervorrichtung, einen Cloud-Speicher oder eine beliebige andere Vorrichtung, die Informationen dauerhaft speichern kann, aufweisen. Der Prozessor 520 kann eine oder mehrere Vorrichtungen aufweisen, die aus Hochleistungsrechen- (HPC) Systemen ausgewählt wurden, einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, zentralen Verarbeitungseinheiten, feldprogrammierbaren Gate-Arrays, programmierbaren Logikvorrichtungen, Zustandsmaschinen, Logikschaltkreisen, analogen Schaltkreisen, digitalen Schaltkreisen oder beliebigen anderen Vorrichtungen, die Signale (analog oder digital) basierend auf computerausführbaren Anweisungen manipulieren, die sich im Speicher 522 befinden. Der Speicher 522 kann eine einzelne Speichervorrichtung oder eine Reihe von Speichervorrichtungen aufweisen, die Direktzugriffsspeicher (RAM), flüchtigen Speicher, nichtflüchtigen Speicher, statischen Direktzugriffsspeicher (SRAM), dynamischen Direktzugriffsspeicher (DRAM), Flash-Speicher, Cache-Speicher oder jede andere Vorrichtung, die Informationen speichern kann, aufweisen, aber nicht darauf beschränkt sind.
-
Der Prozessor 520 kann ausgebildet sein zum Einlesen, in den Speicher 522, und Ausführen von computerausführbaren Anweisungen, die sich in dem nichtflüchtigen Speicher 516 befinden und einen oder mehrere ML-Algorithmen und/oder Methodiken einer oder mehrerer Ausführungsformen verkörpern. Der nichtflüchtige Speicher 516 kann eines oder mehrere Betriebssysteme und Anwendungen aufweisen. Der nichtflüchtige Speicher 516 kann kompilierte und/oder interpretierte Computerprogramme speichern, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder Technologien erstellt wurden, einschließlich, ohne Einschränkung, und entweder allein oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, JavaScript, Python, Perl und PL/SQL.
-
Bei einer Ausführung durch den Prozessor 520 können die computerausführbaren Anweisungen des nichtflüchtigen Speichers 516 das Steuersystem 502 veranlassen, einen oder mehrere der ML-Algorithmen und/oder Methodiken, wie sie hierin offenbart sind, zu implementieren. Der nichtflüchtige Speicher 516 kann auch ML-Daten (einschließlich Datenparameter) aufweisen, die die Funktionen, Merkmale und Prozesse der einen oder mehreren hierin beschriebenen Ausführungsformen unterstützen.
-
Der Programmcode, der die hierin beschriebenen Algorithmen und/oder Methodiken verkörpert, kann einzeln oder gemeinsam als Programmprodukt in einer Vielzahl unterschiedlicher Formen verteilt werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums verteilt werden, das darauf befindliche computerlesbare Programmanweisungen aufweist, um einen Prozessor zu veranlassen, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Computerlesbare Speichermedien, die inhärent nichtflüchtig sind, können volatile und nicht-volatile sowie entfernbare und nicht entfernbare materielle Medien aufweisen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen implementiert sind, wie etwa computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Computerlesbare Speichermedien können ferner RAM, ROM, löschbaren programmierbaren Nur-Lese-Speicher (EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), Flash-Speicher oder andere Festkörper-Speichertechnologien, tragbare Compact-Disc-Nur-Lese-Speicher (CD -ROM) oder andere optische Speicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und das von einem Computer gelesen werden kann, aufweisen. Computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf einen Computer, einen anderen Typ von programmierbarer Datenverarbeitungsvorrichtung, oder eine andere Vorrichtung von einem computerlesbaren Speichermedium, oder auf einen externen Computer oder eine externe Speichervorrichtung heruntergeladen werden.
-
Computerlesbare Programmanweisungen, die auf einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Typen von programmierbaren Datenverarbeitungsvorrichtungen, oder andere Vorrichtungen anzuweisen, auf eine bestimmte Weise zu funktionieren, so dass die auf dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel erzeugen, der Anweisungen aufweist, die die in den Ablaufdiagrammen oder Graphen angegebenen Funktionen, Handlungen und/oder Operationen implementieren. In bestimmten alternativen Ausführungsformen können die in den Ablaufdiagrammen und Graphen angegebenen Funktionen, Aktionen und/oder Operationen neu geordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden, in Übereinstimmung mit einer oder mehreren Ausführungsformen. Darüber hinaus kann jedes der Ablaufdiagramme und/oder Graphen mehr oder weniger Knoten oder Blöcke als diejenigen aufweisen, die dargestellt sind, in Übereinstimmung mit einer oder mehreren Ausführungsformen.
-
Die Prozesse, Verfahren oder Algorithmen können ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten, wie etwa anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsmaschinen, Steuerungen oder anderer Hardwarekomponenten oder -vorrichtungen, oder einer Kombination aus Hardware-, Software- und Firmware-Komponenten verwirklicht sein.
-
6 zeigt ein schematisches Diagramm des Steuersystems 502, das zum Steuern des Fahrzeugs 600 ausgebildet ist, das ein zumindest teilweise autonomes Fahrzeug oder ein zumindest teilweise autonomer Roboter sein kann. Das Fahrzeug 600 weist einen Aktor 504 und einen Sensor 506 auf. Der Sensor 506 kann einen oder mehrere Videosensoren, Kameras, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (z. B. GPS) aufweisen. Einer oder mehrere des einen oder der mehreren spezifischen Sensoren können in das Fahrzeug 600 integriert sein. Im Kontext der Verkehrszeichenerkennung und -verarbeitung, wie hierin beschrieben, ist der Sensor 506 eine Kamera, die an dem Fahrzeug 600 angebracht oder darin integriert ist. Alternativ oder zusätzlich zu einem oder mehreren der oben identifizierten spezifischen Sensoren, kann der Sensor 506 ein Softwaremodul aufweisen, das dazu ausgebildet ist, bei Ausführung einen Zustand des Aktors 504 zu bestimmen. Ein nicht einschränkendes Beispiel eines Softwaremoduls weist ein Wetterinformations-Softwaremodul auf, das dazu ausgebildet ist, einen gegenwärtigen oder zukünftigen Wetterzustand in der Umgebung des Fahrzeugs 600 oder einem anderen Ort zu bestimmen.
-
Der Klassifizierer 514 des Steuersystems 502 des Fahrzeugs 600 kann dazu ausgebildet sein, Objekte in der Nähe des Fahrzeugs 600 in Abhängigkeit von Eingangssignalen x zu erkennen. In einer solchen Ausführungsform kann das Ausgangssignal y Informationen aufweisen, die die Nähe von Objekten zum Fahrzeug 600 charakterisieren. Der Aktorsteuerbefehl 510 kann gemäß diesen Informationen bestimmt werden. Der Aktorsteuerbefehl 510 kann verwendet werden, um Kollisionen mit den erkannten Objekten zu vermeiden.
-
In Ausführungsformen, in denen das Fahrzeug 600 ein zumindest teilweise autonomes Fahrzeug ist, kann der Aktor 504 in einer Bremse, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 600 ausgebildet sein. Die Aktorsteuerbefehle 510 können so bestimmt werden, dass der Aktor 504 so gesteuert wird, dass das Fahrzeug 600 Kollisionen mit erkannten Objekten vermeidet. Erkannte Objekte können auch danach klassifiziert werden, was der Klassifizierer 514 für am wahrscheinlichsten hält, beispielsweise Fußgänger oder Bäume. Die Aktorsteuerbefehle 510 können in Abhängigkeit von der Klassifizierung bestimmt werden. In einem Szenario, in dem ein gegnerischer Angriff stattfinden kann, kann das oben beschriebene System weiter trainiert werden, um Objekte besser zu erkennen, oder eine Änderung der Lichtverhältnisse oder einen Winkel für einen Sensor oder eine Kamera am Fahrzeug 600 zu identifizieren.
-
In anderen Ausführungsformen, in denen das Fahrzeug 600 ein zumindest teilweise autonomer Roboter ist, kann das Fahrzeug 600 ein mobiler Roboter sein, der dazu ausgebildet ist, eine oder mehrere Funktionen, wie etwa Fliegen, Schwimmen, Tauchen und Gehen, auszuführen. Der mobile Roboter kann ein zumindest teilweise autonomer Rasenmäher oder ein zumindest teilweise autonomer Reinigungsroboter sein. In solchen Ausführungsformen kann der Aktorsteuerbefehl 510 so bestimmt werden, dass eine Antriebseinheit, Lenkeinheit und/oder Bremseinheit des mobilen Roboters so gesteuert werden können, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
-
In einer anderen Ausführungsform ist das Fahrzeug 600 ein zumindest teilweise autonomer Roboter in Form eines Gartenroboters sein. In einer solchen Ausführungsform kann das Fahrzeug 600 einen optischen Sensor als Sensor 506 verwenden, um einen Zustand von Pflanzen in einer Umgebung in der Nähe des Fahrzeugs 600 zu bestimmen. Der Aktor 504 kann eine Düse sein, die zum Versprühen von Chemikalien ausgebildet ist. In Abhängigkeit von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann der Aktorsteuerbefehl 510 bestimmt werden, um den Aktor 504 zu veranlassen, die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien zu besprühen.
-
Das Fahrzeug 600 kann ein zumindest teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nicht einschränkende Beispiele für Haushaltsgeräte weisen eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder einen Geschirrspüler auf. In einem solchen Fahrzeug 600 kann der Sensor 506 ein optischer Sensor sein, der dazu ausgebildet ist, einen Zustand eines Objekts zu erkennen, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Wenn das Haushaltsgerät beispielsweise eine Waschmaschine ist, kann der Sensor 506 einen Zustand der Wäsche in der Waschmaschine erkennen. Der Aktorsteuerbefehl 510 kann basierend auf dem erkannten Zustand der Wäsche bestimmt werden.
-
7 zeigt ein schematisches Diagramm des Steuersystems 502, das ausgebildet ist, das System 700 (z. B. eine Fertigungsmaschine), wie etwa einen Stanzschneider, einen Schneider oder einen Tiefbohrer, des Fertigungssystems 702, wie etwa einen Teil einer Produktionslinie, zu steuern. Das Steuersystem 502 kann dazu ausgebildet sein, den Aktor 504 zu steuern, der dazu ausgebildet ist, das System 700 (z. B. eine Fertigungsmaschine) zu steuern.
-
Der Sensor 506 des Systems 700 (z. B. eine Fertigungsmaschine) kann ein optischer Sensor sein, der dazu ausgebildet ist, eine oder mehrere Eigenschaften des hergestellten Produkts 704 zu erfassen. Der Aktor 504 kann dazu ausgebildet sein, das System 700 (z. B. eine Fertigungsmaschine) in Abhängigkeit von dem bestimmten Zustand des hergestellten Produkts 704 für einen nachfolgenden Herstellungsschritt des hergestellten Produkts 704 zu steuern. Der Aktor 504 kann dazu ausgebildet sein, Funktionen des Systems 700 (z. B. eine Fertigungsmaschine) auf dem anschließend gefertigten Produkt 106 des Systems 700 (z. B. eine Fertigungsmaschine) in Abhängigkeit von dem bestimmten Zustand des gefertigten Produkts 704 zu steuern.
-
8 zeigt ein schematisches Diagramm des Steuersystems 502, das dazu ausgebildet ist, das Elektrowerkzeug 800, wie etwa einen Elektrobohrer oder -schrauber, zu steuern, das einen zumindest teilweise autonomen Modus hat. Das Steuersystem 502 kann dazu ausgebildet sein, den Aktor 504 zu steuern, der dazu ausgebildet ist, das Elektrowerkzeug 800 zu steuern.
-
Der Sensor 506 des Elektrowerkzeugs 800 kann ein optischer Sensor sein, der dazu ausgebildet ist, eine oder mehrere Eigenschaften der Arbeitsfläche 802 und/oder des Befestigungselements 804, das in die Arbeitsfläche 802 getrieben wird, zu erfassen. Der Klassifizierer 514 kann dazu ausgebildet sein, einen Zustand der Arbeitsfläche 802 und/oder Befestigungselement 804 relativ zur Arbeitsfläche 802 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Zustand kann sein, dass das Befestigungselement 804 mit der Arbeitsfläche 802 bündig ist. Der Zustand kann alternativ die Härte der Arbeitsfläche 802 sein. Der Aktor 504 kann dazu ausgebildet sein, das Elektrowerkzeug 800 so zu steuern, dass die Antriebsfunktion des Elektrowerkzeugs 800 in Abhängigkeit von dem bestimmten Zustand des Befestigungselements 804 relativ zur Arbeitsfläche 802 oder einer oder mehreren erfassten Eigenschaften der Arbeitsfläche 802 angepasst wird. Beispielsweise kann der Aktor 504 die Eintreibfunktion unterbrechen, wenn der Zustand des Befestigungselements 804 relativ zur Arbeitsfläche 802 bündig ist. Als weiteres nicht einschränkendes Beispiel kann der Aktor 504 in Abhängigkeit von der Härte der Arbeitsfläche 802 zusätzliches oder weniger Drehmoment aufbringen.
-
9 zeigt ein schematisches Diagramm des Steuersystems 502, das dazu ausgebildet ist, den automatisierten persönlichen Assistenten 900 zu steuern. Das Steuersystem 502 kann dazu ausgebildet sein, den Aktor 504 zu steuern, der dazu ausgebildet ist, den automatisierten persönlichen Assistenten 900 zu steuern. Der automatisierte persönliche Assistent 900 kann dazu ausgebildet sein, ein Haushaltsgeräts, wie etwa eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler, zu steuern.
-
Der Sensor 506 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann dazu ausgebildet sein, Videobilder von Gesten 904 des Benutzers 902 zu empfangen. Der Audiosensor kann dazu ausgebildet sein, einen Sprachbefehl des Benutzers 902 zu empfangen.
-
Das Steuersystem 502 des automatisierten persönlichen Assistenten 900 kann dazu ausgebildet sein, Aktorsteuerbefehle 510 zu bestimmen, die dazu ausgebildet sind, das System 502 zu steuern. Das Steuersystem 502 kann dazu ausgebildet sein, Aktorsteuerbefehle 510 in Übereinstimmung mit Sensorsignalen 508 des Sensors 506 zu bestimmen. Der Assistent 900 ist dazu ausgebildet, Sensorsignale 508 an das Steuersystem 502 zu senden. Der Klassifizierer 514 des Steuersystems 502 kann dazu ausgebildet sein, einen Gestenerkennungsalgorithmus auszuführen, um die von dem Benutzer 902 ausgeführte Geste 904 zu identifizieren, die Aktorsteuerbefehle 510 zu bestimmen, und die Aktorsteuerbefehle 510 an den Aktor 504 zu senden. Der Klassifizierer 514 kann dazu ausgebildet sein, als Reaktion auf die Geste 904 Informationen aus dem nichtflüchtigen Speicher abzurufen und die abgerufenen Informationen in einer für den Empfang durch den Benutzer 902 geeigneten Form auszugeben.
-
10 stellt ein schematisches Diagramm des Steuersystems 502 dar, das dazu ausgebildet ist, das Überwachungssystem 1000 zu steuern. Das Überwachungssystem 1000 kann dazu ausgebildet sein, den Zugang durch die Tür 1002 physikalisch zu steuern. Der Sensor 506 kann dazu ausgebildet sein, eine Szene zu erkennen, die für die Entscheidung, ob der Zugang gewährt wird, relevant ist. Der Sensor 506 kann ein optischer Sensor sein, der dazu ausgebildet ist, Bild- und/oder Videodaten zu erzeugen und zu senden. Solche Daten können von dem Steuersystem 502 verwendet werden, um das Gesicht einer Person zu erkennen.
-
Der Klassifizierer 514 des Steuersystems 502 des Überwachungssystems 1000 kann dazu ausgebildet sein, die Bild- und/oder Videodaten zu interpretieren, indem er Identitäten bekannter Personen, die in dem nichtflüchtigen Speicher 516 gespeichert sind, abgleicht, wodurch eine Identität einer Person bestimmt wird. Der Klassifizierer 514 kann dazu ausgebildet sein, als Reaktion auf die Interpretation der Bild- und/oder Videodaten einen Aktorsteuerbefehl 510 zu erzeugen. Das Steuersystem 502 ist dazu ausgebildet, den Aktorsteuerbefehl 510 an das Aktor 504 zu senden. In dieser Ausführungsform kann das Aktor 504 dazu ausgebildet sein, die Tür 1002 als Reaktion auf das Aktorsteuerkommando 510 zu verriegeln oder zu entriegeln. In anderen Ausführungsformen ist auch eine nicht-physische, logische Zutrittskontrolle ist möglich.
-
Das Überwachungssystem 1000 kann auch ein Beobachtungssystem sein. In einer solchen Ausführungsform kann der Sensor 506 ein optischer Sensor sein, der dazu ausgebildet ist, eine Szene zu erkennen, die beobachtet wird, und das Steuersystem 502 ist dazu ausgebildet, die Anzeige 1004 zu steuern. Der Klassifizierer 514 ist dazu ausgebildet, eine Klassifizierung einer Szene zu bestimmen, z. B., ob die durch den Sensor 506 erkannte Szene verdächtig ist. Das Steuersystem 502 ist dazu ausgebildet, als Reaktion auf die Klassifizierung einen Aktorsteuerbefehl 510 an die Anzeige 1004 zu senden. Die Anzeige 1004 kann dazu ausgebildet sein, den angezeigten Inhalt als Reaktion auf den Aktorsteuerbefehl 510 anzupassen. Beispielsweise kann die Anzeige 1004 ein Objekt hervorheben, das von dem Klassifizierer 514 als verdächtig erachtet wird. Unter Verwendung einer Ausführungsform des offenbarten Systems kann das Beobachtungssystem Objekte vorhersagen, die als Anomalien identifiziert werden.
-
11 zeigt ein schematisches Diagramm des Steuersystems 502, das dazu ausgebildet ist, das Bildgebungssystem 1100, beispielsweise eine MRI-Vorrichtung, eine Röntgenbildgebungsvorrichtung oder ein Ultraschallvorrichtung, zu steuern. Der Sensor 506 kann beispielsweise ein Bildgebungssensor sein. Der Klassifizierer 514 kann dazu ausgebildet sein, eine Klassifizierung des gesamten oder eines Teils des erfassten Bildes zu bestimmen. Der Klassifizierer 514 kann dazu ausgebildet sein, einen Aktorsteuerbefehl 510 als Reaktion auf die durch das trainierte neuronale Netz erhaltene Klassifizierung zu bestimmen oder auszuwählen. Beispielsweise kann der Klassifizierer 514 einen Bereich eines erfassten Bildes als potenziell anormal interpretieren. In diesem Fall kann der Aktorsteuerbefehl 510 bestimmt oder ausgewählt werden, um zu bewirken, dass die Anzeige 1102 die Abbildung anzeigt und den potenziell anormalen Bereich hervorhebt.
-
Der Programmcode, der die hierin beschriebenen Algorithmen und/oder Methodiken verkörpert, kann einzeln oder gemeinsam als Programmprodukt in einer Vielzahl von unterschiedlichen Formen verteilt werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums verteilt werden, mit darauf befindlichen computerlesbaren Programmanweisungen zum Veranlassen eines Prozessors, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Computerlesbare Speichermedien, die inhärent nichtflüchtig sind, können volatile und nicht-volatile sowie entfernbare und nicht entfernbare materielle Medien aufweisen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen implementiert sind, wie etwa computerlesbare Anweisungen, Datenstrukturen, Programmemodule oder andere Daten. Computerlesbare Speichermedien können ferner RAM, ROM, löschbaren programmierbaren Nur-Lese-Speicher (EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), Flash-Speicher oder andere Festkörper-Speichertechnologien, tragbaren Compact-Disc-Nur-Lese-Speicher (CD - ROM) oder anderen optischen Speicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und das von einem Computer gelesen werden kann, aufweisen. Computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf einen Computer, einem anderen Typ von programmierbarer Datenverarbeitungsvorrichtung oder eine andere Vorrichtung oder über ein Netzwerk auf einen externen Computer oder eine externe Speichervorrichtung heruntergeladen werden.
-
Computerlesbare Programmanweisungen, die auf einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Typen von programmierbaren Datenverarbeitungsvorrichtungen, oder andere Vorrichtungen anzuweisen, auf eine bestimmte Weise zu funktionieren, so dass die auf dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel erzeugen, der Anweisungen aufweist, die die in den Ablaufdiagrammen oder Graphen angegebenen Funktionen, Handlungen und/oder Operationen implementieren. In bestimmten alternativen Ausführungsformen können die in den Ablaufdiagrammen und Graphen angegebenen Funktionen, Aktionen und/oder Operationen neu geordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden, in Übereinstimmung mit einer oder mehreren Ausführungsformen. Darüber hinaus kann jedes der Ablaufdiagramme und/oder Graphen mehr oder weniger Knoten oder Blöcke als diejenigen aufweisen, die dargestellt sind, in Übereinstimmung mit einer oder mehreren Ausführungsformen.
-
Obwohl die gesamte Erfindung durch eine Beschreibung verschiedener Ausführungsformen veranschaulicht wurde und diese Ausführungsformen sehr detailliert beschrieben wurden, ist es nicht die Absicht des Anmelders, den Umfang der beigefügten Ansprüche einzuschränken oder in irgendeiner Weise auf solche Details zu beschränken. Zusätzliche Vorteile und Modifizierungen werden Fachleuten ohne weiteres einfallen. Die Erfindung in ihren breiteren Aspekten ist daher nicht auf die gezeigten und beschriebenen spezifischen Details, repräsentativen Vorrichtungen und Verfahren und veranschaulichenden Beispiele beschränkt. Dementsprechend kann von solchen Details abgewichen werden, ohne vom Geist oder Umfang des allgemeinen erfinderischen Konzepts abzuweichen.