DE202019105256U1 - Vorrichtung zum Erstellen eines maschinellen Lernsystems - Google Patents

Vorrichtung zum Erstellen eines maschinellen Lernsystems Download PDF

Info

Publication number
DE202019105256U1
DE202019105256U1 DE202019105256.2U DE202019105256U DE202019105256U1 DE 202019105256 U1 DE202019105256 U1 DE 202019105256U1 DE 202019105256 U DE202019105256 U DE 202019105256U DE 202019105256 U1 DE202019105256 U1 DE 202019105256U1
Authority
DE
Germany
Prior art keywords
machine learning
architecture
learning system
training data
optimization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202019105256.2U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE202019105256.2U priority Critical patent/DE202019105256U1/de
Publication of DE202019105256U1 publication Critical patent/DE202019105256U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

Vorrichtung zum Erstellen eines maschinellen Lernsystems, wobei die Vorrichtung ein maschinenlesbares Speicherelement umfasst, auf dem Befehle gespeichert sind, die beim Ausführen durch einen Computer bewirkten, dass der Computer ein Verfahren mit den folgenden Schritten ausführt:Bereitstellen einer Mehrzahl von Architekturoptimierer und Trainingsdaten;Auswählen einer Untermenge der Trainingsdaten;Erstes Optimieren einer Architektur jeweils eines maschinellen Lernsystems mit jeweils einem der Architekturoptimierer abhängig von der Untermenge der Trainingsdaten;Auswählen desjenigen Architekturoptimierers und dessen optimierten maschinellen Lernsystems, welches bei einem Vergleich einer jeweiligen Performance der maschinellen Lernsysteme auf der Untermenge der Trainingsdaten und/oder auf einer weiteren Untermenge der Trainingsdaten die beste Performance erzielt hat; undZweites Optimieren der Architektur des ausgewählten maschinellen Lernsystems mit dem ausgewählten Architekturoptimierer abhängig von den, insbesondere allen, bereitgestellten Trainingsdaten.

Description

  • 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]

Claims (7)

  1. Vorrichtung zum Erstellen eines maschinellen Lernsystems, wobei die Vorrichtung ein maschinenlesbares Speicherelement umfasst, auf dem Befehle gespeichert sind, die beim Ausführen durch einen Computer bewirkten, dass der Computer ein Verfahren mit den folgenden Schritten ausführt: Bereitstellen einer Mehrzahl von Architekturoptimierer und Trainingsdaten; Auswählen einer Untermenge der Trainingsdaten; Erstes Optimieren einer Architektur jeweils eines maschinellen Lernsystems mit jeweils einem der Architekturoptimierer abhängig von der Untermenge der Trainingsdaten; Auswählen desjenigen Architekturoptimierers und dessen optimierten maschinellen Lernsystems, welches bei einem Vergleich einer jeweiligen Performance der maschinellen Lernsysteme auf der Untermenge der Trainingsdaten und/oder auf einer weiteren Untermenge der Trainingsdaten die beste Performance erzielt hat; und Zweites Optimieren der Architektur des ausgewählten maschinellen Lernsystems mit dem ausgewählten Architekturoptimierer abhängig von den, insbesondere allen, bereitgestellten Trainingsdaten.
  2. Vorrichtung nach Anspruch 1, wobei die gespeicherten Befehle derart ausgebildet sind, dass das Verfahren, das der Computer ausführt, wenn diese Befehle auf dem Computer ausgeführt werden, derart abläuft, dass nach dem Auswählen des Architekturoptimierers dessen Hyperparameter abhängig von der Untermenge der Trainingsdaten angepasst werden, wobei das zweite Optimieren des ausgewählten maschinellen Lernsystems mit dem ausgewählten Architekturoptimierer, der mit den angepassten Hyperparametern parametrisiert ist, durchgeführt wird.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei die gespeicherten Befehle derart ausgebildet sind, dass das Verfahren, das der Computer ausführt, wenn diese Befehle auf dem Computer ausgeführt werden, derart abläuft, dass das Optimieren der Hyperparameter des Architekturoptimierers beim ersten Optimieren nach einer vorgebbaren Anzahl von ausgeführten Optimierungsschritte des Architekturoptimierers durchgeführt wird.
  4. Vorrichtung nach Anspruch 2 oder 3, wobei die gespeicherten Befehle derart ausgebildet sind, dass das Verfahren, das der Computer ausführt, wenn diese Befehle auf dem Computer ausgeführt werden, derart abläuft, dass die Hyperparameter unter Verwendung von BOHB (engl. Baysian Optimization Hyperband) optimiert werden.
  5. Vorrichtung nach einem der Ansprüche 2 bis 4, wobei die gespeicherten Befehle derart ausgebildet sind, dass das Verfahren, das der Computer ausführt, wenn diese Befehle auf dem Computer ausgeführt werden, derart abläuft, 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, wobei der ausgewählte Architekturoptimierer jeweils mit den optimierten Hyperparametern aus den Optimierungsräumen getestet wird, wobei beim Testen diejeweiligen optimierten Hyperparameter aus dem Optimierungsraum ausgewählt werden, die zu der besten Performance des maschinellen Lernsystemes, das mit diesen Hyperparameter parametrisierten Architekturoptimierers optimiert wurde, führen, wobei beim zweiten Optimieren das ausgewählte maschinelle Lernsystem mit den ausgewählten Hyperparametern durchgeführt wird.
  6. Vorrichtung nach Anspruch 5, wobei die gespeicherten Befehle derart ausgebildet sind, dass das Verfahren, das der Computer ausführt, wenn diese Befehle auf dem Computer ausgeführt werden, derart abläuft, dass zumindest beim zweiten Optimieren eine Regularisierung der Trainingsdaten und/oder eine Regularisierung einer Kostenfunktion, abhängig von welcher die Architektur des ausgewählten maschinellen Lernsystems optimiert wird, angewendet wird, wobei ein weiterer Hyperparameter die Regularisierung charakterisiert und dieser weitere Hyperparameter ebenfalls optimiert wird.
  7. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die gespeicherten Befehle derart ausgebildet sind, dass das Verfahren, das der Computer ausführt, wenn diese Befehle auf dem Computer ausgeführt werden, derart abläuft, 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, wobei dann, wenn mehrmals die maschinelle Lernsysteme nach der vorgebbaren Anzahl von Epochen geprüft wurden und keine Verbesserung der Performance eines der maschinellen Lernsysteme bei diesem Prüfen erzielt wurde, wird dieses maschinelle Lernsystem und der zugehörige Architekturoptimierer verworfen.
