DE112020000172T5 - Beantworten von kognitiven abfragen von sensoreingabesignalen - Google Patents

Beantworten von kognitiven abfragen von sensoreingabesignalen Download PDF

Info

Publication number
DE112020000172T5
DE112020000172T5 DE112020000172.5T DE112020000172T DE112020000172T5 DE 112020000172 T5 DE112020000172 T5 DE 112020000172T5 DE 112020000172 T DE112020000172 T DE 112020000172T DE 112020000172 T5 DE112020000172 T5 DE 112020000172T5
Authority
DE
Germany
Prior art keywords
hypervectors
neural network
layer
output
hidden
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
DE112020000172.5T
Other languages
English (en)
Inventor
Giovanni Cherubini
Evangelos Stavros Eleftheriou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020000172T5 publication Critical patent/DE112020000172T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • 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
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

Es kann ein computerimplementiertes Verfahren zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen bereitgestellt werden. Das Verfahren weist Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist, Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht und Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten einer der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion auf. Ferner weist das Verfahren Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen und Speichern des Hypervektors in einem assoziativen Speicher auf, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar ist.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft allgemein das Maschinenlernen und insbesondere ein computerimplementiertes Verfahren zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen. Die vorliegende Offenbarung betrifft ferner ein zugehöriges Maschinenlernsystem zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen und ein zugehöriges Computerprogrammprodukt.
  • Maschinenlernen ist eines der angesagtesten Themen in der Wissenschaft sowie für Organisationen der Informationstechnologie (IT) für Unternehmen. Die riesige Menge an Daten, die von Unternehmen in den letzten Jahren gesammelt wurden, nimmt immer weiter zu und macht immer anspruchsvollere Analysewerkzeuge erforderlich. Es hat sich gezeigt, dass klassische Business-Intelligence-Werkzeuge/klassische geschäftliche Analysewerkzeuge für Informationstechnologie(IT)-Nutzer und geschäftliche Nutzer sehr nützlich sind. Mit einem herkömmlichen Analyseansatz wird jedoch die Analyse halbstrukturierter oder unstrukturierter Daten immer schwieriger.
  • Die Speicherkapazitäten und die Rechenkapazitäten haben in den letzten Jahren deutlich zugenommen, wodurch eine vergleichsweise einfache Realisierung von Systemen künstlicher Intelligenz (Artificial Intelligence, AI) ermöglicht wurde, entweder als selbständiges System oder in Anwendungen beliebiger Art integriert. Diese (Al-)Systeme müssen nicht prozedurorientiert programmiert werden, sondern können mit Beispielsdaten trainiert werden, um ein Modell zu entwickeln, um z.B. unbekannte Daten zu erkennen und/oder zu klassifizieren.
  • Somit befinden wir uns heute immer noch im Zeitalter begrenzter AI, was bedeutet, dass ermöglicht werden kann, dass AI-Systeme Strukturen lernen und erkennen, nachdem sie mit Trainingsdaten trainiert worden sind, jedoch nur innerhalb sehr enger Grenzen. Die Technik ist immer noch sehr weit von einer allgemeinen AI entfernt, welche abstraktes Wissen von einem Bereich auf einen anderen Bereich übertragen kann. Daher ist das Finden von Analogien zwischen verschiedenen Wissensbereichen eine der Herausforderungen, die sich herkömmlichen von-Neumann-Rechenarchitekturen stellen.
  • Die Fähigkeit eines künstlichen neuronalen Systems, Analogien vorzunehmen und kognitive Abfragen zu beantworten, hängt stark von den Repräsentationsfähigkeiten eines solchen Systems ab. Analogien machen komplexe Beziehungsrepräsentationen kognitiver Strukturen erforderlich, welche durch existierende künstliche neuronale Netze nicht einfach erhalten werden. Eine Klasse von verteilten Repräsentationsschemen, für die sich gezeigt hat, dass sie in der Lage sind, kognitive Strukturen zu repräsentieren und zu manipulieren, sind vektorsymbolische Architekturen.
  • Ein fehlender Schritt ist jedoch die Codierung von kognitiven Strukturen direkt aus Sensordaten, was in der Literatur weithin als das „Codierungsproblem“ bezeichnet wird.
  • Die vorliegende Offenbarung kann in einem Aspekt die Fähigkeiten künstlicher neuronaler Netze verbessern, den Informationsengpass angehen und z.B. einen genau definierten klassischen Intelligenztest bestehen, z.B. Ravens Matrizentest.
  • KURZDARSTELLUNG
  • Gemäß einer Erscheinungsform der vorliegenden Erfindung kann ein computerimplementiertes Verfahren zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen bereitgestellt werden. Das Verfahren kann Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist, Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht und Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten einer der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion - insbesondere mindestens eine Abbildungsfunktion - aufweisen.
  • Außerdem kann das Verfahren Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen und Speichern des Hypervektors in einem assoziativen Speicher aufweisen, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar sein kann.
  • Gemäß einer anderen Erscheinungsform der vorliegenden Erfindung kann ein zugehöriges Maschinenlernsystem zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen bereitgestellt werden. Das Maschinenlernsystem kann einen Sensor, der zum Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes geeignet ist, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist, eine erste Bestimmungseinheit, die zum Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht geeignet ist, und eine Erzeugungseinheit aufweisen, die zum Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten einer der versteckten Neuronenschichten als Eingabedaten in eine Abbildungsfunktion - insbesondere mindestens eine Abbildungsfunktion - geeignet ist.
  • Das Maschinenlernsystem kann außerdem eine zweite Bestimmungseinheit, welche zum Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen geeignet ist, und ein Speichermodul aufweisen, welches zum Speichern des Hypervektors in einem assoziativen Speicher geeignet ist, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar ist.
  • Das vorgeschlagene computerimplementierte Verfahren zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen kann mehrere Vorteile und technische Auswirkungen bieten:
  • Das System kann einen eleganten Weg ermöglichen, das bis heute bestehende Problem anzugehen, hyperdimensionale (HD) binäre Vektoren für Zusammensetzungsstrukturen direkt aus Sensordaten zu codieren. Dieses Problem wird weithin als das „Codierungsproblem“ bezeichnet. Die Idee ist es, Sensordateninformationen aus verschiedenen Schichten eines künstlichen neuronalen Netzes zu verwenden, um die HD-Vektoren als Eingabe in einen assoziativen Speicher zu bilden. Dadurch können Sensordaten, welche Elemente aus derselben Klasse repräsentieren können, in Informationen umgewandelt werden, welche zu ähnlichen binären Hypervektoren führen. Ähnlichkeit kann hier Folgendes bedeuten: Aufweisen eines relativ kurzen Abstands zueinander in dem assoziativen Speicher. Diese Abstände können durch metrische Werte zwischen einer Abfrage und möglichen Antworten gemessen werden. Je näher sich die HD-Vektoren beieinander befinden, je besser eine mögliche Antwort ist - ausgewählt aus der Gruppe, die in Frage kommende Antworten aufweist - desto kürzer kann der Abstand sein. Der Abstand kann elegant über die Hamming-Abstandsfunktion gemessen werden. Der kürzeste Abstand zwischen der kognitiven Abfrage und den in Frage kommenden Antworten kann als die beste Antwort auf eine gegebene Abfrage verwendet werden.
  • Die hier vorgeschlagene Lösung macht von den impliziten inhärenten Zuständen eines trainierten künstlichen neuronalen Netzes Gebrauch, um HD-Vektoren zum Adressieren des assoziativen Speichers abzuleiten. Dabei werden zwei verschiedene Zeitrahmen verwendet. Der erste Zeitrahmen kann durch das Ende des Trainierens des neuronalen Netzes definiert sein. Dieses kann durch einen Gradientenabstiegsansatz bestimmt werden, der auf die Schichten des neuronalen Netzes angewendet wird, um ein Ende einer Trainingssitzung zu bestimmen. Die erzeugten HD-Rollenvektoren werden nur einmal erzeugt, nämlich am Ende der Trainingsperiode. Sie repräsentieren den Grundzustand des neuronalen Netzes, der mit den Zusammensetzungsrepräsentationselementen einer kognitiven Abfrage in Verbindung steht.
  • Nach dem Trainieren können kontinuierlich die HD-Füllvektoren erzeugt werden, solange dem System Sensoreingabesignale, welche kognitive Abfragen repräsentieren, und in Frage kommende Antworten zugeführt werden. Jede in Frage kommende Antwort kann mindestens einen HD-Füllvektor erzeugen, der dem assoziativen Speicher zuzuführen ist. Aus dem Abstand zwischen den kombinierten HD-Rollen- und Füllvektoren, welche in Frage kommende Antworten repräsentieren, kann die Antwort auf die Abfrage abgeleitet werden.
  • Somit wird durch das Lösen des Problems des Codierens hyperdimensionaler (HD) Vektoren für Zusammensetzungsstrukturen direkt aus Sensordaten elegant das Bestimmen einer Antwort auf eine kognitive Abfrage möglich.
  • Die vorgeschlagene vektorsymbolische Nicht-von-Neumann-Architektur ermöglicht ferner ganzheitliche Umwandlungen, das heißt, die Informationen in den HD-Vektoren verschlechtern sich anstandslos in Bezug auf die Anzahl fehlerhafter Bits, ungeachtet ihrer Position. Überdies führt sie effiziente HD-Berechnungen durch, welche durch das Abbilden von Zusammensetzungsstrukturen auf andere Zusammensetzungsstrukturen durch einfache binäre Operationen gekennzeichnet sind, ohne dass die Sensorsignal-Repräsentationen in ihre Komponenten zerlegt werden müssen.
  • Im Folgenden werden weitere Ausführungsformen des erfinderischen Konzepts beschrieben.
  • Gemäß einer Ausführungsform kann das Verfahren Kombinieren - d.h. unter Verwendung eines Bindungsoperators und/oder eines Bündelungsoperators - verschiedener Hypervektoren, die in dem assoziativen Speicher gespeichert sind, zum Ableiten der kognitiven Abfrage und der in Frage kommenden Antworten aufweisen, die jeweils aus den Sensoreingabesignalen erhalten werden. Somit kann die Verarbeitung der Abfrage und die Verarbeitung der in Frage kommenden Antworten auf eine ähnliche Weise erreicht werden, was implizit einen Vergleich und das Treffen einer abschließenden Entscheidung vergleichsweise einfach machen kann.
  • Gemäß einer anderen Ausführungsform kann das Verfahren Messen eines Abstands zwischen dem Hypervektor, der die kognitive Abfrage repräsentiert, und den Hypervektoren, die die in Frage kommenden Antworten repräsentieren, aufweisen. Eine Möglichkeit zum Messen des Abstands zwischen binären Hypervektoren kann in der Verwendung des Hamming-Abstands zwischen zwei binären Hypervektoren liegen. Andere Vektorabstandsverfahren können ebenfalls erfolgreich angewendet werden. Der Punkt ist, dass mit einer Abstandsfunktion mit steuerbarer Rechenleistung eine gute Vergleichbarkeit erreicht werden kann. Aus Gründen der Vollständigkeit sei angemerkt, dass die Begriffe „Hypervektor“ und „hyperdimensionaler Vektor“ in diesem Dokument austauschbar verwendet werden können.
  • Gemäß einer Ausführungsform kann das Verfahren außerdem Auswählen des auf die in Frage kommenden Antworten bezogenen Hypervektors aufweisen, der einen minimalen Abstand von dem Hypervektor aufweist, der die kognitive Abfrage repräsentiert. Dieser vergleichsweise einfache Weg zum Auswählen einer Antwort auf eine gegebene kognitive Abfrage kann einen recht eleganten Weg zum Ableiten der bestmöglichen Antwort in dem Optionsraum möglicher Antworten auf eine gegebene kognitive Abfrage repräsentieren.
  • Gemäß einer weiteren Ausführungsform des Verfahrens kann das Zuführen der Sensoreingabedaten zu einer Eingabeschicht eines künstlichen neuronalen Netzes außerdem Zuführen der Sensoreingabedaten zu Eingabeschichten einer Mehrzahl von künstlichen neuronalen Netzen aufweisen. Mit diesem zusätzlichen Merkmal können die Lerngeschwindigkeit und die Zuverlässigkeit des Antwortverfahrens deutlich gesteigert werden.
  • Gemäß einer Ausführungsform des Verfahrens kann das Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen außerdem Verwenden der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten von einer Mehrzahl der versteckten Neuronenschichten als Eingabedaten für mindestens eine Abbildungsfunktion aufweisen. Durch die Verwendung auch der versteckten Neuronenschichten und nicht nur der Ausgabeschicht des neuronalen Netzes kann eine komplexere Struktur - insbesondere einer der Hypervektoren - vergleichsweise einfach erzeugt werden, da die Abbildungsfunktion - bei welcher es sich eigentlich um eine Mehrzahl einzelner Abbildungsfunktionen handeln kann - auch Informationen von Zwischenzuständen des neuronalen Netzes empfangen kann, d.h. aus den versteckten Schichten. Dies kann einen viel besseren fundamentalen Datensatz zum Bilden der binären HD-Vektoren repräsentieren, welche den assoziativen Speicher adressieren.
  • Gemäß einer erlaubten Ausführungsform des Verfahrens kann das neuronale Netz ein neuronales Faltungsnetz sein. Es hat sich gezeigt, dass neuronale Faltungsnetze sehr erfolgreich bei der Erkennung von Bildern (d.h. beim Treffen von Voraussagen darüber) oder bei der Verarbeitung von Ton sind, z.B. in der Form von gesprochenen Worten. Die Faltungsstufe oder -stufen - typischerweise am Beginn der Sequenz der versteckten Neuronenschichten positioniert - ermöglichen eine sehr schnelle Verringerung der Anzahl an Neuronen von einer Schicht eines neuronalen Netzes zur nächsten Schicht. Somit sind sie bei der Verringerung der Rechenleistungsanforderungen für neuronale Netze förderlich.
  • Gemäß einer weiteren Ausführungsform kann das Verfahren an einem Ende eines Trainierens des neuronalen Netzes außerdem Erzeugen einer Mehrzahl von zufälligen Hypervektoren (HD-Vektoren) als Rollenvektoren aufweisen, die in dem assoziativen Speicher zu speichern sind. Der Begriff „an einem Ende“ kann nahelegen, dass sich das Trainieren des neuronalen Netzes einem Ende nähert. Dieses Ende kann durch einen Gradientenabstiegsansatz bestimmt werden, welcher auf dem Fehler beruht, der durch die Differenz zwischen Ergebnissen und Kennsätzen von Trainingsdaten in einer überwachten Trainingssitzung bestimmt wird. Die Verwendung eines SGD-Algorithmus (Stochastic Gradient Descent, Stochastischer Gradientenabstieg) und die Überwachung der Gradientenstatistik kann eine Möglichkeit zum Bestimmen des Endes der Trainingssitzung sein, um die Rollenvektoren zu erzeugen. Der Fachmann kann die Mehrzahl anderer Bestimmungsverfahren neben dem SGD-Algorithmus kennen, um zu bestimmen, dass sich das Ende der Lernsitzung nähert. Eine einfache Bestimmung einer Differenz der stochastischen Gradientenvarianz zwischen zwei Trainingszyklen mit zwei verschiedenen Trainingsdatensätzen und ein Vergleich mit einem Schwellenwert können die Erzeugung der Rollenvektoren auslösen.
  • Gemäß einer zusätzlichen Ausführungsform kann das Verfahren außerdem kontinuierliches Erzeugen einer Mehrzahl von Pseudozufalls-Hypervektoren als Füllvektoren aufweisen, auf Grundlage von Ausgabedaten der Mehrzahl von neuronalen Netzen für jeden neuen Satz von Sensoreingabedaten, wobei die Pseudozufalls-Hypervektoren in dem assoziativen Speicher zu speichern sind. Diese Pseudozufallsvektoren können - im Gegensatz zu den Rollenvektoren - kontinuierlich erzeugt werden, solange dem zugehörigen Maschinenlernsystem Sensoreingabesignale zugeführt werden, welche kognitive Abfragen und in Frage kommende Antworten repräsentieren.
  • Gemäß einer Ausführungsform des Verfahrens kann das Kombinieren Binden verschiedener Hypervektoren durch eine binäre XOR-Operation in Bezug auf Vektorelemente aufweisen. Eine solche Operation kann eine in Bezug auf die Rechenleistung kostengünstige und hocheffiziente digitale Funktion zum Erzeugen einer Bindung zwischen den verschiedenen Hypervektoren repräsentieren.
  • Gemäß einer weiteren und zugehörigen Ausführungsform des Verfahrens kann das Kombinieren außerdem eine Bündelung verschiedener Hypervektoren durch eine binäre Mittelung in Bezug auf Vektorelemente aufweisen. Im Gegensatz zu dem Bindungsoperator ⊗, der als die binäre XOR-Operation in Bezug auf Elemente definiert ist, kann der Bündelungsoperator 〈·〉 als die binäre Mittelung der HD-Vektoren in Bezug auf Elemente definiert sein, d.h. als die Mehrheitsregel. Somit können einfache binäre Berechnungen angewendet werden, um die Bindung und die Bündelung verschiedener Hypervektoren zu definieren, wodurch nur eine begrenzte Rechenleistung benötigt wird.
  • Gemäß einer weiteren Ausführungsform des Verfahrens können die Rollenvektoren am Ende eines Trainings des künstlichen neuronalen Netzes in dem assoziativen Speicher gespeichert werden, wenn ein stochastischer Gradientenabstiegswert, der zwischen zwei Gruppen von Eingabevektoren der Sensoreingabesignale in das neuronale Netz bestimmt wird, unterhalb eines vorgegebenen Schwellenwerts bleibt. Mit anderen Worten, die Differenz zwischen benachbarten SGD-Werten kann so klein sein, dass weitere Trainingsaufwände immer weniger wichtig werden. Ein solcher Verfahrensschritt kann auch angewendet werden, um den Trainingsdatensatz auf eine angemessene Größe zu beschneiden, um die Trainingszeit so kurz wie möglich zu halten.
  • Ferner können Ausführungsformen die Form eines zugehörigen Computerprogrammprodukts annehmen, auf welches von einem computernutzbaren oder computerlesbaren Medium zugegriffen werden kann und welches einen Programmcode zur Verwendung durch einen Computer oder ein Befehlsausführungssystem oder in Verbindung mit einem solchen bereitstellt. Für die Zwecke der vorliegenden Beschreibung kann ein computernutzbares oder computerlesbares Medium eine beliebige Vorrichtung sein, welche ein Mittel zum Speichern, Kommunizieren, Ausbreiten oder Transportieren des Programms zur Verwendung durch das Befehlsausführungssystem, die Vorrichtung oder die Einheit oder in Verbindung damit enthalten kann.
  • Figurenliste
  • Es ist zu beachten, dass Ausführungsformen der Erfindung in Bezug auf verschiedene Gegenstände beschrieben werden. Insbesondere werden einige Ausführungsformen in Bezug auf Verfahrensansprüche beschrieben, während andere Ausführungsformen in Bezug auf Vorrichtungsansprüche beschrieben werden. Der Fachmann erkennt jedoch aus der obigen und der folgenden Beschreibung, dass, sofern nicht anders angegeben, zusätzlich zu einer beliebigen Kombination von Merkmalen, die zu einem Gegenstandstyp gehören, auch jede beliebige Kombination zwischen Merkmalen, die sich auf verschiedene Gegenstände beziehen, insbesondere zwischen Merkmalen der Verfahrensansprüche und Merkmalen der Vorrichtungsansprüche, als innerhalb des vorliegenden Dokuments offenbart anzusehen ist.
  • Die oben definierten Erscheinungsformen und weitere Erscheinungsformen der vorliegenden Erfindung sind aus den Ausführungsbeispielen ersichtlich, die hierin im Folgenden beschrieben werden, und werden unter Bezugnahme auf die Ausführungsbeispiele erläutert, auf welche die Erfindung jedoch nicht beschränkt ist.
  • Bevorzugte Ausführungsformen der Erfindung werden lediglich beispielhaft und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 zeigt ein Blockschaubild einer Ausführungsform des erfinderischen computerimplementierten Verfahrens zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen.
    • 2 zeigt ein Blockschaubild einer Ausführungsform eines zusätzlichen Schritts, welcher das Verfahren gemäß 1 unterstützt und erweitert.
    • 3 zeigt ein Blockschaubild einer Ausführungsform eines Abschnitts eines neuronalen Netzes.
    • 4 zeigt ein Blockschaubild einer Ausführungsform des vorgeschlagenen zugrundeliegenden allgemeinen Konzepts.
    • 5 zeigt ein Blockschaubild einer Ausführungsform des hier vorgeschlagenen Konzepts und weiterer Einzelheiten.
    • 6 zeigt ein Blockschaubild einer Ausführungsform eines vollständigen Systems des vorgeschlagenen Konzepts.
    • 7A bis 7C zeigen ein Beispiel der Bindungs- und Bündelungsformeln, mögliche Eingabedaten sowie ein Ergebnis für einen metrischen Wert für eine Mittelung für richtige Entscheidungen sowie für eine Mittelung für falsche Entscheidungen.
    • 8 zeigt ein Blockschaubild einer Ausführungsform des Maschinenlernsystems zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen.
    • 9 zeigt ein Blockschaubild einer Ausführungsform eines Rechensystems, welches zum Ausführen von Abschnitten des vorgeschlagenen Verfahrens und/oder zum Einbeziehen des Maschinenlernsystems gemäß 8 förderlich ist.
    • 10 zeigt ein Beispiel aus Ravens Matrizentest.
  • DETAILLIERTE BESCHREIBUNG
  • Im Kontext der vorliegenden Beschreibung können die folgenden Konventionen, Begriffe und/oder Ausdrücke verwendet werden:
  • Mit dem Begriff kognitive Abfrage' kann eine Abfrage an ein Maschinenlernsystem bezeichnet werden, welche nicht als eine SQL-Aussage (Structured Query Language) - oder in einer anderen formellen Abfragesprache - formuliert sein muss, aber direkt aus Sensoreingabedaten abgeleitet sein kann. Unter Verwendung des Maschinenlernsystems - d.h. dem zugehörigen Verfahren - wird eine Reihe von in Frage kommenden Antworten in Bezug auf die kognitive Abfrage geprüft, um eine bestmögliche Reaktion innerhalb des gelernten Kontexts zu bestimmen, d.h. Erhalten der benötigten Informationen aus dem zugrundeliegenden trainierten neuronalen Netz (oder aus mehreren trainierten neuronalen Netzen).
  • Mit dem Begriff ,Sensoreingabesignal(e)' können Daten bezeichnet werden, welche direkt aus einem Sensor für visuelle Daten - die auch für einen Menschen erkennbar sind - abgeleitet werden, z.B. Bilddaten aus einem Bildsensor wie einer Kamera oder dergleichen. Alternativ können auch Tondaten aus einem Mikrofon Sensordaten sein.
  • Mit dem Begriff künstliches neuronales Netz' (Artificial Neuronal Network, ANN) - oder kurz neuronales Netz (in diesem Dokument können beide Begriffe austauschbar verwendet werden) - können ein Schaltungssystem oder Rechensysteme bezeichnet werden, welche vage von den biologischen neuronalen Netzen inspiriert sind, aus denen das menschliche Gehirn aufgebaut ist. Das neuronale Netz ist selbst kein Algorithmus, sondern stattdessen ein Rahmen für viele verschiedene Maschinenlernalgorithmen zum Zusammenarbeiten und zum Verarbeiten komplexer Dateneingaben. Solche Systeme können „lernen“, Aufgaben zu erfüllen, indem sie Beispiele beachten, im Allgemeinen ohne mit aufgabenspezifischen Regeln programmiert zu werden, z.B. durch automatisches Erzeugen identifizierender Eigenschaften aus dem Lernmaterial, das verarbeitet wird.
  • Ein ANN basiert auf einer Zusammensetzung verbundener Einheiten oder Knoten, die als künstliche Neuronen und Verbindungen bezeichnet werden, ähnlich den Synapsen in einem biologischen Gehirn, die zum Senden eines Signals von einem künstlichen Neuron an ein anderes geeignet sind. Ein künstliches Neuron, welches ein Signal empfängt, kann es verarbeiten und anschließend anderen künstlichen Neuronen signalisieren, die mit ihm verbunden sind.
  • Bei gewöhnlichen ANN-Implementierungen kann das Signal an einer Verbindung zwischen künstlichen Neuronen durch eine reale Zahl repräsentiert werden und die Ausgabe jedes künstlichen Neurons kann durch eine nicht-lineare Funktion der Summe seiner Eingaben berechnet werden (unter Verwendung einer Aktivierungsfunktion). Die Verbindungen zwischen künstlichen Neuronen werden üblicherweise als,Kanten' bezeichnet. Kanten, welche künstliche Neuronen verbinden, weisen typischerweise eine Gewichtung auf, welche mit fortschreitendem Lernen angepasst wird. Die Gewichtung erhöht oder verringert die Stärke des Signals an einer Verbindung. Künstliche Neuronen können einen Schwellenwert aufweisen, so dass das Signal nur gesendet werden kann, wenn das zusammengesetzte Signal diesen Schwellenwert übersteigt. Typischerweise sind künstliche Neuronen in Schichten zusammengesetzt, wie z.B. Eingabeschicht, versteckte Schicht(en) und Ausgabeschicht. Signale wandern von der ersten Schicht (der Eingabeschicht) zu der letzten Schicht (der Ausgabeschicht), möglicherweise nachdem sie die Schichten mehrfach durchquert haben.
  • Mit dem Begriff versteckte Neuronenschicht(en)' kann (können) die Schicht(en) in einem neuronalen Netz bezeichnet werden, die nicht die Eingabeschicht oder die Ausgabeschicht ist (sind).
  • Mit dem Begriff ,Pseudozufalls-Bitsequenz' (Pseudo-Random Bit Sequence, PRBS) kann eine binäre Sequenz bezeichnet werden, welche, obwohl sie mit einem deterministischen Algorithmus erzeugt wird, schwierig vorauszusagen sein kann und ein statistisches Verhalten ähnlich einer echten Zufallssequenz zeigt.
  • Mit dem Begriff ,Abbildungsfunktion' kann hier ein Algorithmus bezeichnet werden, welcher verwendet wird, um aus einer gegebenen Eingabe PRBS zu erzeugen. Typischerweise weisen die erzeugten PRBS - wenn sie als ein Vektor gesehen werden - eine viel höhere Dimensionalität auf als ein entsprechender Eingabevektor.
  • Mit dem Begriff ,Hypervektor' kann ein Vektor bezeichnet werden, welcher eine große Anzahl an Dimensionen aufweist. In dem hier vorgeschlagenen Konzept kann die Dimensionalität im Bereich von 10.000 liegen. Daher kann im vorliegenden Dokument austauschbar auch der Begriff ,hyperdimensionaler Vektor' (HD-Vektor) verwendet werden.
  • Mit dem Begriff assoziativer Speicher' oder inhaltsadressierbarer Speicher (Content-Addressable Memory, CAM) kann ein spezieller Typ eines Computerspeichers bezeichnet werden, welcher z.B. in bestimmten Suchanwendungen mit sehr hoher Geschwindigkeit verwendet wird. Der assoziative Speicher kann Eingabedaten (z.B. HD-Vektoren) mit gespeicherten Daten vergleichen und kann die Adresse passender Daten zurückgeben.
  • Anders als bei einem Standard-Computerspeicher (Direktzugriffsspeicher oder RAM), bei welchem der Benutzer eine Speicheradresse eingibt und der RAM das Datenwort zurückgibt, das unter dieser Adresse gespeichert ist, ist ein CAM so ausgestaltet, dass der Benutzer ein Datenwort eingibt und der CAM seinen gesamten Speicher durchsucht, um zu sehen, ob dieses Datenwort irgendwo darin gespeichert ist. Wenn das Datenwort oder ein ähnliches Datenwort (d.h. ein Datenvektor) gefunden wird, gibt der CAM eine Liste mit einer oder mehreren Speicheradressen zurück, wo das Wort gefunden wurde (und in einigen Architekturimplementierungen gibt er außerdem die Inhalte dieser Speicheradresse oder andere zugehörige Datenelemente zurück). Mit anderen Worten, ein assoziativer Speicher kann einem gewöhnlichen Computerspeicher ähneln, d.h., wenn ein HD-Vektor X unter Verwendung eines anderen HD-Vektors A als die Adresse gespeichert wird, kann X später abgerufen werden, indem der assoziative Speicher mit A angesteuert wird. Ferner kann X auch abgerufen werden, indem der Speicher mit einem HD-Vektor A' adressiert wird, der A ähnelt.
  • Mit dem Begriff Abstand zwischen verschiedenen Hypervektoren' kann ein Ergebnis einer Funktion bezeichnet werden, welche einen Wert liefert, der als Abstand bezeichnet wird. Wenn die Hypervektoren als Ketten angesehen werden, kann der Abstand zwischen zwei HD-Vektoren (gleicher Länge) gleich der Anzahl der Positionen sein, an welchen sich die entsprechenden Symbole in der Kette unterscheiden (Hamming-Abstand). Mit anderen Worten, damit kann die minimale Anzahl an Substitutionen bemessen werden, die benötigt werden, um eine Kette in die andere zu ändern, oder alternativ die minimale Anzahl an Fehlern, durch welche eine Kette in die andere umgewandelt werden kann. Demzufolge kann mit dem Begriff,minimaler Abstand' der kürzeste Abstand zwischen einem gegebenen Vektor und einer Gruppe anderer Vektoren bezeichnet werden.
  • Mit dem Begriff ,in Frage kommende Antwort' kann eine Reaktionsstruktur aus einer Gruppe von Reaktionsstrukturen bezeichnet werden, welche gegen eine Eingabe in das Maschinenlernsystem geprüft werden können, die als Abfrage oder kognitive Abfrage bezeichnet wird. Das Maschinenlernsystem kann unter Verwendung der Kombination des mindestens einen neuronalen Netzes, kombiniert über HD-Vektoren, mit einem assoziativen Speicher jede der in Frage kommenden Antworten mit der Abfrage vergleichen, um die eine in Frage kommende Antwort, die am nächsten liegt - d.h. welche den kürzesten Abstand von der Abfrage aufweist - als die richtige Antwort zu bestimmen.
  • Mit dem Begriff,Rollenvektoren' kann eine Gruppe von HD-Vektoren bezeichnet werden, welche einmal an einem Ende des Trainierens des neuronalen Netzes des Systems bestimmt werden. Die Rollenvektoren können mit den Zusammensetzungsrepräsentationselementen einer kognitiven Abfrage in Verbindung stehen. Sie können unter Verwendung der Daten aus den versteckten Schichten und der Ausgabeschicht als Eingabe in eine Zufalls-Bitsequenz-Erzeugungseinheit (oder Pseudozufalls-Bitsequenz-Erzeugungseinheit) zum Erzeugen von Zufalls-Bitsequenzen erzeugt werden, welche als Rollenvektoren fungieren.
  • Mit dem Begriff ,Füllvektoren' können HD-Vektoren bezeichnet werden, welche die gleiche Dimensionalität aufweisen wie die Rollenvektoren. Der Unterschied zu den Rollenvektoren ist, dass die Füllvektoren während eines Zuführens von Sensoreingabesignalen, welche kognitive Abfragen und in Frage kommende Antworten repräsentieren, zu dem mindestens einen neuronalen Netz des Maschinenlernsystems kontinuierlich erzeugt werden können. Die Füllvektoren können als Pseudozufalls-Bitsequenzen erzeugt werden.
  • Bei dem Begriff ‚MNIST-Datenbank‘ (Modifizierte Datenbank des National Institute of Standards and Technology) handelt es sich um eine große Datenbank von handgeschriebenen Ziffern, welche gewöhnlich zum Trainieren verschiedener Bildverarbeitungssysteme benutzt wird. Die Datenbank wird außerdem weithin zum Trainieren und Testen auf dem Gebiet des Maschinenlernens benutzt. Sie wurde durch „Neu-Vermischen“ der Proben aus ursprünglichen Datensätzen des NIST erzeugt. Da der Trainingsdatensatz des NIST von Angestellten des American Census Bureau entnommen wurde, während der Testdatensatz von Schülern Amerikanischer High-Schools entnommen wurde, waren die Erzeuger der Ansicht, dass er für Maschinenlernexperimente nicht gut geeignet war. Ferner wurden die schwarzen und die weißen Bilder des NIST so normiert, dass sie in einen 28x28-Pixel-Rahmen passen, und einem Anti-Aliasing unterzogen, wodurch Grauskalastufen eingeführt wurden.
  • Bevor detaillierter auf die Ausführungsformen eingegangen wird, indem einzelne Ausführungsformen beschrieben werden, sollte eine kurze Beschreibung eines theoretischen Kontexts gegeben werden, welcher sich in Teilen in den Ausführungsformen realisiert.
  • Gegenseitige Informationen zwischen Zufallsvektoren X und T, welche individuelle Entropien H(X), H(T) und eine gemeinsame Entropie H(X,T) aufweisen, können ausgedrückt werden als I ( X ; T ) = x t p ( x , t ) log p ( x , t ) p ( x ) p ( t ) = H ( X ) + H ( T ) H ( X , T )
    Figure DE112020000172T5_0001
  • Im Kontext des vorgeschlagenen Verfahrens kann angenommen werden, dass T ein quantisiertes Codebuch von X ist, gekennzeichnet durch eine bedingte Verteilung p(t |x), welche eine weiche Partitionierung von X induziert. Wenn die Mächtigkeit von X zunimmt, nimmt typischerweise auch die Komplexität des Repräsentierens von X zu. Um die Qualität einer komprimierten Repräsentation zu bestimmen, kann eine Verzerrungsfunktion d(X,T) eingeführt werden, welche den „Abstand“ zwischen der Zufallsvariable X und ihrer neuen Repräsentation T misst. Ein Standardwert für diese Größe kann durch die Rate eines Codes in Bezug auf einen Kanal gegeben sein, der zwischen X und T „überträgt“, d.h. die gegenseitigen Informationen, begrenzt durch die maximal zulässige mittlere Verzerrung D. Die Definition der Rate-Verzerrungsfunktion kann somit ausgedrückt werden als R ( D ) = min { p ( t | x ) : d ( x , t ) D } I ( T ; X )
    Figure DE112020000172T5_0002
  • Das Finden der Rate-Verzerrungsfunktion kann das Lösen eines Minimalisierungsproblems einer konvexen Funktion über dem konvexen Satz aller normierten konditionalen Verteilungen p(t|x) erforderlich machen, welche die Verzerrungsbegrenzung einhalten können. Dieses Problem kann durch Einführen eines Lagrange-Multiplikators und Lösen der zugehörigen Minimalisierungsaufgabe gelöst werden.
  • Entsprechend weist die Informationsengpassmethode (siehe oben) mit dem Rate-Verzerrungsansatz zum Messen der Qualität der komprimierten Repräsentation von X drei Nachteile auf:
    • (i) die Verzerrungsmessung ist Teil des Problemaufbaus;
    • (ii) die Auswahl der Mächtigkeit der komprimierten Repräsentation T von X ist willkürlich und
    • (iii) die Erfassung der Relevanz der Informationen, die in X enthalten sind, fehlt vollständig. Dies kann das Hauptelement in der Liste der Nachteile darstellen.
  • Eine Lösung, durch welche alle Nachteile beseitigt werden können, kann durch die so genannte Informationsengpassmethode erhalten werden, d.h. durch Einführen eines „relevanten“ Zufallsvektors Y, welcher die Informationen von Interesse für einen Benutzer definiert, und die gemeinsame Statistik zwischen X und Y, p(x,y). Somit wird das Problem als Finden einer komprimierten Repräsentation T von X formuliert, welche die gegenseitigen Informationen zwischen T und Y, I(T;Y), maximiert. Anschließend kann die Relevanzkompressionsfunktion für eine gegebene gemeinsame Verteilung p(x,y) definiert werden als R ^ ( D ^ ) = { p ( t | x ) : I ( T ; Y ) D ^ }            min I ( T ; X )
    Figure DE112020000172T5_0003
    wobei T bei gegebenem X bedingt unabhängig von Y ist (Markov-Bedingung) und die Minimierung über die gesamte normierte Verteilung p(t |x) erfolgt, für welche die Begrenzungsbedingung erfüllt ist.
  • Die Relevanzkompressionsfunktion ^R(^D) kann nun durch erneutes Zurückgreifen auf einen Lagrange-Multiplikator und anschließendes Minimieren einer zugehörigen Funktion, die einer Normierung unterzogen wird, und Annehmen der Markov-Bedingung p(t |x,y)=p(t |x) gefunden werden.
  • Nun übergehend zu künstlichen neuronalen Netzen, können die Zufallsvektoren, die zu den verschiedenen Schichten eines künstlichen neuronalen Netzes gehören, als eine Markov-Kette aufeinander folgender innerer Repräsentationen der Eingabe X angesehen werden. Jede Repräsentation von T kann dann durch einen Codierer P(T|X) und einen zugehörigen Decoder P(Y|T) definiert werden und kann durch ihre Informationsebenenkoordinaten Ix=I(X;T) bzw. Iy=I(T;Y) quantifiziert werden.
  • Die Informationsengpassgrenze kennzeichnet die optimalen Repräsentationen T, welche die Eingabe X für gegebene gegenseitige Informationen auf der gewünschten Ausgabe Y maximal komprimieren.
  • Nach einem Trainieren eines vollständig verbundenen künstlichen neuronalen Netzes mit einer tatsächlichen Ausgabe Y quantifiziert das Verhältnis I(Y;Y)/I(X;Y), wie viele der relevanten Informationen von dem künstlichen neuronalen Netz aufgenommen werden können. Dadurch kann in einem vollständig verbundenen neuronalen Netz jedes Neuron einer Schicht innerhalb des neuronalen Netzes verbunden sein, d.h. mit einem zugehörigen Gewichtungsfaktor mit jedem Neuron der nächsten nachgeschalteten Schicht des neuronalen Netzes verbunden sein.
  • Außerdem kann hier der Begriff „Codierungsproblem“ angesprochen werden: das Codieren hyperdimensionaler (HD) Vektoren für Zusammensetzungsstrukturen, d.h. das Codieren kognitiver Elemente als lange binäre Sequenzen direkt aus Sensordaten ist bislang ein offenes Problem, welches weithin als das „Codierungsproblem“ bezeichnet wird. Durch die hier vorgeschlagene Lösung wird das Codierungsproblem angegangen.
  • Die Grundidee ist es, Informationen von Sensordaten aus verschiedenen Schichten eines künstlichen neuronalen Netzes zu nutzen, um die Hypervektoreingabe in einen assoziativen Speicher zu bilden. Dabei besteht die Vermutung, dass Sensordaten, welche kognitive Elemente aus derselben Klasse repräsentieren, in binäre Informationen umgesetzt werden, welche zu ähnlichen Hypervektoren führen. Dies ist aus der nachstehend beschriebenen 4 zu erkennen.
  • Nun wird das Thema einer vektorsymbolischen Architektur (VSA) behandelt, welche auf einer Gruppe von Operatoren auf hochdimensionale Vektoren fester Länge basiert, d.h. die Abbildungsvektoren, welche eine reduzierte Beschreibung eines vollständigen Konzepts repräsentieren. Die feste Länge der Vektoren für Repräsentationen kann implizieren, dass aus einfacheren Strukturen neue Zusammensetzungsstrukturen gebildet werden können, ohne die Repräsentationsgröße zu erhöhen, jedoch zum Preis einer Erhöhung des Rauschens.
  • Reduzierte Repräsentationen und kognitive Modelle werden im Wesentlichen mit zwei Operatoren manipuliert, welche „Bindungs“- und „Bündelungs“-Funktionen durchführen und welche für binäre Vektoren die folgenden sind:
    • (i) der Bindungsoperator ⊗, der als eine binäre XOR-Operation in Bezug auf Elemente definiert ist, und
    • (ii) der Bündelungsoperator 〈·〉, der als die binäre Mittelung in Bezug auf Elemente definiert ist.
  • Das Konzept der Abbildungsvektoren kann dann mit einem Sparse-Distributed-Memory(SDM)-Modell eines assoziativen Speichers zu einer analogen Abbildungseinheit (Analog Mapping Unit, AMU) kombiniert werden, welche das Lernen von Abbildungen auf eine einfache Weise ermöglicht. Z.B. kann das Konzept „der Kreis befindet sich über dem Quadrat“ codiert werden durch die Beziehung 〈a + a1 ⊗ • + a2 ⊗ ■〉, wobei „a“ der Name der Beziehung ist (über), a1 und a2 die Rollen (Variablen) der Beziehung sind und die geometrischen Formen Füllelemente (Werte) sind, welche anzeigen, was in Beziehung steht. Das Konzept der Rollenvektoren und der Füllvektoren wird nachstehend bei 6 beschrieben.
  • Nun befassen wir uns mit dem Sparse Distributed Memory (SDM): ein SDM ist ein geeigneter Speicher zum Speichern von analogen Abbildungsvektoren, welcher automatisch ähnliche Abbildungsbeispiele zu gut organisierten Abbildungsvektoren bündelt. Grundsätzlich besteht ein SDM aus zwei Teilen, einer binären Adressmatrix A und einer ganzzahligen Inhaltsmatrix C, die wie folgt initialisiert werden:
    • (i) die Matrix A wird statistisch mit Nullen und Einsen bestückt; die Zeilen von A repräsentieren Adressvektoren;
    • (ii) die Matrix C wird auf Null initialisiert; die Zeilen von C sind Zählervektoren.
  • Mit diesem Aufbau gibt es eine Eins-zu-Eins-Verbindung zwischen Adressvektoren und Zählervektoren, so dass ein aktivierter Adressvektor immer von einem aktivierten Zählervektor begleitet wird. Dabei weisen der Adress- und der Zählervektor typischerweise eine Dimensionalität D von etwa 10.000 auf. Die Anzahl der Adressvektoren und Zählervektoren kann die Größe des benötigten Speichers S definieren. Die Adresse wird dann aktiviert, wenn der Hamming-Abstand - der die Korrelation ausdrückt - zwischen einer Abfrage (einem Abfragevektor) und der Adresse geringer als ein Schwellenwert ϑ ist, wobei ϑ ungefähr gleich 0,1 ist.
  • Es kann gezeigt werden, dass die vektorsymbolische Architektur, die eine AMU umfasst, verwendet werden kann, um eine Systemmodellierungsanalogie zu bilden, welche eine kognitive Schlüsselfunktion repräsentiert. Die AMU, welche den SDM umfasst, ermöglicht eine nicht-kommutative Bindung von Zusammensetzungsstrukturen, wodurch es möglich wird, neue Strukturen in einer gegebenen Sequenz vorherzusagen. Ein solches System kann angewendet werden, um den üblicherweise verwendeten Intelligenztest zu lösen, der als Ravens Matrizentest bezeichnet wird (vgl. 10).
  • Beim Bündeln mehrerer Abbildungsbeispiele des Typs M = ( + + + ... ) ,
    Figure DE112020000172T5_0004
    wird die Zusammensetzungsstruktur der Rolle/Füllelement-Beziehungen in die Abbildungsvektoren integriert, so dass korrekt die neuen Zusammensetzungsstrukturen MΣ⊗▲ ▲ ~ ▲ ▲ ▲ allgemein dargestellt werden. Die experimentellen Ergebnisse zeigen eindeutig, dass für ein Symbol, welches drei Dreiecke repräsentiert, ein deutlich höherer Korrelationswert erhalten wird als für andere in Frage kommende Symbole.
  • Im Allgemeinen besteht die analoge Abbildungseinheit (AMU) aus einem SDM mit einer zusätzlichen Eingabe-/Ausgabeschaltung. Somit umfasst die AMU Lern- und Abbildungsschaltungen: sie lernt eine Abbildung des Typs xk → yk aus Beispielen und verwendet gebündelte Abbildungsvektoren, welche in dem SDM gespeichert sind, um einen Ausgabevektor y'k zu berechnen.
  • Im Folgenden wird, um alles zusammenzuführen, eine detaillierte Beschreibung der Figuren gegeben. Alle Anweisungen in den Figuren sind schematisch. Zuerst wird ein Blockschaubild einer Ausführungsform des erfinderischen computerimplementierten Verfahrens zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen dargestellt. Anschließend werden weitere Ausführungsformen sowie Ausführungsformen des Maschinenlernsystems zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen beschrieben.
  • 1 zeigt ein Blockschaubild einer Ausführungsform des Verfahrens 100 zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen. Dabei erfordert ein Test eine Bestimmung einer Antwort unter Verwendung von Analogien. Die Sensoreingabedaten oder die Sensoreingabesignale können typischerweise als Bilddaten angesehen werden, d.h. ein rasterförmiges Bild einer bestimmten Auflösung. Alternativ kann auch eine Tondatei (Sprache oder andere Tondaten) als Sensoreingabedaten verwendet werden.
  • Das Verfahren 100 weist das Zuführen 102 von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes (mindestens eines), welches eine Mehrzahl von versteckten Neuronenschichten - mindestens eine - und eine neuronale Ausgabeschicht aufweist, das Bestimmen 104 von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht auf.
  • Als einen nächsten Schritt weist das Verfahren 100 das Erzeugen 106 einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten von mindestens einer oder allen versteckten Neuronenschichten als Eingabedaten für mindestens eine Abbildungsfunktion auf. Dabei kann ein Signal je künstlichen Neurons verwendet werden, um ein Untersignal einer Schicht des neuronalen Netzes zu repräsentieren. So kann jede Schicht des neuronalen Netzes einen Signalvektor anderer Dimensionalität repräsentieren, welche von der Anzahl künstlicher Neuronen in der speziellen Schicht abhängt.
  • Ferner weist das Verfahren 100 das Bestimmen 108 eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen, erzeugt oder abgeleitet z.B. durch Verkettung der Signalvektorquelle des künstlichen neuronalen Netzes, und das Speichern 110 des Hypervektors (der Hypervektoren) in einem assoziativen Speicher auf, d.h. das Speichern des Hypervektors (der Hypervektoren) an einer Stelle, die durch ihren Wert bestimmt wird und an welcher ein Abstand zwischen verschiedenen Hypervektoren bestimmbar, d.h. messbar, ist, z.B. ein Hamming-Abstandswert.
  • 2 zeigt ein Blockschaubild 200 einer Ausführungsform einer Fortsetzung des Ablaufplans der 1, welcher das Verfahren 100 repräsentiert. Zusätzliche Schritte können das Kombinieren 202 verschiedener Hypervektoren, die in dem assoziativen Speicher gespeichert sind, zum Ableiten der kognitiven Abfrage und der in Frage kommenden Antworten sowie das Messen 204 eines Abstands zwischen der kognitiven Abfrage und den in Frage kommenden Antworten und schließlich das Auswählen 206 des sich auf die in Frage kommenden Antworten beziehenden Hypervektors, d.h. des zugehörigen Hypervektors, welcher einen minimalen Abstand aufweist, z.B. einen minimalen Hamming-Abstand.
  • Mit diesem Aufbau ist es möglich, die in Frage kommende Antwort auszuwählen, welche die höchste Wahrscheinlichkeit aufweist, dass sie die richtige Antwort in einer gegebenen Gruppe von in Frage kommenden Antworten ist, die zu einer Abfrage, d.h. einer kognitiven Abfrage, passt, unter der Voraussetzung, dass das zugehörige neuronale Netz mit Datensätzen trainiert worden ist, welche sich auf das Gebiet der Abfrage sowie der in Frage kommenden Antworten beziehen. Dabei werden sowohl die Abfrage als auch die in Frage kommenden Antworten durch Hypervektoren repräsentiert.
  • 3 zeigt ein Blockschaubild einer Ausführungsform eines Teils eines neuronalen Netzes 300. Es gibt 400 Neuronen x1 bis x400 z.B. einer ersten dargestellten Schicht 302, welche als Eingabeschicht interpretiert werden kann. Wenn beispielsweise 400 Eingabeneuronen verwendet werden können, können Sensordaten eines Bilds mit 20 x 20 Pixeln als Eingabe in das neuronale Netz 300 verwendet werden. Das Neuron in der Schicht 302, welches den Ausdruck „+a“ zeigt, kann als ein Vorfaktor für die Schicht 302 interpretiert werden. Das gleiche kann für den Ausdruck „+b“ in der versteckten Schicht 304 angenommen werden. Die letzte Schicht 306 weist keinen Vorfaktor auf und kann deswegen auch als eine Ausgabeschicht interpretiert werden, welche 10 Neuronen h2,1 bis h2,10 aufweist, was anzeigt, dass das beispielhafte neuronale Netz 300 so ausgestaltet sein kann, dass zwischen 10 verschiedenen Alternativen unterschieden wird, d.h. eine Klassifizierung von 10 verschiedenen Eingabesymbolen in dem oben erwähnten Bild.
  • Es sei außerdem angemerkt, dass der dargestellte beispielhafte Teil des neuronalen Netzes 300 das Konzept eines vollständig verbundenen neuronalen Netzes zeigt, d.h. jeder Knoten einer Schicht - z.B. der Schicht 302 - ist mit jedem der Neuronen der nächsten nachgeschalteten Schicht verbunden, hier der Schicht 304. Jede solche Verbindung kann einen Gewichtungsfaktor aufweisen.
  • 4 zeigt ein Blockschaubild einer Ausführungsform 400 des vorgeschlagenen zugrundeliegenden allgemeinen Konzepts. Einer Eingabeschicht des neuronalen Netzes 404 werden Sensordaten 402 zugeführt. Aus jeder versteckten Schicht und der Ausgabeschicht des neuronalen Netzes 404 werden der PRBS1-Erzeugungseinheit (Pseudozufalls-Binärsequenz-Erzeugungseinheit) 406 oder der PRBS2-Erzeugungseinheit 408 binäre Informationen zugeführt, um Sequenzen S1 und S2 zu erzeugen. Die Eingabesignale in die PRBSx-Erzeugungseinheiten repräsentieren die entsprechenden Anfangszustände. Wenn das neuronale Netz 404 ein neuronales Faltungsnetz wäre, würde der Faltungsschritt typischerweise zwischen der Eingabeschicht und der ersten versteckten Schicht durchgeführt, um die Anzahl der benötigten Neuronen deutlich zu verringern.
  • Die Sequenzen S1 und S2 können kombiniert, z.B. in der CAT-Einheit 410 verkettet werden, deren Ausgabe der hyperdimensionale Vektor v ist, welcher als Eingabe in den assoziativen Speicher 412 verwendet wird. Es sei außerdem angemerkt, dass die Eingabesignale aus den versteckten Schichten und der Ausgabeschicht des neuronalen Netzes 404 auch Vektordaten mit typischerweise einem Wert, d.h. einer Dimension, je Neuron in ihrer zugehörigen Schicht sind.
  • 5 zeigt ein Blockschaubild einer Ausführungsform 500 des hier vorgeschlagenen Konzepts und weiterer Einzelheiten. Die Sensordaten 502 werden dem neuronalen Netz 504 zugeführt, wie bereits im Zusammenhang mit 4 erläutert. Das neuronale Netz 504 weist eine Eingabeschicht 518, versteckte Schichten 520, 522, 524, 526 und eine Ausgabeschicht 528 für eine Anzeige der Entscheidung 506 Y des neuronalen Netzes 504 auf. Es sei hier auch angemerkt, dass die Anzahl der Knoten je Schicht des neuronalen Netzes in dem neuronalen Netz 504 als ein Beispiel zu verstehen ist; realistische neuronale Netze können viel mehr künstliche Neuronen je Schicht, z.B. hunderte oder tausende, und auch viel mehr versteckte Schichten aufweisen.
  • Wie dargestellt, werden die Entscheidungsinformationen 506 Y über die Leitung 508 den Mappern MAP1 (Y) 510, MAP2 (.;Y) 512 bis MAPN (.;Y) 514 zugeführt. Außerdem werden die Vektorinformationen, die aus den versteckten Schichten 520, 522, 524, 526 des neuronalen Netzes 504 abgeleitet werden, als zusätzliche Vektoreingaben in die Mapper 510, 512 bis 514 verwendet. Die erzeugten Bitsequenzen S1, S2 bis SN können dann durch die Verkettungseinheit CAT 516 kombiniert werden, um in der Form eines Hypervektors v als Eingabe für den assoziativen Speicher 518 verwendet zu werden.
  • Der hier genutzte Effekt ist, dass Sensordaten 502, welche ähnliche Strukturen aufweisen, zu in dem assoziativen Speicher gespeicherten Hypervektoren umgewandelt werden können, welche sich relativ nah beieinander befinden, d.h. nur einen kurzen Abstand voneinander aufweisen können, und aus einer Abstandsfunktion zwischen zwei beliebigen Hypervektoren abgeleitet werden können, z.B. unter Verwendung des Hamming-Abstands.
  • 6 zeigt ein Blockschaubild einer Ausführungsform 600 eines vollständigen Systems des vorgeschlagenen Konzepts. Die Sensordateneingabe 602 wird einer Mehrzahl von neuronalen Netzen zugeführt, die als Klassifikator 1 604, Klassifikator 2 606 bis Klassifikator n 608 dargestellt sind. Im Grundsatz führen diese Klassifikatoren 604, 606, 608 einer Einheit 610 zum Überwachen von Gradientenabstiegs-Trainingsfehlern ein Eingabesignal zu. Wenn ein Gradientenabstiegswert (z.B. SGD - stochastischer Gradientenabstieg) unter einen vorgegebenen Schwellenwert fällt, kann ein Ende des Trainings signalisiert werden, was zu einem Erzeugen einer Mehrzahl von hyperdimensionalen Zufallsvektoren 1 bis n mit Dimensionalitäten im Zigtausend-Bereich (z.B. 10.000) durch die Einheiten 612, 614, 616 führt, welche Rollenvektoren Role 1, Role 2 bis Role n bilden, die in dem assoziativen Speicher 618 zu speichern sind. Diese können eine Art von Bestätigung des Trainingsabschlusses der neuronalen Netze 604, 606 bis 608 repräsentieren.
  • Andererseits basiert eine Sequenz von Füllvektoren 1, 2 bis n, die durch die Erzeugungseinheiten 620, 622, 624 für hyperdimensionale Pseudozufallsvektoren erzeugt werden, auf einer Sequenz von Eingabesignalen aus den Sensoreingabedaten 602. Symbolisch sind auch eine Abfrageeingabe 626 und Eingabewerte 628 aus einer Sequenz von Eingaben in Frage kommender Antworten dargestellt. In jedem Fall wird eine Reaktion 630 erzeugt, indem die Abfrage 626 als hyperdimensionale Vektoreingabe und die Sequenz 628 von in Frage kommenden Antworten als eine Sequenz hyperdimensionaler Vektoren als Eingabe genommen werden. Basierend auf dem Hamming-Abstand in dem assoziativen Speicher 618 zwischen dem hyperdimensionalen Vektor, der die Abfrage 626 repräsentiert, und einer der Sequenz von in Frage kommenden Antworten 628 - ebenfalls jeweils als hyperdimensionale Vektoren repräsentiert - bildet der mit höchster Wahrscheinlichkeit richtige HD-Vektor aus der Sequenz der in Frage kommenden Antworten 628 die Reaktion 630 aus der in Frage kommenden Antwort 628, welche den kürzesten Abstand zu der Abfrage 626 aufweist.
  • Unter Verwendung dieser allgemeinen Ausführungsform kann eine konkretere Ausführungsform verwendet werden, um die Fähigkeiten des hier vorgeschlagenen Konzepts zu demonstrieren. Als Klassifikatoren werden drei verschiedene Arten von Klassifikatoren verwendet: ein erster Klassifikator (z.B. der Klassifikator 604), der mit der MNIST-Datenbank trainiert wird; als zweiter Klassifikator (z.B. der Klassifikator 606) kann ein numerischer Klassifikator trainiert werden zu identifizieren, wie viele Ziffern in einem speziellen Feld von Eingabedaten zu sehen sind (für ein Beispiel für Eingabedaten sei auf 7A verwiesen); und als dritter Klassifikator (z.B. die Klassifikatoren 608) kann ein Positionszähler verwendet werden und in der Lage sein zu identifizieren, ob eine, zwei oder drei Ziffern zu erfassen sind. Hieraus können durch die Einheiten 612, 614 und 616 als Rollenvektoren ein r_shape-, ein r_num- und ein r_pos-HD-Vektor erzeugt werden, die in dem assoziativen Speicher zu speichern sind. Ferner kann von den Einheiten 620, 622, 624 eine Sequenz der Vektoren f_shape, f_num und f_pos erzeugt werden, die ebenfalls dem assoziativen Speicher zuzuführen ist. Ein Ergebnis eines metrischen Werts für diesen Aufbau ist in 7C dargestellt.
  • 7A bis 7C zeigen die Bindungs- und Bündelungsformeln, mögliche Eingabedaten sowie Ergebnisse für mittlere metrische Werte für richtige Entscheidungen sowie für unrichtige Entscheidungen. Man sieht, dass ein deutlicher Unterschied zwischen diesen zwei Alternativen besteht, wodurch die Stärke des hier vorgeschlagenen Konzepts demonstriert wird.
  • 7A zeigt eine mögliche Eingabe von Ziffern (z.B. ganzen Zahlen) 1, 5, 9 in einer Gruppe von einer Ziffer, zwei Ziffern oder drei Ziffern sowie eine Zufallsstruktur eine leere Eingabe. 7B zeigt die zugehörigen Bindungs- und Bündelungskombinationen in einer Gruppe von Gleichungen in Bezug auf die letzte beschriebene Ausführungsform sowie Kombinationen, welche zu in Frage kommenden Antworten und möglichen Reaktionen führen. Es sei außerdem angemerkt, dass die funktionellen Einheiten zum Binden und Bündeln in den assoziativen Speicher 618 integriert werden können.
  • 7C zeigt das Ergebnis eines solchen Aufbaus in einem x-y-Diagramm, wobei auf der y-Achse ein metrischer Wert dargestellt ist und auf der x-Achse die Genauigkeit von 100 % (über 100 Versuche) dargestellt ist. Es ist zu sehen, dass sich der mittlere metrische Wert 702 für unrichtige Entscheidungen deutlich von dem mittleren metrischen Wert 704 für richtige Entscheidungen unterscheidet. Außerdem ist die Varianz für die richtigen Entscheidungen viel geringer.
  • Zur Vervollständigung zeigt 8 ein Blockschaubild einer Ausführungsform des Maschinenlernsystems 800 zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen. Das Maschinenlernsystem 800 weist einen Sensor 802, der zum Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes geeignet ist, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist, und eine erste Bestimmungseinheit 804, die zum Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und Ausgabesignalen aus der neuronalen Ausgabeschicht geeignet ist, zusammen mit einer Erzeugungseinheit 806 auf, die zum Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten von einer der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion geeignet ist.
  • Ferner weist das Maschinenlernsystem 800 eine zweite Bestimmungseinheit 808, welche zum Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen geeignet ist, und ein Speichermodul 810 auf, welches zum Speichern des Hypervektors in einem assoziativen Speicher geeignet ist, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar ist. Wie oben erläutert, kann der Hamming-Abstand ein gutes Instrument sein, um Abstände zwischen hyperdimensionalen Vektoren in dem Speichermodul, d.h. dem assoziativen Speicher, zu bestimmen, wie oben beschrieben.
  • Ausführungsformen der Erfindung können praktisch zusammen mit jeder Art von Computer realisiert werden, ungeachtet der Plattform, die zum Speichern und/oder Ausführen von Programm-Code geeignet ist. 9 zeigt als ein Beispiel ein Rechensystem 900, welches zum Ausführen von Programm-Code geeignet ist, der auf das vorgeschlagene Verfahren bezogen ist.
  • Das Rechensystem 900 ist nur ein Beispiel eines geeigneten Computersystems und soll keinerlei Beschränkung des Anwendungsumfangs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung nahelegen, ungeachtet dessen, ob das Computersystem 900 in der Lage ist, realisiert zu werden und/oder welche der oben ausgeführten Funktionalitäten auszuführen. In dem Computersystem 900 gibt es Komponenten, welche mit zahlreichen anderen allgemeinen oder speziellen Rechensystemumgebungen oder -konfigurationen betriebsfähig sind. Beispiele für wohlbekannte Rechensysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem Computersystem/Server 900 geeignet sein können, umfassen, ohne darauf beschränkt zu sein, Personal-Computersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handeinheiten oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf Mikroprozessorbasis, Set Top Boxes, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, welche beliebige der obigen Systeme oder Einheiten und dergleichen umfassen. Das Computersystem/der Server 900 kann im allgemeinen Zusammenhang von Anweisungen beschrieben werden, die von einem Computersystem ausführbar sind, wie z.B. Programmmodulen, die von einem Computersystem 900 ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, welche bestimmte Aufgaben erfüllen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem/der Server 900 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wobei Aufgaben durch entfernt angeordnete Verarbeitungseinheiten erfüllt werden, welche über ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien angeordnet sein, umfassend Speichereinheiten.
  • Wie in der Figur dargestellt, ist das Computersystem/der Server 900 in der Form einer allgemeinen Recheneinheit dargestellt. Die Komponenten des Computersystems/des Servers 900 können, ohne darauf beschränkt zu sein, einen oder mehrere Prozessoren oder Verarbeitungseinheiten 902, einen Systemspeicher 904 und einen Bus 906 umfassen, welche verschiedene Systemkomponenten, einschließlich des Systemspeichers 904, mit dem Prozessor 902 verbinden. Der Bus 906 repräsentiert einen oder mehrere von verschiedenen Typen von Busstrukturen, umfassend einen Speicherbus oder eine Speichersteuerung, einen Peripheriebus, einen beschleunigten Graphikanschluss und einen Prozessorbus oder lokalen Bus, wobei beliebige aus einer Vielfalt von Busarchitekturen verwendet werden. Solche Architekturen umfassen beispielhaft, und ohne darauf beschränkt zu sein, einen Industry-Standard-Architecture(ISA)-Bus, einen Micro-Channel-Architecture(MCA)-Bus, einen Enhanced-ISA(EISA)-Bus, einen lokalen Video-Electronics-Standards-Association(VESA)-Bus, und einen Peripheral-Component-Interconnect(PCI)-Bus. Das Computersystem/der Server 900 umfasst typischerweise eine Vielfalt von Medien, die von einem Computersystem lesbar sind. Solche Medien können beliebige verfügbare Medien sein, auf welche das Computersystem/der Server 900 zugreifen kann, und es umfasst sowohl flüchtige als auch nicht-flüchtige Medien und sowohl austauschbare als auch nicht-austauschbare Medien.
  • Der Systemspeicher 904 kann von einem Computersystem lesbare Medien in der Form eines flüchtigen Speichers umfassen, wie z.B. eines Direktzugriffsspeichers (RAM) 908 und/oder eines Cache-Speichers 910. Das Computersystem/der Server 900 kann ferner andere austauschbare/nicht- austauschbare, flüchtige/nicht-flüchtige Computersystem-Speichermedien umfassen. Lediglich beispielhaft kann ein Speichersystem 912 zum Auslesen aus einem nicht-austauschbaren nicht-flüchtigen magnetischen Medium (nicht dargestellt und typischerweise als ein ,Festplattenlaufwerk' bezeichnet) und Schreiben in selbiges vorgesehen sein. Wenngleich nicht dargestellt, kann ein magnetisches Plattenlaufwerk zum Auslesen aus einer austauschbaren nicht-flüchtigen Magnetplatte (z.B. einer,Diskette') und zum Schreiben in selbige und ein optisches Plattenlaufwerk zum Auslesen aus einer austauschbaren nicht-flüchtigen optischen Platte, z.B. einer CD-ROM, einer DVD-ROM oder eines anderen optischen Mediums oder zum Schreiben in selbige(s) vorgesehen sein. In solchen Fällen kann jedes durch eine oder mehrere Datenmedien-Schnittstellen mit dem Bus 906 verbunden sein. Wie nachstehend noch weiter dargestellt und beschrieben wird, kann der Speicher 904 mindestens ein Programmprodukt umfassen, welches eine Gruppe (z.B. mindestens eines) von Programmmodulen aufweist, welche dafür konfiguriert sind, die Funktionen von Ausführungsformen der Erfindung auszuführen.
  • Das Programm/Dienstprogramm, welches eine Gruppe (mindestens eines) von Programmmodulen 916 aufweist, kann beispielsweise, und ohne darauf beschränkt zu sein, im Speicher 904 gespeichert sein, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Jedes der Betriebssysteme, des einen oder der mehreren Anwendungsprogramme, der anderen Programmmodule und der Programmdaten oder eine Kombination davon kann eine Realisierung einer Vernetzungsumgebung umfassen. Die Programmmodule 916 führen im Allgemeinen die Funktionen und/oder Methoden von Ausführungsformen der Erfindung aus, wie hierin beschrieben.
  • Das Computersystem/der Server kann außerdem mit einer oder mehreren externen Einheiten 918 Daten austauschen, z.B. mit einer Tastatur, einer Zeigereinheit, einer Anzeigevorrichtung 920 usw.; einer oder mehreren Einheiten, welche einem Benutzer ermöglichen, mit dem Computersystem/Server 900 zu interagieren; und/oder beliebige Einheiten (z.B. eine Netzwerkkarte, ein Modem usw.), welche dem Computersystem/Server 900 ermöglichen, mit einer oder mehreren anderen Recheneinheiten Daten auszutauschen. Dieser Datenaustausch kann über Eingabe/Ausgabe(I/O)-Schnittstellen 914 erfolgen. Trotzdem kann das Computersystem/der Server 900 noch über einen Netzwerkadapter 922 mit einem oder mehreren Netzwerken Daten austauschen, z.B. mit einem lokalen Netzwerk (Local Area Network, LAN), einem allgemeinen Fernbereichs-Netzwerk (Wide Area Network, WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie dargestellt, kann der Netzwerkadapter 922 über den Bus 906 mit den anderen Komponenten des Computersystems/Servers 900 Daten austauschen. Es versteht sich, dass, wenngleich nicht dargestellt, in Verbindung mit dem Computersystem/Server 900 andere Hardware-Komponenten und/oder Software-Komponenten verwendet werden könnten. Beispiele umfassen, ohne darauf beschränkt zu sein: Mikrocode, Treiber von Einheiten, zusätzliche Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Datenarchiv-Speichersysteme usw.
  • Außerdem kann das Maschinenlernsystem 800 zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen an das Bussystem 906 angeschlossen sein. Das Rechensystem 900 kann als Eingabe-/Ausgabeeinheit verwendet werden.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung sind zu Zwecken der Veranschaulichung gegeben worden, sollen aber nicht erschöpfend sein oder sich auf die offenbarten Ausführungsformen beschränken. Dem Fachmann werden viele Modifikationen und Abwandlungen ersichtlich sein, die vorgenommen werden können, ohne vom Umfang und von der Idee der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Prinzipien der Ausführungsformen, die praktische Anwendung oder die technische Anwendung gegenüber auf dem Markt befindlichen Technologien bestmöglich zu erläutern oder anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Die vorliegende Erfindung kann als ein System, ein Verfahren und/oder ein Computerprogrammprodukt verkörpert sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder computerlesbare Speichermedien) mit computerlesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Erscheinungsformen der vorliegenden Erfindung auszuführen.
  • Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem für ein Ausbreitungsmedium handeln. Beispiele für ein computerlesbares Medium können einen Halbleiter- oder Solid-State-Speicher, ein Magnetband, eine austauschbare Computerdiskette, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), eine biegesteife Magnetplatte und eine optische Platte umfassen. Aktuelle Beispiele für optische Platten umfassen Compact-Disk-Nur-Lese-Speicher (CD-ROM), Compact-Disk-Read/Write (CD-R/W), DVD und Blu-Ray-Disk.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Befehlsausführungseinheit behalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln. Eine nicht erschöpfende Liste speziellerer Beispiele des computerlesbaren Speichermediums umfasst Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse), oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf entsprechende Rechen-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Fernbereichsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Rechen-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Rechen-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, Instruction-Set-Architecture(ISA)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art von Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Fernbereichsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gate-Arrays (FPGA, Field Programmable Gate Arrays) oder programmierbare Logik-Arrays (PLA, Programmable Logic Arrays), die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Erscheinungsformen der vorliegenden Erfindung auszuführen.
  • Erscheinungsformen der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbaren Programmanweisungen realisiert werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Realisieren der in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Handlungen erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, welches Anweisungen umfasst, welche Erscheinungsformen der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktion/Handlung realisieren.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Betriebsschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit zu verursachen, um ein computerimplementiertes Verfahren zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktionen/Handlungen realisieren.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, welche einen oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion(en) aufweisen. In einigen alternativen Realisierungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren dargestellt stattfinden. Zwei aufeinander folgend dargestellte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es sei ferner angemerkt, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle auf Hardware beruhende Systeme realisiert werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die hierin verwendete Terminologie dient nur der Beschreibung spezieller Ausführungsformen und soll die Erfindung nicht beschränken. Wie hierin verwendet, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ ebenso die Pluralformen umfassen, sofern dies nicht durch den Kontext eindeutig anders angezeigt ist. Es versteht sich ferner, dass mit den Begriffen „weist auf“, „aufweist“ und/oder „aufweisen“, wenn sie in dieser Beschreibung verwendet werden, das Vorliegen angegebener Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifiziert wird, jedoch nicht das Vorliegen oder das Hinzufügen ein oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausgeschlossen wird.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritt-plus-Funktion-Elemente in den folgenden Patentansprüchen sollen jede Struktur, jedes Material oder jede Handlung zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen als speziell beansprucht umfassen. Die Beschreibung der vorliegenden Erfindung dient den Zwecken der Veranschaulichung und Beschreibung, soll aber nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Dem Fachmann werden viele Modifikationen und Abwandlungen ersichtlich sein, die vorgenommen werden können, ohne vom Umfang und von der Idee der Erfindung abzuweichen. Die Ausführungsformen werden ausgewählt und beschrieben, um die Prinzipien der Erfindung und die praktische Anwendung bestmöglich zu erläutern und anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, wie sie für die vorgesehene spezielle Verwendung geeignet sind.

