DE102019210167A1 - Robusteres Training für künstliche neuronale Netzwerke - Google Patents

Robusteres Training für künstliche neuronale Netzwerke Download PDF

Info

Publication number
DE102019210167A1
DE102019210167A1 DE102019210167.4A DE102019210167A DE102019210167A1 DE 102019210167 A1 DE102019210167 A1 DE 102019210167A1 DE 102019210167 A DE102019210167 A DE 102019210167A DE 102019210167 A1 DE102019210167 A1 DE 102019210167A1
Authority
DE
Germany
Prior art keywords
ann
training
random
variable values
values
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
DE102019210167.4A
Other languages
English (en)
Inventor
Frank Schmidt
Torsten Sachse
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 DE102019210167.4A priority Critical patent/DE102019210167A1/de
Priority to US17/625,286 priority patent/US20220261638A1/en
Priority to CN202080049721.5A priority patent/CN114072815A/zh
Priority to KR1020227004453A priority patent/KR20220031099A/ko
Priority to PCT/EP2020/066772 priority patent/WO2021004741A1/de
Priority to JP2022501013A priority patent/JP7314388B2/ja
Publication of DE102019210167A1 publication Critical patent/DE102019210167A1/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/08Learning methods

Landscapes

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

Abstract

Verfahren (100) zum Trainieren eines künstlichen neuronalen Netzwerks, KNN (1), welches eine Vielzahl von Verarbeitungseinheiten (2) umfasst, wobei Parameter (12), die das Verhalten des KNN (1) charakterisieren, optimiert werden (110) mit dem Ziel, dass das KNN (1) Lern-Eingangsgrößenwerte (IIa) nach Maßgabe einer Kostenfunktion (16) möglichst gut auf zugehörige Lern-Ausgangsgrößenwerte (13a) abbildet, wobei die Ausgabe (2b) mindestens einer Verarbeitungseinheit (2) mit einem Zufallswert x multipliziert (112) und anschließend mindestens einer weiteren Verarbeitungseinheit (2') als Eingabe (2a) zugeführt wird (113), wobei der Zufallswert x aus einer Zufallsvariablen (4) gezogen wird (111) mit einer Wahrscheinlichkeitsdichtefunktion (4a), die eine mit zunehmendem | x-q | abfallende Exponentialfunktion in | x-q | beinhaltet, wobei q ein frei wählbarer Lageparameter ist und wobei | x-q | im Argument der Exponentialfunktion in Potenzen | x-q |kmit k ≤ 1 enthalten ist.Verfahren (200) zum Trainieren und Betreiben eines künstlichen neuronalen Netzwerks, KNN (1).

Description

  • Die vorliegende Erfindung betrifft das Training künstlicher neuronaler Netzwerke, beispielsweise für den Einsatz als Klassifikator und/oder als Regressor.
  • Stand der Technik
  • Künstliche neuronale Netzwerke, KNNs, sind dazu ausgebildet, nach Maßgabe einer durch einen Parametersatz vorgegebenen Verhaltensvorschrift Eingangsgrößenwerte auf Ausgangsgrößenwerte abzubilden. Die Verhaltensvorschrift ist nicht in Form verbaler Regeln festgelegt, sondern durch die Zahlenwerte der Parameter in dem Parametersatz. Die Parameter werden beim Training des KNN so optimiert, dass das KNN Lern-Eingangsgrößenwerte möglichst gut auf zugehörige Lern-Ausgangsgrößenwerte abbildet. Von dem KNN wird anschließend erwartet, das beim Training erworbene Wissen zutreffend zu verallgemeinern. Eingangsgrößenwerte sollen also auch dann auf für die jeweilige Anwendung brauchbare Ausgangsgrößenwerte abgebildet werden, wenn sie sich auf unbekannte Situationen beziehen, die im Training nicht vorkamen.
  • Bei einem derartigen Training des KNN besteht grundsätzlich die Gefahr eines Overfittings. Das bedeutet, dass das KNN die korrekte Abbildung der Lern-Eingangsgrößenwerte auf die Lern-Ausgangsgrößenwerte mit großer Perfektion „auswendig lernt“ um den Preis, dass die Verallgemeinerung auf neue Situationen hierunter leidet.
  • (G. E. Hinton, N. Srivastava, A. Krizevsky, I. Sutskever, R. S. Salakhutdinov, „Improving neural networks by preventing co-adaptation of feature detectors“, arXiv:1207.0580 (2012)) offenbart, beim Training jeweils nach einem Zufallsprinzip die Hälfte der verfügbaren Verarbeitungseinheiten zu deaktivieren („Drop-Out“), um das Overfitting zu unterdrücken und eine bessere Verallgemeinerung des beim Training erworbenen Wissens zu erzielen.
  • (S. I. Wang, C. D. Manning, „Fast dropout training", Proceedings of the 30th International Conference on Machine Learning (2013)) offenbart, die Verarbeitungseinheiten nicht ganz zu deaktivieren, sondern mit einem aus einer Gauß-Verteilung erhaltenen Zufallswert zu multiplizieren.
  • Offenbarung der Erfindung
  • Im Rahmen der Erfindung wurde ein Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks, KNN, entwickelt. Das KNN umfasst eine Vielzahl von Verarbeitungseinheiten, die beispielsweise zu Neuronen des KNN korrespondieren können. Das KNN dient dazu, Eingangsgrößenwerte auf im Sinne der jeweiligen Anwendung sinnvolle Ausgangsgrößenwerte abzubilden.
  • Dabei ist der Begriff „Werte“ jeweils nicht einschränkend in Bezug auf die Dimensionalität zu verstehen. So kann ein Bild beispielsweise als Tensor aus drei Farbebenen mit jeweils einem zweidimensionalen Array von Intensitätswerten einzelner Pixel vorliegen. Das KNN kann dieses Bild im Ganzen als Eingangsgrößenwert entgegennehmen und ihm beispielsweise einen Vektor von Klassifikationen als Ausgangsgrößenwert zuordnen. Dieser Vektor kann beispielsweise für jede Klasse der Klassifikation angeben, mit welcher Wahrscheinlichkeit oder Konfidenz ein Objekt der entsprechenden Klasse in dem Bild vorhanden ist. Das Bild kann hierbei eine Größe von beispielsweise mindestens 8x8, 16x16, 32x32, 64x64, 128x128, 256x256 oder 512x512 Pixeln aufweisen, und mittels eines bildgebenden Sensors aufgenommen worden sein, beispielsweise einem Video-, Ultraschall-, Radar oder Lidarsensor oder einer Wärmebildkamera. Das KNN kann insbesondere ein tiefes neuronales Netz sein, also wenigstens zwei verdeckte Schichten umfassen. Die Anzahl der Verarbeitungseinheiten ist vorzugsweise groß, beispielsweise größer als 1.000, bevorzugt größer als 10.000.
  • Das KNN kann insbesondere in ein Steuerungssystem eingebettet werden, welches abhängig von den ermittelten Ausgangsgrößenwerten ein Ansteuersignal zum entsprechenden Ansteuern eines Fahrzeugs und/oder eines Roboters und/oder einer Fertigungsmaschine und/oder eines Werkzeugs und/oder einer Überwachungskamera und/oder eines medizinisch-bildgebenden Systems bereitstellt.
  • Bei dem Training werden Parameter, die das Verhalten des KNN charakterisieren, optimiert. Das Ziel dieser Optimierung ist, dass das KNN Lern-Eingangsgrößenwerte nach Maßgabe einer Kostenfunktion möglichst gut auf zugehörige Lern-Ausgangsgrößenwerte abbildet.
  • Die Ausgabe mindestens einer Verarbeitungseinheit wird mit einem Zufallswert x multipliziert und anschließend mindestens einer weiteren Verarbeitungseinheit als Eingabe zugeführt. Dabei wird der Zufallswert x aus einer Zufallsvariablen gezogen mit einer vorher festgelegten Wahrscheinlichkeitsdichtefunktion. Das bedeutet, dass bei jedem Ziehen aus der Zufallsvariablen jeweils ein neuer Zufallswert x entsteht. Beim Ziehen einer hinreichend großen Anzahl Zufallswerte x bildet die beobachtete Häufigkeit dieser Zufallswerte x näherungsweise die vorher festgelegte Wahrscheinlichkeitsdichtefunktion ab.
  • Die Wahrscheinlichkeitsdichtefunktion ist proportional zu einer mit betragsmäßig zunehmendem | x-q | abfallenden Exponentialfunktion in | x-q |. Im Argument dieser Exponentialfunktion ist | x-q | in Potenzen | x-q |k mit k ≤ 1 enthalten. Hierin ist q ein frei wählbarer Lageparameter, der die Lage des Mittelwerts der Zufallsvariablen festlegt.
  • Es wurde erkannt, dass dies überraschenderweise die Tendenz zum Overfitting noch besser unterdrückt als die genannten Methoden nach dem Stand der Technik. Das bedeutet, dass ein auf diese Weise trainiertes KNN besser in der Lage ist, für die jeweilige Anwendung zielführende Ausgangsgrößenwerte zu ermitteln, wenn ihm Eingangsgrößenwerte vorgelegt werden, die sich auf bislang unbekannte Situationen beziehen.
  • Eine Anwendung, in der sich KNNs in besonderem Maße in ihrer Kraft zur Verallgemeinerung bewähren müssen, ist das zumindest teilweise automatisierte Führen von Fahrzeugen im öffentlichen Straßenverkehr. Analog zur Ausbildung menschlicher Fahrer, die bis zu ihrer Prüfung meistens weniger als 50 Stunden hinter dem Steuer sitzen und weniger als 1000 km zurücklegen, müssen auch KNNs mit einem Training auf einer begrenzten Menge an Situationen auskommen. Der begrenzende Faktor ist hier, dass das „Labeln“ von Lern-Eingangsgrößenwerten, wie beispielsweise Kamerabildern aus dem Umfeld des Fahrzeugs, mit Lern-Ausgangsgrößenwerten, wie beispielsweise einer Klassifikation der in den Bildern sichtbaren Objekte, in vielen Fällen menschliche Arbeitskraft erfordert und entsprechend teuer ist. Gleichwohl ist es für die Sicherheit unerlässlich, dass auch ein später in Verkehr gebrachtes Auto mit extravagantem Design noch als Auto erkannt wird und dass ein Fußgänger nicht als frei befahrbare Fläche klassifiziert wird, nur, weil er ein Kleidungsstück mit einem ausgefallenen Muster trägt.
  • Eine bessere Unterdrückung des Overfittings hat also in diesen und anderen sicherheitsrelevanten Anwendungen zur Folge, dass den vom KNN ausgegebenen Ausgangsgrößenwerten im höheren Maße vertraut werden kann und dass eine geringere Menge an Lern-Daten benötigt wird, um das gleiche Sicherheitsniveau zu erzielen.
  • Weiterhin geht die bessere Unterdrückung des Overfittings auch damit einher, dass die Robustheit des Trainings verbessert wird. Ein technisch wichtiges Kriterium für die Robustheit ist, inwieweit die Qualität des Trainingsergebnisses von dem Ausgangszustand abhängt, von dem aus das Training gestartet wurde. So werden die Parameter, die das Verhalten des KNN charakterisieren, in der Regel zufällig initialisiert und dann sukzessive optimiert. Bei manchen Anwendungen, wie etwa dem Transfer von Bildern zwischen Domänen, die jeweils unterschiedliche Bildstile repräsentieren, mit Hilfe von „generative adversarial networks“ kann es schwer vorhersehbar sein, ob ein von einer zufälligen Initialisierung ausgehendes Training ein letztendlich brauchbares Ergebnis liefert. Versuche der Anmelderin haben hier gezeigt, dass häufig mehrere Anläufe nötig sind, bis das Trainingsergebnis für die jeweilige Anwendung brauchbar ist.
  • Eine bessere Unterdrückung von Overfitting spart in dieser Situation Rechenzeit für vergebliche Anläufe, und somit auch Energie und Geld.
  • Ursache für die bessere Unterdrückung des Overfittings ist, dass die in den Lern-Eingangsgrößenwerten enthaltene Variabilität, von der die Fähigkeit des KNN zur Verallgemeinerung abhängt, durch die zufällige Beeinflussung der Verarbeitungseinheiten vergrößert wird. Die Wahrscheinlichkeitsdichtefunktion mit den beschriebenen Eigenschaften hat hier die vorteilhafte Wirkung, dass die Beeinflussung der Verarbeitungseinheiten weniger Widersprüche zu der für das Training verwendeten „ground truth“ erzeugt, die im „Labeling“ der Lern-Eingangsgrößenwerte mit den Lern-Ausgangsgrößenwerten verkörpert ist.
  • Die Beschränkung der Potenzen | x-q |k von | x-q | auf Exponenten k ≤ 1 wirkt in besonderem Maße dem Auftreten von Singularitäten beim Training entgegen. Das Training wird häufig mit einem Gradientenabstiegsverfahren in Bezug auf die Kostenfunktion durchgeführt. Das bedeutet, dass die Parameter, die das Verhalten des KNN charakterisieren, in einer Richtung optimiert werden, in der bessere Werte der Kostenfunktion zu erwarten sind. Die Bildung von Gradienten erfordert aber eine Differentiation, und hier wirkt es sich bei Exponenten k > 1 aus, dass die Betragsfunktion um 0 herum nicht differenzierbar ist.
  • In einer besonders vorteilhaften Ausgestaltung ist die Wahrscheinlichkeitsdichtefunktion eine Laplace-Verteilungsfunktion. Diese Funktion hat ein scharfes, spitzes Maximum in ihrem Zentrum, wobei die Wahrscheinlichkeitsdichte jedoch auch in diesem Maximum stetig ist. Das Maximum kann beispielsweise einen Zufallswert x von 1 repräsentieren, d.h., eine unveränderte Weiterleitung der Ausgabe der einen Verarbeitungseinheit als Eingabe an die weitere Verarbeitungseinheit. Um das Maximum herum sind dann viele Zufallswerte x konzentriert, die nahe an 1 liegen. Das bedeutet, dass die Ausgaben vieler Verarbeitungseinheiten nur leicht modifiziert werden. Auf diese Weise werden die besagten Widersprüche zu dem im „Labeling“ der Lern-Eingangsgrößenwerte mit den Lern-Ausgangsgrößenwerten enthaltenen Wissen vorteilhaft unterdrückt.
  • Insbesondere kann die Wahrscheinlichkeitsdichte Lb(X) der Laplace-Verteilungsfunktion beispielsweise gegeben sein durch: L b ( x ) = 1 2 b exp ( | x q | b )   mit   b = p 2 2 p   und   0 p < 1.
    Figure DE102019210167A1_0001
  • Hier ist q, wie oben beschrieben, der frei wählbare Lageparameter der Laplace-Verteilung. Ist dieser Lageparameter beispielsweise auf 1 festgelegt, wird das Maximum der Wahrscheinlichkeitsdichte Lb(x), wie oben beschrieben, bei x = 1 angenommen. Der Skalenparameter b der Laplace-Verteilung ist durch den Parameter p ausgedrückt, und der für die vorgesehene Anwendung sinnvolle Bereich ist hierdurch auf den Bereich 0 ≤ p < 1 normiert.
  • In einer besonders vorteilhaften Ausgestaltung ist das KNN aus mehreren Schichten aufgebaut. Für diejenigen Verarbeitungseinheiten in mindestens einer Schicht, deren Ausgaben wie zuvor beschrieben mit einem Zufallswert x multipliziert werden, werden die Zufallswerte x aus ein und derselben Zufallsvariablen gezogen. In dem zuvor genannten Beispiel, in dem die Wahrscheinlichkeitsdichte der Zufallswerte x Laplace-verteilt ist, bedeutet dies, dass der Wert von p für alle Verarbeitungseinheiten in der mindestens einen Schicht einheitlich ist. Dies trägt dem Umstand Rechnung, dass die Schichten des KNN unterschiedliche Verarbeitungsstufen der Eingangsgrößenwerte repräsentieren und durch die Vielzahl von Verarbeitungseinheiten in jeder Schicht die Verarbeitung massiv parallelisiert ist.
  • Beispielsweise können die verschiedenen Schichten eines KNN, das zur Erkennung von Merkmalen in Bildern ausgebildet ist, der Erkennung von Merkmalen unterschiedlicher Komplexität dienen. So können beispielsweise in einer ersten Schicht Grundelemente erkannt werden und in einer zweiten, darauffolgenden Schicht Merkmale, die aus diesen Grundelementen zusammengesetzt sind.
  • Die verschiedenen Verarbeitungseinheiten einer Schicht arbeiten somit mit der gleichen Art von Daten, so dass es vorteilhaft ist, Änderungen der Ausgaben durch die Zufallswerte x innerhalb einer Schicht aus ein und derselben Zufallsvariablen zu entnehmen. Dabei werden die unterschiedlichen Ausgaben innerhalb einer Schicht in der Regel mit unterschiedlichen Zufallswerten x geändert. Es sind jedoch alle innerhalb einer Schicht gezogenen Zufallswerte x gemäß der gleichen Wahrscheinlichkeitsdichtefunktion verteilt.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird nach dem Training die Genauigkeit, mit der das trainierte KNN Validierungs-Eingangsgrößenwerte auf zugehörige Validierungs-Ausgangsgrößenwerte abbildet, ermittelt. Das Training wird mehrfach mit jeweils zufälliger Initialisierung der Parameter wiederholt.
  • Besonders vorteilhaft sind hierbei die meisten oder am besten alle Validierungs-Eingangsgrößenwerte nicht in der Menge der Lern-Eingangsgrößenwerte enthalten. Die Ermittlung der Genauigkeit wird dann nicht durch ein eventuelles Overfitting des KNN beeinflusst.
  • Die Varianz über die nach den einzelnen Trainings jeweils ermittelten Genauigkeiten wird als Maß für die Robustheit des Trainings ermittelt. Je weniger sich die Genauigkeiten voneinander unterscheiden, desto besser ist die Robustheit im Sinne dieses Maßes.
  • Es ist nicht garantiert, dass die ausgehend von unterschiedlichen zufälligen Initialisierungen gestarteten Trainings am Ende auf die gleichen oder ähnliche Parameter, die das Verhalten des KNN charakterisieren, führen. Zwei nacheinander gestartete Trainings können auch völlig unterschiedliche Sätze der Parameter als Ergebnisse liefern. Es ist jedoch sichergestellt, dass sich die durch die beiden Parametersätze charakterisierten KNN bei der Anwendung auf die Validierungs-Datensätze qualitativ ähnlich verhalten.
  • Die quantitative Messung der Genauigkeit in der beschriebenen Weise liefert weitere Ansatzpunkte für eine Optimierung des KNN und/oder seines Trainings. In einer weiteren besonders vorteilhaften Ausgestaltung wird entweder die maximale Potenz k von | x-q | in der Exponentialfunktion oder der Wert von p in der Laplace-Wahrscheinlichkeitsdichte Lb(X) optimiert mit dem Ziel, die Robustheit des Trainings zu verbessern. Auf diese Weise kann das Training noch besser auf die beabsichtigte Anwendung des KNN zugeschnitten werden, ohne dass ein konkreter Wirkzusammenhang zwischen der maximalen Potenz k bzw. dem Wert von p einerseits und der Anwendung andererseits vorab bekannt sein muss.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird mindestens ein Hyperparameter, der die Architektur des KNN charakterisiert, optimiert mit dem Ziel, die Robustheit des Trainings zu verbessern. Hyperparameter können sich beispielsweise auf die Anzahl der Schichten des KNN, und/oder auf den Typ und/oder die Anzahl der Verarbeitungseinheiten in jeder Schicht, beziehen. Damit wird auch bezüglich der Architektur des KNN eine Möglichkeit geschaffen, menschliche Entwicklungsarbeit zumindest teilweise durch automatisierte Maschinenarbeit zu ersetzen.
  • Vorteilhaft werden die Zufallswerte x während der Trainingsschritte des KNN jeweils konstant gehalten und zwischen den Trainingsschritten neu aus der Zufallsvariablen gezogen. Ein Trainingsschritt kann insbesondere beinhalten, zumindest eine Teilmenge der Lern-Eingangsgrößenwerte zu Ausgangsgrößenwerten zu verarbeiten, diese Ausgangsgrößenwerte nach Maßgabe der Kostenfunktion mit den Lern-Ausgangsgrößenwerten zu vergleichen und die hieraus gewonnenen Erkenntnisse in die Parameter, die das Verhalten des KNN charakterisieren, zurückzuspielen. Dabei kann dieses Zurückspielen beispielsweise durch sukzessive Rückpropagation durch das KNN erfolgen. Insbesondere für eine solche Rückpropagation ist es sinnvoll, wenn der Zufallswert x an der jeweiligen Verarbeitungseinheit der gleiche ist, der auch auf dem Hinweg bei der Verarbeitung der Eingangsgrößenwerte verwendet wurde. Die bei der Rückpropagation genutzte Ableitung der durch die Verarbeitungseinheit repräsentierten Funktion korrespondiert dann zu derjenigen Funktion, die auf dem Hinweg zum Einsatz gekommen ist.
  • In einer besonders vorteilhaften Ausgestaltung ist das KNN als Klassifikator und/oder als Regressor ausgebildet. Bei einem Klassifikator bewirkt das verbesserte Training, dass das KNN in einer neuen Situation, die im Training nicht vorkam, mit höherer Wahrscheinlichkeit die im Sinne der konkreten Anwendung richtige Klassifikation liefert. Analog hierzu liefert ein Regressor einen (ein- oder mehrdimensionalen) Regressionswert, die näher an dem im Sinne der konkreten Anwendung richtigen Wert mindestens einer mit der Regression gesuchten Größe liegt.
  • Die in dieser Weise verbesserten Ergebnisse können wiederum in technischen Systemen vorteilhaft wirken. Die Erfindung bezieht sich daher auch auf ein kombiniertes Verfahren zum Trainieren und Betreiben eines KNN.
  • Bei diesem Verfahren wird das KNN mit dem zuvor beschriebenen Verfahren trainiert. Dem trainierten KNN werden anschließend Messdaten zugeführt. Diese Messdaten wurden 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.
  • Gerade derartige Messdaten haben es an sich, dass darin häufig Konstellationen vorkommen, die in den für das Training des KNN verwendeten Lern-Daten nicht enthalten waren. Beispielsweise haben sehr viele Faktoren Einfluss darauf, wie eine von einer Kamera beobachtete Szenerie in die Intensitätswerte eines aufgenommenen Bildes übersetzt wird. Wird ein und dieselbe Szenerie zu verschiedenen Zeitpunkten beobachtet, werden daher mit an Sicherheit grenzender Wahrscheinlichkeit Bilder aufgezeichnet, die nicht identisch sind. Daher ist auch zu erwarten, dass sich jedes bei der Nutzung des trainierten KNN vorkommende Bild zumindest zu einem gewissen Grade von allen Bildern unterscheidet, die beim Training des KNN verwendet wurden.
  • Das trainierte KNN bildet die als Eingangsgrößenwerte erhaltenen Messdaten auf Ausgangsgrößenwerte ab, wie beispielsweise auf eine Klassifikation und/oder Regression. Abhängig von diesen Ausgangsgrößenwerten wird ein Ansteuersignal gebildet, und ein Fahrzeug, und/oder ein Klassifikationssystem, und/oder ein System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System für die medizinische Bildgebung, wird mit dem Ansteuersignal angesteuert.
  • Das verbesserte Training hat in diesem Zusammenhang die Wirkung, dass mit höherer Wahrscheinlichkeit diejenige Ansteuerung des jeweiligen technischen Systems ausgelöst wird, die im Kontext der jeweiligen Anwendung und des durch die Messdaten repräsentierten aktuellen Zustandes des Systems angemessen ist.
  • Das Ergebnis des Trainings ist in den Parametern verkörpert, die das Verhalten des KNN charakterisieren. Der Parametersatz, der diese Parameter umfasst und mit dem zuvor beschriebenen Verfahren erhalten wurde, kann unmittelbar verwendet werden, um ein KNN in den trainierten Zustand zu versetzen. Insbesondere können KNN mit dem durch das zuvor beschriebene Training verbesserten Verhalten beliebig vervielfältigt werden, wenn der Parametersatz einmal vorliegt. Daher handelt es sich bei dem Parametersatz um ein eigenständig verkaufbares Produkt.
  • Die beschriebenen Verfahren können 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 Parametersatz, mit dem Computerprogramm, mit dem maschinenlesbaren Datenträge, und/oder 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 zum Trainieren eines KNN 1;
    • 2 Beispielhafte Abänderung der Ausgaben 2b von Verarbeitungseinheiten 2 in einem KNN 1 mit mehreren Schichten 3a-3c;
    • 3 Ausführungsbeispiel des kombinierten Verfahrens 200 zum Trainieren eines KNN 1 und zum Betreiben des so trainierten KNN 1*.
  • 1 ist ein Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zum Trainieren des KNN 1. In Schritt 110 werden Parameter 12 eines in seiner Architektur festgelegten KNN 1 optimiert mit dem Ziel, dass Lern-Eingangsgrößenwerte 11a nach Maßgabe der Kostenfunktion 16 möglichst gut auf Lern-Ausgangsgrößenwerte 13a abgebildet werden. Im Ergebnis wird das KNN 1 in seinen trainierten Zustand 1* versetzt, der durch optimierte Parameter 12* charakterisiert ist.
  • Die zum Stand der Technik gehörende Optimierung nach Maßgabe der Kostenfunktion 16 ist in 1 der Übersichtlichkeit halber nicht weiter erläutert. Stattdessen ist innerhalb des Kastens 110 lediglich veranschaulicht, wie in diesen bekannten Prozess eingegriffen wird, um das Ergebnis des Trainings zu verbessern.
  • In Schritt 111 wird ein Zufallswert x aus einer Zufallsvariablen 4 gezogen. Diese Zufallsvariable 4 ist statistisch durch ihre Wahrscheinlichkeitsdichtefunktion 4a charakterisiert. Werden viele Zufallswerte x aus der gleichen Zufallsvariablen 4 gezogen, werden die Wahrscheinlichkeiten, mit der die einzelnen Werte von x vorkommen, im Mittel durch die Dichtefunktion 4a beschrieben.
  • Die Ausgabe 2b einer Verarbeitungseinheit 2 des KNN 1 wird in Schritt 112 mit dem Zufallswert x multipliziert. In Schritt 113 wird das so gebildete Produkt einer weiteren Verarbeitungseinheit 2' des KNN 1 als Eingabe 2a zugeführt.
  • Dabei kann gemäß Block 111a innerhalb einer Schicht 3a-3c des KNN 1 jeweils für alle Verarbeitungseinheiten 2 die gleiche Zufallsvariable 4 genutzt werden. Gemäß Block 111b können die Zufallswerte x während der Trainingsschritte des KNN 1, die neben der Abbildung der Lern-Eingangsgrößenwerte 11a auf Ausgangsgrößenwerte 13 auch die sukzessive Rückpropagation des von der Kostenfunktion 16 ermittelten Fehlers durch das KNN 1 umfassen kann, konstant gehalten werden. Die Zufallswerte x können dann gemäß Block 111c zwischen den Trainingsschritten neu aus der Zufallsvariablen 4 gezogen werden.
  • Bereits das einmalige Training des KNN 1 gemäß Schritt 110 verbessert dessen Verhalten in der technischen Anwendung. Die Verbesserung kann noch weiter gesteigert werden, wenn mehrere solche Trainings durchgeführt werden. Dies ist in 1 näher ausgeführt.
  • In Schritt 120 wird nach dem Training die Genauigkeit 14, mit der das trainierte KNN 1* Validierungs-Eingangsgrößenwerte 11b auf zugehörige Validierungs-Ausgangsgrößenwerte 13b abbildet, ermittelt. In Schritt 130 wird das Training mehrfach mit jeweils zufälliger Initialisierung 12a der Parameter 12 wiederholt. Die Varianz über die nach den einzelnen Trainings jeweils ermittelten Genauigkeiten 14 wird in Schritt 140 als Maß für die Robustheit 15 des Trainings ermittelt.
  • Diese Robustheit 15 kann als solche in beliebiger Weise ausgewertet werden, um eine Aussage über das Verhalten des KNN 1 abzuleiten. Die Robustheit 15 kann aber auch in das Training des KNN 1 zurückgespielt werden. Hierfür sind in 1 zwei beispielhafte Möglichkeiten angegeben.
  • In Schritt 150 kann die maximale Potenz k von | x-q | in der Exponentialfunktion oder der Wert von p in der Laplace-Wahrscheinlichkeitsdichte Lb(X) optimiert werden mit dem Ziel, die Robustheit 15 zu verbessern. In Schritt 160 kann mindestens ein Hyperparameter, der die Architektur des KNN charakterisiert, optimiert werden mit dem Ziel, die Robustheit 15 zu verbessern.
  • 2 zeigt beispielhaft, wie die Ausgaben 2b von Verarbeitungseinheiten 2 in einem KNN 1 mit mehreren Schichten 3a-3c durch aus Zufallsvariablen 4, 4' gezogene Zufallswerte x beeinflusst werden können. Das KNN 1 besteht in dem in 2 gezeigten Beispiel aus drei Schichten 3a-3c mit jeweils vier Verarbeitungseinheiten 2.
  • Eingangsgrößenwerte 11a werden den Verarbeitungseinheiten 2 der ersten Schicht 3a des KNN 1 als Eingaben 2a zugeführt. Die Verarbeitungseinheiten 2, deren Verhalten durch die Parameter 12 charakterisiert ist, erzeugen Ausgaben 2a, die für die Verarbeitungseinheiten 2 der jeweils nächsten Schicht 3a-3c bestimmt sind. Die Ausgaben 2b der Verarbeitungseinheiten 2 in der letzten Schicht 3c bilden zugleich die vom KNN 1 als Ganzes gelieferten Ausgangsgrößenwerte 13. Der Lesbarkeit halber ist für jede Verarbeitungseinheit 2 jeweils nur eine einzige Übergabe an eine weitere Verarbeitungseinheit 2 eingezeichnet. Im realen KNN 1 geht die Ausgabe 2b jeder Verarbeitungseinheit 2 in einer Schicht 3a-3c typischerweise als Eingabe 2a an mehrere Verarbeitungseinheiten 2 in der darauffolgenden Schicht 3a-3c.
  • Die Ausgaben 2b der Verarbeitungseinheiten 2 werden jeweils mit Zufallswerten x multipliziert, und das jeweils erhaltene Produkt wird der nächsten Verarbeitungseinheit 2 als Eingabe 2a zugeführt. Dabei wird für die Ausgaben 2b der Verarbeitungseinheiten 2 der ersten Schicht 3a der Zufallswert x jeweils aus einer ersten Zufallsvariablen 4 gezogen. Für die Ausgaben 2b der Verarbeitungseinheiten 2 der zweiten Schicht 3b wird der Zufallswert x jeweils aus einer zweiten Zufallsvariablen 4' gezogen. Beispielsweise können die Wahrscheinlichkeitsdichtefunktionen 4a, die die beiden Zufallsvariablen 4 und 4' charakterisieren, unterschiedlich skalierte Laplace-Verteilungen sein.
  • Die Ausgangsgrößenwerte 13, auf die das KNN die Lern-Eingangsgrößenwerte 11a abbildet, werden im Rahmen der Auswertung der Kostenfunktion 16 mit den Lern-Ausgangsgrößenwerten 13a verglichen. Hieraus werden Änderungen der Parameter 12 ermittelt, mit denen bei der weiteren Verarbeitung von Lern-Eingangsgrößenwerten 11a voraussichtlich bessere Bewertungen durch die Kostenfunktion 16 erhalten werden können.
  • 3 ist ein Ablaufdiagramm eines Ausführungsbeispiels des kombinierten Verfahrens 200 zum Trainieren eines KNN 1 und zum anschließenden Betreiben des so trainierten KNN 1*.
  • In Schritt 210 wird das KNN 1 mit dem Verfahren 100 trainiert. Das KNN 1 befindet sich dann in seinem trainierten Zustand 1*, und sein Verhalten ist durch die optimierten Parameter 12* charakterisiert.
  • In Schritt 220 wird das fertig trainierte KNN 1* betrieben und bildet Eingangsgrößenwerte 11, die Messdaten umfassen, auf Ausgangsgrößenwerte 13 ab. Aus den Ausgangsgrößenwerten 13 wird in Schritt 230 ein Ansteuersignal 5 gebildet. In Schritt 240 wird 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, mit dem Ansteuersignal 5 angesteuert.
  • 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 Nicht-Patentliteratur
    • (S. I. Wang, C. D. Manning, „Fast dropout training“, Proceedings of the 30th International Conference on Machine Learning (2013) [0005]

Claims (14)

  1. Verfahren (100) zum Trainieren eines künstlichen neuronalen Netzwerks, KNN (1), welches eine Vielzahl von Verarbeitungseinheiten (2) umfasst, wobei Parameter (12), die das Verhalten des KNN (1) charakterisieren, optimiert werden (110) mit dem Ziel, dass das KNN (1) Lern-Eingangsgrößenwerte (11a) nach Maßgabe einer Kostenfunktion (16) möglichst gut auf zugehörige Lern-Ausgangsgrößenwerte (13a) abbildet, wobei die Ausgabe (2b) mindestens einer Verarbeitungseinheit (2) mit einem Zufallswert x multipliziert (112) und anschließend mindestens einer weiteren Verarbeitungseinheit (2') als Eingabe (2a) zugeführt wird (113), wobei der Zufallswert x aus einer Zufallsvariablen (4) mit einer vorher festgelegten Wahrscheinlichkeitsdichtefunktion (4a) gezogen wird (111), wobei die Wahrscheinlichkeitsdichtefunktion (4a) proportional ist zu einer mit zunehmendem | x-q | abfallenden Exponentialfunktion in | x-q 1, wobei q ein frei wählbarer Lageparameter ist und wobei | x-q | im Argument der Exponentialfunktion in Potenzen | x-q |k mit k ≤ 1 enthalten ist.
  2. Verfahren (100) nach Anspruch 1, wobei die Wahrscheinlichkeitsdichtefunktion (4a) eine Laplace-Verteilungsfunktion ist.
  3. Verfahren (100) nach Anspruch 2, wobei die Wahrscheinlichkeitsdichte Lb(X) der Laplace-Verteilungsfunktion gegeben ist durch: L b ( x ) = 1 2 b exp ( | x q | b )   mit   b = p 2 2 p   und   0 p < 1.
    Figure DE102019210167A1_0002
  4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei das KNN aus mehreren Schichten (3a-3c) aufgebaut ist und wobei für die Verarbeitungseinheiten (2) in mindestens einer Schicht (3a-3c) die Zufallswerte x aus ein und derselben Zufallsvariablen (4) gezogen werden (111a).
  5. Verfahren (100) nach einem der Ansprüche 1 bis 4, wobei • nach dem Training die Genauigkeit (14), mit der das trainierte KNN (1*) Validierungs-Eingangsgrößenwerte (11b) auf zugehörige Validierungs-Ausgangsgrößenwerte (13b) abbildet, ermittelt wird (120), • das Training mehrfach mit jeweils zufälliger Initialisierung (12a) der Parameter (12) wiederholt wird (130), und • die Varianz über die nach den einzelnen Trainings jeweils ermittelten Genauigkeiten (14) als Maß für die Robustheit (15) des Trainings ermittelt wird (140).
  6. Verfahren (100) nach Anspruch 5, wobei die maximale Potenz k von | x-q | in der Exponentialfunktion oder der Wert von p in der Laplace-Wahrscheinlichkeitsdichte Lb(X) optimiert wird (150) mit dem Ziel, die Robustheit (15) des Trainings zu verbessern.
  7. Verfahren (100) nach einem der Ansprüche 5 bis 6, wobei mindestens ein Hyperparameter, der die Architektur des KNN (1) charakterisiert, optimiert wird (160) mit dem Ziel, die Robustheit (15) des Trainings zu verbessern.
  8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei die Zufallswerte x während der Trainingsschritte des KNN (1) jeweils konstant gehalten (111b) und zwischen den Trainingsschritten neu aus der Zufallsvariablen (4) gezogen werden (111c).
  9. Verfahren (100) nach einem der Ansprüche 1 bis 8, wobei das KNN (1) als Klassifikator, und/oder als Regressor, ausgebildet ist.
  10. Verfahren (200) zum Trainieren und Betreiben eines künstlichen neuronalen Netzwerks, KNN (1), wobei • das KNN (1) mit dem Verfahren (100) nach einem der Ansprüche 1 bis 9 trainiert wird (210); • dem trainierten KNN (1*) Messdaten, 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 Eingangsgrößenwerte (11) zugeführt werden (220); • abhängig von den vom trainierten KNN (1*) gelieferten Ausgangsgrößenwerten (13) ein Ansteuersignal (5) gebildet wird; und • 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, mit dem Ansteuersignal (5) angesteuert wird (230).
  11. Parametersatz mit Parametern (12), die das Verhalten eines KNN (1) charakterisieren, erhalten mit dem Verfahren (100) nach einem der Ansprüche 1 bis 9.
  12. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, ein Verfahren (100, 200) nach einem der Ansprüche 1 bis 10 auszuführen.
  13. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem Parametersatz nach Anspruch 11, und/oder mit dem Computerprogramm nach Anspruch 12.
  14. Computer, ausgerüstet mit dem Parametersatz nach Anspruch 11, mit dem Computerprogramm nach Anspruch 12, und/oder mit dem maschinenlesbaren Datenträger und/oder Downloadprodukt nach Anspruch 13.
DE102019210167.4A 2019-07-10 2019-07-10 Robusteres Training für künstliche neuronale Netzwerke Pending DE102019210167A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102019210167.4A DE102019210167A1 (de) 2019-07-10 2019-07-10 Robusteres Training für künstliche neuronale Netzwerke
US17/625,286 US20220261638A1 (en) 2019-07-10 2020-06-17 More robust training for artificial neural networks
CN202080049721.5A CN114072815A (zh) 2019-07-10 2020-06-17 用于人工神经网络的更稳健训练
KR1020227004453A KR20220031099A (ko) 2019-07-10 2020-06-17 인공 신경망을 위한 더 강건한 훈련 방법
PCT/EP2020/066772 WO2021004741A1 (de) 2019-07-10 2020-06-17 Robusteres training für künstliche neuronale netzwerke
JP2022501013A JP7314388B2 (ja) 2019-07-10 2020-06-17 人工ニューラルネットワークのよりロバストなトレーニング

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019210167.4A DE102019210167A1 (de) 2019-07-10 2019-07-10 Robusteres Training für künstliche neuronale Netzwerke

Publications (1)

Publication Number Publication Date
DE102019210167A1 true DE102019210167A1 (de) 2021-01-14

Family

ID=71108601

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019210167.4A Pending DE102019210167A1 (de) 2019-07-10 2019-07-10 Robusteres Training für künstliche neuronale Netzwerke

Country Status (6)

Country Link
US (1) US20220261638A1 (de)
JP (1) JP7314388B2 (de)
KR (1) KR20220031099A (de)
CN (1) CN114072815A (de)
DE (1) DE102019210167A1 (de)
WO (1) WO2021004741A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021109168A1 (de) 2021-04-13 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Robusteres Training für künstliche neuronale Netzwerke

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235146A (ja) * 1995-03-01 1996-09-13 Nippon Telegr & Teleph Corp <Ntt> 確率的非巡回神経回路網の学習法
US10373054B2 (en) 2015-04-19 2019-08-06 International Business Machines Corporation Annealed dropout training of neural networks
DE202017106532U1 (de) * 2016-10-28 2018-02-05 Google Llc Suche nach einer neuronalen Architektur

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021109168A1 (de) 2021-04-13 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Robusteres Training für künstliche neuronale Netzwerke

Also Published As

Publication number Publication date
WO2021004741A1 (de) 2021-01-14
JP7314388B2 (ja) 2023-07-25
JP2022540171A (ja) 2022-09-14
US20220261638A1 (en) 2022-08-18
KR20220031099A (ko) 2022-03-11
CN114072815A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
DE102018218586A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme
WO2019001649A1 (de) Wissenstransfer zwischen verschiedenen deep-learning architekturen
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102019214402A1 (de) Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
DE102018127802A1 (de) Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine
DE102018119467B4 (de) Verfahren zum durchführen eines autonomen betriebs eines fahrzeugs durch tiefes räumlich-zeitliches lernen
WO2021004741A1 (de) Robusteres training für künstliche neuronale netzwerke
EP3748453B1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
EP3748454B1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
WO2020178009A1 (de) Training neuronaler netzwerke für effizientes implementieren auf hardware
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
EP3736749A1 (de) Verfahren und vorrichtung zur ansteuerung eines geräts mit einem datensatz
DE102020214850A1 (de) Energie- und speichereffizientes Training neuronaler Netzwerke
DE102020205542A1 (de) Aufbereiten von Lern-Datensätzen mit verrauschten Labeln für Klassifikatoren
WO2021245151A1 (de) Unüberwachtes lernen einer gemeinsamen darstellung von daten von sensoren unterschiedlicher modalität
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE102020213527A1 (de) Verfahren zum Optimieren einer Strategie für einen Roboter
DE102020207004A1 (de) Regularisiertes Training neuronaler Netzwerke
DE102018216078A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE102019216184A1 (de) Verfahren zum Robustifizieren eines Neuronalen Netzes gegen adversariale Störungen
DE102021206183A1 (de) Verfahren zum Vereinfachen eines künstlichen neuronalen Netzwerks
WO2023213867A1 (de) Schneller konvergierendes vortraining für machine learning-modelle
DE102021206106A1 (de) Vorrichtung und Verfahren zum Trainieren eines Maschinenlernsystems zum Entrauschen eines Eingangssignals
DE102022207726A1 (de) Weitertrainieren neuronaler Netzwerke für die Auswertung von Messdaten
DE102021211909A1 (de) Verfahren zum Steuern eines Agenten