-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft Lernsysteme und -verfahren, wie etwa Systeme und Verfahren für maschinelles Lernen, die eine modulare neuronale Netzwerkstruktur aufweisen.
-
ALLGEMEINER STAND DER TECHNIK
-
Deep-Learning-Systeme werden in einer ganzen Reihe von Anwendungen verwendet, die visuelle Wahrnehmung, wie etwa Objekterkennung, Spracherkennung und das Verstehen von Sprache einschließen. In einigen Situationen stützen sich die Deep-Learning-Systeme auf End-to-End-Lösungen, bei denen ein komplexes Netzwerk mit mehreren Schichten mehrere Verantwortlichkeiten übernimmt, um eine einzige Aufgabe durchzuführen. In einem bestimmten Beispiel empfängt ein End-to-End-Deep-Learning-System sensorische Informationen, wie etwa visuelle Daten, als eine Eingabe und generiert Befehle zum Lenken, zur Beschleunigung und Abbremsung auf Grundlage der visuellen Daten. Die Trainingsdaten in diesem Beispiel können Fahrrichtlinien beinhalten, die durch Expertenfahrer bereitgestellt werden.
-
In anderen Situationen verwenden die Deep-Learning-Systeme eine modulare Lösung, bei der jede Komponente des Netzwerkes für eine spezifische Aufgabe verantwortlich ist. In einem Beispiel des autonomen Fahrens unter Verwendung des modularen Ansatzes ist jede neuronale Netzwerkkomponente für eine spezifische Aufgabe verantwortlich, wie etwa die Fußgängererfassung, die Verkehrszeichenerfassung oder einen Lenkbefehl.
-
Diese zwei Ansätze (der End-to-End-Ansatz und der modulare Ansatz) weisen Vorteile und Nachteile auf. Beispielsweise ist bei dem modularen Ansatz eine Fehlersuche oftmals einfacher als bei dem End-to-End-Ansatz. Der End-to-End-Ansatz ist jedoch zur eigenständigen Verbesserung unter Verwendung von bestärkendem Lernen in der Lage.
-
KURZDARSTELLUNG
-
Ein System für maschinelles Lernen greift auf Daten zu, die einer bestimmten Aufgabe zugeordnet sind, und greift auf Daten zu, die einem Gesamtnetzwerk zugeordnet sind. Das System für maschinelles Lernen greift ferner auf Nutzendaten zu. Das System für maschinelles Lernen wird dann auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten betrieben.
-
Figurenliste
-
Nicht einschränkende und nicht erschöpfende Ausführungsformen der vorliegenden Offenbarung werden in Bezug auf die folgenden Figuren beschrieben, wobei sich in den verschiedenen Figuren gleiche Bezugszeichen auf gleiche Teile beziehen, sofern nicht anderweitig angegeben.
- 1 ist ein Blockdiagramm, das eine Ausführungsform eines Systems für maschinelles Lernen veranschaulicht.
- 2 veranschaulicht eine Ausführungsform eines modularen Netzwerkes mit drei Primärmodulen.
- 3A veranschaulicht eine Ausführungsform eines modularen Netzwerkes mit drei Primärmodulen und drei Hilfsmodulen.
- 3B veranschaulicht eine weitere Ausführungsform eines modularen Netzwerkes mit drei Primärmodulen und drei Hilfsmodulen.
- 4A veranschaulicht eine Ausführungsform eines Unsicherheitsverstärkungsnetzwerkes.
- 4B veranschaulicht eine weitere Ausführungsform eines Unsicherheitsverstärkungsnetzwerkes.
- 5 veranschaulicht eine Ausführungsform eines Verfahrens zum Betreiben eines Systems für maschinelles Lernen.
- 6 veranschaulicht ein beispielhaftes Blockdiagramm einer Rechenvorrichtung.
-
DETAILLIERTE BESCHREIBUNG
-
In der folgenden Offenbarung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen spezifische Umsetzungen, in denen die Offenbarung durchgeführt werden kann, zur Veranschaulichung dargestellt werden. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft beinhalten kann; jede Ausführungsform muss jedoch nicht notwendigerweise diese(s) bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich solche Formulierungen nicht notwendigerweise auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, es im Bereich des Fachwissens des Fachmanns liegt, diese(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen umzusetzen, ob dies nun ausdrücklich beschrieben ist oder nicht.
-
Umsetzungen der hierin offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie zum Beispiel einen oder mehrere Prozessoren und Systemspeicher, wie sie hierin erörtert sind. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können zudem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert sind, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Daher können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend zumindest zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien.
-
Zu Computerspeichermedien (-vorrichtungen) gehören RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (solid state drives - „SSDs“) (z. B. auf Grundlage von RAM), Flash-Speicher, Phasenänderungsspeicher (phase-change memory - „PCM“), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, um gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
-
Eine Umsetzung der hierin offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder verdrahtete, drahtlose oder eine Kombination aus verdrahteter oder drahtloser) Kommunikationsverbindung einem Computer bereitgestellt oder auf diesen übertragen werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die verwendet werden können, um gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus dem Vorangehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein.
-
Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung auf einem Prozessor einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen durchzuführen. Die computerausführbaren Anweisungen können zum Beispiel Binärdateien, Zwischenformatanweisungen, wie etwa Assemblersprache, oder auch Quellcode sein. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben ist, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht notwendigerweise auf die hierin beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen werden vielmehr als beispielhafte Formen der Umsetzung der Patentansprüche offenbart.
-
Der Fachmann wird verstehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen angewendet werden kann, einschließlich eines Armaturenbrett-Fahrzeugcomputers, PCs, Desktop-Computern, Laptops, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorsystemen, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbarer Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedenen Speichervorrichtungen und dergleichen. Die Offenbarung kann zudem in verteilten Systemumgebungen umgesetzt werden, in denen sowohl lokale Computersysteme als auch Remote-Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus verdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer Umgebung mit verteilten Systemen können sich Programmmodule sowohl in lokalen Speichervorrichtungen als auch in Remote-Speichervorrichtungen befinden.
-
Ferner können die hierin beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden ausgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Ein oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits - ASICs) können zum Beispiel programmiert sein, um eines/einen oder mehrere der hierin beschriebenen Systeme und Vorgänge ausführen. Bestimmte Begriffe werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Der Fachmann wird verstehen, dass auf Komponenten durch unterschiedliche Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch von der Funktion her.
-
Es ist anzumerken, dass die hierin erörterten Sensorausführungsformen Computerhardware, - Software, -firmware oder eine beliebige Kombination davon umfassen können, um zumindest einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann zum Beispiel Computercode beinhalten, der konfiguriert ist, um in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung beinhalten, die durch den Computercode gesteuert wird. Diese beispielhaften Vorrichtungen sind hierin zum Zwecke der Veranschaulichung bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist.
-
Zumindest einige Ausführungsformen der Offenbarung werden Computerprogrammprodukten zugeführt, die eine derartige Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software veranlasst bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen eine Vorrichtung dazu, wie hierin beschrieben betrieben zu werden.
-
Wie vorangehend angemerkt, weist sowohl der End-to-End- als auch der modulare Ansatz der Anwendung von Deep-Learning-Systemen (z. B. tiefen neuronalen Netzwerken) Vorteile und Nachteile auf. Beispielsweise sind bei einer modularen Netzwerkstruktur die Fehlersuche und Fehlerbehebung einfacher, da verschiedene Module isoliert getestet und ihre Leistung unabhängig voneinander überwacht werden kann. Wenn ein defektes Modul erfasst wird, können Verbesserungen in der modularen Netzwerkstruktur oder den Trainingsdaten dabei helfen, dem Problem entgegenzuwirken. Des Weiteren kann bei einem modularen Framework ein bestimmtes Modul verbessert werden, wenn für dieses bestimmte Modul spezifische neue Trainingsdaten verfügbar sind.
-
In einigen Ausführungsformen werden mehrere Trainingsdatensätze in der Machine Learning Community geteilt und wachsen stetig. Beispielsweise kann bei Verfügbarkeit zusätzlicher Trainingsdaten für die Fußgängererfassung das zugehörige Modul für eine zuverlässigere Leistung weiter trainiert und/oder feinabgestimmt werden. Ein weiterer Vorteil eines modularen Ansatzes besteht in der Flexibilität, herkömmliche Techniken zu berücksichtigen, die sich im Laufe der Jahre weiterentwickelt haben und sich in verschiedenen Anwendungen als effizient und zuverlässig erwiesen haben. Beispielsweise sollen eine Aufgabe des autonomen Fahrens und eine Teilaufgabe des Spurwechsels betrachtet werden. Auf Grundlage des bestehenden Wissensbestands bezüglich traditioneller Steuerung kann ein Spurwechsel in Form eines herkömmlichen Steuerproblems definiert sein, bei dem eine Fahrzeugdynamik eingeschlossen wird, wobei robuste Lösungen mit einer bekannten Sicherheit vorhanden sind. Für diesen Zweck wird die Ausgabe verschiedener Deep-Learning-Module, wie etwa der Objekterfassung oder der Geschwindigkeitsschätzung, in ein herkömmliches Spurwechselsteuerschema eingegeben. Diese Hybrid-Anwendung von neuartigen Schemata für maschinelles Lernen und herkömmlichen Steuerverfahren kann leistungsstarke Lösungen bereitstellen, die gleichzeitig die erforderliche Leistung und Widerstandsfähigkeit bereitstellen.
-
Üblicherweise profitiert ein End-to-End-Ansatz nicht von diesen Eigenschaften eines modularen Netzwerkes. Insbesondere ist es schwierig oder unmöglich, eine Fehlersuche oder Fehlerbehebung an einer End-to-End-Netzwerkstruktur vorzunehmen. In dem Falle einer Fehlfunktion ist es schwierig oder unmöglich, den verantwortlichen Abschnitt des Netzwerkes zu isolieren, und ist es nachfolgend schwierig, das Problem zu entschärfen. Des Weiteren tendieren End-to-End-Lösungen dazu, einzigartige Trainingsdaten aufzuweisen, die für die verfügbare Hardware spezifisch sind. Somit ist es schwierig für die Machine Learning Community, End-to-End-Trainingsdaten zwischen verschiedenen Hardware-Plattformen zu teilen. Dies ist eine entscheidende Einschränkung, da der Bedarf an großen Trainingsdatensätzen ein Zusammenwirken und Teilen von Daten in der Community erforderlich macht. Des Weiteren haben End-to-End-Strukturen üblicherweise nicht die Möglichkeit, von den herkömmlichen Mitteln zu profitieren, wie etwa von robuster und optimaler Steuerung. In vielen Ausführungsformen hält sich eine End-to-End-Architektur an eine Alles-oder-Nichts-Richtlinie, bei der entweder eine Komplettlösung bereitgestellt wird, die alle Aspekte eines gegebenen Problems von der Erfassung bis zu der Steuerung angeht, oder keine Lösung bereitgestellt wird.
-
Trotz der vorangehend erwähnten Einschränkungen eines End-to-End-Ansatzes profitiert dieser von einem wichtigen Vorteil gegenüber den modularen Schemata. Eine End-to-EndStruktur hat die Fähigkeit der eigenständigen Verbesserung durch bestärkendes Lernen. Beispielsweise soll eine Roboteraufgabe betrachtet werden, bei der die einzige Rückmeldung bezüglich jeden Schrittes an das System der objektive Wert ist (d. h. die Kosten). Ein End-to-End-Netzwerk kann solche Informationen nutzen und die Netzwerkparameter abstimmen, während das Netzwerk mit der Umgebung interagiert, um die Gesamtleistungskosten zu verringern (oder einen Nutzen zu erhöhen). Modularen Netzwerken fehlt jedoch üblicherweise diese Fähigkeit und diese können nicht von Schemata für bestärkendes Lernen profitieren und gleichzeitig ihren modularen Charakter beibehalten. Beispielsweise soll ein tiefes Netzwerk betrachtet werden, das zum Steuern eines Roboterarms verantwortlich ist und zwei in Reihe geschaltete Module aufweist. Das erste Modul ist ein Zustandsschätzungsmodul, das verfügbare visuelle Daten empfängt und eine Schätzung einer Position und Geschwindigkeit verschiedener Objekte generiert. Das zweite Modul gibt Befehle an verschiedene Roboterservos auf Grundlage der geschätzten Zustände aus, die durch das erste Modul bestimmt wurden. Durch Anwenden von bestärkendem Lernen auf ein solches Netzwerk werden alle entsprechenden Parameter, einschließlich denen von sowohl der Zustandsschätzung und als auch der Steuerbefehlsgenerierung, abgestimmt, um die Rentabilität zu maximieren oder die Kosten zu minimieren. Somit geht der modulare Aspekt der Netzwerkstruktur während des Trainings verloren. Hierzu kommt es, da eine Einschränkung des Steuernetzwerkes tatsächlich ein erneutes Abstimmen des Zustandsschätzungsmoduls erzwingen könnte und umgekehrt, wobei jedes Modul die Einschränkungen des anderen ausgleicht und nachfolgend die Modulgrenzen aufgelöst werden. Zu einer ähnlichen Situation kommt es, wenn die Trainingsdaten durch End-to-End-Eingabe-/Ausgabe-Paare gebildet werden.
-
Die in dieser Schrift beschriebenen Systeme und Verfahren unterstützen die Verwendung einer modularen Netzwerkstruktur, die sowohl von einer Verstärkung als auch von anderen Arten von Trainingsdaten profitiert, wie etwa denen eines Ansatzes des End-to-End-Trainings oder bestärkenden Lernens. Diese Systeme und Verfahren verwenden die verfügbaren Daten unabhängig von der Quelle der Trainingsinformationen effizient für eine beste Lernleistung. Wie hierin beschrieben, können Umsetzungen der Systeme und Verfahren von allen Vorteilen von modularen und End-to-End-Netzwerkstrukturen profitieren, während sie eine beliebige Quelle der Trainingsdaten verwenden, um die Leistung des Systems zu verbessern, in dem eine ausgewählte Anzahl an Aufgaben über ein Deep-Learning-Schema umgesetzt wird. Die beschriebenen Systeme und Verfahren stellen ein Framework bereit, das einen Erhalt der modularen Netzwerkstrukturen im Zusammenhang mit überwachtem oder bestärktem Lernen ermöglicht. Diese Systeme und Verfahren werden unabhängig von der Art der verfügbaren Trainingsdaten und unabhängig davon, ob es sich hierbei um ein modulares/aufgabenspezifisches oder End-to-End-System handelt, betrieben bzw. durchgeführt.
-
In einigen Ausführungsformen sind die beschriebenen Systeme und Verfahren autonomen Fahrzeugen oder Systemen für autonomes Fahren zugeordnet. In diesen Ausführungsform müssen verschiedene Module miteinander zusammenwirken, um die Aufgabe durchzuführen. Beispielsweise können einige Module die Erfassung von Objekten (Erfassung von Fußgängern, Fahrzeugen, Fahrrädern, Verkehrszeichen und dergleichen) übernehmen, während andere für eine Tiefenschätzung, Erfassung eines befahrbaren Raums, eine Lenksteuerung und dergleichen verantwortlich sind. Die in dieser Schrift beschriebenen Systeme und Verfahren ermöglichen es verschiedenen Modulen, ihre Leistung weiterhin zu verbessern, indem sie zum Beispiel das Verhalten eines Expertenfahrers oder einer großen Anzahl an Expertenfahrern über die Cloud überwachen. Die durch einen Expertenfahrer bereitgestellten Informationen sind in dem Sinne End-to-End, dass sie lediglich die Eingabe (z. B. visuelle Daten) und die Gesamtsystemausgabe, die durch den Experten bereitgestellt wird (z. B. einen Lenkbefehl), enthält und die Zwischenschritte außer Acht lässt, wie etwa eine Verkehrszeichenerfassung. In diesem Beispiel ermöglichen es die Systeme und Verfahren jedem Zwischenmodul für autonomes Fahren, die relevanten Informationen aus den bereitgestellten End-to-End-Trainingsdaten zu extrahieren, um seine Leistung zu verbessern.
-
In einem weiteren Beispiel soll ein Roboterarm betrachtet werden, der für die Montage bestimmter Komponenten verwendet wird. Ein solches System kann sich zur Erfassung von Orientierungspunkten, Zustandsschätzung, Servosteuerung und dergleichen auf verschiedene Module stützen. Diese Module können gestaltet sein und/oder anfangs trainiert werden und dann kann ein Robotermontagesystem während eines Normalbetriebs seine Leistung weiterhin verbessern, indem es die Zykluszeit kontinuierlich überwacht und nachfolgend verringert. In einigen Ausführungsformen ist die einzige verfügbare Informationsquelle zum weiteren Training der allgemeine Nutzen (Zykluszeit oder die äquivalenten Kosten in diesem Fall). In diesen Ausführungsformen ermöglichen es die Systeme und Verfahren verschiedenen Modulen, ihre vordefinierte Aufgabe beizubehalten und zu verbessern.
-
In einigen Ausführungsformen beinhalten die beschriebenen Systeme und Verfahren ein System für maschinelles Lernen, das eine modulare neuronale Netzwerkstruktur aufweist. Das System weist außerdem eine Fähigkeit zum End-to-End-Lernen und bestärkten Lernen auf. Das System beinhaltet mehrere Primärmodule, die in Reihe/parallel geschaltet sind. Jedes dieser Primärmodule ist konfiguriert, um eine spezifische Aufgabe durchzuführen, wie etwa Erfassen der Position von Fahrzeugen in benachbarten Spuren und Schätzen einer relativen Geschwindigkeit eines anderen Fahrzeugs. Das System beinhaltet außerdem ein Hilfsmodul, das mit jedem Primärmodul parallel geschaltet ist, um die Leistung der Primärmodule zu ergänzen. Beide Module werden unter Verwendung von drei Arten von Trainingsdaten trainiert: a) Eingabe-/Ausgabedaten, die einer spezifischen Aufgabe zugeordnet sind, b) Eingabe-/Ausgabedaten, die dem Gesamtnetzwerk zugeordnet sind (auch als die End-to-End-Trainingsdaten bekannt), und c) eine Nutzen-/Kosten-Rückmeldung an dem Netzwerk, die häufig als Teil eines Frameworks für bestärkendes Lernen genutzt wird.
-
In bestimmten Umsetzungen werden die Primärmodule auf Grundlage einer Datenart (a) trainiert und werden die Hilfsmodule auf Grundlage von Datenarten (b) und (c) trainiert. Das System kann einen Grad an Beteilung (z. B. eine Unsicherheit) jedes Moduls an dem Lernen von neuen Trainingsdaten berechnen, der proportional zu einer Konfidenz bezüglich der neuen Trainingsdaten ist. Das System quantifiziert die Konfidenz jedes Moduls und verwendet Unsicherheitsverstärkungsnetzwerke, um zu entscheiden, welches Modul seine Parameter neu einstellen muss, um den Gesamtfehler zu verringern, der durch das gesamte Netzwerk beobachtet wird. Das System ermöglicht einen Erhalt der Modularität des Netzwerks im Zusammenhang mit überwachtem oder bestärktem Lernen und unabhängig von der Art der verfügbaren Trainingsdaten, egal, ob diese modul-/aufgabenspezifisch sind oder es sich hierbei um End-to-End-Daten handelt.
-
1 ist ein Blockdiagramm, das eine Ausführungsform eines Systems 102 für maschinelles Lernen veranschaulicht. Wie in 1 gezeigt, beinhaltet das System 102 für maschinelles Lernen ein Kommunikationsmodul 104, einen Prozessor 106 und einen Speicher 108. Das Kommunikationsmodul 104 ermöglicht es dem System 102 für maschinelles Lernen, mit anderen Systemen und Vorrichtungen zu kommunizieren. Der Prozessor 106 führt verschiedene Anweisungen aus, um die Funktionalität umzusetzen, die von dem System 102 für maschinelles Lernen, wie hierin erörtert, bereitgestellt wird. Der Speicher 108 speichert diese Anweisungen sowie andere Daten, die von dem Prozessor 106 und anderen Modulen und Komponenten verwendet werden, die in dem System 102 für maschinelles Lernen enthalten sind.
-
Ein Trainingsmanager 110 koordiniert das Training von verschiedenen Modulen und Systemen, wie hierin erörtert. Ein Datenveraltungsmodul 112 übernimmt verschiedene Datenverwaltungsaufgaben, wie etwa Empfangen von Daten, Speichern von Daten und Kommunizieren von Daten an Module und Systeme. Das System 102 für maschinelles Lernen empfängt verschiedene Arten von Daten, greift auf diese zu und speichert diese, darunter Daten, die einer spezifischen Aufgabe 114 zugeordnet sind, Daten, die dem Gesamtnetzwerk 116 zugeordnet sind, und Nutzen-/Kosten-Daten 118. Das System 102 für maschinelles Lernen beinhaltet außerdem mehrere aufgabenspezifische Module 120, 122 und 124. Wenngleich drei aufgabenspezifische Module 120-124 in 1 gezeigt sind, können alternative Ausführungsformen des Systems 102 für maschinelles Lernen eine beliebige Anzahl an aufgabenspezifischen Modulen beinhalten.
-
2 veranschaulicht eine Ausführungsform eines modularen Netzwerkes 200 mit drei Primärmodulen, die als M1, M2 und M3 bezeichnet werden. Das modulare Netzwerk 200 weist zwei Primäreingabemodule M1 und M2 auf, die parallel betrieben werden, um die erforderlichen Eingaben eines nachgeschalteten Primärausgabemoduls M3 zu bilden. Die jedem Modul zugeordnete Aufgabe ist a priori bekannt und jedes wird unter Verwendung der verfügbaren Trainingsdaten für die interessierenden spezifischen Aufgaben dieser Module trainiert. In dem Beispiel aus 2 ist das modulare Netzwerk 200 dafür verantwortlich, ein automatisiertes System zu steuern, wie etwa ein autonomes Fahrzeug oder einen Roboterarm. Bei einer Robotermontageaufgabe empfängt M1 zum Beispiel visuelle Daten und extrahiert Positionsinformationen über eine Zielkomponente. M2 empfängt visuelle Daten und generiert eine Geschwindigkeitsschätzung von verschiedenen Objekten in der Umgebung. M3 empfängt Positions- und Geschwindigkeitsinformationen von M1 und M2 und generiert nachfolgend Befehle an die Servos des Roboterarms. In einem weiteren Beispiel erfasst M1 eine Position von Fahrzeugen in den Nachbarspuren und der Fahrbahnmarkierungen, während M2 eine relative Geschwindigkeit von anderen Fahrzeugen schätzt. M3 generiert Lenk- und Beschleunigungs-/Abbremsungsbefehle als Reaktion auf die durch M1 und M2 für den Spurwechsel bereitgestellten Geschwindigkeits-/Positionsinformationen.
-
In einigen Ausführungsformen sind drei mögliche Quellen von Netzwerktrainingsdaten vorhanden. Die erste Quelle der Netzwerktrainingsdaten beinhaltet Daten, die beispielhafte Eingabe-/Ausgabe-Paare für M1 oder M2 enthalten. In dem Fall, in dem M1 für das Erfassen der Position von anderen Fahrzeugen verantwortlich ist, können die Trainingsdaten Paare von einem aufgenommenen Bild und der Ground-Truth-Position der Fahrzeuge in dem aufgenommenen Bild beinhalten. In dem Fall, in dem M2 für das Schätzen der Geschwindigkeit von Fahrzeugen in der Nähe verantwortlich ist, können die Trainingsdaten Bilddaten enthalten, die mit der Ground-Truth-Geschwindigkeit der Fahrzeuge in den Bildern gekoppelt sind.
-
Eine zweite Quelle der Netzwerktrainingsdaten beinhaltet Daten, die beispielhafte Eingabe-/Ausgabe-Paare für das gesamte Netzwerk enthalten. In dem vorangehend erwähnten Beispiel des autonomen Fahrens können die Eingabedaten Bilder beinhalten und enthält die Ausgabe die erwünschten Befehle zur Lenk- und Beschleunigungs-/Abbremsungssteuerung (die z. B. durch einen Expertenfahrer bereitgestellt werden).
-
Eine dritte Quelle der Netzwerktrainingsdaten beinhaltet Daten, die Nutzen- oder Kosteninformationen enthalten, wobei die Leistung des Netzwerkes bei jedem Schritt durch Zuweisen von Kosten oder eines Wertes zu verschiedenen Zuständen und eines Nutzens zu jeder Handlung quantifiziert wird. Solche Informationen können als Teil eines Frameworks für bestärkendes Lernen zum Netzwerktraining genutzt werden.
-
In einigen Ausführungsformen ermöglichen die beschriebenen Systeme und Verfahren eine Anwendung von allen drei der vorangehend erwähnten verfügbaren Trainingsdatenquellen, während die Modularität des Netzwerks beibehalten wird, bei dem jedes Modul einer spezifischen Aufgabe entspricht. Die Systeme und Verfahren ermöglichen es jedem Modul, die Informationen, die für seine spezifische Aufgabe (die durch einen Vortrainingsschritt zugewiesen wird) relevant sind, aus den gegebenen Trainingsdaten der vorangehend erörterten Arten zu extrahieren.
-
Die erste Quelle der Netzwerktrainingsdaten behandelt jedes Modul unabhängig und verstärkt somit selbstverständlich die Modularität des Netzwerkes. Die zweite und dritte Quelle der Netzwerktrainingsdaten tendieren jedoch aufgrund deren End-to-End-Charakter dazu, Modulgrenzen aufzulösen. Die Hauptfrage bezüglich der Verfügbarkeit solcher Quellen ist die, wie die Parameter jedes Moduls derart eingestellt werden können, dass jedes Modul sich weiterhin bezüglich seiner zugewiesenen Aufgabe verbessert.
-
In einem bestimmten Beispiel soll ein beschränkender Fall angenommen werden, bei dem M1 in der beispielhaften Struktur aus 2 bereits das globale Optimum erreicht hat, was bedeutet, dass die Parameter von M1 nicht weiter abgestimmt werden müssen. Auf Grundlage der neuen Trainingsdaten der Arten von der zweiten und dritten Quelle sollten die Parameter von M1 idealerweise unverändert gelassen werden und lediglich die beobachteten Fehler durch M2 und M3 zurück propagiert werden. Anders ausgedrückt wird eine Rückpropagierung lediglich durch solche Module angewendet, die ein zusätzliches Training benötigen und werden hierbei die anderen (bereits trainierten) Module unverändert gelassen.
-
In den beschriebenen Systemen und Verfahren kann die vorangehende Sichtweise über das vorangehende binäre Beispiel hinaus (bei dem jedes Modul entweder an dem Lernen beteiligt ist oder die neuen Trainingsdaten außer Acht lässt) auf einen Fall generalisiert werden, bei dem der Grad an Beteiligung für jedes Modul an dem Lernen von neuen Trainingsdaten proportional zu seiner Konfidenz in Bezug auf die neuen Trainingsdaten ist. Beispielsweise quantifiziert jedes Modul auf Grundlage eines neuen Satzes von Trainingsdaten seine eigene Konfidenz in das Generieren von zuverlässigen Ausgaben auf Grundlage der Eingaben der Trainingsdaten. Bei Quantifizierung der Konfidenz der Module entscheiden ein oder mehrere Unsicherheitsverstärkungsnetzwerke über das Ausmaß, mit dem jedes Modul seine Parameter neu einstellt, um den Gesamtfehler zu verringern, der durch das gesamte Netzwerk beobachtet wird.
-
Wenngleich die in dieser Schrift beschriebenen Systeme und Verfahren in Bezug auf eine beispielhafte Netzwerkstruktur beschrieben sind, können diese Systeme und Verfahren auf eine beliebige Art von Netzwerkstruktur angewendet werden. 2 stellt eine beispielhafte Netzwerkstruktur dar. In weiteren Ausführungsformen kann eine beliebige Variation umgesetzt werden. Beispielsweise kann die Ausführungsform aus 2 mehr als zwei aufeinanderfolgende Schritte aufweisen. 2 zeigt M1 und M2, die bei demselben Schritt parallel betrieben werden, wobei M3 nachgeschaltet auf einer zweiten Stufe durchgeführt wird. Die alternative Ausführungsform kann mehrere Schritte aufweisen, wobei jeder Schritt mehrere unabhängige Module aufweist (anstelle von M1 und M2 kann die Ausführungsform M1... Mn aufweisen).
-
3A und 3B veranschaulichen Ausführungsformen von modularen Netzwerken 300 und 310 mit drei Primärmodulen (oder -knoten) und drei Hilfsmodulen (oder -knoten). Die modularen Netzwerke 300 und 310 veranschaulichen die Konzepte, die in den beschriebenen Systemen und Verfahren in dem gesamten Strukturbeispiel aus 2 verwendet werden. Die Beispiele aus 3A und 3B verdeutlichen die in dieser Schrift beschriebenen Verfahren und Konzepte. Alternative Ausführungsformen können andere Netzwerkstrukturen verwenden.
-
Wie in 3A und 3B gezeigt, wird jedes der Primärmodule M1 bis M3 durch parallele Hilfsmodule A1, A2, und A3 ergänzt. In dieser Struktur werden die Parameter von jedem der Primärmodule M1 bis M3 lediglich auf Grundlage der ersten Quelle der Netzwerktrainingsdaten abgestimmt/erneut abgestimmt. Die Hilfsmodule A1 bis A3 nutzen jedoch Trainingsdaten der zweiten und dritten Quelle der Netzwerktrainingsdaten zum Erlernen und Ergänzen des Betriebsverhaltens der Primärmodule M1, M2, und M3 bezüglich jeglichen Verhaltens, das durch diese Module nicht an aufgenommen wird. Die Ausgabe von sowohl den Primär- als auch den Hilfsmodulen wird durch Unsicherheitsverstärkungen cn und gn skaliert.
-
Einige Ausführungsform beinhalten ferner ein Unsicherheitsverstärkungsnetzwerk (uncertainty gain network - UGN) 400, das in 4A gezeigt ist, oder ein Unsicherheitsverstärkungsnetzwerk 410, das in 4B gezeigt ist. Das UGN-Netzwerk 400 empfängt a) die Unsicherheit, die jedem Primärnetzwerkmodul zugeordnet ist, und b) die Netzwerkeingabe x und generiert Verstärkungen g1 bis g3, die auf die Ausgabe der Hilfsmodule A1, A2 und A3 angewendet werden, wie in 3A und 3B gezeigt. Auf ähnliche Weise empfängt das UGN-Netzwerk 410 a) die Unsicherheit, die jedem Primärnetzwerkmodul zugeordnet ist, und b) die Netzwerkeingabe x und generiert Verstärkungen g1 bis g3, die auf die Ausgabe der Hilfsmodule A1, A2 und A3 angewendet werden, und Verstärkungen c1 bis c3, die auf die Ausgabe der Primärmodule M1, M2 und M3 angewendet werden, wie in 3B gezeigt. In einigen Ausführungsformen lernt das UGN-Netzwerk 400 die Gewichtung, die jedem Hilfsmodul A1, A2 und A3 beim Ergänzen der Primärmodule M1, M2 und M3 gegeben wird. Auf ähnliche Weise lernt das UGN-Netzwerk 410 die Gewichtung, die jedem Hilfsmodul A1, A2 und A3 gegeben wird, sowie die Verstärkungen, die auf die Primärmodule M1, M2 und M3 angewendet werden, um eine effektive Mischung deren entsprechender Ausgaben zu generieren. Während einer Interferenz, wenn für die Ausführungsform aus 3A die durch ein Hilfsmodul bereitgestellte Korrektur erforderlich ist, ist die entsprechende Unsicherheitsverstärkung gi (i=1,..,3) idealerweise nahe 1, um die durch die Hilfseinheit bereitgestellte Unterstützung vollständig zu nutzen. Wenn ein Primärmodul jedoch eine vollständige Konfidenz aufweist, das Verhalten durch die verfügbaren neuen Trainingsdaten aufzunehmen (d. h., wenn die neuen Trainingsdaten keine neuen Informationen bereitstellen, die durch das Modul noch nicht gesehen wurden), wird die Unsicherheitsverstärkung idealerweise auf 0 verringert, um jegliche Korrekturen zurückzusetzen, die durch das entsprechende Hilfsmodul generiert wurden.
-
In einer allgemeineren Ausführungsform aus 3B, wenn die durch ein Hilfsmodul bereitgestellte Korrektur erforderlich ist, ist die entsprechende Unsicherheitsverstärkung gi (i=1,..,3) idealerweise nahe 1, um die durch die Hilfseinheit bereitgestellte Unterstützung vollständig zu nutzen, und wird gleichzeitig die Verstärkung ci (i = 1, ...,3) näher an 0 verringert, um die unzuverlässige Ausgabe des entsprechenden Primärmoduls zu unterdrücken. In größeren Netzwerken kann ein komplexes Zusammenspiel zwischen den Unsicherheiten von verschiedenen Modulen und den Eingabedaten bestehen. Die UGN-Netzwerke 400 und 410 zielen darauf ab, dieses Verhalten nachzuverfolgen und die Unsicherheitsverstärkungen ci und gi (i=1,..,N) zu generieren. Ein ähnlicher Ansatz kann während des Trainings angewendet werden, bei dem die Unsicherheitsverstärkung als Teil der Rückpropagierung der Parameter von jedem Hilfsmodul verwendet wird. Eine Unsicherheitsverstärkung von 0 lässt die entsprechenden Parameter unverändert und durch eine Unsicherheitsverstärkung von 1 wird eine vollständige Rückpropagierung für die Parametereinstellung der Hilfsmodule vorgenommen. Während des Trainings kann die Rückpropagierung angewendet werden, um die Parameter von sowohl den Hilfsmodulen als auch denen der UGN-Netzwerke 400/410 abzustimmen. Wie vorangehend erörtert, lassen die Systeme und Verfahren die Parameter der Primärmodule Mi für die zweite und dritte Quelle der Netzwerkdaten unverändert. Die erste Quelle der Netzwerkdaten kann direkt verwendet werden, um das entsprechende Primärmodul in Isolation weiter zu trainieren.
-
In einigen Fällen wird ein Ansatz angewendet, um die Unsicherheit zu quantifizieren, die jedem Primärmodul Mi zugeordnet ist. In diesen Situationen bilden die Systeme und Verfahren jedes Primärmodul als ein Bayes'sches Netzwerk ab. Dies wird sowohl in der Trainings- als auch der Interferenzstufe wiedergegeben. In einer Ausführungsform der Erfindung veranlasst die Bayes'sche Annahme die Systeme und Verfahren dazu, eine Dropout-Technik während des Trainings anzuwenden. Dropout ist ein Ansatz, durch den die Parameter eines Netzwerks zufällig auf null gesetzt werden. Dies unterstützt die Generalisierungsfähigkeit des Netzwerkes. Derselbe Ansatz wird während einer Interferenz angewendet, bei der die Netzwerkparameter zufällig auf null gesetzt werden. Somit kann die Netzwerkausgabe während der Interferenz an einer gegebenen festen Eingabe abhängig davon, welche Parameter zufällig auf null gesetzt werden, von einer Iteration zu der nächsten variieren. In einigen Ausführungsformen wiederholen die Systeme und Verfahren die Interferenz an einer gegebenen Eingabe mehrmals und rufen mehrere Ausgaben an einer gegebenen Eingabe ab. In einigen Umsetzungen wird der Mittelwert als die Netzwerkausgabe verwendet und wird die Varianz als ein Messwert für die Netzwerkunsicherheit verwendet.
-
Um den Unsicherheitsmesswert in Bezug auf eine bekannte Varianz zu normalisieren, dividieren die Systeme und Verfahren die berechnete Varianz der Netzwerkausgabe durch die Ausgabevarianz der Trainingsdaten, die dem untersuchten Primärmodul zugeordnet ist. Dies ist in Gleichung 1 unten gezeigt.
wobei γ
i die Ausgabevarianz des Bayes'sehen Netzwerkes M
i ist und β die Varianz der Trainingsdatenausgabe ist, die verwendet wird, um das entsprechende Primärmodul M
i zu trainieren. Wie in
3A und
3B gezeigt, generiert jedes Primärmodul a) eine Ausgabe für die nachfolgenden Module und b) einen Unsicherheitswert u
i. In einem allgemeinen Fall mit N Modulen werden die berechnete u
i zusammen mit x, der Eingabe an dem Netzwerk, in das UGN-Netzwerk
400/410 eingegeben, wie in
4A und
4B gezeigt. In einer weiteren Ausführungsform kann jedes Primärmodul ein unabhängiges IGN-Netzwerk
400/410 mit seinen getrennten Eingaben u
i und x
i nutzen, wobei x
i die Eingabe an dem entsprechenden Primärmodul ist. In weiteren Ausführungsformen sind verschiedene Variationen der Anordnung und Eingabezuweisung der UGN-Netzwerke
400 oder
410 innerhalb einer gegebenen Netzwerkstruktur möglich.
-
5 veranschaulicht eine Ausführungsform eines Verfahrens 500 zum Betreiben eines Systems für maschinelles Lernen. Anfangs greift 502 ein System für maschinelles Lernen (wie etwa das in 1 gezeigte System 102 für maschinelles Lernen) auf Daten zu, die einer spezifischen Aufgabe zugeordnet sind. Diese Daten können in dem System für maschinelles Lernen oder einem anderen System, auf welches das System für maschinelles Lernen zugreifen kann, gespeichert werden. Das Verfahren 500 wird fortgesetzt, wobei das System für maschinelles Lernen auf Daten zugreift 504, die dem Gesamtnetzwerk zugeordnet sind, und auf Nutzen- und Kostendaten zugreift 506. Das System für maschinelles Lernen identifiziert 508 dann zumindest ein Modul, das konfiguriert ist, um eine spezifische Aufgabe durchzuführen. Des Weiteren identifiziert 510 das System für maschinelles Lernen zumindest ein Primärmodul und zumindest ein Hilfsmodul. In einigen Ausführungsformen identifiziert das System für maschinelles Lernen mehrere Primärmodule und mehrere Hilfsmodule. Das Primärmodul wird derart mit zumindest einem Hilfsmodul gekoppelt 512, dass das Primärmodul und das Hilfsmodul unter Verwendung der Daten, die dem Gesamtnetzwerk zugeordnet sind, betrieben 514 werden. In einigen Ausführungsformen werden das Primärmodul und das Hilfsmodul unter Verwendung der Daten, die den Nutzen- und Kostendaten zugeordnet sind, betrieben 516. Das System für maschinelles Lernen berechnet 518 ferner eine Unsicherheit, die jedem Primärmodul zugeordnet ist. In bestimmten Umsetzungen können das Primärmodul und das Hilfsmodul unter Verwendung von mehreren Arten von Daten betrieben werden, wie etwa der Daten, die einer spezifischen Aufgabe zugeordnet sind, der Daten, die dem Gesamtnetzwerk zugeordnet sind, der Nutzen- und Kostendaten und anderer Datenarten.
-
Somit ermöglichen Ausführungsform der in dieser Schrift beschriebenen Systeme und Verfahren die Verwendung von End-to-End-Daten (oder einer beliebigen anderen Art von Daten), während die Modularität des Systems beibehalten wird. In bestimmten Umsetzungen berechnen die Systeme und Verfahren einen Unsicherheitswert, der jedem Modul zugeordnet ist und der proportional zu der Konfidenz jedes Moduls bezüglich neuen Trainingsdaten ist. Der Unsicherheitswert wird als eine Eingabe verwendet, um Modulparameter neu einzustellen, um einen Gesamtfehler zu verringern, der durch das Netzwerk beobachtet wird.
-
Bestimmte Ausführungsformen der beschriebenen Systeme und Verfahren können eine/n oder mehrere verschiedene Aufgaben oder Vorgänge durchführen, wie etwa Steueraufgaben, die einem autonomen Fahrzeug, einem Robotersystem und dergleichen zugeordnet sind.
-
6 veranschaulicht ein beispielhaftes Blockdiagramm einer Rechenvorrichtung 600. Die Rechenvorrichtung 600 kann verwendet werden, um verschiedene Vorgänge durchzuführen, wie etwa die hierin erörterten. Beispielsweise kann die Rechenvorrichtung 600 beliebige der Funktionen oder Verfahren des Systems 102 für maschinelles Lernen und/oder einer beliebigen anderen Recheneinheit durchführen. Die Rechenvorrichtung 600 kann verschiedene Funktionen durchführen, wie hierin erörtert, und ein oder mehrere Anwendungsprogramme ausführen, wie etwa die hierin beschriebenen Anwendungsprogramme oder Funktionalitäten. Die Rechenvorrichtung 600 kann eine beliebige aus einer großen Vielfalt von Rechenvorrichtungen sein, wie etwa ein Desktop-Computer, ein Armaturenbrett-Computer, ein Fahrzeugsteuersystem, ein Notebook-Computer, ein Server-Computer, ein Handheld-Computer, ein Tablet-Computer, eine tragbare Vorrichtung und dergleichen.
-
Die Rechenvorrichtung 600 beinhaltet einen oder mehrere Prozessor(en) 602, eine oder mehrere Speichervorrichtung(en) 604, eine oder mehrere Schnittstelle(n) 606, eine oder mehrere Massenspeichervorrichtung(en) 608, eine oder mehrere Ein-/Ausgabe-(E/A-)Vorrichtung(en) 610 und eine Anzeigevorrichtung 630, die alle an einen Bus 612 gekoppelt sind. Der/die Prozessor(en) 602 beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, die in der/den Speichervorrichtung(en) 604 und/oder Massenspeichervorrichtung(en) 608 gespeicherte Anweisungen ausführen. Der/die Prozessor(en) 602 können zudem verschiedene Arten von computerlesbaren Medien beinhalten, wie etwa Cache-Speicher.
-
Die Speichervorrichtung(en) 604 beinhalten verschiedene computerlesbare Medien, wie etwa flüchtigen Speicher (z. B. Direktzugriffsspeicher (random access memory - RAM) 614) und/oder nichtflüchtigen Speicher (z. B. Festwertspeicher (read-only memory - ROM) 616). Die Speichervorrichtung(en) 604 können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
-
Die Massenspeichervorrichtung(en) 608 beinhalten verschiedene computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 6 gezeigt, ist eine besondere Massenspeichervorrichtung ein Festplattenlaufwerk 624. Zudem können verschiedene Laufwerke in der/den Massenspeichervorrichtung(en) 608 enthalten sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 608 beinhalten Wechselmedien 626 und/oder Nicht-Wechselmedien.
-
Die E/A-Vorrichtung(en) 610 beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 600 eingegeben oder daraus abgerufen werden. (Eine) Beispielhafte E/A-Vorrichtung(en) 610 schließt/schließen Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzschnittstellenkarten, Modems und dergleichen ein.
-
Die Anzeigevorrichtung 630 schließt eine beliebige Art von Vorrichtung ein, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 600 Informationen anzuzeigen. Zu Beispielen für die Anzeigevorrichtung 630 gehören ein Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
-
Die Schnittstelle(n) 606 schließt/schließen verschiedene Schnittstellen ein, die es der Rechenvorrichtung 600 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. (Eine) Beispielhafte Schnittstelle(n) 606 kann/können eine beliebige Anzahl an unterschiedlichen Netzwerkschnittstellen 620, wie beispielsweise Schnittstellen zu lokalen Netzen (local area networks - LANs), Weitverkehrsnetzen (wide area networks - WANs), drahtlosen Netzen und dem Internet, einschließen. Zu (einer) andere(n) Schnittstelle(n) gehören eine Benutzerschnittstelle 618 und eine Peripherievorrichtungsschnittstelle 622. Die Schnittstelle(n) 606 kann/können zudem ein oder mehrere Benutzerschnittstellenelemente 618 beinhalten. Zu der/den Schnittstelle(n) 606 können zudem eine oder mehrere Peripherieschnittstellen gehören, wie etwa Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Trackpad oder eine beliebige geeignete Benutzerschnittstelle, die dem Durchschnittsfachmann derzeit bekannt ist oder später entdeckt wird), Tastaturen und dergleichen.
-
Der Bus 612 ermöglicht es dem/den Prozessor(en) 602, der/den Speichervorrichtung(en) 604, der/den Schnittstelle(n) 606, der/den Massenspeichervorrichtung(en) 608 und der/den E/A-Vorrichtung(en) 610 miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 612 gekoppelt sind, zu kommunizieren. Der Bus 612 stellt eine oder mehrere von verschiedenen Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-Bus, USB-Bus und so weiter.
-
Zum Zwecke der Veranschaulichung sind Programme und andere ausführbare Programmkomponenten hierin als diskrete Blöcke gezeigt, auch wenn es sich versteht, dass sich derartige Programme und Komponenten zu verschiedenen Zeitpunkten in unterschiedlichen Speicherkomponenten der Rechenvorrichtung 600 befinden können, und werden durch den/die Prozessor(en) 602 ausgeführt. Alternativ können die in dieser Schrift beschriebenen Systeme und Vorgänge in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware umgesetzt sein. Ein oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits - ASICs) können zum Beispiel programmiert sein, um eines/einen oder mehrere der hierin beschriebenen Systeme und Vorgänge ausführen.
-
Während hierin verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben werden, versteht es sich, dass diese lediglich als Beispiele und nicht als Einschränkung dienen. Für den einschlägigen Fachmann ist ersichtlich, dass verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Daher sollen die Breite und der Umfang der vorliegenden Offenbarung nicht durch eines der beschriebenen Ausführungsbeispiele eingeschränkt werden, sondern sollen lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die Beschreibung wird hierin zum Zwecke der Veranschaulichung und Beschreibung dargelegt. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der offenbarten Lehren möglich. Ferner ist anzumerken, dass eine beliebige oder alle der hierin erörterten alternativen Umsetzungen in einer beliebigen gewünschten Kombination genutzt werden können, um zusätzliche Hybridumsetzungen der Offenbarung auszubilden.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Zugreifen auf Daten, die einer bestimmten Aufgabe zugeordnet sind, durch ein System für maschinelles Lernen; Zugreifen auf Daten, die einem Gesamtnetzwerk zugeordnet sind, durch das System für maschinelles Lernen; Zugreifen auf Nutzendaten durch das System für maschinelles Lernen; und wobei das System für maschinelles Lernen auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten betrieben wird.
-
Gemäß einer Ausführungsform ist die vorangehende Erfindung ferner durch Zugreifen auf Kostendaten gekennzeichnet.
-
Gemäß einer Ausführungsform wird das System für maschinelles Lernen ferner auf Grundlage der Kostendaten betrieben.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten Durchführen der bestimmten Aufgabe.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten Durchführen einer Vielzahl von verschiedenen Aufgabe.
-
Gemäß einer Ausführungsform beinhaltet das Betreiben auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten Durchführen eines Steuervorgangs.
-
Gemäß einer Ausführungsform ist der Steuervorgang ein Vorgang, der einem autonomen Fahrzeug zugeordnet ist.
-
Gemäß einer Ausführungsform ist der Steuervorgang ein Vorgang, der einem Robotersystem zugeordnet ist, das konfiguriert ist, um Gegenstände zu montieren oder zu transportieren.
-
Gemäß einer Ausführungsform ist die vorangehende Erfindung ferner durch Zugreifen auf Daten gekennzeichnet, die einer Vielzahl von verschiedenen Aufgaben zugeordnet sind.
-
Gemäß einer Ausführungsform betreibt das System für maschinelles Lernen ferner eine Vielzahl von Modulen, wobei jedes der Vielzahl von Modulen einer der Vielzahl von verschiedenen Aufgaben zugeordnet ist.
-
Gemäß einer Ausführungsform betreibt das System für maschinelles Lernen ferner die Vielzahl von Modulen parallel.
-
Gemäß einer Ausführungsform ist die vorangehende Erfindung ferner durch Bestimmen einer Unsicherheit gekennzeichnet, die der bestimmten Aufgabe zugeordnet ist.
-
Gemäß der vorliegenden Erfindung beinhaltet ein System für maschinelles Lernen einen Prozessor; und eine Speichervorrichtung, die an den Prozessor gekoppelt ist, wobei die Speichervorrichtung konfiguriert ist, um Anweisungen zur Ausführung auf dem Prozessor zu speichern, wobei die Anweisungen den Prozessor zu Folgendem veranlassen: Zugreifen auf Daten, die einer bestimmten Aufgabe zugeordnet sind; Zugreifen auf Daten, die einem Gesamtnetzwerk zugeordnet sind; Zugreifen auf Nutzendaten; und auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetz zugeordnet sind, und der Nutzendaten betrieben zu werden, um die bestimmte Aufgabe durchzuführen.
-
Gemäß einer Ausführungsform veranlassen die Anweisungen den Prozessor ferner dazu, auf Kostendaten zuzugreifen und auf Grundlage der Kostendaten betrieben zu werden, um die bestimmte Aufgabe durchzuführen.
-
Gemäß einer Ausführungsform ist die Erfindung ferner durch Betreiben auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten gekennzeichnet, was Durchführen einer Vielzahl von verschiedenen Aufgaben beinhaltet.
-
Gemäß einer Ausführungsform ist die vorangehende Erfindung ferner durch Betreiben auf Grundlage der Daten, die einer bestimmten Aufgabe zugeordnet sind, der Daten, die einem Gesamtnetzwerk zugeordnet sind, und der Nutzendaten gekennzeichnet, was Durchführen eines Steuervorgangs beinhaltet.
-
Gemäß einer Ausführungsform ist der Steuervorgang ein Vorgang, der einem autonomen Fahrzeug zugeordnet ist.
-
Gemäß einer Ausführungsform ist der Steuervorgang ein Vorgang, der einem Robotersystem zugeordnet ist, das konfiguriert ist, um Gegenstände zu montieren oder zu transportieren.
-
Gemäß einer Ausführungsform veranlassen die Anweisungen den Prozessor ferner dazu, auf Daten zuzugreifen, die einer Vielzahl von verschiedenen Aufgaben zugeordnet sind.
-
Gemäß einer Ausführungsform veranlassen die Anweisungen den Prozessor ferner dazu, eine Unsicherheit zu bestimmen, die der bestimmten Aufgabe zugeordnet ist.