DE102020134493A1 - Verifizierung eines neuronalen Netzwerks auf der Basis von kognitiven Trajektorien - Google Patents

Verifizierung eines neuronalen Netzwerks auf der Basis von kognitiven Trajektorien Download PDF

Info

Publication number
DE102020134493A1
DE102020134493A1 DE102020134493.7A DE102020134493A DE102020134493A1 DE 102020134493 A1 DE102020134493 A1 DE 102020134493A1 DE 102020134493 A DE102020134493 A DE 102020134493A DE 102020134493 A1 DE102020134493 A1 DE 102020134493A1
Authority
DE
Germany
Prior art keywords
cognitive
space
neural network
trajectory
point
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
DE102020134493.7A
Other languages
English (en)
Inventor
Javier Felip Leon
Javier Turek
Ignacio Alvarez
David Gonzalez Aguirre
Javier Perez-Ramirez
Mariano Tepper
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102020134493A1 publication Critical patent/DE102020134493A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/06Simulation on general purpose computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Systeme, Vorrichtungen und Verfahren können eine Technologie bereitstellen, die einen kognitiven Raum identifiziert, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll, mehrere Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum abbildet und eine erste kognitive Trajektorie durch den kognitiven Raum erzeugt, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchquert.

Description

  • Technisches Gebiet
  • Ausführungsformen betreffen allgemein das Erzeugen von kognitiven Räumen und das Verifizieren/Validieren von neuronalen Netzwerken auf der Basis von Trajektorien in den kognitiven Räumen. Ganz besonders betreffen Ausführungsformen das Abbilden eines Folgerungsprozesses eines neuronalen Netzwerks in einen kognitiven Raum, um eine Validität des Folgerungsprozesses zu identifizieren.
  • Hintergrund
  • Bei einem neuronalen Netzwerk (auch als künstliche neuronale Netzwerke bezeichnet) kann es sich um Datenverarbeitungssysteme handeln, die das Durchführen von Aufgaben lernen, ohne für spezifische Aktionen in Bezug auf die Aufgaben programmiert zu sein. Aufgrund von Modifikationen, die das neuronale Netzwerk während einer Schulung autonom implementieren kann, ist der Prozess, den ein auf einem neuronalen Netzwerk basiertes System vornimmt, um eine Ausgabe aus einer gegebenen Eingabe zu erzeugen, möglicherweise nicht durch Menschen deutbar sein. Folglich wird es schwierig, zu debuggen, zu testen, zu deuten und auf bestimmte Charakteristika, wie Resilienz gegen einen feindlichen Angriff, Genauigkeit und Effizienz, zu evaluieren. Beispielsweise kann das neuronale Netzwerk sich unabhängig anpassen (z. B. interne Gewichtungen und Prozesse modifizieren), während das neuronale Netzwerk lernt. Daher kann der Prozess, den das neuronale Netzwerk zum Erzeugen einer Ausgabe verwendet, für einen Entwickler aufgrund der unabhängigen Anpassungen undurchsichtig sein.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden einem Fachmann durch Lesen der folgenden Spezifikation und der angefügten Ansprüche und durch Bezugnehmen auf die folgenden Zeichnungen offenbar werden, in denen:
    • 1 ein Blockdiagramm eines Beispiels eines neuronalen Netzwerks und eines Evaluationssystems gemäß einer Ausführungsform ist;
    • 2 ein Ablaufdiagramm eines Beispiels eines Verfahrens zum Erzeugen eines kognitiven Raums und Identifizieren von Resilienz eines neuronalen Netzwerks gemäß einer Ausführungsform ist;
    • die 3A-3B Schulungsprozesse von Beispielen zum Schulen eines Codierers und eines Decodierers für kognitive Räume gemäß einer Ausführungsform sind;
    • 4 ein Prozess von Beispielen zum Erzeugen eines kognitiven Wegs gemäß einer Ausführungsform ist;
    • 5 ein Ablaufdiagramm eines Beispiels eines Verfahrens zum Erzeugen einer Trajektorie durch einen kognitiven Raum gemäß einer Ausführungsform ist;
    • 6 ein Ablaufdiagramm eines Beispiels eines Verfahrens zum Bestimmen eines Resilienzpunktwerts gemäß einer Ausführungsform ist;
    • 7 ein Blockdiagramm eines Beispiels eines Datenverarbeitungssystems gemäß einer Ausführungsform ist;
    • 8 eine Veranschaulichung eines Beispiels einer Halbleitervorrichtung gemäß einer Ausführungsform ist;
    • 9 ein Blockdiagramm eines Beispiels eines Prozessors gemäß einer Ausführungsform ist und
    • 10 ein Blockdiagramm eines Beispiels eines multiprozessorbasierten Datenverarbeitungssystems gemäß einer Ausführungsform ist.
  • Beschreibung von Ausführungsformen
  • Nun unter Bezugnahme auf 1 ist eine Datenverarbeitungsarchitektur 100 gezeigt, in der ein Codierer 104 für kognitive Räume, ein Trajektoriengenerator 106, ein Decodierer 110 und ein Evaluator 112 einen neuronalen Raum des neuronalen Netzwerks 102 (z. B. mit künstlicher Intelligenz und/oder maschinellem Lernen implementiert) abbilden, Trajektorien (z. B. kognitiver Prozess) durch den latenten Raum bestimmen und die Trajektorien in einen Eingaberaum abbilden können, um die Trajektorien auf Validität zu evaluieren. Beispielsweise können der Codierer 104 für kognitive Räume, der Trajektoriengenerator 106, der Decodierer 110 und der Evaluator 112 ein System zur Evaluation von neuronalen Netzwerken sein, das eine komprimierte Darstellung, wie das neuronale Netzwerk 102 Eingaben in Ausgaben umwandelt, lernt. Der Codierer 104 für kognitive Räume und der Decodierer 110 können auf der Basis von Aktivierungen des neuronalen Netzwerks 102 und eines Schulungssatzes während eines Schulungsprozesses geschult werden, um Punkte in dem Eingaberaum (z. B. einem für einen Menschen deutbaren Raum, wie Bilder, Etiketten usw.) zu identifizieren, die dem kognitiven Prozess entsprechen.
  • Dadurch kann das System zur Evaluation von neuronalen Netzwerken dazu in der Lage sein, einen kognitiven Prozess des neuronalen Netzwerks 102 in einem für einen Menschen lesbaren Format (z. B. Bilder, Etiketten oder Gesichtsmerkmale in dem Eingabedatenraum) zu deuten, um zu bestimmen, ob das neuronale Netzwerk 102 mit Effizienz arbeitet. Das neuronale Netzwerk 102 kann auf der Basis davon, ob das neuronale Netzwerk 102 mit Effizienz und Resilienz und sicher arbeitet, umgeschult werden. Somit kann die Datenverarbeitungsarchitektur 100 Funktionen (z. B. neuronale Funktionen und Trajektorien in ein für einen Menschen verständliches Format zergliedern) implementieren, die schwierig, wenn nicht sogar unmöglich manuell zu implementieren wären. Darüber hinaus kann die Datenverarbeitungsarchitektur 100 Trajektorien durch den kognitiven Raum identifizieren, um einen Folgerungsprozess des neuronalen Netzwerks 102 vollständig zu verstehen und zu begreifen. Des Weiteren kann das neuronale Netzwerk 102 zumindest in dem Ausmaß verstärkt werden, dass das neuronale Netzwerk 102 mit spezifischen Schwerpunkten umgeschult werden kann, um identifizierte Ineffizienzen und Unzulänglichkeiten zu stärken.
  • Detaillierter können in dem neuronalen Netzwerk 102 Aktivierungen aller Schichten, die Eingaben Xo, Xt in Ausgaben Yo, Yt umwandeln, als Darstellungen des Folgerungsprozesses des neuronalen Netzwerks 102 betrachtet werden. Das neuronale Netzwerk 102 kann durch seine Gewichtungen und Verzerrungen 0 als fθ(x) parametrisiert werden, wobei x die Eingabe des neuronalen Netzwerks 102 ist und f das neuronale Netzwerk 102 ist. Der Codierer 104 für kognitive Räume kann einen latenten Raum lernen, der den kognitiven Prozess des neuronalen Netzwerks 102 darstellt, und den gelernten latenten Raum (auch als ein kognitiver Raum bezeichnet) verwenden, um zu evaluieren, wie das neuronale Netzwerk 102 die zwei unterschiedlichen Eingaben Xo und Xt in Verbindung bringt. Der Codierer 104 für kognitive Räume kann Aktivierungen Ao, At von dem neuronalen Netzwerk 102 empfangen und die Aktivierungen Ao, At in eine niederdimensionale Trajektorienabbildung 106a (die ein latenter Raum und/oder kognitiver Raum sein kann) übersetzen. Beispielsweise kann der Codierer 104 für kognitive Räume die Aktivierungen Ao, At aus einer ersten Dimensionalität in eine zweite Dimensionalität, die kleiner als die erste Dimensionalität ist, modifizieren, um mit der komprimierten Dimensionalität der Trajektorienabbildung 106a übereinzustimmen. Beispielsweise kann eine Aktivierung als drei Dimensionen (z. B. (x, y, z)) aufweisend dargestellt werden, wobei eine Funktion des Codierers 104 für kognitive Räume die drei Dimensionen zu zwei Dimensionen (z. B. (x, y), wobei das x und das y von ursprünglichen Werten auf der Basis des z-Werts modifiziert werden können) projizieren kann. Somit kann der Codierer 104 für kognitive Räume bei der Erzeugung der Trajektorienabbildung 106a eine Funktion beinhalten, um einen beliebigen Punkt in der ersten Dimension (z. B. (x, y, z)-Raum) auf die zweite Dimension (z. B. 2D-(x, y)-Raum) abzubilden.
  • Die neuronalen Aktivierungen A0, At können αƒθ(x) des neuronalen Netzwerks 102 (kann auch als ƒθ bezeichnet werden) als die Verkettung aller Ausgaben von jeder Schicht in dem neuronalen Netzwerk 102 oder einer Untermenge dieser, je nach der Anwendung, sein. Die erste und die zweite Dimension der Aktivierungen Ao, At und/oder die modifizierten neuronalen Aktivierungen Co, Ct können jeweils Eingaben, Parameter und/oder Ausgaben beinhalten. Der Codierer 104 für kognitive Räume kann modifizierte Aktivierungen (z. B. Energien) Co, Ct ausgeben, die auf die Trajektorienabbildung 106a in einer niedrigeren Dimension im Verhältnis zu einer Dimension der Aktivierungen Ao, At abgebildet werden. In einigen Ausführungsformen können die modifizierten Aktivierungen Co, Ct Informationen zu den Aktivierungen Ao, At tragen, jedoch nicht als solche in dem Raum der Trajektorienabbildung 106a deutbar sein.
  • Beispielsweise kann die Trajektorienabbildung 106a dem neuronalen Raum des neuronalen Netzwerks 102 entsprechen. Die Trajektorienabbildung 106a kann einen Raum mit einer niedrigeren Dimension als der neuronale Raum aufweisen. Der Codierer 104 für kognitive Räume komprimiert somit Eingabedaten (z. B. Aktivierungen Ao, At), die in der Form der analysierten Aktivierungen des neuronalen Netzwerks sind (z. B. αƒθ(x) ∈ RN), in einen Raum mit einer viel niedrigeren Dimension C ∈ RM (z. B. ist M viel kleiner als N) der Trajektorienabbildung 106a, um Co, Ct zu erzeugen. Die komprimierte Darstellung, die in der Trajektorienabbildung 106a verkörpert ist, kann Weg-/Trajektorienplanungsverfahren, um von einem Punkt zu einem anderen zu navigieren, erleichtern.
  • Der Codierer 104 für kognitive Räume kann Aktivierungen Co, Ct ausgeben. Die Aktivierungen Co, Ct können komprimierte Versionen von Aktivierungen Ao, At sein, die auf die Trajektorienabbildung 106a (z. B. die komprimierte Darstellung des neuronalen Raums) abgebildet werden. In einigen Ausführungsformen können die Aktivierungen Ao, At ein Start- und ein Endpunkt einer neuronalen Analyse (z. B. ein Ausgangspunkt und ein Ausgabepunkt) sein und Xo, Xt können als ein Ausgangsdatenpunkt (z. B. ein Gesichtsbild) bzw. ein Zieldatenpunkt (z. B. ein Benutzer, der mit dem Bild assoziiert ist) von einem Eingaberaum (z. B. ein für einen Menschen deutbarer Datensatz) betrachtet werden. In einigen Ausführungsformen können Zwischenaktivierungen (z. B. A1, A2, A3 usw.) zwischen Ao und At an den Codierer 104 für kognitive Räume bereitgestellt werden, die Aktivierungen des neuronalen Netzwerks 102 zwischen Aktivierung Ao und At entsprechen. Der Codierer 104 für kognitive Räume kann die weiteren Aktivierungen auf ähnliche Weise auf die Trajektorienabbildung 106a abbilden.
  • Der Trajektoriengenerator 106 kann Trajektorien produzieren, die die Trajektorienabbildung 106a (z. B. den kognitiven Raum) durchqueren. Beispielsweise kann der Trajektoriengenerator 106 eine Trajektorie 108 (z. B. einen Weg) von dem Ausgangspunkt (z. B. Startpunkt, der Co entspricht und auf Aktivierung Ao basiert) zu dem Endpunkt (z. B. Zielpunkt, der Ct entspricht, auf Aktivierung At basierend) erzeugen. Die Trajektorie 108 in der Trajektorienabbildung 106a kann nicht in einer geraden Linie erzeugt werden, kann jedoch einem Weg folgen, der den Ausgangspunkt Co mit dem Endpunkt verbindet, während Hindernisse vermieden werden.
  • In einigen Ausführungsformen beinhalten Hindernisse unbeobachtete oder ungewisse Regionen der Trajektorienabbildung 106a oder des kognitiven Raums. Eine unbeobachtete oder ungewisse Region der Trajektorienabbildung 106a kann ein Teil sein, der in Abtastwerten (z. B. unterabgetastet) eines Schulungssatzes zum Schulen des Codierers 104 für kognitive Räume und des Decodierers 110 nicht korrekt dargestellt oder unterdurchschnittlich dargestellt wurde. Somit kann der Trajektoriengenerator 106 Trajektorien erzeugen, die Regionen der Trajektorienabbildung 106a durchqueren, die in hohem Maße abgetastet werden (z. B. in einem Schulungsdatensatz in hohem Maße dargestellt werden). Die Trajektorienabbildung 106a kann in Regionen, die in hohem Maße „bereist“ werden, durch Konstruktion und durch Lernen bewusst genauer sein. Somit können die ausgegebenen Abtastwerte oder einzelnen Punkte Co-Cn (im Folgenden weiter erläutert) der Genauigkeit halber von hoher Qualität sein und direkt mit dem Verhalten des neuronalen Netzwerks 102 in Verbindung stehen.
  • Beispielsweise kann der Trajektoriengenerator 106 den Ausgangspunkt Co (z. B. eine Aktivierungsenergie) und den Endpunkt Ct (z. B. eine Aktivierungsenergie) empfangen. Der Ausgangspunkt Co und der Endpunkt Ct können auf die Trajektorienabbildung 106a abgebildet werden. Der Trajektoriengenerator 106 kann dann einen wahrscheinlichen Weg zwischen dem Ausgangspunkt Co und dem Endpunkt Ct auf der Basis von Wegplanungsalgorithmen und Überlebensfunktionen auf der Basis von Schätzwerten von Dichten von Punkten (z. B. Aktivierungen) in der Trajektorienabbildung 106a erzeugen. Wie oben angemerkt, kann der Codierer 104 für kognitive Räume in einigen Ausführungsformen außerdem Zwischenpunkte (z. B. C2, C5 usw.) auf die Trajektorienabbildung 106a abbilden. Beispielsweise kann eine nichtparametrische Dichtenschätzung die Verteilung der komprimierten Aktivierungen in der Trajektorienabbildung 106a schätzen. Regionen mit hoher Dichte können während der Trajektorienerzeugung bevorzugt werden, während Regionen mit niedriger Dichte vermieden werden können. Der Trajektoriengenerator 106 kann dann den wahrscheinlichsten Weg durch alle Zwischenpunkte erzeugen und den Ausgangspunkt Co und den Endpunkt Ct verbinden. Der wahrscheinlichste Weg wird als die Trajektorie 108 gespeichert.
  • Die Trajektorie 108, die in der Trajektorienabbildung 106a beschrieben wird, um von dem Ausgangspunkt Co zu dem Endpunkt Ct (z. B. dem Ziel) zu navigieren, kann einen deutbaren Einblick in die Validität des Folgerungsprozesses des neuronalen Netzwerks 102 bereitstellen. Um derartige Einblicke zu erzeugen, kann der Trajektorienabtaster 106b die Trajektorie 108 abtasten. Beispielsweise kann der Trajektorienabtaster 106 die einzelnen Punkte Co:t entlang der Trajektorie 108 abtasten. Beispielsweise kann der Trajektorienabtaster 106b einen Satz von einzelnen Punkten entlang der Trajektorie 108 abtasten, die einer Sequenz von Punkten in dem Eingaberaum (z. B. Bilder, Gesichtsmerkmale, für einen Menschen deutbare Datenetiketten) entsprechen. Die Punkte können von dem Decodierer 110 decodiert und von einem Evaluator 112 evaluiert werden, so dass die Kohärenz der Trajektorie 108 evaluiert werden kann. Die Trajektorie 108 kann einen „Denkprozess“ des neuronalen Netzwerks 102 darstellen und die decodierten Punkte stellen somit eine für einen Menschen deutbare Form des „Denkprozesses“ dar.
  • Der Trajektorienabtaster 106b kann die Trajektorie 108 durch verschiedene Prozesse, wie lineare Prozesse, Logarithmusprozesse, Exponentialprozesse, Prozesse auf der Basis der Krümmung (z. B. Erhöhen von Abtastwerten in Regionen mit starker Krümmung) usw., abtasten. Als ein Beispiel kann eine lineare Abtastung verwendet werden, wenn die Trajektorie 108 an N äquidistanten Punkten in einem Kurvenraum abgetastet wird. In einigen Ausführungsformen kann der Trajektorienabtaster 106b jeden Punkt entlang der Trajektorie 108 empfangen, jedoch eine Untermenge von einzelnen Punkten Co-Cn an den Decodierer 110 zum Decodieren bereitstellen.
  • Der Decodierer 110 kann die einzelnen Punkte Co-Cn in einen Eingaberaum (z. B. denselben Raum wie die Eingaben Xo und Xt) decodieren. Beispielsweise kann der Decodierer 110 die Punkte Co-Cn aus dem kognitiven Raum in den neuronalen Raum des neuronalen Netzwerks 102 decodieren (z. B. als eine Reihe von Aktivierungsenergien mit hoher Dimensionalität). Die decodierten Punkte können Aktivierungen des neuronalen Netzwerks 102 sein. Derartige decodierte Aktivierungen können durch Ausführen eines anderen Prozesses, wie eines energiebasierten interpretierenden Decodierers, zurück in den Eingaberaum umgewandelt werden. In einigen Ausführungsformen kann der Decodierer 110 einen Decodierer für kognitive Räume beinhalten, um die einzelnen Punkte Co-Cn in den Eingaberaum zu decodieren.
  • In einigen Ausführungsformen kann der Decodierer 110 ein energiebasiertes generatives Modell (EBM) beinhalten. Das EBM kann parallel mit dem Codierer 104 für kognitive Räume während einer Schulung geschult werden, um Assoziationen mit Energiepegel und Eingaben in dem Eingaberaum zu erstellen. Das EBM kann lernen, Eingabepunkte in Skalarwerte mit geringer Energie zu codieren und umgekehrt (z. B. können Energiepegel während einer Verarbeitung den Energiepegeln während einer Schulung sein). Diese Abbildung aus dem Eingaberaum auf Energiepegel kann dazu verwendet werden, Punkte in dem Eingaberaum aus Energiepegeln in dem neuronalen Raum zu erzeugen. Beispielsweise kann das EBM Energiepegel der decodierten Punkte in den Eingaberaum korrelieren. Das EBM kann durch Finden von Werten am Eingaberaum, die niedrige Energiepegel aufweisen, als generative Modelle verwendet werden. Somit kann die Trajektorie 108 in den Eingaberaum decodiert werden.
  • Um die Aktivierungen in einen Eingabepunkt zu decodieren, kann ein zufälliger Punkt in dem Eingaberaum abgetastet werden. Dieser Punkt kann durch das erlernte EBM vorwärts geführt werden und der Gradient in Bezug auf den Eingabewert kann berechnet werden. Durch Durchführen von iterierten Gradientenschritten über unterschiedliche Eingabewerte können die zufälligen Eingabepunkte zu einem niedrigen Energiepunkt zusammenlaufen, der ein Punkt ist, der einem Abtastwert aus dem Schulungssatz ähnlich ist. Dabei kann das EBM einen Punkt in der Trajektorienabbildung 106a (z. B. einen latenten kognitiven Raum) in den Eingaberaum decodieren. Der obige Prozess kann sich für jeden der abgetasteten Punkte in der Trajektorie 108 wiederholen.
  • In einigen Ausführungsformen kann zusätzlich zu einem EBM oder alternativ dazu ein statistisches Regressionssystem (z. B. einem neuronalen Netzwerk, einem neuronalen Netzwerk, das mit künstlicher Intelligenz und/oder maschinellem Lernen implementiert ist) geschult werden, um Eingaben angesichts von Raumdarstellungen der Eingaben zu rekonstruieren. In einigen Ausführungsformen kann zusätzlich zu den obigen oder anstelle dieser ein Generative-Adversarial-Network-Generator (GAN-Generator) eingesetzt werden. In derartigen Ausführungsformen wird ein nichtparametrischer Dichteschätzer als die Verteilung des kognitiven Raums verwendet werden, die von dem GAN-Generator abgetastet werden kann, um neue Abtastwerte zu erzeugen.
  • Der Decodierer 110 kann die decodierten Abtastwerte X0:t, die in den Eingaberaum abgebildet werden, an einen Evaluator 112 bereitstellen. Der Evaluator 112 bestimmt ein Maß an Rationalität der Trajektorie 108. Wenn beispielsweise die Anzahl von decodierten Abtastwerten X0:t nicht über einem Grenzwert liegt, kann die Trajektorie 108 als übermäßig lang oder ineffizient erachtet werden. Wenn die decodierten Abtastwerte X0:t in einigen Ausführungsformen einander unähnlich sind, kann die Trajektorie 108 als unlogisch erachtet werden. Wenn beispielsweise zur Gesichtserkennung ein erster der decodierten Abtastwerte X0:t einem Gesicht mit einem Bart und einer Brille entspricht und ein zweiter der decodierten Abtastwerte X0:t einem Gesicht ohne Bart und Brille entspricht, kann die Trajektorie 108 als unlogisch erachtet werden und das neuronale Netzwerk 102 kann als fehleranfällig oder für Angriffe anfällig aufgefasst werden.
  • Ein anderes Beispiel kann ein Erzeugen von mehreren Trajektorien auf der Basis von unterschiedlichen Eingaben und/oder Start- und Zielpunkten beinhalten. Beispielsweise kann der Evaluator 112 kognitive Trajektorien aus unterschiedlichen Ansichten desselben Gesichts (z. B. mit Bart, Schal, Brille, Hut, unterschiedlichen Lichtverhältnissen usw.) analysieren, um Anfälligkeiten zu erfassen und die Anfälligkeiten während der Validierungsphase durch Steuern des Schulen des neuronalen Netzwerks 102 zu korrigieren. Somit kann das neuronale Netzwerk 102 in einigen Ausführungsformen eine Gesichtserkennung implementieren (z. B. um Berechnungsmerkmale freizuschalten, wenn ein autorisierter Benutzer aus der Gesichtserkennung identifiziert wird). Das hierin beschriebene System zur Evaluation von neuronalen Netzwerken kann das neuronale Netzwerk 102 auf Sicherheit evaluieren und das neuronale Netzwerk 102 umschulen, wenn das neuronale Netzwerk 102 die Sicherheitsanforderungen nicht erfüllt.
  • Der Evaluator 112 kann weiterhin die Eingaben (z. B. Xo, Xt) in das neuronale Netzwerk 102 auf der Basis von verschiedenen Parametern steuern und auf Schwachstellen und Mängel in dem neuronalen Netzwerk 102 testen. Beispielsweise kann der Evaluator 112 zwei zufällige Eingaben aus einem Schulungsdatensatz bereitstellen. Als ein anderes Beispiel kann der Evaluator 112 zwei zufällige Punkte in der Trajektorienabbildung 106a erzeugen. Je nach der Seltenheit der Trajektorienabbildung 106a (z. B. dem kognitiven Raum) können die zwei zufälligen Punkte in Hindernissen sein und es kann folglich misslingen, eine Trajektorie zwischen den zufälligen Punkten zu erzeugen. Die Zufallsauswahl durch den Evaluator 112 kann Einblicke dazu bereitstellen, wie das neuronale Netzwerk 102 nicht dicht befüllte Teile der Trajektorienabbildung 106a durchquert.
  • In einigen Ausführungsformen kann der Evaluator 112 zwei Punkte auf der Basis einer Benutzereingabe in dem Eingaberaum auswählen. Der Evaluator 112 kann dann Eingaben in das neuronale Netzwerk 102 auf der Basis der Benutzereingabe bereitstellen.
  • Der Evaluator 112 kann weiterhin eine feindliche Eingabe erzeugen, um eine Robustheit des neuronalen Netzwerks 102 zu quantifizieren. Beispielsweise kann der Ausgangspunkt oder Endpunkt bekannte feindliche Beispiele beinhalten. Die unterschiedlichen Kombinationen von feindlich-zu-bekannten, bekannt-zu-feindlichen oder feindlich-zu-feindlichen Eingaben in das neuronale Netzwerk 102 können unterschiedliche Eingaben dazu bereitstellen, wie die Trajektorienabbildung 106a in entsprechenden Regionen (z. B. Regionen, die die Sicherheit durch Eliminieren von feindlichen Eingaben verstärken) gebildet wird. Ein Evaluieren des neuronalen Netzwerks 102 in feindlichen Regionen kann einen Einblick dazu bereitstellen, wie das neuronale Netzwerk 102 die unterschiedlichen Typen von feindlichen Angriffen handhabt, und die Resilienzevaluation und - verstärkung unterstützen.
  • Beispielsweise kann der Evaluator 112 testen, ob feindliche Eingaben innerhalb der Trajektorienabbildung 106a sind. Wenn feindliche Eingaben in Regionen mit niedriger Dichte (auf der Basis von einer nichtparametrisch geschätzten Dichtefunktion) platziert werden. Der Evaluator 112 kann eine Angabe bereitstellen, dass eine Schulung auf der Basis von Abtastwerten in feindlichen Regionen der Trajektorienabbildung 106a erforderlich ist, um die Antworten des Netzwerks zu schützen.
  • Beispielsweise kann der Evaluator 112 testen, ob alle Abtastwerte entlang der Trajektorie zwischen einem Abtastwert und einem feindlich modifizierten Gegenstück (z. B. der Abtastwert selbst mit dazu hinzugefügtem feindlichem Rauschen) sich in Regionen mit hoher Dichte befinden. Wenn dies der Fall ist, ist ein Fehlschlagen möglicherweise nicht aufgrund eines Fehlens von Abtastwerten entlang den Datenwegen, wie den Trajektorien. Stattdessen kann der Evaluator 112 schlussfolgern, dass das neuronale Netzwerk 102 und/oder ein Schulungsvorgang des neuronalen Netzwerks 102 an sich für feindliche Angriffe anfällig sind.
  • In einigen Ausführungsformen kann der Evaluator 112 eine Sequenz von Punkten entlang dem Trajektorienweg 108 entsprechend dem Eingaberaum als Bilder evaluieren. Im Beispiel von Bildern kann eine Sequenz von Bildern zurückgesendet werden. Die Sequenz kann in einem bestimmten Bereich (z. B. einem 0-1-Bereich, der auch als ein Validierungspunktwert bezeichnet werden kann) anhand der Kohärenz eingestuft werden. Beispielsweise kann eine Sequenz von einem Autobild zu einem Flugzeug, die durch Auto-Lastkraftwagen-Bus-Flugzeug reist, als 0,9 eingestuft werden. Wenn die Trajektorie Auto-Pferd-Zentaur-Pegasus-Flugzeug wäre, kann die Trajektorie als 0,2 eingestuft werden, da die Folgerung nicht vollständig logisch ist. Schließlich, wenn die Sequenz Auto-Person-Burger-Katze-Flugzeug ist, kann der Trajektorienkohärenzpunktwert einen Wert von 0 annehmen, ist nicht vollständig logisch.
  • Der Evaluator 112 kann den Evaluationsprozess an dem neuronalen Netzwerk 102 mehrmals wiederholen, um einen aggregierten Kohärenzpunktwert zu erhalten, der mit Logik und einer Resilienz gegenüber feindlichen Angriffen in Bezug gesetzt werden kann. In einigen Ausführungsformen kann der Evaluator 112 mehrere Punktwerte (z. B. Validierungspunktwerte) für unterschiedliche Ausgangs- und Endpunkterzeugungsverfahren (z. B. feindlich, zufällig usw.) erzeugen.
  • In einigen Ausführungsformen kann der Evaluator 112 das neuronale Netzwerk 102 mehrmals evaluieren. Ein Verhältnis von kohärenten Trajektorien im Vergleich zu inkohärenten Trajektorien kann einen Indikator der Kohärenz des neuronalen Netzwerks 102 (wie oben eingestuft) liefern.
  • In einigen Ausführungsformen kann der Evaluator 112 umsetzbare Maßnahmen (z. B. Umschulen) zur Netzwerkkorrektur ergreifen, um nicht wünschenswerte Ergebnisse abzuschwächen. Dem zuvor bereitgestellten Beispiel folgend könnte ein Benutzer das neuronale Netzwerk 102 mit Bildern eines Autos und eines Flugzeugs abfragen. Wenn die zurückgesendete Trajektorie Auto-Kutsche-Pferd-Zentaur-Pegasus-Flugzeug ist, könnte dies eine Angabe bereitstellen, dass ein Mangel an Abtastwerten entlang mehr zu erwartenden Trajektorien 108, wie beispielsweise Auto-Lastkraftwagen-Bus-Flugzeug, vorliegt. Der Evaluator 112 kann anschließend mehr Abtastwerte in diesen weniger beobachteten Kategorien einem Schulungssatz des neuronalen Netzwerks 102 hinzufügen und iterieren, bis der Evaluator 112 mit den Ergebnissen.
  • Somit können einige Ausführungsformen kognitive Trajektorien erzeugen, um einen Folgerungsprozess des neuronalen Netzwerks 102 zu evaluieren. Des Weiteren können einige Ausführungsformen das neuronale Netzwerk 102 auf der Basis der Trajektorien validieren. Einige Ausführungsformen können weiterhin maschinenlesbare Räume in deutbare menschliche Räume übersetzen. Einige Ausführungsformen können auf „missionskritische Aufgaben“ in autonomen Systemen angewendet werden, wie Industrierobotern, autonomen Fahrzeugen, Servicerobotik, Überwachungssysteme usw. Ein zuverlässiger Einsatz derartiger Systeme kann durch den oben beschriebenen Validierungsprozess eingesetzt werden.
  • 2 zeigt ein Verfahren 320 zum Erzeugen eines kognitiven Raums und Identifizieren von Resilienz eines neuronalen Netzwerks. Das Verfahren 320 kann im Allgemeinen in einer Architektur zur Evaluation von neuronalen Netzwerken implementiert werden, wie beispielsweise dem Codierer 104 für kognitive Räume, dem Trajektoriengenerator 106, dem Decodierer 110 und dem Evaluator 112 ( 1), bereits erörtert. In einer Ausführungsform wird das Verfahren 320 in einem oder mehreren Modulen als ein Satz von logischen Anweisungen, die in einem maschinen- oder computerlesbaren Speichermedium, wie einem Direktzugriffsspeicher (RAM), einem Festwertspeicher (ROM), einem programmierbaren ROM (PROM), einer Firmware, einem Flash-Speicher usw., gespeichert sind, in konfigurierbarer Logik, wie beispielsweise programmierbare Logik-Arrays (PLA), feldprogrammierbare Gate-Arrays (FPGA), komplexe programmierbare Logikvorrichtungen (CPLD), in Logikhardware mit festgelegter Funktionalität unter Verwendung von Schaltungstechnologie, wie beispielsweise eine anwendungsspezifische integrierte Schaltung (ASIC), ein Komplementär-Metalloxid-Halbleiter (CMOS) oder eine Transistor-Transistor-Logiktechnologie (TTL-Technologie), oder eine beliebige Kombination davon, implementiert.
  • Beispielsweise kann Computerprogrammcode zum Durchführen von in dem Verfahren 320 gezeigten Operationen in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache, wie JAVA, SMALLTALK, C++ oder dergleichen, und herkömmlicher ablauforientierter Programmiersprachen, wie der „C“-Programmiersprache oder ähnliche Programmiersprachen. Zusätzlich dazu könnten logische Anweisungen Assembler-Anweisungen, Anweisungssatzarchitektur-Anweisungen (ISA-Anweisungen), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandseinstellungsdaten, Konfigurationsdaten für integrierte Schaltkreise, Zustandsinformationen, die elektronische Schaltkreise und/oder andere strukturelle Komponenten, die für Hardware nativ sind (z. B. Host-Prozessor, Zentraleinheit/CPU, Mikrocontroller usw.), personalisieren.
  • Der veranschaulichte Verarbeitungsblock 322 identifiziert einen kognitiven Raum, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll. Beispielsweise ist das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert und der kognitive Raum ist mit einer zweiten Anzahl von Dimensionen assoziiert, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen ist. Beispielsweise können die Aktivierungen des neuronalen Netzwerks einer ersten Anzahl von Dimensionen entsprechen und der kognitive Raum kann der zweiten Anzahl von Dimensionen entsprechen.
  • Der veranschaulichte Verarbeitungsblock 324 bildet mehrere Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum ab. Der veranschaulichte Verarbeitungsblock 326 erzeugt eine erste kognitive Trajektorie durch den kognitiven Raum, wobei die erste kognitive Trajektorie zum Durchqueren des kognitiven Raums von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt ist.
  • In einigen Ausführungsformen kann das Verfahren 320 weiterhin ein Abtasten der ersten kognitiven Trajektorie, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und ein Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen, beinhalten. Mindestens eine von den mehreren Aktivierungen ist mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert und mindestens eine von den mehreren Aktivierungen ist mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert. Der kognitive Ausgangspunkt entspricht dem Ausgangsdatenpunkt entspricht und der kognitive Zielpunkt entspricht dem Zieldatenpunkt.
  • In einigen Ausführungsformen beinhaltet das Verfahren 320 ein Bestimmen, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht (z. B. Bestimmen, ob die Folgerung gültig ist). Beispielsweise kann das Verfahren 320 mehrere Trajektorien (einschließlich der ersten kognitiven Trajektorie) durch den kognitiven Raum identifizieren und einen Validitätspunktwert auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien erzeugen.
  • Das Verfahren 320 kann somit einen kognitiven Raum erzeugen und kognitive Trajektorien durch den kognitiven Raum erzeugen. Das Verfahren 320 kann einen Validierungspunktwert (z. B. Resilienzpunktwert) auf der Basis der kognitiven Trajektorien erzeugen, um zu identifizieren, ob das neuronale Netzwerk umgeschult werden soll, um eine Funktionsweise des neuronalen Netzwerks zu verstärken. Beispielsweise kann das neuronale Netzwerk mit einem spezifischen Fokus auf ein Stärken eines leistungsschwachen Teils und/oder Prozesses des neuronalen Netzwerks zurückgehalten werden. Somit kann die Technologie sicherheitsverstärkte und resilienzverstärkte neuronale Netzwerke bereitstellen. Des Weiteren kann das Verfahren 320 eine neue und verstärkte Analyse von neuronalen Netzwerken implementieren, um einen kognitiven Prozess (der anderweitig möglicherweise für die meisten System und/oder Entwickler undurchsichtig und unbekannt ist) des neuronalen Netzwerks durch kognitive Trajektorienabbildungen und Trajektorien zu identifizieren.
  • Die 3A und 3B zeigen einen Schulungsprozess 300, 320 mit zwei Durchläufen zum Schulen eines Codierers 306 für kognitive Räume. Darüber hinaus kann ein Decodierer 310 für kognitive Räume in dem Prozess 300 geschult werden.
  • Der Prozess 300 zeigt eine Vorverarbeitung auf der Basis von Aktivierungen von dem neuronalen Netzwerk 304. Der Codierer g(α) 306 für kognitive Räume kann geschult werden, um eine niederdimensionale Darstellung der neuronalen Aktivierungen α(fθ) (x) des neuronalen Netzwerks 304 zu lernen.
  • Beispielsweise kann der Codierer 306 für kognitive Räume auf der Basis eines Datensatzes 302 (z. B. Eingabedaten in einem Eingaberaum), der Aktivierungen in dem neuronalen Netzwerk 304 bewirkt, geschult werden. Beispielsweise kann das neuronale Netzwerk 304 Eingaben Xo, Xt aus dem Datensatz 302 analysieren, um die Aktivierungen des neuronalen Netzwerks 304 zu erzeugen. Der Codierer 306 für kognitive Räume kann eine Dimension eines Raums des neuronalen Netzwerks 304 (z. B. α(f_θ)(x)∈R^N) der Aktivierungen zu einem niederdimensionalen Raum C∈R^M (z. B. kann M wesentlich kleiner als N sein) verringern.
  • Der Codierer 306 für kognitive Räume kann mit den Aktivierungen, die ein Ergebnis eines Durchführens eines Vorwärtsdurchlaufs des Datensatzes 302 durch das neuronale Netzwerk 304 sind, geschult werden. Es ist sinnvoll anzumerken, dass je nach der Anwendung unterschiedliche Dimensionalitätsverringerungstechniken gezielt angewendet werden können. Beispielsweise können Principal Component Analysis (PCA), Random Forests und die unterschiedlichen Typen von Autocodierern (z. B. Faltung, mehrschichtig, geregelt usw.) eingesetzt werden. In einigen Ausführungsformen können die Dimensionen auf eine Weise ausgewählt werden, die eine oder mehrere Einschränkungen (z. B. metrische Eigenschaften) erfüllt. Beispielsweise können die eine oder die mehreren Einschränkungen auf Abständen basieren. Beispielsweise müssen zwei Punkte, die in dem Eingaberaum nahe sind, auf ähnliche Weise möglicherweise in dem codierten Raum nahe sein (z. B. ist der Abstand zwischen den zwei Punkten in dem Eingabe- und dem codierten Raum ähnlich).
  • Der Prozess 300 kann gleichzeitig (z. B. parallel) den Decodierer 310 für kognitive Räume auf der Basis der Aktivierungen schulen. Der Decodierer 310 für kognitive Räume kann geschult werden, um Eingabepunkte in Skalarwerte mit geringer Energie zu decodieren. Die Abbildung von dem Eingaberaum auf einen Energiepegel kann dazu verwendet werden, Punkte in dem Eingaberaum zu erzeugen, die geringe Energie aufweisen und den gezeigten Eingabewerten zu dem Decodierer 310 für kognitive Räume während der Schulung ähnlich sind.
  • 3B zeigt einen Prozess 320 zum Erstellen eines Satzes von beobachteten Punkten C1-C10. Sobald der Codierer 306 für kognitive Räume die Abbildung von Aktivierungen auf den niederdimensionalen Raum lernt, kann beispielsweise ein zweiter Durchlauf 320 an dem Datensatz 302 einen Satz von beobachteten Punkten C1-C10 in dem kognitiven Raum 308 erstellen. Die niederdimensionale Darstellung von Netzwerkaktivierungen, die von dem Datensatz 302 induziert werden, kann zusammen als ein Satz von beobachteten Punkten C1-C10 in dem kognitiven Raum 308 verwendet werden. Der Satz von beobachteten Punkten C1-C10 kann Ankern in dem kognitiven Raum 308 entsprechen, die in entsprechende Identifikationen der realen Welt (z. B. Bilder, Gesichtserkennung usw.) decodiert werden können. Diese beobachteten Punkte C1- C10 können die Trajektorienerzeugung durch Regionen des kognitiven Raums 308 führen, die in dem Datensatz 302 beobachtet wurden, und ein Durchqueren von Regionen des kognitiven Raums 308, die ungewiss oder unerforscht sind, vermeiden. Beispielsweise kann eine nichtparametrische Dichtenschätzungstechnik dazu verwendet werden, die Verteilung der komprimierten Aktivierungen in dem kognitiven Raum 308 zu schätzen. Regionen mit hoher Dichte können während der Trajektorienerzeugung bevorzugt werden, während Regionen mit niedriger Dichte vermieden werden.
  • Sobald der Codierer 306 für kognitive Räume geschult wurde, kann der Codierer 306 für kognitive Räume Aktivierungen des neuronalen Netzwerks 304 in den kognitiven Raum 308 abbilden. Der Codierer 306 für kognitive Räume kann den kognitiven Raum 308 mit den Aktivierungen befüllen.
  • 4 zeigt einen Prozess 340 zum Erzeugen von kognitiven Wegen, um eine Trajektorie 348 zu erzeugen, die einen kognitiven Raum 342 von einem Ausgangspunkt Co zu einem Zielpunkt Cn durchquert. Die Trajektorie 348 in dem kognitiven Raum 342 ist möglicherweise nicht eine gerade Linie, kann jedoch einem Weg folgen, der den Ausgangspunkt C0 mit dem Zielpunkt Cn verbindet, während Hindernisse (z. B. ungesehene, ungewisse oder unbeobachtete Regionen) vermieden werden.
  • Wie oben angemerkt, kann eine nichtparametrische Dichtenschätzungstechnik dazu verwendet werden, eine Verteilung der komprimierten Aktivierungen in dem kognitiven Raum zu schätzen. Der Trajektoriengenerator 344 kann Regionen mit hoher Dichte während einer Trajektorienerzeugung bevorzugen, während Regionen mit niedriger Dichte vermieden werden können. Beispielsweise kann der Trajektoriengenerator 344 eine Überlebensfunktion der geschätzten Dichte (z. B. ihren Schwanz) als die Wahrscheinlichkeit jedes Punkts in dem kognitiven Raum 342, ein Hindernis zu enthalten, verwenden. Der Trajektoriengenerator 344 kann Wegplanungsalgorithmen (z. B. RRT, PRM, A*) implementieren, um einen Weg von dem Ausgangspunkt C0 zu dem Zielpunkt Cn zu zeichnen, während Regionen des Raums vermieden werden, die in den Schulungsdaten möglicherweise nicht dargestellt werden.
  • Somit ist die Trajektorie 348 ein kontinuierlicher Weg von dem Ausgangspunkt Co zu einem Zielpunkt Cn. Der Trajektoriengenerator 344 erzeugt Trajektorien, die Regionen des kognitiven Raums 342 durchqueren, die während der Schulung des Codierers 350 für kognitive Räume in hohem Maße abgetastet werden. Der kognitive Raum 342 wird durch Konstruktion und Lernen in diesen Regionen genauer sein. Somit werden die Abtastwerte von hoher Qualität sein und lenkbar mit einem Verhalten eines neuronalen Netzwerks in Verbindung gebracht werden können.
  • 5 zeigt ein Verfahren 400 zum Erzeugen einer Trajektorie durch einen kognitiven Raum. Das Verfahren 400 kann mit dem Evaluationssystem (1), dem Verfahren 320 (2), dem Decodierer 350 für kognitive Räume und dem Trajektoriengenerator 344 (4) leicht implementiert werden, bereits erörtert. Ganz besonders kann das Verfahren 400 in einem oder mehreren Modulen als ein Satz von logischen Anweisungen, die in einem maschinen- oder computerlesbaren Speichermedium, wie einem RAM, einem ROM, einem PROM, einer Firmware, einem Flash-Speicher usw., gespeichert sind, in konfigurierbarer Logik, wie beispielsweise PLA, FPGA, CPLD, in Logikhardware mit festgelegter Funktionalität unter Verwendung von Schaltungstechnologie, wie beispielsweise eine ASIC, ein CMOS oder eine TTL-Technologie, oder eine beliebige Kombination davon, implementiert werden.
  • Der veranschaulichte Verarbeitungsblock 402 identifiziert einen Startpunkt und einen Zielpunkt in einem kognitiven Raum (z. B. auf der Basis von Aktivierungen von einem neuronalen Netzwerk). Der veranschaulichte Verarbeitungsblock 404 identifiziert beobachtete Bereiche, die zu einer aktuellen Position benachbart sind. Die aktuelle Position entspricht gegenwärtig dem Startpunkt. Der veranschaulichte Verarbeitungsblock 406 wählt einen Bereich mit höchster Wahrscheinlichkeit als eine nächste Position in der Trajektorie aus. Der Bereich mit höchster Wahrscheinlichkeit kann ein Bereich sein, der eine höchste Wahrscheinlichkeit zum Leiten zu dem Zielpunkt aufweist. Beispielsweise kann eine Position auf der Basis davon ausgewählt werden, ob ein Weg zu dem Zielknoten hin von der Position verfügbar ist (z. B. ist die Position keine „Sackgasse“), und Positionen vermeiden, die keine verfügbaren Wege zu dem Zielpunkt aufweisen. Wie oben angemerkt, kann beim Bestimmen der nächsten Position auch die Dichte von Abtastwerten in Betracht gezogen werden.
  • In einigen Ausführungsformen kann der Verarbeitungsblock 406 die Operation auf der Basis eines Typs der Wegplanungsanalyse modifizieren. Eine gewisse Wegplanungsanalyse kann iterativ ausgeführt werden, jedoch möglicherweise nicht „jederzeit“ sein (was bedeutet, dass die Ausgabe sofort erzeugt wird, wenn der Algorithmus seine Verarbeitung abschließt). Einige Planungsalgorithmen (z. B. ein A*-Suchalgorithmus) können einen optimalen (z. B. kürzesten) Weg finden, wenn ein derartiger Weg existiert. In einigen Ausführungsformen können Probabilistic-Roadmap-Verfahren (PRM-Verfahren) verwendet werden, anstelle wirksamer in Räumen mit höherer Dimensionalität auszuführen.
  • Der veranschaulichte Verarbeitungsblock 408 aktualisiert die aktuelle Position zu der nächsten Position und aktualisiert die Trajektorie, um die nächste Position einzubinden. Der veranschaulichte Verarbeitungsblock 410 identifiziert, ob der Zielpunkt erreicht wird. Wenn beispielsweise die aktuelle Position mit der Zielposition identisch ist, kann die Zielposition erreicht worden sein, und der veranschaulichte Verarbeitungsblock 412 gibt die Trajektorie aus. Andernfalls kann der veranschaulichte Verarbeitungsblock 404 ausgeführt werden.
  • 6 zeigt ein Verfahren 440 zum Bestimmen eines Resilienzpunktwerts (z. B. eines Validierungspunktwerts) eines neuronalen Netzwerks und Umschulen auf der Basis des Resilienzpunktwerts. Das Verfahren 440 kann mit dem Evaluationssystem (1), dem Verfahren 320 (2), dem Schulungsprozess 300, 320 mit zwei Durchläufen (3A-3B), dem Codierer 350 für kognitive Räume und dem Trajektoriengenerator 344 (4), dem bereits erörterten Verfahren 400 (5) leicht implementiert werden. Ganz besonders kann das Verfahren 440 in einem oder mehreren Modulen als ein Satz von logischen Anweisungen, die in einem maschinen- oder computerlesbaren Speichermedium, wie einem RAM, einem ROM, einem PROM, einer Firmware, einem Flash-Speicher usw., gespeichert sind, in konfigurierbarer Logik, wie beispielsweise PLA, FPGA, CPLD, in Logikhardware mit festgelegter Funktionalität unter Verwendung von Schaltungstechnologie, wie beispielsweise eine ASIC, ein CMOS oder eine TTL-Technologie, oder eine beliebige Kombination davon, implementiert werden.
  • Der veranschaulichte Verarbeitungsblock 444 erzeugt Trajektorien durch einen kognitiven Raum, der mit dem neuronalen Netzwerk assoziiert ist. Der veranschaulichte Verarbeitungsblock 446 identifiziert Charakteristika der Trajektorien. Beispielsweise können die Charakteristika ein Identifizieren beinhalten, ob die Trajektorie ähnliche oder unähnliche Zwischenpunkte (z. B. ob Bilder einander ähnlich sind) beinhaltet. Einige Ausführungsformen können ein Identifizieren beinhalten, ob feindliche Eingaben zur Gesichtserkennung korrekt identifiziert werden und ob die Zwischenpunkte angeben, dass das neuronale Netzwerk die feindliche Eingabe korrekt verarbeitet hat.
  • Der veranschaulichte Verarbeitungsblock 448 bestimmt einen Resilienzpunktwert auf der Basis der Charakteristika. Der veranschaulichte Verarbeitungsblock 450 bestimmt, ob der Resilienzpunktwert angibt, dass eine Umschulung erforderlich ist (z. B. kann eine Umschulung erforderlich sein, wenn der Resilienzpunktwert unter einem Grenzwert liegt). Falls nicht, kann das Verfahren 440 enden. Andernfalls schult der veranschaulichte Verarbeitungsblock 452 das neuronale Netzwerk auf der Basis des Resilienzpunktwerts.
  • In einigen Ausführungsformen können die Charakteristika angeben, dass ein bestimmter Teil und/oder Prozess des neuronalen Netzwerks leistungsschwach ist (z. B. werden feindliche Eingaben nicht korrekt identifiziert und „narren“ das System, unbeobachtete Teile des neuronalen Netzwerks führen zu schlechten Trajektorien und sollten durch eine Umschulung behoben werden, um mehr Abtastwerte von den unbeobachteten Teilen einzubinden). In derartigen Ausführungsformen kann die Umschulung mit einem spezifischen Fokus auf die leistungsschwachen Teile des neuronalen Netzwerks ausgeführt werden. Beispielsweise können Abtastwerte von unbeobachteten Teilen dem neuronalen Netzwerk bereitgestellt werden, um feindliche Angriffe abzuschwächen.
  • Nun unter Bezugnahme auf 7 ist ein resilienzverstärktes Datenverarbeitungssystem 158 (z. B. ein Datenverarbeitungsgerät) gezeigt. Das Datenverarbeitungssystem 158 kann im Allgemeinen ein Teil eines elektronischen Geräts/einer Plattform mit Datenverarbeitungsfunktionalität (z. B. ein Minicomputer/PDA, Notebook-Computer, Tablet-Computer, wandelbares Tablet, Server), Kommunikationsfunktionalität (z. B. ein Smartphone), Abbildungsfunktionalität (z. B. eine Kamera, ein Camcorder), Medienabspielfunktionalität (z. B. ein Smart-Fernseher/TV), tragbarer Funktionalität (z. B. eine Uhr, Brille, Kopfbedeckung, Fußbekleidung, Schmuck), Fahrzeugfunktionalität (z. B. ein Auto, Lastkraftwagen, Motorrad) usw. oder einer beliebigen Kombination davon sein. In dem veranschaulichten Beispiel beinhaltet das System 158 einen Host-Prozessor 160 (z. B. eine CPU mit einem oder mehreren Prozessorkernen) mit einem integrierten Speicher-Controller (IMC) 162, der an einen Systemspeicher 164 gekoppelt ist. Der Host-Prozessor 160 beinhaltet weiterhin Beschleuniger A1-A3 (obwohl eine beliebige Anzahl von Beschleunigern vorgesehen werden kann), um ein neuronales Netzwerk zu implementieren. Beispielsweise kann das System 158 weiterhin mit anderen elektronischen Geräten kommunizieren, die ebenfalls das neuronale Netzwerk implementieren. Beispielsweise kann das System 158 durch Austauschen von Gewichtungen, Verzerrungen und Daten mit den anderen elektronischen Geräten sich mit den anderen elektronischen Geräten synchronisieren.
  • Das veranschaulichte System 158 beinhaltet außerdem einen Grafikprozessor 168 (z. B. eine Grafikverarbeitungseinheit/GPU) und ein Ein-/Ausgabe-Modul (E/A-Modul) 166, das zusammen mit dem Prozessor 160 (z. B. als Mikrocontroller) auf einem Halbleiterchip 170 als ein System-on-Chip (SOC) implementiert ist, wobei das E/A-Modul 166 mit beispielsweise einer Anzeige 172 (z. B. ein Berührungsbildschirm, eine Flüssigkristallanzeige/LCD, eine Leuchtdioden/LED-Anzeige), einem Netzwerk-Controller 174 (z. B. drahtgebunden und/oder drahtlos) und einem Massenspeicher 176 (z. B. eine HDD, eine optische Platte, SDD, ein Flash-Speicher oder ein anderer NFS) kommunizieren kann. Das veranschaulichte SOC 170 beinhaltet einen ROM 178 mit Logikanweisungen, die bei Ausführung durch die Beschleuniger A1-A3, den Host-Prozessor 160 oder den Grafikprozessor 160 bewirken, dass das Datenverarbeitungssystem 158 ein oder mehrere Gesichtspunkte des Evaluationssystems (1), des Verfahrens 320 (2), des Schulungsprozesses 300, 320 mit zwei Durchläufen (3A-3B), des Codierers 350 für kognitive Räume und des Trajektoriengenerators 344 (4), des Verfahrens 400 (5) und/oder des Verfahrens 440 (6) implementiert und/oder durchführt, bereits erörtert.
  • In einigen Ausführungsformen kann das System 158 weiterhin Prozessoren (nicht gezeigt) und/oder einen AI-Beschleuniger 148, der für eine Verarbeitung mittels künstlicher Intelligenz (AI) und/oder neuronalem Netzwerk (NN) bestimmt ist, beinhalten. Beispielsweise kann das System SoC 170 Visionsverarbeitungseinheiten (VPU, nicht gezeigt) und/oder andere AI/NNspezifische Prozessoren, wie den AI-Beschleuniger 148 usw., beinhalten. In einigen Ausführungsformen kann ein beliebiger Gesichtspunkt der hierin beschriebenen Ausführungsformen in den Prozessoren und/oder Beschleunigern, die für eine AI- und/oder NN-Verarbeitung bestimmt sind, wie der AI-Beschleuniger 148, der Grafikprozessor 168 und/oder der Host-Prozessor 160, implementiert sein.
  • Somit kann das veranschaulichte System 158 einen kognitiven Raum identifizieren, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll, mehrere Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum abbilden und eine erste kognitive Trajektorie durch den kognitiven Raum erzeugen, wobei die erste kognitive Trajektorie den kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt abbildet. Das System 158 kann einen Validierungspunktwert (z. B. Resilienzpunktwert) auf der Basis der ersten kognitiven Trajektorie erzeugen, um zu identifizieren, ob das neuronale Netzwerk umgeschult werden soll und ob das neuronale Netzwerk mit einem spezifischen Fokus auf ein Stärken eines leistungsschwachen Teils und/oder Prozesses des neuronalen Netzwerks zurückgehalten werden sollte. Somit kann das System 158 sicherheitsverstärkte und resilienzverstärkte neuronale Netzwerke bereitstellen. Des Weiteren kann das System 158 eine neue und verstärkte Analyse von neuronalen Netzwerken implementieren, um einen „Denkprozess“ des neuronalen Netzwerks durch kognitive Trajektorienabbildungen und Trajektorien zu identifizieren. In einigen Ausführungsformen kann der Validierungspunktwert auf der Anzeige 172 präsentiert werden, damit ein Benutzer den Validierungspunktwert sehen kann. In einigen Ausführungsformen kann das System 150 auf der Basis der von dem System 150 vorgenommenen Analyse bewirken, dass die elektronischen Geräte ebenfalls umgeschult werden. Beispielsweise kann das System 150 eine Nachricht an die elektronischen Geräte durch den Netzwerk-Controller 174 übertragen, um die elektronischen Geräte zum Umschulen anzuweisen.
  • 8 zeigt eine Halbleitergehäusevorrichtung 180. Die veranschaulichte Vorrichtung 180 beinhaltet ein oder mehrere Substrate 184 (z. B. Silizium, Saphir, Galliumarsenid) und eine Logik 182 (z. B. ein Transistor-Array und andere integrierte Schaltungs/IC-Komponenten), die an das bzw. die Substrate 184 gekoppelt sind. In einem Beispiel ist die Logik 182 zumindest zum Teil in einer konfigurierbaren Logik oder einer Logikhardware mit festgelegter Funktionalität implementiert. Die Logik 182 kann ein oder mehrere Gesichtspunkte des Evaluationssystems (1), des Verfahrens 320 (2), des Schulungsprozesses 300, 320 mit zwei Durchläufen (3A-3B), des Codierers 350 für kognitive Räume und des Trajektoriengenerators 344 (4), des Verfahrens 400 (5) und/oder des Verfahrens 440 (6) implementieren und/oder durchführen, bereits erörtert. In einem Beispiel beinhaltet die Logik 182 Transistorkanalregionen, die innerhalb des bzw. der Substrate 184 positioniert (z. B. eingebettet) sind. Somit ist die Schnittstelle zwischen der Logik 182 und dem bzw. den Substraten 184 möglicherweise kein abrupter Übergang. Die Logik 182 kann auch als eine epitaktische Schicht, die auf einem Ausgangswafer des bzw. der Substrate 184 wachsen gelassen wird, beinhaltend in Betracht gezogen werden.
  • In einigen Ausführungsformen kann die Logik 182 weiterhin Prozessoren (nicht gezeigt) und/oder Beschleuniger (nicht gezeigt), die für eine AI- und/oder NN-Verarbeitung bestimmt sind, beinhalten. Beispielsweise kann die Logik 182 VPU und/oder andere AI/NN-spezifische Prozessoren usw. beinhalten. In einigen Ausführungsformen kann ein beliebiger Gesichtspunkt der hierin beschriebenen Ausführungsformen in den Prozessoren und/oder Beschleunigern, die für eine AI- und/oder NN-Verarbeitung bestimmt sind, implementiert sein.
  • 9 veranschaulicht einen Prozessorkern 200 gemäß einer Ausführungsform. Der Prozessorkern 200 kann der Kern für einen beliebigen Prozessortyp sein, wie einen Mikroprozessor, einen eingebetteten Prozessor, einen Digitalsignalprozessor (DSP), einen Netzwerkprozessor oder ein anderes Gerät zum Ausführen von Code. Obwohl in 9 nur ein Prozessorkern 200 veranschaulicht ist, kann ein Verarbeitungselement alternativ dazu mehr als einen von dem Prozessorkern 200, der in 9 veranschaulicht ist, beinhalten. Der Prozessorkern 200 kann ein Single-Threaded-Kern sein oder der Prozessorkern 200 kann für mindestens eine Ausführungsform insofern mehrere Threads („multithreaded“) aufweisen, dass er mehr als einen Hardware-Thread-Kontext (oder „logischen Prozessor“) pro Kern beinhalten kann.
  • 9 veranschaulicht außerdem einen Speicher 270, der an den Prozessorkern 200 gekoppelt ist. Der Speicher 270 kann ein beliebiger von einer großen Vielfalt von Speichern (einschließlich verschiedenen Schichten einer Speicherhierarchie) sein, wie sie Fachmännern bekannt oder anderweitig verfügbar sind. Der Speicher 270 kann eine oder mehrere Anweisungen aus Code 213 beinhalten, die von dem Prozessorkern 200 ausgeführt werden sollen, wobei der Code 213 einen oder mehrere Gesichtspunkte des Evaluationssystems (1), des Verfahrens 320 (2), des Schulungsprozesses 300, 320 mit zwei Durchläufen (3A-3B), des Codierers 350 für kognitive Räume und des Trajektoriengenerators 344 (4), des Verfahrens 400 (5) und/oder des Verfahrens 440 (6) implementieren und/oder durchführen kann, bereits erörtert. Der Prozessorkern 200 folgt einer Programmsequenz von Anweisungen, die von dem Code 213 angegeben werden. Jede Anweisung kann in einen Front-End-Teil 210 gelangen und von einem oder mehreren Decodierern 220 verarbeitet werden. Der Decodierer 220 kann eine Mikrooperation, wie eine Mikrooperation mit festgelegter Breite in einem vordefinierten Format, als seine Ausgabe erzeugen oder kann andere Anweisungen, Mikroanweisungen oder Steuersignale erzeugen, die die ursprüngliche Code-Anweisung widerspiegeln. Der veranschaulichte Front-End-Teil 210 beinhaltet außerdem eine Registerumbenennungslogik 225 und eine Zeitplanungslogik 230, die im Allgemeinen Ressourcen zuteilen und die Operation entsprechend der umgewandelten Anweisung zur Ausführung in eine Warteschlange einreihen.
  • Der Prozessorkern 200 ist eine Ausführungslogik 250 mit einem Satz von Ausführungseinheiten 255-1 bis 255-N beinhaltend gezeigt. Einige Ausführungsformen können eine Reihe von Ausführungseinheiten beinhalten, die für spezifische Funktionen oder Sätze von Funktionen bestimmt sind. Andere Ausführungsformen können nur eine Ausführungseinheit oder eine Ausführungseinheit, die eine bestimmte Funktion durchführen kann, beinhalten. Die veranschaulichte Ausführungslogik 250 führt die von Code-Anweisungen spezifizierten Operationen durch.
  • Nach Abschluss der Ausführung der von den Code-Anweisungen spezifizierten Operationen zieht eine Back-End-Logik 260 die Anweisungen aus dem Code 213 zurück. In einer Ausführungsform ermöglicht der Prozessorkern 200 eine Ausführung außerhalb der Reihenfolge, erfordert jedoch ein Zurückziehen von Anweisungen in der Reihenfolge. Eine Zurückzugslogik 265 kann eine Vielfalt von Formen annehmen, wie Fachmännern bekannt (z. B. Neuordnungspuffer oder dergleichen). Auf diese Weise wird der Prozessorkern 200 während der Ausführung des Codes 213 umgewandelt, zumindest in Bezug auf die Ausgabe, die von dem Decodierer, den Hardwareregistern und den Tabellen, die von der Registerumbenennungslogik 225 genutzt werden, und beliebigen Registern (nicht gezeigt), die von der Ausführungslogik 250 modifiziert werden, erzeugt wird.
  • Obwohl nicht in 9 veranschaulicht, kann ein Verarbeitungselement andere Elemente auf einem Chip mit dem Prozessorkern 200 beinhalten. Beispielsweise kann ein Verarbeitungselement eine Speichersteuerlogik zusammen mit dem Prozessorkern 200 beinhalten. Das Verarbeitungselement kann eine E/A-Steuerlogik beinhalten und/oder kann eine E/A-Steuerlogik, die mit einer Speichersteuerlogik integriert ist, beinhalten. Das Verarbeitungselement kann außerdem einen oder mehrere Zwischenspeicher beinhalten.
  • Nun unter Bezugnahme auf 10 ist ein Blockdiagramm einer Ausführungsform eines Datenverarbeitungssystems 1000 gemäß einer Ausführungsform gezeigt. In 10 ist ein Mehrprozessorsystem 1000 gezeigt, das ein erstes Verarbeitungselement 1070 und ein zweites Verarbeitungselement 1080 beinhaltet. Obwohl zwei Verarbeitungselemente 1070 und 1080 gezeigt sind, versteht es sich, dass eine Ausführungsform des Systems 1000 auch nur ein derartiges Verarbeitungselement beinhalten kann.
  • Das System 1000 ist als ein Punkt-zu-Punkt-Interconnect-System veranschaulicht, wobei das erste Verarbeitungselement 1070 und das zweite Verarbeitungselement 1080 mittels einem Punkt-zu-Punkt-Interconnect 1050 gekoppelt sind. Es ist zu verstehen, dass ein beliebiger oder alle der in 10 veranschaulichten Interconnects als ein Multi-Drop-Bus anstelle eines Punkt-zu-Punkt-Interconnects implementiert werden können.
  • Wie in 10 gezeigt, kann es sich bei jedem der Verarbeitungselemente 1070 und 1080 um Mehrkernprozessoren handeln, einschließlich erster und zweiter Prozessorkerne (d. h. Prozessorkerne 1074a und 1074b und Prozessorkerne 1084a und 1084b). Derartige Kerne 1074a, 1074b, 1084a, 1084b können dazu konfiguriert sein, Anweisungscode auf eine Weise auszuführen, die der oben in Verbindung mit 9 erörterten ähnlich ist.
  • Jedes Verarbeitungselement 1070, 1080 kann mindestens einen gemeinsam genutzten Zwischenspeicher 1896a, 1896b beinhalten. Der gemeinsam genutzte Zwischenspeicher 1896a, 1896b kann Daten (z. B. Anweisungen) speichern, die von einer oder mehreren Komponenten des Prozessors genutzt werden, wie den Kernen 1074a, 1074b bzw. 1084a, 1084b. Beispielsweise kann der gemeinsam genutzte Zwischenspeicher 1896a, 1896b kann Daten, die in einem Speicher 1032, 1034 gespeichert sind, für einen schnelleren Zugriff durch Komponenten des Prozessors lokal zwischenspeichern. In einer oder mehreren Ausführungsformen kann der gemeinsam genutzte Zwischenspeicher 1896a, 1896b einen oder mehrere Zwischenspeicher der mittleren Ebenen, wie Ebene 2 (L2), Ebene 3 (L3), Ebene 4 (L4) oder andere Zwischenspeicher-Ebenen, einen Zwischenspeicher der letzten Ebene (LLC) und/oder Kombinationen davon beinhalten.
  • Obwohl mit nur zwei Verarbeitungselementen 1070, 1080 gezeigt, versteht es sich, dass der Schutzumfang der Ausführungsformen nicht so eingeschränkt ist. In anderen Ausführungsformen können ein oder mehrere zusätzliche Verarbeitungselemente in einem gegebenen Prozessor vorliegen. Alternativ dazu kann es sich bei einem oder mehreren Verarbeitungselementen 1070, 1080 um ein Element handeln, das kein Prozessor ist, wie ein Beschleuniger oder ein feldprogrammierbares Gate-Array. Beispielsweise können ein bzw. mehrere zusätzliche Verarbeitungselemente einen bzw. zusätzliche Prozessoren, die identisch mit einem ersten Prozessor 1070 sind, einen bzw. zusätzliche Prozessoren, die heterogen oder asymmetrisch zu einem Prozessor eines ersten Prozessors 1070 sind, Beschleuniger (wie z. B. Grafikbeschleuniger oder Digitalsignalverarbeitungseinheiten (DSP-Einheiten)), feldprogammierbare Gate-Arrays oder ein beliebiges anderes Verarbeitungselement beinhalten. Es kann eine Vielfalt von Unterschieden zwischen den Verarbeitungselementen 1070, 1080 in Bezug auf ein Spektrum von Metriken von Wert, einschließlich Architektur-, Mikroarchitektur-, Wärme-, Energieverbrauchscharakteristika und dergleichen, geben. Diese Unterschiede können sich effektiv als Asymmetrie und Heterogenität unter den Verarbeitungselementen 1070, 1080 manifestieren. Für mindestens eine Ausführungsform können die verschiedenen Verarbeitungselemente 1070, 1080 sich in demselben Chipgehäuse befinden.
  • Das erste Verarbeitungselement 1070 kann weiterhin eine Speicher-Controller-Logik (MC) 1072 und Punkt-zu-Punkt-Schnittstellen (P-P-Schnittstellen) 1076 und 1078 beinhalten. Analog dazu kann das zweite Verarbeitungselement 1080 eine MC 1082 und P-P-Schnittstellen 1086 und 1088 beinhalten. Wie in 10 gezeigt, koppeln die MC 1072 und 1082 die Prozessoren an jeweilige Speicher, nämlich einen Speicher 1032 und einen Speicher 1034, die Teile eines Hauptspeichers sein können, der lokal an den jeweiligen Prozessoren angebracht ist. Obwohl die MC 1072 und 1082 als in die Verarbeitungselemente 1070, 1080 integriert veranschaulicht sind, kann die MC-Logik für alternative Ausführungsformen eine einzelne Logik außerhalb der Verarbeitungselemente 1070, 1080 sein, anstelle darin integriert zu sein.
  • Das erste Verarbeitungselement 1070 und das zweite Verarbeitungselement 1080 können mittels P-P-Interconnects 1076, 1086 an ein E/A-Untersystem 1090 gekoppelt sein. Wie in 10 gezeigt, beinhaltet das E/A-Untersystem 1090 P-P-Schnittstellen 1094 und 1098. Des Weiteren beinhaltet das E/A-Untersystem 1090 eine Schnittstelle 1092, um das E/A-Untersystem 1090 mit einer Hochleistungsgrafikmaschine 1038 zu koppeln. In einer Ausführungsform kann ein Bus 1049 dazu verwendet werden, die Grafikmaschine 1038 an das E/A-Untersystem 1090 zu koppeln. Alternativ dazu kann ein Punkt-zu-Punkt-Interconnect diese Komponenten koppeln.
  • Das E/A-Untersystem 1090 wiederum kann mittels einer Schnittstelle 1096 an einen ersten Bus 1016 gekoppelt sein. In einer Ausführungsform kann der erste Bus 1016 ein Peripheral-Component-Interconnect-Bus (PCI-Bus) oder ein Bus wie ein PCI-Express-Bus oder ein anderer E/A-Interconnect-Bus der dritten Generation sein, obwohl der Schutzumfang der Ausführungsformen nicht so eingeschränkt ist.
  • Wie in 10 gezeigt, können verschiedene E/A-Geräte 1014 (z. B. biometrische Scanner, Lautsprecher, Kameras, Sensoren) an den ersten Bus 1016 zusammen mit einer Busbrücke 1018 gekoppelt sein, die den ersten Bus 1016 an einen zweiten Bus 1020 koppeln kann. In einer Ausführungsform kann der zweite Bus 1020 ein Low-Pin-Count-Bus (LPC-Bus) sein. Verschiedene Geräte können in einer Ausführungsform an den zweiten Bus 1020 gekoppelt sein, einschließlich beispielsweise eine Tastatur/Maus 1012, ein oder mehrere Kommunikationsgeräte 1026 und eine Datenspeichereinheit 1019, wie ein Festplattenlaufwerk oder ein anderes Massenspeichergerät, das Code 1030 beinhalten kann. Der veranschaulichte Code 1030 kann ein oder mehrere Gesichtspunkte des Evaluationssystems (1), des Verfahrens 320 (2), des Schulungsprozesses 300, 320 mit zwei Durchläufen (3A-3B), des Codierers 350 für kognitive Räume und des Trajektoriengenerators 344 (4), des Verfahrens 400 (5) und/oder des Verfahrens 440 (6) implementieren und/oder durchführen, bereits erörtert. Des Weiteren kann ein Audio-E/A 1024 an den zweiten Bus 1020 gekoppelt sein und eine Batterie 1010 kann dem Datenverarbeitungssystem 1000 Energie zuführen.
  • Man beachte, dass andere Ausführungsformen in Betracht gezogen werden. Beispielsweise kann ein System anstelle der Punkt-zu-Punkt-Architektur von 10 einen Multi-Drop-Bus oder eine andere derartige Kommunikationstopologie implementieren. Außerdem können die Elemente von 10 alternativ dazu unter Verwendung von mehr oder weniger integrierten Chips als in 10 gezeigt partitioniert werden.
  • Zusätzliche Anmerkungen und Beispiele:
  • Beispiel 1 beinhaltet ein Datenverarbeitungsgerät, umfassend einen Netzwerk-Controller zum Kommunizieren mit einem oder mehreren elektronischen Geräten, die ein neuronales Netzwerk implementieren sollen, einen Grafikprozessor, eine Zentraleinheit und einen Speicher, der einen Satz von Anweisungen beinhaltet, die bei Ausführung durch einen bzw. eine oder mehrere von dem Grafikprozessor oder der Zentraleinheit bewirken, dass das Datenverarbeitungsgerät einen kognitiven Raum identifiziert, der eine komprimierte Darstellung von Aktivierungen des neuronalen Netzwerks sein soll, mehrere Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum abbildet und eine erste kognitive Trajektorie durch den kognitiven Raum erzeugt, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchqueren soll.
  • Beispiel 2 beinhaltet das Datenverarbeitungsgerät von Beispiel 1, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät bestimmt, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht.
  • Beispiel 3 beinhaltet das Datenverarbeitungsgerät von Beispiel 1, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät die erste kognitive Trajektorie abtastet, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und den einen oder die mehreren Zwischenpunkte in einen Eingaberaum decodiert, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  • Beispiel 4 beinhaltet das Datenverarbeitungsgerät von Beispiel 3, wobei mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll, mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  • Beispiel 5 beinhaltet das Datenverarbeitungsgerät von Beispiel 1, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät mehrere Trajektorien durch den kognitiven Raum identifiziert und einen Validitätspunktwert auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien erzeugt.
  • Beispiel 6 beinhaltet das Datenverarbeitungsgerät von Beispiel 1, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen sein soll.
  • Beispiel 7 beinhaltet eine Halbleitervorrichtung, umfassend ein oder mehrere Substrate und Logik, die an das eine oder die mehreren Substrate gekoppelt ist, wobei die Logik in einer oder mehreren von einer konfigurierbaren Logik oder einer Logikhardware mit festgelegter Funktionalität implementiert ist, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, einen kognitiven Raum identifizieren, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll, mehrere Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum abbilden und eine erste kognitive Trajektorie durch den kognitiven Raum erzeugen soll, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchqueren soll.
  • Beispiel 8 beinhaltet die Vorrichtung von Beispiel 7, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, bestimmen soll, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht.
  • Beispiel 9 beinhaltet die Vorrichtung von Beispiel 7, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, die erste kognitive Trajektorie abtasten, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und den einen oder die mehreren Zwischenpunkte in einen Eingaberaum decodieren soll, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  • Beispiel 10 beinhaltet die Vorrichtung von Beispiel 9, wobei mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll, mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  • Beispiel 11 beinhaltet die Vorrichtung von Beispiel 7, wobei die Logik mehrere Trajektorien durch den kognitiven Raum identifizieren und einen Validitätspunktwert auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien erzeugen soll.
  • Beispiel 12 beinhaltet die Vorrichtung von Beispiel 7, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen sein soll.
  • Beispiel 13 beinhaltet die Vorrichtung von Beispiel 7, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, Transistorkanalregionen beinhaltet, die innerhalb des einen oder der mehreren Substrate positioniert sind.
  • Beispiel 14 beinhaltet mindestens ein computerlesbares Speichermedium, das einen Satz von Anweisungen umfasst, die bei Ausführung durch ein Datenverarbeitungsgerät bewirken, dass das Datenverarbeitungsgerät einen kognitiven Raum identifiziert, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll, mehrere Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum abbildet und eine erste kognitive Trajektorie durch den kognitiven Raum erzeugt, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchquert.
  • Beispiel 15 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät bestimmt, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht.
  • Beispiel 16 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät die erste kognitive Trajektorie abtastet, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und den einen oder die mehreren Zwischenpunkte in einen Eingaberaum decodiert, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  • Beispiel 17 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 16, wobei mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll, mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  • Beispiel 18 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät mehrere Trajektorien durch den kognitiven Raum identifiziert und einen Validitätspunktwert auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien erzeugt.
  • Beispiel 19 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen sein soll.
  • Beispiel 20 beinhaltet ein Verfahren, das ein Identifizieren eines kognitiven Raums, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll, ein Abbilden von mehreren Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum und ein Erzeugen einer ersten kognitiven Trajektorie durch den kognitiven Raum umfasst, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchquert.
  • Beispiel 21 beinhaltet das Verfahren von Beispiel 20, das weiterhin ein Bestimmen, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht, beinhaltet.
  • Beispiel 22 beinhaltet das Verfahren von Beispiel 20, das weiterhin ein Abtasten der ersten kognitiven Trajektorie, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und ein Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen, beinhaltet.
  • Beispiel 23 beinhaltet das Verfahren von Beispiel 22, wobei mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll, mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  • Beispiel 24 beinhaltet das Verfahren von Beispiel 20, das weiterhin ein Identifizieren von mehreren Trajektorien durch den kognitiven Raum und ein Erzeugen eines Validitätspunktwerts auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien beinhaltet.
  • Beispiel 25 beinhaltet das Verfahren von Beispiel 20, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen ist.
  • Beispiel 26 beinhaltet eine Halbleitervorrichtung, umfassend Mittel zum Identifizieren eines kognitiven Raums, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll, Mittel zum Abbilden von mehreren Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum und Mittel zum Erzeugen einer ersten kognitiven Trajektorie durch den kognitiven Raum umfasst, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchquert.
  • Beispiel 27 beinhaltet die Vorrichtung von Beispiel 20, die weiterhin Mittel zum Bestimmen, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht, beinhaltet.
  • Beispiel 28 beinhaltet die Vorrichtung von Beispiel 20, die weiterhin Mittel zum Abtasten der ersten kognitiven Trajektorie, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und Mittel zum Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen, beinhaltet.
  • Beispiel 29 beinhaltet die Vorrichtung von Beispiel 28, wobei mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll, mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  • Beispiel 30 beinhaltet die Vorrichtung von Beispiel 26, die weiterhin Mittel zum Identifizieren von mehreren Trajektorien durch den kognitiven Raum und Mittel zum Erzeugen eines Validitätspunktwerts auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien beinhaltet.
  • Beispiel 31 beinhaltet die Vorrichtung von einem der Beispiele 26-30, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen ist.
  • Somit kann hierin beschriebene Technologie einen kognitiven Raum erzeugen und kognitive Trajektorien durch den kognitiven Raum erzeugen. Das System kann einen Validierungspunktwert (z. B. Resilienzpunktwert) auf der Basis der kognitiven Trajektorien erzeugen, um zu identifizieren, ob das neuronale Netzwerk umgeschult werden soll, um eine Funktionsweise des neuronalen Netzwerks zu verstärken. Beispielsweise kann das neuronale Netzwerk mit einem spezifischen Fokus auf ein Stärken eines leistungsschwachen Teils und/oder Prozesses des neuronalen Netzwerks zurückgehalten werden. Somit kann die Technologie sicherheitsverstärkte und resilienzverstärkte neuronale Netzwerke bereitstellen. Des Weiteren kann die Technologie eine neue und verstärkte Analyse von neuronalen Netzwerken implementieren, um einen kognitiven Prozess (der anderweitig möglicherweise für die meisten System und/oder Entwickler undurchsichtig und unbekannt ist) des neuronalen Netzwerks durch kognitive Trajektorienabbildungen und Trajektorien zu identifizieren.
  • Ausführungsformen sind zur Verwendung mit allen Typen von Halbleiterchips mit integrierten Schaltungen („IC“) anwendbar. Beispiele dieser IC-Chips beinhalten Prozessoren, Controller, Chipsatzkomponenten, programmierbare Logik-Arrays (PLA), Speicherchips, Netzwerkchips, System-on-Chips (SOC), SSD/NAND-Controller-ASIC und dergleichen, sind jedoch nicht darauf beschränkt. Darüber hinaus sind in einigen der Zeichnungen Signalleiterleitungen mit Linien dargestellt. Einige können verschieden sein, um mehr konstituierende Signalwege anzugeben, ein Anzahletikett aufweisen, um eine Anzahl von konstituierenden Signalwegen anzugeben, und/oder Pfeile an einem oder mehreren Enden aufweisen, um eine primäre Informationsflussrichtung anzugeben. Die sollte jedoch nicht als einschränkend aufgefasst werden. Vielmehr können derartige hinzugefügte Einzelheiten in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um ein einfacheres Verständnis einer Schaltung zu erleichtern. Jegliche dargestellte Signalleitungen, ob zusätzliche Informationen aufweisend oder nicht, können in der Tat ein oder mehrere Signale umfassen, die in mehrere Richtungen reisen können, und können mit einem beliebigen geeigneten Typ eines Signalschemas, z. B. digitale oder analoge Leitungen, die mit Differentialpaaren implementiert sind, Glasfaserleitungen und/oder Single-Ended-Leitungen, implementiert sein.
  • Beispielhafte Größen/Modelle/Werte/Bereiche können angegeben worden sein, obwohl Ausführungsformen nicht auf diese beschränkt sind. Da Fertigungstechniken (z. B. Photolithographie) mit der Zeit ausreifen, wird erwartet, dass Geräte mit einer kleineren Größe gefertigt werden könnten. Darüber hinaus sind wohl bekannte Energie-/Masseverbindungen zu IC-Chips und anderen Komponenten der Einfachheit der Darstellung und Erörterung und zur Vermeidung einer Verschleierung von bestimmten Gesichtspunkten der Ausführungsformen möglicherweise oder möglicherweise nicht in den Figuren gezeigt. Des Weiteren können Anordnungen in Blockdiagrammform gezeigt sein, um eine Verschleierung von Ausführungsformen zu vermeiden, und auch in Anbetracht der Tatsache, dass Details in Bezug auf eine Implementierung derartiger Blockdiagrammanordnungen stark von dem Datenverarbeitungssystem abhängen, in dem die Ausführungsform implementiert werden soll, d. h. derartige Details sollten wohl innerhalb des Aufgabenbereichs eines Fachmanns liegen. Wo spezifische Einzelheiten (z. B. Schaltungen) dargelegt sind, um beispielhafte Ausführungsformen zu beschreiben, sollte es für einen Fachmann offensichtlich sein, dass Ausführungsformen ohne oder mit einer Variation dieser spezifischen Einzelheiten ausgeübt werden können. Die Beschreibung ist somit als veranschaulichend anstelle von einschränkend anzusehen.
  • Der Begriff „gekoppelt“ kann hierin dazu verwendet werden, auf einen beliebigen Typ von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten zu verweisen und kann für elektrische, mechanische, fluidische, optische, elektromagnetische, elektromechanische oder andere Verbindungen gelten. Darüber hinaus können die Begriffe „erste“, „zweite“ usw. hierin dazu verwendet werden, eine Erörterung zu erleichtern, und bringen keine besondere zeitliche oder chronologische Bedeutung mit sich, sofern nichts anderes angegeben ist.
  • Wie in dieser Anmeldung und in den Ansprüchen verwendet, kann eine Liste von Elementen, die durch den Begriff „eine oder mehrere von“ verbunden sind, für eine beliebige Kombination der aufgelisteten Begriffe stehen. Beispielsweise kann die Phrase „eine oder mehrere von A, B oder C“ für A; B; C; A und B; A und C; B und C oder A, B und C stehen.
  • Fachmänner werden aus der vorstehenden Beschreibung zu schätzen wissen, dass die ausgedehnten Techniken der Ausführungsformen in einer Vielfalt von Formen implementiert werden können. Obwohl die Ausführungsformen in Verbindung mit bestimmten Beispielen davon beschrieben wurden, sollte folglich der wahre Schutzumfang der Ausführungsformen nicht so eingeschränkt werden, da dem Fachmann bei einer Studie der Zeichnungen, der Spezifikation und den folgenden Ansprüchen andere Modifikationen offenbar werden.