Claims (25)

  1. Verfahren zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen, wobei das Verfahren aufweist: Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist; Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht; Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten einer der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion; Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen; und Speichern des Hypervektors in einem assoziativen Speicher, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar ist.
  2. Verfahren nach Anspruch 1, ferner aufweisend: Kombinieren verschiedener Hypervektoren, die in dem assoziativen Speicher gespeichert sind, zum Ableiten der kognitiven Abfrage und in Frage kommender Antworten, die jeweils aus den Sensoreingabesignalen erhalten werden.
  3. Verfahren nach Anspruch 2, ferner aufweisend: Messen eines Abstands zwischen dem Hypervektor, der die kognitive Abfrage repräsentiert, und den Hypervektoren, die die in Frage kommenden Antworten repräsentieren.
  4. Verfahren nach Anspruch 3, ferner aufweisend: Auswählen des auf die in Frage kommenden Antworten bezogenen Hypervektors, der einen minimalen Abstand von dem Hypervektor aufweist, der die kognitive Abfrage repräsentiert.
  5. Verfahren nach Anspruch 2, wobei das Zuführen der Sensoreingabedaten zu einer Eingabeschicht eines künstlichen neuronalen Netzes ferner aufweist: Zuführen der Sensoreingabedaten zu Eingabeschichten einer Mehrzahl von künstlichen neuronalen Netzen.
  6. Verfahren nach Anspruch 1, wobei das Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen ferner aufweist: Verwenden der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten von einer Mehrzahl der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion.
  7. Verfahren nach Anspruch 1, wobei das neuronale Netz ein neuronales Faltungsnetz ist.
  8. Verfahren nach Anspruch 1, ferner aufweisend: Erzeugen einer Mehrzahl von zufälligen Hypervektoren als Rollenvektoren, welche in dem assoziativen Speicher zu speichern sind, an einem Ende eines Trainierens des neuronalen Netzes.
  9. Verfahren nach Anspruch 5, ferner aufweisend: kontinuierliches Erzeugen einer Mehrzahl von Pseudozufalls-Hypervektoren als Füllvektoren auf Grundlage von Ausgabedaten der Mehrzahl von neuronalen Netzen für jeden neuen Satz von Sensoreingabedaten, wobei die Pseudozufalls-Hypervektoren in dem assoziativen Speicher zu speichern sind.
  10. Verfahren nach Anspruch 2, wobei das Kombinieren aufweist: Binden verschiedener Hypervektoren durch eine binäre XOR-Operation in Bezug auf Vektorelemente.
  11. Verfahren nach Anspruch 2, wobei das Kombinieren aufweist: Bündeln verschiedener Hypervektoren durch eine binäre Mittelung in Bezug auf Vektorelemente.
  12. Verfahren nach Anspruch 8, wobei die Rollenvektoren an dem Ende eines Trainings des künstlichen neuronalen Netzes in dem assoziativen Speicher gespeichert werden, wenn ein stochastischer Gradientenabstiegswert, der zwischen zwei Gruppen von Eingabevektoren der Sensoreingabesignale in das neuronale Netz bestimmt wird, unterhalb eines vorgegebenen Schwellenwerts bleibt.
  13. Maschinenlernsystem zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen, wobei das Maschinenlernsystem aufweist: einen Sensor, welcher zum Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes geeignet ist, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist; eine erste Bestimmungseinheit, welche zum Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht geeignet ist; eine Erzeugungseinheit, welche zum Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten einer der versteckten Neuronenschichten als Eingabedaten in eine Abbildungsfunktion geeignet ist; eine zweite Bestimmungseinheit, welche zum Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen geeignet ist; und ein Speichermodul, welches zum Speichern des Hypervektors in einem assoziativen Speicher geeignet ist, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar ist.
  14. Maschinenlernsystem nach Anspruch 13, ferner aufweisend: eine Kombinationseinheit, welche zum Kombinieren verschiedener Hypervektoren, die in dem assoziativen Speicher gespeichert sind, zum Ableiten der kognitiven Abfrage und der in Frage kommenden Antworten geeignet ist, die jeweils aus den Sensoreingabesignalen erhalten werden.
  15. Maschinenlernsystem nach Anspruch 14, ferner aufweisend: eine Abstandsmesseinheit, welche zum Messen eines Abstands zwischen dem Hypervektor, der die kognitive Abfrage repräsentiert, und den Hypervektoren, die die in Frage kommenden Antworten repräsentieren, geeignet ist.
  16. Maschinenlernsystem nach Anspruch 15, ferner aufweisend: ein Auswahlmodul, welches zum Auswählen des auf die in Frage kommenden Antworten bezogenen Hypervektors geeignet ist, der einen minimalen Abstand von dem Hypervektor aufweist, der die kognitive Abfrage repräsentiert.
  17. Maschinenlernsystem nach Anspruch 14, wobei der Sensor zum Zuführen von Sensoreingabedaten zu einer Eingabeschicht eines künstlichen neuronalen Netzes ferner geeignet ist zum Zuführen der Sensoreingabedaten zu Eingabeschichten einer Mehrzahl von künstlichen neuronalen Netzen.
  18. Maschinenlernsystem nach Anspruch 13, wobei das Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen ferner aufweist: Verwenden der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten von einer Mehrzahl der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion.
  19. Maschinenlernsystem nach Anspruch 13, wobei das neuronale Netz ein neuronales Faltungsnetz ist.
  20. Maschinenlernsystem nach Anspruch 13, ferner aufweisend: Rollenvektor-Erzeugungseinheiten, welche zum Erzeugen einer Mehrzahl von zufälligen Hypervektoren als Rollenvektoren, welche in dem assoziativen Speicher zu speichern sind, an einem Ende eines Trainierens des neuronalen Netzes geeignet sind.
  21. Maschinenlernsystem nach Anspruch 17, ferner aufweisend: Füllvektor-Erzeugungseinheiten, welche zum kontinuierlichen Erzeugen einer Mehrzahl von Pseudozufalls-Hypervektoren als Füllvektoren, auf Grundlage von Ausgabedaten der Mehrzahl von neuronalen Netzen für jeden neuen Satz von Sensoreingabedaten, geeignet sind, wobei die Pseudozufalls-Hypervektoren in dem assoziativen Speicher zu speichern sind.
  22. Maschinenlernsystem nach Anspruch 14, wobei die Kombinationseinheit ferner zum Binden verschiedener Hypervektoren durch eine binäre XOR-Operation in Bezug auf Vektorelemente geeignet ist.
  23. Maschinenlernsystem nach Anspruch 14, wobei die Kombinationseinheit ferner zum Bündeln verschiedener Hypervektoren durch eine binäre Mittelung in Bezug auf Vektorelemente geeignet ist.
  24. Maschinenlernsystem nach Anspruch 20, wobei die Rollenvektoren an dem Ende eines Trainings des künstlichen neuronalen Netzes in dem assoziativen Speicher gespeichert werden, wenn ein stochastischer Gradientenabstiegswert, der zwischen zwei Gruppen von Eingabevektoren der Sensoreingabesignale in das neuronale Netz bestimmt wird, unterhalb eines vorgegebenen Schwellenwerts bleibt.
  25. Computerprogrammprodukt zum Beantworten einer kognitiven Abfrage von Sensoreingabesignalen, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, mit welchem Programmanweisungen verkörpert sind, wobei die Programmanweisungen durch ein Rechensystem ausführbar sind, um zu bewirken, dass das Rechensystem Folgendes ausführt: Zuführen von Sensoreingabesignalen zu einer Eingabeschicht eines künstlichen neuronalen Netzes, welches eine Mehrzahl von versteckten Neuronenschichten und eine neuronale Ausgabeschicht aufweist; Bestimmen von Ausgabesignalen versteckter Schichten aus jeder der Mehrzahl von versteckten Neuronenschichten und von Ausgabesignalen aus der neuronalen Ausgabeschicht; Erzeugen einer Gruppe von Pseudozufalls-Bitsequenzen durch Anwenden einer Gruppe von Abbildungsfunktionen unter Verwendung der Ausgabesignale der Ausgabeschicht und der Ausgabesignale versteckter Schichten einer der versteckten Neuronenschichten als Eingabedaten für eine Abbildungsfunktion; Bestimmen eines Hypervektors unter Verwendung der Gruppe von Pseudozufalls-Bitsequenzen; und Speichern des Hypervektors in einem assoziativen Speicher, in welchem ein Abstand zwischen verschiedenen Hypervektoren bestimmbar ist.
