-
Die vorliegende Erfindung betrifft ein Verfahren zum Trainieren eines tiefen konvolutionellen neuronalen Netzwerks zum Verarbeiten von Sensordaten zur Anwendung in einem Fahrunterstützungssystem eines Fahrzeugs. Die vorliegende Erfindung betrifft auch eine Datenverarbeitungsvorrichtung. Weiterhin betrifft die vorliegende Erfindung ein Computerprogrammprodukt. Die vorliegende Erfindung betrifft darüber hinaus auch ein Fahrunterstützungssystem eines Fahrzeugs zum Ausführen des vorstehenden Verfahrens.
-
Autonomes und semi-autonomes Fahren werden in der Automobilindustrie immer wichtiger. Prototypen für autonomes Fahren sind bereits entwickelt und werden getestet, teilweise sogar unter realen Fahrsituationen. Autonomes Fahren wird als eine bahnbrechende Technologie im Automobilsektor betrachtet.
-
Autonomes und semi-autonomes Fahren basiert auf der Kenntnis der Umgebung des Fahrzeugs. Basierend auf dieser Kenntnis kann das Fahrunterstützungssystem z.B. Gefahren für das Fahrzeug oder Dritte erkennen und auf eine geeignete Weise agieren, um derartige gefährlichen Fahrsituationen aufzulösen. Daher werden verschiedenartige Umgebungssensoren in Fahrzeugen eingesetzt, um die Umgebung des Fahrzeugs zu überwachen. Solche Umgebungssensoren können eine beliebige Kombination von Sensoren unter Ultraschallsensoren, Sensoren auf LiDAR-Basis, Radarsensoren und optischen Kameras aufweisen.
-
Das Verarbeiten von Sensordaten von Umgebungssensoren, insbesondere von Sensordaten auf LiDAR-Basis, die einen ganzen Satz von 3D-Punkten enthalten, ist eine große Herausforderung. Riesige Datenmengen müssen in Echtzeit verarbeitet werden, um die Umgebung des Fahrzeugs zuverlässig zu erfassen. Die Ressourcen des Fahrzeugs zum Verarbeiten der Daten sind jedoch in Bezug auf den Platz zum Unterbringen von Verarbeitungsvorrichtungen und in Bezug auf die verfügbare elektrische Leistung begrenzt. Selbst wenn die technischen Probleme behoben würden, bleibt der Preis der Ressourcen eingeschränkt, um Fahrzeuge zu einem erschwinglichen Preis anbieten zu können.
-
Das Endziel von Computer Vision besteht darin, Computern beizubringen, Bilder zu sehen und zu verstehen, ähnlich wie es Menschen tun. Insbesondere ist das Szenenverständnis eines der wichtigsten Kern- und Grundprobleme vieler Anwendungen, wie beispielsweise autonomes Fahren, Robotik und Augmented Reality.
-
Der maschinelle Lernansatz wurde in jüngster Zeit erfolgreich zum Lösen zahlreicher Probleme im Zusammenhang mit dem Verständnis von Bildern verwendet. Maschinelles Lernen ist nützlich für die Klassifizierung von Daten in einem Datensatz. Es werden Klassifizierer verwendet, um Datensätze gemäß Klassenbezeichnungen zu klassifizieren, wobei die Klassifizierer eine gute Leistung erbringen, wenn der Datensatz ausgewogen ist. Ein Datensatz wird als unausgewogen bezeichnet, wenn er wesentlich mehr Proben aus einer Klasse, die Majoritätsklasse genannt wird, enthält als aus der anderen Klasse, die als Minoritätsklasse bezeichnet wird. Es ist bekannt, dass das Problem der Klassenunausgewogenheit die Lernleistung von Klassifizierungsalgorithmen behindert. Verschiedene Realwelt-Klassifizierungsaufgaben, wie beispielsweise das Verständnis von Bildern, leiden unter diesem Phänomen. Die Klassifizierung unausgewogener Datensätze wird als wichtiges und schwieriges Problem beim maschinellen Lernen und bei der Klassifizierung erkannt.
-
Standardklassifizierer funktionieren mit unausgewogenen Datensätzen nicht gut, hauptsächlich, weil sie versuchen, die Gesamtfehler der Falschklassifizierung zu reduzieren und daher die Majoritätsklasse besser kennenlernen als die Minoritätsklasse. Demzufolge ist die Fähigkeit des Klassifizierers, Testproben von der Minoritätsklasse zu identifizieren, schlecht. Rauschen in den Daten hat daher für Proben aus der Minoritätsklasse einen weitaus größeren Einfluss auf die Klassifizierungsleistung. Wenn die Minoritätsklasse sehr wenig Datenpunkte enthält, ist es außerdem schwieriger, eine generalisierbare Klassifizierungsgrenze zwischen den Klassen zu erhalten.
-
Es sind verschiedene Techniken entwickelt worden, um unausgewogene Datensätze beim maschinellen Lernen zu handhaben. Die drei breiten Klassen von Techniken, die für die Klassifizierung unausgewogener Daten entwickelt wurden, umfassen probenbasierte Vorverarbeitungstechniken, kostensensitives Lernen und kernelbasierte Methoden.
-
Ein leistungsfähiges Mittel zum Verarbeiten von Bilddaten sind neuronale Netzwerke. Anwendungen neuronaler Netzwerke zur Bildverarbeitung basieren typischerweise auf konvolutionellen neuronalen Netzwerken und insbesondere auf tiefen konvolutionellen neuronalen Netzwerken. Die Verwendung solcher Netzwerktypen hat vielversprechende Ergebnisse zu einem erschwinglichen Preis gezeigt.
-
Ein künstliches neuronales Netzwerk, das eine miteinander verbundene Gruppe künstlicher Neuronen (z.B. Neuronenmodelle) aufweisen kann, ist eine Recheneinrichtung oder stellt ein Verfahren dar, das durch eine Recheneinrichtung ausgeführt werden soll.
-
Konvolutionelle neuronale Netzwerke sind eine Art künstliches neuronales Feedforward-Netzwerk. Konvolutionelle neuronale Netzwerke können Ansammlungen von Neuronen enthalten, die jeweils ein rezeptives Feld aufweisen und gemeinsam einen Eingaberaum kacheln. Konvolutionelle neuronale Netzwerke (CNNs) haben zahlreiche Anwendungen. Insbesondere sind CNNs auf dem Gebiet der Mustererkennung und -klassifizierung weit verbreitet verwendet worden.
-
Bei der Nutzung tiefer konvolutioneller neuronaler Netzwerke stellen sich bei der Entwicklung geeigneter Strukturen neuronaler Netzwerke, insbesondere bei der Entwicklung von Grund auf, einige Fragen. Diese beinhalteten, um nur einige zu nennen, eine Definition eines geeigneten neuronalen Netzwerktyps, das Bestimmen einer Anzahl und einer Position von Eingaben, das Bestimmen einer Anzahl verborgener Schichten (Hidden Layers), die im Fall eines tiefen konvolutionellen neuronalen Netzwerks verwendet werden sollen, und das Bestimmen einer Anzahl erforderlicher Ausgabeneuronen. Diese Fragen sind wichtig, da im Falle eines zu großen/zu kleinen neuronalen Netzwerks das neuronale Netzwerk möglicherweise die Bilddaten über- bzw. unterbestimmen könnte. Infolgedessen würde das neuronale Netzwerk nicht in geeigneter Weise lernen anhand bereitgestellter Trainingsdaten geeignet zu generalisieren. In solchen Fällen kann, auch wenn der Fehler bei den Trainingsdaten auf einen sehr kleinen Wert unterdrückt wird, der Fehler zu groß sein, wenn dem neuronalen Netzwerk neue Bilddaten, d.h. von den zuvor zum Trainieren des neuronalen Netzwerks verwendeten Trainingsdaten verschiedene Bilddaten, präsentiert werden. In diesem Fall hat das neuronale Netzwerk die Trainingsdaten gespeichert, aber es hat nicht gelernt, anhand der bereitgestellten Trainingsdaten zu generalisieren, was für derartige neue Situationen mit neuen Bilddaten aber nötig wäre. Aufgrund dessen ist bei der Verwendung derartiger neuronaler Netzwerke ein geeignetes Training mit geeigneten Trainingsdaten extrem wichtig, die auf verschiedene neuronale Netzwerke angewendet werden können, um die Leistungsfähigkeit der verschiedenen neuronalen Netzwerke zu bewerten und miteinander zu vergleichen.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Trainieren eines tiefen konvolutionellen neuronalen Netzwerks zum Verarbeiten von Sensordaten für Anwendungen in einem Fahrunterstützungssystem eines Fahrzeugs unter Verwendung eines Satzes von Trainingsdaten, die Umgebungsinformation enthalten, eine Datenverarbeitungsvorrichtung zum Ausführen des oben beschriebenen Verfahrens und ein Fahrunterstützungssystem anzugeben, die ein effizientes Training eines tiefen konvolutionellen neuronalen Netzwerks und eine Verbesserung der Leistungsfähigkeit bei Anwendung des tiefen konvolutionellen neuronalen Netzwerks ermöglichen, selbst bei unausgewogenen Sätzen von Trainingsdaten.
-
Die Lösung dieser Aufgabe erfolgt durch die unabhängigen Ansprüche. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
-
Insbesondere ist durch die vorliegenden Erfindung ein Verfahren zum Trainieren eines tiefen konvolutionellen neuronalen Netzwerks zum Verarbeiten von Sensordaten für Anwendungen in einem Fahrunterstützungssystem eines Fahrzeugs unter Verwendung eines Satzes von Trainingsdaten angegeben, die Umgebungsinformation enthalten, mit den Schritten: Bereitstellen eines tiefen konvolutionellen neuronalen Netzwerks, Bereitstellen eines Satzes von Trainingsdaten, die Umgebungsinformation mit feinkörnigen Klassen und grobkörnigen Klassen enthalten, wobei den feinkörnigen Klassen und den grobkörnigen Klassen Ground-Truth-Label zugeordnet sind, Modifizieren des Satzes von Trainingsdaten derart, dass sie nur feinkörnige Klassen aufweisen, und Ausführen eines Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks unter der Steuerung des selbstinkrementellen Transferlernens, wobei der Satz von Trainingsdaten durch eine gewichtete Kreuzentropie-Verlustfunktion trainiert wird. Gemäß einer modifizierten Ausführungsform wird der Satz von Trainingsdaten mit einer gewichteten Kreuzentropie-Verlustfunktion gemäß der Gleichung
trainiert, wobei
- N eine Anzahl feinkörniger Klassen ist,
- Li eine durch die Softmax-Schicht ausgegebene vorhergesagte Wahrscheinlichkeit ist,
- Si ein One-Hot-Encoded Ground-Truth-Label ist, und
- ωi eine Gewichtung pro feinkörniger Klasse ist, und
wobei die Modelldaten des Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks gespeichert werden.
-
Durch die Erfindung ist eine einfache, aber effiziente Verbesserung für tiefe konvolutionelle neuronale Netzwerke (Deep Convolutional Network, DCNN) angegeben, insbesondere zum Trainieren eines tiefen neuronalen Netzwerks unter der Steuerung von selbstinkrementellem Transferlernen. Inkrementelle Verfahren bieten Lösungen zum sequenziellen Verarbeiten der Lerndaten unter Verwendung von Teilmengen des Trainingsdatensatzes.
-
Eine inkrementelle Technik ist so definiert, dass sie in der Lage ist, zusätzliche Information von neuen Daten zu lernen. Sie erfordert keinen Zugriff auf die Originaldaten, die zum Trainieren der vorhandenen Klassifizierer verwendet werden (um die Speicherauslastung zu begrenzen), behält das zuvor erworbene Wissen und ist in der Lage, neue Klassen aufzunehmen, die möglicherweise mit neuen Daten eingeführt werden. Beim typischen Transferlernen werden die Daten einer Quellaufgabe verwendet, um die Zielaufgabe zu trainieren, indem von der Quellaufgabe erworbenes Vorwissen auf die Zielaufgabe übertragen wird. Beispielsweise kann ein gut trainiertes Netzwerk zum Klassifizieren inhaltsreicher Bilder für eine andere Aufgabe genutzt werden, die mit dem Bildklassifizierungsziel in Beziehung steht. Normalerweise wird ein bezüglich einer Quellaufgabe vortrainiertes Netzwerk für eine andere Zielaufgabe verwendet, indem die Parameter der unteren Schichten, die die allgemeineren Schichten sind, eingefroren werden und nur einige obere Schichten, die die spezifischeren Schichten sind, fein abgestimmt werden. Transferlernen kann als die Aufgabe beschrieben werden, das in einer oder in mehreren Anwendungen erlernte Wissen zu bewahren und anzuwenden, um eine effektive Hypothese (Modell) für eine neue Anwendung effizient zu entwickeln. Selbstinkrementelles Transferlernen ist nun Lernen von der gleichen Aufgabe.
-
Es wird ein Satz Trainingsdaten mit Umgebungsinformation mit feinkörnigen Klassen und grobkörnigen Klassen bereitgestellt, wobei den feinkörnigen Klassen und den grobkörnigen Klassen Ground-Truth-Label zugeordnet sind.
-
Feinkörnige Klassen sind die nicht-dominanten Klassen, die nur einige Punkte enthalten, die vom Klassenobjekt erhalten werden. Grobkörnige Klassen sind die dominanten Klassen, die eine relativ große Anzahl von Punkten enthalten, die vom Klassenobjekt erhalten werden.
-
Der Schritt zum Modifizieren des Satzes von Trainingsdaten derart, dass sie nur feinkörnige Klassen enthalten, bezieht sich darauf, zunächst mit den feinkörnigen Klassen zu beginnen, um in den anschließenden Lernphasen von diesen Modelldaten zu profitieren.
-
Die Wahl der Optimierungsalgorithmen und Verlustfunktionen kann für ein tiefes Lernmodell eine große Rolle beim Erzeugen optimaler und schnellerer Ergebnisse spielen. Kreuzentropie gibt die Differenz zwischen dem, was das Modell als Ausgabeverteilung voraussetzt, und dem an, was die ursprüngliche Verteilung wirklich ist. Kreuzentropieverlust ist eine Verlustfunktion, die den natürlichen Logarithmus verwendet. Dies trägt dazu bei, das Training für neuronale Netzwerke im Vergleich zum quadratischen Verlust zu beschleunigen.
-
Die normale Kreuzentropie-Verlustfunktion
pönalisiert die Falschklassifizierung für alle Klassen gleichermaßen. Erfindungsgemäß wird die gewichtete Kreuzentropie-Verlustfunktion verwendet, um die Falschklassifizierung feinkörniger Klassen stärker als diejenige grobkörniger Klassen zu pönalisieren.
-
Grundidee der Erfindung ist es daher, sowohl den gewichteten Verlust pro Klasse als auch das selbstinkrementelle Transferlernen zu integrieren, um die Klassifizierung für alle feinkörnigen und grobkörnigen Klassen zu verbessern. Damit wird eine neue, verallgemeinerte, flexible und natürliche Methodik für Datensätze mit unausgewogenen Klassen vorgeschlagen, die sowohl eine Klassengewichtung als auch das inkrementelle Hinzufügen von Klassen aufweist.
-
Das mit dem vorgeschlagenen Verfahren trainierte neuronale Netzwerk ist ein tiefes konvolutionelles neuronales Netzwerk (Deep Convolutional Neural Network, DCNN) zum Verarbeiten von Bilddaten. DCNNs sind eine besondere Implementierung allgemeinerer konvolutioneller neuronaler Netzwerke (CNNs). CNNs weisen eine Eingabe- und eine Ausgabeschicht sowie mehrere verborgene Schichten auf. Die verborgenen Schichten eines CNN bestehen typischerweise aus konvolutionellen Schichten, Pooling-Schichten, Fully-Connected-Schichten und Normalisierungsschichten. Die konvolutionellen Schichten wenden eine Faltungsoperation auf die Eingabe an, wobei das Ergebnis an die nächste Schicht übergeben wird. Die Faltung emuliert die Antwort eines einzelnen Neurons auf visuelle Reize.
-
Solche DCNNs werden im Zusammenhang mit Fahranwendungen in Fahrzeugen immer mehr verwendet. Daher werden die DCNNs z.B. in Fahrunterstützungssystemen von Fahrzeugen eingesetzt. Die Fahrunterstützungssysteme umfassen Fahrerassistenzsysteme, die einen menschlichen Fahrer des Fahrzeugs in verschiedenen Fahrsituationen unterstützen, und Systeme, die autonomes Fahren des Fahrzeugs durch Bereitstellen einer Eingabe für einen zuverlässigen Umgang mit unterschiedlichen Verkehrssituationen unterstützen.
-
Durch die vorliegende Erfindung ist auch eine Datenverarbeitungsvorrichtung zum Ausführen des obigen Verfahrens angegeben.
-
Durch die vorliegende Erfindung ist ferner ein Computerprogrammprodukt angegeben, das Anweisungen enthält, die, wenn das Computerprogrammprodukt durch die Datenverarbeitungsvorrichtung ausgeführt wird, veranlassen, dass die Datenverarbeitungsvorrichtung die Schritte des obigen Verfahrens ausführt.
-
Durch die vorliegende Erfindung ist außerdem ein Fahrunterstützungssystem zum Ausführen des vorstehenden Verfahrens angegeben.
-
Gemäß einer modifizierten Ausführungsform der Erfindung weist der Schritt zum Modifizieren des Satzes von Trainingsdaten zum Erhalten nur feinkörniger Klassen den Schritt zum Ändern der Ground-Truth-Label der grobkörnigen Klassen auf, derart, dass diese keine Objektklassen sind.
-
Gemäß einer weiteren modifizierten Ausführungsform der Erfindung weist der Schritt zum Ausführen eines Trainingsschritts des konvolutionellen neuronalen Netzwerks unter der Steuerung des selbstinkrementellen Transferlernens den Schritt zum Berechnen der Gewichte ω
i auf der Grundlage der Häufigkeit jeder feinkörnigen Klasse in dem Satz von Trainingsdaten entsprechend der Anzahl an Punktdatensätzen dieser Klasse in Bezug auf die gesamten Trainingsdaten auf. Gemäß einer modifizierten Ausführungsform werden die Gewichte ω
i gemäß der Gleichung
berechnet, wobei ε eine kleine Zahl ist.
-
Gemäß einer modifizierten Ausführungsform der Erfindung weist der Schritt zum Bereitstellen eines Satzes von Trainingsdaten, der Umgebungsinformation mit feinkörnigen Klassen und grobkörnigen Klassen enthält, den Schritt zum Bereitstellen von Sensordaten als Trainingsdaten von mindestens einem Umgebungssensor auf. Umgebungssensoren, die in Fahrzeugen zum Erfassen der Fahrzeugumgebung verwendet werden, sind z.B. Radar-, LiDAR-, Kamera- und Ultraschallsensoren.
-
Gemäß einer weiteren modifizierten Ausführungsform der Erfindung weist der Schritt zum Trainieren des tiefen konvolutionellen neuronalen Netzwerks ferner die Schritte zum Modifizieren des Trainingsdatensatzes, um zusätzlich zu den vorherigen feinkörnigen Klassen eine der grobkörnigen Klassen hinzuzufügen, Trainieren des gleichen Modells mittels Laden des Datenmodells des Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks, bis ein stabiles Modell vorliegt, das in der Lage ist, diese Klassen zu erfassen, und Wiederholen der Trainingsschritte auf, bis ein Modell für die gesamten Klassen erhalten wird. Das Modell ist aufgebaut auf kontinuierlichem Lernen, das mit den feinkörnigen Klassen startet und das gelernte Modell speichert, um in den nächsten Lernphasen von diesem Modell zu profitieren. Anschließend wird eine grobkörnige Klasse nach der anderen hinzugefügt, bis ein hinreichendes Modell sowohl für feinkörnige als auch für grobkörnige Klassen erhalten wird.
-
Gemäß einer modifizierten Ausführungsform der Erfindung weist der Schritt zum Ausführen eines Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks unter der Steuerung des selbstinkrementellen Transferlernens den Schritt zum Trainieren des Modells unter Verwendung der feinkörnigen Klassen auf, bis ein stabiles Modell erhalten wird, das in der Lage ist, die feinkörnigen Klassen zu erfassen.
-
Gemäß einer anderen modifizierten Ausführungsform der Erfindung wird das Verfahren als lokales Verfahren implementiert, das im Fahrunterstützungssystem implementiert wird.
-
Gemäß einer modifizierten Ausführungsform der Erfindung weist der Schritt zum Bereitstellen eines Satzes von Trainingsdaten mit Umgebungsinformation mit feinkörnigen Klassen und grobkörnigen Klassen das Bereitstellen des Satzes von Trainingsdaten unter Verwendung mindestens eines mit dem Fahrunterstützungssystem verbundenen Umgebungssensors auf. Der Umgebungssensor kann mehrere Sensoren aufweisen, insbesondere einen Strahlungssensor (Radar/LiDAR/Ultraschall) und einen Kamerasensor (Monokamera/Stereokamera).
-
Gemäß einer weiteren modifizierten Ausführungsform der Erfindung weist der Schritt zum Bereitstellen des Satzes von Trainingsdaten unter Verwendung mindestens eines mit dem Fahrunterstützungssystem verbundenen Umgebungssensors den Schritt zum Bereitstellen des Satzes von Trainingsdaten unter Verwendung mindestens eines LiDAR-Sensors auf, der mit dem Fahrunterstützungssystem verbunden ist. Der Zweck des letzteren besteht darin, einen genauen Abstand zwischen dem Sensor und einem Ziel zu messen. Bei autonomen Fahrzeugen liefert er die Abstandsinformation der Hindernisse in der Umgebung in Bezug auf die Fahrzeugposition. Die neuesten LiDAR-Sensoren können eine dichte 3D-Punktwolke erzeugen. Mit der vorliegenden Erfindung kann die komplette 3-D-Punktwolke etikettiert werden, so dass die erwartete Ausgabe eine Punktfür-Punkt-Etikettierung der 3-D-Punktwolkendaten ist. LiDAR-Daten werden zum Erzeugen von Bereichsvorschlägen durch Verarbeiten der durch sie bereitgestellten dreidimensionalen Punktwolke genutzt.
-
Diese und andere Aspekte der Erfindung werden unter Bezug auf die nachfolgend beschriebenen Ausführungsformen ersichtlich und erläutert. Einzelne Merkmale, die in den Ausführungsformen angegeben sind, können für sich alleine oder in Kombination einen Aspekt der vorliegenden Erfindung bilden. Merkmale der verschiedenen Ausführungsformen können von einer Ausführungsform auf eine andere Ausführungsform übertragen werden.
-
Es zeigen:
- 1 eine Darstellung eines bekannten Trainingsverfahrens für ein neuronales Netzwerk;
- 2 ein Diagramm von selbstinkrementellem Transferlernen für inkrementelle Datensätze basierend auf Klassen für verschiedene Trainingsphasen; und
- 3 ein Ablaufdiagramm eines Verfahrens zum Trainieren eines tiefen konvolutionellen neuronalen Netzwerks (Deep Convolutional Neural Network, DCNN) zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem eines Fahrzeugs gemäß einer ersten bevorzugten Ausführungsform.
-
1 zeigt eine Darstellung eines bekannten Verfahrens zum Trainieren eines neuronalen Netzwerks unter Verwendung von Transferlernen. Während beim herkömmlichen maschinellen Lernen der gleiche Merkmalsraum oder die gleiche Merkmalsverteilung sowohl für die Trainings- als auch für die Testdaten vorausgesetzt wird, können diese beim Transferlernen unterschiedlich sein. Bei typischem Transferlernen werden die Daten der Quellaufgabe 1 verwendet, um die Zielaufgabe 2 zu trainieren, indem von der Quellaufgabe 1 erworbenes Vorwissen auf die Zielaufgabe 2 übertragen wird. Beispielsweise kann ein gut trainiertes Netzwerk zum Klassifizieren inhaltsreicher Bilder für eine andere Zielaufgabe verwendet werden, die mit Bildklassifizierung in Beziehung steht. Normalerweise wird ein für eine Quellaufgabe 1 vortrainiertes Netzwerk für eine andere Zielaufgabe 2 verwendet, indem die Parameter der unteren Schichten 4, welche allgemeinere Schichten sind, eingefroren werden und nur einige obere Schichten 3, die spezifischer sind, fein abgestimmt werden. Transferlernen kann als Aufgabe zum Bewahren und Anwenden des in einer oder in mehreren Aufgaben gelernten Wissens zum effizienten Entwickeln einer effektiven Modellhypothese für eine neue Aufgabe beschrieben werden.
-
2 zeigt ein Diagramm zum selbstinkrementellen Transferlernen für inkrementelle Datensätze basierend auf Klassen für verschiedene Trainingsphasen. Typisches Transferlernen wird normalerweise verwendet, um das Wissen, das durch eine Quellaufgabe erlernt wurde, zum Unterstützen des Lernens einer anderen Zielaufgabe zu nutzen. 2 zeigt inkrementelles Transferlernen, das Lernen von der gleichen Aufgabe und die Fähigkeit bezeichnet, das in der Vergangenheit erworbene Wissen zum Lernen neuer Aufgaben vorteilhaft zu nutzen, wobei ωi die Gewichtung pro Klasse bezeichnet und ω1 > ω2 > ω3 > ω4 > ω5 ist. Der Vorteil des selbstinkrementellen Transferlernens besteht darin, dass sowohl feinkörnige als auch grobkörnige Klassen erfasst und korrekt klassifiziert werden können.
-
3 zeigt ein Ablaufdiagramm eines Verfahrens zum Trainieren eines tiefen konvolutionellen neuronalen Netzwerks (DCNN) zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem eines Fahrzeugs gemäß einer ersten bevorzugten Ausführungsform. Das mit dem vorgeschlagenen Verfahren trainierte neuronale Netzwerk ist ein tiefes konvolutionelles neuronales Netzwerk (DCNN) zum Verarbeiten von Bilddaten. Das DCNN ist eine besondere Implementierung eines konvolutionellen neuronalen Netzwerks (CNN), das eine Eingabe- und eine Ausgabeschicht zusammen mit mehreren verborgenen Schichten aufweist, die zwischen der Eingabeschicht und der Ausgabeschicht angeordnet sind. Die verborgenen Schichten eines CNN umfassen typischerweise konvolutionelle Schichten, Pooling-Schichten, Fully-Connected-Schichten und Normalisierungsschichten. Die konvolutionellen Schichten wenden eine Faltungsoperation auf die Eingabe an, wobei das Ergebnis an die nächste Schicht übergeben wird. Die Faltung emuliert die Antwort eines einzelnen Neurons auf visuelle Reize.
-
Das DCNN wird in der Fahranwendung in einem Fahrzeug verwendet. Daher werden die DCNNs in einem Fahrunterstützungssystem des Fahrzeugs eingesetzt. Das Fahrunterstützungssystem ist ein System, das einen menschlichen Fahrer des Fahrzeugs in verschiedenen Fahrsituationen unterstützt, oder ein System, welches autonomes Fahren des Fahrzeugs durch Eingabe von Information unterstützt, um mit unterschiedlichen Verkehrssituationen zuverlässig umzugehen.
-
Das Verfahren beginnt mit Schritt S100. Schritt S100 bezieht sich auf das Bereitstellen eines Satzes von Trainingsdaten mit Umgebungsinformation mit feinkörnigen Klassen und grobkörnigen Klassen, wobei die feinkörnigen Klassen und die grobkörnigen Klassen mit Ground-Truth-Label versehen sind. Dieser Satz von Trainingsdaten können z.B. 3D-Punktwolkendaten sein, die von einem LiDAR-Sensor eines Fahrzeugs bereitgestellt werden. Der Satz von Trainingsdaten besteht aus feinkörnigen und grobkörnigen Klassen. Feinkörnige Klassen sind die nicht-dominanten Klassen, die nur eine geringe Anzahl von Punkten enthalten, die vom Klassenobjekt erhalten werden. Grobkörnige Klassen sind die dominanten Klassen, die eine relativ große Anzahl von Punkten enthalten, die vom Klassenobjekt erhalten werden.
-
In Schritt S110 wird der Satz von Trainingsdaten so modifiziert, dass er nur die feinkörnigen Klassen enthält. Dies geschieht durch Ändern der Ground-Truth-Label der grobkörnigen Klassen, derart, dass sie keine Objektklasse sind.
-
In Schritt S120 besteht der Satz von Trainingsdaten nur aus feinkörnigen Klassen. Dieser Satz von Trainingsdaten wird zum Trainieren des tiefen konvolutionellen neuronalen Netzwerks verwendet.
-
Schritt
S130 bezieht sich auf das Ausführen eines Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks unter der Steuerung des selbstinkrementellen Transferlernens, wobei der Satz von Trainingsdaten durch eine gewichtete Kreuzentropie-Verlustfunktion gemäß der Gleichung
trainiert wird, wobei N eine Anzahl feinkörniger Klassen, L
i eine von der Softmax-Schicht ausgegebene vorhergesagte Wahrscheinlichkeit, S
i ein One-Hot-Encoded Ground-Truth-Label und ω
i ein Gewicht pro feinkörnige Klasse ist. Ferner weist in Schritt
S130 das Ausführen eines Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks unter der Steuerung des selbstinkrementellen Transferlernens den Schritt zum Berechnen von Gewichten ω
i basierend auf der Häufigkeit jeder Klasse in dem Satz von Trainingsdaten gemäß der Anzahl an Punktdatensätzen dieser Klasse in Bezug auf die Gesamtzahl an Punktdatensätzen in den Trainingsdaten gemäß der Gleichung
auf, wobei ε eine kleine Zahl ist. Das neuronale Netzwerk wird nur unter Verwendung der feinkörnigen Klassen trainiert, bis ein stabiles Modell vorliegt, das in der Lage ist, diese Klassen zu erfassen.
-
Schritt S140 bezieht sich auf das Speichern der Modelldaten des Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks, wie sie nach dem ersten Trainingsschritt erhalten wurden. Die Modelldaten sind die vortrainierten individuellen Modelldaten des tiefen konvolutionellen neuronalen Netzwerks.
-
Schritt S150 bezieht sich auf das Modifizieren des Satzes von Trainingsdaten, um zusätzlich zu den vorherigen feinkörnigen Klassen eine der grobkörnigen Klassen hinzuzufügen.
-
In Schritt S160 besteht der Satz von Trainingsdaten aus feinkörnigen Klassen mit einer grobkörnigen Klasse. Dieser Satz von Trainingsdaten wird in Schritt S170 verwendet, um das gleiche Modell durch Laden der in Schritt S140 gespeicherten vortrainierten individuellen Modelldaten zu trainieren, bis ein stabiles Modell vorliegt, das in der Lage ist, die Klassen zu erfassen. Im Allgemeinen gelten die gleichen Prinzipien, die oben in Bezug auf das Ausführen des ersten Trainingsschritts S130 erörtert wurden, auch für das Ausführung des zweiten Trainingsschritts S170.
-
Schritt S180 bezieht sich auf das Speichern der Modelldaten des Trainingsschritts des tiefen konvolutionellen neuronalen Netzwerks, wie sie nach dem zweiten Trainingsschritt erhalten wurden.
-
Bezugszeichenliste
-
- 1
- Quellaufgabe
- 2
- Zielaufgabe
- 3
- Obere Schicht
- 4
- Untere Schichten