DE102019205842A1 - Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen - Google Patents

Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen Download PDF

Info

Publication number
DE102019205842A1
DE102019205842A1 DE102019205842.6A DE102019205842A DE102019205842A1 DE 102019205842 A1 DE102019205842 A1 DE 102019205842A1 DE 102019205842 A DE102019205842 A DE 102019205842A DE 102019205842 A1 DE102019205842 A1 DE 102019205842A1
Authority
DE
Germany
Prior art keywords
neural network
value range
parameters
predeterminable
quantized
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
DE102019205842.6A
Other languages
English (en)
Inventor
Hendrik Klose
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 DE102019205842.6A priority Critical patent/DE102019205842A1/de
Publication of DE102019205842A1 publication Critical patent/DE102019205842A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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

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)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Quantisieren von Parametern eines neuronalen Netzes, insbesondere zum Trainieren unter Berücksichtigung des Fehlers während der Inferenz. Hierfür wird zuerst ein Quantisierungsfehler ermittelt. Der Quantisierungsfehler wird bei einem Training des neuronalen Netzes durch Beaufschlagen von Zwischengrößen des neuronalen Netzes mit Rauschen berücksichtigt. Anschließend werden die Parameter quantisiert. Die Erfindung betrifft ferner ein Computerprogramm und eine Vorrichtung zum Ausführen des Verfahrens und ein maschinenlesbares Speicherelement, auf dem das Computerprogramm gespeichert ist.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Verfahren zum Quantisieren eines neuronalen Netzes. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.
  • Stand der Technik
  • Es ist bekannt, neuronale Netze zu quantisieren, wie beispielsweise gezeigt von Hubara et al. „Quantized neural networks: Training neural networks with low precision weights and activations.“ The Journal of Machine Learning Research 18.1 (2017): 6869-6898.
  • Zum Quantisieren von neuronalen Netzen kann eine Quantisierung von Gewichten (engl. weights) der neuronalen Netze beim Training in einer Kostenfunktion (engl. loss function) berücksichtigt werden. Dadurch können die Gewichte bereits beim Training quantisiert werden. Nach Beendigung des Trainings liegt dann ein quantisiertes neuronales Netz vor.
  • Ein Vorteil der Erfindung liegt darin, dass eine Quantisierung der Gewichte nicht in der Kostenfunktion berücksichtigt wird, wodurch die Komplexität des Trainings reduziert wird. Ein weiterer Vorteil der Erfindung ist, dass nicht direkt mit einem quantisierten neuronalen Netz trainiert wird, da es sein kann, dass das Training bei zu kleinen Gradienten festhängt, da diese Gradienten kleiner sein können als der Abstand zweier quantisierter Werte. Daher weist die Erfindung auch verbesserte Konvergenzeigenschaften beim Training auf.
  • Quantisierte neuronale Netz sind wünschenswert, da quantisierte neuronale Netze zum einen weniger Speicher beanspruchen und zum anderen beim Betreiben weniger Energie verbrauchen.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Quantisieren von Werten von Parametern eines neuronalen Netzes vorgestellt. Das Verfahren umfasst die folgenden Schritte:
    • Zuerst wird ein vorgebbarer quantisierter Wertebereich der Parameter sowie Trainingsdaten umfassend Trainingseingangsgrößen mit jeweils zugeordneten Trainingsausgangsgrößen bereitgestellt. Daraufhin wird ein Quantisierungsfehler abhängig von dem vorgebbaren quantisierten Wertebereich und einem aktuellen Wertebereich der Parameter ermittelt. Daraufhin folgt ein Ermitteln von Ausgangsgrößen des neuronalen Netzes in Abhängigkeit einer Mehrzahl der Trainingseingangsgrößen und der Parameter, die jeweils einen Wert aus dem aktuellen Wertebereich aufweisen. Die Besonderheit des Verfahrens liegt darin, dass ermittelte Zwischengrößen des neuronalen Netzes mit zufälligen Fehlern jeweils beim Ermitteln der Ausgangsgrößen beaufschlagt werden. Insbesondere werden die Zwischengrößen mit einer Größe beaufschlagt, die den zufälligen Fehler charakterisiert. Die einzelnen zufälligen Fehler können im Mittel dem Quantisierungsfehler entsprechen und vorzugsweise mit einer vorgebbaren Abweichung um den Quantisierungsfehler schwanken. Daraufhin folgt ein Anpassen der Werte der Parameter auf einen der Werte innerhalb des aktuellen Wertebereichs abhängig von einer Differenz, insbesondere einer Kostenfunktion, die abhängig von der Differenz und den Parameter ist, der ermittelten Ausgangsgrößen und der Trainingsausgangsgrößen der Mehrzahl der Trainingseingangsgrößen, sodass die Differenz, insbesondere Kostenfunktion, optimal (z.B. minimal) hinsichtlich eines vorgebbaren Kriteriums wird. Anschließend folgt ein Abbilden der Parameter jeweils auf einen der Werte des vorgebbaren quantisierten Wertebereichs.
  • Der vorgebbare quantisiert Wertebereich wird vorzugsweise abhängig von den angepassten Parameter und/oder abhängig von den Eingangsgrößen ermittelt. Werte des vorgebbaren quantisierten Wertebereichs sind vorzugsweise so gewählt, dass zu erwartende Werte abgebildet werden können bei gleichzeitiger Minimierung der nötigen Rundung. Der Wertebereich soll vorteilhafterweise also so klein wie möglich aber so groß wie nötig gewählt werden.
  • Alternativ kann zu dem vorgebbaren quantisierten Wertebereich eine vorgebbare quantisierte Auflösung der Parameter bereitgestellt werden und der aktuelle Wertebereich wird durch eine aktuelle Auflösung beschrieben. Unter einem Quantisierungsfehler wird eine Größe verstanden, die einen Fehler charakterisiert, der bei einem Abbilden von Werte auf jeweils einen der Werte des vorgebbaren quantisierten Wertebereichs auftritt.
  • Der zufällige Fehler entspricht hierbei einem Quantisierungsrauschen und kann daher auch als ein Rauschen in dem Verfahren des ersten Aspektes implementiert sein.
  • Der Vorteil dieses Verfahrens ist, dass das neuronale Netz lernt, mit (Quantisierungs-) Rauschen, dass durch die Quantisierung der Parameter entsteht, umzugehen, also gegenüber Rauschen robust wird. Ein weiterer Vorteil dieses Verfahrens ist, dass ein einfaches Verfahren bereitgestellt wird, um neuronale Netze zu quantisieren. Ferner erlaubt das Verfahren ein neuronales Netz derart zu quantisieren, dass dieses neuronale Netz auf einer vorgebbaren Zielarchitektur oder Zielhardwareplattform betrieben werden kann. Vorteilhaft ist ferner, dass kein exakter Quantisierungsfehler bestimmt werden muss, da durch das Hinzufügen von Rauschen dieser im Training nicht exakt abgebildet werden kann. Dieses Vorgehen trägt zur Einfachheit des Verfahrens bei.
  • Denkbar ist auch, dass anstatt einer Quantisierung eine Clusterung der Parameter mit einer vorgebbaren Anzahl an Clusterzentren durchgeführt werden kann. Der Vorteil hierbei ist, dass die Clusterzentren auch eine höhere Auflösung aufweisen, jedoch durch die limitierte Anzahl an unterschiedlichen Clusterzentren Speicherplatz eingespart werden kann. Alternativ kann anstatt dem vorgebbaren quantisierten Wertebereich ein vorgebbarer diskreter Wertebreich verwendet werden.
  • Der vorgebbare quantisierte Wertebereich kann beispielsweise anhand einer Anzahl von Quantisierungsstufen oder durch eine Anzahl von Bit charakterisiert sein. Die Anzahl an Bits kann durch eine verwendete Hardware vorgegeben sein.
  • Weiterhin wird vorgeschlagen, dass der vorgebbare quantisierte Wertebereich abhängig von einem Trainingsverlauf bzw. von einem Trainingsfortschritt angepasst wird. Beispielsweise kann zu Beginn des Trainings der vorgebbare quantisierte Wertebereich mehr unterschiedliche quantisierte Werte aufweisen, als ein vorgebbarer quantisierter Wertebereich nach einem fortgeschrittenen Training des neuronalen Netzes. Denkbar ist auch, dass bei einem wiederholten Ausführen des Verfahrens, nachdem die Parameter auf den vorgebbaren quantisierten Wertebereich abgebildet wurden, der vorgebbare quantisierte Wertebereich nun der aktuelle Wertebereich ist. Bei einem wiederholten Ausführen des Verfahrens kann dann der vorgebbare quantisierte Wertebereich ein quantisierter Wertebereich sein, der nun weniger quantisierte Werte aufweist als der vorhergehende vorgebbare quantisierte Wertebereich.
  • Der Vorteil hierbei ist, dass suksesszive ein gewünschter quantisierter Wertebereich erreicht werden kann, ohne die Konvergenz des Trainings negativ zu beeinflussen.
  • Weiterhin wird vorgeschlagen, dass beim Ermitteln des Quantisierungsfehlers die Mehrzahl der Trainingseingangsgrößen durch das neuronale Netz mit den Parametern, deren Werte innerhalb des aktuellen Wertebereichs liegen und durch das neuronale Netz mit den abgebildeten Parametern, deren Werte innerhalb des vorgebbaren quantisierten Wertebereich liegen, propagiert wird. Daraufhin wird der Quantisierungsfehler abhängig von ermittelten Zwischengrößen der neuronalen Netze mit unterschiedlichen Wertebereiche der Parameter ermittelt.
  • Unter Zwischengrößen können jede beliebige, insbesondere temporale, Zwischenergebnisse des neuronalen Netzes verstanden werden.
  • Weiterhin wird vorgeschlagen, dass jeweils Ausgangsgrößen von Schichten des neuronalen Netzes mit den zufälligen Fehlern beaufschlagt werden.
  • Weiterhin wird vorgeschlagen, dass die zufälligen Fehler abhängig vom Trainingsverlauf sind, entweder abnehmen oder zunehmen, mit zunehmendem Trainingsverlauf. Der Vorteil hierbei ist eine verbessere Konvergenz des Trainings oder eine höhere Robustheit des neuronalen Netzes gegenüber Rauschen.
  • Vorzugsweise wird zumindest in den ersten Schichten des neuronalen Netzes das Rauschen hinzugefügt, da diese einen größeren Einfluss auf die Ergebnisse des neuronalen Netzes haben, da deren Ergebnisse in allen nachfolgenden Schichten verwendet werden.
  • Weiterhin wird vorgeschlagen, dass der aktuelle Wertebereich auch ein quantisierter Wertebereich ist, der mittels einer Auflösung von mindestens 32 Bit dargestellt wird, und wobei der vorgebbare quantisierte Wertebereich mittels einer Auflösung von weniger als 16 Bit, insbesondere weniger als 8 Bit, dargestellt wird.
  • Vorzugsweise wird beim Ermitteln der Ausgangsgröße mittels des Netzes mit abgebildeten Parameter auf den quantisierten Wertebereich eine Fix-Point Arithmetik verwendet. Vorzugsweise wird beim Ermitteln der Ausgangsgröße mittels des neuronalen Netzes mit Parametern, deren Werte in dem aktuellen Wertebereich liegen, auf eine Fließkomma-Arithmetik zugrückgegriffen.
  • Weiterhin wird vorgeschlagen, dass der vorgebbare quantisierte Wertebereich und/oder der Quantisierungsfehler abhängig von einer vorgebbaren Hardware ist, auf welcher das quantisierte neuronale Netz betrieben werden soll. Denkbar ist, dass unterschiedliche quantisierte Wertebereiche für unterschiedliche Schichten des neuronalen Netzes abhängig von dem jeweiligen Hardwaremodul der vorgebbaren Hardware, auf welchem die jeweilige Schicht implementiert/ausgeführt wird, gewählt werden.
  • Nachdem die Parameter auf den quantisierten Wertebereich abgebildet wurden, kann das neuronale Netz mit dem abgebildeten Parameter auf der vorgebbaren Hardware betrieben werden.
  • Es wird weiterhin vorgeschlagen, dass für unterschiedliche mathematische Operationen der jeweiligen Schichten unterschiedliche Quantisierungen der Wertebereiche vorgegeben werden. Dies hat insbesondere bei Hardwarearchitekturen mit komplexen Operationen und verschiedenen Quantisierungen der Zwischenergebnisse den Vorteil, nicht die gesamte Kette an Operationen im Trainingsframework nachbilden zu müssen. Durch die Nutzung dieser generischen Erfindung wird viel hardwarespezifischer Implementierungsaufwand eingespart.
  • In einem weiteren Aspekt der Erfindung wird vorgeschlagen, dass die Eingangsgröße des neuronalen Netzes eine Größe ist, welche mittels eines Sensors erfasst wurde. Abhängig von einer Ausgangsgröße des neuronalen Netzes kann eine Steuergröße ermittelt werden.
  • Die Steuergröße kann zum Steuern eines Aktors eines technischen Systems verwendet werden. Die Steuerung kann entsprechend der Steuergröße erfolgen. Das technische System kann zum Beispiel eine zumindest teilautonome Maschine, ein zumindest teilautonomes Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt wie eine Drohne sein. Beispielsweise so kann eine Bewegung des Roboters oder Fahrzeugs gesteuert werden oder eine Steuerung des Aktors erfolgen.
  • In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.
  • Ein Ausführungsbeispiel des oben genannten ersten Aspektes wird im nachfolgenden näher erläutert.
  • Das Verfahren zum Quantisieren des neuronalen Netzes beginnt in diesem Ausführungsbeispiel mit Schritt 1. In diesem Schritt werden Trainingsdaten mit Label bereitgestellt. Die Trainingsdaten sind typischerweise Kamerabilder, die entweder mit einer Klassifikation oder mit einer semantischen Segmentierung gelabelt sind. Ebenso wird in Schritt 1 ein vorgebbarer quantisierter Wertebereich bereitgestellt. Der vorgebbare quantisierte Wertebereich kann beispielsweise ein Wertebereich von -1 bis 1 sein, der mittels beispielsweise 8 Bit quantisiert bzw. dargestellt wird. Daraufhin wird in Schritt 1 ein Quantisierungsfehler ermittelt. Der Quantisierungsfehler mittels eines Abbildungsfehlers ermittelt, der auftritt, wenn Werte aus aktuellen Wertebereich der Parameter des tiefen neuronalen Netzes auf Werte des vorgebbaren quantisierten Wertebereichs abgebildet werden. Der aktuelle Wertebereich kann beispielsweise ebenfalls von -1 bis 1 gehen, aber mit 32 Bit quantisiert bzw. dargestellt werden.
  • Nachdem Schritt 1 beendet wurde folgt Schritt 2. In Schritt 2 werden die Trainingsdaten durch das neuronale Netz, dessen Parameter Werte aus dem aktuellen Wertebereich aufweisen, propagiert. D.h. das neuronale Netz wird beispielsweise mit einer Auflösung von 32 Bit betrieben. Beim Propagieren der Trainingsdaten durch das tiefe neuronale Netz werden zufällige Fehler in diverse ermittelte Zwischengrößen eingestreut. Die zufälligen Fehler haben dabei eine Größenordnung entsprechend dem ermittelten Quantisierungsfehler aus Schritt 1. Vorzugsweise wird der zufällige Fehler an die Positionen innerhalb des neuronalen Netzes eingestreut, an welchen anschließend eine Quantisierung durchgeführt werden soll.
  • Nachdem die Ausgangsgrößen mittels des Propagieren ermittelt wurden, wird eine Differenz zwischen den Ausgangsgrößen und dem Label der Trainingsdaten ermittelt.
  • Daraufhin folgt in dem nachfolgenden Schritt 3 eine Anpassung der Parameter. Die Anpassung erfolgt dabei derart, dass die Differenz zwischen den Ausgangsgrößen und den Label der Trainingsdaten minimiert wird. Vorzugsweise wird hierfür mittels einer Kostenfunktion die Differenz abhängig von den Parametern bestimmt, worauf die Kostenfunktion mittels eines Gradiententabstiegsverfahrens minimiert wird. Die Minimierung erfolgt bspw. durch ein Optimieren über die Parameter des neuronalen Netzes. Es sei angemerkt, dass die Parameter hierfür in dem aktuellen Wertebereich mit einer Auflösung von 32 Bit gehandhabt werden.
  • Nachdem über die Parameter optimiert wurde, folgt Schritt 4. In Schritt 4 werden die optimierten Parameter auf den quantisierten Wertebereich abgebildet. Vorzugsweise wird hier die Auflösung der Parameter von 32 Bit auf beispielsweise 8 Bit reduziert.
  • Optional kann nach Beendigung Schrittes 4 anschließend Schritt 5 ausgeführt werden. In Schritt 5 wird ein Stapel (engl. batch) von Trainingsdaten durch das neuronale Netz mit jeweils einer Auflösung von 8 bzw. 32 Bit propagiert. Daraufhin wird anhand von ermittelten Zwischengrößen beim Propagieren des Stapels von Trainingsdaten der Quantisierungsfehler ermittelt. Beispielsweise kann ein mittlerer Quantisierungsfehler bestimmt werden, in dem eine Mehrzahl von Differenzen zwischen den ermittelten Zwischengrößen des Netzes mit 8 bzw. 32 Bit ermittelt werden.
  • In einem weiteren nachfolgenden optionalen Schritt kann das neuronale Netz mit den quantisierten Parametern auf eine dedizierte Hardware aufgespielt werden und anschließend auf dieser Hardware betrieben werden.
  • In einem bevorzugten Ausführungsbeispiel wird das erhaltene quantisierte neuronale Netz gemäß dem oben beschriebenen Verfahren für ein autonomes Fahrzeug verwendet. Das autonome Fahrzeug umfasst hierfür eine Kamera und eine dedizierte Hardware auf welcher das quantisierte neuronale Netz aufgespielt wurde. Vorzugsweise umfasst das autonome Fahrzeug eine Steuereinheit, die mit einem Ausgang der dedizierten Hardware des quantisierten neuronalen Netzes verbunden ist. Wenn die Kamera ein Kamerabild erfasst hat und an die dedizierte Hardware weitergeleitet hat, kann mittels der dedizierte Hardware und des darauf aufgespielten quantisierte neuronalen Netzes beispielsweise eine Segmentierung des Kamerabildes ermittelt werden. Anschließend wird die Segmentierung an die Steuereinheit weitergeleitet, die abhängig von dieser Segmentierung eine Steuergröße ermittelt, die zur Ansteuerung des autonomen Fahrzeuges verwendet wird.
  • In einem weiteren bevorzugten Ausführungsbeispiel wird das quantisierte neuronale Netz für eine Überwachungskamera eines Gebäudeüberwachungssystems verwendet. Wie in dem Ausführungsbeispiel des Fahrzeuges, ist die dedizierte Hardware mit dem aufgespielten quantisierten neuronalen Netz mit der Überwachungskamera verbunden. Eine Kameraaufnahme der Überwachungskamera wird daraufhin mittels der dedizierte Hardware und des aufgespielten quantisierten neuronalen Netz beispielsweise segmentiert und auf einem Bildschirm ausgegeben.

