DE102020202632A1 - Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler - Google Patents

Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler Download PDF

Info

Publication number
DE102020202632A1
DE102020202632A1 DE102020202632.7A DE102020202632A DE102020202632A1 DE 102020202632 A1 DE102020202632 A1 DE 102020202632A1 DE 102020202632 A DE102020202632 A DE 102020202632A DE 102020202632 A1 DE102020202632 A1 DE 102020202632A1
Authority
DE
Germany
Prior art keywords
input data
data
work result
main memory
redundancy information
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
DE102020202632.7A
Other languages
English (en)
Inventor
Jo Pletinckx
Andre GUNTORO
Christoph Schorn
Sebastian Vogel
Leonardo Luiz Ecco
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020202632.7A priority Critical patent/DE102020202632A1/de
Priority to US17/798,978 priority patent/US20230061541A1/en
Priority to PCT/EP2021/053443 priority patent/WO2021175566A1/de
Priority to JP2022552606A priority patent/JP7467656B2/ja
Priority to CN202180017498.0A priority patent/CN115136151A/zh
Publication of DE102020202632A1 publication Critical patent/DE102020202632A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1476Error detection or correction of the data by redundancy in operation in neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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

Abstract

Verfahren (100) zum Betreiben einer Hardwareplattform (1) für die Inferenzberechnung eines in Schichten aufgebauten neuronalen Netzwerks, mit den Schritten:• eine erste Portion von Eingangsdaten (11), die für die Inferenzberechnung einer ersten Schicht des neuronalen Netzwerks benötigt werden, sowie Redundanzinformation (IIa), die sich auf diese Eingangsdaten (11) bezieht, werden aus einem externen Arbeitsspeicher (3) in einen internen Arbeitsspeicher (2a) der Recheneinheit (2) eingelesen (110);• anhand der Redundanzinformation (11a) wird die Integrität der Eingangsdaten (11) geprüft (120);• in Antwort darauf, dass die Eingangsdaten (11) hierbei als fehlerfrei erkannt werden, wird mit der Recheneinheit (2) mindestens ein Teil der Inferenzberechnung (130) der ersten Schicht für diese Eingangsdaten (11) durchgeführt, um ein Arbeitsergebnis (12) zu erhalten;• für das Arbeitsergebnis (12) wird Redundanzinformation (12a) ermittelt (140), anhand derer die Integrität des Arbeitsergebnisses (12) überprüfbar ist;• das Arbeitsergebnis (12) und die Redundanzinformation (12a) werden in den externen Arbeitsspeicher (3) geschrieben (150).

