-
HINTERGRUND
-
Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet des maschinellen Lernens und im Besonderen auf neuronale Informationsverarbeitungssysteme.
-
Bei maschinellem Lernen handelt es sich um ein Teilgebiet der erweiterten Intelligenz (augmented intelligence), das sich mit der Untersuchung von Computeralgorithmen befasst, die sich mit Hilfe von Erfahrung automatisch verbessern. Die beim maschinellen Lernen verwendeten Computeralgorithmen erstellen ein mathematisches Modell auf der Grundlage von Beispieldaten, den sogenannten „Trainingsdaten“, um Vorhersagen und/oder Entscheidungen zu treffen, ohne dass sie ausdrücklich dafür programmiert werden.
-
Bei der neuronalen Architektursuche (neural architecture search, NAS) handelt es sich um einen Algorithmus, der entwickelt wurde, um eine neuronale Netzwerkarchitektur für bestimmte Anwendungen zusammenzustellen, darunter: (i) Bild- und Videoerkennung, (ii) Empfehlungssysteme, (iii) Bildklassifizierung, (iv) Analyse medizinischer Bilder, (v) Verarbeitung natürlicher Sprache und/oder (vi) Finanzzeitreihen. In der Regel beginnt ein NAS-Algorithmus mit einem Definieren eines Satzes von „Bausteinen“, die daraufhin von einem steuernden rekurrenten neuronalen Netzwerk (recurrent neural network, RNN) erfasst und zu einer angepassten neuronalen Architektur zusammengestellt werden. Die angepasste Architektur wird bis zur Konvergenz trainiert, um eine bestimmte Genauigkeit auf einem Trainings-Validierungsdatensatz zu erreichen. Nach der Ausführung wird das RNN mit den daraus resultierenden Genauigkeiten aktualisiert, so dass das RNN diese beim Erzeugen einer weiteren angepassten neuronalen Architektur verwenden kann.
-
Unter automatisiertem maschinellem Lernen versteht man den Prozess zur Automatisierung des Prozesses der Anwendung von maschinellem Lernen auf reale Aufgabenstellungen. Der Prozess berücksichtigt maschinelles Lernen vom Rohdatensatz bis zum einsatzfähigen maschinellen Lernmodell. Ein hoher Automatisierungsgrad, der Entwicklern zur Verfügung steht, ermöglicht es Laien, maschinelle Lernmodelle und -techniken zu nutzen. Zu kommerziellen Beispielen für automatisiertes maschinelles Lernen gehören AutoML und AutoKeras. (Hinweis: Die Begriffe „AUTOML“ und „AUTOKERAS“ können weltweit in verschiedenen Gerichtsbarkeiten Markenrechten unterliegen und werden hier nur unter Bezugnahme auf die ordnungsgemäß mit den Marken bezeichneten Produkte oder Dienstleistungen verwendet, soweit solche Markenrechte bestehen.)
-
Gemäß der Wahrscheinlichkeitstheorie und der Statistik handelt es sich bei einem Gauß-Prozess um eine Sammlung von Zufallsvariablen, die durch Zeit oder Raum indiziert sind. Jede endliche Sammlung von Zufallsvariablen weist eine multivariate Normalverteilung auf. Dabei wird davon ausgegangen, dass bei jeder endlichen linearen Kombination der Variablen eine Normalverteilung vorliegt. Bei der Verteilung eines Gauß-Prozesses handelt es sich um die gemeinsame Verteilung aller Zufallsvariablen. Im Wesentlichen handelt es sich dabei um eine Verteilung über Funktionen mit einem kontinuierlichen Bereich wie beispielsweise Zeit und Raum.
-
Ein Algorithmus für maschinelles Lernen, der einen Gauß-Prozess verwendet, nutzt in der Regel Lazy Learning (träges Lernen) zusammen mit einem Maß für die Ähnlichkeit zwischen Punkten, um den Wert für einen ungesehenen Punkt aus den Trainingsdaten vorherzusagen. Bei der Vorhersage handelt es sich nicht nur um eine Schätzung für den ungesehenen Punkt, sondern sie weist auch Unsicherheitsinformationen auf, so dass es sich um eine eindimensionale Gauß-Verteilung handelt. Für Vorhersagen mit mehreren Ausgaben werden multivariate Gauß-Prozesse verwendet, bei denen es sich bei der multivariaten Gauß-Verteilung um die Randverteilung an jedem Punkt handelt.
-
Gauß-Prozesse werden auch in der statistischen Modellierung verwendet, die von Eigenschaften profitiert, die von der Normalverteilung übernommen wurden. Wenn ein zufälliger Prozess als Gauß-Prozess modelliert wird, können die Verteilungen verschiedener abgeleiteter Größen explizit ermittelt werden. Zu den erhaltenen Größen können gehören: (i) der Durchschnittswert des Prozesses über eine Reihe von Zeitpunkten; und (ii) der Fehler beim Schätzen des Durchschnittes unter Verwendung von Stichprobenwerten bei einem kleinen Satz von Zeitpunkten. Es wurden Näherungsverfahren entwickelt, die eine gute Genauigkeit erreichen und gleichzeitig die Berechnungszeit drastisch reduzieren.
-
Bei einer Pareto-Effizienz handelt es sich um eine Situation, in der kein Präferenzkriterium besser gestellt werden kann, ohne dass mindestens ein Präferenzkriterium schlechter gestellt wird. Für ein bestimmtes System stellt die Pareto-Grenze (auch als Pareto-Satz oder Pareto-Front bezeichnet) den Satz von Parametrisierungen oder Zuordnungen dar, bei denen allen ein Pareto-effizienter Zustand vorliegt. Da die Pareto-Front alle potenziell optimalen Lösungen enthält, kann ein Entwickler innerhalb des begrenzten Satzes von Parametern, der durch die Pareto-Front dargestellt wird, gezielte Kompromisse eingehen, anstatt die komplette Bandbreite der Parameter zu berücksichtigen.
-
KURZDARSTELLUNG
-
In einem Aspekt der vorliegenden Erfindung weist ein Verfahren, ein Computerprogrammprodukt und ein System auf: (i) Ermitteln eines Zieles auf höherer Ebene und eines Satzes von Zielen auf niedrigerer Ebene für eine optimierte Lösung unter Verwendung eines CNN-Modells (convolutional neural network, faltendes neuronales Netzwerk); (ii) Bestimmen von Hyperparameter-Konfigurationen des Zieles auf höherer Ebene und des Satzes von Zielen auf niedrigerer Ebene zur Verwendung durch eine Hyperband-Struktur, um eine neuronale Architektursuche (neural architecture search, NAS) durchzuführen; (iii) Finden eines Satzes von in Frage kommenden CNN-Modellen innerhalb eines ersten Suchraums beim Durchführen der NAS; (iv) Trainieren des Satzes von in Frage kommenden CNN-Modellen unter Verwendung eines Trainingsdatensatzes; (v) Schätzen der bedingten Wahrscheinlichkeitsdichte-Verteilung (conditional probability density distribution) von Lösungswerten des Zieles auf höherer Ebene und des Satzes von Zielen auf niedrigerer Ebene; (vi) Auswählen eines in Frage kommenden CNN-Modells mit einer maximalen Pareto-optimalen Lösung; und (vii) Trainieren des in Frage kommenden CNN-Modells bis zur Konvergenz auf einem Validierungsdatensatz.
-
Ein weiterer Aspekt der vorliegenden Erfindung weist ein Anwenden zusätzlicher Einschränkungen auf ein erstes Ziel auf niedrigerer Ebene auf, um den ersten Suchraum zu reduzieren.
-
Ein weiterer Aspekt der vorliegenden Erfindung weist ein Ermitteln von Pareto-optimalen Lösungen für jedes in Frage kommende CNN-Modell auf.
-
Ein weiterer Aspekt der vorliegenden Erfindung weist ein Bereitstellen des in Frage kommenden CNN-Modells durch eine mobile Einheit auf.
-
Ein weiterer Aspekt der vorliegenden Erfindung weist ein Berechnen der Dichte unter Verwendung einer Parzen-Kerndichteschätzung (kernel density estimator) auf, um die bedingte Wahrscheinlichkeitsdichte-Verteilung zu schätzen.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
- 1 zeigt eine schematische Ansicht einer ersten Ausführungsform eines Systems gemäß der vorliegenden Erfindung;
- 2 zeigt einen Ablaufplan, der ein Verfahren darstellt, das zumindest teilweise von dem System der ersten Ausführungsform durchgeführt wird;
- 3 zeigt eine schematische Ansicht eines Teils der Maschinenlogik (zum Beispiel die Software) des Systems der ersten Ausführungsform; und
- 4 zeigt eine Blockschaubildansicht einer zweiten Ausführungsform eines Systems gemäß der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Mehrebenen-Ziele verbessern die Effizienz des automatisierten maschinellen Mehrziel-Lernens. Es wird eine Hyperband-Struktur eingeführt mit einer Kerndichteschätzung, um den Suchraum auf der Grundlage einer Bewertung von Zielen auf niedrigerer Ebene zu reduzieren. Eine Gaußsche A-priori-Annahme reduziert den Suchraum direkt, um ein Hauptziel zu finden.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder-medien) ausweisen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktion/Schrittes umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Die vorliegende Erfindung wird nun unter Bezugnahme auf die Figuren im Einzelnen beschrieben. 1 zeigt ein funktionelles Blockschaltbild, das verschiedene Teile des Systems von vernetzten Computern 100 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, darunter: NAS (neural architecture search, neuronale Architektursuche)-Teilsystem 102; Client-Teilsysteme 104, 106, 108, 110, 112; Datenübertragungsnetzwerk 114; NAS-Computer 200; Datenübertragungseinheit 202; Prozessorsatz 204; Eingabe/Ausgabe (E/A)-Schnittstellensatz 206; Speichereinheit 208; dauerhafte Speichereinheit 210; Anzeigeeinheit 212; externer Einheitensatz 214; Direktzugriffsspeicher (RAM)-Einheiten 230; Cache-Speichereinheit 232; Mehrebenen-Ziele-Programm 300; und Trainings-/Validierungsdatensätze-Speicher 302.
-
Das Teilsystem 102 entspricht in vielerlei Hinsicht den verschiedenen Computer-Teilsystemen der vorliegenden Erfindung. Dementsprechend werden in den folgenden Abschnitten mehrere Teile des Teilsystems 102 erläutert.
-
Bei dem Teilsystem 102 kann es sich um einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, einen elektronischen Assistenten (PDA), ein Smartphone oder eine beliebige programmierbare elektronische Einheit handeln, die über das Netzwerk 114 mit den Client-Teilsystemen Daten austauschen kann. Bei dem Programm 300 handelt es sich um eine Sammlung von maschinenlesbaren Anweisungen und/oder Daten, die zum Erstellen, Verwalten und Steuern bestimmter Softwarefunktionen verwendet werden, die im Folgenden ausführlich erläutert werden.
-
Das Teilsystem 102 kann über das Netzwerk 114 mit anderen Computer-Teilsystemen Daten austauschen. Bei dem Netzwerk 114 kann es sich zum Beispiel um ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN) wie das Internet, oder eine Kombination aus den zwei genannten Netzwerken handeln, und es kann drahtgebundene, drahtlose oder Lichtwellenleiter-Verbindungen aufweisen. Im Allgemeinen kann es sich bei dem Netzwerk 114 um eine beliebige Kombination von Verbindungen und Protokollen handeln, die die Datenübertragung zwischen Server- und Client-Teilsystemen unterstützen.
-
Das Teilsystem 102 ist als ein Blockschaltbild mit vielen Doppelpfeilen dargestellt. Diese Doppelpfeile (keine separaten Referenzzahlen) stehen für eine Datenübertragungs-Struktur, die Datenübertragungen zwischen verschiedenen Komponenten des Teilsystems 102 bereitstellt. Diese Datenübertragungs-Struktur kann mit jeder Architektur implementiert werden, die für ein Übertragen von Daten und/oder Steuerinformationen zwischen Prozessoren (wie Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), Systemspeicher, peripheren Einheiten und anderen Hardwarekomponenten innerhalb eines Systems konzipiert ist. Zum Beispiel kann die Datenübertragungs-Struktur zumindest teilweise mit einem oder mehreren Bussen implementiert werden.
-
Bei dem Speicher 208 und dem dauerhaften Speicher 210 handelt es sich um durch einen Computer lesbare Speichermedien. Im Allgemeinen kann es sich bei dem Speicher 208 um jedes geeignete flüchtige oder nichtflüchtige durch einen Computer lesbare Speichermedium handeln. Es ist ferner zu beachten, dass jetzt und/oder in naher Zukunft: (i) externe Einheit(en) 214 möglicherweise einen Teil oder den gesamten Speicher für das Teilsystem 102 bereitstellen kann (können); und/oder (ii) Einheiten außerhalb des Teilsystems 102 möglicherweise Speicher für das Teilsystem 102 bereitstellen können.
-
Das Programm 300 wird in dem dauerhaften Speicher 210 für den Zugriff und/oder die Ausführung durch einen oder mehrere der jeweiligen Computerprozessoren 204 gespeichert, in der Regel durch einen oder mehrere Speicher des Speichers 208. Der dauerhafte Speicher 210: (i) ist mindestens dauerhafter als ein Signal bei der Übertragung; (ii) speichert das Programm (darunter seine weiche Logik und/oder Daten) auf einem physischen Medium (zum Beispiel in einem magnetischen oder optischen Bereich); und (iii) ist wesentlich weniger dauerhaft als ein permanenter Speicher. Alternativ kann es sich bei dem Datenspeicher auch um einen dauerhafteren und/oder permanenteren Speicher handeln als die Art von Speicher, die der dauerhafte Speicher 210 bereitstellt.
-
Das Programm 300 kann sowohl maschinenlesbare als auch ausführbare Anweisungen und/oder inhaltliche Daten (d.h. die Art von in einer Datenbank gespeicherten Daten) aufweisen. In dieser bestimmten Ausführungsform enthält der dauerhafte Speicher 210 ein magnetisches Festplattenlaufwerk. Um einige mögliche Varianten zu nennen, kann der dauerhafte Speicher 210 einen Halbleiterdatenträger, eine Halbleiterspeichereinheit, einen Nur-Lese-Speicher (ROM), einen elektronisch löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen Flash-Speicher oder jedes andere durch einen Computer lesbare Speichermedium aufweisen, das Programmanweisungen oder digitale Informationen speichern kann.
-
Die von dem dauerhaften Speicher 210 verwendeten Medien können auch wechselbar sein. Es kann zum Beispiel eine wechselbare Festplatte für den dauerhaften Speicher 210 verwendet werden. Zu anderen Beispielen gehören optische Platten und Magnetplatten, USB-Sticks und Speicherkarten, die in ein Laufwerk eingelegt werden, um auf ein anderes durch einen Computer lesbares Speichermedium übertragen zu werden, das ebenfalls Teil des dauerhaften Speichers 210 ist.
-
Die Datenübertragungseinheit 202 stellt in diesen Beispielen eine Datenübertragung zu anderen Datenverarbeitungssystemen oder -einheiten bereit, die sich außerhalb des Teilsystems 102 befinden. In diesen Beispielen weist die Datenübertragungseinheit 202 eine oder mehrere Netzwerk-Schnittstellenkarten auf. Die Datenübertragungseinheit 202 kann eine Datenübertragung mittels physischer und/oder drahtloser Datenübertragungsverbindungen bereitstellen. Alle hier erläuterten Softwaremodule können über eine Datenübertragungseinheit (wie die Datenübertragungseinheit 202) in eine dauerhafte Speichereinheit (wie die dauerhafte Speichereinheit 210) heruntergeladen werden.
-
Der E/A-Schnittstellensatz 206 ermöglicht die Eingabe und Ausgabe von Daten von anderen/an andere Einheiten, die lokal mit der Datenübertragung des Computers 200 verbunden sein können. Zum Beispiel stellt der E/A-Schnittstellensatz 206 eine Verbindung zu dem externen Einheitensatz 214 bereit. Der externe Einheitensatz 214 umfasst in der Regel Einheiten wie eine Tastatur, ein Tastenfeld, einen Berührungsbildschirm und/oder eine andere geeignete Eingabeeinheit. Der externen Einheitensatz 214 kann auch tragbare, durch einen Computer lesbare Speichermedien aufweisen, zum Beispiel USB-Sticks, tragbare optische oder magnetische Festplatten und Speicherkarten. Software und Daten, die zum Ausführen von Ausführungsformen der vorliegenden Erfindung verwendet werden, zum Beispiel das Programm 300, können auf solchen tragbaren, durch einen Computer lesbaren Speichermedien gespeichert werden. In diesen Ausführungsformen kann die betreffende Software ganz oder teilweise über den E/A-Schnittstellensatz 206 in die dauerhafte Speichereinheit 210 geladen werden (oder auch nicht). Der E/A-Schnittstellensatz 206 ist ferner zur Datenübertragung mit der Anzeigeeinheit 212 verbunden.
-
Die Anzeigeneinheit 212 stellt einen Mechanismus zum Anzeigen von Daten für einen Benutzer bereit, wobei es sich zum Beispiel um einen Computermonitor oder einen Anzeigebildschirm eines Smartphones handeln kann.
-
Die hierin beschriebenen Programme werden auf der Grundlage von der Anwendung identifiziert, für die sie in einer bestimmten Ausführungsform der vorliegenden Erfindung implementiert sind. Es sollte jedoch beachtet werden, dass eine bestimmte Programm-Nomenklatur hierin nur der Einfachheit halber verwendet wird, und daher sollte die vorliegende Erfindung nicht auf ein Verwenden in einer bestimmten Anwendung beschränkt werden, die mittels einer solchen Nomenklatur identifiziert und/oder impliziert wird.
-
Das Mehrebenen-Ziele-Programm 300 dient einem Entwerfen eines CNN-Modells (convolutional neural network, faltendes neuronales Netzwerk). Insbesondere für mobile Einheiten, bei denen Größe und Geschwindigkeit ebenso wichtig sind wie Genauigkeit. Es wird eine neuronale Architektursuche (neural architecture search, NAS) durchgeführt, um ein CNN-Modell für ein bestimmtes Problem zu erstellen, das durch mehrere Ziele in einer Mehrebenen-Hierarchie auf der Grundlage von Hyperparametern für verschiedene Bedingungen und/oder Einschränkungen definiert ist. Es wird eine bedingte Wahrscheinlichkeitsdichte-Verteilung in einer Hyperband-Struktur mit Zufallsgenerierungstechniken geschätzt, in Verbindung mit einer Gaußschen A-priori-Annahme, um den Suchraum auf der Grundlage einer Bewertung von Zielen auf niedrigerer Ebene direkt zu reduzieren.
-
NAS-Algorithmen suchen nach CNN-Modellen, bei denen Modell-Hyperparameter, die oft nur als Parameter bezeichnet werden, für die Trainings-, Validierungs- und Testphasen verwendet werden. Bei Hyperparametern handelt es sich um die Bestandteile des maschinellen Lernens, die manuell gesetzt und abgestimmt werden müssen. Wenn ein Algorithmus für maschinelles Lernen auf ein bestimmtes Problem abgestimmt wird, zum Beispiel wenn eine Raster-Architektur-Suche oder eine zufällige Architektursuche verwendet wird, werden die Hyperparameter abgestimmt, um festzustellen, welche Hyperparameter zu den geeignetsten Vorhersagen führen. Eine Hyperparameter-Optimierung erfordert bei neuronalen Architektursuchen einen hohen Rechenaufwand. Eine Hyperband-Abstimmung beruht auf einer Zufallssuchenabstimmung. (Hinweis: Der Begriff „HYPERBAND“ kann weltweit in verschiedenen Gerichtsbarkeiten Markenrechten unterliegen und wird hier nur unter Bezugnahme auf die ordnungsgemäß mit den Marken bezeichneten Produkte oder Dienstleistungen verwendet, soweit solche Markenrechte bestehen.)
-
Zu bei einer NAS verwendeten Suchstrategien oder Abstimmungsstrategien gehören: (i) Evolutionärer Algorithmus; (ii) Rastersuche; (iii) Zufallssuche; (iv) Bayessche Optimierung; (v) bestärkendes Lernen; (vi) DARTS; (vii) Pareto-orientiertes Verfahren; (viii) Differentialverfahren; (ix) Hyperband; (x) baumstrukturierte Pareto-Schätzung (treestructured Pareto estimator, TPE); (xi) sequenzielle modellgestützte Optimierung (sequential model-based optimization, SMAC); und (xii) Netzwerkmorphismus.
-
In einigen Ausführungsformen der vorliegenden Erfindung werden folgende Sachverhalte, mögliche Probleme und/oder Verbesserungspotentiale gegenüber dem Stand der Technik aufgezeigt: (i) Auswählen einer geeigneten neuronalen Netzwerkarchitektur und Identifizieren eines angemessenen Satzes von Parametern sind sehr entscheidend und erfordern die Erfahrung von Experten und menschliche Arbeit; (ii) auf dem Gebiet der Suchraumexploration wird wenig geforscht; (iii) CNN-Modelle (convolutional neural network, faltendes neuronales Netzwerk) für mobile Geräte müssen klein und schnell, aber dennoch genau sein; (iv) bei einem kleinen CNN-Modell handelt es sich um ein Modell mit geringer Größe; (v) ein schnelles CNN-Modell wird mit einer kurzen Inferenz-Latenzzeit erreicht; (vi) ein genaues CNN-Modell wird mit einer guten Modellleistung erreicht; und/oder (vii) es liegen keine NAS-Verfahren vor, die sich mit einem automatisierten maschinellen Mehrziel-Lernen befassen.
-
Die folgende Gleichung stellt mehrere Pareto-optimale Lösungen bereit, wobei es sich bei x1 und x2 um optimierte Lösungen handelt:
-
Ein Anwenden der obigen Gleichung, um die bedingte Wahrscheinlichkeitsdichte-Verteilung zu ermitteln, führt zu der folgenden Gleichung:
-
Die Dichte p(x
1 | x
2) kann mit einer Dichteschätzung berechnet werden, zum Beispiel mit der KDE 404 aus
4. Entsprechend wird die folgende Gleichung erzeugt:
-
Gemäß einigen Ausführungsformen der vorliegenden Erfindung kann gelegentlich das Erreichen des Hauptzieles durch Hinzufügen einiger Einschränkungen bei anderen Zielen verbessert werden. Dies ist deshalb möglich, weil die Wahrscheinlichkeit steigt, ein zuverlässiges Hauptziel zu finden, nachdem der Suchraum mittels einer Gaußschen A-priori-Annahme reduziert wurde.
-
2 zeigt einen Ablaufplan 250, der ein erstes Verfahren gemäß der vorliegenden Erfindung darstellt. 3 zeigt das Programm 300 zum Durchführen zumindest einiger der Verfahrensschritte des Ablaufplanes 250. Dieses Verfahren und zugehörige Software werden nun in den folgenden Abschnitten unter ausführlicher Bezugnahme auf 2 (für die Blöcke der Verfahrensschritte) und 3 (für die Software-Blöcke) erläutert.
-
Das Verarbeiten beginnt mit Schritt S255, in dem das Ziele-Modul („Mod“) 355 ein Ziel auf höherer Ebene und einen Satz von Zielen auf niedrigerer Ebene für eine optimierte Lösung unter Verwendung eines faltenden neuronalen Netzwerkes (convolutional neural network, CNN) ermittelt. Für ein bestimmtes Mehrebenen-Problem wird ein Ziel auf höherer Ebene zusammen mit einem oder mehreren Zielen auf niedrigerer Ebene ermittelt. In diesem Beispiel handelt es sich um ein Zwei-Ziele-Problem, bei dem die Ziele auf niedrigerer Ebene in das Ziel auf höherer Ebene integriert oder eingebettet sind. Alternativ handelt es sich bei dem zu lösenden Problem um ein Zwei-Ebenen-Problem, bei dem es sich bei dem Ziel auf höherer Ebene um ein primäres Ziel handelt, das im Hinblick auf einen Satz von Zielen auf niedrigerer Ebene zu optimieren ist. Für jedes Ziel gibt es mindestens eine zu lösende Variable für eine Zielbedingung.
-
Das Verarbeiten wird mit Schritt S260 fortgesetzt, in dem das Variablen-Modul 360 Hyperparameter-Konfigurationen für die höheren und niedrigeren Ziele festlegt. In dem Beispiel werden die Hyperparameter-Konfigurationen durch Gaußsche A-priori-Annahmen ermittelt, um den Suchraum direkt zu reduzieren. Alternativ werden die Hyperparameter durch einen evolutionären Algorithmus ermittelt. Die Hyperparameter-Konfigurationen werden zur Verwendung durch eine Hyperband-Struktur entwickelt. Der Suchraum wird auf Grundlage einer Bewertung von anderen Zielen auf niedrigerer Ebene reduziert, um einen optimalen Wert für das Ziel auf höherer Ebene zu erreichen. In einigen Ausführungsformen der vorliegenden Erfindung wird der Suchraum durch Netzwerkmorphismen reduziert, um die Netzwerkfunktion zu erhalten.
-
Das Verarbeiten wird mit Schritt S265 fortgesetzt, in dem das Einschränkungen-Modul 365 eine zusätzliche Einschränkung auf ein Ziel auf niedrigerer Ebene anwendet. Die hinzuzufügenden Einschränkungen können durch eine Wahrscheinlichkeitsdichte-Verteilung interpretiert werden. Einschränkungen auf niedrigerer Ebene können ausgewertet werden, um den Suchraum direkt zu reduzieren, was im Kontext einer neuronalen Mehrziel-Architektursuche besser geeignet ist.
-
Das Verarbeiten wird mit Schritt S270 fortgesetzt, in dem das Dichte-Modul 370 die bedingte Wahrscheinlichkeitsdichte-Verteilung von Lösungswerten der Ziele der höheren und der niedrigeren Ebene für die neuronale Architektursuche (neural architecture search, NAS) schätzt. Wie in den oben genannten Gleichungen beschrieben, werden Parzen-Kerndichteschätzungen (kernel density estimator, KDE) verwendet, um die Dichten zum Schätzen der bedingten Wahrscheinlichkeitsdichte-Verteilung näherungsweise zu berechnen. Jedes Ziel weist mindestens eine Variable auf, für die Hyperparameter gesetzt werden. In diesem Beispiel werden untergeordnete CNN-Modelle (convolutional neural network, faltendes neuronales Netzwerk) durch Hyperparameter-Konfigurationen für Ziele auf der Grundlage von Gaußschen A-priori-Annahmen erzeugt, um den Suchraum zu reduzieren, anstatt die gesamte Pareto-Grenze näherungsweise zu berechnen. Alternativ werden die untergeordneten Modelle unter Verwendung eines evolutionären Algorithmus erzeugt.
-
Die untergeordneten CNN-Modelle werden unter Verwendung eines Trainingsdatensatzes trainiert. Die Leistung während des Trainings wird erfasst. Gemäß der bedingten Wahrscheinlichkeitsdichte-Verteilung von Lösungswerten werden bestimmte untergeordnete CNN-Modelle als in Frage kommende CNN-Modelle weiterverarbeitet.
-
Das Verarbeiten wird mit Schritt S275 fortgesetzt, in dem das Untergeordnete-Modelle-Modul 375 einen Satz von untergeordneten CNN-Modellen auswählt. Untergeordnete CNN-Modelle, die über den NAS-Prozess erzeugt wurden, werden anhand von Trainingsdatensätzen trainiert. Die ausgewählten untergeordneten CNN-Modelle können gemäß ihrer individuellen Leistung einer Validierungsprüfung unterzogen werden. Die ausgewählten untergeordneten Modelle gehören zu den durch die NAS gefundenen Top-k-Modellen. Die ausgewählten untergeordneten CNN-Modelle werden als in Frage kommende CNN-Modelle gekennzeichnet.
-
Das Verarbeiten wird mit Schritt S280 fortgesetzt, in dem das Pareto-optimale-Modul 380 Pareto-optimale Lösungen für jedes in Frage kommende CNN-Modell ermittelt. Für jedes in Frage kommende CNN-Modell werden Trainingsdatensätze eingeführt, um Pareto-optimale Lösungen zu ermitteln. Bei der maximalen Pareto-optimalen Lösung handelt es sich um die Grundlage für ein Auswählen eines oder mehrerer in Frage kommender CNN-Modelle, um sie zu validieren und zu testen.
-
Das Verarbeiten wird mit Schritt S285 fortgesetzt, in dem das CNN-Modell-Modul 385 ein CNN-Modell mit einem maximalen Pareto-optimalen Wert auswählt. Der maximale Pareto-optimale Wert wird identifiziert und das entsprechende in Frage kommende CNN-Modell wird ausgewählt. Alternativ werden zwei CNN-Modelle auf der Grundlage der Pareto-optimalen Lösungen ausgewählt.
-
Das Verarbeiten endet mit Schritt S290, in dem das Validierungs-Modul 390 das ausgewählte CNN-Modell bis zur Konvergenz auf einem Validierungsdatensatz trainiert. Der Validierungsdatensatz wird für die Verwendung bei der Validierung aus dem Trainingsdatensatz vorgehalten. Dieser Validierungsschritt unterstützt ein Abstimmen der Modell-Hyperparameter, die in einigen Ausführungsformen auf Gaußschen A-priori-Annahmen beruhen. Ferner führen einige Ausführungsformen der vorliegenden Erfindung Tests unter Verwendung zusätzlicher zu Testzwecken vorgehaltener Datensätze durch.
-
Weitere Ausführungsformen der vorliegenden Erfindung werden unter Bezugnahme auf 4 und in den folgenden Abschnitten erläutert.
-
4 zeigt die Hyperband-Struktur 400 gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die Hyperband-Struktur verwendet eine Parzen-Kerndichteschätzung (kernel density estimator, KDE) 404, um die Dichte p(x1 | x2) zu berechnen. Die Optimierungslösung x1 wird in das steuernde rekurrente neuronale Netzwerk (recurrent neural network, RNN) 406 eingegeben. Ein zufälliges Erzeugen von CNN-Modellen (convolutional neural network, faltendes neuronales Netzwerk) stellt die Grundlage für ein Auswählen von untergeordneten Modellen für ein weiteres Training bereit. Einige Ausführungsformen der vorliegenden Erfindung identifizieren untergeordnete Modelle auf der Grundlage eines Top-k-Auswahlprozesses. Das Untergeordnete-Modelle-Modul 408 führt ein Validieren der Modelle durch, indem es die Optimierungslösung x2 einführt. Das Maximal-Wert-Modul 410 identifiziert das untergeordnete Modell, das den maximalen Pareto-optimalen Wert erzeugt. Das identifizierte untergeordnete Modell wird als CNN-Modell für die Verwendung in bestimmten Anwendungen für mobile Einheiten ausgewählt.
-
Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Verfahren ausgerichtet, das Schritte umfasst, bei denen Mehrebenen-Ziele auf der Grundlage von Bewertungsaufwänden unterschieden werden; das Hauptziel wird durch das Ziel mit den meisten Bewertungsressourcen ausgewählt; ein Hinzufügen einer Einschränkung auf andere Ziele auf niedrigerer Ebene dient dem Verbessern des Hauptzieles bzw. des Zieles auf höherer Ebene; und ein Reduzieren des Suchraumes auf der Grundlage der Bewertung von anderen Zielen dient dem Finden eines gültigen und/oder zuverlässigen Hauptzieles.
-
Einige Ausführungsformen der vorliegenden Erfindung sind auf ein automatisiertes maschinelles Mehrziel-Lernen auf mehreren Ebenen ausgerichtet, indem der Suchraum auf der Grundlage der Bewertung anderer Ziele reduziert wird, um ein geeignetes Hauptziel zu finden. Ferner variieren in einigen Ausführungsformen die Mehrebenen-Ziele gemäß den Bewertungsaufwänden.
-
In einigen Ausführungsformen der vorliegenden Erfindung werden Ziele auf niedriger Ebene verwendet, um die Ziele auf hoher Ebene zu schätzen. In einigen Ausführungsformen werden die geschätzten Ziele auf niedriger Ebene über eine Gaußsche A-priori-Annahme ermittelt.
-
Einige Ausführungsformen der vorliegenden Erfindung verwenden eine Gaußsche A-priori-Annahme, um den Suchraum auf der Grundlage der Bewertung von Zielen auf niedrigerer Ebene direkt zu reduzieren, um ein geeignetes Hauptziel zu finden.
-
Einige Ausführungsformen der vorliegenden Erfindung können eine oder mehrere der folgenden Funktionen, Merkmale und/oder Vorteile aufweisen: (i) automatisiertes maschinelles Lernen ermöglicht ein automatischen Suchen nach einem besten Modell ohne wesentliches menschliches Eingreifen; (ii) nutzt die Vorteile einer Mehrebenen-Zielverarbeitung, um einen effizienten neuronalen Mehrziel-Architektur-Suchprozess durchzuführen; (iii) nutzt Mehrebenen-Ziele; und/oder (iv) beschleunigt den neuronalen Mehrziel-Architektur-Suchprozess.
-
Es folgen einige hilfreiche Definitionen:
-
Vorliegende Erfindung: Es ist nicht als absolute Feststellung zu verstehen, dass der mit dem Begriff „vorliegende Erfindung“ beschriebene Gegenstand entweder von den Ansprüchen in der eingereichten Fassung oder von den Ansprüchen abgedeckt wird, die möglicherweise nach der Patentverfolgung erlassen werden; der Begriff „vorliegende Erfindung“ wird zwar verwendet, um dem Leser ein allgemeines Gefühl dafür zu vermitteln, welche Offenbarungen hierin als möglicherweise neu angesehen werden, doch ist dieses Verständnis, wie es durch die Verwendung des Begriffes „vorliegende Erfindung“ angezeigt wird, ungewiss und vorläufig und kann sich im Laufe der Patentverfolgung ändern, wenn relevante Informationen entwickelt werden und die Ansprüche möglicherweise überarbeitet werden.
-
Ausführungsform: siehe obige Definition der „vorliegenden Erfindung“- ähnliche Vorbehalte gelten für den Begriff „Ausführungsform“.
und/oder: einschließlich oder; zum Beispiel: A, B „und/oder“ C bedeutet, dass mindestens eines von A oder B oder C wahr und zutreffend ist.
-
Nutzer/Teilnehmer: einschließlich Folgendem, ohne notwendigerweise darauf beschränkt zu sein: (i) eine einzelne menschliche Person; (ii) eine Entität mit künstlicher Intelligenz, die über ausreichende Intelligenz verfügt, um als Nutzer oder Teilnehmer zu handeln; und/oder (iii) eine Gruppe von miteinander verbundenen Nutzern oder Teilnehmern.
-
Modul/Teilmodul: jeder Satz von Hardware, Firmware und/oder Software, der funktionsmäßig eine bestimmte Funktion ausführt, unabhängig davon, wo sich das Modul befindet oder in welcher Form es vorliegt: (i) in einem einzigen lokalen Bereich; (ii) über einen großen Bereich verteilt; (iii) in einem einzigen Bereich innerhalb eines größeren Teils von Software-Code; (iv) innerhalb eines einzigen Teils von Software-Code; (v) in einer einzigen Speichereinheit, einem einzigen Speicher oder einem einzigen Medium; (vi) mechanisch verbunden; (vii) elektrisch verbunden; und/oder (viii) in Datenübertragung verbunden.
-
Computer: jede Einheit mit wesentlichen Fähigkeiten zur Datenverarbeitung und/oder zum Lesen von durch eine Maschine lesbaren Anweisungen, darunter, ohne auf diese beschränkt zu sein: Desktop-Computer, Großrechner, Laptop-Computer, auf vor Ort programmierbaren Gatter-Anordnungen (FPGA, field programmable gate array) beruhende Einheiten, Smartphones, elektronische Assistenten (PDAs), am Körper getragene oder in den Körper eingesetzte Computer, Computer in Form von eingebetteten Einheiten, auf anwendungsspezifischen integrierten Schaltungen (application-specific integrated circuits, ASIC) beruhende Einheiten.