Claims (25)

  1. Resilienzverstärktes Datenverarbeitungsgerät, umfassend: einen Netzwerk-Controller zum Kommunizieren mit einem oder mehreren elektronischen Geräten, die ein neuronales Netzwerk implementieren sollen; einen Grafikprozessor; eine Zentraleinheit und einen Speicher, der einen Satz von Anweisungen beinhaltet, die bei Ausführung durch einen bzw. eine oder mehrere von dem Grafikprozessor oder der Zentraleinheit bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Identifizieren eines kognitiven Raums, der eine komprimierte Darstellung von Aktivierungen des neuronalen Netzwerks sein soll; Abbilden von mehreren Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum und Erzeugen einer ersten kognitiven Trajektorie durch den kognitiven Raum, wobei die erste kognitive Trajektorie zum Durchqueren des kognitiven Raums von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt ist.
  2. Datenverarbeitungsgerät nach Anspruch 1, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Bestimmen, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht.
  3. Datenverarbeitungsgerät nach Anspruch 1, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Abtasten der ersten kognitiven Trajektorie, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren; und Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  4. Datenverarbeitungsgerät nach Anspruch 3, wobei: mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll; mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  5. Datenverarbeitungsgerät nach Anspruch 1, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Identifizieren von mehreren Trajektorien durch den kognitiven Raum und Erzeugen eines Validitätspunktwerts auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien.
  6. Datenverarbeitungsgerät nach einem der Ansprüche 1 bis 5, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen sein soll.
  7. Halbleitervorrichtung, umfassend: ein oder mehrere Substrate und Logik, die an das eine oder die mehreren Substrate gekoppelt ist, wobei die Logik in einer oder mehreren von einer konfigurierbaren Logik oder einer Logikhardware mit festgelegter Funktionalität implementiert ist, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, zu Folgendem ist: Identifizieren eines kognitiven Raums, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll; Abbilden von mehreren Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum und Erzeugen einer ersten kognitiven Trajektorie durch den kognitiven Raum, wobei die erste kognitive Trajektorie zum Durchqueren des kognitiven Raums von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt ist.
  8. Vorrichtung nach Anspruch 7, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, zu Folgendem ist: Bestimmen, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht.
  9. Vorrichtung nach Anspruch 7, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, zu Folgendem ist: Abtasten der ersten kognitiven Trajektorie, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  10. Vorrichtung nach Anspruch 9, wobei: mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll; mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  11. Vorrichtung nach Anspruch 7, wobei die Logik zu Folgendem ist: Identifizieren von mehreren Trajektorien durch den kognitiven Raum und Erzeugen eines Validitätspunktwerts auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien.
  12. Vorrichtung nach einem der Ansprüche 7 bis 11, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen sein soll.
  13. Vorrichtung nach einem der Ansprüche 7 bis 11, wobei die Logik, die an das eine oder die mehreren Substrate gekoppelt ist, Transistorkanalregionen beinhaltet, die innerhalb des einen oder der mehreren Substrate positioniert sind.
  14. Mindestens ein computerlesbares Speichermedium, das einen Satz von Anweisungen umfasst, die bei Ausführung durch ein Datenverarbeitungsgerät bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Identifizieren eines kognitiven Raums, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks sein soll; Abbilden von mehreren Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum und Erzeugen einer ersten kognitiven Trajektorie durch den kognitiven Raum, wobei die erste kognitive Trajektorie zum Durchqueren des kognitiven Raums von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt ist.
  15. Mindestens ein computerlesbares Speichermedium nach Anspruch 14, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Bestimmen, ob das neuronale Netzwerk umgeschult werden soll, auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht.
  16. Mindestens ein computerlesbares Speichermedium nach Anspruch 14, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Abtasten der ersten kognitiven Trajektorie, um einen oder mehrere Zwischenpunkte in dem kognitiven Raum zu identifizieren, und Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  17. Mindestens ein computerlesbares Speichermedium nach Anspruch 16, wobei: mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert werden soll; mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert werden soll und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entsprechen soll und der kognitive Zielpunkt dem Zieldatenpunkt entsprechen soll.
  18. Mindestens ein computerlesbares Speichermedium nach Anspruch 14, wobei die Anweisungen bei Ausführung bewirken, dass das Datenverarbeitungsgerät Folgendes durchführt: Identifizieren von mehreren Trajektorien durch den kognitiven Raum und Erzeugen eines Validitätspunktwerts auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien.
  19. Mindestens ein computerlesbares Speichermedium nach einem der Ansprüche 14 bis 18, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert werden soll und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert werden soll, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen sein soll.
  20. Verfahren zum Betreiben eines resilienzverstärkten Datenverarbeitungssystems, wobei das Verfahren umfasst: Identifizieren eines kognitiven Raums, der eine komprimierte Darstellung von Aktivierungen eines neuronalen Netzwerks ist; Abbilden von mehreren Aktivierungen des neuronalen Netzwerks auf einen kognitiven Ausgangspunkt und einen kognitiven Zielpunkt in dem kognitiven Raum und Erzeugen einer ersten kognitiven Trajektorie durch den kognitiven Raum, wobei die erste kognitive Trajektorie den kognitiven Raum von dem kognitiven Ausgangspunkt zu dem kognitiven Zielpunkt durchquert.
  21. Verfahren nach Anspruch 20, weiterhin beinhaltend: Bestimmen auf der Basis davon, ob ein Validitätspunktwert, der mit der ersten kognitiven Trajektorie assoziiert ist, einen Grenzwert erreicht, ob das neuronale Netzwerk umgeschult werden soll.
  22. Verfahren nach Anspruch 20, weiterhin beinhaltend: ein Abtasten der ersten kognitiven Trajektorie identifiziert einen oder mehrere Zwischenpunkte in dem kognitiven Raum; und Decodieren des einen oder der mehreren Zwischenpunkte in einen Eingaberaum, um Eingabepunkte in dem Eingaberaum zu erzeugen.
  23. Verfahren nach Anspruch 22, wobei: mindestens eine von den mehreren Aktivierungen mit einem Ausgangsdatenpunkt aus dem Eingaberaum assoziiert ist; mindestens eine von den mehreren Aktivierungen mit einem Zieldatenpunkt aus dem Eingaberaum assoziiert ist und der kognitive Ausgangspunkt dem Ausgangsdatenpunkt entspricht und der kognitive Zielpunkt dem Zieldatenpunkt entspricht.
  24. Verfahren nach Anspruch 20, weiterhin beinhaltend: Identifizieren von mehreren Trajektorien durch den kognitiven Raum und Erzeugen eines Validitätspunktwerts auf der Basis eines Verhältnisses von kohärenten Trajektorien von den mehreren Trajektorien und inkohärenten Trajektorien von den mehreren Trajektorien.
  25. Verfahren nach einem der Ansprüche 20 bis 24, wobei das neuronale Netzwerk mit einer ersten Anzahl von Dimensionen assoziiert ist und der kognitive Raum mit einer zweiten Anzahl von Dimensionen assoziiert ist, wobei die zweite Anzahl von Dimensionen kleiner als die erste Anzahl von Dimensionen ist.