Description

  • Die vorliegende Erfindung betrifft die Sicherung von Berechnungen, die im Inferenzbetrieb neuronaler Netzwerke anfallen, gegen transiente Fehler auf der verwendeten Hardwareplattform.
  • Stand der Technik
  • Bei der Inferenz neuronaler Netzwerke werden in sehr großer Zahl Aktivierungen von Neuronen berechnet, indem Eingaben, die diesen Neuronen zugeführt werden, anhand von im Training des neuronalen Netzwerks erarbeiteten Gewichten gewichtet aufsummiert werden. Es findet also eine Vielzahl von Multiplikationen statt, deren Ergebnisse anschließend addiert werden (multiplyand-accumulate, MAC). Insbesondere in mobilen Anwendungen, wie beispielsweise beim zumindest teilweise automatisierten Führen von Fahrzeugen im Straßenverkehr, werden neuronale Netzwerke auf Hardwareplattformen implementiert, die auf derartige Berechnungen spezialisiert sind. Diese Plattformen sind in Bezug auf Hardwarekosten und Energieverbrauch je Einheit Rechenleistung besonders effizient.
  • Mit zunehmender Integrationsdichte dieser Hardwareplattformen nimmt die Wahrscheinlichkeit für transiente, d.h. sporadisch auftretende, Rechenfehler zu. So kann beispielsweise durch das Auftreffen eines hochenergetischen Photons aus der Hintergrundstrahlung auf eine Speicherstelle oder eine Verarbeitungseinheit der Hardwareplattform ein Bit zufällig „umgekippt“ werden. Weiterhin teilt sich die Hardwareplattform gerade in einem Fahrzeug das Bordnetz mit einer Vielzahl weiterer Verbraucher, die Störungen, wie etwa Spannungsspitzen in die Hardwareplattform einkoppeln können. Die diesbezüglichen Toleranzen werden mit zunehmender Integrationsdichte der Hardwareplattform enger.
  • Die DE 10 2018 202 095 A1 offenbart ein Verfahren, mit dem bei der Verarbeitung eines Tensors von Eingangswerten zu einem Tensor von Ausgangswerten durch ein neuronales Netzwerk falsch berechnete Ausgangswerte mittels zusätzlicher Kontrollberechnungen identifiziert und auch korrigiert werden können.
  • Offenbarung der Erfindung
  • Im Rahmen der Erfindung wurde ein Verfahren zum Betreiben einer Hardwareplattform für die Inferenzberechnung eines in Schichten aufgebauten neuronalen Netzwerks entwickelt. Diese Hardwareplattform weist eine Recheneinheit mit einem internen Arbeitsspeicher sowie einen außerhalb dieser Recheneinheit angeordneten, mit dieser Recheneinheit verbundenen externen Arbeitsspeicher auf.
  • Hintergrund dieses Aufbaus ist, dass bei größeren neuronalen Netzwerken, wie beispielsweise zur Auswertung von Beobachtungsdaten aus einem Fahrzeugumfeld, für die Inferenzberechnung einer jeden Schicht des Netzwerks häufig wesentlich mehr Daten verarbeitet werden müssen als in den internen Speicher der Recheneinheit passen.
  • Ganz allgemein kann das neuronale Netzwerk also beispielsweise als Klassifikator für die Zuordnung von Beobachtungsdaten, wie beispielsweise Kamerabildern, Wärmebildern, Radardaten, LIDAR-Daten oder Ultraschalldaten, zu einer oder mehreren Klassen einer vorgegebenen Klassifikation ausgebildet sein. Diese Klassen können beispielsweise Objekte oder Zustände im beobachteten Bereich repräsentieren, die es zu detektieren gilt. Die Beobachtungsdaten können beispielsweise von einem oder mehreren Sensoren stammen, die an einem Fahrzeug montiert sind. Aus der vom neuronalen Netzwerk gelieferten Zuordnung zu Klassen können dann beispielsweise Aktionen eines Fahrassistenzsystems oder eines Systems für das zumindest teilweise automatisierte Führen des Fahrzeugs abgeleitet werden, die zu der konkreten Verkehrssituation passen. Das neuronale Netzwerk kann beispielsweise ein in Schichten unterteiltes faltendes neuronales Netzwerk (convolutional neural network, CNN) sein, in dem ein oder mehrere Faltungskerne auf die eingegebenen Daten angewendet werden.
  • Im Rahmen des Verfahrens werden eine erste Portion von Eingangsdaten, die für die Inferenzberechnung einer ersten Schicht des neuronalen Netzwerks benötigt werden, sowie Redundanzinformation, die sich auf diese Eingangsdaten bezieht, aus dem externen Arbeitsspeicher in den internen Arbeitsspeicher der Recheneinheit eingelesen. Die Integrität der Eingangsdaten wird anhand der Redundanzinformation geprüft.
  • Unter Redundanzinformation wird in diesem Zusammenhang jede Art von Information verstanden, die in Verbindung mit den Eingangsdaten eine Feststellung ermöglicht, ob die Eingangsdaten mit hoher Wahrscheinlichkeit korrekt im externen Arbeitsspeicher abgelegt und von dort auch korrekt wieder eingelesen worden sind. Beispielsweise können die Daten in zweifacher Ausfertigung im externen Arbeitsspeicher abgelegt und von dort wieder eingelesen werden. Effizienter in Bezug auf Speicherbedarf und Bandbreite für die Datenübertragung sind verdichtete Redundanzinformationen, die aus den Eingangsdaten errechnet werden und ein wesentlich kleineres Volumen haben als die Eingangsdaten selbst. Beispiele hierfür sind Hashes oder andere Prüfsummen.
  • In Antwort darauf, dass die Eingangsdaten bei der Prüfung der Integrität als fehlerfrei erkannt wurden, wird mit der Recheneinheit mindestens ein Teil der Inferenzberechnung der ersten Schicht für diese Eingangsdaten durchgeführt, um ein Arbeitsergebnis zu erhalten. Für dieses Arbeitsergebnis wird wiederum Redundanzinformation ermittelt, anhand derer die Integrität des Arbeitsergebnisses überprüfbar ist. Das Arbeitsergebnis und die Redundanzinformation werden in den externen Arbeitsspeicher geschrieben.
  • Es wurde erkannt, dass die Inferenzberechnung für ein großes neuronales Netzwerk, bei der die für die Berechnung einer Schicht nötigen Daten nicht vollständig in den internen Arbeitsspeicher der Recheneinheit passen, prinzipiell anfällig für zufällig auftretende transiente Fehler im externen Arbeitsspeicher sowie auf der Kommunikationsverbindung zwischen der Recheneinheit und dem externen Arbeitsspeicher ist. Sowohl für die Kommunikationsverbindung als auch für den externen Arbeitsspeicher ist ein Maß für die Zuverlässigkeit dahingehend angebbar, wie viele Bits im Mittel übertragen bzw. gespeichert werden können, bevor ein transienter Fehler zu erwarten ist. Die Menge an Daten, die im Verlauf einer vollständigen Inferenzberechnung insgesamt gespeichert, ausgelesen und transportiert werden muss, ist so groß, dass bei gängigen externen Arbeitsspeichern und Kommunikationsverbindungen mit einer für die Anwendung relevanten Wahrscheinlichkeit mit einem transienten Fehler zu rechnen ist.
  • In dieser Situation wäre es theoretisch möglich, den Arbeitsspeicher bzw. die Kommunikationsverbindung gegen eine Ausführung zu tauschen, bei der die Wahrscheinlichkeit für das Auftreten transienter Fehler noch geringer ist. Der Preis hierfür steigt jedoch deutlich überproportional mit dem Zugewinn an Zuverlässigkeit, und eine Garantie dafür, dass innerhalb eines bestimmten Zeitraums kein transienter Fehler auftritt, gibt es nicht.
  • Durch die Integritätsprüfung kann der Einfluss transienter Fehler auf die vom neuronalen Netzwerk als Ganzes gelieferten Ergebnisse eliminiert werden. Sobald ein Fehler in den Daten erkannt wird, kann beispielsweise der Teil der Inferenzberechnung, mit dem diese Daten erzeugt wurden, wiederholt werden, um eine korrekte Fassung dieser Daten zu erhalten. Da es sich bei den Fehlern um transiente, d.h. sporadisch auftretende, Fehler handelt, führt die Neubeschaffung von im externen Arbeitsspeicher oder auf dem Transport korrumpierten Daten für die jeweilige Anwendung insgesamt nicht zu einer spürbaren Verlangsamung.
  • Im Ergebnis kann also durch die Kombination aus einer Recheneinheit, in der nur ein Teil der für die Inferenzberechnung einer Schicht nötigen Daten gespeichert werden kann, mit einem externen Arbeitsspeicher, in dem die von der Recheneinheit jeweils gelieferten Arbeitsergebnisse Stück für Stück zum Gesamtergebnis der Inferenzberechnung für die Schicht zusammengesetzt werden können, der Kostenaufwand für die Realisierung der Hardwareplattform für eine vorgegebene Inferenzaufgabe deutlich reduziert werden. Es wäre zwar prinzipiell möglich, die Recheneinheit einfach gegen eine solche zu tauschen, die die komplette Inferenzberechnung für eine Schicht intern ohne Rückgriff auf einen externen Arbeitsspeicher erledigen kann. Dies wäre jedoch viel teurer und auch weniger energieeffizient.
  • Der Vorteil einer verbesserten Zuverlässigkeit durch die Erkennung von Fehlern ist nicht zwingend daran gebunden, dass überhaupt eine Aufteilung der Eingangsdaten in mehrere kleine Portionen stattfindet. Die Verwendung des externen Arbeitsspeichers und die Kommunikation mit diesem externen Arbeitsspeicher können in der gleichen Weise abgesichert werden, wenn es nur eine Portion der Eingangsdaten gibt, die die vollständigen Eingangsdaten umfasst.
  • In einer besonders vorteilhaften Ausgestaltung werden alle aus einer Mehrzahl von Portionen von Eingangsdaten, die für die Inferenzberechnung der ersten Schicht benötigt werden, aus dem externen Arbeitsspeicher eingelesen und mit der Recheneinheit verarbeitet. Anschließend werden die Eingangsdaten, die für die Inferenzberechnung einer zweiten Schicht des neuronalen Netzwerks benötigt werden, aus dem externen Arbeitsspeicher eingelesen und mit der Recheneinheit verarbeitet. Auf diese Weise kann ein und derselbe externe Arbeitsspeicher für die Inferenzberechnung jeder Schicht aufs Neue verwendet werden. Der externe Arbeitsspeicher muss also nur eine solche Größe haben, wie es für die Inferenzberechnung jeweils einer Schicht erforderlich ist.
  • Das Arbeitsergebnis kann insbesondere beispielsweise Ausgaben von Neuronen der ersten Schicht umfassen, die jeweils eine gewichtete Summe von Eingaben dieser Neuronen beinhalten. Jede Eingabe des Neurons wird dann also mit einem Gewicht multipliziert, und die Produkte werden aufsummiert. Das Ergebnis kann zusätzlich noch mit einem additiven Bias versehen werden, der dem Neuron zugeordnet ist. Diese Berechnung der Ausgabe des Neurons ist linear in den Eingaben der Neuronen.
  • Diese Linearität wiederum ermöglicht es, in einer weiteren besonders vorteilhaften Ausgestaltung anhand der Redundanzinformation für das Arbeitsergebnis vor dem Schreiben in den externen Arbeitsspeicher zusätzlich zu prüfen, ob das Arbeitsergebnis richtig berechnet wurde. Es kann also eine Redundanzinformation ermittelt werden, die sowohl für die Prüfung auf richtige Berechnung als auch für die Prüfung der Integrität nach dem Schreiben und Auslesen aus dem externen Speicher verwendet werden kann. Auf diese Weise kann die Absicherung gegen transiente Fehler ohne zusätzlichen Aufwand an Rechenzeit oder Speicher noch auf transiente Fehler erweitert werden, die in der Recheneinheit selbst auftreten. Dadurch kann die Zuverlässigkeit des vom neuronalen Netzwerk als Ganzes gelieferten Endergebnisses noch weiter gesteigert werden.
  • Wenn die Inferenzberechnung beispielsweise eine Faltung von Daten mit einer Mehrzahl gleich großer Faltungskernen umfasst, kann eine in dieser Weise doppelt nutzbare Redundanzinformation beispielsweise durch Faltung dieser Daten mit einem Kontrollkern, der die Summe dieser Faltungskerne ist, ermittelt werden. Wenn die zu faltenden Daten beispielsweise als dreidimensionale Matrix vorliegen und Faltungskerne, die in der dritten Dimension genauso groß sind wie diese Matrix, in den beiden anderen Dimensionen sukzessive durch die Matrix verschoben werden, dann entsteht je Faltungskern eine Ausgabematrix. Die Redundanzinformation fügt diesen mehreren Ausgabematrizen nur eine weitere Kontrollmatrix gleicher Größe hinzu. Dies ist hinsichtlich des Speicherbedarfs sehr effizient. Außerdem kann die Faltung mit dem Kontrollkern in der gleichen Weise auf der Recheneinheit hardwarebeschleunigt ausgeführt werden wie die Faltung mit den anderen Faltungskernen.
  • Die Prüfung auf korrekte Berechnung kann dann beispielsweise umfassen, jedes Element der Kontrollmatrix mit der Summe der zu diesem Element korrespondierenden Elemente der Ausgabematrizen zu vergleichen. Diese korrespondierenden Elemente befinden sich innerhalb der Ausgabematrizen an der gleichen Position, an der sich das Element der Kontrollmatrix innerhalb der Kontrollmatrix befindet. Durch die Faltung mit dem Kontrollkern wird also unter Nutzung des Assoziativgesetzes der Mathematik die Summe über alle Ausgabematrizen auf einem anderen Weg berechnet, was zum gleichen Ergebnis führen sollte. Dies lässt sich mit der Analogie verständlich machen, dass sich beim Zählen von Münzgeld unabhängig davon, ob die Einzelwerte der Münzen direkt addiert werden oder ob die Münzen erst nach Wertigkeiten in Rollen gebündelt und dann die Werte der Rollen addiert werden, der gleiche Geldbetrag ergeben sollte.
  • In diesem Fall können die Prüfung, ob das Arbeitsergebnis richtig berechnet wurde, einerseits und die Prüfung, ob das Arbeitsergebnis richtig in den externen Speicher geschrieben und von dort wieder eingelesen wurde, andererseits jeweils in der gleichen Weise erfolgen.
  • Diese Doppelnutzung der Redundanzinformation lässt sich auch dann noch erhalten, wenn die Inferenzberechnung in der ersten Schicht mindestens einen in den Eingaben der Neuronen dieser Schicht nichtlinearen Rechenschritt beinhaltet. Zu diesem Zweck wird dieser nichtlineare Rechenschritt auf einen Zeitpunkt verlagert, zu dem das Arbeitsergebnis wieder aus dem externen Arbeitsspeicher in den internen Arbeitsspeicher eingelesen wurde.
  • Wenn beispielsweise die Inferenzberechnung insgesamt die besagte Berechnung der Ausgaben von Neuronen, die Anwendung einer nichtlinearen Aktivierungsfunktion auf diese Ausgaben sowie eine Dimensionsreduzierung der Daten (etwa durch Pooling) umfasst, dann können die linear berechneten Ausgaben der Neuronen als Arbeitsergebnis unmittelbar nach der Feststellung, dass sie richtig berechnet wurden, in Verbindung mit der besagten Redundanzinformation in den externen Speicher geschrieben werden. Zu diesem Zeitpunkt ist die Inferenzberechnung für die erste Schicht noch nicht abgeschlossen, denn es fehlen noch die Anwendung der Aktivierungsfunktion und die Dimensionsreduzierung. Es wurde jedoch erkannt, dass diese beiden Schritte erst dann wirklich unumgänglich werden, wenn die Inferenzberechnung für die nächste Schicht ansteht. Wenn zu diesem Zweck das linear berechnete Arbeitsergebnis der ersten Schicht aus dem externen Arbeitsspeicher in den internen Arbeitsspeicher der Recheneinheit eingelesen und auf seine Integrität überprüft ist, können die Aktivierungsfunktion und die Dimensionsreduzierung angewendet werden. Dann können unmittelbar im Anschluss die Ausgaben der Neuronen der nächsten Schicht linear berechnet und gemeinsam mit Redundanzinformation wiederum in den externen Arbeitsspeicher geschrieben werden.
  • Alternativ ist es auch möglich, die Inferenzberechnung der ersten Schicht für die aktuell behandelte Portion der Eingangsdaten vollständig durchzuführen, d.h. einschließlich der besagten nichtlinearen Schritte, und erst dieses Arbeitsergebnis in den externen Arbeitsspeicher zu schreiben. Im externen Arbeitsspeicher steht dann nicht lediglich ein Zwischenergebnis der Inferenzberechnung der ersten Schicht, sondern das Endergebnis. Dies kann vorteilhaft sein, wenn dieses Endergebnis in der konkreten Anwendung bereits ausgewertet werden soll, noch bevor das neuronale Netzwerk insgesamt vollständig abgearbeitet ist. Der Preis hierfür ist, dass Redundanzinformation, die zwecks Prüfung auf korrekte lineare Berechnung vor der Anwendung der nichtlinearen Operationen ermittelt wurde, durch die nichtlinearen Operationen ihre Gültigkeit verliert. Sie muss also nach Abschluss dieser nichtlinearen Operationen und vor dem Schreiben des Arbeitsergebnisses in den externen Arbeitsspeicher erneut berechnet werden.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird in Antwort darauf, dass die Eingangsdaten als fehlerhaft erkannt werden, und/oder dass das Arbeitsergebnis als fehlerhaft berechnet erkannt wird, der Fehler in den Eingangsdaten, bzw. im Arbeitsergebnis, anhand der Redundanzinformation korrigiert. So lässt sich beispielsweise die zuvor diskutierte Redundanzinformation, die durch Faltung mit dem Kontrollkern ermittelt wird, noch um weitere Redundanzinformation erweitern, anhand derer sich der Fehler genauer lokalisieren lässt. Welches Maß an Granularität hier sinnvoll ist, kann sich beispielsweise danach richten,
    • • wieviel zusätzlicher Aufwand an Rechenzeit und Speicherplatz für die erweiterte Redundanzinformation nötig sind und
    • • wieviel Rechenzeit auf der anderen Seite angesichts der erwarteten Fehlerhäufigkeit dadurch gespart wird, dass nur kleinere Einheiten des Arbeitsergebnisses, bzw. der Eingangsdaten, neu beschafft werden müssen.
  • Die bisherigen Überlegungen gingen davon aus, dass die Fehler transiente Fehler sind, die zu zufälligen Zeitpunkten auftreten. Ein gehäuftes Auftreten von Fehlern kann jedoch ein Signal dafür sein, dass es sich nicht mehr um völlig zufällige transiente Fehler handelt, sondern eine Hardwarekomponente oder eine Speicherstelle zu versagen beginnt. Wenn etwa bei einem Halbleiter an einem pn-Übergang zwischen einer mit Löchern dotierten Schicht und einer mit Elektronen dotierten Schicht auf Grund von Überhitzung oder Alterung eine Interdiffusion stattfindet, kann der zum Umkippen eines Bits im Speicher benötigte Energiebetrag gegenüber dem Normalzustand vermindert sein, und es gelingt etwa Gammaquanten oder geladenen Teilchen aus der Hintergrundstrahlung mit einer höheren Wahrscheinlichkeit, diesen Energiebetrag aufzubringen. Die Fehler treten dann zwar immer noch zu zufälligen Zeitpunkten auf, häufen sich aber an der Hardwarekomponente oder Speicherzelle mit dem lädierten pn-Übergang immer mehr.
  • Daher wird in einer weiteren besonders vorteilhaften Ausgestaltung in Antwort darauf, dass Eingangsdaten als fehlerhaft erkannt wurden, und/oder dass das Arbeitsergebnis als fehlerhaft berechnet erkannt wird, in Bezug auf mindestens einen Speicherbereich des externen Arbeitsspeichers oder auf mindestens eine Hardwarekomponente, der oder die als Ursache für den Fehler in Betracht kommt, ein Fehlerzähler inkrementiert. Es können dann beispielsweise im Rahmen der allgemeinen Wartung die Fehlerzähler für vergleichbare Komponenten miteinander verglichen werden. Sticht dann beispielsweise von mehreren nominell baugleichen Speichermodulen oder Hardwarekomponenten eine mit einem auffällig erhöhten Fehlerzähler hervor, bahnt sich möglicherweise ein Defekt dieses Speichermoduls, bzw. dieser Hardwarekomponente, an.
  • So kann insbesondere beispielsweise in Antwort auf die Feststellung, dass der Fehlerzähler einen vorgegebenen Schwellwert überschreitet, die Hardwarekomponente, bzw. der Speicherbereich, als defekt erkannt werden. In Antwort hierauf kann beispielsweise die Hardwareplattform so rekonfiguriert werden, dass für weitere Berechnungen an Stelle der als defekt erkannten Hardwarekomponente, bzw. des als defekt erkannten Speicherbereichs, eine Reserve-Hardwarekomponente, bzw. ein Reserve-Speicherbereich, genutzt wird. Insbesondere für das vollständig automatisierte Führen von Fahrzeugen, bei dem auch im Fehlerfall keine Übernahme der Kontrolle durch einen Fahrer mehr vorgesehen ist, kann es sinnvoll sein, derartige Reserven vorzusehen. Das Fahrzeug kann dann im Falle eines Defekts noch eine Werkstatt erreichen („Limp-Home-Modus“) und muss nicht kostspielig abgeschleppt werden.
  • Vorteilhaft werden optische Bilddaten, Wärmebilddaten, Videodaten, Radardaten, Ultraschalldaten, und/oder LIDAR-Daten als Eingangsdaten des neuronalen Netzwerks bereitgestellt. Dies sind die wichtigsten Typen von Messdaten, anhand derer sich zumindest teilweise automatisiert fahrende Fahrzeuge im Verkehrsraum orientieren. Die Messdaten können durch einen physikalischen Messprozess, und/oder durch eine teilweise oder vollständige Simulation eines solchen Messprozesses, und/oder durch eine teilweise oder vollständige Simulation eines mit einem solchen Messprozess beobachtbaren technischen Systems, erhalten werden. Beispielsweise können fotorealistische Bilder von Situationen mittels rechnerischer Verfolgung von Lichtstrahlen („Raytracing“) oder auch mit neuronalen Generatornetzwerken (etwa Generative Adversarial Networks, GAN) erzeugt werden. Hierbei lassen sich auch beispielsweise Erkenntnisse aus der Simulation eines technischen Systems, wie etwa Positionen bestimmter Objekte, als Nebenbedingungen einbringen. Das Generatornetzwerk kann darauf trainiert werden, gezielt Bilder zu erzeugen, die diesen Nebenbedingungen genügen (etwa Conditional GAN, cGAN).
  • Bei den Eingangsdaten kann es sich insbesondere beispielsweise um die Eingangsdaten des neuronalen Netzwerks als Ganzes handeln. Dies sind diejenigen Eingangsdaten, auf die die ersten Verarbeitungsschritte des neuronalen Netzwerks angewendet werden. Bei einem in Schichten aufgebauten neuronalen Netzwerk können dies beispielsweise diejenigen Eingangsdaten sein, die der ersten Schicht zugeführt werden.
  • Die Arbeitsergebnisse des neuronalen Netzwerks, beispielsweise die Ausgabe der letzten Schicht dieses Netzwerks, können zu einem Ansteuersignal verarbeitet werden. Mit diesem Ansteuersignal kann dann ein Fahrzeug, und/oder ein System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System für die medizinische Bildgebung, und/oder ein Zutrittskontrollsystem, angesteuert werden. Die zuvor beschriebene Fehlerprüfung hat in diesem Zusammenhang die Wirkung, dass sporadische Funktionsstörungen, die ohne konkreten Anlass „aus dem Nichts“ kommen und somit normalerweise äußerst schwer zu diagnostizieren wären, vorteilhaft vermieden werden.
  • Bei den Arbeitsergebnissen kann es sich insbesondere beispielsweise um die Arbeitsergebnisse des neuronalen Netzwerks als Ganzes handeln. Dies sind diejenigen Arbeitsergebnisse, auf die das neuronale Netzwerk keine weiteren Verarbeitungsschritte anwendet. Bei einem in Schichten aufgebauten neuronalen Netzwerk können dies beispielsweise diejenigen Arbeitsergebnisse sein, die von der letzten Schicht erzeugt werden.
  • Die Verfahren können insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, eines der beschriebenen Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen.
  • Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
  • Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.
  • Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
  • Ausführungsbeispiele
  • Es zeigt:
    • 1 Ausführungsbeispiel des Verfahrens 100;
    • 2 Aufteilung der Inferenzberechnung 130 ohne Nichtlinearität 132 ( 2a) und mit Nichtlinearität 132 (2b);
    • 3 Ausführungsbeispiel der Hardwareplattform 1.
  • 1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100. Gemäß Schritt 105 können diejenigen Datentypen, die speziell für die Orientierung eines zumindest teilweise automatisierten Fahrzeugs im Straßenverkehr am wichtigsten sind, als Eingangsdaten in der Eingangsmatrix 1 bereitgestellt werden. Die Hardwareplattform 1, die mit dem Verfahren 100 betrieben wird, ist in 3 näher erläutert.
  • In Schritt 110 werden Eingangsdaten 11, die für die Inferenzberechnung einer ersten Schicht des neuronalen Netzwerks benötigt werden, sowie zugehörige Redundanzinformationen 11a aus dem externen Arbeitsspeicher 3 eingelesen. In Schritt 120 wird anhand der Redundanzinformation 11a die Integrität der Eingangsdaten 11 geprüft. Wenn diese Prüfung positiv verläuft (Wahrheitswert 1), die Eingangsdaten 11 also als fehlerfrei erkannt werden, wird in Schritt 130 mit der Recheneinheit 2 mindestens ein Teil der Inferenzberechnung der ersten Schicht für die Eingangsdaten 11 durchgeführt, um ein Arbeitsergebnis 12 zu erhalten.
  • In Schritt 140 für das Arbeitsergebnis 12 Redundanzinformation 12a ermittelt, anhand derer die Integrität des Arbeitsergebnisses 12 überprüfbar ist. Optional kann in Schritt 145 zusätzlich anhand dieser Redundanzinformation 12a überprüft werden, ob das Arbeitsergebnis 12 richtig berechnet worden ist. Ist dies der Fall (Wahrheitswert 1), wird das Arbeitsergebnis 12 in Schritt 150 zusammen mit den Redundanzinformationen 12a in den externen Arbeitsspeicher 3 geschrieben.
  • In dem in 1 gezeigten Beispiel ist die Abarbeitung des neuronalen Netzwerks als Ganzes so organisiert, dass in Schritt 160 geprüft wird, ob bereits alle Eingangsdaten, die für die Inferenzberechnung der ersten Schicht benötigt werden, verarbeitet wurden. Ist dies noch nicht der Fall (Wahrheitswert 0), wird zu Schritt 110 zurückverzweigt und die nächste Portion von Eingangsdaten 11 dieser ersten Schicht aus dem externen Arbeitsspeicher 3 eingelesen. Ist jedoch schon die komplette erste Schicht abgearbeitet (Wahrheitswert 1), wird in Schritt 170 auf die Inferenzberechnung einer zweiten Schicht umgeschaltet. Das heißt, es wird wieder zu Schritt 110 zurückverzweigt, um Portionen von Eingangsdaten 11 aus dem externen Arbeitsspeicher 3 einzulesen. Jedoch sind dies dann Eingangsdaten 11 der zweiten Schicht. Wenn alle Schichten abgearbeitet sind, wird das Arbeitsergebnis 12* des neuronalen Netzwerks als Ganzes ausgegeben. Dieses Arbeitsergebnis 12* kann in Schritt 220 zu einem Ansteuersignal 9 verarbeitet werden. Gemäß Schritt 230 kann mit diesem Ansteuersignal 9 dann ein Fahrzeug 50, und/oder ein Klassifikationssystem 60, und/oder ein System 70 für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System 80 für die medizinische Bildgebung, und/oder ein Zutrittskontrollsystem 90, angesteuert werden.
  • Gemäß Block 131 kann die Inferenzberechnung 130 der ersten Schicht insbesondere eine Faltung von Daten 13 mit einer Mehrzahl von Faltungskernen umfassen. Gemäß Block 132 kann diese Inferenzberechnung 130 auch mindestens einen in den Eingaben der Neuronen nichtlinearen Rechenschritt umfassen. Wird dieser nichtlineare Rechenschritt gemäß Block 133 erst zu einem späteren Zeitpunkt ausgeführt, zu dem das Arbeitsergebnis 12 sich nach erneutem Einlesen aus dem externen Arbeitsspeicher 3 wieder im internen Arbeitsspeicher 2a der Recheneinheit 2 befindet, spart dies Rechenzeit und Speicherplatz: Das Arbeitsergebnis 12 wird in diesem Fall in einem noch nicht durch Nichtlinearität „kontaminierten“ Zustand in dem externen Arbeitsspeicher 3 hinterlegt. Es können dann die gleichen Redundanzinformationen 12a sowohl für die Prüfung 145 auf korrekte Berechnung des Arbeitsergebnisses 12a als auch für die spätere Prüfung 120 auf korrekte Speicherung und korrekten Datentransfer verwendet werden.
  • Gemäß Block 141 kann die Redundanzinformation 12a durch Falten mit einem Kontrollkern ermittelt werden, der eine Summe der erwähnten Faltungskerne ist.
  • Wird bei einer der Prüfungen 120 oder 145 ein Fehler erkannt (Wahrheitswert 0 bei der jeweiligen Prüfung), kann gemäß Block 180 der Fehler in den Eingangsdaten 11, bzw. im Arbeitsergebnis 12, anhand der jeweiligen Redundanzinformation 11a, 12a korrigiert werden. Alternativ können die Eingangsdaten 11, bzw. das Arbeitsergebnis 12, gemäß Block 185 neu berechnet werden.
  • In dem in 1 gezeigten Beispiel kann dann noch zusätzlich gemäß Block 190 ein Fehlerzähler für einen Speicherbereich des externen Arbeitsspeichers 3 oder eine Hardwarekomponente, der oder die als Ursache für den Fehler in Betracht kommt, inkrementiert werden. In Schritt 195 kann dann geprüft werden, ob dieser Fehlerzähler einen vorgegebenen Schwellwert überschreitet. Ist dies der Fall (Wahrheitswert 1), kann gemäß Block 200 der Speicherbereich, bzw. die Hardwarekomponente, als defekt erkannt werden. Gemäß Block 210 kann dann die Hardwareplattform 1 rekonfiguriert werden, so dass für weitere Berechnungen ein Reserve-Speicherbereich, bzw. eine Reserve-Hardwarekomponente, genutzt wird.
  • Wenn die Eingangsdaten 11, bzw. das Arbeitsergebnis 12, gemäß Block 180 korrigiert bzw. gemäß Block 185 neu berechnet wurden, kann die ursprünglich beabsichtigte Inferenzberechnung 130, bzw. die ursprünglich beabsichtigte Speicherung 150 im externen Arbeitsspeicher 3, wieder aufgenommen werden.
  • 2 zeigt zwei Beispiele, wie die Inferenzberechnung 130 organisiert werden kann.
  • 2a zeigt ein einfaches Beispiel, in dem die Inferenzberechnung 130, 130a nur Faltungen 131 der Eingangsdaten 11 zu einem Arbeitsergebnis 12 umfasst. Wie zuvor erläutert, sind dann die Berechnungen, die zu dem Arbeitsergebnis 12 führen, linear in den Eingaben, die Neuronen zugeführt werden. Es kann dann die gleiche Redundanzinformation 12a sowohl für die Prüfung 145 auf korrekte Berechnung 130 als auch für die spätere Prüfung 120 auf korrektes Speichern und Einlesen verwendet werden.
  • In diesem Beispiel sind die Daten 13, die in Block 131 gefaltet werden, gleich den Eingangsdaten 11. Das Arbeitsergebnis 12 entspricht dem vollständigen Ergebnis der Inferenzberechnung 130. Bei der Verarbeitung der nächsten Schicht wird dieses Arbeitsergebnis 12 als Eingangsdaten 11' wieder aus dem externen Arbeitsspeicher 3 eingelesen, und die mit dem Arbeitsergebnis 12 abgespeicherte Redundanzinformation 12a ist die Redundanzinformation 11a', mit der diese Eingangsdaten 11' überprüft werden. Durch die nächste Faltung 131 entsteht das nächste Arbeitsergebnis 12'.
  • 2b zeigt ein weiteres Beispiel, in dem die Inferenzberechnung 130, 130b eine Nichtlinearität 132 enthält. Im Unterschied zu 2a sind die Daten 13, die der Faltung 131 zugeführt werden, nun nicht mehr mit den Eingangsdaten 11 identisch, sondern gehen aus diesen Eingangsdaten 11 durch die Anwendung der Nichtlinearität 132 hervor. Die Faltung 131 selbst beinhaltet aber wieder nur lineare Operationen, so dass analog zu 2a die Redundanzinformation 12a doppelt genutzt werden kann.
  • Im Unterschied zu 2a ist hier zu dem Zeitpunkt, zu dem das Arbeitsergebnis 12 im externen Speicher 3 abgelegt wird, die Inferenzberechnung 130, 130b noch nicht abgeschlossen. Vielmehr wird sie zu einem späteren Zeitpunkt, wenn die Faltung 131 für die nächste Schicht ansteht, nachgeholt. Im Zeitraum dazwischen befindet sich im externen Speicher 3 also ein lineares Zwischenprodukt der nichtlinearen Inferenzberechnung 130, 130b.
  • 3 zeigt ein Ausführungsbeispiel der Hardwareplattform 1. Eine Recheneinheit 2 mit einem internen Arbeitsspeicher 2a ist über eine Kommunikationsverbindung 4 mit einem externen Arbeitsspeicher 3 verbunden. Arbeitsergebnisse 12 werden in diesem externen Arbeitsspeicher 3 zwischengespeichert, um sie später als Eingangsdaten 11 für die Inferenzberechnung neuer Schichten wieder einzulesen. Der externe Arbeitsspeicher 3 sowie die Kommunikationsverbindung 4 sind gegen transiente Fehler 18 anfällig, die mit dem Verfahren 100 erkannt und korrigiert werden können.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102018202095 A1 [0004]