DE202019105256.2U 2019-09-23 2019-09-23 Vorrichtung zum Erstellen eines maschinellen Lernsystems Active DE202019105256U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202019105256.2U DE202019105256U1 (de) 2019-09-23 2019-09-23 Vorrichtung zum Erstellen eines maschinellen Lernsystems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202019105256.2U DE202019105256U1 (de) 2019-09-23 2019-09-23 Vorrichtung zum Erstellen eines maschinellen Lernsystems

Publications (1)

Publication Number Publication Date
DE202019105256U1 true DE202019105256U1 (de) 2019-10-21

Family

ID=68499727

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202019105256.2U Active DE202019105256U1 (de) 2019-09-23 2019-09-23 Vorrichtung zum Erstellen eines maschinellen Lernsystems

Country Status (1)

Country Link
DE (1) DE202019105256U1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111612134A (zh) * 2020-05-20 2020-09-01 鼎富智能科技有限公司 神经网络结构搜索方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111612134A (zh) * 2020-05-20 2020-09-01 鼎富智能科技有限公司 神经网络结构搜索方法、装置、电子设备及存储介质
CN111612134B (zh) * 2020-05-20 2024-04-12 鼎富智能科技有限公司 神经网络结构搜索方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
DE202017102235U1 (de) Trainingssystem
DE202017102238U1 (de) Aktorsteuerungssystem
DE102014223220A1 (de) Lernvorrichtung, Lernprogramm und Lernverfahren
WO2019001649A1 (de) Wissenstransfer zwischen verschiedenen deep-learning architekturen
DE112020000448T5 (de) Kameraselbstkalibrierungsnetz
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
EP4000010A1 (de) Vorrichtung und computerimplementiertes verfahren für die verarbeitung digitaler sensordaten und trainingsverfahren dafür
DE102019214625A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines künstlichen neuronalen Netzes
EP3748551A1 (de) Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
DE202019105256U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102018222294A1 (de) Verfahren, Computerprogramm, maschinenlesbares Speichermedium sowie Vorrichtung zur Datenvorhersage
DE102021207613A1 (de) Verfahren zur Qualitätssicherung eines Systems
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
DE102017128082A1 (de) Meta-Architektur-Design für ein CNN-Netzwerk
DE202019102260U1 (de) Vorrichtung zum Erstellen eines neuronalen Netzes
DE102019214500A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems
DE102013224382A1 (de) Beschleunigte Objekterkennung in einem Bild
DE202019103233U1 (de) Vorrichtung zum Einstellen eines Hyperparameters
DE202019103323U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102019207911A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Vorhersage einer Lernkurve
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE102019214436A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines künstlichen neuronalen Netzes
DE102019213059A1 (de) Verfahren und Datenverarbeitungssystem
EP3956820B1 (de) Verfahren, vorrichtung und computerprogramm zum erstellen eines neuronalen netzes
DE202021103700U1 (de) Vorrichtung zum Erzeugen eines künstlichen neuronalen Netzes

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years