DE102019202816A1 - Training neuronaler Netzwerke für effizientes Implementieren auf Hardware - Google Patents

Training neuronaler Netzwerke für effizientes Implementieren auf Hardware Download PDF

Info

Publication number
DE102019202816A1
DE102019202816A1 DE102019202816.0A DE102019202816A DE102019202816A1 DE 102019202816 A1 DE102019202816 A1 DE 102019202816A1 DE 102019202816 A DE102019202816 A DE 102019202816A DE 102019202816 A1 DE102019202816 A1 DE 102019202816A1
Authority
DE
Germany
Prior art keywords
neurons
ann
training
quality
measure
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
DE102019202816.0A
Other languages
English (en)
Inventor
Falk Heuer
Philip Lenz
Alexander Lengsfeld
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 DE102019202816.0A priority Critical patent/DE102019202816A1/de
Priority to US17/429,094 priority patent/US20220101088A1/en
Priority to CN202080017830.9A priority patent/CN113454655A/zh
Priority to EP20705699.5A priority patent/EP3931760A1/de
Priority to PCT/EP2020/054054 priority patent/WO2020178009A1/de
Publication of DE102019202816A1 publication Critical patent/DE102019202816A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)

Abstract

Verfahren (100) zum Trainieren eines künstlichen neuronalen Netzwerks, KNN (1), welches eine Vielzahl von Neuronen (2) umfasst, mit den Schritten:• es wird ein Maß für die Qualität (11), die das KNN (1) innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt (110);• ein oder mehrere Neuronen (2) werden anhand eines Maßes für ihre jeweiligen quantitativen Beiträge (21) zu der ermittelten Qualität (11) bewertet (120);Maßnahmen (22), mit denen die bewerteten Neuronen (2) im weiteren Verlauf des Trainings jeweils trainiert werden, und/oder Stellenwerte (23) dieser Neuronen (2) im KNN (1), werden anhand der Bewertungen (120a) der Neuronen (2) festgelegt (130).Verfahren (200) nach Anspruch 11, wobei ein Rechenwerk (4) gewählt wird (205a), welches Hardwareressourcen für eine vorgegebene Anzahl von Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) aufweist, und wobei ein Modell (1a) des KNN (1) gewählt wird (205b), dessen Anzahl an Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) die vorgegebene Anzahl überschreitet.

