-
Technisches Gebiet
-
Die Erfindung betrifft ein Verfahren zur Verbesserung einer Datenerfassung für Trainingsdaten als auch Testdaten, die zum Anlernen oder Nachanlernen eines maschinellen Lernsystems auf sinnvollerweise beitragen können. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.
-
Stand der Technik
-
Maschinelle Lernsysteme, wie neuronale Netze (engl. Deep Neural Networks, DNN), erfordern für deren Training, aber auch für deren Evaluierung, eine große Menge von Daten. Dabei hängt ein gewünschtes Verhalten, wie z.B. eine Klassifikationsgenauigkeit und Robustheit, nicht nur von der Datenmenge, sondern auch von der Vielfalt der Daten und deren Repräsentativität ab. In vielen Anwendungen ist es jedoch schwierig, die erforderlichen Daten zu beschreiben oder die erforderlichen Daten zu spezifizieren.
-
Es ist jedoch zur Verbesserung der Datenerfassung notwendig, die (fehlenden) relevanten Datenmerkmale und Dateninhalte zu kennen - relevante Daten sind hier gemeint: Trainingsdaten, die zum erforderlichen Verhalten von DNN führen (z. B. performantes und robustes Verhalten eines DNN) und Testdaten, die das erforderliche Verhalten evaluieren können.
-
Um diese Problematik zu lösen gibt es Ansätze, um gezielt geeignete Daten ausfindig zu machen, die die Datenmenge sinnvoll ergänzen können.
-
Vereinfach dargestellt wird dies bisher derart gelöst, dass permanent Daten gesammelt, auf einen Server übertragen und manuell oder auch maschinell selektiert werden. Nachteilig ist jedoch, dass bei diesem Vorgehen eine enorme Datenmenge übertragen werden muss, die hohe Übertragungskosten verursacht und die auch gespeichert werden müssen, was hohe Speicherkosten verursacht. Ferner steht dieses Vorgehen in vielen Ländern im Widerspruch zum Datenschutz.
-
Die
DE 10 2018 207 220 offenbart ein Verfahren zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion einer Recheneinheit oder eines Speichers beim Betreiben eines zu überwachenden neuronalen Netzes auf der Recheneinheit mittels eines weiteren neuronalen Netzes. Das weitere neuronale Netz erhält Zwischenergebnisse des zu überwachenden neuronalen Netzes und ermittelt abhängig von dessen Zwischenergebnissen, ob ein Berechnungsfehler oder eine Fehlfunktion beim Betreiben des zu überwachenden neuronalen Netzes aufgetreten ist.
-
Aufgabe und Vorteile der Erfindung
-
Eine Aufgabe der Erfindung besteht darin, automatisiert und mit geringem Rechenaufwand die relevanten Daten zu erkennen und nur diese zu erheben.
-
Die Erfindung löst diese Aufgabe indem ein kleiner Detektor, insbesondere ein kleines neuronales Netz, bereitgestellt wird, welches ein maschinelles Lernsystem überwacht. Der Detektor ist in der Lage beim Betreiben des maschinellen Lernsystems abhängig von Zwischenergebnissen des maschinellen Lernsystems zu erkennen, ob verarbeitete Daten durch das maschinelle Lernsystem geeignet sind, um die Datenmenge sinnvoll zu ergänzen.
-
Der Vorteil hierbei ist, dass damit weniger Speicher-/Übertragungs-ressourcen beansprucht werden. Ein weiterer Vorteil ist, dass das kleine neuronale Netz bereits mit einer sehr geringen Anzahl von Parametern betrieben werden kann, folglich dieses ohne Erweiterung der Hardware parallel zu dem zu überwachendem maschinellen Lernsystem betrieben werden kann.
-
Ferner hat die Erfindung den Vorteil, dass die Detektion nicht über Abstände zwischen Verteilungen der Datenpunkte erfolgt, wodurch es möglich wird, relevante Datenpunkte innerhalb der Verteilung der Trainingsdaten zu detektieren, die zu einer falschen Aussage des maschinellen Lernsystems führen, z.B. weil das maschinelle Lernsystem nicht gelernt hat, über diesen Datenpunkt zu generalisieren. Demnach führt die Erfindung zu einer deutlich zuverlässigeren Datenakquise.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt wird ein computerimplementiertes Verfahren zum Detektieren, ob eine Eingangsgrößen für ein maschinelles Lernsystem als relevantes Trainingsdatum zum Nachanlernen geeignet ist und insbesondere als relevantes Testdatum, mittels eines Anomaliedetektors vorgeschlagen. Anders formuliert ist die Eingangsgröße dann ein relevantes Trainingsdatum, wenn diese einen Beitrag leisten kann, eine erforderliche oder gewünschte Leistungsfähigkeit des maschinellen Lernsystems bei einem Nachanlernen mit diesem Trainingsdatum zu verbessern oder zu stabilisieren oder mit dem relevanten Testdatum zu validieren und/oder zu verifizieren. Die Leistungsfähigkeit kann eine Vorhersagegenauigkeit oder eine sicherheitsrelevante Fähigkeit des maschinellen Lernsystems sein. Das maschinelle Lernsystem ist vorzugsweise für computerbasiertes Sehen, insbesondere für eine Klassifikation, (Objekt) Detektion oder semantische Segmentierung, eingerichtet.
-
Das Verfahren beginnt optional mit dem Schritt eines Erfassens einer Eingangsgröße mittels eines Sensors, insbesondere eines Sensors zum Erfassen von Bildern. Es folgt ein Verarbeiten einer erfassten Eingangsgröße durch das maschinelle Lernsystem. Es werden Zwischenergebnisse, die beim Verarbeiten der Eingangsgröße durch das maschinelle Lernsystem ermittelt werden, hinterlegt. Das Verarbeiten kann auch als Propagieren bezeichnet werden. Unter einem Zwischenergebnis wird ein Zwischenergebnis des maschinellen Lernsystems verstanden, welches vom maschinellen Lernsystem ermittelt und von ihm weiterverwendet wird, um schlussendlich eine Ausgangsgröße des maschinellen Lernsystems zu ermitteln. Ist das maschinelle Lernsystem ein neuronales Netz, dann kann unter einem Zwischenergebnis eine Ausgangsgröße einer verdeckten Schicht (engl. hidden layer) des neuronalen Netzes verstanden werden.
-
Vorzugsweise verarbeitet der Anomaliedetektor als Zwischengröße zumindest eine Ausgangsgröße der vorletzten Schicht des neuronalen Netzes, da diese Informationen ihrer vorhergehenden Schichten aufweisen. Die letzte Schicht ist diejenige Schicht, die mit keiner weiteren nachfolgenden Schicht verbunden ist. Die vorletzte Schicht ist demnach eine unmittelbar vorhergehende Schicht, die mit der letzten Schicht verbunden ist.
-
Überraschenderweise führen Zwischenergebnisse aus verschiedenen Schichten und vor allem aus Schichten eines vorderen Teils des maschinellen Lernsystems, auch als Feature Extraktor bezeichnet, für den Anomaliedetektor zu besonders guten Ergebnissen.
-
Daraufhin folgt ein Verarbeiten zumindest einer der hinterlegten Zwischenergebnisse durch den Anomaliedetektor. Der Anomaliedetektor ist eingerichtet, eine Ausgangsgröße auszugeben, welche charakterisiert, ob der Anomaliedetektor eine Inkonsistenz bzw. eine Anomalie der Zwischenergebnisse detektiert hat, im Folgenden auch als Datenanomalie bezeichnet. Eine sog. Datenanomalie kann dann vorliegen, wenn ein anomaler Datenpunkt hinsichtlich den Trainingsdaten des maschinellen Lernsystems gegeben ist. Anders gesagt kann eine Datenanomalie vorliegen, wenn die Zwischenergebnisse, die durch den Anomaliedetektor verarbeitet werden, im Wesentlichen nicht mit Zwischengrößen ähneln oder gar übereinstimmen, welche beim Trainieren des maschinellen Lernsystems auf dessen Trainingsdatensatz ermittelt wurden. Unter im Wesentlichen kann verstanden werden, dass sich die Zwischenergebnisse zueinander durch Modifikationen unterscheiden, wobei diese Zwischengrößen beim weiteren Propagieren durch das maschinelle Lernsystem äquivalente Ausgangsgröße erzeugen, also z.B. das maschinelle Lernsystem diesen Zwischenergebnissen, bzw. deren zugeordneten Eingangsgrößen, die gleiche Klassifikation zuordnet.
-
Die Ausgangsgröße des Anomaliedetektors kann also charakterisieren, ob die der Zwischenergebnisse zugeordneten erfassten Eingangsgröße im Wesentlichen in ähnlicher Form in einem Trainingsdatensatz des maschinellen Lernsystems enthalten war, welche der Anomaliedetektor beim Trainieren des maschinellen Lernsystems auf dessen Trainingsdatensatz mit normalen Trainingsdaten aus diesem Trainingsdatensatz gesehen hat. Es kann daher gesagt werden, dass der Anomaliedetektor ausgebildet ist, zu erkennen, ob die Zwischengrößen eine Anomalie hinsichtlich der Verteilung der Trainingsdaten darstellt, bspw. aus einer Verteilung stammt, aus welcher auch die Trainingsdaten stammen, bzw. diese Verteilung durch die Trainingsdaten definiert wird.
-
Ferner kann der Anomaliedetektor ausgebildet sein, eine Datenanomalie und/oder eine Verhaltensanomalie des maschinellen Lernsystems zu detektieren. Eine Verhaltensanomalie kann dann vorliegen, wenn ein normaler Datenpunkt hinsichtlich den Trainingsdaten ein anormales Verhalten des maschinellen Lernsystems auslöst. Unter einem normalen Datenpunkt kann ein regulärer Datenpunkt verstanden werden, der so in den Trainingsdaten vorkommt oder vorkommen würde. Das anormale Verhalten kann sich darin äußern, dass sich das maschinelle Lernsystem nicht derart verhält, wie es beim Training gelernt wurde, d.h. wie es sich für den normalen Datenpunkt aus der Verteilung, aus welcher dieser Datenpunkt zugehört, verhalten sollte. Dies hat den Vorteil, dass Datenpunkte aufgefunden werden können, für welches das maschinelle Lernsystem ein falsches Verhalten ausgebildet hat, bspw. falsche Zusammenhänge gelernt hat. Damit ist es möglich zu validieren, ob das maschinelle Lernsystem tatsächlich gelernt hat, Objekte anhand deren Formen zu klassifizieren oder dies fälschlicherweise z.B. anhand der Objektfarbe klassifiziert.
-
Anschließend folgt ein Markieren der erfassten Eingangsgröße als zusätzliches relevantes Trainingsdatum oder Testdatum dann, wenn der Anomaliedetektor ausgibt, dass die Zwischengröße nicht in den Trainingsdaten enthalten war, also, dass das maschinelle Lernsystem inkonsistentes Verhalten im Vergleich zu dem trainierten Verhalten zeigt. Die Markierung kann auch dann durchgeführt werden, wenn die ermittelte Ausgangsgröße größer als ein vorgegebener Schwellwert ist. Die Markierung kann z.B. über ein Flag erfolgen. Diese Markierung kann dann als Auslöser für eine Datenspeicherung der Eingangsgröße und/oder eines definierten Intervals von Eingangsgrößen um die relevante Eingangsgröße herum genutzt werden.
-
Es wird vorgeschlagen, dass der Anomaliedetektor ein neuronales Netz ist und das neuronale Netz derart angelernt wurde, dass dieses detektiert, ob die erfasste Eingangsgröße der zugeordneten Zwischengröße in den Trainingsdaten zum Anlernen des maschinellen Lernsystems enthalten war, insbesondere zu einem Verhalten des maschinellen Lernsystems führt, dass unüblich ist. Unter einem Anlernen eines neuronalen Netzes wird verstanden werden, dass eine Kostenfunktion, die zumindest abhängig von Parametern des neuronalen Netzes ist, durch Verändern von Werten der Parameter optimiert wird.
-
Weiterhin wird vorgeschlagen, dass der Anomaliedetektor beim Verarbeiten der Zwischengrößen eine zusätzliche Größe als Eingangsgröße erhält, welche eine komprimierte Zwischengrößen ist. Die Komprimierung kann beispielsweise durch eine Summation einer Mehrzahl/aller Elemente der Zwischengröße erzielt werden. Diese zusätzliche Eingangsgröße basierend auf einer Komprimierung hat mehrere Vorteile. Erstens wird hierdurch einen Grad der Invarianz gegen Eingabebildtransformationen wie Rotation und Zoom zur Darstellung der Funktionsaktivierung erzielt. Dies ist wünschenswert, da diese Transformationen natürlicherweise in mobilen Anwendungen stattfinden und diese nicht als Anomalien betrachtet werden sollen. Zweitens führt die Akkumulation zu einer vergleichsweise nieder-dimensionalen Merkmalsaktivierungsdarstellung. Dies reduziert die erforderlichen Parameter und damit die Größe des Anomaliedetektors. Weiterhin wird der Datentransfer zwischen dem maschinellen Lernsystem und dem Anomaliedetektor reduziert, was insbesondere für Systemarchitekturen nützlich ist, in denen der Anomaliedetektor auf getrennter Sicherheits-Überwachungshardware betrieben wird.
-
Weiterhin wird vorgeschlagen, dass die hinterlegten Zwischenergebnisse normalisiert werden. Vorzugsweise wird ein Zwischenergebnis normalisiert, indem ein Mittelwert subtrahiert und durch eine Standardabweichung pro gewonnenem Element der Zwischengrößen dividiert wird. Zur Vermeidung einer Division mit Null kann ein Offset (z.B. 10^-8) zur Standardabweichung addiert werden. Die Normalisierungsparameter werden beim Training anhängig von Trainingsdaten bestimmt.
-
Weiterhin wird vorgeschlagen, dass dann, wenn die erfasste Eingangsgröße markiert wurde oder abhängig von der Ausgangsgröße des Anomaliedetektor, diese dem Trainings- oder Testdatensatz- je nach Einsatzzweck - hinzugefügt wird.
-
Weiterhin wird vorgeschlagen, dass eine Eingangsgröße als geeignetes Trainingsdatum nach einem der vorhergehenden Ansprüche detektiert wird, wobei das maschinelle Lernsystem abhängig von dem Trainingsdatensatz ergänzt um die markierte Eingangsgröße nachangelernt wird. Unter einem Nachanlernen kann verstanden werden, dass bereits optimierte Parameter des maschinellen Lernsystems erneut optimiert werden, insbesondere für den ergänzten Trainingsdatensatz.
-
Weiterhin wird vorgeschlagen, dass der Anomaliedetektor auch abhängig von den erweiterten Trainingsdaten nachangelernt wird, insbesondere wird der Anomaliedetektor mit den Zwischengrößen nachangelernt, welche das nachangelernte maschinelle Lernsystem beim Verarbeiten der ergänzten Trainingsdaten ausgibt.
-
Es sei angemerkt, dass die Schritte zum Sammeln der markierten Eingangsgrößen wiederholt werden können, bis ausreichend viele Eingangsgrößen vorliegen und dann erst wird das Nachanlernen durchgeführt.
-
Weiterhin wird vorgeschlagen, dass nach dem Nachanlernen Parameter des maschinellen Lernsystems und/oder des Anomaliedetektors zu einem technischen System übertragen werden, wobei das technische System abhängig von dem maschinellen Lernsystem betrieben wird und wobei das technische System das maschinelle Lernsystem mit den übertragenen Parametern aktualisiert.
-
In einem weiteren Aspekt der Erfindung wird ein computerimplementiertes Verfahren zum Anlernen des Anomaliedetektors vorgeschlagen. Der Anomaliedetektor wird hier zum Detektieren eingerichtet, ob eine einer Zwischengröße zugeordneten Eingangsgröße für das maschinelle Lernsystem als weiteres Trainingsdatum oder Testdatum geeignet ist. Das Verfahren umfasst folgende Schritte:
- Zuerst wird ein Bereitstellen einer ersten Menge von Trainingsdaten (Dtrain in) und einer zweiten Menge von Trainingsdaten (Dtrain out) durchgeführt. Dies kann z.B. dadurch erfolgen, dass ein Aufteilen von bereitgestellten Trainingsdaten in eine erste Menge von Trainingsdaten, die unverändert sind, und in zweite Menge, die Out-of-distribution (OOD) Trainingsdaten aufweisen, durchgeführt werden. Die Trainingsdaten der zweiten Menge können z.B. durch Manipulieren (z.B. Gaussian noise, Salt and Peper, Motion Blure etc.) zu OOD Trainingsdaten erfolgen. Im Allgemeinen enthält die zweite Menge von Trainingsdaten, die nicht aus einer Verteilung (hier: Out-ofdistribuiton) stammen, aus welcher die Trainingsdaten der ersten Menge von Trainingsdaten stammen. Unter einer Verteilung wird eine fiktive Verteilung verstanden, die mögliche Trainingsdaten beschreibt. Wenn aus der fiktiven Verteilung Trainingsdaten gezogen wird, dann werden unterschiedliche Trainingsdaten erzeugt, die zueinander hinsichtlich gewisser Eigenschaften ähnlich sind. Zum Beispiel kann die Verteilung alle möglichen Katzenbilder beschreiben, wobei beim Ziehen aus der Verteilung unterschiedlichste Katzenbilder erzeugt werden. Hundebilder würden demnach in die zweite Menge fallen, da diese nicht unter die Verteilung für Katzenbilder fallen.
-
Daraufhin folgt ein Hinterlegen von ermittelten Zwischenergebnissen des maschinellen Lernsystems, die das maschinelle Lernsysteme ermittelte, wenn die Trainingsdaten der ersten Menge der Trainingsdaten (Dtrain in) durch das maschinelle Lernsystem verarbeitet wurden. Dann folgt ein Zuordnen der hinterlegten Zwischenergebnisse einem Label, welches charakterisiert, dass die hinterlegten Zwischenergebnisse „Normal“ (d.h. „In distribution data“) sind.
-
Diese letzten zwei Schritte werden dann für die zweite Menge ausgeführt. Es werden also ermittelte weitere Zwischenergebnissen des maschinellen Lernsystem hinterlegt, die das maschinelle Lernsystem ermittelte, wenn die Trainingsdaten der zweiten Menge der Trainingsdaten (Dtrain out) durch das maschinelle Lernsystem verarbeitet wurden. Sowie ein Zuordnen der weiteren hinterlegten Zwischenergebnisse einem Label, welches charakterisiert, dass die hinterlegten Zwischengrößen „Nicht-Normal“ (d.h. „out-distribution data“) sind. Anschließend wird der Anomaliedetektor derart angelernt, dass dieser abhängig von allen hinterlegten Zwischenergebnissen deren zugeordneten Label ermittelt.
-
Es wird vorgeschlagen, dass die erste und zweite Menge der Trainingsdaten im Wesentlichen gleich groß sind. Es liegen also ausbalancierte Trainingsdaten vor. Vorteilhaft hierbei ist, dass der Anomaliedetektor besser zwischen Anomalien von Nicht- Anomalien zu unterscheiden lernt. Ferner führt dies auch zu einer besseren Aussagequalität des Anomaliedetektors. Im Wesentlichen kann bedeuten, dass sich die Anzahl der Trainingsdaten der Mengen um max. 10%, vorzugsweise um max. 5% und besonders bevorzugt um max. 1%, unterscheiden.
-
Weiterhin wird vorgeschlagen, dass die zweite Menge mit OOD Trainingsdaten unterschiedliche Arten von OOD enthält. Weiterhin wird vorgeschlagen, dass zusätzlich zu den Zwischenergebnissen jeweils eine weitere Größe hinterlegt wird, welche eine Kompression der jeweiligen Zwischenergebnisse ist und der Anomaliedetektor zumindest einer dieser komprimierten Zwischenergebnisse als zusätzliche Eingangsgröße erhält.
-
Das maschinelle Lernsystem kann abhängig von der erfassten Eingangsgröße eine Steuergröße ermitteln. Die Steuergröße kann zum Steuern eines Aktors eines technischen Systems verwendet werden. Das technische System kann zum Beispiel ein (zumindest teilautonomes) Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt, wie eine Drohne, sein.
-
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.
-
Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:
-
Figurenliste
-
- 1 eine schematische Darstellung eines Fahrzeuges;
- 2 eine schematische Darstellung eines ersten und eines zweiten neuronalen Netzes;
- 3 eine schematische Darstellung einer Ausführungsform eines Verfahren zum Detektieren von geeigneten weiteren Trainingsdaten;
- 4 eine schematische Darstellung einer Ausführungsform einer Vorrichtung zum Anlernen des ersten und/oder zweiten neuronalen Netzes.
-
1 zeigt eine schematische Darstellung eines Fahrzeuges (10). In einem weiteren Ausführungsbeispiel kann das Fahrzeug (10) ein Service-, Montage- oder stationärer Produktionsroboter, alternativ ein autonomes Flugobjekt, wie eine Drohne, sein. Das zumindest Fahrzeug (10) kann eine Erfassungseinheit (11) umfassen. Die Erfassungseinheit (11) kann zum Beispiel eine Kamera sein, welche eine Umgebung des Fahrzeugs (10) erfasst. Anderweitige Sensoren wie Radar oder Lidar sind ebenso denkbar. Die Erfassungseinheit (11) kann mit einem ersten angelernten neuronalen Netz (201) verbunden sein. Das erste angelernte neuronale Netz (201) ermittelt abhängig von einer bereitgestellten Eingangsgröße, z.B. bereitgestellt von der Erfassungseinheit (11), und in Abhängigkeit einer Mehrzahl von Parametern des ersten angelernten neuronalen Netzes (201) eine Ausgangsgröße. Die Ausgangsgröße kann an eine Aktorsteuerungseinheit (13) weitergeleitet werden. Die Aktorsteuerungseinheit (13) steuert in Abhängigkeit der Ausgangsgröße des ersten angelernten neuronalen Netzes (201) einen Aktor. Der Aktor kann in diesem Ausführungsbeispiel ein Motor des Fahrzeugs (10) sein.
-
Das erste angelernte neuronale Netz (201) wird mittels eines zweiten angelernten neuronalen Netzes (202) überwacht. Wird beispielsweise eine Eingangsgröße des ersten angelernten neuronalen Netzes (201) durch dieses neuronale Netz propagiert, welche z.B. in den Trainingsdaten unterrepräsentiert war oder gar überhaupt nicht enthalten war, insbesondere welches zu einem inkonsistenten Verhalten des Netzes (201) führt, kann mittels des zweiten angelernten neuronalen Netzes (202), dies detektiert werden. Gegebenenfalls kann die detektierte Fehlfunktion durch die Aktorsteuerungseinheit (13) berücksichtigt werden und den Aktor entsprechend ansteuern.
-
Ferner umfasst das Fahrzeug (10) eine Recheneinheit (14) und ein maschinenlesbares Speicherelement (15). Auf dem Speicherelement (15) kann ein Computerprogramm gespeichert sein, welches Befehle umfasst, die beim Ausführen der Befehle auf der Recheneinheit (14) dazu führen, dass die Recheneinheit (14) das erfindungsgemäße Verfahren ausführt. Denkbar ist auch, dass ein Downloadprodukt oder ein künstlich generiertes Signal, die jeweils das Computerprogramm umfassen können, nach Empfangen an einem Empfänger des Fahrzeugs (10) die Recheneinheit (14) veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
In einem weiteren Ausführungsbeispiel umfasst die Aktorsteuerungseinheit (13) ein Freigabesystem. Das Freigabesystem entscheidet, ob ein Objekt, z.B. ein erfasster Roboter oder eine erfasste Person, Zugang zu einem Bereich hat, abhängig von der Ausgangsgröße des ersten angelernten neuronalen Netzes (201). Vorzugsweise kann der Aktor abhängig von einer Entscheidung des Freigabesystems angesteuert werden.
-
In einem alternativen Ausführungsbeispiel kann das Fahrzeug (10) ein Werkzeug oder eine Werkmaschine sein. Ein Material eines Werkstückes kann mittels des ersten angelernten neuronalen Netz klassifiziert werden. Der Aktor kann hierbei z.B. ein Motor, der einen Schleifkopf betreibt, sein.
-
In einer weiteren Ausführungsform wird das erste angelernte neuronale Netz (201) in einem Messsystem verwendet, welches nicht in den Figuren dargestellt ist. Das Messsystem unterscheidet sich zu dem Fahrzeug (10) nach 1 dahingehend, dass das Messsystem keine Aktorsteuerungseinheit (13) umfasst. Das Messsystem kann die Ausgangsgröße des ersten angelernten neuronalen Netzes (201), statt sie an die Aktorsteuerungseinheit (13) zu weiterzuleiten, abspeichern oder darstellen, beispielsweise mittels visueller oder auditiver Darstellungen.
-
Es ist auch denkbar, dass in einer Weiterentwicklung des Messsystems die Erfassungseinheit (11) ein Bild eines menschlichen oder tierischen Körpers oder eines Teils davon erfasst. Beispielsweise kann dies mittels eines optischen Signals, mittels eines Ultraschallsignals, oder mittels eines MRT/CT-Verfahrens erfolgen. Das Messsystem kann in dieser Weiterentwicklung das erste angelernte neuronale Netz (201) umfassen, das derart angelernt ist, abhängig von der Eingangsgröße eine Klassifikation auszugeben, z.B. welches Krankheitsbild auf Basis diese Eingangsgröße möglicherweise vorliegt. Das zweite angelernte neuronale Netz (202) überwacht hierbei das erste angelernte neuronale Netz (201).
-
Die zwei angelernten neuronalen Netze (201,202) und deren Verschaltung sind in der 2 schematisch dargestellt.
-
Das erste angelernte neuronale Netz (201) umfasst eine Mehrzahl von Schichten mit jeweils mehreren Neuronen, die mit Neuronen vorhergehender und nachfolgender Schichten verbunden sind. Die erste Schicht des ersten angelernten neuronalen Netzes (201) erhält eine Eingangsgröße (21), die in einer ersten Schicht des ersten angelernten neuronalen Netzes (201) verarbeitet wird. Das Ergebnis der ersten Schicht wird an die nachfolgende Schicht weitergeleitet, die dieses Ergebnis als Eingangsgröße erhält und abhängig von diesem Ergebnis eine Ausgangsgröße ermittelt. Die Ausgangsgröße wird anschließend an die nachfolgende Schicht weiterleitet. Dieses beschriebene, schichtweise Verarbeiten (engl. propagation) der Eingangsgröße entlang des ersten angelernten neuronalen Netzes (201) wird solange durchgeführt, bis eine letzte Schicht des ersten angelernten neuronalen Netzes (201) ihre Ausgangsgröße (22) ermittelt hat.
-
Das zweite angelernte neuronale Netz (202) erhält mindestens eine Ausgangsgröße mindestens einer der Schichten des ersten angelernten neuronalen Netzes (201) als eine Eingangsgröße (24), die wie eingangs beschrieben zunächst vorverarbeitet wird und dann als Eingangsgröße dient, und ermittelt anschließend abhängig von dieser Eingangsgröße (24) eine Ausgangsgröße (26). Diese Ausgangsgröße (26) charakterisiert vorzugsweise, ob die durch das erste neuronale Netz propagierte Eingangsgröße (21) eine Anomalie ist, also ob diese Eingangsgröße (21) in den Trainingsdaten zum Anlernen des ersten neuronalen Netzes enthalten war, oder nicht oder unterrepräsentiert oder o.ä. war, bzw. ein gewünschtes/bekanntes Verhalten im Netz (201) auslöst.
-
Die Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) kann beispielsweise mittels wenigstens einer Verbindung (25) dem zweiten angelernten neuronalen Netz (202) bereitgestellt werden.
-
In einem weiteren Ausführungsbeispiel kann zumindest eine Ausgangsgröße eine der Schichten des ersten angelernten neuronalen Netzes (201) einen höherdimensionalen Vektor umfassen, dessen einzelne Elemente aufsummiert als zusätzliche Eingangsgröße des zweiten angelernten neuronalen Netzes (202) bereitgestellt wird. Es ist denkbar, ähnliche Informationskompressionsmethoden zu verwenden, sodass die Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) kompakter ist.
-
Zusätzlich kann das zweite angelernte neuronale Netz (202) abhängig von einer bereitgestellten Eingangsgröße (24) eine zweite Ausgangsgröße (27) ermitteln. Die zweite Ausgangsgröße (27) kann ebenso wie die Ausgangsgröße (22) des ersten angelernten neuronalen Netzes (21) die Eingangsgröße des ersten angelernten neuronalen Netzes (201) charakterisieren, insbesondere klassifizieren.
-
In einer weiteren Ausführungsform kann die erste oder die zweite Ausgangsgröße (26,27) lediglich ein Triggersignal sein, welches z.B. eine Datenerfassung des verarbeiteten Datenpunktes auslöst. Alternativ kann sich die Datenerfassung über mehrere verarbeitete Datenpunkte erstrecken. Beispielsweise kann nach einem definierten Zeitintervall oder nach einem definierten Akquisition-Abbruchkriterium abgebrochen werden, um so bspw. eine Sequenz von Datenpunkte aufzuzeichnen. Das Akquisition-Abbruchkriterium kann z.B. sein, wenn die betrachtete Ausgangsgröße des zweiten neuronalen Netzes unter den Schwellwert fällt.
-
In einer weiteren Ausführungsform ist zumindest eine Ausgangsgröße (26,27) ein Skalar, welcher einen Wert aus dem Intervall [0;1] annehmen kann und eine Wahrscheinlichkeit einer Anomalie charakterisiert, oder Klassen, wie z.B. „anomaly“ und „non-anomaly“, charakterisiert. Alternativ kann die Ausgangsgröße zwischen einer Mehrzahl von Klassen unterscheiden, z.B. ob eine Anomalie für eine bestimmte Klasse vorliegt, wie eine Anomalien aufgrund unterschiedlicher Wetterbedingungen, seltene oder gefährliche Situationen. Der Skalar kann auch eine „Region of Interest‟ in der Eingangsgröße charakterisieren. Hier kann jedem Wert des Skalars ein Ausschnitt der Eingangsgröße zugeordnet sein.
-
Das zweite neuronale Netz (202) kann entweder eine dieser Ausgangsgrößen ausgeben, oder alternativ kann dieses Netz mehrere dieser Ausgangsgrößen oder jede dieser Ausgangsgrößen gemeinsam ausgegeben. Ein derartig ausgestaltetes zweites neuronales Netz (202) kann im Allgemeinen für alle weiteren Ausführungsformen und Anwendungen verwendet werden, wobei dann die Datenakquisition ausgelöst wird, wenn entweder zumindest eine oder eine Mehrzahl der Ausgangsgrößen einen vorgegebenen Schwellwert überschreitet. Die Schwellwerte können für die unterschiedlichen Ausgangsgrößen separat definiert werden.
-
Die Eingangsgröße (24) des zweiten neuronalen Netzes (202) ist zumindest ein Zwischenergebnis, im Folgenden auch Zwischengröße genannt, des ersten neuronalen Netzes (201). Denkbar ist aber auch, dass diese Eingangsgröße (24) bis zu alle Zwischenergebnis umfasst. Diese können dann z.B. zu einem Tensor zusammengefasst werden. Es sei angemerkt, dass entsprechend den Dimensionen dieses Tensors dann auch der Eingang des zweiten neuronalen Netzes (202) auszulegen ist.
-
Hat das erste neuronale Netz (201) eine (2D-) Faltungsschicht, die üblicherweise in der Bildklassifikation verwendet werden, besteht die Schichtausgabe aus mehreren (2D-) Zwischenergebnis-Karten (engl. feature maps), die den verschiedenen Filterkernen der Schicht entsprechen. Diese Zwischenergebnis-Karten können direkt oder komprimiert zu der Eingangsgröße (24) hinzugefügt werden.
-
In einer bevorzugten Ausführungsform wird zusätzlich zu jeder Zwischenergebnis-Karte ein einzelner Wert durch Summierung über alle Werte der jeweiligen Zwischenergebnis-Karte hinzugefügt.
-
In einer besonders bevorzugten Ausführungsform ist das zweite neuronale Netz (202) ein kleines, vorwärts gerichtetes neuronales Netzwerk, das abhängig von seiner Eingangsgröße (24) ermittelt, ob eine Anomalien oder Nicht-Anomalien vorliegt.
-
Das zweite neuronale Netz (202) kann durch andere Modelle, z.B. klassische/statistische Methoden, ersetzt werden. Der Hauptvorteil ergibt sich aus der Verwendung von Zwischenergebnissen der wichtigsten DNN als Input und der Analyse dieser Ergebnisse im Hinblick auf ihre Unstimmigkeit hinsichtlich Zwischenergebnisse, die beim Anlernen des ersten neuronalen Netzes (201) vorlagen.
-
3 zeigt eine schematische Darstellung eines Verfahrens zum Erfassen weiterer relevanter Trainingsdaten und optional ein nachgelagertes Nachanlernen abhängig von den erfassten weiteren Trainingsdaten.
-
Das Verfahren kann mit Schritt S21 beginnen. In diesem Schritt erfolgt ein Anlernen des zweiten neuronalen Netzes (202). Hierfür wird angenommen, dass das erste neuronale Netz (201) bereits angelernt ist.
-
Zum Anlernen kann ein standardmäßiges überwachtes Training mit binärem Crossentropieverlust (engl. binary cross-entropy loss), und ADAM-Optimierer mit Standard-Hyperparametern verwendet werden.
-
Das zweite neuronale Netz (202) kann für eine „out-of-distribution‟ (OOD)-Erkennung angelernt werden. Hierfür werden Trainingsdaten bereitgestellt, welche In-Distribution-Trainingsdaten aus einem ersten Trainingsdatenset (Dtrain in), auf dem das erste neuronale Netz (201) angelernt wurde, sowie Out-of-Distribution- Trainingsdatenset (Dtrain out) umfasst. Typischerweise sind nicht alle möglichen Arten von OOD-Daten zum Entwurfszeitpunkt bekannt. Daher sollte Dtrain out so gewählt werden, dass das zweite neuronale Netz (202) die verschiedenen OOD-Daten verallgemeinernd lernt.
-
Trainingsdaten aus den zwei Trainingsdatensets (Dtrain in, Dtrain out) werden durch das erste neuronale Netz (201) propagiert und die dabei auftretende Zwischenergebnisse werden aufgezeichnet und mit einem binären Label gekennzeichnet, dass sie als anomal oder nicht- anomal klassifiziert. Die binären Label werden abhängig davon, aus welchem Trainingsdatensatz die jeweiligen Trainingsdaten gezogen wurden, zugeordnet.
-
Es sei angemerkt, dass Prüfdaten für die Evaluierung des zweiten neuronalen Netzes ähnlich wie die Trainingsdaten erstellt werden können. Ferner sei angemerkt, dass das obige Vorgehen sowohl zum Lernen von Datenanomalien als auch für Verhaltensanomalien durch den Anomaliedetektor angewendet werden kann, wobei das Out-of-Distribution Trainingsdatenset entsprechend manipulierte Trainingsdaten enthält, sodass diese die entsprechenden Anomalien hervorrufen.
-
Zusätzlich oder alternativ können beide neuronalen Netze (201,202) alternierend angelernt werden, wobei das erste neuronale Netz vorerst vorzugsweise nur mit den Trainingsdaten Dtrain in angelernt wird.
-
Nachdem das Anlernen des Schrittes S21 abgeschlossen ist, folgt Schritt S22. Hierin erfolgt ein Detektieren von Anomalien. Im Betrieb des ersten neuronalen Netzes (201) z.B. im Fahrzeug (10) erhält das zweite neuronale Netz (202) Zwischenergebnisse des ersten neuronalen Netzes (201).
-
Eine Anomalie durch das zweite neuronale Netz (201) wird dann detektiert, wenn die Ausgangsgröße (26,27) größer als ein vorgegebener Schwellwert ist, oder wenn als Klasse „Anomalie“ ausgegeben wird.
-
Wenn eine Anomalie in Schritt S22 detektiert wurde, wird im nachfolgenden Schritt S23 diejenige Eingangsgröße, abhängig von deren Zwischengröße durch das zweite neuronale Netz eine Anomalie detektiert wurde, zu den Trainingsdaten und/oder Testdaten hinzugefügt, vorzugsweise inkl. eines Tags. Im einem nachfolgenden, optionalen Schritt wird diese Eingangsgröße gelabelt.
-
Vorzugsweise wird diese Eingangsgröße dann an einen zentralen Server übermittelt und dort als weitere Trainingsdatum den Trainingsdaten für das erste neuronale Netz (201) hinzugefügt. Diese Daten können auch als Testdaten eingesetzt werden, da die Daten Corner Cases' enthalten können. Ein Corner Case kann damit eine Anomalie enthalten, das zu einem unerwünschten Verhalten im Netz (201) führt. Ein Zwischenschritt ist möglich, indem die ersten gesammelten Daten in einem Testdatensatz als „Corner Case“ evaluiert werden und schließend der Anomaliedetektor noch einmal hierauf nachzutrainieren, um dann bei der zweiten Datenakquise gezielt Trainingsdaten zu sammeln. Mit Hilfe dieser Daten soll eine erforderliche oder gewünschte Leistungsfähigkeit des maschinellen Lernsystems getestet oder bei einem Nachanlernen mit diesem Trainingsdatum verbessert oder stabilisiert. Die Leistungsfähigkeit kann eine Vorhersagegenauigkeit oder eine sicherheitsrelevante Fähigkeit des maschinellen Lernsystems sein.
-
Daraufhin kann Schritt S24 folgen. Hierin wird ein Nachanlernen des ersten neuronalen Netzes (201) abhängig von dem Trainingsdatensatz, welcher im vorhergehenden Schritt erweitert wurde, ausgeführt. Vorteilhafterweise wird hier auch das zweite neuronale Netz (202) abhängig von diesem Trainingsdatensatz und auch abhängig von neu aufgezeichneten Zwischengrößen des nachangelernten ersten neuronalen Netzes nachangelernt.
-
Optional kann das nachangelernte erste und/oder zweite neuronale Netz (201,202) in dem Fahrzeug geupdated werden, also es werden die geänderten Parametern nach Schritt S24 an das Fahrzeug übermittelt, welches daraufhin die Parameter seiner neuronalen Netze durch die übermittelten Parameter ersetzt.
-
Denkbar ist, dass die Schritte S22 und S23 mehrmals hintereinander ausgeführt werden, bis ausreichend viele neue Trainingsdaten oder Testdaten vorliegen. Nach Beendigung von Schritt S25 kann das Verfahren wieder bei Schritt S22 beginnen. Weiterhin ist denkbar, dass während der Schritt S24 und/oder S25 ausgeführt wird, parallel die Schritte S22 und S23 ablaufen.
-
4 zeigt eine schematische Darstellung einer Vorrichtung (40) zum Anlernen der neuronalen Netze (201,202), insbesondere zum Ausführen der Schritte S 21 und/oder S24. Die Vorrichtung (40) umfasst ein Trainingsmodul (41) und ein zu trainierendes Modul (42). Dieses zu trainierende Modul (42) beinhaltet die zwei neuronalen Netze nach 2. Die Vorrichtung (40) zum Anlernen der neuronalen Netze (201,202), lernt abhängig von Ausgangsgrößen der neuronalen Netze (201,202) und bevorzugt mit vorgebbaren Trainingsdaten die neuronalen Netze (201,202) an. Bevorzugt wird das Detektionsnetz (202) getrennt vom maschinellen Lernsystem (201), das bereits fertig trainiert ist, trainiert. Während des Anlernens werden Parameter des jeweils zu trainierendem maschinellen Lernsystem (201,202), die in einem Speicher (43) hinterlegt sind, angepasst.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-