Claims (16)

  1. Verfahren (100) zum Betreiben einer Hardwareplattform (1) für die Inferenzberechnung eines in Schichten aufgebauten neuronalen Netzwerks, wobei diese Hardwareplattform (1) eine Recheneinheit (2) mit einem internen Arbeitsspeicher (2a) sowie einen außerhalb dieser Recheneinheit (2) angeordneten, mit dieser Recheneinheit (2) verbundenen externen Arbeitsspeicher (3) aufweist, mit den Schritten: • eine erste Portion von Eingangsdaten (11), die für die Inferenzberechnung einer ersten Schicht des neuronalen Netzwerks benötigt werden, sowie Redundanzinformation (IIa), die sich auf diese Eingangsdaten (11) bezieht, werden aus dem externen Arbeitsspeicher (3) in den internen Arbeitsspeicher (2a) der Recheneinheit (2) eingelesen (110); • anhand der Redundanzinformation (11a) wird die Integrität der Eingangsdaten (11) geprüft (120); • in Antwort darauf, dass die Eingangsdaten (11) hierbei als fehlerfrei erkannt werden, wird mit der Recheneinheit (2) mindestens ein Teil der Inferenzberechnung (130) der ersten Schicht für diese Eingangsdaten (11) durchgeführt, um ein Arbeitsergebnis (12) zu erhalten; • für das Arbeitsergebnis (12) wird Redundanzinformation (12a) ermittelt (140), anhand derer die Integrität des Arbeitsergebnisses (12) überprüfbar ist; • das Arbeitsergebnis (12) und die Redundanzinformation (12a) werden in den externen Arbeitsspeicher (3) geschrieben (150).
  2. Verfahren (100) nach Anspruch 1, wobei alle Portionen von Eingangsdaten (11), die für die Inferenzberechnung der ersten Schicht benötigt werden, aus dem externen Arbeitsspeicher eingelesen und mit der Recheneinheit verarbeitet werden (160) und wobei anschließend die Eingangsdaten (11), die für die Inferenzberechnung einer zweiten Schicht des neuronalen Netzwerks benötigt werden, aus dem externen Arbeitsspeicher eingelesen und mit der Recheneinheit verarbeitet werden (170).
  3. Verfahren (100) nach einem der Ansprüche 1 bis 2, wobei das Arbeitsergebnis (12) Ausgaben von Neuronen der ersten Schicht umfasst, die jeweils eine gewichtete Summe von Eingaben dieser Neuronen beinhalten.
  4. Verfahren (100) nach Anspruch 3, wobei anhand der Redundanzinformation (12a) für das Arbeitsergebnis (12) vor dem Schreiben (150) in den externen Arbeitsspeicher (3) zusätzlich geprüft wird (145), ob das Arbeitsergebnis (12) richtig berechnet wurde.
  5. Verfahren (100) nach einem der Ansprüche 3 bis 4, wobei die Inferenzberechnung (130) eine Faltung von Daten (13) mit einer Mehrzahl von Faltungskernen umfasst (131)
  6. Verfahren nach Anspruch 5, wobei die Redundanzinformation (12a) durch Faltung dieser Daten (13) mit einem Kontrollkern, der eine Summe dieser Faltungskerne ist, ermittelt wird (141).
  7. Verfahren (100) nach einem der Ansprüche 3 bis 6, wobei die Inferenzberechnung (130) der ersten Schicht mindestens einen in den Eingaben der Neuronen dieser Schicht nichtlinearen Rechenschritt beinhaltet (132) und wobei dieser nichtlineare Rechenschritt mit der Recheneinheit (2) ausgeführt wird (133), nachdem das Arbeitsergebnis (12) wieder aus dem externen Arbeitsspeicher (3) in den internen Arbeitsspeicher (2a) eingelesen wurde (110).
  8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei in Antwort darauf, dass die Eingangsdaten (11) als fehlerhaft erkannt werden (120), und/oder dass das Arbeitsergebnis (12) als fehlerhaft berechnet erkannt wird (145), der Fehler in den Eingangsdaten (11), bzw. im Arbeitsergebnis (12), anhand der Redundanzinformation (11a, 12a) korrigiert wird (180).
  9. Verfahren (100) nach einem der Ansprüche 1 bis 8, wobei in Antwort darauf, dass die Eingangsdaten (11) als fehlerhaft erkannt werden (120), und/oder dass das Arbeitsergebnis (12) als fehlerhaft berechnet erkannt wird, in Bezug auf mindestens einen Speicherbereich des externen Arbeitsspeichers (3) oder auf mindestens eine Hardwarekomponente, der oder die als Ursache für den Fehler in Betracht kommt, ein Fehlerzähler inkrementiert wird (190).
  10. Verfahren (100) nach Anspruch 9, wobei in Antwort auf die Feststellung (195), dass der Fehlerzähler einen vorgegebenen Schwellwert überschreitet, der Speicherbereich, bzw. die Hardwarekomponente, als defekt erkannt wird (200).
  11. Verfahren (100) nach Anspruch 10, wobei die Hardwareplattform (1) so rekonfiguriert wird (210), dass für weitere Berechnungen an Stelle des als defekt erkannten Speicherbereichs, bzw. der als defekt erkannten Hardwarekomponente, ein Reserve-Speicherbereich, bzw. eine Reserve-Hardwarekomponente, genutzt wird.
  12. Verfahren (100) nach einem der Ansprüche 1 bis 11, wobei optische Bilddaten, Wärmebilddaten, Videodaten, Radardaten, Ultraschalldaten, und/oder LIDAR-Daten, die durch einen physikalischen Messprozess, und/oder durch eine teilweise oder vollständige Simulation eines solchen Messprozesses, und/oder durch eine teilweise oder vollständige Simulation eines mit einem solchen Messprozess beobachtbaren technischen Systems, erhalten wurden, als Eingangsdaten (11*) des neuronalen Netzwerks bereitgestellt werden (105).
  13. Verfahren (100) nach einem der Ansprüche 1 bis 12, wobei die Arbeitsergebnisse (12*) des neuronalen Netzwerks als Ganzes zu einem Ansteuersignal (9) verarbeitet werden (220) und wobei ein Fahrzeug (50), und/oder ein System (70) für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System (80) für die medizinische Bildgebung, und/oder ein Zutrittskontrollsystem (90), mit diesem Ansteuersignal (6) angesteuert wird (230).
  14. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, ein Verfahren (100) nach einem der Ansprüche 1 bis 13 auszuführen.
  15. Maschinenlesbarer Datenträger mit dem Computerprogramm nach Anspruch 14.
  16. Computer, ausgerüstet mit dem Computerprogramm nach Anspruch 14, und/oder mit dem maschinenlesbaren Datenträger nach Anspruch 15.