DE102020134493.7A 2020-06-26 2020-12-21 Verifizierung eines neuronalen Netzwerks auf der Basis von kognitiven Trajektorien Pending DE102020134493A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/913,318 2020-06-26
US16/913,318 US11861494B2 (en) 2020-06-26 2020-06-26 Neural network verification based on cognitive trajectories

Publications (1)

Publication Number Publication Date
DE102020134493A1 true DE102020134493A1 (de) 2021-12-30

Family

ID=72748061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020134493.7A Pending DE102020134493A1 (de) 2020-06-26 2020-12-21 Verifizierung eines neuronalen Netzwerks auf der Basis von kognitiven Trajektorien

Country Status (3)

Country Link
US (1) US11861494B2 (de)
CN (1) CN113935454A (de)
DE (1) DE102020134493A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11195033B2 (en) * 2020-02-27 2021-12-07 Gm Cruise Holdings Llc Multi-modal, multi-technique vehicle signal detection
CN115115905B (zh) * 2022-06-13 2023-06-27 苏州大学 基于生成模型的高可迁移性图像对抗样本生成方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885907B1 (en) * 2004-05-27 2005-04-26 Dofasco Inc. Real-time system and method of monitoring transient operations in continuous casting process for breakout prevention
US10262448B2 (en) * 2016-01-19 2019-04-16 Dreamworks Animation L.L.C. Repurposing existing animated content
US20200310541A1 (en) * 2019-03-29 2020-10-01 Facebook Technologies, Llc Systems and methods for control schemes based on neuromuscular data
CN109255284B (zh) * 2018-07-10 2021-02-12 西安理工大学 一种基于运动轨迹的3d卷积神经网络的行为识别方法
CN109344717B (zh) * 2018-09-01 2021-10-19 哈尔滨工程大学 一种多阈值动态统计的深海目标在线检测识别方法
US20200074707A1 (en) * 2018-09-04 2020-03-05 Nvidia Corporation Joint synthesis and placement of objects in scenes
US11513515B2 (en) * 2018-11-27 2022-11-29 SparkCognition, Inc. Unmanned vehicles and associated hub devices
US20200327963A1 (en) * 2019-04-11 2020-10-15 Accenture Global Solutions Limited Latent Space Exploration Using Linear-Spherical Interpolation Region Method
US11701771B2 (en) * 2019-05-15 2023-07-18 Nvidia Corporation Grasp generation using a variational autoencoder
DE102019209228A1 (de) * 2019-06-26 2020-12-31 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überprüfen der Robustheit eines künstlichen neuronalen Netzes
US11586931B2 (en) * 2019-10-31 2023-02-21 Waymo Llc Training trajectory scoring neural networks to accurately assign scores
US10928820B1 (en) * 2019-11-12 2021-02-23 Baidu Usa Llc Confidence levels along the same predicted trajectory of an obstacle
US11724401B2 (en) * 2019-11-13 2023-08-15 Nvidia Corporation Grasp determination for an object in clutter
US20210146531A1 (en) * 2019-11-20 2021-05-20 Nvidia Corporation Guided uncertainty-aware policy optimization: combining model-free and model-based strategies for sample-efficient learning
US20200125959A1 (en) * 2019-12-19 2020-04-23 Intel Corporation Autoencoder Neural Network for Signal Integrity Analysis of Interconnect Systems
WO2021142306A1 (en) * 2020-01-10 2021-07-15 Modernatx, Inc. Variational autoencoder for biological sequence generation
US20210282701A1 (en) * 2020-03-16 2021-09-16 nCefalon Corporation Method of early detection of epileptic seizures through scalp eeg monitoring
US11472414B2 (en) * 2020-03-26 2022-10-18 Intel Corporation Safety system for a vehicle
EP4162338A4 (de) * 2020-06-05 2024-07-03 Gatik Ai Inc Verfahren und system zur deterministischen trajektorienauswahl auf der grundlage von unsicherheitsschätzung für einen autonomen agenten
US20210397945A1 (en) * 2020-06-18 2021-12-23 Nvidia Corporation Deep hierarchical variational autoencoder
US11816183B2 (en) * 2020-12-11 2023-11-14 Huawei Cloud Computing Technologies Co., Ltd. Methods and systems for mining minority-class data samples for training a neural network

