-
Die Erfindung betrifft eine Vorrichtung zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes, mit welchem schnell und mit geringem Ressourcenverbrauch eine optimale Architektur für ein künstliches neuronales Netz bestimmt werden kann.
-
Algorithmen des maschinellen Lernens basieren darauf, dass Verfahren der Statistik verwendet werden, um eine Datenverarbeitungsanlage derart zu trainieren, dass diese eine bestimmte Aufgabe ausführen kann, ohne dass diese ursprünglich explizit hierzu programmiert wurde. Das Ziel des maschinellen Lernens besteht dabei darin, Algorithmen zu konstruieren, die aus Daten lernen und Vorhersagen treffen können. Diese Algorithmen erstellen mathematische Modelle, mit denen beispielsweise Daten klassifiziert werden können.
-
Ein Beispiel für derartige Algorithmen des maschinellen Lernens sind künstliche neuronale Netze. Derartige künstliche neuronale Netze orientieren sich an biologischen Neuronen und erlauben es, ein unbekanntes Systemverhalten aus vorhandenen Trainingsdaten anzulernen und anschließend das angelernte Systemverhalten auch auf unbekannte Eingangsgrößen anzuwenden. Dabei besteht das neuronale Netz aus Schichten mit idealisierten Neuronen, welche gemäß einer Topologie des Netzes in unterschiedlicher Weise miteinander verbunden sind. Die erste Schicht, welche auch als Eingangsschicht bezeichnet wird, erfasst und überträgt dabei die Eingangswerte, wobei die Anzahl der Neuronen in der Eingangsschicht der Anzahl an Eingangssignalen, welche verarbeitet werden sollen, entspricht. Die letzte Schicht wird auch als Ausgangsschicht bezeichnet und weist genauso viele Neuronen auf, wie Ausgabewerte bereitgestellt werden sollen. Zwischen der Eingangsschicht und der Ausgangsschicht befindet sich zudem wenigstens eine Zwischenschicht, welche oftmals auch als verborgene Schicht bezeichnet wird, wobei die Anzahl der Zwischenschichten und die Anzahl und/oder der Typ der Neuronen in diesen Schichten abhängig von der konkreten Aufgabe, welche durch das künstliche neuronale Netz gelöst werden soll, ist.
-
Die Entwicklung der Architektur des künstlichen neuronalen Netzes, das heißt die Bestimmung des Erscheinungsbildes des Netzes beziehungsweise der Anzahl der Schichten in dem Netz sowie die Bestimmung der Anzahl und/oder des Typs der Neuronen in den einzelnen Schichten ist dabei für gewöhnlich jedoch sehr aufwendig, insbesondere im Hinblick auf den Ressourcenverbrauch. Um die Entwicklung der Architektur zu optimieren, wurde dabei die Neural Architektur Search (NAS) entwickelt, welche automatisiert optimale Architekturen für spezifische Problemstellungen entwickelt. Der NAS-Algorithmus stellt dabei zunächst aus verschiedenen Bausteinen und Konfigurationen eine Architektur für das künstliche neuronale Netz zusammen, welche anschließend mit einem Satz Trainingsdaten trainiert wird, und wobei erhaltene Ergebnisse anschließend im Hinblick auf die Performanz evaluiert werden. Basierend auf dieser Bewertung kann anschließend eine neue, im Hinblick auf die Performanz voraussichtlich optimalere Architektur ermittelt werden, welche anschließend wiederum basierend auf den Trainingsdaten trainiert wird, und wobei die erhaltenen Ergebnisse anschließend wiederum im Hinblick auf die Performanz evaluiert werden. Diese Schritte können dabei so oft wiederholt werden, bis keine Verbesserung mehr durch Veränderungen der Architektur erzielbar ist.
-
Aus der Druckschrift
EP 3 629 246 A1 ist ein Verfahren zur neuronalen Architektursuche bekannt, wobei ein neuronales Netzwerk bereitgestellt wird, das konfiguriert ist, um eine ausgewählte Aufgabe auszuführen, wobei ein Graph erhalten wird, der mehrere Knoten, Kanten und den Knoten/Kanten zugeordnete Gewichtungen enthält, wobei der Graph mehrere Kandidatenmodelle in Form von Teilgraphen des Graphen enthält, wobei ausgewählte Teilgraphen sequentiell trainiert werden, wobei die jedem Teilgraphen entsprechenden Gewichtungen in Reaktion auf das Training aktualisiert werden, wobei für jede Gewichtung in einem Teilgraphen, der mit einem anderen Teilgraphen geteilt wird, Aktualisierungen der Gewichtungen in Reaktion auf das Trainieren dieses Teilgraphen basierend auf einer Angabe, wie wichtig ein dieser Gewichtung zugeordneter Knoten/Kante für den anderen Teilgraphen ist, gesteuert werden.
-
Der Erfindung liegt somit die Aufgabe zugrunde, eine verbesserte Vorrichtung zum Bestimmer einer optimalen Architektur eines künstlichen neuronalen Netzes anzugeben.
-
Die Aufgabe wird gelöst durch eine Vorrichtung zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes gemäß den Merkmalen des Patentanspruchs 1.
-
Die Aufgabe wird zudem auch gelöst durch ein Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes gemäß den Merkmalen des Patentanspruchs 7.
-
Offenbarung der Erfindung
-
Gemäß einer Ausführungsform der Erfindung wird diese Aufgabe gelöst durch eine Vorrichtung, die eingerichtet ein Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes auszuführen, wobei für jede Architektur aus einer Menge an möglichen Architekturen des neuronalen Netzes, jeweils eine Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der Architektur zu wenigstens einer bekannten Architektur bestimmt wird, und wobei eine für das künstliche neuronale Netz optimale Architektur aus der Menge an möglichen Architekturen unter Verwendung einer Nutzenfunktion basierend auf den Unsicherheiten der Architekturen aus der Menge an möglichen Architekturen bestimmt wird.
-
Unter Architektur beziehungsweise Architektur eines künstlichen neuronalen Netzes, welches trainiert ist, eine bestimmte Aufgabe zu lösen, wird dabei die Struktur beziehungsweise das strukturelle Erscheinungsbild des künstlichen neuronalen Netzes verstanden, welches beispielsweise auf der Anzahl der Schichten in dem künstlichen neuronalen Netz und/oder der Anzahl und/oder des Typs der Neuronen in den einzelnen Schichten basiert.
-
Unter Menge an möglichen Architekturen des neuronalen Netzes wird weiter die Menge beziehungsweise Gesamtheit aller möglichen Strukturen beziehungsweise strukturellen Erscheinungsbilder des künstlichen neuronalen Netzes verstanden.
-
Unter bekannter Architektur wird zudem eine Architektur verstanden, basierend auf welcher bereits ein künstliches neuronales Netz trainiert und ausgewertet wurde, wobei das künstliche neuronale Netz dabei trainiert wurde, zumindest eine ähnliche Aufgabe wie das zu trainierende künstliche neuronale Netz zu lösen.
-
Unter Unsicherheit wird ferner ein Wert beziehungsweise eine Variable verstanden, welcher beziehungsweise welche die Güte der Ähnlichkeit zwischen wenigstens zwei Architekturen angibt, das heißt wieviel Informationsgehalt der entsprechenden Ähnlichkeit zugrunde liegt bzw. wie ähnlich die wenigstens zwei Architekturen sind.
-
Eine Nutzen- beziehungsweise Utility-Funktion ist weiter eine mathematische Funktion beziehungsweise mathematische Gleichung, welche den Nutzen darstellt, welcher erhalten wird, wenn ein neuronales Netz basierend auf einer bestimmten Architektur trainiert wird.
-
Dass dabei für jede Architektur aus einer Menge an möglichen Architekturen des künstlichen neuronalen Netzes jeweils eine Ähnlichkeit der Architektur zu wenigstens einer bekannten Architektur bestimmt wird hat den Vorteil, dass für jeden Teil beziehungsweise Aspekt der einzelnen Architekturen jeweils geprüft werden kann, ob dieser bekannt oder unbekannt, das heißt mit einer gewissen Unsicherheit verbunden ist, wobei die Unsicherheit für eine Architektur die Unsicherheiten aller Teile beziehungsweise Aspekte der entsprechenden Architektur umfassen kann, und wobei ein Aspekt beispielsweise die Anzahl der Schichten oder die Anzahl von Neuronen in einzelnen Schichten sein kann.
-
Dies hat den Vorteil, dass das Verfahren verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster ist.
-
Dadurch, dass das Verfahren effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da das Verfahren zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Insgesamt wird somit ein verbessertes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes angegeben.
-
Dabei kann der Schritt des, für jede Architektur aus einer Menge an möglichen Architekturen des neuronalen Netzes, jeweiligen Bestimmens einer Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur weiter ein Anwenden eines Algorithmus des maschinellen Lernens, welcher trainiert ist, Architekturen mit ähnlicher Performanz zu identifizieren, aufweisen.
-
Unter Performanz wird hierbei weiter die Leistungsfähigkeit der entsprechenden Architektur insgesamt verstanden.
-
Dass der Algorithmus des maschinellen Lernens dabei trainiert ist, Architekturen mit einer ähnlichen Performanz zu identifizieren, bedeutet dabei insbesondere, dass der Algorithmus des maschinellen Lernens trainiert ist, bei der Bestimmung der Unsicherheit einer Architektur nicht nur jeweils die Unsicherheiten einzelner Aspekte der entsprechenden Architektur, sondern auch Abhängigkeiten beziehungsweise Interaktionen zwischen einzelnen dieser Aspekte zu berücksichtigten. Insgesamt kann somit die Bestimmung der optimalen Architektur des neuronalen Netzes noch weiter optimiert werden.
-
Weiter kann der Schritt des, für jede Architektur aus einer Menge an möglichen Architekturen des neuronalen Netzes, , jeweiligen Bestimmens einer Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur ein Anwenden eines Meta-Learning-Algorithmus aufweisen.
-
Unter einem Meta-Learning-Algorithmus wird dabei ein Algorithmus verstanden, welcher ausgebildet ist, Vorhersagen bezüglich anderer, bereits trainierter künstlicher neuronaler Netze, welche trainiert sind, zumindest eine ähnliche Aufgabe wie das zu trainierende künstliche neuronale Netz zu lösen, bei der Bestimmung der optimalen Architektur zu berücksichtigen.
-
Dass bei der Bestimmung der optimalen Architektur bereits bekannte Daten berücksichtigt werden, hat den Vorteil, dass die zum Auffinden der optimalen Architektur benötigte Zeit weiter verkürzt und die hierzu benötigten Computerressourcen weiter verringert werden können.
-
Mit einer weiteren Ausführungsform der Erfindung wird auch ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes angegeben, wobei das Verfahren ein Bereitstellen von Trainingsdaten, ein Bereitstellen einer optimalen Architektur für das künstliche neuronale Netz, wobei die optimale Architektur durch ein obenstehend beschriebenes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes bestimmt wird, und ein Trainieren des künstlichen neuronalen Netzes basierend auf den Trainingsdaten und der optimalen Architektur für das künstliche neuronale Netz aufweist.
-
Somit wird ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes angegeben, welches auf einer durch ein verbessertes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes bestimmten optimalen Architektur basiert. Insbesondere ist das Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes dabei verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster. Dadurch, dass das Verfahren effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da das Verfahren zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Die Trainingsdaten können dabei ferner Sensordaten aufweisen.
-
Ein Sensor, welcher auch als Detektor, (Messgrößen- oder Mess-)Aufnehmer oder (Mess-) Fühler bezeichnet wird, ist ein technisches Bauteil, das bestimmte physikalische oder chemische Eigenschaften und/oder die stoffliche Beschaffenheit seiner Umgebung qualitativ oder als Messgröße quantitativ erfassen kann.
-
Folglich können Gegebenheiten außerhalb der eigentlichen Datenverarbeitungsanlage, auf welcher das Trainieren des neuronalen Netzes ausgeführt wird, berücksichtigt werden und in das Verfahren mit einfließen.
-
Mit einer weiteren Ausführungsform der Erfindung wird ferner auch ein Verfahren zum Klassifizieren von Bilddaten angegeben, wobei Bilddaten unter Verwendung eines künstlichen neuronalen Netzes klassifiziert werden, und wobei das künstliche neuronale Netz unter Verwendung eines obenstehend beschriebenen Verfahrens zum Trainieren eines neuronalen Netzes trainiert wurde.
-
Insbesondere kann das Verfahren dabei verwendet werden, um Bilddaten, insbesondere digitale Bilddaten auf der Grundlage von Low-level-Merkmalen, beispielsweise Kanten oder Pixelattributen, zu klassifizieren. Dabei kann weiter ein Bildverarbeitungsalgorithmus verwendet werden, um ein Klassifizierungsergebnis, welches sich auf entsprechende Low-Ievel Merkmale konzentriert, zu analysieren.
-
Insgesamt wird somit ein Verfahren zum Klassifizieren von Bilddaten angegeben, welches auf einem künstlichen neuronalen Netz basiert, das basierend auf einer durch ein verbessertes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes bestimmten optimalen Architektur trainiert wurde. Insbesondere ist das Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes dabei verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster. Dadurch, dass das Verfahren effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da das Verfahren zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Mit einer weiteren Ausführungsform der Erfindung wird weiter auch ein Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes, wobei das Steuergerät eine erste Bestimmungseinheit, welche ausgebildet ist, für jede Architektur aus einer Menge an möglichen Architekturen des künstlichen neuronalen Netzes jeweils eine Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur zu bestimmen, und eine zweite Bestimmungseinheit, welche ausgebildet ist, eine für das künstliche neuronale Netz optimale Architektur aus der Menge an möglichen Architekturen unter Verwendung einer Nutzenfunktion basierend auf den Unsicherheiten der Architekturen aus der Menge an möglichen Architekturen zu bestimmen.
-
Somit wird ein verbessertes Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes angegeben. Insbesondere wird ein Steuergerät angegeben, welches derart ausgebildet ist, dass die Bestimmung der optimalen Architektur verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster ist. Dadurch, dass die Bestimmung der optimalen Architektur effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da die Bestimmung der optimalen Architektur zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Dabei kann die erste Bestimmungseinheit ausgebildet sein, für jede Architektur aus der Menge an möglichen Architekturen die Unsicherheit der entsprechenden Architektur durch Anwenden eines Algorithmus des maschinellen Lernens, welcher trainiert ist, Architekturen mit ähnlicher Performanz zu identifizieren, zu bestimmen. Dass der Algorithmus des maschinellen Lernens dabei trainiert ist, Architekturen mit einer ähnlichen Performanz zu identifizieren, bedeutet dabei wiederum insbesondere, dass der Algorithmus des maschinellen Lernens trainiert ist, bei der Bestimmung der Unsicherheit einer Architektur nicht nur jeweils die Unsicherheiten einzelner Aspekte der entsprechenden Architektur sondern auch Abhängigkeiten beziehungsweise Interaktionen zwischen einzelnen dieser Aspekte zu berücksichtigten. Insgesamt kann somit die Bestimmung der optimalen Architektur des neuronalen Netzes noch weiter optimiert werden.
-
Zudem kann die erste Bestimmungseinheit auch ausgebildet sein, für jede Architektur aus der Menge an möglichen Architekturen die Unsicherheit der entsprechenden Architektur basierend auf einem Meta-Learning-Algorithmus zu bestimmen. Dass bei der Bestimmung der optimalen Architektur bereits bekannte Daten berücksichtigt werden, hat den Vorteil, dass die zum Auffinden der optimalen Architektur benötigte Zeit weiter verkürzt und die hierzu benötigten Computerressourcen weiter verringert werden können.
-
Mit einer weiteren Ausführungsform der Erfindung wird außerdem auch ein Steuergerät zum Trainieren eines künstlichen neuronalen Netzes angegeben, wobei das Steuergerät eine erste Bereitstellungseinheit, welche ausgebildet ist, Trainingsdaten bereitzustellen, eine zweite Bereitstellungseinheit, welche ausgebildet ist, eine optimale Architektur für das künstliche neuronale Netz bereitzustellen, wobei die optimale Architektur durch ein obenstehend beschriebenes Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes bestimmt wurde, und eine Trainingseinheit, welche ausgebildet ist, das künstliche neuronale Netz basierend auf den Trainingsdaten und der optimalen Architektur für das künstliche neuronale Netz zu trainieren, aufweist.
-
Somit wird ein Steuergerät zum Trainieren eines künstlichen neuronalen Netzes angegeben, welches auf einer durch ein verbessertes Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes bestimmten optimalen Architektur basiert. Insbesondere ist die Bestimmung der optimalen Architektur durch das Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes dabei verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster. Dadurch, dass die Bestimmung der optimalen Architektur effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da die Bestimmung der optimalen Architektur zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden
-
Die Trainingsdaten können dabei ferner wiederum Sensordaten aufweisen. Folglich können Gegebenheiten außerhalb der eigentlichen Datenverarbeitungsanlage, auf welcher das Trainieren des künstlichen neuronalen Netzes ausgeführt wird, berücksichtigt werden und in das Verfahren mit einfließen.
-
Mit einer weiteren Ausführungsform der Erfindung wird ferner auch ein Steuergerät zum Klassifizieren von Bilddaten angegeben, wobei das Steuergerät eine Bereitstellungseinheit, welche ausgebildet ist, ein trainiertes künstliches neuronales Netz bereitzustellen, wobei das künstliche neuronale Netz durch ein obenstehend beschriebenes Steuergerät zum Trainieren eines künstlichen neuronalen Netzes trainiert wurde, und eine Steuereinheit, welche ausgebildet ist, Bilddaten basierend auf dem künstlichen neuronalen Netz zu klassifizieren, aufweist.
-
Insbesondere kann das Steuergerät dabei wiederum verwendet werden, um Bilddaten, insbesondere digitale Bilddaten auf der Grundlage von Low-Ievel-Merkmalen, beispielsweise Kanten oder Pixelattributen, zu klassifizieren. Dabei kann weiter ein Bildverarbeitungsalgorithmus verwendet werden, um ein Klassifizierungsergebnis, welches sich auf entsprechende Low-Ievel Merkmale konzentriert, zu analysieren.
-
Insgesamt wird somit ein Steuergerät zum Klassifizieren von Bilddaten angegeben, welches auf einem neuronalen Netz basiert, das basierend auf einer durch ein verbessertes Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes bestimmten optimalen Architektur trainiert wurde. Insbesondere ist die Bestimmung der optimalen Architektur durch das Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes dabei verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster. Dadurch, dass die Bestimmung der optimalen Architektur effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da die Bestimmung der optimalen Architektur zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Mit einer weiteren Ausführungsform der Erfindung wird zudem auch ein Computerprogramm mit Programmcode, um ein obenstehend beschriebenes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes auszuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird, angegeben.
-
Mit einer weiteren Ausführungsform der Erfindung wird außerdem auch ein computerlesbarer Datenträger mit Programmcode eines Computerprogramms, um ein obenstehend beschriebenes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes auszuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird, angegeben.
-
Das Computerprogramm und der computerlesbare Datenträger haben dabei jeweils den Vorteil, dass diese ausgebildet sind, ein verbessertes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes auszuführen. Insbesondere hat das Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes den Vorteil, dass das Verfahren verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster ist. Dadurch, dass das Verfahren effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren schneller. Da das Verfahren zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur zudem mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Zusammenfassend ist festzustellen, dass mit der vorliegenden Erfindung ein Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes angegeben wird, mit welchem schnell und mit geringem Ressourcenverbrauch eine optimale Architektur für ein künstliches neuronales Netz bestimmt werden kann.
-
Die beschriebenen Ausgestaltungen und Weiterbildungen lassen sich beliebig miteinander kombinieren.
-
Weitere mögliche Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmalen der Erfindung.
-
Figurenliste
-
Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung.
-
Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die dargestellten Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.
-
Es zeigen:
- 1 ein Flussidagramm eines Verfahrens zum Trainieren eines künstlichen neuronalen Netzes gemäß Ausführungsformen der Erfindung; und
- 2 ein schematisches Blockschaltbild eines Systems zum Trainieren eines künstlichen neuronalen Netzes gemäß Ausführungsformen der Erfindung.
-
In den Figuren der Zeichnungen bezeichnen gleiche Bezugszeichen gleiche oder funktionsgleiche Elemente, Bauteile oder Komponenten, soweit nichts Gegenteiliges angegeben ist.
-
1 zeigt ein Flussdiagramm eines Verfahrens zum Trainieren eines künstlichen neuronalen Netzes gemäß Ausführungsformen der Erfindung.
-
Algorithmen des maschinellen Lernens basieren darauf, dass Verfahren der Statistik verwendet werden, um eine Datenverarbeitungsanlage derart zu trainieren, dass diese eine bestimmte Aufgabe ausführen kann, ohne dass diese ursprünglich explizit hierzu programmiert wurde. Das Ziel des maschinellen Lernens besteht dabei darin, Algorithmen zu konstruieren, die aus Daten lernen und Vorhersagen treffen können. Diese Algorithmen erstellen mathematische Modelle, mit denen beispielsweise Daten klassifiziert werden können.
-
Ein Beispiel für derartige Algorithmen des maschinellen Lernens sind künstliche neuronale Netze. Derartige künstliche neuronale Netze orientieren sich an biologischen Neuronen und erlauben es, ein unbekanntes Systemverhalten aus vorhandenen Trainingsdaten anzulernen und anschließend das angelernte Systemverhalten auch auf unbekannte Eingangsgrößen anzuwenden. Dabei besteht das neuronale Netz aus Schichten mit idealisierten Neuronen, welche gemäß einer Topologie des Netzes in unterschiedlicher Weise miteinander verbunden sind. Die erste Schicht, welche auch als Eingangsschicht bezeichnet wird, erfasst und überträgt dabei die Eingangswerte, wobei die Anzahl der Neuronen in der Eingangsschicht der Anzahl an Eingangssignalen, welche verarbeitet werden sollen, entspricht. Die letzte Schicht wird auch als Ausgangsschicht bezeichnet und weist genauso viele Neuronen auf, wie Ausgabewerte bereitgestellt werden sollen. Zwischen der Eingangsschicht und der Ausgangsschicht befindet sich zudem wenigstens eine Zwischenschicht, welche oftmals auch als verborgene Schicht bezeichnet wird, wobei die Anzahl der Zwischenschichten und die Anzahl und/oder der Typ der Neuronen in diesen Schichten abhängig von der konkreten Aufgabe, welche durch das künstliche neuronale Netz gelöst werden soll, ist.
-
Die Entwicklung der Architektur des künstlichen neuronalen Netzes, das heißt die Bestimmung des Erscheinungsbildes des Netzes beziehungsweise der Anzahl der Schichten in dem Netz sowie die Bestimmung der Anzahl und/oder des Typs der Neuronen in den einzelnen Schichten ist dabei für gewöhnlich jedoch sehr aufwendig, insbesondere im Hinblick auf den Ressourcenverbrauch. Um die Entwicklung der Architektur zu optimieren, wurde dabei die Neural Architektur Search (NAS) entwickelt, welche automatisiert optimale Architekturen für spezifische Problemstellungen entwickelt. Der NAS-Algorithmus stellt dabei zunächst aus verschiedenen Bausteinen und Konfigurationen eine Architektur für das künstliche neuronale Netz zusammen, welche anschließend mit einem Satz Trainingsdaten trainiert wird, und wobei erhaltene Ergebnisse anschließend im Hinblick auf die Performanz evaluiert werden. Basierend auf dieser Bewertung kann anschließend eine neue, im Hinblick auf die Performanz voraussichtlich optimalere Architektur ermittelt werden, welche anschließend wiederum basierend auf den Trainingsdaten trainiert wird, und wobei die erhaltenen Ergebnisse anschließend wiederum im Hinblick auf die Performanz evaluiert werden. Diese Schritte können dabei so oft wiederholt werden, bis keine Verbesserung mehr durch Veränderungen der Architektur erzielbar ist.
-
1 zeigt dabei ein Verfahren 1, welches einen Schritt 2 eines, für jede Architektur aus einer Menge an möglichen Architekturen des künstlichen neuronalen Netzes, jeweiligen Bestimmens einer Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur und einen Schritt 3 eine Bestimmens einer für das neuronale Netz optimalen Architektur aus der Menge an möglichen Architekturen unter Verwendung einer Nutzenfunktion basierend auf den Unsicherheiten der Architekturen aus der Menge an möglichen Architekturen aufweist.
-
Dass dabei für jede Architektur aus einer Menge an möglichen Architekturen des neuronalen Netzes jeweils eine Ähnlichkeit der Architektur zu wenigstens einer bekannten Architektur bestimmt wird hat den Vorteil, dass für jeden Teil beziehungsweise Aspekt der einzelnen Architekturen jeweils geprüft werden kann, ob dieser bekannt oder unbekannt, das heißt mit einer gewissen Unsicherheit verbunden ist, wobei die Unsicherheit für eine Architektur die Unsicherheiten aller Teile beziehungsweise Aspekte der entsprechenden Architektur umfassen kann, wobei ein Aspekt beispielsweise die Anzahl der Schichten oder die Anzahl von Neuronen in einzelnen Schichten sein kann.
-
Dies hat den Vorteil, dass das Verfahren verglichen mit bekannten Verfahren zum Bestimmen einer optimalen Architektur, welche auf lediglich einem Parameter bezüglich der Genauigkeit einzelner Architekturen basieren, effizienter und robuster ist.
-
Dadurch, dass das Verfahren 1 effizienter und robuster ist, kann die insgesamt optimalste Architektur zudem schneller gefunden werden beziehungsweise konfiguriert das Verfahren 1 schneller. Da das Verfahren 1 zudem auf einfachen, gebräuchlichen Algorithmen beziehungsweise Funktionen basiert, kann diese optimale Architektur mit vergleichsweise wenig Computerressourcen, beispielsweise vergleichsweise wenig Speicher- und/oder Prozessorkapazitäten bestimmt werden. Insbesondere kann die optimale Architektur dabei auch auf Steuergeräten, welche vergleichsweise wenig Ressourcen aufweisen, beispielsweise einem Steuergerät eines autonom fahrenden Kraftfahrzeuges bestimmt werden.
-
Insgesamt wird somit ein verbessertes Verfahren zum Bestimmen einer optimalen Architektur eines neuronalen Netzes angegeben.
-
Insbesondere zeigt 1 dabei ein Verfahren 1, bei dem bestimmt wird, wie ähnlich ein eine Architektur beschreibender Datensatz zu Datensätzen bezüglich bereits bekannter Architekturen ist, wobei die einzelnen Elemente des Datensatzes jeweils die einzelnen Aspekte der entsprechenden Architektur kennzeichnen können.
-
Die Ähnlichkeit kann dabei insbesondere durch Anwendung einer Kernel Funktion, beispielsweise einem Gauss-Kernel wie einem Squared Exponential Kernel oder einem Matern-Kernel bestimmt werden.
-
Gemäß den Ausführungsformen der 1 weist der Schritt 2 des, für jede Architektur aus einer Menge an möglichen Architekturen des künstlichen neuronalen Netzes, jeweiligen Bestimmens einer Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur ein Anwenden eines Algorithmus des maschinellen Lernens, welcher trainiert ist, Architekturen mit ähnlicher Performanz zu identifizieren, auf.
-
Bei dem Algorithmus des maschinellen Lernens kann es sich dabei insbesondere um ein trainierbares künstliches neuronales Netz handeln, wobei die Ähnlichkeit insbesondere durch Anwendung eines durch einen Deep-Kernel-Learning-Algorithmus trainierten Kernel, beispielsweise einem tiefen beziehungsweise deep Gauss-Kernel bestimmt werden kann.
-
Gemäß den Ausführungsformen der 1 weist der Schritt 2 des, für jede Architektur aus einer Menge an möglichen Architekturen des künstlichen neuronalen Netzes, jeweiligen Bestimmens einer Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur zudem ein Anwenden eines Meta-Learning-Algorithmus auf.
-
Insbesondere kann dabei ein tiefer beziehungsweise deep Gauss-Kernel basierend auf Eigenschaften beziehungsweise Meta-Features des die entsprechende Architektur beschreibenden Datensatzes konditioniert werden.
-
Wie 1 zeigt, weist das Verfahren 1 zudem einen Schritt 4 eines Bereitstellens von Trainingsdaten und einen Schritt 5 eines Trainierens eines künstlichen neuronalen Netzes basierend auf den Trainingsdaten und der bestimmten optimalen Architektur für das künstliche neuronale Netz auf.
-
Dabei kann das Verfahren 1 gegebenenfalls wiederholt ausgeführt werden, bis sich keine Verbesserung mehr einstellt und eine insgesamt optimalste Architektur gefunden wurde.
-
Bei den Trainingsdaten kann es sich zudem insbesondere wiederum um Sensordaten handeln.
-
Dabei kann das künstliche neuronale Netz in Schritt 5 insbesondere basierend auf entsprechenden gelabelten Vergleichsdaten trainiert werden, Bilddaten zu klassifizieren. Ferner kann das künstliche neuronale Netz aber beispielsweise auch trainiert werden, um eine Funktion eines autonom fahrenden Kraftfahrzeuges zu steuern, wobei das autonom fahrende Kraftfahrzeug anschließend basierend auf dem entsprechend trainierten künstlichen neuronalen Netz gesteuert werden kann.
-
2 zeigt ein schematisches Blockschaltbild eines Systems zum Trainieren eines künstlichen neuronalen Netzes 10 gemäß Ausführungsformen der Erfindung.
-
Wie 2 zeigt, weist das System 10 dabei ein Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes 11 und ein Steuergerät zum Trainieren eines künstlichen neuronalen Netzes 12 auf, wobei das Steuergerät zum Trainieren eines künstlichen neuronalen Netzes 12 ausgebildet ist, ein künstliches neuronales Netz basierend auf einer durch das Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes 11 bestimmten optimalen Architektur des künstlichen neuronalen Netzes zu trainieren.
-
Gemäß den Ausführungsformen der 2 weist das Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes 11 dabei eine erste Bestimmungseinheit 13, welche ausgebildet ist, für jede Architektur aus einer Menge an möglichen Architekturen des künstlichen neuronalen Netzes jeweils eine Unsicherheit für die entsprechende Architektur durch Bestimmen einer Ähnlichkeit der entsprechenden Architektur zu wenigstens einer bekannten Architektur zu bestimmen, und eine zweite Bestimmungseinheit 14, welche ausgebildet ist, eine für das künstliche neuronale Netz optimale Architektur aus der Menge an möglichen Architekturen unter Verwendung einer Nutzenfunktion basierend auf den Unsicherheiten der Architekturen aus der Menge an möglichen Architekturen zu bestimmen, auf.
-
Die erste Bestimmungseinheit und die zweite Bestimmungseinheit können dabei jeweils beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.
-
Gemäß den Ausführungsformen der 2 ist die erste Bestimmungseinheit 13 weiter ausgebildet, für jede Architektur aus der Menge an möglichen Architekturen die Unsicherheit der entsprechenden Architektur durch Anwenden eines Algorithmus des maschinellen Lernens, welcher trainiert ist, Architekturen mit ähnlicher Performanz zu identifizieren, zu bestimmen.
-
Gemäß den Ausführungsformen der 2 ist die erste Bestimmungseinheit 13 zudem ausgebildet, für jede Architektur aus der Menge an möglichen Architekturen die Unsicherheit der entsprechenden Architektur basierend auf einem Meta-Learning-Algorithmus zu bestimmen.
-
Wie 2 weiter zeigt, weist das Steuergerät zum Trainieren eines künstlichen neuronalen Netzes 12 ferner eine erste Bereitstellungseinheit 15, welche ausgebildet ist, Trainingsdaten bereitzustellen, eine zweite Bereitstellungseinheit 16, welche ausgebildet ist, eine optimale Architektur für das neuronale Netz bereitzustellen, wobei die optimale Architektur durch das Steuergerät zum Bestimmen einer optimalen Architektur 11 bestimmt wurde, und eine Trainingseinheit 17, welche ausgebildet ist, das neuronale Netz basierend auf den Trainingsdaten und der optimalen Architektur für das neuronale Netz zu trainieren, auf.
-
Bei der ersten Bereitstellungseinheit kann es sich dabei insbesondere um einen Empfänger handeln, welcher ausgebildet ist, Sensordaten zu empfangen. Bei der zweiten Bereitstellungseinheit kann es sich dabei auch um einen Empfänger handeln. Die Trainingseinheit kann ferner beispielsweise basierend auf einem in einem Speicher hinterlegten und durch einen Prozessor ausführbaren Code realisiert werden.
-
Bei den Trainingsdaten handelt es sich ferner wiederum um Sensordaten.
-
Zudem ist das Steuergerät zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes 11 ausgebildet, ein obenstehend beschriebenes Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes auszuführen und ist das Steuergerät zum Trainieren eines künstlichen neuronalen Netzes ausgebildet, ein obenstehend beschriebenes Verfahren zum Trainieren eines künstlichen neuronalen Netzes 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 Patentliteratur
-