Claims (10)

  1. Verfahren zum Quantisieren von Parametern eines neuronalen Netzes, umfassend die Schritte: Bereitstellen eines vorgebbaren quantisierten Wertebereichs der Parameter sowie von Trainingsdaten umfassend Trainingseingangsgrößen mit jeweils zugeordneten Trainingsausgangsgrößen; Ermitteln eines Quantisierungsfehlers abhängig von dem vorgebbaren quantisierten Wertebereich und einem aktuellen Wertebereich der Parameter; Ermitteln von Ausgangsgrößen des neuronalen Netzes in Abhängigkeit jeweils der Trainingseingangsgrößen und der Parameter, welche jeweils einen Wert aus dem aktuellen Wertebereich aufweisen, wobei ermittelte Zwischengrößen des neuronalen Netzes mit zufälligen Fehlern, die im Wesentlichen im Mittel dem ermittelten Quantisierungsfehler entsprechen, beaufschlagt werden; Anpassen der Werte der Parameter auf einen der Werte innerhalb des aktuellen Wertebereichs abhängig von einer Differenz der ermittelten Ausgangsgrößen und der Trainingsausgangsgrößen; Abbilden der Parameter jeweils auf einen der Werte des vorgebbaren quantisierten Wertebereichs.
  2. Verfahren nach Anspruch 1, wobei beim Ermitteln des Quantisierungsfehlers eine Mehrzahl der Trainingseingangsgrößen jeweils durch das neuronale Netz mit den Parameter, deren Werte innerhalb des aktuellen Wertebereichs liegen und durch das neuronale Netz mit den abgebildeten Parameter, deren Werte innerhalb des vorgebbaren quantisierten Wertebereich liegen, propagiert wird, und wobei der Quantisierungsfehler abhängig von Zwischengrößen des neuronalen Netzes mit jeweils Parameter, die ein Wert aus dem aktuellen Wertebereich und aus dem vorgebbaren quantisierten Wertebereich aufweisen, ermittelt wird.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei jeweils Ausgangsgrößen von Schichten des neuronalen Netzes mit den zufälligen Fehlern beaufschlagt werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei der aktuelle Wertebereich auch ein quantisierter Wertebereich ist, der mittels einer Auflösung von mindestens 32 Bit dargestellt wird, und wobei der vorgebbare quantisierte Wertebereich mittels einer Auflösung von weniger als 16 Bit, insbesondere weniger als 8 Bit, dargestellt wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die zufälligen Fehler aus einer Gaussverteilung oder einer Gleichverteilung zentriert um ermittelten Quantisierungsfehler zufällig gezogen werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der vorgebbare quantisierte Wertebereich und/oder der Quantisierungsfehler abhängig von einer vorgebbaren Hardware ist, auf welcher das quantisierte neuronale Netz betrieben werden soll.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das neuronale Netz ein faltendes neuronales Netz (engl. convolutional neural network) ist, wobei das faltende neuronale Netz Sensorgrößen, insbesondere erfasst mittels einer Kamera eines Fahrzeugs oder einer (Gebäude-)Überwachungskamera, als Eingangsgröße erhält, und wobei das faltende neuronale Netz eingerichtet ist, eine Klassifizierung oder Segmentierung der Sensorgrößen zu ermitteln.
  8. Vorrichtung die eingerichtet ist, das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.
  9. Computerprogramm, welches Befehle umfasst, die eingerichtet sind, beim Ausführen der Befehle auf einem Computer, diesen Computer zu veranlassen, das Verfahren nach einem der vorhergehenden Ansprüche 1 bis 7 auszuführen.
  10. Maschinenlesbares Speicherelement auf welchem das Computerprogramm nach Anspruch 9 hinterlegt ist.
