Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONFIDENCE ASSESSMENT DURING TRAINING OF AN ANN
Document Type and Number:
WIPO Patent Application WO/2023/186388
Kind Code:
A1
Abstract:
A training method for an artificial neural network, comprising the following steps: - supplying (S1) the ANN with training input data in order to determine output data relative to the training input data; - determining (S2) a confidence of the output data; - training (S3) the ANN by optimizing a loss function that depends on the confidence of the output data.

Inventors:
WOITSCHEK FABIAN (DE)
SCHNEIDER GEORG (DE)
Application Number:
PCT/EP2023/053027
Publication Date:
October 05, 2023
Filing Date:
February 08, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZAHNRADFABRIK FRIEDRICHSHAFEN (DE)
International Classes:
G06N3/088; G06N3/045; G06N3/09; G06N3/094
Foreign References:
US20190235515A12019-08-01
Other References:
KIMIN LEE ET AL: "Training Confidence-calibrated Classifiers for Detecting Out-of-Distribution Samples", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 November 2017 (2017-11-26), XP081319903
TERRANCE DEVRIES ET AL: "Learning Confidence for Out-of-Distribution Detection in Neural Networks", 13 February 2018 (2018-02-13), XP055551171, Retrieved from the Internet [retrieved on 20230404]
STOCCO ANDREA ET AL: "Confidence-driven weighted retraining for predicting safety-critical failures in autonomous driving systems", JOURNAL OF SOFTWARE: EVOLUTION AND PROCESS, vol. 34, no. 10, 5 October 2021 (2021-10-05), pages 2386, XP093037377, ISSN: 2047-7473, Retrieved from the Internet DOI: 10.1002/smr.2386
Download PDF:
Claims:
Patentansprüche

1 . Trainingsverfahren für ein künstliches neuronales Netzwerk mit den folgenden Schritten:

- Speisen (S1) des KNN mit Eingangstrainingsdaten, um Ausgangsdaten zu den Eingangstrainingsdaten zu ermitteln;

- Ermitteln (S2) einer Konfidenz der Ausgangsdaten;

- Trainieren (S3) des KNN, indem eine Verlustfunktion, die von der Konfidenz der Ausgangsdaten abhängt, optimiert wird.

2. Trainingsverfahren nach Anspruch 1 , wobei wenigstens ein Fehlerterm, der von der Konfidenz unabhängig ist, und ein Konfidenzterm, der von der Konfidenz abhängig ist, in die optimierte Verlustfunktion eingeht.

3. Trainingsverfahren nach Anspruch 2, wobei der Konfidenzterm und der Fehlerterm in der Verlustfunktion iterationsabhän- gig gewichtet werden.

4. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei das KNN mit ersten Eingangstrainingsdaten und/oder mit zweiten Eingangs- trainingsdaten gespeist wird, wobei die ersten Eingangstrainingsdaten reale Trai- ningsdaten sind und die zweiten Eingangstrainingsdaten konstruierte Trainingsdaten sind, wobei sich die optimierte Verlustfunktion der ersten und zweiten Eingangstrai- ningsdaten unterscheidet.

5. Trainingsverfahren nach Anspruch 4, wobei ein Konfidenzterm der Verlustfunktion für erste Eingangstrainingsdaten maxi- miert wird, wenn die Konfidenz zwischen 0 und 1 beträgt, wobei Konfidenzen nahe 1 bedeuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.

6. Trainingsverfahren nach Anspruch 4 oder Anspruch 5, wobei eine Konfidenz der Verlustfunktion für zweite Eingangstrainingsdaten minimiert wird, wenn die Konfidenz zwischen 0 und 1 beträgt, wobei Konfidenzen nahe 1 be- deuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.

7. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei die Konfidenz auf dem Abstand der Eingangstrainingsdaten zu einer Entschei- dungsgrenze beruht.

8. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei die Konfidenz mittels einer Kullback-Leibler-Divergenz ermittelt wird, indem das KNN mit ungestörten Eingangstrainingsdaten und mit gestörten Eingangstrai- ningsdaten gespeist wird, wobei für alle Ausgangsdaten eine Wahrscheinlichkeitsver- teilung über dem Ausgangsdatenraum ermittelt wird und zu diesen Wahrscheinlich- keitsverteilungen die Kullback-Leibler-Divergenz ermittelt wird.

9. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei Datenbeispiele in der Verlustfunktion konfidenzabhängig berücksichtigt wer- den, insbesondere mittels einer konfidenzabhängigen Gewichtung.

10. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei Datenbeispiele deren Ausgangsdaten eine Konfidenz aufweisen, die einen vorbestimmten Schwellwert unterschreitet, modifiziert und/oder vervielfältigt werden, um das KNN mit modifizierten und/oder vervielfältigten Eingangstrainingsdaten zu speisen.

11. Computerprogrammprodukt mit Programmcode-Mitteln, um das Verfahren nach einem der vorstehenden Ansprüche durchzuführen.

Description:
Konfidenzbetrachtung während dem Training eines KNN

GEBIET DER ERFINDUNG

Die vorliegende Erfindung betrifft ein Trainingsverfahren für ein künstliches neurona- les Netzwerk.

TECHNISCHER HINTERGRUND

Die Patentanmeldung mit dem Aktenzeichen 10 2021 200 215.3 beschreibt, wie eine Konfidenz von Ausgangsdaten eines KNN ermittelt werden kann, indem die Umge- bungskonfidenz evaluiert wird. Diese bewertet zuverlässig, ob die aktuelle Klassifika- tion sicher in einer Entscheidungsregion liegt oder am Rand einer Region. Daraus ergibt sich die Konfidenz in die aktuelle Klassifikation, welche durch den Generator in verschiedenen Umsetzungsformen bestimmt wird.

Es ist wünschenswert die Konfidenz, beispielsweise die Umgebungskonfidenz, eines KNNs zu steigern, sodass das resultierende KNN eine erhöhte Sicherheit in die Klas- sifikation hat.

