-
Die Erfindung betrifft ein Verfahren zum Trainieren eines neuronalen Netzes, einer Trainingsvorrichtung, einem Computerprogramm und einem maschinenlesbaren Speichermedium.
-
Vorteile der Erfindung
-
Die Entwicklung von maschinellen Lernsystemen, insbesondere neuronalen Netzen, in insbesondere sicherheitskritischen technischen Systemen bedingt eine rigorose Teststrategie, um zu gewährleisten, dass die vom maschinellen Lernsystem getroffenen Entscheidungen im Betrieb keine ungewünschten und/oder gefährlichen Folgen mit sich bringen.
-
Da maschinelle Lernsysteme ihre Entscheidungen basierend auf Daten ermitteln, sind bekannte Verfahren darauf angewiesen zunächst mittels aufwändiger Testmessungen (engl. test runs oder validation runs) eines entsprechenden technischen Systems Daten zu sammeln, die dann anschließend beispielsweise vom technischen System an ein externes Rechenzentrum übermittelt werden müssen, in welchem dann das Verhalten des maschinellen Lernsystems analysiert und/oder adaptiert werden kann.
-
Dieses Vorgehen bedingt einen langsamen Entwicklungszyklus eines oben beschriebenen neuronalen Netzes und bedingt weiterhin, dass eine immense Menge von Daten übertragen werden muss.
-
Es ist wünschenswert, beide Einschränkungen zumindest zu verbessern, also schnellere Entwicklungszyklen eines maschinellen Lernsystems zu ermöglichen und dabei eine Menge an übertragenen Daten zu reduzieren.
-
Der Vorteil des Verfahrens mit Merkmalen des unabhängigen Anspruchs 1 ist, dass ein neuronales Netz derart trainiert werden kann, dass ein schnellerer Entwicklungszyklus ermöglicht wird, sowie eine Menge an übertragenen Daten reduziert wird.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt betrifft die Erfindung ein Verfahren zum Trainieren eines ersten neuronalen Netzes, wobei das neuronale Netz ausgebildet ist, basierend auf Sensorsignalen eines technischen Systems ein Ausgabesignal zu ermitteln, welches eine Klassifikation und/oder ein Regressionsergebnis bezüglich des Sensorsignals charakterisiert, wobei das Verfahren zum Trainieren die folgenden Schritte umfasst:
- a. Während des Betriebs des technischen Systems, empfangen eines Sensorsignals des technischen Systems;
- b. Ermitteln eines ersten Ausgabesignals mittels des ersten neuronalen Netzes und basierend auf dem Sensorsignal;
- c. Ermitteln eines zweiten Ausgabesignals mittels eines zweiten neuronalen Netzes und basierend auf dem Sensorsignal, wobei das zweite neuronale Netz eine andere Architektur aufweist als das erste neuronale Netz;
- d. Trainieren des ersten neuronalen Netzes durch ein Anpassen von Parametern des ersten neuronalen Netzes, wobei das erste neuronale Netz abhängig vom zweiten Ausgabesignal trainiert wird..
-
Die Schritte des Verfahrens können insbesondere alle von einem Computer ausgeführt werden, dass Verfahren kann also insbesondere ein computerimplementiertes Verfahren sein.
-
Das Verfahren kann derart verstanden werden, dass während eines Betriebs des technischen Systems das zweite neuronale Netz verwendet wird, um das Verhalten des technischen Systems zu steuern, beispielsweise, indem das zweite neuronale Netz basierend auf vom technischen System ermittelten Sensorsignalen Ausgabesignale ermittelt, welche Aktionen charakterisieren, die vom technischen System durchgeführt werden sollen. Parallel zum zweiten neuronalen Netz kann das erste neuronale Netz ebenfalls Ausgabesignale ermittelt, die dann mit den Ausgabesignalen des zweiten neuronalen Netzes verglichen werden können.
-
Die Sensorsignale können als Eingabe des ersten neuronalen Netzes bzw. des zweiten neuronalen Netzes verstanden werden. Ein Ermitteln eines Ausgabesignals basierend auf einem Sensorsignal mittels eines neuronalen Netzes kann insbesondere derart verstanden werden, dass das neuronale Netz ein Sensorsignal als Eingabe entgegennimmt, das Sensorsignal verarbeitet und durch die Verarbeitung ein Ausgabesignal ermittelt, welches vom neuronalen Netz ausgegeben wird.
-
Sensorsignale können insbesondere als Signale eines Sensors verstanden werden, beispielsweise einem optischen Sensor wie einer Kamera, einem LIDAR-Sensor oder einer Thermalkamera, aber auch eines Radarsensors, eines Ultraschallsensors oder eines Piezosensors. Generell kann das Verfahren für jeglichen Sensor verwendet werden, der ein Sensorsignal an das Verfahren bereitstellen kann.
-
Ein Ausgabesignal des ersten neuronalen Netzes und/oder ein Ausgabesignal des zweiten neuronalen Netzes kann insbesondere eine Klassifikation des Sensorsignals charakterisieren. Alternativ oder zusätzlich ist auch möglich, dass ein Ausgabesignal des ersten neuronalen Netzes und/oder ein Ausgabesignal des zweiten neuronalen Netzes ein Regressionsergebnis (also einen reellen Wert oder einen reellwertigen Vektor) bezüglich des Sensorsignals charakterisiert. Ein Ausgabesignal kann beispielsweise auch eine Objektdetektion und/oder eine semantische Segmentierung charakterisieren.
-
Das zweite neuronale Netz kann insbesondere als ein neuronales Netz verstanden werden, welches bereits für den Einsatz in sicherheitskritischen technischen Systemen freigegeben wurde, zum Beispiel durch eine andere Entwicklungs- und/oder Teststrategie als dem oben beschriebenen Verfahren. Mittels des oben beschriebenen kann nun das erste neuronale Netz in der Hinsicht untersucht und adaptiert werden, dass es dem Verhalten des zweiten neuronalen Netzes entspricht oder zumindest ähnelt. Als Verhalten kann hierbei insbesondere verstanden werden, welches Ausgabesignal ein neuronales Netz ermittelt, wenn es als Eingabe ein bestimmtes Sensorsignal erhält.
-
Als Ziel des Verfahrens kann verstanden werden, dass das erste neuronale Netz angepasst werden soll, ohne dabei in den Betrieb des technischen Systems einzugreifen. Vorteilhafterweise kann so bei sicherheitskritischen technischen Systemen das erste neuronale Netz entwickelt und/oder getestet werden, ohne einen potenziell sicherheitskritischen Eingriff in das technische System vorzunehmen.
-
Beispielsweise ist möglich, dass Parameter des ersten neuronalen Netzes angepasst werden, falls ein Abstand des zweiten Ausgabesignals zum ersten Ausgabesignal einen vordefinierten Schwellenwert erreicht oder übersteigt. Diese Anpassung muss nicht zwangsläufig von einer Recheneinheit des technischen Systems durchgeführt werden, sondern kann auch auf einer Recheneinheit außerhalb des technischen Systems durchgeführt werden.
-
Vor diesem Hintergrund ist es in bevorzugten Ausführungsformen des Verfahrens insbesondere möglich, dass der Unterschied in der Architektur des ersten neuronalen Netzes und des zweiten neuronalen Netzes bedingt, dass das erste neuronale Netz weniger Rechenkapazität und/oder weniger Speicher zur Ermittlung des ersten Ausgabesignals benötigt.
-
Die Erfinder konnten feststellen, dass der Vorteil dieser Ausführungsform der ist, dass das erste neuronale Netz in Hinblick auf Rechenkapazität und Speicherverbrauch optimiert werden kann, wobei eine Performanz des ersten neuronalen Netzes in Bezug zum zweiten neuronalen Netz erhalten werden kann. Als Performanz kann hierbei die Fähigkeit eines neuronalen Netzes verstanden werden, mit der das neuronale Netz basierend auf einem Sensorsignal ein gewünschtes Ausgabesignal ermitteln kann. Dies kann auch als die Generalisierungsfähigkeit des neuronalen Netzes verstanden werden.
-
Das Verfahren hat insbesondere Vorzüge, wenn zumindest die Verfahrensschritte a. bis c. auf einer eingebetteten Rechenarchitektur ausgeführt werden. Typische Charakteristika einer eingebetteten Rechenarchitektur sind die gegenüber einem gewöhnlichen Computer stark reduzierte Rechenkapazität und/oder stark reduzierter Speicher. Zum Beispiel ist denkbar, dass das technische System ein zumindest teilweise automatisiertes Fahrzeug oder ein Roboter ist, der mittels des zweiten neuronalen Netzes gesteuert wird. Das erste neuronale Netz könnte in diesen Fällen in der Recheneinheit des technischen Systems parallel zum zweiten neuronalen Netz betrieben werden.
-
Als Architektur eines neuronalen Netzes kann insbesondere eine Modelauswahl des neuronalen Netzes verstanden werden. Die Modelauswahl charakterisiert insbesondere, welche Form eine Eingabe des neuronalen Netzes aufweisen soll, welche Schichten (insbesondere welchen Typ Schichten) in welcher Abfolge und unter welcher Verbindung der Schichten (z.B. Feed-Forward oder Rekurrent) ein Eingabesignal des neuronalen Netzes durchläuft und wie ein Ausgabesignal des neuronalen Netzes zusammengesetzt ist. Die Architektur eines neuronalen Netzes kann derart verstanden werden, dass sie die erforderliche Rechenkapazität und/oder den Speicherbedarf für Berechnungen der Ausgabesignale wesentlich beeinflusst. In bevorzugten Ausführungsformen des Verfahrens ist auch möglich, dass zumindest eine Schicht des ersten neuronalen Netzes in ihrer Parametrierung einer Schicht des zweiten neuronalen Netzes entspricht und Parameter der Schicht des ersten neuronalen Netzes während des Trainings nicht angepasst werden.
-
Unter Parametrieren können sowohl die Hyperparameter der Schicht als auch Gewichte der Schicht verstanden werden. Diese Ausprägung kann daher derart verstanden werden, dass zumindest eine Schicht des zweiten neuronalen Netzes identisch mit einer Schicht des ersten neuronalen Netzes ist. Die Schichten sind hierbei sowohl von ihren Hyperparametern als auch von ihren Gewichten her identisch. Diese kann auch derart verstanden werden, dass zumindest eine Schicht zwischen dem ersten neuronalen Netz und dem zweiten neuronalen Netz geteilt wird. Zum Beispiel ist auch vorstellbar, dass ganze Teilabschnitte (auch bekannt als Unter-Netze eines neuronalen Netzes oder Sub-Netze eines neuronalen Netzes) von Schichten zwischen dem ersten neuronalen Netz und dem zweiten neuronalen Netz geteilt werden. Beispielsweise kann das erste neuronale Netz eine Verbesserung des zweiten neuronalen Netzes durch Abändern einer Mehrzahl von letzten Schichten eines neuronalen Netzes charakterisieren, zum Beispiel die drei letzten Schichten.
-
Der Vorteil dieser Ausprägung des Verfahrens ist, dass durch die geringe Anzahl an anzupassenden Schichten während des Trainings der Bedarf an Rechenkapazität und/oder Speicher stark zurückgeht. Hierdurch wird sogar ermöglicht, dass der Schritt d. des Verfahrens auf eingebetteten Rechenarchitekturen ausgeführt werden kann, da sich die Anforderungen an Rechenkapazität und/oder Speicher derart sehr stark minimieren lassen.
-
Generell ist möglich, dass der Schritt d. des Verfahrens auch von dem Computer ausgeführt wird, der die Schritte a. bis c. ausführt, also einem Computer der vorzugsweise Teil des technischen Systems ist.
-
In weiteren Ausprägungen des Verfahrens ist auch möglich, dass der Schritt d. von einem Computer außerhalb des technischen Systems ausgeführt wird.
-
Dies kann derart verstanden werden, dass das technische System z.B. Abweichungen zwischen dem ersten Ausgabesignal und dem zweiten Ausgabesignal mittels eines z.B. drahtlosen Übertragungsmedium wie Mobilfunk an einen externen Computer weiterleitet, auf welchem dann die Ausgabesignale analysiert und das erste neuronale Netz unter Umständen angepasst werden kann.
-
Insbesondere kann vorgesehen sein, dass das erste Ausgabesignal und/oder das zweite Ausgabesignal an den Computer außerhalb des technischen Systems weitergeleitet werden, falls ein Kriterium vom ersten und/oder zweiten Ausgabesignal erfüllt wird. Das Kriterium kann beispielsweise vorgeben, dass das erste Ausgabesignal und/oder zweite Ausgabesignal nur dann an den Computer außerhalb des technischen Systems übermittelt werden, falls sie über einen vordefinierten Schwellenwert voneinander abweichen.
-
Insbesondere kann im Verfahren außerdem vorgesehen sein, dass basierend auf dem zweiten Ausgabesignal ein Ansteuersignale des technischen Systems ermittelt werden.
-
Mit anderen Worten, dass zweite Ausgabesignal kann maßgeblich dazu verwendet werden, Aktionen des technischen Systems zu bestimmen. Das Ansteuersignal kann beispielsweise zur Steuerung eines Aktors des technischen Systems verwendet werden, wobei der Aktor eine Aktion des technischen Systems bedingt.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch einen Aufbau eines Steuerungssystems zur Ansteuerung eines Aktors;
- 2 einen Ausschnitt des Steuerungssystems;
- 3 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
- 4 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
- 5 schematisch ein Trainingssystem.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt einen Aktor (10) in seiner Umgebung (20) in Interaktion mit einem Steuerungssystem (40). In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung (20) in einem Sensor (30), zum Beispiel einem optischen Sensor wie einem Kamerasensor, erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann, beispielsweise eine Stereokamera. Das Sensorsignal (S) - bzw. im Fall mehrerer Sensoren je ein Sensorsignal (S) - des Sensors (30) wird an das Steuerungssystem (40) übermittelt. Das Steuerungssystem (40) empfängt somit eine Folge von Sensorsignalen (S). Das Steuerungssystem (40) ermittelt hieraus Ansteuersignale (A), welche an den Aktor (10) übertragen werden.
-
Das Steuerungssystem (40) empfängt die Folge von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50), die die Folge von Sensorsignalen (S) in eine Folge von Eingabesignalen (x) umwandelt (alternativ kann auch unmittelbar je das Sensorsignal (S) als Eingabesignal (x) übernommen werden). Das Eingabesignal (x) kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals (S) sein. Mit anderen Worten wird das Eingabesignal (x) abhängig von Sensorsignal (S) ermittelt. Die Folge von Eingabesignalen (x) wird einem ersten neuronalen Netz (61) zugeführt. Außerdem wird die folge von Eingabesignalen (x) einem zweiten neuronalen Netz (62) zugeführt.
-
Das erste neuronale Netz (61) und das zweite neuronale Netz (62) werden vorzugsweise parametriert durch Parameter (Φ1, Φ2), die in einem Parameterspeicher (P) hinterlegt sind und von diesem bereitgestellt werden. Die neuronalen Netze (61, 62) unterscheiden sich in ihrer Architektur, vorzugsweise in einer Anzahl von Neuronen und/oder Schichten und/oder Verbindungen von Schichten bzw. Neuronen. Vorzugsweise bedingt der Unterschied, dass das erste neuronale Netz (61) gegenüber dem zweiten neuronalen Netz (62) weniger Rechenkapazität und/oder Speicherkapazität zur Ermittlung einer Ausgabe basierend auf dem Eingabesignal (x) benötigt.
-
Der zweite Neuronale (62) ermittelt aus den Eingabesignalen (x) zweite Ausgabesignale (y2). Die zweiten Ausgabesignale (y2) werden einer optionalen Umformeinheit (80) zugeführt, die hieraus Ansteuersignale (A) ermittelt, welche dem Aktor (10) zugeführt werden, um den Aktor (10) entsprechend anzusteuern.
-
Der Aktor (10) empfängt die Ansteuersignale (A), wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor (10) kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal (A) ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor (10) angesteuert wird.
-
Des Weiteren ermittelt das erste neuronale Netz (61) aus den Eingabesignalen (x) erste Ausgabesignal (y1). Die ersten Ausgabesignale (y1) und zweiten Ausgabesignale (y2) werden vorzugsweise zusammen mit dem Eingabesignal (x) einer Vergleichseinheit (70) zur Verfügung gestellt. Die Vergleichseinheit (70) kann vorzugsweise ausgebildet sein, einen Unterschied zwischen dem ersten Ausgabesignal (y1) und dem zweiten Ausgabesignal (y2) zu ermitteln. Der Unterschied kann beispielsweise mittels einer Metrik ermittelt werden, zum Beispiel dem euklidischen Abstand, oder auch mittels eines Ähnlichkeitsmaßes wie der Cosinus Distanz. Es ist möglich den ermittelten Unterschied mittels einer optionalen Übertragung (o), zum Beispiel einer drahtlosen Übertragung (o) basierend auf zum Beispiel 5G oder 6G, an einen weiteren Computer zu übertragen, wobei auf dem weiteren Computer der Unterschied untersucht werden kann. Beispielsweise können typische Unterschiedswerte über eine Betriebszeit des Steuerungssystems untersucht werden, um so eine Aussage darüber zu treffen, ob das erste neuronale Netz (61) im Verhältnis zum zweiten neuronalen Netz (62) gleiche oder zumindest ähnliche Ausgabesignale ermittelt. Bevorzugt ist jedoch vorgesehen, dass zusätzlich zu den beiden Ausgabesignalen (y1, y2) das Eingabesignal (x) als Teil der Übertragung (o) mit übertragen wird. Der weitere Computer kann dann beispielsweise das erste neuronale Netz (61) trainieren bzw. weiter trainieren, falls das erste neuronale Netz (61) bereits trainiert wurde. Zum Training kann das zweite Ausgabesignal (y2) als ein gewünschtes Ausgabesignal gewählt werden und das erste neuronale Netz (61) derart trainiert werden, dass es bezüglich des Eingabesignals (x) ein Ausgabesignal ermittelt, welches dem zweiten Ausgabesignal (y2) entspricht oder möglichst ähnlich ist. Bevorzugt kann eine Übertragung (o) auch nur dann vorgenommen werden, falls der Unterschied einen vordefinierten Schwellenwert übersteigt.
-
Es ist jedoch auch möglich, dass keine Übertragung (o) vorgenommen wird, sondern dass die Vergleichseinheit (70) basierend auf dem Unterschied und dem Eingabesignal (x) die das erste neuronale Netz (61) anpasst, zum Beispiel mittels eines Gradientenabstiegsverfahrens.
-
Der Unterschied kann auch bevorzugt einen Verlustwert (engl. loss value) einer Verlustfunktion (engl. loss function) charakterisieren, wobei die Verlustfunktion den Verlustwert basierend auf dem ersten Ausgabesignal (y1) und dem zweiten Ausgabesignal (y2) ermittelt. Die Verlustfunktion kann beispielsweise eine quadratische Euklidische Verlustfunktion (engl. squared Euclidean loss oder mean squared error loss).
-
In weiteren Ausführungsformen umfasst das Steuerungssystem (40) den Sensor (30). In noch weiteren Ausführungsformen umfasst das Steuerungssystem (40) alternativ oder zusätzlich auch den Aktor (10).
-
In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem (40) zumindest einen Prozessor (45) und zumindest ein maschinenlesbares Speichermedium (46), auf dem Anweisungen gespeichert sind, die dann, wenn sie auf dem zumindest einen Prozessor (45) ausgeführt werden, das Steuerungssystem (40) veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor (10) eine Anzeigeeinheit (10a) vorgesehen.
-
2 zeigt einen Ausschnitt des Steuerungssystems bezüglich des ersten neuronalen Netzes (61) und des zweiten neuronalen Netzes (62). Die jeweiligen Netze umfassen Neuronen (N), auf deren Basis das jeweilige Netz sein Ausgabesignal (y1, y2) bezüglich der Eingabesignals (x) ermittelt. Die Neuronen (N) der neuronalen Netze (61, 62) sind vorzugsweise jeweils in Schichten (611, 612, 613, 614, 621, 622, 623, 624, 625) angeordnet. Das zweite neuronale Netz (62) umfasst zur Ermittlung des zweiten Ausgabesignals (y2) mehr Neuronalen und mehr Verbindungen zwischen den Neuronen (N), was zu einem erhöhten Speicherbedarf und einer erhöhten Rechenkapazität gegenüber dem ersten neuronalen Netz (61) führt, welches über weniger Neuronen (N) und weniger Verbindungen zwischen den Neuronen (N) verfügt.
-
Bevorzugt ist im Ausführungsbeispiel auch möglich, dass das erste neuronale Netz (61) das erste Ausgabesignal (y1) basierend auf einer Ausgabe einer Schicht (622) des zweiten neuronalen Netzes (62) ermittelt. Dies kann insbesondere dann stattfinden, wenn sich Teile der Architekturen des ersten neuronalen Netzes (61) und zweiten neuronalen Netzes (62) gleichen, zum Beispiel Schichten gleicher Parametrierung und gleiche Parameterwerte umfassen. Im Ausführungsbeispiel ist dies für die beiden ersten Schichten (611, 612) des ersten neuronalen Netzes (61) bzw. für die ersten beiden Schichten (621, 622) des zweiten neuronalen Netzes der Fall. Vorzugsweisen kann daher eine Ausgabe der zweiten Schicht (622) des zweiten neuronalen Netzes (62) direkt als Eingabe für eine dritte Schicht (613) des ersten neuronalen Netzes (61) verwendet werden. In der Figur ist dies über eine Abkürzung (SC) dargestellt. In diesem Fall müsste das erste neuronale Netz (61) nicht das Eingabesignal (x) durch die ersten beiden Schichten (611, 612) leiten, da die ermittelte Ausgabe der zweiten Schicht (612) der Ausgabe der zweiten Schicht (622) des zweiten neuronalen Netzes (62) entspricht, da die ersten beiden Schichten (611, 612, 621, 622) im Ausführungsbeispiel identisch sind. Es lassen sich so Rechenoperationen einsparen, die eh ein identisches Ergebnis geliefert hätten.
-
Die im ersten neuronalen Netz (61) so „übersprungenen“ Schichten (611, 612) können insbesondere während eines Trainings des ersten neuronalen Netzes (61) außer Acht gelassen werden, ihre Parameter also nicht angepasst werden. Alternativ ist auch möglich, dass zum Training der ersten beiden Schichten (611, 612) des ersten neuronalen Netzes (61) Gradienten aus den ersten beiden Schichten (621, 622) des zweiten neuronalen Netzes (62) kopiert werden. Diese Ausprägungen des Trainings können auch auf andere Architekturen angewendet werden und sind nicht auf das konkrete Ausführungsbeispiel aus 2 beschränkt.
-
3 zeigt, wie das Steuerungssystem (40) zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs (100), eingesetzt werden kann.
-
Bei dem Sensor (30) kann es sich beispielsweise um einen vorzugsweise im Kraftfahrzeug (100) angeordneten Videosensor handeln.
-
Das zweite neuronale Netz (62) ist eingerichtet, auf den Eingabebildern (x) erkennbare Objekte zu identifizieren, also eine Objektdetektion durchzuführen.
-
Bei dem vorzugsweise im Kraftfahrzeug (100) angeordneten Aktor (10) kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des Kraftfahrzeugs (100) handeln. Das Ansteuersignal (A) kann dann derart ermittelt werden, dass der Aktor oder die Aktoren (10) derart angesteuert wird, dass das Kraftfahrzeug (100) beispielsweise eine Kollision mit den vom zweiten neuronalen Netz (62) identifizierten Objekten verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.
-
Alternativ oder zusätzlich kann mit dem Ansteuersignal (A) die Anzeigeeinheit (10a) angesteuert werden, und beispielsweise die identifizierten Objekte dargestellt werden. Auch ist es denkbar, dass die Anzeigeeinheit (10a) mit dem Ansteuersignal (A) derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug (100) droht, mit einem der identifizierten Objekte zu kollidieren. Die Warnung mittels eines Warnsignals kann auch mittels eines haptischen Warnsignals erfolgen, beispielsweise über ein Vibrieren eines Lenkrads des Kraftfahrzeugs (100).
-
Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal (A) derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit vom zweiten neuronalen Netz (62) identifizierten Objekten verhindert.
-
4 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem (40) zur Ansteuerung einer Fertigungsmaschine (11) eines Fertigungssystems (200) verwendet wird, indem ein die Fertigungsmaschine (11) steuernder Aktor (10) angesteuert wird. Bei der Fertigungsmaschine (11) kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln.
-
Weiterhin ist denkbar, dass die Fertigungsmaschine (11) ausgebildet ist mittels eines Greifers ein Fertigungserzeugnis (12a, 12b) zu greifen.
-
Bei dem Sensor (30) kann es sich dann beispielsweise um einen Videosensor handeln, der z.B. die Förderfläche eines Förderbandes (13) erfasst, wobei sich auf dem Förderband (13) Fertigungserzeugnissen (12a, 12b) befinden können. Das zweite neuronale Netz (62) kann beispielsweise eingerichtet sein eine Position der Fertigungserzeugnisse (12a, 12b) auf dem Förderband zu ermitteln. Der die Fertigungsmaschine (11) steuernde Aktor (10) kann dann abhängig von den ermittelten Positionen der Fertigungserzeugnisse (12a, 12b) angesteuert werden. Beispielsweise kann der Aktor (10) derart angesteuert werden, dass er ein Fertigungserzeugnis (12a, 12b) an einer vorbestimmten Stelle des Fertigungserzeugnisses (12a, 12b) stanzt, sägt, bohrt und/oder schneidet.
-
Weiterhin ist denkbar, dass das zweite neuronale Netz (62) ausgebildet ist, alternativ oder zusätzlich zur Position weitere Eigenschaften eines Fertigungserzeugnisses (12a, 12b) zu ermitteln. insbesondere ist vorstellbar, dass zweite neuronale Netz (62) ermittelt, ob ein Fertigungserzeugnis (12a, 12b) defekt und/oder beschädigt ist. In diesem Fall kann der Aktor (10) derart angesteuert werden, dass die Fertigungsmaschine (11) ein defektes und/oder beschädigtes Fertigungserzeugnis (12a, 12b) aussortiert.
-
5 zeigt ein Ausführungsbeispiel eines Trainingssystems (140) zum Trainieren des ersten neuronalen Netzes (61) mittels eines Trainingsdatensatzes (T). Der Trainingsdatensatz (T) umfasst eine Mehrzahl von Eingabesignalen (xi), die zum Trainieren des ersten neuronalen Netzes (61) verwendet werden, wobei der Trainingsdatensatz (T) ferner zu jeweils einem Eingabesignal (xi) ein gewünschtes Ausgabesignal (ti) umfasst, welches mit dem Eingabesignal (xi) korrespondiert.
-
Zum Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu. Die Datenbank (St2) enthält jeweils Übertragungen (o), die vom Steuerungssystem (40) übermittelt wurden. Basierend auf den Übertragungen (o) ruft die Trainingsdateneinheit (150) den Trainingsdatensatz (T) ab, wobei zu einem Eingabesignal (xi) das zweite Ausgabesignal als gewünschte Ausgabe (ti) bereitgestellt wird. Vorzugsweise umfasst der Trainingsdatensatz (T) alle Übertragungen (o), die vom Steuersystem (40) übertragen wurden.
-
Die Trainingsdateneinheit (150) ermittelt aus dem Trainingsdatensatz (T) vorzugsweise zufällig zumindest ein Eingabesignal (xi) und das zum Eingabesignal (xi) korrespondierende gewünschte Ausgabesignal (ti) und übermittelt das Eingabesignal (xi) an das erste neuronale Netz (61). Das erste neuronale Netz (61) ermittelt auf Basis des Eingabesignals (xi) ein Ausgabesignal (yi).
-
Das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) werden an eine Veränderungseinheit (180) übermittelt.
-
Basierend auf dem gewünschten Ausgabesignal (ti) und dem ermittelten Ausgabesignal (yi) werden dann von der Veränderungseinheit (180) neue Parameter (Φ') für das erste neuronale Netz (61) bestimmt. Hierfür vergleicht die Veränderungseinheit (180) das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) mittels einer Verlustfunktion (engl. Loss Function). Die Verlustfunktion ermittelt einen ersten Verlustwert, der charakterisiert, wie weit das ermittelte Ausgabesignal (yi) vom gewünschten Ausgabesignal (ti) abweicht. Als Verlustfunktion wird im Ausführungsbeispiel eine negative logarithmierte Plausibilitätsfunktion (engl. negative log-likehood function) gewählt. In alternativen Ausführungsbeispielen sind auch andere Verlustfunktion denkbar.
-
Weiterhin ist vorstellbar, dass das ermittelte Ausgabesignal (yi) und das gewünschte Ausgabesignal (ti) jeweils eine Mehrzahl von Untersignalen, zum Beispiel in Form von Tensoren, umfassen, wobei jeweils ein Untersignal des gewünschten Ausgabesignals (ti) mit einem Untersignal des ermittelten Ausgabesignals (yi) korrespondiert. Zum Beispiel ist vorstellbar, dass das erste neuronale Netz (61) zur Objektdetektion ausgebildet ist und ein erstes Untersignal jeweils eine Auftretenswahrscheinlichkeit eines Objekts bezüglich eines Teils des Eingabesignals (xi) charakterisiert und zweites Untersignal die exakte Position des Objekts charakterisiert. Für den Fall, dass das ermittelte Ausgabesignal (yi) und das gewünschte Ausgabesignal (ti) eine Mehrzahl von korrespondierenden Untersignalen umfasst, wird vorzugsweise für jeweils korrespondierende Untersignale mittels einer geeigneten Verlustfunktion ein zweiter Verlustwert ermittelt und die ermittelten zweiten Verlustwerte geeignet zum ersten Verlustwert zusammengeführt, beispielsweise über eine gewichtete Summe.
-
Die Veränderungseinheit (180) ermittelt auf Grundlage des ersten Verlustwertes die neuen Parameter (Φ'). Im Ausführungsbeispiel geschieht dies mittels eines Gradientenabstiegsverfahren, vorzugsweise Stochastic Gradient Descent, Adam, oder AdamW. In weiteren Ausführungsbeispielen kann das Training auch auf einem evolutionären Algorithmus oder einer Zweite-Grad-Optimierung (engl. second-order optimization) beruhen.
-
Die ermittelten neuen Parameter (Φ') werden in einem Modellparameterspeicher (St1) gespeichert. Vorzugsweise werden die ermittelten neuen Parameter (Φ') als Parameter (Φ1) dem ersten neuronalen Netz (61) bereitgestellt.
-
In weiteren bevorzugten Ausführungsbeispielen wird das beschriebene Training iterativ für eine vordefinierte Anzahl an Iterationsschritten wiederholt oder iterativ wiederholt, bis der erste Verlustwert einen vordefinierten Schwellenwert unterschreitet. Alternativ oder zusätzlich ist auch vorstellbar, dass das Training beendet wird, wenn ein durchschnittlicher erster Verlustwert bezüglich eines Test- oder Validierungsdatensatzes einen vordefinierten Schwellenwert unterschreitet. In mindestens einer der Iterationen werden die in einer vorherigen Iteration bestimmten neuen Parameter (Φ') als Parameter (Φ1) des ersten neuronalen Netzes (61) verwendet.
-
Des Weiteren kann das Trainingssystem (140) mindestens einen Prozessor (145) und mindestens ein maschinenlesbares Speichermedium (146) umfassen, welches Befehle enthält, welche, wenn sie durch den Prozessor (145) ausgeführt werden, das Trainingssystem (140) veranlassen, ein Trainingsverfahren nach einem der Aspekte der Erfindung auszuführen.
-
Das Trainingssystem (140) ist bevorzugt physikalisch vom Steuerungssystem (40) getrennt. Beide Systeme umfassen beispielsweise getrennte Computer, um die jeweiligen Ablaufschritte durchzuführen. Das Trainingssystem (140) und das Steuerungssystem (40) können beispielsweise über eine Netzwerkverbindung, wie etwa LAN oder Internet miteinander kommunizieren. Mobile und/oder kabellose Übertragungswege sind im Verfahren ebenfalls möglich.
-
Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
-
Im Allgemeinen kann eine Mehrzahl als indexiert verstanden werden, d.h. jedem Element der Mehrzahl wird ein eindeutiger Index zugewiesen, vorzugsweise durch Zuweisung aufeinanderfolgender Ganzzahlen an die in der Mehrzahl enthaltenen Elemente. Vorzugsweise, wenn eine Mehrzahl N Elemente umfasst, wobei N die Anzahl der Elemente in der Mehrzahl ist, werden den Elementen die ganzen Zahlen von 1 bis N zugewiesen.