DE102020202632.7A 2020-03-02 2020-03-02 Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler Pending DE102020202632A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102020202632.7A DE102020202632A1 (de) 2020-03-02 2020-03-02 Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler
US17/798,978 US20230061541A1 (en) 2020-03-02 2021-02-12 Inference calculation for neural networks with protection against memory errors
PCT/EP2021/053443 WO2021175566A1 (de) 2020-03-02 2021-02-12 Inferenzberechnung für neuronale netzwerke mit schutz gegen speicherfehler
JP2022552606A JP7467656B2 (ja) 2020-03-02 2021-02-12 メモリエラーに対する保護機能を有するニューラルネットワークのための推論計算
CN202180017498.0A CN115136151A (zh) 2020-03-02 2021-02-12 免受存储器错误的神经网络的推理计算

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020202632.7A DE102020202632A1 (de) 2020-03-02 2020-03-02 Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler

Publications (1)

Publication Number Publication Date
DE102020202632A1 true DE102020202632A1 (de) 2021-09-02

Family

ID=74625985

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020202632.7A Pending DE102020202632A1 (de) 2020-03-02 2020-03-02 Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler

Country Status (5)

Country Link
US (1) US20230061541A1 (de)
JP (1) JP7467656B2 (de)
CN (1) CN115136151A (de)
DE (1) DE102020202632A1 (de)
WO (1) WO2021175566A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11874900B2 (en) * 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010030745B4 (de) 2009-06-30 2015-02-19 Micron Technology, Inc. Nicht-flüchtiger Speicher zum Speichern von Speicher-Umabbildungs-Informationen
US20180121796A1 (en) 2016-11-03 2018-05-03 Intel Corporation Flexible neural network accelerator and methods therefor
DE102018202095A1 (de) 2018-02-12 2019-08-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überprüfen einer Neuronenfunktion in einem neuronalen Netzwerk
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6773568B2 (ja) 2017-01-18 2020-10-21 株式会社日立製作所 演算システムおよびニューラルネットワークの演算方法
US20190095299A1 (en) * 2017-09-28 2019-03-28 Cnex Labs, Inc. Storage system with machine learning mechanism and method of operation thereof
US11710030B2 (en) * 2018-08-31 2023-07-25 Texas Instmments Incorporated Fault detectable and tolerant neural network
KR102555374B1 (ko) * 2018-12-27 2023-07-14 삼성전자주식회사 전자 장치 및 그 제어 방법
US10474543B1 (en) * 2019-01-28 2019-11-12 Stradivision, INC. Method and device for economizing computing resources to be used during a process of verification of convolutional parameters using test pattern to enhance fault tolerance and fluctuation robustness in extreme situations
US10908987B1 (en) * 2019-03-28 2021-02-02 Amazon Technologies, Inc. Handling memory errors in computing systems
US11080152B2 (en) * 2019-05-15 2021-08-03 Western Digital Technologies, Inc. Optimized neural network data organization
US11436076B2 (en) * 2019-09-05 2022-09-06 Micron Technology, Inc. Predictive management of failing portions in a data storage device
KR20210075542A (ko) * 2019-12-13 2021-06-23 삼성전자주식회사 스위칭 소자와 저항 소자를 포함하는 3차원 뉴로모픽 장치
GB2590482B (en) * 2019-12-19 2022-04-13 Advanced Risc Mach Ltd Fault detection in neural networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010030745B4 (de) 2009-06-30 2015-02-19 Micron Technology, Inc. Nicht-flüchtiger Speicher zum Speichern von Speicher-Umabbildungs-Informationen
US20180121796A1 (en) 2016-11-03 2018-05-03 Intel Corporation Flexible neural network accelerator and methods therefor
DE102018202095A1 (de) 2018-02-12 2019-08-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überprüfen einer Neuronenfunktion in einem neuronalen Netzwerk
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAKIN, Adnan Siraj; HE, Zhezhi; FAN, Deliang: Bit-Flip Attack: Crushing Neural Network With Progressive Bit Search. In: 2019 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE. S. 1211-1220
SCHORN, Christoph; GUNTORO, Andre; ASCHEID, Gerd: Accurate neuron resilience prediction for a flexible reliability management in neural network accelerators. In: 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

