-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft ein Trainingsverfahren für ein neuronales Netzwerk.
-
TECHNISCHER HINTERGRUND
-
Künstliche neuronale Netzwerke sind bekannt. Beispielsweise zeigt die
US 5,636,326 ein Parametrisierungsverfahren für ein künstliches neuronales Netzwerk.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Vor diesem Hintergrund liegt der Erfindung die Aufgabe zugrunde, ein neuronales Netzwerk mit einer reduzierten Laufzeit bereitzustellen, insbesondere bei Ergebnissen von zumindest gleichbleibender Güte.
-
Erfindungsgemäß wird diese Aufgabe durch ein Trainingsverfahren mit den Merkmalen des Patentanspruchs 1 gelöst.
-
Demgemäß ist vorgesehen:
- - ein Trainingsverfahren für ein neuronales Netzwerk mit den folgenden Schritten:
- Bereitstellen von Trainingsdaten, die in Trainingsdaten erster Art und in Trainingsdaten zweiter Art klassifiziert sind, wobei eine Kardinalität der Trainingsdaten erster Art geringer ist als eine Kardinalität der Trainingsdaten und eine Kardinalität der Trainingsdaten zweiter Art geringer ist als eine Kardinalität der Trainingsdaten; Bereitstellen einer ersten Kopie eines neuronalen Netzwerks, welches anhand der Trainingsdaten trainiert ist; Nachtrainieren der ersten Kopie des neuronalen Netzwerks, indem Gewichte der ersten Kopie des neuronalen Netzwerks aufgrund der Trainingsdaten erster Art angepasst werden.
-
Kraftfahrzeuge im Sinne dieser Patentanmeldung sind motorgetriebene Landfahrzeuge. Davon sind auch Schienenfahrzeuge umfasst.
-
Künstliche Intelligenz ist ein Oberbegriff für die Automatisierung intelligenten Verhaltens. Beispielsweise lernt ein intelligenter Algorithmus, zweckgerichtet auf neue Informationen zu reagieren. Ein intelligenter Algorithmus ist zum Beispiel ein künstliches neuronales Netzwerk.
-
Um zweckgerichtet auf neue Informationen zu reagieren, ist es erforderlich, dass eine künstliche Intelligenz zunächst die Bedeutung von vorbestimmten Informationen lernt. Dazu wird die künstliche Intelligenz mit Trainingsdaten trainiert. Insbesondere enthalten Trainingsdaten neben den eigentlichen Daten auch Informationen über die Bedeutung der jeweiligen Daten. Diese Trainingsphase ist inspiriert von dem Lernprozess eines Gehirns. Das Trainieren mit Trainingsdaten wird maschinelles Lernen genannt.
-
In dieser Anmeldung sind Trainingsdaten erster Art von Trainingsdaten zweiter Art für eine künstliche Intelligenz unterscheidbar. Dementsprechend kann vorgesehen sein, dass die Trainingsdaten erster Art fußgängerbezogene Trainingsdaten sind und die Trainingsdaten zweiter Art fahrzeugbezogene Trainingsdaten sind.
-
Intelligenter Algorithmus bedeutet, dass der Algorithmus Mittel der künstlichen Intelligenz umfasst.
-
Ein künstliches neuronales Netzwerk (ANN, engl. artificial neural network - ANN) ist insbesondere ein in einem Rechenprogramm nachgebildetes Netzwerk aus vernetzten künstlichen 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. Typischerweise wird zunächst eine Parametrisierung 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.
-
Der Begriff „Parametrisierung eines ANN“ umfasst sämtliche Aspekte bezüglich des Aufbaus eines ANN. Hierunter fallen beispielsweise die Anzahl der Neuronen des ANN, die Aufteilung der Neuronen auf die einzelnen Schichten des ANN, die Anzahl der Schichten eines ANN, die Vernetzung der Neuronen und die Gewichtung der Vernetzung.
-
Der Begriff „Topologie eines ANN“ umfasst sämtlich Aspekte bezüglich des Aufbaus eines ANN. Hierunter fallen beispielsweise die Anzahl der Neuronen des ANN, die Aufteilung der Neuronen auf die einzelnen Schichten des ANN, die Anzahl der Schichten eines ANN, die Vernetzung der Neuronen und die Gewichtung der Vernetzung.
-
Das Training des künstlichen neuronalen Netzwerks umfasst dabei typischerweise eine Veränderung eines Gewichts einer Verbindung zwischen zwei künstlichen Neuronen des künstlichen neuronalen Netzwerks. Das Gewicht enthält Information zur Stärke der Berücksichtigung eines Eingangs eines Neurons. Das Training des künstlichen neuronalen Netzwerks kann auch eine Entwicklung von neuen Verbindungen zwischen künstlichen Neuronen, ein Löschen von bestehenden Verbindungen zwischen künstlichen Neuronen, ein Anpassen von Schwellwerten der künstlichen Neuronen und/oder ein Hinzufügen oder ein Löschen von künstlichen Neuronen umfassen.
-
Ein Beispiel für ein künstliches neuronales Netzwerk ist ein flaches künstliches neuronales Netzwerkwerk (shallow neural network), welches oft nur eine einzelne verdeckte Schicht zwischen der Eingabeschicht und der Ausgabeschicht enthält und damit relativ einfach zu trainieren ist. Ein weiteres Beispiel ist ein tiefes künstliches neuronales Netzwerkwerk (deep neural network), welches zwischen der Eingangsschicht und der Ausgabeschicht mehrere verschachtelte verdeckte Schichten von künstlichen Neuronen enthält. Das tiefe künstliche neuronale Netzwerk ermöglicht dabei eine verbesserte Erkennung von Mustern und komplexen Zusammenhängen
-
Beispielsweise kann das künstliche neuronale Netzwerk ein ein- bzw. mehrschichtiges Feed Forward-Netzwerk oder ein rekurrentes Netzwerk sein. Feed Forward-Netzwerke weisen Neuronen auf, die ausschließlich vorwärtsgespeist werden, d.h. ein Neuron wird ausschließlich von höher liegenden Schichten gespeist.
-
Ein rekurrentes Netzwerk weist bidirektional verbundene Neuronen auf, d.h. ein Neuron wird zudem von tiefer liegenden Schichten gespeist. Somit lässt sich bei einem späteren Durchlauf des ANN Information aus eine früheren Durchlauf berücksichtigen, wodurch ein Erinnerungsvermögen geschaffen wird.
-
Ein neuronales Netzwerk ist häufig aus mehreren neuronalen Netzwerken zusammengesetzt. In dieser Anmeldung werden die mehreren neuronalen Netzwerke eines übergeordneten neuronalen Netzwerks als Subnetzwerke bezeichnet.
-
Die Kardinalität einer Menge beschreibt deren Mächtigkeit. Bei endlichen Mengen entspricht die Kardinalität einer Menge der Anzahl der Elemente, die in der Menge enthalten sind. Bei unendlichen Mengen A, B hat A die gleiche Kardinalität wie B, wenn eine Bijektion f von A nach B sowie eine Bijektion f-1 von B nach A existiert. Dementsprechend hat A eine geringere Kardinalität wie B, wenn eine Bijektion f von A nach B existiert, jedoch keine Bijektion f-1 von B nach A existiert.
-
In dieser Anmeldung wird unter einer Kopie eine identische Vervielfältigung verstanden.
-
Nachtrainieren eines neuronalen Netzwerks bedeutet, dass das neuronale Netzwerk bereits mit Trainingsdaten trainiert wurde und Aufgrund eines Informationsgewinns aus den Trainingsdaten oder aufgrund weiterer Trainingsdaten erneut trainiert wird, nachdem eine Topologie des neuronalen Netzwerks bereits ermittelt wurde.
-
Eine erste Topologie gilt als einfacher als eine zweite Topologie, wenn die erste Topologie weniger Neuronen und/oder weniger Verbindungen zwischen den Neuronen als die zweite Topologie aufweist. Dies kann insbesondere bedeuten, dass die erste Topologie eine geringere Anzahl an Schichten als die zweite Topologie aufweist.
-
Spatio-temporäre Daten stellen einen Zusammenhang zwischen Ort und Zeit her. Dies sind beispielsweise Trackingdaten, sogenannte Tracklets, oder Videos, welchen eine Ortsangabe zu entnehmen ist.
-
Semantische Strukturen sind Objektklassen in Kombination mit Objektumrissen und können beispielsweise Fahrzeuge, Straßen, Fußgänger und dergleichen sein. Visuelle Merkmale sind Merkmale der semantischen Strukturen, beispielsweise Farben, Farbwechsel, Übergänge, Kanten, Formen und dergleichen.
-
Computerprogrammprodukte umfassen in der Regel eine Folge von Befehlen, durch die die Hardware bei geladenem Programm veranlasst wird, ein bestimmtes Verfahren durchzuführen, das zu einem bestimmten Ergebnis führt.
-
Die grundlegende Idee der Erfindung ist es, ein neuronales Netzwerk spezifisch für bestimmte Anwendungsklassen zu trainieren. Dementsprechend wird für eine Anwendung ein künstliches neuronales Netzwerk bereitgestellt, welches eingerichtet ist, verschiedene Aufgabenstellungen zu bewältigen.
-
Im Folgenden soll die Erfindung anhand eines Fahrerassistenzsystems weiter erläutert werden. Es versteht sich, dass diese Anwendung lediglich beispielhafter Natur ist und den Schutzbereich der Erfindung nicht beschränkt.
-
Ein neuronales Netzwerk eines Fahrerassistenzsystems ist in der Regel eingerichtet, fußgängerspezifische Aufgabenstellungen und fahrzeugspezifische Aufgabenstellungen zu lösen. Hierunter fällt beispielsweise die Aufgabenstellung vorherzusagen, in welche Richtung sich ein Fußgänger bzw. ein Fahrzeug fortbewegen wird.
-
Die Erfindung sieht vor, hierfür verschiedene Anwendungsklassen zu definieren, also beispielsweise die Prädiktion von Fußgängern und die Prädiktion von Fahrzeugen.
-
Die Erfindung beruht auf der Erkenntnis, dass auch ein bereits trainiertes neuronales Netzwerk (parentales Netzwerk) bessere Ergebnisse liefert, wenn das neuronale Netzwerk spezifisch für Anwendungsklassen eingesetzt wird. Dementsprechend sieht die Erfindung vor, eine Kopie des neuronalen Netzwerks, welches eingerichtet ist, verschiedene Aufgabenstellungen eines Fahrerassistenzsystems zu lösen, bereitzustellen und die Kopie des neuronalen Netzwerks (filiales Netzwerk) für fahrzeugspezifische Aufgabenstellungen zu verwenden.
-
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 weisen die Trainingsdaten erster Art bestimmte erste Eigenschaften auf und eine Topologie der ersten Kopie des neuronalen Netzwerks wird aufgrund der bestimmten ersten Eigenschaften vereinfacht. Somit lassen sich nicht nur die Ergebnisse eines künstlichen neuronalen Netzwerks, welches mit einem Trainingsverfahren trainiert wurde, verbessern, sondern auch die Laufzeit, welche das neuronale Netzwerk für eine Erkenntnis benötigt, verringern. Dies ist besonders für Anwendungen in Echtzeit vorteilhaft, da somit Echtzeitfähigkeit überhaupt erst bereitgestellt werden kann und/oder Hardware von Echtzeitanwendungen vereinfacht werden kann.
-
Beispielsweise ist es denkbar, Trainingsdaten in sich bewegende Fußgänger und in standortfeste Fußgänger zu klassifizieren. In diesem Fall ist die Aufgabenstellung der Prädiktion des Orts der sich bewegenden Fußgänger aufwendiger als die Prädiktion des Orts der standortfesten Fußgänger. Dementsprechend lässt sich die Laufzeit, um den Ort eines standortfesten Fußgängers vorherzusagen, reduzieren, wenn hierfür ein vereinfachtes filiales neuronales Netzwerk, also eine Kopie des parentalen Netzwerks, welche vereinfacht wurde, verwendet wird.
-
Gemäß einer bevorzugten Weiterbildung der Erfindung ist vorgesehen, ferner eine zweite Kopie des neuronalen Netzwerks bereitzustellen und die zweite Kopie des neuronalen Netzwerks nachzutrainieren, indem Gewichte der zweiten Kopie des neuronalen Netzwerks aufgrund der Trainingsdaten zweiter Art angepasst werden und wobei die Trainingsdaten zweiter Art insbesondere bestimmte zweite Eigenschaften aufweisen und die zweite Kopie des neuronalen Netzwerks aufgrund der bestimmten zweiten Eigenschaften vereinfacht wird.
-
Sofern es die Komplexität verschiedener Anwendungsklassen erfordert, kann vorgesehen sein, für jede Anwendungsklasse ein filiales Netzwerk bereitzustellen oder lediglich für einzelne Anwendungsklassen ein filiales Netzwerk bereitzustellen und das parentale Netzwerk für die verbleibenden Anwendungsklassen zu verwenden.
-
Gemäß einer bevorzugten Weiterbildung der Erfindung ist die Kardinalität der Trainingsdaten erster Art von der Kardinalität der Trainingsdaten zweiter Art verschieden. Somit lässt sich ein neuronales Netzwerk mit zahlreichen Trainingsdatensätzen mit verschiedenen Strukturen trainieren. Hierdurch lässt sich auch ein besseres Trainingsergebnis erzielen.
-
Bei konventionell trainierten neuronalen Netzwerken kann das Training mit Trainingsdaten erster bzw. zweiter Art mit verschiedenen Kardinalitäten Ungenauigkeiten bei der Generierung von Schlussfolgerungen hervorrufen, da ein (parentales) neuronales Netzwerk hinsichtlich des Datensatzes von größerer Kardinalität optimiert wird. Das bedeutet, dass im Falle von Trainingsdaten mit fußgängerspezifischen und fahrzeugspezifischen Anwendungsklassen das neuronale Netzwerk auf fahrzeugspezifische Anwendungsklassen hin optimiert wird, wenn die Kardinalität der fahrzeugspezifischen Trainingsdaten größer ist als die Kardinalität der fußgängerspezifischen Trainingsdaten. Auf diese Weise „lernt“ das neuronale Netzwerk bereits in der Trainingsphase fußgängerspezifische Anwendungsklassen gegenüber fahrzeugspezifischen Anwendungsklassen zu vernachlässigen. Dieses Verhalten kann sich als nachteilig herausstellen, besonders dann, wenn von einer Anwendungsklasse signifikant weniger Trainingsdaten vorhanden sind als von einer anderen Anwendungsklasse.
-
Dieser Effekt wird mit der bevorzugten Weiterbildung wie sie vorstehend beschrieben wurde vermieden, indem für verschiedene Anwendungsklassen verschiedene filiale neuronale Netzwerke bereitgestellt werden. Indem die filialen neuronalen Netzwerke auf einer Kopie eines parentalen Netzwerks beruhen, sind die Ergebnisse der filialen neuronalen Netzwerke zumindest von der gleichen Güte wie die Ergebnisse eines parentalen war Netzwerks.
-
Gemäß einer bevorzugten Weiterbildung der Erfindung sind die Trainingsdaten als spatio-temporäre Trainingsdaten ausgebildet. Spatio-temporäre Trainingsdaten sind sequenzielle Trainingsdaten, also Daten in einer Datenfolge. Bei sequenziellen Trainingsdaten sind gegenüber Trainingsdaten, die zueinander nicht in einem zeitlichen Zusammenhang stehen, zusätzliche Randbedingungen und Nebenbedingungen zu berücksichtigen. Beispielsweise verschlechtert sich die Vorhersage der Position eines beweglichen Objekts, wenn nur wenige oder gar keine Informationen über die Position des beweglichen Objekts aus der Vergangenheit bekannt sind. Dementsprechend kann also vorgesehen sein, eine längere Historie für eine Vorhersage zu berücksichtigen, anstatt eine Vorhersage lediglich auf Grundlage eines ist-Zustandes zu generieren.
-
Gemäß einer bevorzugten Weiterbildung der Erfindung sind die ersten Eigenschaften und/oder die zweiten Eigenschaften semantische Strukturen und/oder visuelle Merkmale. Semantische Strukturen bzw. visuelle Merkmale können eine Vielfalt an beispielsweise Verkehrssituationen, die in Sensordaten, z.B. Radar-, Lidar- oder Bilddaten wiedergegeben sind, als Code darstellen. Somit lässt sich ein intelligenter Algorithmus auf nahezu beliebig viele Anwendungssituationen trainieren, sofern diese Situationen von Eingangsdaten wiedergegeben werden.
-
Es versteht sich, dass ein neuronales Netzwerk, welches ein erstes neuronales Subnetzwerk und ein zweites neuronales Subnetzwerk aufweist, wobei das erste neuronale Subnetzwerk und/oder das zweite neuronale Subnetzwerk mit einem Trainingsverfahren wie es vorstehend beschrieben wurde trainiert wurde, vorteilhaft ist.
-
Dementsprechend kann ein neuronales Netzwerk mehrere neuronale Subnetzwerke, die jeweils aus einer Kopie eines parentalen Netzwerks abgeleitet wurden, aufweisen.
-
Es versteht sich ferner, dass ein Fahrerassistenzsystem mit einem derartigen neuronalen Netzwerk vorteilhaft ist. Die Verbesserungen die mit einem neuronalen Netzwerk, welches mit einem Trainingsverfahren wie es vorstehend beschrieben wurde trainiert wurde, erzielt werden können, wirken sich besonders in sicherheitskritischen Anwendungen vorteilhaft aus.
-
Das Computerprogrammprodukt gemäß einer Ausführungsform der Erfindung führt die Schritte eines Verfahrens gemäß der vorangehenden Beschreibung 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 hervor, nämlich die Parametrisierung eines neuronalen Netzwerks.
-
Figurenliste
-
- 1 ein schematisches Blockschaltbild eines Trainingsverfahrens eines neuronalen Netzwerks gemäß einer Ausführungsform der Erfindung;
- 2 ein schematisches Blockschaltbild eines Trainingsverfahrens eines neuronalen Netzwerks gemäß dem Stand der Technik;
- 3 ein schematisches Blockschaltbild einer Ausführungsform der Erfindung.
-
Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile ergeben 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
-
1 zeigt ein schematisches Blockschaltbild eines Trainingsverfahrens eines neuronalen Netzwerks ANN. Das ANN wird mit klassifizierten Trainingsdaten x gespeist. Die Trainingsdaten x sind in Trainingsdaten erster Art x1 und in Trainingsdaten zweiter Art x2 klassifiziert.
-
Das neuronale Netzwerk weist zwei neuronale Subnetzwerke ANN(F1) und ANN(F2) auf. Das neuronale Netzwerk ANN ist eingerichtet, aus den Trainingsdaten x Schlussfolgerungen y zu generieren. Hierfür werden das neuronale Subnetzwerk ANN(F1) mit den Trainingsdaten erster Art x1 und das neuronale Subnetzwerk ANN(F2) mit den Trainingsdaten zweiter Art x2 gespeist. Das Subnetzwerk ANN(F1) generiert aus den Trainingsdaten x1 eine Schlussfolgerung y mit Eigenschaften einer ersten Schlussfolgerungsklasse. Das Subnetzwerk ANN(F2) generiert aus den Trainingsdaten x2 eine Schlussfolgerung y mit Eigenschaften einer zweiten Schlussfolgerungsklasse.
-
2 zeigt ein schematisches Blockschaltbild eines Trainingsverfahrens eines neuronalen Netzwerks ANN(P) gemäß dem Stand der Technik. Dementsprechend wird das neuronale Netzwerk ANN(P) mit Trainingsdaten x gespeist. Hieraus generiert das neuronale Netzwerk ANN(P) eine Schlussfolgerung y.
-
3 zeigt ein schematisches Blockschaltbild eines Trainingsverfahrens gemäß einer Ausführungsform der Erfindung. In dem Schritt S1 werden Trainingsdaten x bereitgestellt. Die Trainingsdaten sind in Trainingsdaten erster Art x1 und in Trainingsdaten zweiter Art x2 klassifiziert, wobei die Kardinalität der Trainingsdaten erster Art bzw. zweiter Art jeweils geringer ist als die Kardinalität der gesamten Trainingsdaten x.
-
In dem Schritt S2 wird eine erste Kopie ANN(F1) eines neuronalen Netzwerks ANN(P) bereitgestellt. Das neuronale Netzwerk ANN(P) ist anhand der Trainingsdaten x trainiert, d.h. ANN(P) ist sowohl von den Trainingsdaten erster Art x1 als auch von den Trainingsdaten zweiter Art x2 trainiert.
-
In dem Schritt S3 wird die erste Kopie ANN(F1) des neuronalen Netzwerks ANN(P) nachtrainiert, indem Gewichte der ersten Kopie ANN(F1) aufgrund der Trainingsdaten erster Art x1 angepasst werden.
-
Bezugszeichenliste
-
- S1-S3
- Verfahrensschritte
- ANN(P)
- neuronales Netzwerk
- ANN(F1)
- erste Kopie
- ANN(F2)
- zweite Kopie
- ANN
- neuronales Netzwerk
- x1
- Trainingsdaten erster Art
- x2
- Trainingsdaten zweiter Art
- x
- Trainingsdaten
- y
- Schlussfolgerung
- 1
- Schlussfolgerungsklasse
- 2
- Schlussfolgerungsklasse
-
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
-