DE102019205842.6A 2019-04-24 2019-04-24 Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen Pending DE102019205842A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019205842.6A DE102019205842A1 (de) 2019-04-24 2019-04-24 Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019205842.6A DE102019205842A1 (de) 2019-04-24 2019-04-24 Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen

Publications (1)

Publication Number Publication Date
DE102019205842A1 true DE102019205842A1 (de) 2020-10-29

Family

ID=72839554

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019205842.6A Pending DE102019205842A1 (de) 2019-04-24 2019-04-24 Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen

Country Status (1)

Country Link
DE (1) DE102019205842A1 (de)

Similar Documents

Publication Publication Date Title
DE202017102235U1 (de) Trainingssystem
DE202017102238U1 (de) Aktorsteuerungssystem
EP3785177A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neurona-len netzes
EP3701433B1 (de) Verfahren, vorrichtung und computerprogramm zur erstellung eines tiefen neuronalen netzes
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE102018208763A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines maschinellen Lernsystems
DE102019217613A1 (de) Verfahren zur diagnose eines motorzustands und diagnostisches modellierungsverfahren dafür
EP3782081B1 (de) Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
EP3825796A1 (de) Verfahren und vorrichtung zum ki-basierten betreiben eines automatisierungssystems
EP3786853A1 (de) Komprimieren eines tiefen neuronalen netzes
EP3785178B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
EP3736742A1 (de) Maschinelles lernsystem, sowie ein verfahren, ein computerprogramm und eine vorrichtung zum erstellen des maschinellen lernsystems
DE102018220608A1 (de) Maschinelles Lernsystem, sowie ein Verfahren, ein Computerprogramm und eine Vorrichtung zum Erstellen des maschinellen Lernsystems
DE102019205842A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Quantisieren von neuronalen Netzen
DE102018207220A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion
WO2020207786A1 (de) Verfahren, vorrichtung und computerprogramm zum betreiben eines tiefen neuronalen netzes
DE102019216973A1 (de) Lernverfahren für neuronale netze basierend auf evolutionären algorithmen
DE102019132624A1 (de) Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Erstellen eines Motion Cueing Algorithmus
DE202019103233U1 (de) Vorrichtung zum Einstellen eines Hyperparameters
DE102019201188A1 (de) Verfahren zum Trainieren und zum Betrieb eines multitaskingfähigen künstlichen neuronalen Netz, multitaskingfähiges künstliches neuronales Netz und Vorrichtung
DE102018216172A1 (de) Verfahren zum automatischen Erzeugen eines Labels zum Trainieren eines selbstlernenden Systems sowie Kraftfahrzeug
DE202021103700U1 (de) Vorrichtung zum Erzeugen eines künstlichen neuronalen Netzes
DE102021116388A1 (de) Verfahren zum Optimieren eines Reglers und Regelsystem mit einem derart optimierten Regler
DE102021207274A1 (de) Verfahren zum Trainieren eines neuronalen Netz-Ensembles
DE102021207275A1 (de) Verfahren zum Erzeugen eines künstlichen neuronalen Netzes