Description

  • Die vorliegende Erfindung betrifft das Training neuronaler Netzwerke mit dem Ziel, diese neuronalen Netzwerke effizient auf Hardware implementieren zu können, beispielsweise für den Einsatz an Bord von Fahrzeugen.
  • Stand der Technik
  • Ein künstliches neuronales Netzwerk, KNN, umfasst eine Eingangsschicht, mehrere Verarbeitungsschichten und eine Ausgangsschicht. Eingangsgrößen werden an der Eingangsschicht in das KNN eingelesen und auf ihrem Weg durch die Verarbeitungsschichten zur Ausgangsschicht anhand einer Verarbeitungskette verarbeitet, die in der Regel parametrisiert ist. Beim Training des KNN werden diejenigen Werte für die Parameter der Verarbeitungskette ermittelt, mit denen die Verarbeitungskette einen Satz Lern-Werte für die Eingangsgrößen optimal auf einen zugehörigen Satz Lern-Werte für die Ausgangsgrößen abbildet.
  • Die Stärke von KNN liegt darin, dass sie sehr hochdimensionale Daten, wie etwa hochauflösende Bilder, massiv parallel verarbeiten können. Der Preis für diese Parallelverarbeitung ist ein hoher Hardwareaufwand für das Implementieren eines KNN. Typischerweise werden Grafikprozessoren (GPUs) mit großer Speicherausstattung benötigt. Basierend auf der Erkenntnis, dass ein großer Teil der Neuronen in einem tiefen KNN wenig oder gar keinen Beitrag zum von dem KNN gelieferten Endergebnis leistet, offenbart die US 5,636,326 A , die Gewichte von Verbindungen zwischen Neuronen in dem fertig trainierten KNN einem Ausleseprozess („pruning“) zu unterziehen. Damit kann die Anzahl der Verbindungen und Neuronen stark reduziert werden ohne großen Verlust an Genauigkeit.
  • Offenbarung der Erfindung
  • Im Rahmen der Erfindung wurde ein Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks, KNN, entwickelt. Damit wird das Ziel verfolgt, das KNN effizient auf Hardware implementieren zu können. Unter „effizient“ kann in diesem Zusammenhang beispielsweise verstanden werden, dass das KNN mit einer beschränkten Konfiguration an Hardwareressourcen auskommt. Unter „effizient“ kann aber auch beispielsweise verstanden werden, dass die Netzwerkarchitektur, und/oder die Neuronen in einer oder mehreren Schichten des KNN, optimal genutzt und/oder ausgelastet werden. Die genaue Definition von „effizient“ ergibt sich somit aus der konkreten Anwendung, in der das KNN eingesetzt wird.
  • Bei dem Verfahren wird zu einem beliebigen Zeitpunkt während des ansonsten in beliebiger bekannter Weise ablaufenden Trainings ein Maß für die Qualität, die das KNN, und/oder ein Teilbereich des KNN, innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt. Die Qualität kann beispielsweise einen Trainingsfortschritt, eine Auslastung der Neuronen einer Schicht oder eines anderen Teilbereichs des KNN, eine Auslastung der Neuronen des KNN insgesamt, sowie auch beliebige, beispielsweise gewichtete, Kombinationen hieraus umfassen. Die genaue Definition von „Qualität“ ergibt sich somit ebenfalls aus der konkreten Anwendung.
  • Somit kann das Maß für die Qualität beispielsweise ein Maß für den Trainingsfortschritt des KNN, ein Maß für die Auslastung der Neuronen einer Schicht oder eines anderen Teilbereichs des KNN, und/oder ein Maß für die Auslastung der Neuronen des KNN insgesamt, umfassen.
  • Es werden ein oder mehrere Neuronen anhand eines Maßes für ihre jeweiligen quantitativen Beiträge zu der ermittelten Qualität bewertet. Maßnahmen, mit denen die bewerteten Neuronen im weiteren Verlauf des Trainings jeweils trainiert werden, und/oder Stellenwerte dieser Neuronen im KNN werden anhand der Bewertungen der Neuronen festgelegt. Diese Maßnahmen können dann im weiteren Training ausgeführt werden. Die festgelegten Stellenwerte der Neuronen im KNN können auch für die Inferenzphase, also für den späteren Wirkbetrieb des KNN nach dem Training, fortgelten.
  • Insbesondere kann beispielsweise das Maß für die Qualität als gewichtete oder ungewichtete Summe quantitativer Beiträge einzelner Neuronen gewertet werden.
  • Es wurde erkannt, dass auf diese Weise bereits während des Trainings der Wunsch berücksichtigt werden kann, die Neuronen des KNN sowie die Verbindungen zwischen diesen Neuronen optimal auszulasten. Dieser Wunsch kann beispielsweise in ein Optimierungsziel für das Training des KNN münden. Sollte sich während des Trainings herausstellen, dass trotz des expliziten Wunsches bestimmte Neuronen oder Verbindungen zwischen Neuronen nicht optimal ausgelastet sind, so können diese Neuronen bzw. Verbindungen bereits während des Trainings deaktiviert werden. Dies hat verschiedene Vorteile gegenüber einem nachträglichen „pruning“ nach Abschluss des Trainings.
  • Sollte sich bereits zu einem frühen Zeitpunkt während des Trainings herausstellen, dass bestimmte Neuronen oder Verbindungen zwischen Neuronen weniger relevant sind, so können diese Neuronen bzw. Verbindungen frühzeitig deaktiviert werden. Ab diesem Zeitpunkt fällt während des Trainings für diese Neuronen bzw. Verbindungen kein weiterer Rechenaufwand an. Es wurde erkannt, dass für jedes endgültige Deaktivieren oder Entfernen eines Neurons oder einer Verbindung ein Preis zu zahlen ist in Form des bereits in das Training dieses Neurons bzw. der Verbindung investierten Rechenaufwands. Ab dem Deaktivieren bzw. Entfernen werden die in diesem Neuron, bzw. in dieser Verbindung, verkörperten Erkenntnisse aus dem Training nicht mehr genutzt, d.h., der bereits investierte Aufwand wird verworfen. Der Betrag dieses Aufwands wird vorteilhaft vermindert, analog zur Praxis in der akademischen oder beruflichen Ausbildung, für das Fach ungeeignete Kandidaten möglichst frühzeitig auszusieben. Das gewünschte Endergebnis, nämlich ein fertig trainiertes und zugleich auf die tatsächlich relevanten Neuronen und Verbindungen beschränktes KNN, kann also vergleichsweise schnell erhalten werden.
  • Die Beschränkung auf die tatsächlich relevanten Neuronen und Verbindungen ist wiederum wichtig für das effiziente Implementieren des fertig trainierten KNN auf Hardware. Insbesondere bei der Nutzung von KNNs in Steuergeräten für Fahrzeuge, beispielsweise für Fahrassistenzsysteme oder Systeme für das zumindest teilweise automatisierte Fahren, ist die Spezifikation hinsichtlich der zur Verfügung stehenden Hardware häufig bereits festgeschrieben, bevor mit dem Training des KNN begonnen wird. Das fertige KNN ist dann in seiner Größe und Komplexität auf diese gegebenen Hardwareressourcen beschränkt. Zugleich muss es bei der Inferenz, also beim Auswerten von Eingangsgrößen im Wirkbetrieb, mit diesen Hardwareressourcen auskommen, um in der für die jeweilige Anwendung vorgegebenen Antwortzeit die gefragten Ausgangsgrößen zu liefern. Jedes deaktivierte Neuron und jede deaktivierte Verbindung spart bei jeder weiteren Inferenz Rechenaufwand und somit Antwortzeit ein.
  • Das Deaktivieren von Neuronen oder Verbindungen stellt grundsätzlich einen Eingriff in das KNN dar. Indem dieser Eingriff während des laufenden Trainingsprozesses erfolgt, kann der Trainingsprozess auf den Eingriff reagieren. Nebenwirkungen des Eingriffs, wie etwa Overfitting auf die Trainingsdaten, eine schlechtere Generalisierung des KNN auf unbekannte Situationen oder eine erhöhte Anfälligkeit für eine Manipulation der Inferenz durch das Vorlegen eines „Adversarial Examples“, können so deutlich vermindert werden. Dies geht, anders als beispielsweise bei der zufälligen Deaktivierung eines bestimmten Prozentsatzes der Neuronen während des Trainings („zufälliger Dropout“), nicht damit einher, dass permanent ein diesem Prozentsatz entsprechender Anteil der gelernten Information ungenutzt bleibt. Ursache hierfür ist, dass das Deaktivieren der Neuronen bzw. Verbindungen von vornherein durch die fehlende Relevanz der fraglichen Neuronen bzw. Verbindungen für die Qualität motiviert ist.
  • Schließlich wird der Kreis der möglichen Maßnahmen, die in Antwort auf einen geringen quantitativen Beitrag bestimmter Neuronen zur Qualität ergriffen werden können, über das bloße Deaktivieren dieser Neuronen hinaus erweitert. So kann beispielsweise das weitere Training gezielt auf derartige „schwache“ Neuronen fokussiert werden, damit diese eventuell doch noch einen produktiven Beitrag zur Qualität leisten können. Dies ist vergleichbar damit, dass in der Schulausbildung bei Problemen in einem bestimmten Fach meistens Nachhilfe als erste Maßnahme angewendet wird, statt sofort die Begabung des Schülers für dieses Fach zu verneinen.
  • Der zurückliegende Zeitraum umfasst vorteilhaft mindestens eine Epoche des Trainings, d.h., einen Zeitraum, in dem jeder der verfügbaren Lern-Datensätze, die jeweils Lern-Werte für die Eingangsgrößen und zugehörige Lern-Werte für die Ausgangsgrößen umfassen, einmal verwendet wurde. Die ermittelten quantitativen Beiträge der Neuronen zur Qualität sind dann besser vergleichbar. So ist es durchaus möglich, dass bestimmte Neuronen des KNN auf eine gute Behandlung bestimmter in den Eingangsgrößen vorkommender Situationen „spezialisiert“ sind, d.h., dass diese Situationen diesen Neuronen besonders „liegen“. Wenn ein Zeitraum betrachtet wird, in dem überwiegend diese Situationen vorkommen, wird die Leistung dieser Neuronen höher bewertet als sie in Wahrheit ist, denn in anderen Situationen kann die Leistung anderer Neuronen deutlich besser sein. Im Analogon der akademischen Ausbildung entspricht dies einer Prüfung, für die sich der Kandidat selektiv auf ein bestimmtes Teilgebiet des Prüfungsstoffs vorbereitet hat und „Glück hat“, dass selektiv genau dieses Teilgebiet abgefragt wird. Die Bewertung benachteiligt dann die anderen Kandidaten, deren Wissen weniger tief ins Detail geht, aber das ganze Spektrum des Prüfungsstoffs deutlich besser abdeckt. Die Berücksichtigung mindestens einer Epoche entspricht einer gerechteren Prüfung mit breit gestreuten Fragen aus dem kompletten Spektrum des Prüfungsstoffs.
  • In einer besonders vorteilhaften Ausgestaltung geht eine Änderung einer Kostenfunktion (Loss-Funktion), auf deren Optimierung das Training des KNN ausgerichtet ist, über den zurückliegenden Zeitraum in das Maß für die Qualität ein. Dies stellt sicher, dass die Maßnahmen, die in Antwort auf die Bewertung der Neuronen ergriffen werden, nicht im Widerspruch zu dem Ziel stehen, das mit dem Training des KNN letztendlich verfolgt wird.
  • In einer weiteren besonders vorteilhaften Ausgestaltung werden quantitative Beiträge von Neuronen zu der Qualität umso höher gewichtet, je kürzer die Erbringung dieser Beiträge zeitlich zurückliegt. Auf diese Weise kann berücksichtigt werden, dass von dem KNN gelerntes Wissen, wie jedes andere Wissen auch, veralten kann, so dass neues Wissen an seine Stelle treten muss.
  • Wird beispielsweise ausgehend von einem aktuellen Iterationsschritt t ein Zeitraum betrachtet, der N Iterationsschritte zurückreicht, so können die quantitativen Beiträge, die eine Schicht k des KNN in diesem Zeitraum zur Qualität, etwa einem Iterationsfortschritt, des KNN insgesamt geleistet hat, kumuliert und/oder aggregiert werden. Dabei kann insbesondere auch über einen Dropout-Tensor D t n k
    Figure DE102019202816A1_0001
    berücksichtigt werden, welche Neuronen in der Schickt k in einem gegebenen Iterationsschritt t-n überhaupt aktiv waren. Beispielsweise lassen sich für eine vollvernetzte Schicht k des KNN die Beiträge der jeweils aktiven Neuronen zur Qualität über alle zurückliegenden N Iterationsschritte in einer „Aktivierungsgüte“ M t k
    Figure DE102019202816A1_0002
    zusammenfassen, die sich beispielsweise schreiben lässt als M t k = norm ( n = 0 N γ n ( Δ L t n D t n k ) n = 0 N γ n ) .
    Figure DE102019202816A1_0003
    M t k
    Figure DE102019202816A1_0004
    enthält die entsprechende Güte aller einzelnen Neuronen in der Schicht k und hängt vom Zeitschritt t ab.
  • Hierin ist L die Kostenfunktion (Loss-Funktion). Dementsprechend ist ΔLt-n die Differenz der Kostenfunktion zwischen dem Zeitschritt t-n und dem Zeitschritt t. Durch den Verfallsparameter γ werden die Wirkungen zeitlich verschieden lang zurückliegender Iterationsschritte normiert. Der Dropout-Tensor D t n k
    Figure DE102019202816A1_0005
    gibt für jede Schicht k des KNN und für jeden Iterationsschritt t-n an, welche Neuronen der Schicht k im Iterationsschritt t-n jeweils aktiv waren oder nicht. D t n k
    Figure DE102019202816A1_0006
    dient also dazu, eine eventuelle vorübergehende Deaktivierung einzelner Neuronen für einzelne Iterationsschritte (Dropout) zu berücksichtigen. Es ist nicht zwingend, dass beim Training des KNN ein Dropout verwendet wird.
  • Je nach Art der Schicht k können M t k
    Figure DE102019202816A1_0007
    und/oder D t n k
    Figure DE102019202816A1_0008
    Vektoren oder Matrizen sein.
  • Die beschriebene „Aktivierungsgüte“ M t k
    Figure DE102019202816A1_0009
    lässt sich alternativ auch als Funktion der Signale S t k
    Figure DE102019202816A1_0010
    und Gewichte Θ t k
    Figure DE102019202816A1_0011
    für alle Neuronen der Schicht k ausdrücken. Die Signale S t k
    Figure DE102019202816A1_0012
    sind im weitesten Sinne Aktivierungen der Neuronen, wie etwa mit den Gewichten Θ t k
    Figure DE102019202816A1_0013
    gewichtete Summen von Eingaben, die den jeweiligen Neuronen zugeführt werden. M t k
    Figure DE102019202816A1_0014
    lässt sich dann beispielsweise mit S t k = 1 = x t
    Figure DE102019202816A1_0015
    schreiben als M t k = norm ( n = 0 n γ n ( S t k 1 Θ t k ) ) .
    Figure DE102019202816A1_0016
  • Hierin bezeichnet xt die Eingaben, die dem KNN als Ganzes zugeführt werden.
  • In jedem Iterationsschritt werden die Gewichte, die Neuronen in dem KNN zugewiesen sind, nach Maßgabe der Kostenfunktion und der verwendeten Trainingsstrategie (wie etwa Stochastic Gradient Descent, SGD) um bestimmte Beträge geändert. In einer weiteren besonders vorteilhaften Ausgestaltung werden diese Beträge mit einem multiplikativen Faktor verstärkt, der für Neuronen mit höheren quantitativen Beiträgen zur Qualität geringer ist als für Neuronen mit geringeren quantitativen Beiträgen zur Qualität. Neuronen mit einer aktuell geringeren Leistung werden also stärkeren Lernschritten unterzogen mit dem Ziel, die Leistung hierdurch aktiv zu verbessern, analog zum Nachhilfeunterricht. Beispielsweise können die Iterationsschritte der Gewichte Θ t k
    Figure DE102019202816A1_0017
    nach der Vorschrift w t + 1 k = w t k α k ( 1 M t k )
    Figure DE102019202816A1_0018
    durchgeführt werden.
  • In einer weiteren besonders vorteilhaften Ausgestaltung werden Neuronen während des Trainings temporär deaktiviert mit einer Wahrscheinlichkeit, die für Neuronen mit höheren quantitativen Beiträgen zur Qualität höher ist als für Neuronen mit geringeren quantitativen Beiträgen zur Qualität.
  • Auch diese Maßnahme dient der gezielten Förderung von Neuronen, deren quantitative Beiträge zur Qualität aktuell gering sind. Das temporäre Deaktivieren gerade der leistungsstarken Neuronen zwingt das KNN dazu, auch die schwächeren Neuronen an der Bildung der letztendlichen Ausgangsgrößen zu beteiligen. Dementsprechend erhalten diese schwächeren Neuronen auch vermehrt Feedback aus dem Vergleich der Ausgangsgrößen mit der „ground truth“ in Form der Lern-Werte für die Ausgangsgrößen. Im Ergebnis wird ihre Leistung hierdurch tendenziell besser. Die Situation ist vergleichbar mit der Führung von Schulunterricht in einer Klasse mit heterogenem Leistungsstand. Wenn Fragen des Lehrers immer nur an die starken Schüler gehen, lernen die schwächeren Schüler nicht dazu, so dass der Abstand zwischen den starken und den schwächeren Schülern zementiert oder sogar noch weiter vergrößert wird.
  • Als weitere Folgewirkung wird durch diese Maßnahme das KNN auch robuster gegen Ausfälle der leistungsstarken Neuronen, denn durch das temporäre Deaktivieren werden genau solche Situationen von dem KNN geübt.
  • Beispielsweise kann der Dropout-Tensor D t n k
    Figure DE102019202816A1_0019
    für t > 0 über eine Bernoulli-Funktion gesamplet werden. Diese hängt wiederum von der Aktivierungsgüte M t k
    Figure DE102019202816A1_0020
    zu einem vorherigen Iterationsschritt ab. Hierdurch ergeben sich die Wahrscheinlichkeiten pk dafür, dass Neuronen einer Schicht k aktiviert sind, zu p k = 1 M t ( n + 1 ) k .
    Figure DE102019202816A1_0021
  • In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung werden Neuronen mit höheren quantitativen Beiträgen zur Qualität höhere Stellenwerte im KNN zugewiesen als Neuronen mit geringeren quantitativen Beiträgen zur Qualität. Der Stellenwert kann sich beispielsweise darin manifestieren, mit welchem Gewicht Ausgaben der betreffenden Neuronen berücksichtigt werden, bzw. ob die Neuronen überhaupt aktiviert werden.
  • Diese Ausgestaltung lässt sich insbesondere nutzen, um das KNN auf den für relevanten Teil zu komprimieren. Hierzu können Neuronen, deren quantitative Beiträge zur Qualität ein vorgegebenes Kriterium erfüllen, im KNN deaktiviert werden. Das Kriterium kann beispielsweise als absolutes Kriterium formuliert sein, wie etwa als ein Schwellwert. Das Kriterium kann aber auch beispielsweise als relatives Kriterium formuliert sein, wie etwa als eine Abweichung der quantitativen Beiträge zur Qualität von den quantitativen Beiträgen anderer Neuronen oder von einer zusammenfassenden Statistik hiervon. Eine zusammenfassende Statistik kann beispielsweise einen Mittelwert, einen Median und/oder Standardabweichungen beinhalten.
  • Anders als Neuronen, deren Ausgaben lediglich untergewichtet werden, können deaktivierte Neuronen beim Implementieren des fertig trainierten KNN auf Hardware komplett eingespart werden. Je stärker das KNN komprimiert ist, desto weniger Hardwareressourcen werden für das letztendliche Implementieren benötigt.
  • Analoges gilt, wenn unwichtige Verbindungen zwischen Neuronen in dem KNN deaktiviert werden. Jede dieser Verbindungen kostet bei der Inferenz im Betrieb des KNN zusätzliche Rechenzeit, denn die Ausgabe des Neurons am einen Ende der Verbindung muss mit dem Gewicht der Verbindung multipliziert werden und geht dann in die Aktivierung des Neurons am anderen Ende der Verbindung ein. Wenn das Gewicht der Verbindung von Null verschieden ist, fallen diese Rechenoperationen an und dauern immer gleich lange, egal wie nah das Gewicht an Null liegen mag und wie wenig das Berücksichtigen dieser Verbindung letztendlich in der Ausgabe des KNN bewirkt. Daher werden in einer weiteren besonders vorteilhaften Ausgestaltung Verbindungen zwischen Neuronen, deren Gewichte ein vorgegebenes Kriterium erfüllen, im KNN deaktiviert. Analog zum Kriterium für die quantitativen Beiträge von Neuronen kann das Kriterium absolut oder relativ formuliert sein.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird die Anzahl der in dem KNN, und/oder in einem Teilgebiet des KNN, aktivierten Neuronen von einer ersten Anzahl auf eine vorgegebene zweite Anzahl reduziert, indem Neuronen mit den geringsten quantitativen Beiträgen deaktiviert werden. So kann beispielsweise durch die verwendete Hardware die maximale Komplexität des KNN vorgegeben sein.
  • Die Erfindung bezieht sich auch auf ein Verfahren zum Implementieren eines KNN auf einem vorgegebenen Rechenwerk. Bei diesem Verfahren wird ein Modell des KNN in einer Trainingsumgebung außerhalb des Rechenwerks mit dem zuvor beschriebenen Verfahren trainiert. Bei Abschluss des Trainings aktivierte Neuronen und Verbindungen zwischen Neuronen werden auf dem Rechenwerk implementiert.
  • Das vorgegebene Rechenwerk kann beispielsweise dazu ausgebildet sein, in ein Steuergerät für ein Fahrzeug eingebaut zu werden, und/oder es kann dazu ausgebildet sein, aus dem Bordnetz eines Fahrzeugs mit Energie versorgt zu werden. Der verfügbare Platz und das Wärmebudget in dem Steuergerät, bzw. die verfügbare Strommenge, begrenzen dann die für die Inferenz des KNN verfügbaren Hardwareressourcen.
  • Demgegenüber kann die Trainingsumgebung mit deutlich stärkeren Ressourcen ausgestattet sein. Beispielsweise kann ein physischer oder virtueller Rechner mit einem leistungsfähigen Grafikprozessor (GPU) verwendet werden. Es sind nur wenig bis keine Vorab-Überlegungen erforderlich, um mit dem Training beginnen zu können; das Modell sollte lediglich eine gewisse Mindestgröße aufweisen, mit der das zu lösende Problem voraussichtlich hinreichend genau abgebildet werden kann.
  • Durch das zuvor beschriebene Verfahren kann innerhalb der Trainingsumgebung ermittelt werden, welche Neuronen und Verbindungen zwischen Neuronen wichtig sind. Basierend hierauf kann das KNN für das Implementieren auf dem Rechenwerk komprimiert werden. Wie zuvor beschrieben, kann dies auch direkt automatisch innerhalb der Trainingsumgebung erfolgen.
  • Es kann also allgemein vorteilhaft ausgehend von einem vorgegebenen Rechenwerk, welches Hardwareressourcen für eine vorgegebene Anzahl von Neuronen, Schichten von Neuronen und/oder Verbindungen zwischen Neuronen aufweist, ein Modell des KNN gewählt werden, dessen Anzahl an Neuronen, Schichten von Neuronen und/oder Verbindungen zwischen Neuronen die vorgegebene Anzahl überschreitet. Die Komprimierung sorgt dafür, dass das trainierte KNN letztendlich auf die vorgegebene Hardware passt. Hierbei wird angestrebt, dass diejenigen Neuronen und Verbindungen zwischen Neuronen, die letztendlich auf der Hardware implementiert sind, auch die für die Inferenz im Betrieb des KNN wichtigsten sind.
  • Die Erfindung bezieht sich auch auf ein weiteres Verfahren. Bei diesem Verfahren wird ein künstliches neuronales Netzwerk, KNN, zunächst mit dem zuvor beschriebenen Verfahren zum Trainieren trainiert, und/oder mit dem zuvor beschriebenen Verfahren zum Implementieren auf einem Rechenwerk implementiert. Das KNN wird anschließend betrieben, indem ihm eine oder mehrere Eingangsgrößen zugeführt werden. Abhängig von den vom KNN gelieferten Ausgangsgrößen wird ein Fahrzeug, ein Roboter, ein Qualitätskontrollsystem, und/oder ein System zur Überwachung eines Bereichs auf der Basis von Sensordaten, angesteuert.
  • Bei den beschriebenen Verfahren kann insbesondere ein KNN gewählt werden, das als Klassifikator und/oder Regressor für mit mindestens einem Sensor aufgenommene physikalische Messdaten ausgebildet ist. Es ermöglicht dann auch in Anwendungen, in denen nur beschränkte Hardware, eine beschränkte Energiemenge oder ein beschränkter Einbauraum zur Verfügung steht, eine aussagekräftige und auf viele Situationen verallgemeinerbare Auswertung der physikalischen Messdaten durch Künstliche Intelligenz. Der Sensor kann beispielsweise ein bildgebender Sensor, ein Radarsensor, ein Lidar-Sensor oder ein Ultraschallsensor sein.
  • Die Verfahren können insbesondere ganz oder teilweise in einer Software implementiert sein, die den unmittelbaren Kundennutzen bewirkt, dass ein KNN in Relation zum Hardwareaufwand und zum Energieverbrauch für die Inferenz in seinem Betrieb bessere Ergebnisse liefert. Die Erfindung bezieht sich daher auch auf ein Computerprogramm mit maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Steuergerät, und/oder auf einem Embedded-System ausgeführt werden, den Computer, das Steuergerät, und/oder das Embedded-System, dazu veranlassen, eines der beschriebenen Verfahren auszuführen. Steuergeräte und Embedded-Systeme können also mindestens in dem Sinne als Computer anzusehen sein, dass ihr Verhalten ganz oder teilweise durch ein Computerprogramm charakterisiert ist. Somit umfasst der Begriff „Computer“ beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
  • Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger oder 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, und/oder in beliebiger sonstiger Weise spezifisch dazu eingerichtet sein, eines der beschriebenen Verfahren auszuführen. Eine solche spezifische Einrichtung kann beispielsweise mit feldprogrammierbaren Gatteranordnungen (FPGAs) und/oder anwendungsspezifischen integrierten Schaltkreisen (ASICs) realisiert werden.
  • Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
  • Figurenliste
  • Es zeigt:
    • 1 Ausführungsbeispiel des Verfahrens 100 zum Trainieren eines KNN 1;
    • 2 Ausführungsbeispiel des Verfahrens 200 zum Implementieren des KNN 1 auf einem Rechenwerk 4;
    • 3 Beispielhafte Komprimierung eines KNN 1.
  • 1 zeigt ein Ausführungsbeispiel des Verfahrens 100. Das Verfahren 100 ist eingebettet in das in bekannter Weise ablaufende Training des KNN 1, das unter anderem das Beaufschlagen des KNN 1 mit Lern-Werten für Eingangsgrößen, den Vergleich der vom KNN 1 gebildeten Ausgangsgrößen mit den Lern-Werten für die Ausgangsgrößen sowie die Änderung der Parameter innerhalb des KNN nach Maßgabe der Kostenfunktion umfasst. Diese Schritte sind der Übersichtlichkeit halber in 1 nicht eingezeichnet.
  • In Schritt 110 wird zu einem beliebigen Zeitpunkt und in einer beliebigen Phase des Trainingsprozesses ein Maß für die Qualität 11, die das KNN innerhalb eines vorgegebenen zurückliegenden Zeitraums erzielt hat, ermittelt. Gemäß Block 111 kann insbesondere die Änderung der beim Training des KNN 1 genutzten Kostenfunktion in das Maß für die Qualität 11 eingehen.
  • In Schritt 120 werden mehrere Neuronen 2 anhand eines Maßes für ihre jeweiligen quantitativen Beiträge 21 zu der zuvor ermittelten Qualität 11 bewertet. Dabei können insbesondere gemäß Block 121 diese Beiträge 21 umso höher gewichtet werden, je kürzer die Erbringung der Beiträge 21 zeitlich zurückliegt. Diese Beiträge 21 können beispielsweise aus der zuvor im Detail beschriebenen Aktivierungsgüte M k t
    Figure DE102019202816A1_0022
    ermittelt werden. Insbesondere können Werte der Aktivierungsgüte M k t
    Figure DE102019202816A1_0023
    direkt als Beiträge 21 genutzt werden.
  • Anhand der hierbei entstandenen Bewertungen 120a werden in Schritt 130 Maßnahmen 22 für das weitere Training der bewerteten Neuronen 2, und/oder Stellenwerte 23 dieser bewerteten Neuronen 2 in dem KNN 1, festgelegt.
  • Im Einzelnen können Beträge, um die die Gewichte von Neuronen 2 bei mindestens einem Trainingsschritt geändert werden, gemäß Block 131 mit einem multiplikativen Faktor verstärkt werden, der für stärker zur Qualität 11 beitragende Neuronen 2 geringer ist als für schwächer zur Qualität 11 beitragende Neuronen 2.
  • Gemäß Block 132 können Neuronen 2 während des Trainings temporär deaktiviert werden, wobei die Wahrscheinlichkeit einer solchen Deaktivierung für Neuronen 2 mit höheren quantitativen Beiträgen 21 zur Qualität 11 höher ist als für Neuronen 2 mit geringeren quantitativen Beiträgen 21 zur Qualität 11.
  • Gemäß Block 133 können Neuronen 2 mit höheren quantitativen Beiträgen 21 zur Qualität 11 höhere Stellenwerte im KNN 1 zugewiesen werden als Neuronen 2 mit niedrigeren quantitativen Beiträgen 21.
  • Dies kann beispielsweise beinhalten, dass Neuronen 2, deren quantitative Beiträge 21 ein vorgegebenes Kriterium erfüllen, gemäß Unterblock 133a deaktiviert werden. Auch können gemäß Unterblock 133b Verbindungen 25 zwischen Neuronen 2, deren Gewichte ein vorgegebenes Kriterium erfüllen, deaktiviert werden. Gemäß Unterblock 133c kann die Anzahl der aktivierten Neutronen gezielt auf eine vorgegebene Anzahl reduziert werden, indem Neuronen 2 mit den geringsten quantitativen Beiträgen 21 zur Qualität 11 deaktiviert werden.
  • 2 zeigt ein Ausführungsbeispiel des Verfahrens 200 zum Implementieren des KNN 1 auf einem vorgegebenen Rechenwerk 4. Im optionalen Schritt 205a kann ein Rechenwerk 4 mit beschränkten Ressourcen hinsichtlich der Anzahl von Neuronen 2, Schichten 3a, 3b mit Neuronen 2, und/oder Verbindungen 25 zwischen Neuronen 2, vorausgewählt werden. Das Modell 1a des KNN kann dann so gewählt werden, dass es eine Anzahl an Neuronen 2, Schichten 3a, 3b bzw. Verbindungen 25 aufweist, die über der jeweiligen Grenze des Rechenwerks 4 liegt. Insbesondere kann gemäß dem optionalen Schritt 206 ein Rechenwerk 4 gewählt werden, das dazu ausgebildet ist, in ein Steuergerät für ein Fahrzeug eingebaut zu werden, und/oder aus dem Bordnetz eines Fahrzeugs mit Energie versorgt zu werden.
  • In Schritt 210 wird das KNN 1 gemäß dem zuvor beschriebenen Verfahren 100 trainiert. Bei Abschluss des Trainings 210 aktivierte Neuronen 2 und Verbindungen 25 zwischen Neuronen 2 werden in Schritt 220 auf dem Rechenwerk 4 implementiert. Wie zuvor beschrieben, kann die Komprimierung während des Trainings 210 ein zu großes KNN für beschränkte Hardwareressourcen „passend machen“. Wenn dies nicht ausreicht, kann nach Abschluss des Trainings 210 eine weitere Auslese der Neuronen 2, Schichten 3a, 3b, bzw. Verbindungen 25, erfolgen.
  • 3 zeigt den Effekt der Komprimierung an einem beispielhaften KNN 1. Dieses KNN 1 umfasst zwei Schichten 3a und 3b mit jeweils vier Neuronen 2, deren beispielhafte quantitative Beiträge 21 zur Qualität 11 des KNN 1 insgesamt jeweils angegeben sind.
  • In dem in 3a gezeigten Zustand sind die beiden Schichten 3a und 3b noch voll miteinander vernetzt, d.h., jedes Neuron 2 der ersten Schicht 3a ist mit jedem Neuron 2 der zweiten Schicht 3b verbunden, und alle Neuronen 2 sind noch aktiv.
  • In dem in 3b gezeigten Zustand wurde die Regel angewendet, dass alle Neuronen 2 mit quantitativen Beiträgen 21 von weniger als 0,5, sowie die zu diesen Neuronen 2 führenden Verbindungen 25, deaktiviert werden. Dieser Regel sind die gestrichelt umrandeten Neuronen in der ersten Schicht 3a zum Opfer gefallen. Dadurch ist die Zahl der noch aktiven Verbindungen 25 von 16 auf 8 halbiert worden, was den Rechenaufwand für die Inferenz im Betrieb des KNN 1 entsprechend vermindert.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 5636326 A [0003]