ZUSAMMENFASSUNG DER ERFINDUNG

Demgemäß ist vorgesehen:

- ein Trainingsverfahren für ein künstliches neuronales Netzwerk mit den folgen- den Schritten: Speisen des KNN mit Eingangstrainingsdaten, um Ausgangsda- ten zu den Eingangstrainingsdaten zu ermitteln; Ermitteln einer Konfidenz der Ausgangsdaten; Trainieren des KNN, indem eine Verlustfunktion, die von der Konfidenz der Ausgangsdaten abhängt, optimiert wird.

Ein künstliches neuronales Netzwerk (KNN, englisch artificial neural network - ANN) ist ein in einem Rechenprogramm nachgebildetes Netzwerk aus vernetzten künstli- chen Neuronen. Die künstlichen Neuronen sind dabei typischerweise auf verschiedenen Schichten (layers) angeordnet. Üblicherweise umfasst das künstliche neuronale Netzwerk eine Eingangsschicht und eine Ausgabeschicht (output layer), deren Neuronenausgabe als einzige des künstlichen neuronalen Netzwerks sichtbar wird. Zwischen der Eingangsschicht und der Ausgabeschicht liegende Schichten werden typischerweise als verdeckte Schichten (hidden layer) bezeichnet. Typischer- weise wird zunächst eine Architektur bzw. Topologie eines künstlichen neuronalen Netzwerks initiiert und dann in einer Trainingsphase für eine spezielle Aufgabe oder für mehrere Aufgaben in einer Trainingsphase trainiert.

Ein KNN legt eine Abbildung von einem (beispielhaft zweidimensionalen) Eingangs- datenraum auf einen Ergebnisdatenraum fest. Die Abbildung hängt maßgeblich vom Zweck der künstlichen Intelligenz ab, beispielsweise ist es denkbar, Datenpunkte des Eingangsdatenraums hinsichtlich ihrer Eigenschaften zu klassifizieren. In diesem Fall wird den Datenpunkten aus dem Eingangsdatenraum ein Klassifikationsergebnis, wie beispielsweise „Baum“ oder „Haus“, aus dem Ergebnisdatenraum zugeordnet und man spricht von einem klassifizierenden KNN.

Der Begriff „Topologie eines KNN“ umfasst sämtliche Aspekte bezüglich des Aufbaus eines KNN. Hierunter fallen beispielsweise die Anzahl der Neuronen des KNN, die Aufteilung der Neuronen auf die einzelnen Schichten des KNN, die Anzahl der Schichten eines KNN, die Vernetzung der Neuronen und die Gewichtung der Vernet- zung.

Das Training des künstlichen neuronalen Netzwerks umfasst dabei typischerweise eine Veränderung eines Gewichts einer Verbindung zwischen zwei künstlichen Neu- ronen des künstlichen neuronalen Netzwerks. Das Gewicht enthält Information zur Stärke der Berücksichtigung eines Eingangs eines Neurons. Das Training des künst- lichen neuronalen Netzwerks kann auch eine Entwicklung von neuen Verbindungen zwischen künstlichen Neuronen, ein Löschen von bestehenden Verbindungen zwi- schen künstlichen Neuronen, ein Anpassen von Schwellwerten der künstlichen Neu- ronen und/oder ein Hinzufügen oder ein Löschen von künstlichen Neuronen umfas- sen. Das Ziel beim Training künstlicher neuronaler Netze besteht darin, den Verlust im Verlauf des Trainings zu minimieren. Je niedriger der Verlust am Ende unseres Trai- nings, desto besser sind die Vorhersagen unseres Netzes.

Als Methode zur Bewertung eines KNN wird eine Verlustfunktion verwendet. Sie zeigt die Performance des Algorithmus bei der Modellierung der Daten. Eine solche Ver- lustfunktion im supervised learning kann z.B. wie folgt aussehen:

Bei Supervised Learning, also dem Training mit gelabelten Trainingsdaten, gibt es für jedes Xi aus einem Trainingsdatensatz X einen entsprechenden gekennzeichneten Wert Yi aus einem Datensatz Y. Weichen die Vorhersagen des KNN sehr von den Ergebnissen Yi ab, würde das Ergebnis der Verlustfunktion einen hohen Wert ausge- ben und zeigen, dass das Modell schlecht abgeschnitten hat. Im Umkehrschluss be- deutet dies, dass ein Modell gut abschneidet, wenn das Ergebnis der Verlustfunktion einen niedrigen Wert annimmt. Nach Optimierungen kann der Supervised Learning Algorithmus die Abweichungen reduzieren und das Ergebnis der Verlustfunktion würde sinken. Im unsupervised learning sind Verlustfunktionen anders aufgebaut, da Yi unbekannt ist. loss(D) ist ein Beispiel für einen bzw. mehrere Fehlerterme, die kon- fidenzunabhängig sind.

In dieser Patentanmeldung ist vorgesehen, dass die Verlustfunktion einen Konfidenz- term, der von der Konfidenz der Ausgangsdaten abhängt, enthält. Dies kann bedeu- ten, dass der Term eine direkte Abhängigkeit von einem Konfidenzwert aufweist. Es ist jedoch auch denkbar, dass die Abhängigkeit durch die Auswahl oder Gewichtung von Datenbeispielen, welchen ein bestimmter Konfidenzwert zugeordnet wurde, indi- rekt vorgegeben ist.

Ein Training umfasst in der Regel mehrere Iterationen. Eine iterationsabhängige Ver- lustfunktion ändert sich also im Verlauf des Trainings. Typischerweise werden Verlustfunktionen minimiert. Abhängig von den Trainingsda- ten und abhängig von der Parametrisierung der Verlustfunktion kann jedoch auch die Maximierung oder eine bestimmte Zielfunktion oder ein bestimmter Zielwert sinnvoll sein.