DE112020000172.5T 2019-02-25 2020-02-14 Beantworten von kognitiven abfragen von sensoreingabesignalen Pending DE112020000172T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/284,322 US20200272895A1 (en) 2019-02-25 2019-02-25 Answering cognitive queries from sensor input signals
US16/284,322 2019-02-25
PCT/IB2020/051259 WO2020174311A1 (en) 2019-02-25 2020-02-14 Answering cognitive queries from sensor input signals

Publications (1)

Publication Number Publication Date
DE112020000172T5 true DE112020000172T5 (de) 2021-09-16

Family

ID=72140360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000172.5T Pending DE112020000172T5 (de) 2019-02-25 2020-02-14 Beantworten von kognitiven abfragen von sensoreingabesignalen

Country Status (6)

Country Link
US (1) US20200272895A1 (de)
JP (1) JP7427011B2 (de)
CN (1) CN113474795A (de)
DE (1) DE112020000172T5 (de)
GB (1) GB2599793B (de)
WO (1) WO2020174311A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023091060A1 (en) * 2021-11-17 2023-05-25 Telefonaktiebolaget Lm Ericsson (Publ) Binary distributed vector symbolic radio multiple access
CN116049511A (zh) * 2023-02-06 2023-05-02 华院计算技术(上海)股份有限公司 多维数据的查询方法、系统、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001052175A (ja) 1999-08-06 2001-02-23 Olympus Optical Co Ltd 画像検索装置
JP2005190429A (ja) 2003-12-26 2005-07-14 Hiroshima Univ 参照データ認識・学習方法及びパターン認識システム
US9520127B2 (en) * 2014-04-29 2016-12-13 Microsoft Technology Licensing, Llc Shared hidden layer combination for speech recognition systems
US20160034811A1 (en) * 2014-07-31 2016-02-04 Apple Inc. Efficient generation of complementary acoustic models for performing automatic speech recognition system combination
EP3314541A1 (de) * 2015-06-26 2018-05-02 Sentiance NV Ableitung des bewegungsverhaltens aus sensordaten
CN108604383A (zh) 2015-12-04 2018-09-28 奇跃公司 重新定位系统和方法
US9818431B2 (en) * 2015-12-21 2017-11-14 Microsoft Technoloogy Licensing, LLC Multi-speaker speech separation
US10198655B2 (en) * 2017-01-24 2019-02-05 Ford Global Technologies, Llc Object detection using recurrent neural network and concatenated feature map
JP6751684B2 (ja) 2017-03-28 2020-09-09 株式会社Nttドコモ 類似画像検索装置
CN108694200B (zh) * 2017-04-10 2019-12-20 北京大学深圳研究生院 一种基于深度语义空间的跨媒体检索方法