Claims (18)

  1. Verfahren (100) zum Trainieren eines künstlichen neuronalen Netzwerks, KNN (1), welches eine Vielzahl von Neuronen (2) umfasst, mit den Schritten: • es wird ein Maß für die Qualität (11), die das KNN (1), und/oder ein Teilbereich des KNN (1), innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt (110); • ein oder mehrere Neuronen (2) werden anhand eines Maßes für ihre jeweiligen quantitativen Beiträge (21) zu der ermittelten Qualität (11) bewertet (120); • Maßnahmen (22), mit denen die bewerteten Neuronen (2) im weiteren Verlauf des Trainings jeweils trainiert werden, und/oder Stellenwerte (23) dieser Neuronen (2) im KNN (1), werden anhand der Bewertungen (120a) der Neuronen (2) festgelegt (130).
  2. Verfahren (100) nach Anspruch 1, wobei das Maß für die Qualität ein Maß für den Trainingsfortschritt des KNN (1), ein Maß für die Auslastung der Neuronen einer Schicht oder eines anderen Teilbereichs des KNN (1), und/oder ein Maß für die Auslastung der Neuronen des KNN (1) insgesamt, umfasst.
  3. Verfahren (100) nach einem der Ansprüche 1 bis 2, wobei das Maß für die Qualität (11) als gewichtete oder ungewichtete Summe quantitativer Beiträge (21) einzelner Neuronen (2) gewertet wird.
  4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei eine Änderung einer Kostenfunktion, auf deren Optimierung das Training des KNN (1) ausgerichtet ist, über den zurückliegenden Zeitraum in das Maß für die Qualität (11) eingeht (111).
  5. Verfahren (100) nach einem der Ansprüche 1 bis 4, wobei quantitative Beiträge (21) von Neuronen (2) zu der Qualität (11) umso höher gewichtet werden (121), je kürzer die Erbringung dieser Beiträge (21) zeitlich zurückliegt.
  6. Verfahren (100) nach einem der Ansprüche 1 bis 5, wobei Beträge, um die die Gewichte, welche Neuronen (2) in dem KNN (1) zugewiesen sind, bei mindestens einem Trainingsschritt geändert werden, mit einem multiplikativen Faktor verstärkt werden (131), der für Neuronen (2) mit höheren quantitativen Beiträgen (21) geringer ist als für Neuronen (2) mit geringeren quantitativen Beiträgen (21).
  7. Verfahren (100) nach einem der Ansprüche 1 bis 6, wobei Neuronen (2) während des Trainings temporär deaktiviert werden (132) mit einer Wahrscheinlichkeit, die für Neuronen (2) mit höheren quantitativen Beiträgen (21) höher ist als für Neuronen (2) mit geringeren quantitativen Beiträgen (21).
  8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei der zurückliegende Zeitraum mindestens eine Epoche des Trainings umfasst.
  9. Verfahren (100) nach einem der Ansprüche 1 bis 8, wobei Neuronen (2) mit höheren quantitativen Beiträgen (21) höhere Stellenwerte im KNN (1) zugewiesen werden (133) als Neuronen (2) mit niedrigeren quantitativen Beiträgen (21).
  10. Verfahren (100) nach Anspruch 9, wobei Neuronen (2), deren quantitative Beiträge (21) ein vorgegebenes Kriterium erfüllen, im KNN (1) deaktiviert werden (133a).
  11. Verfahren (100) nach einem der Ansprüche 9 bis 10, wobei Verbindungen (25) zwischen Neuronen (2), deren Gewichte ein vorgegebenes Kriterium erfüllen, im KNN (1) deaktiviert werden (133b).
  12. Verfahren (100) nach einem der Ansprüche 9 bis 11, wobei die Anzahl der in dem KNN (1), und/oder in einem Teilgebiet des KNN (1), aktivierten Neuronen (2) von einer ersten Anzahl auf eine vorgegebene zweite Anzahl reduziert wird, indem Neuronen (2) mit den geringsten quantitativen Beiträgen (21) deaktiviert werden (133c).
  13. Verfahren (200) zum Implementieren eines KNN (1) auf einem vorgegebenen Rechenwerk (4) mit den Schritten: • ein Modell (1a) des KNN (1) wird in einer Trainingsumgebung (5) außerhalb des Rechenwerks (4) mit dem Verfahren (100) nach einem der Ansprüche 1 bis 12 trainiert (210); • bei Abschluss des Trainings (210) aktivierte Neuronen (2) und Verbindungen (25) zwischen Neuronen (2) werden auf dem Rechenwerk (4) implementiert (220).
  14. Verfahren (200) nach Anspruch 13, wobei ein Rechenwerk (4) gewählt wird (205a), welches Hardwareressourcen für eine vorgegebene Anzahl von Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) aufweist, und wobei ein Modell (1a) des KNN (1) gewählt wird (205b), dessen Anzahl an Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) die vorgegebene Anzahl überschreitet.
  15. Verfahren mit den Schritten: • ein künstliches neuronales Netzwerk, KNN (1), wird mit dem Verfahren (100) nach einem der Ansprüche 1 bis 12 trainiert, und/oder mit dem Verfahren (200) nach einem der Ansprüche 13 bis 14 implementiert; • das KNN (1) wird betrieben, indem ihm eine oder mehrere Eingangsgrößen zugeführt werden; • abhängig von den vom KNN (1) gelieferten Ausgangsgrößen wird ein Fahrzeug, ein Roboter, ein Qualitätskontrollsystem, und/oder ein System zur Überwachung eines Bereichs auf der Basis von Sensordaten, angesteuert.
  16. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Steuergerät, und/oder auf einem Embedded-System ausgeführt werden, den Computer, das Steuergerät, und/oder das Embedded-System, dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 15 auszuführen.
  17. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem Computerprogramm nach Anspruch 16.
  18. Computer, ausgerüstet mit dem Computerprogramm nach Anspruch 16, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt nach Anspruch 17, und/oder in sonstiger Weise spezifisch dazu eingerichtet, ein Verfahren (100, 200) nach einem der Ansprüche 1 bis 15 auszuführen.
