-
Die Erfindung betrifft ein Verfahren zum Trainieren eines maschinellen Lernsystems, ein Trainingssystem, ein Verfahren zum Ansteuern eines Steuerungssystems, ein Steuerungssystem, ein Verfahren zum Betreiben des Steuerungssystems, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Aus der Veröffentlichung „Learning to Prune Deep Neural Networks via Layerwise Optimal Brain Surgeon“ arXiv preprint arXiv:1705.07565v2, Xin Dong, Shanyu Chen, Sinno Jialin Pan ist bekannt, dass das Beschneiden der Gewichte tiefer neuronaler Netze mittels einer L1-Norm durchgeführt werden kann.
-
Offenbarung der Erfindung
-
Zum Komprimieren maschineller Lernsysteme, insbesondere neuronaler Netze können mit Hilfe sogenannte L1-Regularisierung einige der Parameter, mit denen dieses neuronale Netz charakterisiert ist, auf Paramater nahe oder gleich null gedrängt werden, sodass sie bei der Inferenz vernachlässigt werden können. Dies ermöglicht das speichereffiziente Speichern dieser Netze, da diese Parameter nicht gespeichert werden müssen.
-
Es wird nun vorgeschlagen, zur Regularisierung die sogenannten L0-Norm zu verwenden, die unmittelbar bestraft, wenn Parameter einen Wert ungleich Null annehmen. Die Anwendung der L0-Norm ist besonders vorteilhaft, weil kleine (und mithin unwichtige) Gewichte nach dem Training betragsmäßig noch kleiner sind als bei Verwendung der L1-Norm. Werden die Parameter dann komprimiert gespeichert, insbesondere indem kleine Parameter weggelassen werden, ist der hierdurch entstehende Fehler damit geringer. Allerdings ist die L0-Norm nicht differenzierbar und kann daher nicht mit gradientenbasierten Optimierungsverfahren eingesetzt werden.
-
Das Verfahren mit den Merkmalen des unabhängigen Anspruch 1 sieht vor, eine differenzierbare Näherung der L0-Norm zu verwenden. Dies hat gegenüber dem genannten Stand der Technik den Vorteil, dass es ein wesentlich schnelleres Training ermöglicht.
-
Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Ansprüche.
-
In den nebengeordneten Ansprüchen betrifft die Erfindung Verfahren und Vorrichtungen zum Ansteuern technischer Systeme mit dem so trainierten maschinellen Lernsystem. Wegen der effizient durchgeführten Komprimierung können diese besonders speichereffizient betrieben werden und benötigen wenig Rechenzeit, da eine größere Anzahl Parameter so klein sind, dass sie nicht mehr betrachtet werden müssen.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch einen Aufbau einer Ausführungsform der Erfindung;
- 2 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
- 3 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
- 4 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
- 5 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
- 6 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
- 7 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems;
- 8 schematisch ein Trainingssystem;
- 9 in einem Flussdiagramm einen möglichen Ablauf des Trainingsverfahrens;
- 10 in einem Flussdiagramm einen möglichen Ablauf zum Betreiben des maschinellen Lernsystems.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt einen Aktor 10 in seiner Umgebung 20 in Interaktion mit einem Steuerungssystem 40. Aktor 10 und Umgebung 20 werden gemeinschaftlich nachfolgend auch als Aktorsystem bezeichnet. In vorzugsweise regelmäßigen zeitlichen Abständen wird ein Zustand des Aktorsystems mit einem Sensor 30 erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann. 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 eine Folge von Ansteuersignalen A, welches an den Aktor 10 übertragen wird.
-
Das Steuerungssystem 40 empfängt die Folge von Sensorsignalen S des Sensors in einer optionalen Empfangseinheit 50, die die Folge von Sensorsignalen S in eine Folge von Eingangssignalen x umwandelt (alternativ kann auch unmittelbar je das Sensorsignal S als Eingangssignal x übernommen werden). Das Eingangssignal x kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals S sein. Das Eingangssignal x wird einem maschinellen Lernsystem 60, das beispielsweise ein neuronales Netzwerk ist, zugeführt.
-
Das maschinelle Lernsystem 60 wird vorzugsweise parametriert durch Parameter θ, die in einem Parameterspeicher P hinterlegt sind und von diesem bereitgestellt werden.
-
Das maschinelle Lernsystem 60 ermittelt aus den Eingangssignalen x Ausgangssignale y. Die Ausgangssignale y 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.
-
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 eine Ein- oder Mehrzahl von Prozessoren 45 und wenigstens ein maschinenlesbares Speichermedium 46, auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 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 ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs 100, eingesetzt wird.
-
Bei dem Sensor 30 kann es sich beispielsweise um einen oder mehrere vorzugsweise im Kraftfahrzeug 100 angeordnete Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Positionssensoren (beispielsweise GPS) handeln. Alternativ oder zusätzlich kann der Sensor 30 auch ein Informationssystem umfassen, das eine Information über einen Zustand des Aktorsystems ermittelt, wie beispielsweise ein Wetterinformationssystem, das einen aktuellen oder zukünftigen Zustand des Wetters in der Umgebung 20 ermittelt.
-
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.
-
Alternativ kann es sich bei dem wenigstens teilautonomen Roboter 100 auch um einen anderen mobilen Roboter handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem wenigstens teilautonomen Roboter 100 kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln.
-
3 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Ansteuerung einer Fertigungsmaschine 11 eines Fertigungssystems 200 verwendet wird, indem ein diese Fertigungsmaschine 11 steuernder Aktor 10 angesteuert wird.
-
Bei dem Sensor 30 dann beispielsweise um einen optischen Sensor handeln, der z.B. Eigenschaften von Fertigungserzeugnissen 12 erfasst. Es ist möglich, dass der die Fertigungsmaschine 11 steuernde Aktor 10 abhängig von den ermittelten Eigenschaften des Fertigungserzeugnisses 12 angesteuert wird, damit die Fertigungsmaschine 11 entsprechend einen nachfolgenden Bearbeitungsschritt dieses Fertigungserzeugnisses 12 ausführt. Es ist auch möglich, dass der Sensor 30 die Eigenschaften des von der Fertigungsmaschine 11 bearbeiteten Fertigungserzeugnisses 12 ermittelt, und abhängig davon eine Ansteuerung der Fertigungsmaschine 11 für ein nachfolgendes Fertigungserzeugnis anpasst.
-
4 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines persönlichen Assistenten 250 eingesetzt wird. Der Sensor 30 ist bevorzugt ein akustischer Sensor, der Sprachsignale eines Nutzers 249 empfängt. Alternativ oder zusätzlich kann der Sensor 30 auch eingerichtet sein, optische Signale zu empfangen, beispielsweise Videobilder einer Geste des Nutzers 249. Abhängig von den Signalen des Sensors 30 ermittelt das Steuerungssystem 40 eine Ansteuerung, des persönlichen Assistenten 250. Dem persönlichen Assistenten 250 wird dann diese ermittelte Ansteuerung übermittelt und er somit entsprechend angesteuert. Diese ermittelte Ansteuerung ist kann insbesondere derart gewählt werden, dass sie einer vermuteten gewünschten Ansteuerung durch den Nutzer 249 entspricht. Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent 250 Informationen aus einer Datenbank abruft und sie für den Nutzer 249 rezipierbar wiedergibt. Die Ermittlung der vermuteten gewünschten Ansteuerung erfolgt dann mittels des maschinellen Lernsystems 60.
-
5 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Zugangssystems 300 eingesetzt wird. Das Zugangssystem 300 kann eine physische Zugangskontrolle, beispielsweise eine Tür 401 umfassen. Bei dem Sensor 30 kann es sich beispielsweise um einen optischen Sensor (beispielsweise zur Erfassung von Bild- oder Videodaten) handeln, der eingerichtet ist, ein Gesicht zu erfassen. Der Aktor 10 kann ein Schloss sein, dass ermittelt abhängig von der Folge von Ansteuersignalen A ein die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür 401 öffnet. An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
-
6 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Überwachungssystems 400 verwendet wird. Von dem in 3 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors 10 die Anzeigeeinheit 10a vorgesehen ist, die vom Steuerungssystem 40 angesteuert wird.
-
7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines medizinischen bildgebenden System 500, beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor 30 kann beispielsweise durch einen bildgebenden Sensor gegeben sein, durch das Steuerungssystem 40 wird die Anzeigeeinheit 10a angesteuert.
-
8 zeigt schematisch ein Ausführungsbeispiel eines Trainingssystems 140 zum Trainieren des maschinellen Lernsystems 60. Eine Trainingsdateneinheit 150 ermittelt geeignete Eingangsgrößen x, die dem maschinellen Lernsystem 60 zugeführt werden. Beispielsweise greift die Trainingsdateneinheit 150 auf eine computerimplementierte Datenbank zu, in dem ein Satz von Trainingsdaten gespeichert ist, und wählt z.B. zufällig aus dem Satz von Trainingsdaten Eingangsgrößen x aus. Optional ermittelt die Trainingsdateneinheit 150 auch zu den Eingangsgrößen x zugeordnete gewünschte Ausgangsgrößen ys , die einer Bewertungseinheit 180 zugeführt werden.
-
Das künstliche neuronale Netz x ist eingerichtet, aus den ihm zugeführten Eingangsgrößen x zugehörige Ausgangsgrößen y zu ermitteln. Diese Ausgangsgrößen y werden der Bewertungseinheit 180 zugeführt.
-
Eine Modifikationseinheit 160 ermittelt neue Parameter θ' z.B. mit dem in 9 illustrierten Verfahren und führt diese dem Parameterspeicher P zu, wo sie die Parameter θ ersetzen.
-
Die Bewertungseinheit
180 kann beispielsweise mittels einer von den Ausgangsgrößen y und den gewünschten Ausgangsgrößen
ys abhängigen Kostenfunktion (Englisch: loss function) eine Kenngröße
ermitteln, die eine Leistungsfähigkeit des maschinellen Lernsystems
60 charakterisiert. Die Parameter ϕ können abhängig von der Kenngröße
optimiert werden.
-
In weiteren bevorzugten Ausführungsformen umfasst das Trainingssystem 140 eine Ein- oder Mehrzahl von Prozessoren 145 und wenigstens ein maschinenlesbares Speichermedium 146, auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 145 ausgeführt werden, das Steuerungssystem 140 veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
9 zeigt in einem Flussdiagramm den Ablauf eines Trainingsverfahrens gemäß einer Ausführungsform.
-
Zunächst (1000) wird von der Trainingsdateneinheit 150 ein Satz Trainingsdaten zur Verfügung gestellt. Die Parameter θ werden auf einen vorgebbaren initialen Wert gesetzt, z.B. können sie auf zufällig gewählte Werte gesetzt werden.
-
Dann (1100) werden aus dem Satz Trainingsdaten Eingangsgrößen x ermittelt, dem maschinellen Lernsystem 60 zugeführt und hieraus Ausgangsgrößen y ermittelt.
-
Anschließend (1200) werden in der Bewertungseinheit 180 die Ausgangsgrößen y, und die zu den Eingangsgrößen x zugeordneten gewünschten Ausgangsgrößen ys bereitgestellt.
-
Nun (
1300) wird eine Untermenge Q der Menge aller Parameter
θ ausgewählt. Die so ausgewählten Parameter werden im Folgenden als
θQ bezeichnet. Die Kenngröße
wird abhängig von den Parametern θ und den ausgewählten Parametern
θQ berechnet. Die Kenngröße hat vorzugsweise die Form
wobei
L1 ein Term ist, der in üblicher Weise einen Term umfasst, welcher die Übereinstimmung zwischen Ausgangsgrößen y und gewünschten Ausgangsgrößen
ys charakterisiert.
-
Δ ist ein Term, der näherungsweise einer L
0-Norm |θ
Q|
0 der ausgewählten Parameter θ
Q entspricht. Diese ist gegeben durch
-
Der Term Δ kann beispielsweise gegeben sein durch
wobei s ein vorgebbarer Hyperparameter ist. Wichtig ist hierbei, dass der Term Δ bezüglich der ausgewählten Parameter
θi differenzierbar ist.
-
Anschließend (1400) werden mit Hilfe eines Optimierungsverfahrens, beispielsweise eines Gradientenabstiegsverfahrens, neue Parameter θ' ermittelt.
-
Dann (1500) wird überprüft, ob ein Konvergenzkriterium erfüllt ist, beispielsweise, ob Parameter θ und neue Parameter θ' hinreichend nach zusammenliegen.
-
Ist dies nicht der Fall, beginnt ein neuer Durchlauf des Verfahrens. Andernfalls (
1600) werden optional all jene Parameter θ, die für einen vorgebbaren Schwellwert ε die Bedingung
auf den Wert null gesetzt, und die Parameter θ mit einem Komprimierungsalgorithmus gespeichert. Beispielsweise ist es möglich, dass nur diejenigen Parameter θ gespeichert werden, die einen von null verschiedenen Wert aufweisen. Damit endet das Trainingsverfahren.
-
10 zeigt den Ablauf des Verfahrens zum Betreiben des maschinellen Lernsystems 60. Das maschinelle Lernsystem 60 empfängt (2000) Eingangsdaten x und ermittelt mit Hilfe einer durch die Parameter θ parametrierten Funktion f zugehörige Ausgangsdaten y. Abhängig von den Ausgangsdaten y können Ansteuersignale A ermittelt werden (2100). Damit endet das Verfahren.
-
Es versteht sich, dass die Verfahren nicht nur wie beschrieben vollständig in Software implementiert sein können. Sie können auch in Hardware implementiert sein, oder in einer Mischform aus Software und Hardware.