-
Technisches Gebiet
-
Die Erfindung betrifft eine Vorrichtung zum Erstellen eines maschinellen Lernsystems durch eine Auswahl eines Architekturoptimierers aus einer Mehrzahl von unterschiedlichen Architekturoptimierer.
-
Stand der Technik
-
Es sind unterschiedliche Architekturoptimierer bekannt, wie zum Beispiel:
-
Die Autoren Hanxiao Liu, Karen Simonyan und Yiming Yang offenbaren in ihrer Veröffentlichung „DARTS: Differentiable architecture search." in International Conference on Learning Representations, 2019. https://arxiv.org/abs/1806.09055 ein Architekturoptimierer namens DARTS. DARTS verwendet eine gewichtete kontinuierliche Entspannung (engl. relaxation) über Operationen, um eine Architektur zu erlernen.
-
Die Autoren Xuanyi Dong und Yi Yang offenbaren in ihrer Veröffentlichung „Searching for a robust neural architecture in four GPU hours" in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1761-1770, 2019
http://openaccess.thecvf.com/content_CVPR_2019/papers/Dong_Searching_for a_Robust_Neural_Architecture_in_Four_GPU_Hours_CVPR_2019_paper.pdf einen Architekturoptimierer namens GDAS, welcher eine modifizierte Version von DARTS ist.
-
Die Autoren Yuhui Xu, Lingxi Xie, Xiaopeng Zhang, Xin Chen, Guo-Jun Qi, Qi Tian und Hongkai Xiong offenbaren in ihrer Veröffentlichung „Partial channel connections for memory-efficient differentiable architecture search“ arXiv preprint arXiv:1907.05737, 2019 einen Architekturoptimierer namens PC-DARTS.
-
Die Autoren Liam Li und Ameet Talwalkar offenbaren in ihrer Veröffentlichung „Random search and reproducibility for neural architecture search“ arXiv preprint arXiv:1902.07638, 2019 einen Architekturoptimierer namens „Zufallssuche mit Weight Sharing (engl. Random Search with Weight Sharing).
-
Vorteile der Erfindung
-
Da aufgrund der Komplexität und Menge der Trainingsdaten zu Beginn einer Architekturoptimierung von maschinellen Lernsystem nicht vorhersehbar ist, welcher Architekturoptimierer die am geeignetsten Architektur des maschinellen Lernsystems für gegebene Trainingsdaten findet, führt eine manuelle Auswahl von Architekturoptimierer nicht immer zur einer bestmöglichen Auswahl. Wünschenswert ist ein automatisiertes Auswählen des am meisten geeignetsten Architekturoptimierers zum Erstellen von maschinellen Lernsystem, sodass für den gegebenen Trainingsdatensatz die bestmögliche Architektur gefunden werden kann.
-
Aus diesem Grund schlägt die Erfindung vor, dass aus einer Mehrzahl von Architekturoptimierer derjenige Architekturoptimierer herausgesucht wird, der auf eine Untermenge der Trainingsdaten das leistungsfähigste maschinelle Lernsystem erstellt hat. Dies hat den Vorteil, dass nur auf einer geringen Menge der Trainingsdaten entschieden wird, welcher Architekturoptimierer geeignet ist und dieser wird dann auf die vollständigen Trainingsdaten angewendet. Dadurch wird auch der Aufwand zum Erstellen der maschinellen Lernsystemen deutlich reduziert.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Erstellen eines maschinellen Lernsystems gemäß dem unabhängigen Anspruch 1 vorgestellt. Das Verfahren zum Erstellen eines maschinellen Lernsystems, insbesondere eines künstlichen neuronalen Netzes, umfasst die Schritte:
-
Bereitstellen einer Mehrzahl von Architekturoptimierer, vorzugsweise die eingangs zitierten Architekturoptimierer, und ferner Trainingsdaten. Die Trainingsdaten können Trainingseingangsdaten, insbesondere Sensordaten, und jeweils zugeordnete Trainingsausgangsgrößen, insbesondere Label, umfassen. Unter einem Architekturoptimierer kann ein Optimierer verstanden werden, welcher eine Architektur eines maschinellen Lernsystems hinsichtlich einer maximalen Leistungsfähigkeit des maschinellen Lernsystems für vorgebbare Trainingsdaten optimiert. Hierfür können math. Operationen, insbesondere Aktivierungsfunktionen, des maschinellen Lernsystems und/oder Verbindungen des maschinellen Lernsystems Architekturparameter zugeordnet sein, welche durch den Architekturoptimierer optimiert werden. Daraufhin kann abhängig von den Architekturparametern die optimalen Verbindungen und/oder math. Operationen für das maschinelle Lernsystem ausgewählt werden. Der Architekturoptimierer kann ferner eingerichtet sein, neben der Optimierung der Architekturparameter zusätzlich Parameter des maschinellen Lernsystems, wie zum Beispiel Gewichte oder Filter, zu optimieren.
-
Daraufhin folgt ein Auswählen einer Untermenge der Trainingsdaten. Nachdem die Untermenge der Trainingsdaten ausgewählt wurde, folgt ein erstes Optimieren jeweils einer Architektur mit jedem Architekturoptimierer jeweils eines maschinellen Lernsystems abhängig von der Untermenge der Trainingsdaten. Die maschinellen Lernsysteme können den jeweiligen Architekturoptimierer zugeordnet sein, welche das jeweilige maschinelle Lernsystem optimieren. Unter einem Optimieren der Architektur des maschinellen Lernsystems kann verstanden werden, dass die Architekturparameter derart angepasst werden, dass das maschinelle Lernsystem abhängig von den Trainingseingangsgrößen die jeweils zugeordneten Trainingsausgangsgrößen ermittelt.
-
Falls der Architekturoptimierer nur eingerichtet ist, die Architekturparameter zu optimieren, dann kann zusätzlich ein weiterer Optimierer verwendet werden, der eingerichtet ist, die Parameter des maschinellen Lernsystems derart anzupassen, dass das maschinelle Lernsystem abhängig von den Trainingseingangsgrößen die den Trainingseingangsgrößen jeweils zugeordneten Trainingsausgangsgrößen ermittelt. Das Optimieren der Architekturparameter und/oder der Parameter des maschinellen Lernsystems kann auch als Anlernen bezeichnet werden.
-
Daraufhin folgt ein Auswählen desjenigen Architekturoptimierers und dessen maschinelles Lernsystem, welches bei einem Vergleich einer Performance der maschinellen Lernsysteme auf der Untermenge der Trainingsdaten und/oder einer weiteren Untermenge der Trainingsdaten die beste Performance erzielt hat. Unter einer Performance kann verstanden werden, wie zuverlässig das jeweilige maschinelle Lernsystem abhängig von den Trainingseingangsgrößen die zugeordneten Trainingsausgangsgrößen ermittelt.
-
Daraufhin folgt ein zweites Optimieren der Architektur mit dem ausgewählten Architekturoptimierer des ausgewählten maschinellen Lernsystems abhängig von allen Trainingsdaten.
-
Beim ersten und zweiten Optimieren der Architektur kann das maschinelle Lernsystem auch derart konfiguriert sein, dass dieses alle möglichen Verbindungen, insbesondere Verbindungen zwischen einzelnen Schichten des maschinellen Lernsystems, und alle möglichen Aktivierungsfunktionen, aufweist und dieses maschinelle Lernsystem mit all seinen Verbindungen und Aktivierungsfunktionen gewichtete mit den jeweils zugeordneten Architekturparametern überlagert betrieben wird. Denkbar ist dann, dass beim Vergleichen und nach dem zweiten Optimieren, ein Umwandeln dieses maschinellen Lernsystems abhängig von den Architekturparametern in ein abgespecktes maschinelles Lernsystem umgewandelt wird, welches nur die Verbindungen und/oder die Aktivierungsfunktionen aufweist, welche z.B. einen Architekturparameter größer als ein vorgebbaren Schwellenwert oder den größten Architekturparameter hinsichtlich einer vorgebbaren Menge von Verbindungen oder Aktivierungsfunktionen aufweist. Es wird dann vorgeschlagen, dass nach dem zweiten Optimieren des maschinellen Lernsystems eine Architektur dieses maschinellen Lernsystems abhängig von den Architekturparametern extrahiert wird. Zusätzlich oder alternativ kann dann die extrahierte Architektur verwendet werden, um ein weiteres maschinelles Lernsystem mit genau dieser extrahierten Architektur zu initialisieren und daraufhin anzulernen, insbesondere um eine optimale Parametrisierung des maschinellen Lernsystems mit der extrahierten Architektur zu ermitteln.
-
Zusätzlich kann dieses maschinelle Lernsystem auf neue bereitgestellte Eingangsdaten angewendet werden, also Betrieben werden.
-
Der Vorteil dieses Verfahrens ist, dass durch die Auswahl eines Architekturoptimierers aus einer Mehrzahl von Architekturoptimierer derjenige Architekturoptimierer ausgewählt wird, der auf einem Teil des Trainingsdatensatz die geeignetste Architektur findet. Damit kann automatisiert und objektiv ein Architekturoptimierer ausgewählt werden, wobei durch das Anwenden der unterschiedlichen Architekturoptimierer auf einem Teil der Trainingsdaten der totale Aufwand zum Erstellen des maschinellen Lernsystems reduziert wird.
-
Unter einer Architektur des maschinellen Lernsystems kann die interne Verarbeitungsstruktur des maschinellen Lernsystems verstanden werden. Ist zum Beispiel das maschinelle Lernsystem ein künstliches neuronales Netz, kann die Architektur durch eine Abfolge von Schichten des künstlichen neuronalen Netzes gegeben sein. Zusätzlich kann die Architektur des künstlichen neuronalen Netzes eine Anzahl der Neuronen der jeweiligen Schichten und/oder die Aktivierungsfunktionen der Schichten charakterisieren. Zusätzlich kann unter einer Architektur auch eine Parametrisierung des maschinellen Lernsystems verstanden werden.
-
Es wird ferner vorgeschlagen, dass alle, insbesondere gradientenbasierte, Architekturoptimierer beim ersten Optimieren die gleichen Hyperparameter aufweisen, um einen aussagekräftigeren Vergleich zu erzielen. Vorzugsweise werden die maschinellen Lernsysteme auf der gleichen Hardware optimiert.
-
Weiterhin wird vorgeschlagen, dass nach dem Auswählen des Architekturoptimierers dessen Hyperparameter abhängig von der Untermenge der Trainingsdaten angepasst werden. Das zweite Optimieren des ausgewählten maschinellen Lernsystems kann mit dem ausgewählten Architekturoptimierer, der mit den angepassten Hyperparametern parametrisiert ist, durchgeführt werden.
-
Unter einem Hyperparameter des Architekturoptimierers kann ein Parameter verstanden werden, welcher ein Konvergenzverhalten der ermittelten Architektur des Architekturoptimierers das beeinflusst. Beispielsweise kann ein Hyperparameter eine Lernrate des Architekturoptimierers oder eine Stapelgröße (engl. batch size) der Trainingsdaten sein.
-
Es ist es sehr aufwendig und häufig nicht zielführend, die Hyperparameter des Architekturoptimierers manuell einzustellen. Der Vorteil dieses Vorgehens ist, dass die Hyperparameter automatisiert eingestellt werden, wodurch ein besseres Konvergenzverhalten des Architekturoptimierers erzielt wird. D.h. das maschinelle Lernsystem kann beim zweiten Optimieren unter Verwendung von weniger Computerressourcen schneller und genauer angelernt werden.
-
Weiterhin wird vorgeschlagen, dass das Optimieren der Hyperparameter des Architekturoptimierers beim ersten Optimieren nach einer vorgebbaren Anzahl von ausgeführten Optimierungsschritte des Architekturoptimierers durchgeführt wird. Vorzugsweise wird die Optimierung der Hyperparameter dann ausgeführt, wenn der Architekturoptimierer einen Optimierungsschritt der Architektur und/oder der Parameter des maschinellen Lernsystems durchgeführt hat. Dies hat den Vorteil, dass ständig die Hyperparameter an einen Fortschritt des Erstellens des maschinellen Lernsystems angepasst werden. Dies schlägt sich vorteilhaft auf das Konvergenzverhalten nieder.
-
Weiterhin wird vorgeschlagen, dass die Hyperparameter unter Verwendung von BOHB (engl. Baysian Optimization Hyperband) optimiert werden. Der Optimierer BOHB wird von den Autoren Stefan Falkner, Aaron Klein und Frank Hutter in ihrer Veröffentlichung „BOHB: Robust and efficient hyperparameter optimization at scale.“ arXiv preprint arXiv:1807.01774 (2018) offenbart. BOBH wird in dieser Veröffentlichung als ein Verfahren offenbart, um Hyperparameter eines neuronalen Netzes mittels einer Kombination aus einer Bayes'schen Optimierung und einem Hyperband-Optimierungsalgorithmus zu optimieren. Es wird vorgeschlagen, dass dieses Verfahren für die Hyperparameter des Architekturoptimierers verwendet wird. Dies ist besonders vorteilhaft, da Simulationen gezeigt haben, dass dieser Optimierer bei Verwendung in dem vorgeschlagenen Verfahren besonders geeignete Architekturen findet, die ohne Verwendung von BOHB nicht aufgefunden worden wären.
-
Weiterhin wird vorgeschlagen, dass zum Optimieren der Hyperparameter eine Mehrzahl von unterschiedlichen Optimierungsräume bereitgestellt werden, wobei in jedem der Optimierungsräume eine unterschiedliche Anzahl von Hyperparameter des ausgewählten Architekturoptimierers optimiert werden können. Der ausgewählte Architekturoptimierer wird jeweils mit dem optimierten Hyperparameter aus den Optimierungsräumen getestet. Beim Testen werden die optimierten Hyperparameter aus dem Optimierungsraum ausgewählt, die die beste Performance erzielen oder ein vorgebbares Kriterium erfüllen. Das zweite Optimieren wird daraufhin mit den ausgewählten Hyperparametern durchgeführt.
-
Unter einem Testen der Hyperparameter kann verstanden werden, dass die optimierten Hyperparameter der jeweiligen Optimierungsräume jeweils für den ausgewählten Architekturoptimierer verwendet werden, und abhängig von einem erreichten Ergebnis des Architekturoptimierers werden die Hyperparameter des Optimierungsraums verwendet, die beim Verwenden des Architekturoptimierers das beste Ergebnis geliefert haben.
-
Beispielsweise können für BOBH zumindest zwei Optimierungsräume bereitgestellt werden innerhalb welchen die Hyperparameter optimiert werden. Zum Beispiel kann in einem ersten Optimierungsraum als Hyperparameter nur die Lernrate des ausgewählten Architekturoptimierers optimiert werden. In einem zweiten Optimierungsraum kann als Hyperparameter die Lernrate und eine Stapelgröße der verwendeten Trainingsdaten pro Optimierungsschritt des Architekturoptimierers optimiert werden.
-
Weiterhin wird vorgeschlagen, dass zumindest beim zweiten Optimieren eine Regularisierung der Trainingsdaten und/oder eine Regularisierung einer Kostenfunktion, abhängig von welcher das ausgewählte maschinelle Lernsystem angelernt wird, verwendet werden. Ein weiterer Hyperparameter kann die Regularisierung charakterisieren und dieser weitere Hyperparameter kann ebenfalls optimiert werden.
-
Vorzugsweise ist die Regularisierung ein sog. „CutOut“ der Trainingsdaten und/oder eine L2-Regularisierung der Kostenfunktion. Beim „CutOut“ kann aus einer Trainingseingangsgrößen ein vorgebbarer Bereich mit einer vorgebbaren Wahrscheinlichkeit zufällig entfernt werden. Die Hyperparameter können hierbei zum Beispiel die Größe des Bereichs und die Wahrscheinlichkeit sein. Vorzugsweise wird die Wahrscheinlichkeit entlang eines Fortschrittes des zweiten Optimierens erhöht. Dies hat den vorteilhaften Effekt, dass eine bessere Generalisierung des maschinellen Lernsystems erreicht werden kann, da durch die Regularisierung eine Überanpassung (engl. overfitting) auf die Trainingsdaten reduziert wird. Es sei angemerkt, dass Simulationen dieses vorgeschlagenen Verfahrens gezeigt haben, dass ein Optimieren der Hyperparameter, die eine CutOut Wahrscheinlichkeit und/oder einen Wert einer L2 Regularisierung charakterisieren, zu besonders leistungsfähigen maschinellen Lernsystem führen.
-
Weiterhin wird vorgeschlagen, dass das erste Optimieren über eine Mehrzahl von Epochen ausgeführt wird, wobei nach einer vorgebbaren Anzahl von Epochen die unterschiedlichen maschinellen Lernsysteme auf ihre Performance geprüft werden, z.B. durch ein Ermitteln eines Test-und/oder eines Validierungs-fehlers, wobei dann, wenn über eine Mehrzahl von Epochen keine Verbesserung der Performance erzielt wurde, wird dieses maschinelle Lernsystem und der zugehörige Architekturoptimierer verworfen, also nicht weiterverfolgt. Dies hat den Vorteil, dass bereits frühzeitig diejenigen Architekturoptimierer verworfen werden, die zu keiner sinnvollen Architektur führen.
-
Weiterhin wird vorgeschlagen, dass das maschinelle Lernsystem derart erstellt wird, dass dieses abhängig von Bilder eine Klassifizierung oder eine Segementierung oder eine Objekterkennung ermittelt.
-
Das vorgeschlagene Verfahren des ersten Aspektes oder das erstelle maschinelle Lernsystem des ersten Aspektes kann in einem physikalischen/technischen System, z.B. einem Roboter oder einem zumindest teilautonomen Fahrzeug eingesetzt werden, welches einen Aktor aufweist. Das erstelle maschinelle Lernsystem erhält dann eine Eingangsgröße, die bspw. abhängig von erfassten Sensordaten ermittelt und dem maschinellen Lernsystem bereitgestellt wird. Die Sensordaten können von einem Sensor, wie z.B. einer Kamera, des technischen Systems erfasst oder alternativ von extern empfangen werden. Daraufhin ermittelt dieses maschinelle Lernsystem abhängig von der Eingangsgröße eine Ausgangsgröße. Die Ausgangsgröße kann von einer Steuereinheit verwendet werden, sodass die Steuereinheit abhängig von dieser Ausgangsgröße den Aktor steuert. Die Steuereinheit kann hierfür eine Steuergröße abhängig von der ermittelten Ausgangsgröße bestimmen und diese zum Steuern des Aktors verwenden.
-
In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.
-
Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:
-
Figurenliste
-
- 1 eine schematische Darstellung eines Suchnetzes eines maschinellen Lernsystems;
- 2 eine schematische Darstellung eines Flussdiagramms zum Erstellen des maschinellen Lernsystems;
- 3 eine schematische Darstellung einer Ausführungsform einer Vorrichtung, welche zum Erstellen des maschinellen Lernsystems verwendet werden kann.
-
1 zeigt eine schematische Darstellung eines sogenannten Suchnetzwerkes (10) eines maschinellen Lernsystems. Das Suchnetzwerk (10) verarbeitet eine Eingangsgröße (Input), die einer ersten Schicht (Conv Stem) des Suchnetzwerkes (10) bereitgestellt wird. Nachdem die erste Schicht die bereitgestellte Eingangsgröße (Input) verarbeitet hat, wird diese verarbeitete Eingangsgröße als Eingangsgröße einem ersten Stapel (Stack 1) von Zellen (Cell1-1,..,Cell3-1) bereitgestellt, die die Eingangsgröße sequenziell verarbeiten und nachfolgenden Schichten des Suchnetzwerkes (10) bereitstellen. Die nachfolgenden Schichten können eine Abfolge von zum Beispiel einer Dimensionsreduktionsschicht (Downsample), weiteren Stapeln (Stack2,3) oder einer Pooling Schicht (Global Avg Pool) und einer vollvermaschten Schicht (Dense) sein.
-
Die Stapel (Stack1,Stack2,Stack3) umfassen jeweils einer Mehrzahl von Zellen, die nacheinander angeordnet sind.
-
Eine jede Zelle erhält seine Eingangsgröße (Input), welche eine ermittelte Ausgangsgröße einer vorherigen Zelle oder die Ausgangsgröße einer vorherigen Schicht (zum Beispiel Conv Stem) sein kann. Die Eingangsgröße der Zelle wird daraufhin einer Mehrzahl von Blöcken (choice block1,...,choice block5) bereitgestellt, die miteinander verbunden sind und deren Ausgangsgrößen zusammengefasst als Ausgangsgröße der jeweiligen Zelle ausgegeben wird.
-
Die Blöcke können auch als Knoten bezeichnet werden. Eine Zelle ist dann ein gerichteter nicht-zyklischer Graph der eine Mehrzahl von N unterschiedlichen Knoten aufweist. Die Zelle hat zumindest einen Eingangsknoten, vorzugsweise haben die Zellen zwei oder mehr Eingangsknoten. Die Zellen umfassen ferner mehrere Zwischenknoten und einen Ausgangsknoten. Jeder der Knoten stellt eine Zwischengröße x(i), in anderen Worten eine Aktivierungskarte (engl. activation map), des maschinellen Lernsystems dar und jede der Kanten (i,j) stellt eine Operation o(i,j), insbesondere eine Transformation, dar, die die Zwischengröße x(i) des Knoten i auf die Zwischengröße x(j) des Knoten j abbildet. Alle Knoten sind mit allen ihren vorhergehenden Knoten verbunden. Der Ausgangsknoten ist ebenfalls mit allen vorherigen Knoten verbunden, wobei die Ausgangsgröße des Ausgangsknotens durch eine Zusammenfassung (engl. concatening) der Zwischengrößen aller vorherigen Knoten ermittelt wird.
-
Vorzugsweise sind den Verbindungen der Blöcke innerhalb der Zelle jeweils ein Architekturparameter zugeordnet, der eine Gewichtung der Information, die durch diese Verbindung fließt, charakterisiert.
-
Jeder Block (choice block) erhält jeweils alle ermittelten Ausgangsgrößen seiner vorhergehenden Blöcke der jeweiligen Zelle, die jeweils gewichtet durch den der jeweiligen Verbindung zugeordneten Architekturparameter zu einer Eingangsgröße dieses Blockes zusammengefasst (Concat) werden. Daraufhin kann eine Mehrzahl von unterschiedlichen Aktivierungsfunktionen auf die Eingangsgröße angewendet werden. Die Ergebnisse der Aktivierungsfunktionen werden jeweils mittels eines weiteren Architekturparameters gewichtet und aufsummiert als Ausgangsgröße dieses Blockes ausgegeben.
-
Für den Fall, dass das Suchnetzwerk (10) nach 1 durch einen Architekturoptimierer, z.B. DARTS, optimiert werden soll, wird abhängig von bereitgestellten Trainingseingangsgrößen, die durch das Suchnetzwerk (10) propagiert werden, die Architekturparameter optimiert. Bei DARTS erfolgt die Optimierung der Architekturparameter über ein Gradientenabstiegsverfahren. Nachdem die Architekturparameter optimiert wurden, wird abhängig von den Architekturparametern die Aktivierungsfunktionen und die Verbindungen herausgesucht, die für das maschinelle Lernsystem verwendet werden sollen. Diese ausgewählte Architektur abhängig von den Architekturparametern entspricht dann einer im Wesentlichen optimalen Architektur für die verwendeten Trainingsdaten.
-
Das Suchnetzwerk (10) kann abhängig von einer vorgebbaren Zielarchitektur erstellt werden, beispielsweise können die unterschiedlichen Aktivierungsfunktionen vorgegeben sein und/oder eine Anzahl von Schichten.
-
2 zeigt ein schematisches Flussdiagramm eines Verfahrens (20) zum Erstellen eines maschinellen Lernsystems.
-
Das Verfahren beginnt mit Schritt 21. In diesem Schritt werden Trainingsdaten bereitgestellt. Die Trainingsdaten umfassend Trainingseingangsgrößen und jeweils zugeordnete Trainingsausgangsgrößen. Die Trainingseingangsgrößen können beispielsweise Bilder und die Trainingsausgangsgrößen zugeordnete Label sein, die charakterisieren welches Objekt in dem jeweiligen Bild dargestellt ist. Des Weiteren wird in Schritt 21 eine Mehrzahl von unterschiedlichen Architekturoptimierer bereitgestellt, zum Beispiel die zitierten Architekturoptimierer im Abschnitt Stand der Technik. Daraufhin wird in Schritt 21 eine Untermenge von Trainingsdaten aus den bereitgestellten Trainingsdaten ausgewählt. Die Untermenge kann zum Beispiel 15-20 % der bereitgestellten Trainingsdaten umfassen. Vorzugsweise wird die Untermenge der Trainingsdaten zufällig aus den bereitgestellten Trainingsdaten ausgewählt, um eine Verzerrung (engl. bias) in der Untermenge der Trainingsdaten zu vermeiden.
-
Im darauffolgenden Schritt 22 wird jeweils ein Suchnetzwerk, insbesondere ein maschinelles Lernsystem, für jeden der ausgewählten Architekturoptimierer nach Schritt 21 initialisiert. Die initialisierten Suchnetzwerke können z.B. jeweils das Suchnetzwerk (10) nach 1 sein. Nachdem die Suchnetzwerke initialisiert wurden, werden diese jeweils von einem ihnen zugeordneten Architekturoptimierer abhängig von der Untermenge der Trainingsdaten optimiert. In Schritt 22 können die Architekturoptimierer abwechselnd eine Parametrisierung des maschinellen Lernsystems, wie zum Beispiel Gewichte oder Filterkoeffizienten, und die Architekturparameter optimieren.
-
Das Optimieren durch die Architekturoptimierer kann mehrmals hintereinander durchgeführt werden. Vorzugsweise wird der Architekturoptimierer gemäß einer vorgebbaren Anzahl von Epochen mehrmals hintereinander ausgeführt.
-
Optional kann nach einer weiteren vorgebbaren Anzahl der Epochen die momentan geeignetste Architektur aus den Suchnetzwerken extrahiert werden, insbesondere durch Auswählen der Verbindungen und Aktivierungsfunktionen abhängig von den Architekturparametern, und beispielsweise auf der Untermenge der Trainingsdaten getestet und gegebenenfalls gegeneinander verglichen werden. Das Vergleichen kann beispielsweise durchgeführt werden, indem eine Klassifikationsgenauigkeit der maschinellen Lernsysteme auf der Untermenge der Trainingsdaten oder auf einer weiteren Untermenge der Trainingsdaten mit einander verglichen werden.
-
Denkbar ist auch, dass geprüft wird, ob eine Konvergenz beim Optimieren der Architekturen eintritt. Stellt sich heraus, dass ein Architekturoptimierer zu keinem Konvergenzverhalten beim Optimieren führt, kann dieser Architekturoptimierer deaktiviert werden, also nicht mehr weiterverwendet werden.
-
Es sei angemerkt, dass beim Extrahieren nicht nur die Verbindung mit einem vorherigen Block gewählt werden kann, die den größten Architekturparameter aufweist, sondern es kann auch der zweit und/oder der dritt größte Architekturparameter zusätzlich oder alternativ verwendet werden. Denkbar ist dann, dass diese Architekturen auch gegenseitig miteinander verglichen werden können.
-
Schritt 22 wird dann beendet, wenn ein vorgebbares Abbruchkriterium erfüllt ist, wenn zum Beispiel die vorgebbare Anzahl der Epochen durchgeführt wurden.
-
Dann, wenn Schritt 22 beendet wurde, folgt Schritt 23. In Schritt 23 wird aus den optimierten Suchnetzwerken eine optimale Architektur abhängig von den optimierten Architekturparametern extrahiert, insbesondere die Suchnetzwerke in jeweils ein maschinelles Lernsystem umgewandelt. Daraufhin werden diese maschinellen Lernsysteme miteinander verglichen. Dasjenige maschinelle Lernsystem, dass die höchste Performance auf der Untermenge der Trainingsdaten oder einer weiteren Untermenge der Trainingsdaten erzielt, wird dann ausgewählt, samt dem verwendeten Architekturoptimierer dieses maschinellen Lernsystems.
-
In dem nachfolgenden Schritt 24 wird ein weiterer Optimierer angewendet, um die Hyperparameter des ausgewählten Architekturoptimierers aus Schritt 23 zu optimieren Der weitere Optimierer ist vorzugsweise BOBH.
-
Nachdem die optimalen Hyperparameter des ausgewählten Architekturoptimierers ermittelt wurden, folgt Schritt 25. Hierin wird das Suchnetzwerk des ausgewählten maschinellen Lernsystems aus Schritt 23 abhängig von allen bereitgestellten Trainingsdaten unter Verwendung desjenigen Architekturoptimierers, der zum Optimieren dieses Suchnetzwerkes verwendet wurde, weiter optimiert.
-
Das weitere Optimieren kann solange durchgeführt werden, bis zum Beispiel eine Konvergenz eintritt, also sich die Architekturparameter im Wesentlichen nicht mehr verändern. Daraufhin kann abhängig von den Architekturparametern die optimale Architektur des maschinellen Lernsystems extrahiert werden, insbesondere das Suchnetzwerk in das maschinelle Lernsystem umgewandelt werden. Gegeben Falls kann dieses maschinelle Lernsystem abhängig von den bereitgestellten Trainingsdaten nachangelernt werden.
-
In einem optionalen darauffolgenden Schritt 26 kann das maschinelle Lernsystem aus Schritt 25 betrieben werden und bereitgestellte Eingangsgrößen verarbeiten, in dem es jeweils die bereitgestellten Eingangsgrößen durch das maschinelle Lernsystem propagiert und je eine Ausgangsgröße ausgibt.
-
4 zeigt eine schematische Darstellung einer Vorrichtung (30) zum Erstellen des maschinellen Lernsystems (31). Die Vorrichtung (30) optimiert abhängig von Ausgangsgrößen das Suchnetzwerk (10) des maschinellen Lernsystems (31). Die Trainingsdaten können eine Mehrzahl von erfassten Bildern, oder Tonsequenzen, Textausschnitte, Radar-, Lidar- oder Ultraschall-signale, die jeweils gelabelt sind, umfassen. Während des Anlernens werden Architekturparameter und Parameter des maschinellen Lernsystems (31), die in einem Speicher (33) hinterlegt sind, angepasst. Die Vorrichtung (30) kann eine Recheneinheit (34) und einen Speicher (35) umfassen, auf welchem Befehle hinterlegt sind, die beim Ausführen auf der Recheneinheit 34, diese veranlassen, das Verfahren (20) nach 2 auszuführen.
-
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 Nicht-Patentliteratur
-
- Hanxiao Liu, Karen Simonyan und Yiming Yang offenbaren in ihrer Veröffentlichung „DARTS: Differentiable architecture search.“ in International Conference on Learning Representations, 2019 [0003]
- Xuanyi Dong und Yi Yang offenbaren in ihrer Veröffentlichung „Searching for a robust neural architecture in four GPU hours“ in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1761-1770, 2019 [0004]