DE102019202816.0A 2019-03-01 2019-03-01 Training neuronaler Netzwerke für effizientes Implementieren auf Hardware Pending DE102019202816A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102019202816.0A DE102019202816A1 (de) 2019-03-01 2019-03-01 Training neuronaler Netzwerke für effizientes Implementieren auf Hardware
US17/429,094 US20220101088A1 (en) 2019-03-01 2020-02-17 Training neural networks for an efficient implementation on hardware
CN202080017830.9A CN113454655A (zh) 2019-03-01 2020-02-17 针对在硬件上的高效实施来训练神经网络
EP20705699.5A EP3931760A1 (de) 2019-03-01 2020-02-17 Training neuronaler netzwerke für effizientes implementieren auf hardware
PCT/EP2020/054054 WO2020178009A1 (de) 2019-03-01 2020-02-17 Training neuronaler netzwerke für effizientes implementieren auf hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019202816.0A DE102019202816A1 (de) 2019-03-01 2019-03-01 Training neuronaler Netzwerke für effizientes Implementieren auf Hardware

Publications (1)

Publication Number Publication Date
DE102019202816A1 true DE102019202816A1 (de) 2020-09-03

Family

ID=69593701

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019202816.0A Pending DE102019202816A1 (de) 2019-03-01 2019-03-01 Training neuronaler Netzwerke für effizientes Implementieren auf Hardware