Also Published As

Publication number Publication date
US11861494B2 (en) 2024-01-02
CN113935454A (zh) 2022-01-14
US20200327415A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
DE102020132559A1 (de) Technologie zum anwenden von fahrnormen zur verhaltensvoritersage automatisierter fahrzeuge
Li et al. A survey of data-driven and knowledge-aware explainable ai
DE102020134346A1 (de) Technologie zum generalisieren von erfahrungen für sicheres fahren für die verhaltensvorhersage automatisierter fahrzeuge
DE112017002604T5 (de) Systeme und Verfahren für das maschinelle Lernen unter Verwendung eines vertrauenswürdigen Modells
DE112019002206B4 (de) Knockout-autoencoder zum erkennen von anomalien in biomedizinischen bildern
DE102019104516A1 (de) Tiefe geometrische Modellanpassung
DE102020132716A1 (de) System zum analysieren und verbessern von software auf der basis von graph attention netzen
DE102019106123A1 (de) Dreidimensionale (3D) Posenschätzung von Seiten einer monokularen Kamera
DE112020000227T5 (de) Maschinelles lernen eines computermodells auf grundlage von korrelationenvon trainingsdaten mit leistungstrends
DE102020132897A1 (de) Automatisierte netzwerksteuersysteme, die netzwerkkonfigurationen basierend auf der lokalen netzwerkumgebung anpassen
DE102022119386A1 (de) Verfahren und einrichtung zum durchführen einer dichten vorhersage unter verwendung von transformatorblöcken
DE112021006232T5 (de) Proaktive anomalieerkennung
DE102020134493A1 (de) Verifizierung eines neuronalen Netzwerks auf der Basis von kognitiven Trajektorien
DE102018124211A1 (de) Lernbasierte Kameraposenschätzung von Bildern einer Umgebung
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
DE102022107473A1 (de) Technologie für speichereffiziente und parametereffiziente graphneural networks
DE102020134344A1 (de) Affordanzbewusstes freiformobjekt-manipulationsplanen mit mehrfacher auflösung
DE102022202014A1 (de) Funktionstest für bewegliche Objekte in sicherheitskritischen Anwendungen mit räumlichem Darstellungslernen und kontradiktorischer Erzeugung
Shen et al. CDTD: A large-scale cross-domain benchmark for instance-level image-to-image translation and domain adaptive object detection
DE102018114799A1 (de) Halbüberwachtes lernen zur orientierungspunktlokalisierung
DE112021005678T5 (de) Normieren von OCT-Bilddaten
DE102020130528A1 (de) Technik für automatisches Lernen, um Computeranweisungen für heterogene Systeme zu partitionieren
DE102023103798A1 (de) Automatische fehlervorhersage in rechenzentren
DE102022120595A1 (de) Durchführen von verdeckungs-bewusster globaler 3d-posen- und formschätzung von gelenkigen objekten
Xie et al. Deep features analysis with attention networks