Also Published As

Publication number Publication date
US20230061541A1 (en) 2023-03-02
CN115136151A (zh) 2022-09-30
JP2023516669A (ja) 2023-04-20
JP7467656B2 (ja) 2024-04-15
WO2021175566A1 (de) 2021-09-10

Similar Documents

Publication Publication Date Title
DE112022000106T5 (de) Verfahren zur Getriebefehlerdiagnose und Signalerfassung, eine Vorrichtung und ein elektronisches Gerät
DE102012223393A1 (de) Verfahren und System für die Grundursachenanalyse und Qualitätsüberwachung von Fehlern auf Systemebene
DE102019115356B4 (de) Verfahren zur fahrzeugfehler-grundursachendiagnose
DE102018220941A1 (de) Auswertung von Messgrößen mit KI-Modulen unter Berücksichtigung von Messunsicherheiten
DE102017206892A1 (de) Neuronalnetzsystem
DE102020202632A1 (de) Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler
EP3707854A1 (de) Verfahren zum verknuepfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum ueberpruefen der integritaet einer blockchain-struktur, vorrichtung und computerprogrammprodukt
DE102020202633A1 (de) Fehlergesicherte Inferenzberechnung für neuronale Netzwerke
DE202021104953U1 (de) Überwachungsvorrichtung für den laufenden Betrieb von Geräten und Anlagen
EP1717651B1 (de) Verfahren und Vorrichtung zum Auswerten von Ereignissen aus dem Betrieb eines Fahrzeuges
DE102020209078A1 (de) Automatisierte Prozessüberwachung
DE102019113958A1 (de) Verfahren zur Leistungssteigerung eines Fahrzeugsystems mit einem neuronalen Netz zum Steuern einer Fahrzeugkomponente
Christen et al. Staatliche Governance-Kapazität für Nachhaltigkeit: Konzeptualisierung und Anwendung eines Messinstruments in Schweizer Kantonen
DE102019114049A1 (de) Verfahren zur Validierung eines Fahrerassistenzsystems mithilfe von weiteren generierten Testeingangsdatensätzen
DE102017213764A1 (de) Vorrichtung zur Zuverlässigkeitsanalyse eines mechatronischen Systems
DE102017213771A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
EP4139754A1 (de) Verfahren zum betreiben einer steuergeräteanordnung sowie entsprechende steuergeräteanordnung
DE102020213238A1 (de) Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken
DE102020203135A1 (de) Verfahren zur Qualitätssicherung eines beispielbasierten Systems
DE102019005753A1 (de) Verfahren zum Erzeugen eines fahrzeugspezifischen, virtuellen Bilds mittels einer elektronischen Recheneinrichtung fur ein Kraftfahrzeug, sowie elektronische Recheneinrichtung
DE102017108338A1 (de) Verfahren und Softwaremodul zum Datenaustausch von Konfigurationsdaten für Fahrzeug-Anwendungen
DE102022105249A1 (de) Verfahren zum prüfen von obd-relevanz eines eingangssignals
DE102021121452A1 (de) Vorrichtung und verfahren zum erfassen eines versagens eines aktuators eines fahrzeugs
DE102022208480A1 (de) Verfahren zum Evaluieren eines trainierten tiefen neuronalen Netzes
DE102021207754A1 (de) Erzeugung von computer-implementierten neuronalen netzwerken mit beseitigten architektonischen flaschenhälsen

Legal Events

Date Code Title Description
R163 Identified publications notified