Country Status (5)

Country Link
US (1) US20220101088A1 (de)
EP (1) EP3931760A1 (de)
CN (1) CN113454655A (de)
DE (1) DE102019202816A1 (de)
WO (1) WO2020178009A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202021102832U1 (de) 2021-05-25 2021-06-24 Albert-Ludwigs-Universität Freiburg Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
DE102021205300A1 (de) 2021-05-25 2022-12-01 Robert Bosch Gesellschaft mit beschränkter Haftung Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5288645A (en) 1992-09-04 1994-02-22 Mtm Engineering, Inc. Hydrogen evolution analyzer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202021102832U1 (de) 2021-05-25 2021-06-24 Albert-Ludwigs-Universität Freiburg Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
DE102021205300A1 (de) 2021-05-25 2022-12-01 Robert Bosch Gesellschaft mit beschränkter Haftung Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf

Also Published As

Publication number Publication date
CN113454655A (zh) 2021-09-28
US20220101088A1 (en) 2022-03-31
EP3931760A1 (de) 2022-01-05
WO2020178009A1 (de) 2020-09-10

Similar Documents

Publication Publication Date Title
DE102016011520B4 (de) Produktionsausrüstung mit Maschinenlernsystem und Montage-und Prüfeinheit
DE10296704T5 (de) Fuzzy-Inferenznetzwerk zur Klassifizierung von hochdimensionalen Daten
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102019204139A1 (de) Training für künstliche neuronale Netzwerke mit besserer Ausnutzung der Lern-Datensätze
EP3931760A1 (de) Training neuronaler netzwerke für effizientes implementieren auf hardware
DE102018127802A1 (de) Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine
DE112019007626T5 (de) Arbeitselement-analyseeinrichtung und arbeitselement-analyseverfahren
DE102019204118A1 (de) Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild
DE102019206047A1 (de) Training trainierbarer Module mit Lern-Daten, deren Labels verrauscht sind
DE102020214850A1 (de) Energie- und speichereffizientes Training neuronaler Netzwerke
DE202021102832U1 (de) Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
DE102020213253A1 (de) Computerimplementierte konsistente klassifikationsverfahren
DE102020214853A1 (de) Reziprozierende generative modelle
WO2021089499A1 (de) Verfahren und system zum prüfen einer automatisierten fahrfunktion durch reinforcement-learning
EP4000011A1 (de) Komponentenbasierte verarbeitung von eingangsgrössen
DE102020205542A1 (de) Aufbereiten von Lern-Datensätzen mit verrauschten Labeln für Klassifikatoren
DE102019210167A1 (de) Robusteres Training für künstliche neuronale Netzwerke
WO2020108748A1 (de) System und verfahren zum auffinden von optimierten kombinationen von berechnungsfunktionen
DE112019006203T5 (de) Verfahren zur Klassifizierung von Inhalten und Verfahren zur Erzeugung eines Klassifizierungsmodells
DE102019214308B4 (de) Schnelles quantisiertes Training trainierbarer Module
DE102022207726A1 (de) Weitertrainieren neuronaler Netzwerke für die Auswertung von Messdaten
DE102019131639B4 (de) System zum Bereitstellen eines Erklärungsdatensatzes für ein KI-Modul
DE102020210729A1 (de) Training von Klassifikatornetzwerken auf eine bessere Erklärbarkeit der erhaltenen Klassifikations-Scores
DE102022204415A1 (de) Verbesserung der domänenübergreifenden Few-Shot-Objektdetektion
DE202024100807U1 (de) Verstärkungslernen durch Präferenz-Rückmeldung

Legal Events

Date Code Title Description
R163 Identified publications notified