Aus diesem Grund spricht die vorliegende Patentanmeldung von einer Optimierung der Verlustfunktion, da der Begriff Optimierung in dieser Anmeldung nicht nur die Mi- nimierung sondern auch die Maximierung und andere Zielfunktionen und Zielwerte umfasst.

Trainingsdaten sind in dieser Anmeldung Datenpaare aus Eingangsdaten, die von dem KNN zu verarbeiten sind, sowie Soll-Ausgangsdaten, die von dem KNN zu er- mitteln sind. Während des Trainings wird das KNN aufgrund eines Vergleichs von Soll-Ausgangsdaten, der in einer Verlustfunktion abgebildet ist, mit dem von dem KNN ermittelten Ist- Ausgangsdaten angepasst, wodurch sich ein Trainingseffekt ein- stellt.

Ein Eingangsdatenraum ist eine Menge an Daten, die alle denkbaren bzw. wohldefi- nierten Eingangsdaten für ein KNN enthält. Ein Ergebnisdatenraum ist eine Menge, die alle denkbaren Ergebnisdaten eines KNN enthält. Dieser Patentanmeldung liegt die Annahme zugrunde, dass sich ein Eingangsdatenraum in Teilmengen oder Da- tenpunkte partitionieren lässt, wobei jedes Element, also eine Teilmenge oder ein Datenpunkt, der Partition auf ein anderes Abbildungsergebnis aus dem Ergebnisda- tenraum abgebildet wird. Grenzen der Teilmengen werden anschaulich auch als Ent- scheidungsgrenzen bezeichnet. Typische Eingangsdaten sind z.B. n-dimensionale Vektoren.

Gestörte Eingangsdaten sind in dieser Patentanmeldung Eingangsdaten, die künst- lich mit einer Störung verknüpft worden sind.

Unter Rauschen versteht man eine Störgröße mit breitem unspezifischem Frequenz- spektrum. Es kann daher als eine Überlagerung vieler harmonischer Schwingungen oder Wellen mit unterschiedlicher Amplitude und Frequenz beziehungsweise Wellenlänge interpretiert werden. Es gibt Rauschprozesse verschiedener Eigen- schaften, z.B. weißes Rauschen, rosa Rauschen oder braunes Rauschen.

Die Amplitude einer eindimensionalen Störung bezeichnet man auch als dessen In- tensität. Handelt es sich um einen mehrdimensionalen Störungsvektor kann die Stö- rungsintensität unterschiedlich definiert werden, z.B. als Betrag eines Störungsvek- tors oder als Maximum seiner Komponenten.

Die Konfidenz bezeichnet eine Wahrscheinlichkeit für die Korrektheit einer Aussage. Dementsprechend beträgt die Konfidenz zwischen 0 und 1 . Im gebräuchlichen Sprachgebrauch werden auch Begriffe wie Zuverlässigkeit oder Verlässlichkeit ver- wendet. Die Konfidenz kann beispielsweise über die Umgebungskonfidenz abge- schätzt werden.

Die Umgebungskonfidenz approximiert die Entfernung eines Datenpunkts im Ein- gangsdatenraum zu den nächsten Entscheidungsgrenzen. Somit kann beurteilt wer- den, wie nah ein Datenpunkt an einer anderen Entscheidungsgrenze liegt. Stellt sich heraus, dass der Abstand des Datenpunkts im Eingangsdatenraum zu einer anderen Entscheidungsgrenze gering ist, ergibt sich daraus eine niedrige Konfidenz des Klas- sifikationsergebnisses, da bereits eine geringe Variation der Eingangsdaten zu einem anderen Klassifikationsergebnis führen würde.

Reale Eingangsdaten sind Eingangsdaten, die zum Ziel haben, die Realität bestmög- lich abzubilden, oder die aus der Realität gewonnen wurden.

Konstruierte Eingangsdaten sind Eingangsdaten, die zu einem bestimmten Zweck konstruiert wurden. Verrauschte Eingangsdaten oder Eingangsdaten, die einer soge- nannten Adversarial Attack dienen, können konstruierte Eingangsdaten sein.

Unter einer Adversarial Attack (zu Deutsch „feindlicher Angriff“) versteht man im Kon- text von Künstlicher Intelligenz (Kl) bzw. Deep Learning die Verwendung von Adver- sarial Examples (zu Deutsch „feindliche Beispiele“) zur Manipulation der Klassifikati- onsergebnisse. Ein Adversarial Example ist ein speziell manipuliertes Eingangs- Signal in ein künstliches Neuronales Netzwerk, welches dieses absichtlich zu Fehl- klassifikationen verleitet. Die Manipulation wird so vorgenommen, dass ein menschli- cher Beobachter diese nicht bemerkt oder nicht als solche erkennt. Beispielsweise bei einem zur Objekterkennung trainierten neuronalen Netzwerk könnten die Pixel ei- nes Bildes leicht verändert werden, sodass diese Veränderungen für Menschen nicht sichtbar sind, das Netzwerk die Objekte auf dem Bild jedoch falsch zuordnet.

Ein anderes Beispiel für konstruierte Eingangsdaten sind solche Eingangsdaten, die sich an einer Entscheidungsgrenze befinden sollen.

Die Kullback-Leibler-Divergenz (kurz KL-Divergenz) ist ein Maß für die Unterschied- lichkeit zweier Wahrscheinlichkeitsverteilungen. Typischerweise repräsentiert dabei eine der Verteilungen empirische Beobachtungen oder eine präzise Wahrscheinlich- keitsverteilung, während die andere ein Modell oder eine Approximation darstellt.

Die KL-Divergenz wird auch relative Entropie genannt.

Computerprogrammprodukte umfassen in der Regel eine Folge von Befehlen, durch die die Hardware bei geladenem Programm veranlasst wird, ein bestimmtes Verfah- ren durchzuführen, das zu einem bestimmten Ergebnis führt.

Die grundliegende Idee der Erfindung ist es, die Konfidenz als einen Parameter wäh- rend des Trainings zu benutzen. Dadurch kann das KNN lernen, eine hohe Klassifi- kationssicherheit zu erreichen und es kann für sicherheitskritische Anwendungen ein- gesetzt werden.