Also Published As

Publication number Publication date
WO2020174311A1 (en) 2020-09-03
GB2599793B (en) 2023-02-15
US20200272895A1 (en) 2020-08-27
JP7427011B2 (ja) 2024-02-02
GB2599793A (en) 2022-04-13
GB202112651D0 (en) 2021-10-20
CN113474795A (zh) 2021-10-01
JP2022521174A (ja) 2022-04-06

Similar Documents

Publication Publication Date Title
CN110264091B (zh) 学生认知诊断方法
CN111554268A (zh) 基于语言模型的语言识别方法、文本分类方法和装置
DE212020000731U1 (de) Kontrastives Vortraining für Sprachaufgaben
DE102018006962A1 (de) Regelfestlegung für Black-Box-Maschinenlernmodelle
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
CN111241243A (zh) 面向知识测量的试题、知识、能力张量构建与标注方法
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE112020004321T5 (de) Kontextuelle erdung von phrasen in natürlicher sprache in bildern
DE112021004261T5 (de) Dualmodale beziehungsnetzwerke zur audiovisuellen ereignislokalisierung
DE112020003909T5 (de) Verfahren zum multimodalen abrufen bzw. wiedergewinnen und clustern unter verwendung einer tiefen cca und aktiver paarweiser abfragen
DE112021000392T5 (de) Leistungsfähiges kommentieren der grundwahrheit
DE112017008151T5 (de) Schaltungen geringer tiefe als quantenklassifikatoren
DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
CN109492610B (zh) 一种行人重识别方法、装置及可读存储介质
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE112020000172T5 (de) Beantworten von kognitiven abfragen von sensoreingabesignalen
Wabwoba et al. Students selection for university course admission at the joint admissions board (kenya) using trained neural networks
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
Roewer-Despres et al. Towards finite element simulation using deep learning
Aggarwal et al. Regression with conditional GAN
DE112021002866T5 (de) Modelltreueüberwachung und -neuerstellung zur entscheidungsunterstützung eines fertigungsverfahrens
DE202023102803U1 (de) System zur Erkennung von Emotionen und zur Stimmungsanalyse durch maschinelles Lernen
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung

Legal Events

Date Code Title Description
R012 Request for examination validly filed