Um die Konfidenz während des Trainings zu optimieren, ist die Verlustfunktion derart zu formulieren, dass diese eine direkte oder indirekte Abhängigkeit der Konfidenz aufweist.

Anstatt die Konfidenz direkt in die Verlustfunktion einzubetten, ist es alternativ denkbar, Trainingsdaten konfidenzabhängig auszuwählen, um eine Abhängigkeit der Verlustfunktion von der Konfidenz zu schaffen. Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den weiteren Unteransprüchen sowie aus der Beschreibung unter Bezugnahme auf die Figuren der Zeichnung.

Gemäß einer bevorzugten Weiterbildung der Erfindung geht wenigstens ein Fehler- term, der von der Konfidenz unabhängig ist, und ein Konfidenzterm, der von der Kon- fidenz abhängig ist, in die optimierte Verlustfunktion ein.

Durch die Einbettung der Konfidenz in die Verlustfunktion ist es möglich, während des Trainings das Lernen einer sicheren Klassifikation zu bevorzugen.

Angenommen L CE (·) ist eine konfidenzunabhängige Verlustfunktion, so ergibt sich beispielsweise die folgende konfidenzabhängige Verlustfunktion:

Dabei ist ξ ist die Konfidenz und ∈ ein einstellbarer Skalierungsfaktor, um den Ein- fluss der Konfidenz zu variieren. bezeichnet die korrekten Ausgangsdaten, also Soll-Ausgangsdaten zu einem Ein- gangsdatenbeispiel. Handelt es sich bei den Eingangstrainingsdaten um gelabelte Eingangsdaten, ist bekannt. Alternativ kann approximiert werden.

Die Konfidenz kann beispielsweise mittels der Umgebungskonfidenz geschätzt wer- den. In diesem Fall kommt folgende Vorgehensweise in Betracht:

Generierung von N Rauschdaten durch Ziehen aus einer Zufallsva- riablen;

Generierung von N verrauschten Datenbeispielen

Klassifikation der Daten wobei f top (·) die ermittelten Ist-Ausgangsdaten des KNN sind ;

Berechnung der Umgebungskonfidenz In diesem vereinfachten Beispiel wird die Verlustfunktion nur für ein einziges Daten- beispiel x (+ zugehörige wahre Klasse bestimmt, sodass auch die Umgebungs- konfidenz nur für ein einziges Datenbeispiel gleichzeitig bestimmt wird.

Bei einem realen Trainingsprozess würde hingegen ein Trainingsdatensatz aus meh- reren Datenbeispielen X (+ zugehörige wahre Klasse ) bestehen, sodass auch die Umgebungskonfidenz auf mehreren Datenbeispielen parallel berechnet werden würde.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden der Konfidenzterm und der Fehlerterm in der Verlustfunktion iterationsabhängig gewichtet.

Sei eine konfidenzabhängige Verlustfunktion nach vorstehendem Beispiel. Dann ist es vorteilhaft, eine iterationsabhängige Funktion e(j), wobei j die Anzahl vorangehender Iterationen bezeichnet, vorzugeben. Somit kann während des Trainings der Einfluss der Konfidenz in dem gesamten Verlustwert eingestellt werden. Beispielsweise kann während initialer Epochen des Trainings ∈=0 gewählt werden, sodass am Anfang der Fokus darauf liegt die Genauigkeit der Klassifikation in die richtige Richtung zu bewegen und die Entscheidungsgrenzen der Klassen grundlegend zu lernen.

Für spätere Epochen, also ansteigende j, kann ∈ wachsen, sodass der Einfluss in späteren Epochen größer ist. Durch diese Strategie wird es ermöglicht, das KNN zuerst grob für eine gute Klassifikationsgenauigkeit zu trainieren und anschließend das Training darauf zu fokussieren, dass die Entscheidungsgrenzen der verschiedenen Klassen einen möglichst großen Abstand zueinander haben.

∈ kann beliebig eingestellt werden, um ein möglichst gutes Training zu ermöglichen und einen möglichst guten Kompromiss zwischen Genauigkeit der Klassifikation und Sicherheit der Klassifikation zu finden.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird das KNN mit ersten Ein- gangstrainingsdaten und/oder mit zweiten Eingangstrainingsdaten gespeist, wobei die ersten Eingangstrainingsdaten reale Trainingsdaten sind und die zweiten Eingangstrainingsdaten konstruierte Trainingsdaten sind, wobei sich die optimierte Verlustfunktion der ersten und zweiten Eingangstrainingsdaten unterscheidet.

Demnach ist es denkbar Trainingsdaten zu konstruieren, indem Rauschdaten durch Ziehung aus einer Zufallsvariablen generiert werden.

Alternativ ist es denkbar Trainingsdaten zu konstruieren, indem Trainingsdaten für sogenannte adversarial attacks ermittelt werden. Adversarial Attacks haben zum Ziel, die Umgebungskonfidenz des KNNs während des Trainings zu minimieren. So werden die Eingangsdaten x' gezielt so berechnet, dass das KNN eine geringe Umgebungskonfidenz auf ihnen hat. Im Training werden daraufhin die Entscheidungsgrenzen so verändert, dass diese wieder weiter auseinander liegen, sodass die Umgebungskonfidenz wieder erhöht wird. Dieser iterative Prozess ermöglicht ein optimales Training und die Steigerung der Umgebungskonfidenz, da das KNN jeweils sein Verhalten auf Eingangsdaten, denen Ausgangsdaten mit geringer Umgebungskonfidenz zugeordnet werden, verbessert.

Eine weitere Methode die Umgebungskonfidenz in die Verlustfunktion zu integrieren, besteht darin, die Distanz zur nächsten Entscheidungsgrenze zu approximieren. An- schließend werden geringe Distanzen mit einem höheren Verlustwert bestraft, so- dass der Abstand zu anderen Entscheidungsregionen während des Trainings erhöht wird.

In diesem Fall werden die Rauschdaten x' also für eine Reichweite von Stärken [λ o , ..., λ max ] generiert, wobei für jede Stärke mehrere Rauschdaten genutzt werden. Nun werden alle generierten Rauschdaten mit dem aktuell trainierten KNN klassifiziert und anschließend überprüft bis welche Stärke die Rauschdaten noch der tatsächlich wahren Klasse y zugeordnet werden. Die Stärke der Rauschdaten, bei denen zuerst eine Abweichung zwischen den ausgegebenen Klassen und der wahren Klasse auftritt, wird als Distanz ζ zur nächsten Entscheidungsregion angesehen. Somit ist es möglich die Distanz zur nächsten Entscheidungsregion sukzessive zu er- höhen. Anfangs wird ζ eher bei geringeren Werten liegen, da bei einer normalen Op- timierung kein Fokus auf die Distanz zu anderen Klassen gelegt wird, solange die ausgegebene Klasse korrekt ist. Für diese geringeren Werte führt log (ζ) zu einer stärkeren Bestrafung, sodass ζ über die Zeit erhöht wird, um den gesamten Verlust- wert zu verringern. Nach mehreren Iterationen wird ζ bei größeren Werten liegen, so- dass die Entscheidungsregionen weiter entfernt sind und die Sicherheit der Klassifi- kation verbessert wurde.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird eine Konfidenz der Ver- lustfunktion für erste Eingangstrainingsdaten maximiert, wenn die Konfidenz zwi- schen 0 und 1 beträgt, wobei Konfidenzen nahe 1 bedeuten, dass die Ausgangsda- ten eine hohe Zuverlässigkeit aufweisen.

Es versteht sich, dass Konfidenzen auch durch Werte, die außerhalb des Wertebe- reichs von 0 bis 1 liegen, ausgedrückt werden können. In diesem Fall sollte dieses Maß für die Konfidenz zunächst auf den Wertebereich zwischen 0 und 1 transformiert werden, so dass Konfidenzen nahe 1 bedeuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.

Es versteht sich deshalb, dass die Erfindung nicht durch die Verwendung eines an- deren Maßes für die Konfidenz umgangen werden kann.

In den bisher beschriebenen Möglichkeiten zur Einbringung der Umgebungskon- fidenz in die Verlustfunktion ist das Ziel (bzw. die Distanz ζ) zu maximieren, um den aktuellen Verlustwert möglichst zu minimieren. Dieses Vorgehen ist sinnvoll, wenn das jeweilige Datenbeispiel x ein reales Beispiel aus den Trainingsdaten ist. Bei sol- chen ist es das Ziel, dass diese sicher in einer Entscheidungsregion klassifiziert wer- den und eine möglichst hohe Sicherheit in die Klassifikation haben.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird ein Konfidenzterm der Verlustfunktion für zweite Eingangstrainingsdaten minimiert, wenn die Konfidenz zwi- schen 0 und 1 beträgt, wobei Konfidenzen nahe 1 bedeuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.

Umgekehrt ist es aber auch möglich „schlechte“ Datenbeispiele zu wählen. Solche Datenbeispiele können bspw. (stark) verrauschte Daten, Daten bei denen die Klasse nicht zweifelsfrei erkennbar ist, Daten mit sehr schlechter Auflösung, Daten mit unge- wöhnlichen Merkmalen, Daten die aus adversarial attacks resultieren, etc. sein.

Exemplarisch sind Datenbeispiele, die ein menschlicher Experte nicht bewerten/an- notieren kann, als schlechte und normalerweise nicht nützliche Daten anzusehen.

Solche Datenbeispiele sind in einem normalen Trainingsdatensatz nicht zu finden, da sie für das Training nicht hilfreich wären.

Dementsprechend ist es sinnvoll, genau solche Datenbeispiele zu verwenden, indem das KNN trainiert wird, diesen Datenbeispielen eine niedrige Konfidenz zuzuordnen.

Dazu werden entsprechende Datenbeispiele in den Trainingsdatensatz eingeführt und eine andere Verlustfunktion für diese Daten gewählt. Anstatt die typische Ver- lustfunktion für normale Trainingsdaten zu optimieren, wird nur die Konfidenz mini- miert:

In diesem Fall wird die Verlustfunktion also minimal, wenn die Umgebungskonfidenz ζ = 0 ist. Das Ziel ist es also die Datenbeispiele möglichst unsicher (an den Grenzen von Entscheidungsregionen) zu klassifizieren. Dadurch wird die Konfidenz minimiert, wodurch auch der Verlust minimiert wird. Dieses Vorgehen ist für „schlechte“ Daten- beispiele sinnvoll, da diese keiner der Klassen sicher zugeordnet werden können. Sie sollten also an den Rändern liegen, da dort die Sicherheit der Klassifikation am geringsten ist.

Gemäß einer bevorzugten Weiterbildung der Erfindung beruht die Konfidenz auf dem Abstand der Eingangstrainingsdaten zu einer Entscheidungsgrenze. Dieser Abstand wird auch als Umgebungskonfidenz bezeichnet. Dadurch wird gewährleistet, dass die Entscheidungsgrenzen möglichst weit entfernt von typischen Klassifikationen verlaufen, sodass das KNN eine möglichst hohe Klas- sifikationssicherheit hat. Dazu wird auch die Robustheit der Klassifikation erhöht, da die Entscheidungsgrenzen verschiedener Klassen möglichst weit voneinander ent- fernt liegen und typische Datenbeispiele eher in der Mitte von Entscheidungsregio- nen liegen. Diese erhöhte Sicherheit zeigt sich nach dem Ende des Trainings auch während der realen Nutzung des KNNs.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird die Konfidenz mittels ei- ner Kullback-Leibler-Divergenz ermittelt, indem das KNN mit ungestörten Eingangs- trainingsdaten und mit gestörten Eingangstrainingsdaten gespeist wird, wobei für alle Ausgangsdaten eine Wahrscheinlichkeitsverteilung über dem Ausgangsdatenraum ermittelt wird und zu diesen Wahrscheinlichkeitsverteilungen die Kullback-Leibler-Di- vergenz ermittelt wird. Die Wahrscheinlichkeitsverteilung eines Eingangsdatenbei- spiels auf dem Ausgangsdatenraum enthält für jedes Element im Ausgangsdaten- raum die Wahrscheinlichkeit, dass den Eingangsdaten die jeweiligen Soll-Ausgangs- daten zuzuordnen sind.

Dabei ist die KL-Divergenz prinzipiell ein Maß, um den Unterschied bzw. die Ähnlich- keit zwischen zwei Wahrscheinlichkeitsverteilungen zu bestimmen.

Folglich nutzt diese Methode der Integration nicht nur die ausgegebene Klasse des KNNs r top (·), sondern auch die zugehörige Wahrscheinlichkeit f prob (·) über alle vor- handenen Klassen. Dementsprechend wird für die KL-Divergenz das KNN f prob (·) benutzt, da dieses den gesamten Wahrscheinlichkeitsvektor ausgibt. Dies ermöglicht es, die Wahrscheinlichkeitsverteilung des ungestörten Eingangsdatenbeispiels x mit der Wahrscheinlichkeitsverteilung der verrauschten Eingangsdaten x' zu vergleichen. Weicht nun die Wahrscheinlichkeitsverteilung der verrauschten Eingangsdaten von der Wahrscheinlichkeitsverteilung der ungestörten Eingangsdaten deutlich ab, zeigt dies, dass das KNN durch die verrauschten Eingangsdaten verwirrt wurde und nun eine andere Ausgabe trifft.

Es ist jedoch wünschenswert, dass das KNN auf den verrauschten Eingangsdaten eine identische oder ähnliche Ausgabe trifft. Dies würde bedeuten, dass die Entscheidungsregion des KNNs ausreichend groß ist, um selbst verrauschte Ein- gangsdaten sicher zu klassifizieren. Daher wird die Abweichung in der KL-Divergenz bestraft, wodurch dieses Verfahren die Konfidenz während des Trainings indirekt op- timiert ohne ξ direkt zu benutzen.

Beispielsweise kann f prob (·) für drei Datenbeispiele wie folgt aussehen:

Da die KL-Divergenz nur den Unterschied zwischen zwei einzelnen Wahrscheinlich- keitsverteilungen bestimmt, sind unterschiedliche Vorgehensweisen möglich, um den Vektor der verrauschten Eingangsdaten x' zu benutzen.

Beispielsweise ist folgende Berücksichtigung der KL-Divergenz denkbar:

Alternativ kann über die vom KNN ausgegebenen Wahrscheinlichkeitsverteilungen gemittelt werden, anstatt über alle KL-Divergenz Werte. Folglich wird die KL-Diver- genz nur einmalig für die gemittelte Wahrscheinlichkeitsverteilung berechnet:

In beiden Berechnungsbeispielen ist es außerdem denkbar, Rauschdaten unter- schiedlicher Stärken zu benutzen. Dazu kann beispielsweise die KL-Divergenz nur für die Rauschdaten ab einer gewissen Stärke des Rauschens berechnet werden oder nur die Rauschdaten genutzt werden, die eine Mindestanzahl an Abweichungen generieren. Alternativ wird eine Gewichtung der Rauschdaten im Hinblick auf die Stärke des Rau- sehens vorgenommen, sodass nicht mehr alle Rauschdaten das gleiche Gewicht haben. Bspw. haben Rauschdaten mit einer höheren Stärke ein stärkeres Gewicht (und damit einen stärkeren Einfluss) für die Berechnung der KL-Divergenz.

Weitere Möglichkeiten die Konfidenz in das Training eines KNNs zu berücksichtigen, basieren darauf, die vorhandenen Trainingsdaten zu erweitern/anzupassen. Dies hat den Vorteil, dass die Einstellungen des bisherigen Trainingsprozesses nicht ange- passt werden müssen, da die Konfidenz nun über die Auswahl der Datenbeispiele in die Verlustfunktion eingeht und die Verlustfunktion somit nicht geändert werden muss.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden Datenbeispiele in der Verlustfunktion konfidenzabhängig berücksichtigt, insbesondere mittels einer kon- fidenzabhängigen Gewichtung.

Die grundlegende Idee hierbei ist es, dass der Einfluss der Eingangsdaten, auf wel- chen die Konfidenz des KNNs gering ist, für die folgenden Trainingsiterationen höher gewichtet wird. Folglich werden während jeder Trainingsiteration die Daten gemerkt, auf welchen das aktuelle KNN einen geringen Konfidenzwert hat. Diese Eingangsda- ten werden dann in der nächsten Trainingsiteration höher gewichtet. Um diese hö- here Gewichtung durchzuführen, existieren verschiedene Möglichkeiten.

Eine Möglichkeit ist es, die betreffenden Datenbeispiele in der Verlustfunktion höher zu gewichten. In einem normalen Trainingsprozess ist der Einfluss jedes Datenbei- spiels für den Verlust pro Datenbeispiel eines Trainingsdatensatzes (engl. Batch) gleich, nämlich Um nun zu erreichen, dass die Klassifikationssicherheit des

KNNs insgesamt erhöht wird, kann die Gewichtung der Datenbeispiele mit einer ge- ringen Konfidenz in der letzten Iteration vergrößert werden und die Gewichtung der anderen Beispiele verringert werden. Dadurch wird erreicht, dass der Verlustwert vor allem von den bisher unsicher klassifizierten Datenbeispielen beeinflusst wird. Als Folge werden diese Datenbeispiele typischerweise eher in Richtung der Mitte ei- ner Entscheidungsregion gedrängt, sodass sie in jedem Fall richtig klassifiziert wer- den, um den Verlustwert gering zu halten.

Folglich wird die Konfidenz indirekt optimiert, ohne dass die Verlustfunktion einen konfidenzabhängigen Term enthält. In dieser Variante der Nutzung der Konfidenz ist also kein Eingriff in die Hyperparameter des Trainings erforderlich, lediglich die Ge- wichtung der Datenbeispiele muss angepasst werden.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden Datenbeispiele deren Ausgangsdaten eine Konfidenz aufweisen, die einen vorbestimmten Schwellwert un- terschreitet, modifiziert und/oder vervielfältigt, um das KNN mit modifizierten und/oder vervielfältigten Eingangstrainingsdaten zu speisen.

Eine weitere Möglichkeit die Konfidenz indirekt zu optimieren, besteht darin, den Trai- ningsdatensatz zu augmentieren. Dazu wird der Trainingsdatensatz mit Datenbei- spielen erweitert, auf welchen das aktuelle KNN eine geringe Konfidenz und damit eine geringe Sicherheit in die Klassifikation aufweist. Folglich wird der Anteil der Da- tenbeispiele erhöht, welche das KNN nicht sicher klassifiziert und diese werden in der nächsten Iteration einen höheren Einfluss auf den Verlustwert haben, da die An- zahl solcher Datenbeispiele gestiegen ist. Um den Verlustwert auf dem neuen, aug- mentierten Datensatz möglichst zu minimieren, wird mehr Fokus auf die korrekte Klassifikation der hinzugefügten Daten gelegt. Damit wird sichergestellt, dass diese Datenbeispiele sicher klassifiziert werden und die Entscheidungsregionen verschie- ben sich zugunsten dieser Beispiele, sodass die vorher unsicheren Datenbeispiele eher in Richtung des Zentrums einer Region verschoben werden.

Das beschriebene Vorgehen kann dynamisch über den Verlauf des Trainings ange- passt werden, um ein bestmögliches Trainingsergebnis zwischen Korrektheit (Ac- curacy) der Aussage und Sicherheit in die Ausgabe zu erreichen. Sobald die Kon- fidenz ausreichend gestiegen ist, wird daher die Anzahl der augmentierten Datenbei- spiele wieder verringert. Die Anzahl der augmentierten Datenbeispiele wird im Ver- lauf des Trainings folglich immer wieder angepasst. Die Augmentation, um neue Daten zu generieren, welche nicht Teil der bisherigen Trainingsdaten sind, und zusätzlich eine geringe Konfidenz aufweisen, kann dabei auf unterschiedliche Arten erfolgen. Beispielsweise können die Datenbeispiele, wel- che in der letzten Iteration eine geringe Konfidenz aufweisen, geringfügig verändert werden und dann dem Trainingsdatensatz hinzugefügt werden.

Eine mögliche Alternative ist auch Rauschen mit geringer Stärke auf die Daten zu ad- dieren, sodass sich das Verständnis der Daten für einen Menschen nicht ändert. Das KNN wird hingegen mit hoher Wahrscheinlichkeit auf den verrauschten Daten noch unsicherer sein, wie auf den ursprünglichen Daten, da diese in der letzten Iteration einen geringen Konfidenzwert hatten. Dieses Vorgehen stellt eine einfache Variante dar, Datenbeispiele zu generieren, um den originalen Trainingsdatensatz mit unsi- cheren Daten zu erweitern.

Alternativ können andere geringfügige Transformationen durchgeführt werden, bei- spielsweise Rotation, Skalierung, Helligkeit, Kontrast, etc. Mit allen Methoden gelingt es, den originalen Datensatz mit unsicheren Datenbeispielen zu erweitern.

Mit den beschriebenen Methoden ist es außerdem auch möglich, ein KNN nachzu- trainieren. In diesem Fall existiert bereits ein trainiertes KNN mit einer möglichst ho- hen Klassifikationsgenauigkeit. Jedoch hat dieses KNN nur eine schwache Sicherheit in der Klassifikation. Es ist möglich dieses KNN nun nachzutrainieren, sodass es lernt die Sicherheit in die Klassifikation zu steigern.

Es versteht sich, dass ein Computerprogrammprodukt mit Programmcode-Mitteln, um das Verfahren wie es vorstehend beschrieben wurde, durchzuführen, vorteilhaft ist.

Ein Computerprogrammprodukt gemäß einem Verfahren einer Ausführungsform der Erfindung führt die Schritte eines Verfahrens gemäß der vorangehenden Beschrei- bung aus, wenn das Computerprogrammprodukt auf einem Computer, insbesondere einem fahrzeuginternen Computer, läuft. Wenn das betreffende Programm auf einem Computer zum Einsatz kommt, ruft das Computerprogrammprodukt einen Effekt her- vor, nämlich die Verbesserung der Konfidenz eines KNN.

Im Folgenden sollen Anwendungsbeispiele der Erfindung beschrieben werden.

Beispielsweise sind ADAS-KNN mit unterschiedlichen Komplexitätsgraden bekannt, d.h. eine initiale Bewertung der Eingangsdaten wird von einem eher kleineren und einfachen KNN durchgeführt. Wenn dieses KNN sich auf den aktuellen Eingangsda- ten unsicher ist, wird ein größeres KNN befragt, welches die Daten zuverlässiger klassifizieren kann, aber aufgrund des erhöhten Ressourcenbedarfs nicht dauerhaft betrieben werden kann. Um möglichst viele Ressourcen zu schonen, ist es vorteil- haft, möglichst nur das kleinere KNN zu nutzen.

Dazu ist es erforderlich, dass das kleinere KNN sicher auf den meisten Klassifikatio- nen ist, da ansonsten das große KNN zu oft genutzt werden würde.

Daher soll das kleinere KNN für eine möglichst hohe Klassifikationssicherheit mit dem beschriebenen Trainingsverfahren trainiert werden, sodass dessen Ausgangs- daten zu überwiegenden Teilen eine hohe Konfidenz aufweisen.

Ein derart trainiertes KNN weist eine hohe Klassifikationssicherheit auf, sodass die komplexeren Bestandteile weniger oft befragt werden müssen. Zudem wird das auf diese Art trainierte KNN auch eine höhere Robustheit gegen unbekannte Daten und hier speziell gegen Adversarial Attacks aufweisen.

INHALTSANGABE DER ZEICHNUNGEN

Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figu- ren der Zeichnungen angegebenen Ausführungsbeispiele näher erläutert. Es zeigen dabei:

Figur 1 eine Prinzipskizze zur Erläuterung einer Ausführungsform der Erfin- dung; Figur 2 eine Prinzipskizze zur Erläuterung einer Ausführungsform der Erfin- dung;

Figur 3 ein schematisches Blockdiagramm einer Ausführungsform der Er- findung.

Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsfor- men der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzep- ten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile erge- ben sich im Hinblick auf die Zeichnungen. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.

In den Figuren der Zeichnungen sind gleiche, funktionsgleiche und gleichwirkende Elemente, Merkmale und Komponenten - sofern nicht anders ausgeführt ist - jeweils mit denselben Bezugszeichen versehen.

BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN

Figur 1 zeigt den Trainingseffekt der Umgebungskonfidenz in einer Prinzipskizze. Be- vor ein KNN mit einer konfidenzabhängigen Verlustfunktion trainiert wurde, liegt der Datenpunkt 101 und die verrauschten Datenpunkte bzw. Rauschdaten 102 am Rand mehrerer Entscheidungsgrenzen. Das KNN bestimmt die Konfidenz des Klassifikati- onsergebnisses anhand der Umgebungskonfidenz des Datenpunkts 101 und der Rauschdaten 102.

Die Konfidenz wird 1 , wenn alle Rauschdaten x' in der wahren Klasse klassifiziert werden. Nur wenn diese Bedingung erfüllt ist, wird der Term (1 -ζ) = 0, sodass keine zusätzliche Bestrafung in der Verlustfunktion durch die Konfidenz stattfindet. Zu Be- ginn des Trainings wird ein Datenpunkt 101 unsicher klassifiziert (ζ=2/5), jedoch wird während des Trainings die Repräsentation des KNNs so angepasst, dass der Daten- punkt und die Rauschdaten bzgl. der Entscheidungsgrenzen verschoben werden. Al- ternativ lässt sich feststellen, dass die Entscheidungsgrenzen bzgl. des Datenpunkts 101 und der Rauschdaten 102 durch das Training verschoben wurden. Dementspre- chend wurden der Datenpunkt 101 und die Rauschdaten 102 in den Datenpunkt 101 ' und die Rauschdaten 102‘ verschoben. Somit werden der Datenpunkt 10T und die Rauschdaten 102‘ nach Abschluss des Trainings sicher klassifiziert (ζ=1 ). Das KNN hat gelernt, die Klassifikation sicher durchzuführen und den Abstand zu anderen Ent- scheidungsregionen zu maximieren, sodass die Umgebungskonfidenz zu keiner Er- höhung des Verlustwertes im Training führt.

In Figur 2 ist das Vorgehen für einen Datenpunkt 101 und verschiedene Rauschin- tensitäten λ 0 , λ 1 , λ 2 , die die Rauschdaten 102 für λ 0 , 103 für 104 für λ 2 ergeben, dargestellt. In diesem Beispiel ergibt sich ζ = λ 1 da dies die geringste Rauschinten- sität, für welche eine Abweichung der Klassifikation aufgetreten ist, ist. Durch Berück- sichtigung der Umgebungskonfidenz in der Verlustfunktion, ist es möglich die Distanz zur nächsten Entscheidungsregion sukzessive zu erhöhen.

Weiterhin ist es möglich, bei der Berechnung der Distanz ξ ein Schwellwertverfahren einzusetzen, sodass einzelne Ausreißer keinen Einfluss auf die Beurteilung haben. Dies ist möglich, indem einzelne (oder auch mehrere) Abweichungen von der wahren Klasse bei der Klassifikation von Datenbeispielen mit einer gemeinsamen Rausch- stärke toleriert werden. Folglich müssen für jede Rauschintensität erst mehrere Fehl- klassifikationen auftreten, bis eine gesamte Rauschstärke als optimierungswürdig be- wertet wird.

Folglich wird die Distanz erst festgelegt, wenn ein Hauptteil der Datenbeispiele, bzw. einer Anzahl Datenbeispiele, die einen vorbestimmten Schwellwert übersteigt, einer Stärke fehlschlagen, sodass Ausreißer keine Beachtung mehr finden. Dies ist hilf- reich, um die Optimierung insgesamt fortschreiten zu lassen und den Fokus nicht auf einzelne (im Gesamtkontext) eher unwichtige Artefakte zu legen.

Für das Beispiel in , bedeu- tet dies, dass bei Anwendung des Schwellwertverfahrens ζ = λ 2 ist, da bei der Stärke λ 1 nur ein einzelnes Datenbeispiel fehlschlägt. Dieses ist als Artefakt zu sehen und für den Fortschritt der Optimierung im Gesamtkontext eher hinderlich. Daher ist es sinnvoller die höhere Stärke λ 2 als aktuelle Distanz zur Entscheidungsgrenze anzu- sehen.

Figur 3 zeigt ein Blockdiagramm eines Trainingsverfahrens für ein künstliches neuro- nales Netzwerk. In dem Schritt S1 wird das KNN mit Eingangstrainingsdaten ge- speist, um Ausgangsdaten zu den Eingangstrainingsdaten zu ermitteln. In dem Schritt S2 wird eine Konfidenz der Ausgangsdaten ermittelt. In dem Schritt S3 wird das KNN trainiert, indem eine Verlustfunktion, die von der Konfidenz der Ausgangs- daten abhängt, optimiert wird.

Bezugszeichen

S1 -S3 Verfahrensschritte

101 Datenpunkt

101 ' Datenpunkt

102-104 Rauschdaten

102' Rauschdaten