DE112020007372T5 - Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen - Google Patents

Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen Download PDF

Info

Publication number
DE112020007372T5
DE112020007372T5 DE112020007372.6T DE112020007372T DE112020007372T5 DE 112020007372 T5 DE112020007372 T5 DE 112020007372T5 DE 112020007372 T DE112020007372 T DE 112020007372T DE 112020007372 T5 DE112020007372 T5 DE 112020007372T5
Authority
DE
Germany
Prior art keywords
network
weights
architecture
neural network
architectures
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020007372.6T
Other languages
English (en)
Inventor
Jun Zhu
Zhijie Deng
Yinpeng Dong
Chao Zhang
Hao Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Robert Bosch GmbH
Original Assignee
Tsinghua University
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University, Robert Bosch GmbH filed Critical Tsinghua University
Publication of DE112020007372T5 publication Critical patent/DE112020007372T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die vorliegende Offenbarung stellt ein Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks mit stochastischen Architekturen bereit. Das Verfahren umfasst: Auswählen eines Ministapels aus einer Vielzahl von Ministapeln, wobei ein Trainingsdatensatz für eine Aufgabe in die Vielzahl von Ministapeln gruppiert wird und jedes der Vielzahl von Ministapeln eine Vielzahl von Instanzen umfasst; stochastisches Auswählen einer Vielzahl von Netzwerkarchitekturen des neuronalen Netzwerks für den ausgewählten Ministapel; Erhalten eines Verlusts für jede Instanz des ausgewählten Ministapels durch Anwenden der Instanz auf eine der Vielzahl von Netzwerkarchitekturen und Aktualisieren von gemeinsam genutzten Gewichten des neuronalen Netzwerks basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels.

Description

  • GEBIET
  • Gesichtspunkte der vorliegenden Offenbarung beziehen sich allgemein auf künstliche Intelligenz und insbesondere auf ein Trainingsverfahren und ein Inferenzverfahren für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen.
  • HINTERGRUND
  • Tiefe neuronale Netzwerke (Deep Neural Networks, DNNs) werden häufig verwendet, um komplexe Daten in einem breiten Spektrum an praktischen Szenarien zu verarbeiten. Herkömmlicherweise ist das Entwerfen eines DNN zum Durchführen einer bestimmten Maschinenlernaufgabe ein arbeitsintensiver Prozess, der einen hohen Aufwand an Versuch- und-Irrtum-Schritten durch Experten erfordert, bei denen die Experten die Architektur des DNN während der Iterationen von Trainings- und Testprozessen manuell optimieren müssen.
  • Die Technik der Suche nach neuronalen Architekturen (Neural Architecture Search, NAS) ist vorgeschlagen worden, um automatisch nach Architektur eines neuronalen Netzwerks zu suchen, damit menschliche Arbeitskräfte entlastet werden können. Die NAS-Technik erforderte jedoch früher in der Regel das Trainieren von Tausenden von Modellen von Grund auf und nimmt unglaublich viele Rechenressourcen in Anspruch, was ihre Implementierung in der Praxis erschwert.
  • Mehrere Verfahren zur automatischen Suche nach Netzwerkarchitekturen bei gleichzeitiger Reduzierung der Anforderungen an die Rechenleistung sind vorgeschlagen worden. Ein vielversprechendes Verfahren besteht darin, Gewichte unter Netzwerkarchitekturen gemeinsam zu nutzen, anstatt Tausende von separaten Netzwerkarchitekturmodellen von Grund auf zu trainieren. Insbesondere kann ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk, das in der Lage ist, eine beliebige Netzwerkarchitektur davon zu emulieren, trainiert werden. Unterschiedliche Netzwerkarchitekturen des neuronalen Netzwerks sind unterschiedliche Teilmengen des neuronalen Netzwerks und nutzen die in dem neuronalen Netzwerk enthaltenen Gewichte gemeinsam.
  • Es besteht Bedarf an einer Verbesserung zur Steigerung der Leistung der Technik der gemeinsamen Nutzung von Gewichten.
  • KURZDARSTELLUNG
  • Gemäß einer Ausführungsform wird ein Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks mit stochastischen Architekturen bereitgestellt. Das Verfahren umfasst: Auswählen eines Ministapels aus einer Vielzahl von Ministapeln, wobei ein Trainingsdatensatz für eine Aufgabe in die Vielzahl von Ministapeln gruppiert wird und jedes der Vielzahl von Ministapeln eine Vielzahl von Instanzen umfasst; stochastisches Auswählen einer Vielzahl von Netzwerkarchitekturen des neuronalen Netzwerks für den ausgewählten Ministapel; Erhalten eines Verlusts für jede Instanz des ausgewählten Ministapels durch Anwenden der Instanz auf eine der Vielzahl von Netzwerkarchitekturen und Aktualisieren von gemeinsam genutzten Gewichten des neuronalen Netzwerks basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels.
  • Gemäß einer Ausführungsform wird ein Verfahren zum Inferenzieren unter Verwendung eines auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks bereitgestellt. Das Verfahren umfasst: Empfangen eines Eingabedatenobjekts; zufälliges Auswählen einer oder mehrerer Netzwerkarchitekturen des neuronalen Netzwerks; Ableiten eines oder mehrerer Ausgabedatenobjekte durch die ausgewählte eine bzw. die ausgewählten mehreren Netzwerkarchitekturen basierend auf dem Eingabedatenobjekt und Erhalten eines endgültigen Inferenzdatenobjekts basierend auf dem einen oder den mehreren Ausgabedatenobjekten.
  • Unter Verwendung des Trainingsverfahrens der Offenbarung kann die Vielfalt des auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks mit stochastischen Architekturen mit dem Ziel untersucht werden, die Leistung des Modells eines auf gemeinsam genutzten Gewichten basierenden Netzwerks zu verbessern. Andererseits kann unter Verwendung des Inferenzverfahrens der Offenbarung die Vielfalt des auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks mit stochastischen Architekturen im Inferenzprozess mit dem Ziel untersucht werden, den Schutz von Netzwerkarchitekturen vor Angriffen zu verbessern. Weitere Vorteile der Offenbarung würden in der folgenden Beschreibung erläutert.
  • Figurenliste
  • Die offenbarten Gesichtspunkte werden nachstehend in Verbindung mit den beigefügten Zeichnungen beschrieben, die bereitgestellt werden, um die offenbarten Gesichtspunkte zu veranschaulichen und nicht zu beschränken.
    • 1 veranschaulicht ein beispielhaftes auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen (Network with Stochastic Architectures, NSA) gemäß einer Ausführungsform.
    • 2 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
    • 3 veranschaulicht ein beispielhaftes Verfahren zum Inferenzieren mit einem auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
    • 4 veranschaulicht einen Graphen, der die Genauigkeit und den Verlust zwischen dem Trainieren und dem Testen vergleicht, gemäß einer Ausführungsform.
    • 5 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
    • 6 veranschaulicht einen Graphen, der die Genauigkeit und den Verlust zwischen dem Trainieren und dem Testen vergleicht, gemäß einer Ausführungsform.
    • 7 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
    • 8 veranschaulicht ein beispielhaftes Rechensystem gemäß einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Offenbarung wird nun unter Bezugnahme auf mehrere beispielhafte Implementierungen erörtert. Es versteht sich, dass diese Implementierungen nur erörtert werden, um es dem Fachmann zu ermöglichen, die Ausführungsformen der vorliegenden Offenbarung besser zu verstehen und somit zu implementieren, und nicht, um Einschränkungen des Schutzumfangs der vorliegenden Offenbarung nahezulegen.
  • Die vorliegende Offenbarung beschreibt ein Verfahren und ein System, die als Computerprogramme implementiert sind, die auf einem oder mehreren Computern ausgeführt werden, die ein neuronales Netzwerk für Aufgaben bereitstellen, das konfiguriert ist, um eine spezielle Maschinenlernaufgabe durchzuführen. Das neuronale Netzwerk für Aufgaben ist als ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen implementiert. Als ein Beispiel kann die spezielle Maschinenlernaufgabe eine Bildverarbeitungsaufgabe mit maschinellem Lernen sein. Als weiteres Beispiel kann die spezielle Maschinenlernaufgabe darin bestehen, die Ressource oder das Dokument zu klassifizieren. Als weiteres Beispiel kann die spezielle Maschinenlernaufgabe darin bestehen, eine Wahrscheinlichkeit zu bewerten, dass auf eine bestimmte Werbeanzeige geklickt wird. Als weiteres Beispiel kann die spezielle Maschinenlernaufgabe darin bestehen, eine Wahrscheinlichkeit zu bewerten, dass ein Benutzer positiv auf eine Empfehlung reagiert. Als weiteres Beispiel kann die spezielle Maschinenlernaufgabe eine Sprachübersetzung sein. Als weiteres Beispiel kann die spezielle Maschinenlernaufgabe eine Audioverarbeitungsaufgabe sein. Als weiteres Beispiel kann die spezielle Aufgabe eine Gesundheitsprognoseaufgabe sein. Als weiteres Beispiel kann die spezielle Aufgabe eine Aufgabe zur Steuerung eines Agenten sein, die in einem Steuersystem für automatisches Fahren, einem Steuersystem für eine Industrieanlage oder dergleichen ausgeführt wird.
  • 1 veranschaulicht ein beispielhaftes auf gemeinsam genutzten Gewichten basierendes NSA (Netzwerk mit stochastischen Architekturen) gemäß einer Ausführungsform.
  • Ein auf gemeinsam genutzten Gewichten basierendes NSA kann als ein neuronales Netzwerk definiert werden, das einen festen Satz von Gewichten und stochastisch abgetasteten Architekturen im Trainingsprozess und/oder in Inferenzprozessen aufweist, die sich von den regulären DNNs unterscheiden.
  • Wie in 1 gezeigt, bezeichnet das Label 10 einen Eingabeknoten, in dem Eingabedaten durch das neuronale Netzwerk empfangen werden. Die Eingabedaten können bei Bedarf verarbeitet werden, können zum Beispiel auf Merkmalskarten in einem Latenz-semantischen Raum projiziert werden. Jedes der Label 20-50 bezeichnet einen Vorgangsknoten, der mindestens einen Vorgang einschließt. Zum Beispiel kann im Fall eines CNN-Netzwerks jeder der Knoten 20-50 einen Faltungsvorgang einschließen. Das Label 60 bezeichnet einen Ausgabeknoten, in dem zum Beispiel Ausgabedaten durch das neuronale Netzwerk bereitgestellt werden. Die auszugebenden Daten können bei Bedarf verarbeitet werden, zum Beispiel können die Merkmalskarten in dem Latenz-semantischen Raum auf vom Benutzer erkennbare Ausgabedaten projiziert werden. Die Knoten 10-60 werden auch als Schichten oder Module bezeichnet.
  • Drei beispielhafte Netzwerkarchitekturen A bis C und ein auf gemeinsam genutzten Gewichten basierendes NSA D, das die drei Netzwerkarchitekturen A bis C einschließt, sind in 1 veranschaulicht. Jede der Netzwerkarchitekturen A bis C schließt einen Satz von Vorgangsknoten 10-60 und ein Kantenmuster, bei dem jede Kante zwei Knoten verbindet, ein. Insbesondere schließt die Netzwerkarchitektur A die Knoten 10-60, Kanten, die die Knoten 10-60 in Reihe verbinden, und eine Kante EA, die die beiden Knoten 20 und 50 verbindet, ein. Die Netzwerkarchitektur B schließt die Knoten 10-60, die Kanten, die die Knoten 10-60 in Reihe verbinden, und zwei Kanten EB, die ein Paar von Knoten 10, 30 bzw. ein Paar von Knoten 40, 60 verbinden, ein. Die Netzwerkarchitektur C schließt die Knoten 10-60, die Kanten, die die Knoten 10-60 in Reihe verbinden, und drei Kanten EC, die ein Paar von Knoten 10, 40, ein Paar von Knoten 30, 60 bzw. ein Paar von Knoten 10, 60 verbinden, ein. Die Kanten EA, EB, EC, die nicht benachbarte Knoten verbinden, können als Umgehungskanten bezeichnet werden. Alle in Reihe verbundenen Knoten können als Hauptkette bezeichnet werden. Jede der Netzwerkarchitekturen A bis C ist eine Teilmenge des NSA D, das verschiedene Architekturen A bis C einschließt, wie in 1 gezeigt. Daher können die Architekturen A bis C die Gewichte des NSA D gemeinsam nutzen, zum Beispiel die Gewichte, die sich auf die in den Knoten eingeschlossenen Vorgänge beziehen, und die Gewichte für die Kanten.
  • In einer Schaltansicht aktivieren verschiedene Netzwerkarchitekturen, wie die Architekturen A bis C, verschiedene Skip-Connection-Muster unter einer festen Anzahl an Rechenvorgängen, wobei die verschiedenen Skip-Connection-Muster durch die Kanten dargestellt werden. Jede Netzwerkarchitektur, wie A bis C, ist als ein gerichteter Graph von Knoten dargestellt, die durch Kanten verbunden sind. Es versteht sich, dass der gerichtete Graph von Vorgangsknoten, der eine Netzwerkarchitektur darstellt, als eine diskrete Adjazenzmatrix parametriert werden kann.
  • Es versteht sich, dass die Struktur des NSA D in 1 veranschaulichend ist, wobei ein NSA D viel mehr Architekturen, wie Hunderte, Tausende, Zehntausende oder mehr Architekturen, einschließen kann. Und die Struktur eines NSA und dementsprechend die Struktur einer Netzwerkarchitektur des NSA kann viel komplexer sein, zum Beispiel kann das NSA mehr Knoten als in 1 gezeigt einschließen, und die durch die Knoten 20-50 dargestellten Vorgänge können beliebige geeignete Vorgänge zum Durchführen einer Aufgabe einschließen und die Offenbarung ist nicht auf spezifische Vorgänge des NSA beschränkt.
  • 2 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
  • Vor dem Durchführen des Trainingsverfahrens von 2 kann ein Netzwerkarchitekturraum eingerichtet werden. Als ein Beispiel kann ein Architekturraum ähnlich dem NSA D in 1 eingerichtet werden. In diesem Beispiel schließt der Architekturraum sechs in Reihe verbundene Knoten sowie Umgehungskanten ein, die jeweils zwei nicht benachbarte Knoten verbinden. Wenn eine mögliche Netzwerkarchitektur im Architekturraum als ein gerichteter Graph von Vorgangsknoten dargestellt wird, kann es in diesem Architekturraum 1023 mögliche Netzwerkarchitekturen geben, mit anderen Worten, die Größe des Architekturraums beträgt 1023. Es versteht sich, dass, wenn es nicht erforderlich ist, im Architekturraum eine Hauptkette zu haben, die alle in Reihe verbundenen Knoten einschließt, die Größe des Architekturraums größer wäre.
  • In einer Ausführungsform kann ein neuronales Netzwerk so ausgelegt sein, dass es einen Architekturraum darstellt. Das neuronale Netzwerk kann in 3 Stufen unterteilt sein, wobei jede Stufe 8 Faltungsmodule einschließen kann. In dieser Ausführungsform kann jede Stufe eine ähnliche Struktur wie das NSA D aufweisen, wie vorstehend erörtert. Eine Unterarchitektur kann von jeder Stufe abgetastet werden, und daher kann eine Architektur durch Verbinden der drei Unterarchitekturen abgetastet werden. Zum Beispiel können in den Knoten breite Faltungen mit einem Verbreiterungsfaktor (zum Beispiel ist der Verbreiterungsfaktor 10 oder dergleichen) zur Merkmalsextraktion verwendet werden. Eine gleichförmige Summe kann jedem Faltungsmodul vorausgehen, um eingehende Merkmalskarten zu aggregieren, und eine Stapelnormalisierung (BN) kann auf das Faltungsmodul folgen, d. h. ein ReLU-Convolution-BN-Triplett kann in jedem von mindestens einem Teil der Knoten eingeschlossen sein.
  • Es versteht sich, dass die Größe des gesamten Architekturraums, wie vorstehend erörtert, riesig wäre. In einer Ausführungsform kann eine Verfeinerung des Architekturraums durchgeführt werden, bei der eine Teilmenge von Architekturen aus dem gesamten Architekturraum abgetastet werden kann. Zum Beispiel kann, um bedeutungslose Architekturabtastungen zu vermeiden, ein wissensgesteuerter Abtaster, wie das Erdös-Renyi-Modell (ER-Modell) (siehe Saining Xie, Alexander Kirillov, Ross Girshick und Kaiming He, Exploring randomly wired neural networks for image recognition, in Proceedings of the IEEE International Conference on Computer Vision, 460, Seiten 1284-1293, 2019), verwendet werden, um die Teilmenge von Architekturen aus dem gesamten Architekturraum abzutasten, zum Beispiel kann der Abtaster mit einer Wahrscheinlichkeit von 0,3, eines der möglichen Skip-Connection-Muster zu aktivieren, verwendet werden, um die Architekturen abzutasten. Als ein Beispiel kann eine Anzahl von 500 Architekturen mit dem Abtaster abgetastet werden, um den verfeinerten Architekturraum zu bilden. Es versteht sich, dass die Größe des verfeinerten Architekturraums nicht auf eine spezifische Anzahl beschränkt ist, zum Beispiel kann die Größe 500, 5000, 50000 oder andere Zahlen betragen. Das auf gemeinsam genutzten Gewichten basierende NSA kann der verfeinerte Architekturraum sein, der die abgetasteten Netzwerkarchitekturen einschließt. Das auf gemeinsam genutzten Gewichten basierende NSA kann in einigen Ausführungsformen auch der gesamte Architekturraum sein. Es versteht sich, dass das auf gemeinsam genutzten Gewichten basierende NSA durch einen Satz von darin enthaltenen Gewichten dargestellt werden kann.
  • Der Trainingsdatensatz kann in eine Vielzahl von Ministapeln unterteilt werden, wobei jeder Ministapel eine Vielzahl von Instanzen enthält. Zum Beispiel wird der Trainingsdatensatz in M Ministapel unterteilt, wobei jeder Ministapel N Trainingsdateninstanzen enthält. Die Größe des NSA ist S, d. h. das NSA, das den verfeinerten Architekturraum darstellt, schließt S Netzwerkarchitekturen ein. In einer Ausführungsform ist S nicht kleiner als 500. In einer Ausführungsform ist S nicht kleiner als 500 und nicht größer als 5000. Die Gewichte des NSA können auf beliebige geeignete Weise initialisiert werden, zum Beispiel können alle Gewichte als 1 initialisiert werden, oder ein beliebiges der Gewichte kann als eine Zufallszahl initialisiert werden.
  • In Schritt 210 wird ein Ministapel aus der Vielzahl von Ministapeln ausgewählt, zum Beispiel wird ein Ministapel zufällig aus den M Ministapeln ausgewählt, und der ausgewählte Ministapel schließt N Instanzen von Trainingsdaten ein.
  • In Schritt 220 wird eine Netzwerkarchitektur aus dem NSA für den ausgewählten Ministapel ausgewählt. Zum Beispiel wird eine Netzwerkarchitektur A zufällig aus den S Architekturen des NSA mit einer Verteilung P(A) abgetastet. In dem beispielhaften NSA, wie vorstehend erörtert, schließt die zufällig ausgewählte Netzwerkarchitektur A 24 Vorgangsknoten, die in Reihe verbunden sind, und einen Satz von Umgehungskanten ein, wobei jeder Knoten ein ReLU-Convolution-BN-Vorgangstriplett einschließt.
  • In Schritt 230-1 wird eine erste der N Instanzen des ausgewählten Ministapels auf die ausgewählte Netzwerkarchitektur A angewendet, um einen Verlustwert zu erhalten. In ähnlicher Weise wird in den Schritten 230-2 bis 230-N jede von der zweiten bis N-ten Instanz des ausgewählten Ministapels auf die ausgewählte Netzwerkarchitektur A angewendet, um einen Verlustwert zu erhalten. Der Verlustwert für eine Instanz kann wie folgt formuliert werden: L = log p ( y i | x i ; W , A ) , A p ( A )
    Figure DE112020007372T5_0001
    wobei W die in der Netzwerkarchitektur enthaltenen Gewichte bezeichnet, (xi, yi) die Instanz von Trainingsdaten bezeichnet, zum Beispiel xi die in die Netzwerkarchitektur eingegebenen Daten bezeichnet, yi die Daten bezeichnet, die von der Netzwerkarchitektur ausgegeben werden sollen. p(yi | xi; W, A) ist die prädiktive Verteilung, aus der der Verlustwert L = -log p(yi | xi; W, A) erhalten wird. Es versteht sich, dass, obwohl die Schritte 230-1 bis 230-N als parallele Prozesse veranschaulicht sind, diese Schritte auch in einer oder mehreren Schleifen durchgeführt werden können, in denen die Schritte nacheinander durchgeführt werden.
  • In Schritt 240 werden die N Verlustwerte für die N Instanzen des ausgewählten Ministapels gemittelt, um einen mittleren Verlustwert über den Ministapel zu erhalten. Dann kann der mittlere Verlustwert für einen Ministapel wie folgt formuliert werden: L = 1 | B | ( x i , y i ) B   log  p ( y i | x i ; W , A ) , A p ( A )
    Figure DE112020007372T5_0002
    wobei B den ausgewählten Ministapel von Trainingsdaten bezeichnet, |B| die Anzahl von im Ministapel enthaltenen Instanzen bezeichnet, wobei in diesem Beispiel |B| gleich N ist.
  • In Schritt 250 werden die Gewichte der ausgewählten Netzwerkarchitektur basierend auf dem mittleren Verlust aktualisiert. Dementsprechend werden die gemeinsam genutzten Gewichte des NSA aktualisiert. Zum Beispiel können Gradienten für die Gewichte durch Rückpropagieren des mittleren Verlusts für den Ministapel entlang der ausgewählten Netzwerkarchitektur berechnet werden, und dementsprechend werden die Gewichte der ausgewählten Netzwerkarchitektur unter Verwendung der Gradienten aktualisiert. Die gemeinsam genutzten Gewichte der ausgewählten Netzwerkarchitektur schließen die Gewichte für die in der Netzwerkarchitektur enthaltenen Vorgänge und die Gewichte für die in der Netzwerkarchitektur enthaltenen Kanten ein. In dem Beispiel, dass das ReLU-Convolution-BN-Vorgangstriplett in den Knoten verwendet wird, schließen die gemeinsam genutzten Gewichte die Gewichte für die Faltungsvorgänge und die Gewichte für die BN-Vorgänge ein. Die Gewichte für die Kanten können als Summierungsgewichte bezeichnet werden.
  • Dann kann der Prozess der Schritte 210-250 für einen weiteren aus den M Ministapeln ausgewählten Ministapel wiederholt werden. Der Prozess der Schritte 210-250 kann für die M Ministapel des Trainingsdatensatzes M Mal wiederholt werden. Das Verfahren zum Durchlaufen des Trainingsdatensatzes durch Wiederholen des Prozesses der Schritte 210-250 für die M Male kann als eine Epoche bezeichnet werden. Eine Vielzahl von Epochen kann für den Trainingsdatensatz durchgeführt werden, bis eine Konvergenzbedingung erreicht wird. Zum Beispiel kann die Konvergenzbedingung sein, dass der Verlustwert stabil unter einem Schwellenwert liegt.
  • 3 veranschaulicht ein beispielhaftes Verfahren zum Inferenzieren mit einem auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
  • Das Inferenzieren kann unter Verwendung eines auf gemeinsam genutzten Gewichten basierenden trainierten NSA durchgeführt werden. Zum Beispiel kann das auf gemeinsam genutzten Gewichten basierende NSA ein neuronales Netzwerk für Aufgaben sein, das durch den vorstehend unter Bezugnahme auf 2 veranschaulichten Prozess oder durch den nachstehend unter Bezugnahme auf 5 veranschaulichten Prozess für das Durchführen einer spezifischen Aufgabe trainiert wird.
  • In Schritt 310 wird ein Eingabedatenobjekt empfangen. In einigen Beispielen kann das neuronale Netzwerk für Aufgaben dazu konfiguriert sein, ein Eingabebild zu empfangen und das Eingabebild zu verarbeiten, um eine Netzwerkausgabe für das Eingabebild zu erzeugen, d. h. um eine Art von Maschinenlernaufgabe zur Bildverarbeitung durchzuführen. Zum Beispiel kann die spezielle Maschinenlernaufgabe eine Bildklassifizierung sein, und die Ausgabe, die von dem neuronalen Netzwerk für ein gegebenes Bild erzeugt wird, kann Punktzahlen für jede von einem Satz von Objektkategorien sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, dass das Bild ein Bild eines Objekts enthält, das zu der Kategorie gehört. Als noch ein weiteres Beispiel kann die spezielle Maschinenlernaufgabe eine Objekterfassung sein, und die von dem neuronalen Netzwerk erzeugte Ausgabe kann identifizierte Stellen im Eingabebild sein, an denen bestimmte Arten von Objekten dargestellt sind.
  • Als weiteres Beispiel sind die Eingaben in das neuronale Netzwerk für Aufgaben Internetressourcen (z. B. Webseiten), -dokumente oder -dokumentabschnitte oder Merkmale, die aus Internetressourcen, -dokumenten oder -dokumentabschnitten extrahiert wurden, die spezielle Maschinenlernaufgabe kann das Klassifizieren der Ressource oder des Dokuments („Ressourcenklassifizierung“) sein, d. h. die von dem neuronalen Netzwerk für Aufgaben für eine gegebene Internetressource, ein gegebenes Internetdokument oder einen gegebenen Internetdokumentabschnitt erzeugte Ausgabe kann eine Punktzahl für jedes von einem Satz von Themen sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, dass die Internetressource, das Internetdokument oder der Internetdokumentabschnitt das jeweilige Thema betrifft.
  • Als weiteres Beispiel kann die spezielle Aufgabe eine Gesundheitsprognoseaufgabe sein, die Eingabe sind elektronische Gesundheitsdatensatzdaten für einen Patienten und die Ausgabe ist eine Prognose, die für die zukünftige Gesundheit des Patienten relevant ist, z. B. eine prognostizierte Behandlung, die dem Patienten verschrieben werden sollte, zusammen mit einer Punktzahl, die Wahrscheinlichkeit, dass ein unerwünschtes gesundheitsbezogenes Ereignis bei dem Patienten auftritt, oder eine prognostizierte Diagnose für den Patienten zusammen mit einer Punktzahl.
  • Als weiteres Beispiel kann die spezielle Aufgabe eine Aufgabe zur Steuerung eines Agenten sein, wobei die Eingabe eine Beobachtung ist, die den Zustand einer Umgebung charakterisiert, und die Ausgabe eine Aktion definiert, die von dem Agenten als Reaktion auf die Beobachtung durchgeführt werden soll. Der Agent kann z. B. ein realer oder simulierter Roboter, ein Steuersystem für automatisches Fahren, ein Steuersystem für eine Industrieanlage oder ein Steuersystem, das eine andere Art von Agent steuert, sein.
  • Als weiteres Beispiel sind die Eingaben in das neuronale Netzwerk für Aufgaben Merkmale eines Eindruckskontexts für eine bestimmte Werbeanzeige, wobei die von dem neuronalen Netzwerk für Aufgaben erzeugte Ausgabe eine Punktzahl sein kann, die eine geschätzte Wahrscheinlichkeit darstellt, dass auf die bestimmte Werbeanzeige geklickt wird.
  • Als weiteres Beispiel sind die Eingaben in das neuronale Netzwerk für Aufgaben Merkmale einer personalisierten Empfehlung für einen Benutzer, z. B. Merkmale, die den Kontext für die Empfehlung charakterisieren, z. B. Merkmale, die frühere vom Benutzer ausgeführte Aktionen charakterisieren, die von dem neuronalen Netzwerk für Aufgaben erzeugte Ausgabe kann eine Punktzahl für jedes von einem Satz von Inhaltselementen sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, dass der Benutzer positiv darauf reagiert, dass ihm das Inhaltselement empfohlen wird.
  • In Schritt 320 werden eine oder mehrere Netzwerkarchitekturen des NSA zufällig ausgewählt. Zum Beispiel wird jede der einen oder mehreren Netzwerkarchitekturen stochastisch aus dem NSA mit einer gleichmäßigen Verteilung oder Wahrscheinlichkeit ausgewählt.
  • In Schritt 330 werden ein oder mehrere Ausgabedatenobjekte von der ausgewählten einen bzw. den ausgewählten mehreren Netzwerkarchitekturen basierend auf dem Eingabedatenobjekt inferenziert. Zum Beispiel verarbeiten die ausgewählte eine bzw. die ausgewählten mehreren Netzwerkarchitekturen die Eingabedaten, um die eine oder die mehreren Inferenzausgaben zu erhalten. Die Beispiele für die Inferenzausgabe durch die Netzwerkarchitekturen zum Durchführen einer bestimmten Aufgabe sind vorstehend in der Erörterung von Schritt 310 veranschaulicht und würden hier nicht wiederholt erläutert werden.
  • In Schritt 340 wird ein endgültiges Inferenzdatenobjekt basierend auf dem einen oder den mehreren Ausgabedatenobjekten erhalten. Zum Beispiel werden in dem Fall, dass mehrere Inferenzausgaben durch mehrere Netzwerkarchitekturen erhalten werden, die mehreren Inferenzausgaben zusammengeführt, um die endgültigen Inferenzdaten zu erhalten. Zum Beispiel werden die mehreren Inferenzausgaben gemittelt, um die endgültigen Inferenzdaten zu erhalten. Zum Beispiel kann eine Abstimmung basierend auf den mehreren Inferenzausgaben durchgeführt werden, um die endgültigen Inferenzdaten zu erhalten.
  • Es versteht sich, dass bei vorhandenen NSA-Verfahren die stochastische Auswahl einer Netzwerkarchitektur eines auf gemeinsam genutzten Gewichten basierenden NSA nur während des Trainingsprozesses ausgeführt wird. In der Ausführungsform der Offenbarung kann durch stochastisches Auswählen einer oder mehrerer Netzwerkarchitekturen eines auf gemeinsam genutzten Gewichten basierenden trainierten NSA während des Inferenzprozesses der Schutz von Netzwerkarchitekturen vor Angriffen verbessert werden, indem die Vielfalt von Architekturen des NSA genutzt wird. Darüber hinaus kann durch Zusammenführen von Inferenzergebnissen aus mehreren stochastisch ausgewählten Netzwerkarchitekturen des trainierten NSA die Genauigkeit und Robustheit des Modells eines trainierten neuronalen Netzwerks verbessert werden.
  • 4 veranschaulicht einen Graphen, der die Genauigkeit und den Verlust zwischen dem Trainieren und dem Testen vergleicht, gemäß einer Ausführungsform.
  • In der Ausführungsform wird das Trainieren gemäß dem Verfahren von 2 durchgeführt und wird das Inferenzieren des Tests gemäß dem Verfahren 3 durchgeführt.
  • Der Verlustwert wird basierend auf der Verlustfunktion berechnet, die in der vorstehend erörterten Gleichung (2) gezeigt wird. Die Berechnung des Genauigkeitswerts kann wie folgt formuliert werden: A ens = 1 | D val | ( x i , y i ) D val   I ( argmax y ( 1 T t = 1 T p ( y | x i ; w , α t ) ) = y i )
    Figure DE112020007372T5_0003
    wobei
    Figure DE112020007372T5_0004
    den in dem Testprozess verwendeten Validierungsdatensatz bezeichnet, { α t } t = 1 T
    Figure DE112020007372T5_0005
    die aus dem trainierten NSA stochastisch ausgewählten Architekturen bezeichnet. Es versteht sich, dass sowohl die Trainingsdaten als auch die Validierungsdaten die Datenpaare (xi, yi) einschließen und sie nur in verschiedenen Stufen verwendet werden.
  • Die Graphen von 4 werden basierend auf der typischen CIFAR-10-Bildklassifizierungsaufgabe erhalten. Die Größe S des NSA ist als 500 bzw. 5000 festgelegt. Die Genauigkeit und der Verlust jedes Stapels von Daten werden gemäß Gleichung (2) und (3) berechnet, und der Durchschnitt der Genauigkeit und des Verlusts wird als Genauigkeit und Verlust des gesamten Datensatzes genommen, wie in den Graphen veranschaulicht.
  • Wie in den Graphen gezeigt, besteht eine Disparität zwischen der Trainingsgenauigkeit und der Testgenauigkeit und zwischen dem Trainingsverlust und dem Testverlust, welche als Trainings-/Testdisparitätsproblem bezeichnet werden kann.
  • Um das Trainings-/Testdisparitätsproblem abzuschwächen, kann eine Lösung darin bestehen, die Vielfalt der stochastisch ausgewählten Netzwerkarchitekturen während des Trainingsprozesses des NSA zu untersuchen.
  • 5 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden NSA gemäß einer Ausführungsform.
  • Der Aufbau des Netzwerkarchitekturraums ist ähnlich wie der vorstehend unter Bezugnahme auf 2 erläuterte. Das auf gemeinsam genutzten Gewichten basierende NSA kann der verfeinerte Architekturraum sein, der die abgetasteten Netzwerkarchitekturen einschließt, oder kann in einigen Ausführungsformen der gesamte Architekturraum sein.
  • Die Gruppierung eines Trainingsdatensatzes in Einheiten von Ministapeln ist ähnlich wie die vorstehend unter Bezugnahme auf 2 erläuterte. Zum Beispiel werden die Trainingsdaten in M Ministapel unterteilt, wobei jeder Ministapel N Trainingsdateninstanzen enthält. Die Größe des NSA ist S, d. h. das NSA, das den verfeinerten Architekturraum darstellt, schließt S Netzwerkarchitekturen ein. In einer Ausführungsform ist S nicht kleiner als 500. In einer Ausführungsform ist S nicht kleiner als 500 und nicht größer als 5000. Die Gewichte des NSA können auf jede geeignete Weise initialisiert werden.
  • In Schritt 510 wird ein Ministapel aus der Vielzahl von Ministapeln ausgewählt, zum Beispiel wird ein Ministapel zufällig aus den M Ministapeln ausgewählt, und der ausgewählte Ministapel schließt N Instanzen von Trainingsdaten ein.
  • In Schritt 520 wird eine Vielzahl von Netzwerkarchitekturen aus dem NSA für den ausgewählten Ministapel ausgewählt. Zum Beispiel können N Netzwerkarchitekturen A1 bis AN zufällig aus den S Netzwerkarchitekturen des NSA mit einer gleichmäßigen Verteilung oder Wahrscheinlichkeit P(A) abgetastet werden, wobei jede der N Netzwerkarchitekturen einer der Instanzen im ausgewählten Ministapel entspricht. In dem beispielhaften NSA, wie vorstehend erörtert, schließt jede der zufällig ausgewählten Netzwerkarchitekturen A1 bis AN 24 Vorgangsknoten, die in Reihe verbunden sind, und einen Satz von Umgehungskanten ein, wobei jeder Knoten ein ReLU-Convolution-BN-Vorgangstriplett einschließt.
  • In Schritt 530-1 wird eine erste der N Instanzen des ausgewählten Ministapels auf eine erste der ausgewählten Netzwerkarchitekturen angewendet, um einen Verlustwert zu erhalten. In ähnlicher Weise wird in den Schritten 530-2 bis 530-N jede von der zweiten bis N-ten Instanz des ausgewählten Ministapels jeweils auf eine von der zweiten bis N-ten Netzwerkarchitektur angewendet, um einen Verlustwert zu erhalten. Der Verlustwert für eine Instanz basierend auf einer Netzwerkarchitektur kann wie folgt formuliert werden: L = log p ( y i | x i ; W , A i ) , A i p ( A )
    Figure DE112020007372T5_0006
    wobei W die in der Netzwerkarchitektur enthaltenen Gewichte bezeichnet, (xi, yi) die Instanz von Trainingsdaten bezeichnet, zum Beispiel xi, die in die Netzwerkarchitektur eingegebenen Daten bezeichnet, yi die Daten bezeichnet, die von der Netzwerkarchitektur ausgegeben werden sollen, Ai eine der ausgewählten Architekturen bezeichnet. p(yi | xi; W, Ai) ist die prädiktive Verteilung, aus der der Verlustwert L = -log p(yi, | xi; W, Ai) erhalten wird. Es versteht sich, dass, obwohl die Schritte 530-1 bis 530-N als parallele Prozesse veranschaulicht sind, diese Schritte auch in einer oder mehreren Schleifen durchgeführt werden können, in denen die Schritte nacheinander durchgeführt werden.
  • In Schritt 540 werden die N Verlustwerte für die N Instanzen des ausgewählten Ministapels gemittelt, um einen mittleren Verlustwert über den Ministapel zu erhalten. Dann kann der mittlere Verlustwert für einen Ministapel wie folgt formuliert werden: L = 1 | B | ( x i , y i ) B log p ( y i | x i ; W , A i ) , A i p ( A ) , i = 1, , | B |
    Figure DE112020007372T5_0007
    wobei B den ausgewählten Ministapel von Trainingsdaten bezeichnet, |B| die Anzahl von im Ministapel enthaltenen Instanzen bezeichnet, wobei in diesem Beispiel |B| gleich N ist.
  • In Schritt 550 werden die Gewichte der ausgewählten Netzwerkarchitekturen basierend auf dem mittleren Verlust aktualisiert. Dementsprechend werden die gemeinsam genutzten Gewichte des NSA aktualisiert. Zum Beispiel kann ein erster Satz von Gradienten für die in der Architektur A1 enthaltenen Gewichte durch Rückpropagieren des mittleren Verlusts für den Ministapel entlang der ausgewählten Netzwerkarchitektur A1 BERECHNET WERDEN, ein zweiter Satz von Gradienten für die in der Architektur A2 enthaltenen Gewichte kann durch Rückpropagieren des mittleren Verlusts entlang der ausgewählten Netzwerkarchitektur A2 berechnet werden und so weiter, ein N-ter Satz von Gradienten für die in der Architektur AN enthaltenen Gewichte kann durch Rückpropagieren des mittleren Verlusts entlang der ausgewählten Netzwerkarchitektur AN BERECHNET WERDEN. Dann können die in den ausgewählten N Netzwerkarchitekturen enthaltenen Gewichte unter Verwendung der N Sätze von Gradienten aktualisiert werden. Zum Beispiel kann jedes der in den ausgewählten N Netzwerkarchitekturen enthaltenen Gewichte unter Verwendung von kumulativen Gradienten für das Gewicht aktualisiert werden. Als weiteres Beispiel kann jedes der in den ausgewählten N Netzwerkarchitekturen enthaltenen Gewichte unter Verwendung eines Gradientendurchschnitts für das Gewicht aktualisiert werden. Die gemeinsam genutzten Gewichte der ausgewählten Netzwerkarchitektur schließen die Gewichte für die in der Netzwerkarchitektur enthaltenen Vorgänge und die Gewichte für die in der Netzwerkarchitektur enthaltenen Kanten ein. In dem Beispiel, dass das ReLU-Convolution-BN-Vorgangstriplett in den Knoten verwendet wird, schließen die gemeinsam genutzten Gewichte die Gewichte für die Faltungsvorgänge und die Gewichte für die BN-Vorgänge ein. Die Gewichte für die Kanten können als Summierungsgewichte bezeichnet werden.
  • Dann kann der Prozess der Schritte 510-550 für einen weiteren aus den M Ministapeln ausgewählten Ministapel wiederholt werden. Der Prozess der Schritte 510-550 kann für die M Ministapel des Trainingsdatensatzes M Mal wiederholt werden. Das Verfahren zum Durchlaufen des Trainingsdatensatzes durch Wiederholen des Prozesses der Schritte 510-550 für die M Male kann als eine Epoche bezeichnet werden. Eine Vielzahl von Epochen kann für den Trainingsdatensatz durchgeführt werden, bis eine Konvergenzbedingung erreicht wird. Zum Beispiel kann die Konvergenzbedingung sein, dass der Verlustwert stabil unter einem Schwellenwert liegt.
  • Obwohl N Netzwerkarchitekturen für den ausgewählten Ministapel ausgewählt werden, der N Instanzen einschließt, wie in Schritt 520 veranschaulicht, ist es auch anwendbar, dass weniger Netzwerkarchitekturen für einen Ministapel ausgewählt werden, zum Beispiel werden N/2, N/3 Netzwerkarchitekturen für den einen Ministapel ausgewählt, während gefordert wird, dass die Anzahl der ausgewählten Netzwerkarchitekturen größer als eins ist.
  • Obwohl der mittlere Verlustwert jeweils entlang der Vielzahl von ausgewählten Netzwerkarchitekturen gradientenbasiert rückpropagiert wird, um die Gewichte des NSA zu aktualisieren, ist es auch anwendbar, dass die Vielzahl von Verlustwerten jeweils entlang der Vielzahl von ausgewählten Netzwerkarchitekturen gradientenbasiert rückpropagiert wird, um die Gewichte des NSA zu aktualisieren.
  • 6 veranschaulicht einen Graphen, der die Genauigkeit und den Verlust zwischen dem Trainieren und dem Testen vergleicht, gemäß einer Ausführungsform.
  • In der Ausführungsform wird das Trainieren gemäß dem Verfahren von 5 durchgeführt, und das Inferenzieren des Tests wird gemäß dem Verfahren 3 durchgeführt. Der Verlustwert wird basierend auf der in der vorstehend erörterten Gleichung (5) gezeigten Verlustfunktion berechnet, und der Genauigkeitswert wird basierend auf der in der vorstehend erörterten Gleichung (3) gezeigten Genauigkeitsfunktion berechnet.
  • Die Graphen von 6 werden basierend auf ähnlichen Bedingungen wie für die Graphen von 4 erhalten, nur dass der Trainingsprozess sich unterscheidet. Insbesondere wird die typische CIFAR-10-Bildklassifizierungsaufgabe durchgeführt. Die Größe S des NSA ist als 500 bzw. 5000 festgelegt. Die Genauigkeit und der Verlust jedes Stapels von Daten werden gemäß Gleichung (5) und (3) berechnet, und der Durchschnitt der Genauigkeit und des Verlusts wird als Genauigkeit und Verlust des gesamten Datensatzes genommen, wie in den Graphen veranschaulicht.
  • Wie in den Graphen gezeigt, wird die Disparität zwischen der Trainingsgenauigkeit und der Testgenauigkeit und zwischen dem Trainingsverlust und dem Testverlust in 6 gegenüber der in 4 gezeigten deutlich abgeschwächt.
  • Gemäß einer Ausführungsform können, um die Vielfalt der stochastisch ausgewählten Netzwerkarchitekturen des NSA während des Trainingsprozesses und des Inferenzprozesses weiter zu untersuchen, zusätzliche Gewichte jeder Netzwerkarchitektur des NSA zusätzlich zu den gemeinsam genutzten Gewichten des NSA konfiguriert werden. Die architekturspezifischen Gewichte können in Anbetracht des Rechen- und Speicherressourcenbedarfs niedrigdimensional sein. In einer Ausführungsform können Gewichte für Summierungsaggregationen (d. h. die Gewichte von Kanten) und Gewichte für affine Transformationen in BN-Vorgängen (d. h. die Gewichte für BN-Vorgänge) als die architekturspezifischen Gewichte konfiguriert werden. Dementsprechend können die Gewichte, die nicht die architekturspezifischen Gewichte sind, als die gemeinsam genutzten Gewichte des NSA konfiguriert werden, zum Beispiel können die Gewichte der Faltungsvorgänge in dem Beispiel des ReLU-Convolution-BN-Vorgangstripletts, das in den Knoten verwendet wird, als die gemeinsam genutzten Gewichte des NSA konfiguriert werden. Daher werden zusätzlich zu einem Satz von gemeinsam genutzten Gewichten für alle Netzwerkarchitekturen des NSA S Sätze von architekturspezifischen Gewichten (z. B. affines Gewicht und Bias für BN und Summierungskoeffizienten für die Aggregation) jeweils für die S Netzwerkarchitekturen des NSA konfiguriert. Ein Satz von architekturspezifischen Gewichten für eine Netzwerkarchitektur wird nur aktualisiert, wenn die Netzwerkarchitektur in einem Trainingsschritt ausgewählt wird, wie in 2 und 5 beispielhaft gezeigt.
  • Wieder zurück in 5 werden, in der Ausführungsform, in der architekturspezifische Gewichte konfiguriert werden, der Satz von gemeinsam genutzten Gewichten und die S Sätze von architekturspezifischen Gewichten des NSA vor dem Schritt 510 initialisiert.
  • In Schritt 510 wird ein Ministapel aus der Vielzahl von Ministapeln ausgewählt, zum Beispiel wird ein Ministapel zufällig aus den M Ministapeln ausgewählt, und der ausgewählte Ministapel schließt N Instanzen von Trainingsdaten ein.
  • In Schritt 520 wird eine Vielzahl von Netzwerkarchitekturen aus dem NSA für den ausgewählten Ministapel ausgewählt. Zum Beispiel können N Netzwerkarchitekturen A1 bis AN zufällig aus den S Netzwerkarchitekturen des NSA mit einer gleichmäßigen Verteilung oder Wahrscheinlichkeit P(A) abgetastet werden, wobei jede der N Netzwerkarchitekturen einer der Instanzen im ausgewählten Ministapel entspricht. Für jede der N ausgewählten Netzwerkarchitekturen kommen die gemeinsam genutzten Gewichte, die in der Netzwerkarchitektur enthalten sind, aus dem Satz von gemeinsam genutzten Gewichten des NSA, und die architekturspezifischen Gewichte der Netzwerkarchitektur sind einer der S Sätze von architekturspezifischen Gewichten, die der Netzwerkarchitektur entsprechen, daher bilden die in der Netzwerkarchitektur enthaltenen gemeinsam genutzten Gewichte und die architekturspezifischen Gewichte der Netzwerkarchitektur die Gewichte der Netzwerkarchitektur, oder bilden, mit anderen Worten, die Netzwerkarchitektur.
  • In Schritt 530-1 wird eine erste der N Instanzen des ausgewählten Ministapels auf eine erste der ausgewählten Netzwerkarchitekturen angewendet, um einen Verlustwert zu erhalten, wobei die erste Netzwerkarchitektur gemeinsam genutzte Gewichte und architekturspezifische Gewichte aufweist. In ähnlicher Weise wird in den Schritten 530-2 bis 530-N jede von der zweiten Instanz bis zur N-ten Instanz des ausgewählten Ministapels jeweils auf eine von der zweiten bis N-ten Netzwerkarchitektur angewendet, um einen Verlustwert zu erhalten, wobei jede der zweiten bis N-ten Netzwerkarchitektur gemeinsam genutzte Gewichte und architekturspezifische Gewichte aufweist. Der Verlustwert für eine Instanz basierend auf einer Netzwerkarchitektur kann gemäß der vorstehenden Gleichung (4) berechnet werden.
  • In Schritt 540 werden die N Verlustwerte für die N Instanzen des ausgewählten Ministapels gemittelt, um einen mittleren Verlustwert über den Ministapel zu erhalten.
  • In Schritt 550 werden die Gewichte der ausgewählten Netzwerkarchitekturen basierend auf dem mittleren Verlust aktualisiert. Zum Beispiel kann ein erster Satz von Gradienten für die in der Architektur A1 enthaltenen Gewichte (einschließlich der gemeinsam genutzten Gewichte und der architekturspezifischen Gewichte) durch Rückpropagieren des mittleren Verlusts für den Ministapel entlang der ausgewählten Netzwerkarchitektur A1 berechnet werden, ein zweiter Satz von Gradienten für die in der Architektur A2 enthaltenen Gewichte kann durch Rückpropagieren des mittleren Verlusts entlang der ausgewählten Netzwerkarchitektur A2 berechnet werden und so weiter, ein N-ter Satz von Gradienten für die in der Architektur AN enthaltenen Gewichte kann durch Rückpropagieren des mittleren Verlusts entlang der ausgewählten Netzwerkarchitektur AN berechnet werden. Dann können die in den ausgewählten N Netzwerkarchitekturen enthaltenen Gewichte unter Verwendung der N Sätze von Gradienten aktualisiert werden. Zum Beispiel kann jedes der in den ausgewählten N Netzwerkarchitekturen enthaltenen gemeinsam genutzten Gewichte unter Verwendung von kumulativen Gradienten für das gemeinsam genutzte Gewicht aktualisiert werden. In ähnlicher Weise kann jedes der in den ausgewählten N Netzwerkarchitekturen enthaltenen architekturspezifischen Gewichte unter Verwendung von kumulativen Gradienten für das architekturspezifische Gewicht aktualisiert werden, und dementsprechend können die N Sätze der architekturspezifischen Gewichte für die N Netzwerkarchitekturen in diesem Trainingsschritt aktualisiert werden, wie beispielhaft in 5 gezeigt. Als weiteres Beispiel kann jedes der in den ausgewählten N Netzwerkarchitekturen enthaltenen Gewichte unter Verwendung eines Gradientendurchschnitts für das Gewicht aktualisiert werden. In einer Ausführungsform schließen die gemeinsam genutzten Gewichte der ausgewählten Netzwerkarchitekturen die Gewichte für mindestens einen Teil der in der Netzwerkarchitektur enthaltenen Vorgänge ein, und die architekturspezifischen Gewichte der ausgewählten Netzwerkarchitekturen schließen die Gewichte für einen Teil von Vorgängen und die Gewichte für die in der Netzwerkarchitektur enthaltenen Kanten ein. In dem Beispiel, in dem das ReLU-Convolution-BN-Vorgangstriplett in den Knoten verwendet wird, schließen die gemeinsam genutzten Gewichte die Gewichte für die Faltungsvorgänge ein, und die architekturspezifischen Gewichte schließen die Gewichte für die BN-Vorgänge und die Gewichte für die Kanten ein.
  • Es versteht sich, dass die Lösung für die architekturspezifischen Gewichte auch in dem in 2 gezeigten Verfahren auf ähnliche Weise angewendet werden kann.
  • 7 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden Netzwerks mit stochastischen Architekturen gemäß einer Ausführungsform.
  • In Schritt 710 wird ein Ministapel aus einer Vielzahl von Ministapeln ausgewählt, wobei ein Trainingsdatensatz für eine Aufgabe in die Vielzahl von Ministapeln gruppiert wird und jeder der Vielzahl von Ministapeln eine Vielzahl von Instanzen umfasst.
  • In Schritt 720 wird eine Vielzahl von Netzwerkarchitekturen des neuronalen Netzwerks für den ausgewählten Ministapel stochastisch ausgewählt.
  • In Schritt 730 wird ein Verlust für jede Instanz des ausgewählten Ministapels durch Anwenden der Instanz auf eine der ausgewählten Vielzahl von Netzwerkarchitekturen erhalten.
  • In Schritt 740 werden gemeinsam genutzte Gewichte des neuronalen Netzwerks basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels aktualisiert.
  • In einer Ausführungsform umfasst das neuronale Netzwerk einen Satz von Knoten und einen Satz von Kanten, wobei jeder der Knoten mindestens einen Vorgang darstellt, wobei jede der Kanten zwei der Knoten verbindet, wobei jede Netzwerkarchitektur des neuronalen Netzwerks als ein gerichteter Graph von Knoten, die durch Kanten verbunden sind, dargestellt wird.
  • In einer Ausführungsform umfassen die gemeinsam genutzten Gewichte des neuronalen Netzwerks mindestens einen Teil der Vorgänge der Knoten. In einer Ausführungsform umfasst der mindestens eine Teil der Vorgänge Faltungsvorgänge.
  • In einer Ausführungsform werden Gradienten für die gemeinsam genutzten Gewichte des neuronalen Netzwerks durch Rückpropagieren des mittleren Verlusts des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang der ausgewählten Vielzahl von Netzwerkarchitekturen oder durch Rückpropagieren des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang einer entsprechenden der ausgewählten Vielzahl von Netzwerkarchitekturen berechnet, und die gemeinsam genutzten Gewichte des neuronalen Netzwerks werden unter Verwendung einer Akkumulation der Gradienten für jedes der gemeinsam genutzten Gewichte aktualisiert.
  • In einer Ausführungsform umfasst das neuronale Netzwerk ferner architekturspezifische Gewichte für jede Netzwerkarchitektur des neuronalen Netzwerks. Die architekturspezifischen Gewichte für jede der ausgewählten Vielzahl von Netzwerkarchitekturen werden basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels aktualisiert.
  • In einer Ausführungsform umfassen die architekturspezifischen Gewichte für jede Netzwerkarchitektur des neuronalen Netzwerks mindestens eines von: Gewichten von Kanten der Netzwerkarchitektur, Gewichten eines Teils von Vorgängen der Netzwerkarchitektur. In einer Ausführungsform umfasst der Teil von Vorgängen Stapelnormalisierungsvorgänge (BN-Vorgänge).
  • In einer Ausführungsform werden Gradienten für die in der ausgewählten Vielzahl von Netzwerkarchitekturen enthaltenen architekturspezifischen Gewichte durch Rückpropagieren eines mittleren Verlusts des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang der ausgewählten Vielzahl von Netzwerkarchitekturen oder durch Rückpropagieren des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang einer entsprechenden der ausgewählten Vielzahl von Netzwerkarchitekturen berechnet, und die architekturspezifischen Gewichte für jede der ausgewählten Vielzahl von Netzwerkarchitekturen werden unter Verwendung einer Akkumulation der Gradienten für jedes der in der Netzwerkarchitektur enthaltenen architekturspezifischen Gewichte aktualisiert.
  • In einer Ausführungsform umfasst das neuronale Netzwerk eine Hauptkette, die den Satz von Knoten umfasst, die durch Kanten in Reihe verbunden sind, wobei jede Netzwerkarchitektur des neuronalen Netzwerks die Hauptkette umfasst.
  • 8 veranschaulicht ein beispielhaftes Rechensystem 800 gemäß einer Ausführungsform. Das Rechensystem 800 kann mindestens einen Prozessor 810 umfassen. Das Rechensystem 800 kann ferner mindestens eine Speicherungsvorrichtung 820 umfassen. Die Speicherungsvorrichtung 820 kann computerausführbare Anweisungen speichern, die, wenn sie ausgeführt werden, den Prozessor 810 veranlassen, einen Ministapel aus einer Vielzahl von Ministapeln auszuwählen, wobei ein Trainingsdatensatz für eine Aufgabe in die Vielzahl von Ministapeln gruppiert wird und jeder der Vielzahl von Ministapeln eine Vielzahl von Instanzen umfasst; eine Vielzahl von Netzwerkarchitekturen des neuronalen Netzwerks für den ausgewählten Ministapel stochastisch auszuwählen; einen Verlust für jede Instanz des ausgewählten Ministapels durch Anwenden der Instanz auf eine der Vielzahl von Netzwerkarchitekturen zu erhalten und gemeinsam genutzte Gewichte des neuronalen Netzwerks basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels zu aktualisieren.
  • Die Speicherungsvorrichtung 820 kann computerausführbare Anweisungen speichern, die, wenn sie ausgeführt werden, den Prozessor 810 veranlassen, ein Eingabedatenobjekt zu empfangen; eine oder mehrere Netzwerkarchitekturen des neuronalen Netzwerks zufällig auszuwählen; ein oder mehrere Ausgabedatenobjekte durch die ausgewählte eine bzw. die ausgewählten mehreren Netzwerkarchitekturen basierend auf dem Eingabedatenobjekt abzuleiten und ein endgültiges Inferenzdatenobjekt basierend auf dem einen oder den mehreren Ausgabedatenobjekten zu erhalten.
  • Es versteht sich, dass die Speicherungsvorrichtung 820 computerausführbare Anweisungen speichern kann, die, wenn sie ausgeführt werden, den Prozessor 810 veranlassen, Vorgänge gemäß den Ausführungsformen der vorliegenden Offenbarung, wie sie in Verbindung mit 1-7 beschrieben sind, durchzuführen.
  • Die Ausführungsformen der vorliegenden Offenbarung können in einem computerlesbaren Medium, wie einem nichtflüchtigen computerlesbaren Medium, verkörpert sein. Das nichtflüchtige computerlesbare Medium kann Anweisungen umfassen, die, wenn sie ausgeführt werden, einen oder mehrere Prozessoren veranlassen, Vorgänge gemäß den Ausführungsformen der vorliegenden Offenbarung, wie sie in Verbindung mit 1-8 beschrieben sind, durchzuführen.
  • Es versteht sich, dass alle Vorgänge in den vorstehend beschriebenen Verfahren lediglich beispielhaft sind und die vorliegende Offenbarung nicht auf Vorgänge in den Verfahren oder Sequenzfolgen dieser Vorgänge beschränkt ist und alle anderen Äquivalente unter den gleichen oder ähnlichen Konzepten abdecken sollte.
  • Es versteht sich außerdem, dass alle Module in den vorstehend beschriebenen Einrichtungen in verschiedenen Ansätzen implementiert werden können. Diese Module können als Hardware, Software oder eine Kombination davon implementiert werden. Darüber hinaus können jegliche dieser Module ferner funktionell in Untermodule unterteilt oder zusammen kombiniert werden.
  • Die vorstehende Beschreibung wird bereitgestellt, um es einem Fachmann zu ermöglichen, die verschiedenen hierin beschriebenen Gesichtspunkte auszuführen. Verschiedene Modifikationen dieser Gesichtspunkte werden dem Fachmann leicht ersichtlich, und die hierin definierten allgemeinen Prinzipien können auf andere Gesichtspunkte angewendet werden. Somit sollen die Ansprüche nicht auf die hierin gezeigten Gesichtspunkte beschränkt sein. Alle strukturellen und funktionellen Äquivalente zu den Elementen der verschiedenen in der vorliegenden Offenbarung beschriebenen Gesichtspunkte, die dem Durchschnittsfachmann bekannt sind oder später bekannt werden, werden hierin ausdrücklich durch Bezugnahme aufgenommen und sollen durch die Ansprüche eingeschlossen sein.

Claims (20)

  1. Verfahren zum Trainieren eines auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks mit stochastischen Architekturen, umfassend: Auswählen eines Ministapels aus einer Vielzahl von Ministapeln, wobei ein Trainingsdatensatz für eine Aufgabe in die Vielzahl von Ministapeln gruppiert wird und jeder der Vielzahl von Ministapeln umfassend eine Vielzahl von Instanzen; stochastisches Auswählen einer Vielzahl von Netzwerkarchitekturen des neuronalen Netzwerks für den ausgewählten Ministapel; Erhalten eines Verlusts für jede Instanz des ausgewählten Ministapels durch Anwenden der Instanz auf eine der Vielzahl von Netzwerkarchitekturen; und Aktualisieren von gemeinsam genutzten Gewichten des neuronalen Netzwerks basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels.
  2. Verfahren nach Anspruch 1, das neuronale Netzwerk umfassend einen Satz von Knoten und einen Satz von Kanten, wobei jeder der Knoten mindestens einen Vorgang darstellt, wobei jede der Kanten zwei der Knoten verbindet, wobei jede Netzwerkarchitektur des neuronalen Netzwerks als ein gerichteter Graph von Knoten, die durch Kanten verbunden sind, dargestellt wird.
  3. Verfahren nach Anspruch 2, die gemeinsam genutzten Gewichte des neuronalen Netzwerks umfassend mindestens einen Teil von Vorgängen der Knoten.
  4. Verfahren nach Anspruch 3, der mindestens eine Teil von Vorgängen umfassend Faltungsvorgänge.
  5. Verfahren nach Anspruch 3, wobei das Aktualisieren der gemeinsam genutzten Gewichte des neuronalen Netzwerks basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels ferner umfasst: Berechnen von Gradienten für die gemeinsam genutzten Gewichte des neuronalen Netzwerks durch Rückpropagieren des mittleren Verlusts des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang der ausgewählten Vielzahl von Netzwerkarchitekturen oder durch Rückpropagieren des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang einer entsprechenden der ausgewählten Vielzahl von Netzwerkarchitekturen; und Aktualisieren der gemeinsam genutzten Gewichte des neuronalen Netzwerks durch Verwenden einer Akkumulation oder eines Durchschnitts der Gradienten für jedes der gemeinsam genutzten Gewichte.
  6. Verfahren nach Anspruch 1, das neuronale Netzwerk ferner umfassend architekturspezifische Gewichte für jede Netzwerkarchitektur des neuronalen Netzwerks und das Verfahren ferner umfassend: Aktualisieren der architekturspezifischen Gewichte für jede der ausgewählten Vielzahl von Netzwerkarchitekturen basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels.
  7. Verfahren nach Anspruch 6, das neuronale Netzwerk umfassend einen Satz von Knoten und einen Satz von Kanten, wobei jeder der Knoten mindestens einen Vorgang darstellt, wobei jede der Kanten zwei der Knoten verbindet, wobei jede Netzwerkarchitektur des neuronalen Netzwerks als ein gerichteter Graph von Knoten, die durch Kanten verbunden sind, dargestellt wird.
  8. Verfahren nach Anspruch 7, die architekturspezifischen Gewichte für jede Netzwerkarchitektur des neuronalen Netzwerks umfassend mindestens eines von: Gewichten von Kanten der Netzwerkarchitektur, Gewichten eines Teils von Vorgängen der Netzwerkarchitektur.
  9. Verfahren nach Anspruch 8, der Teil von Vorgängen umfassend StapelnormalisierungsVorgänge (BN-Vorgänge).
  10. Verfahren nach Anspruch 8, wobei das Aktualisieren der architekturspezifischen Gewichte für jede der ausgewählten Vielzahl von Netzwerkarchitekturen basierend auf dem Verlust für jede Instanz des ausgewählten Ministapels ferner umfasst: Berechnen von Gradienten für die in der ausgewählten Vielzahl von Netzwerkarchitekturen enthaltenen architekturspezifischen Gewichte durch Rückpropagieren eines mittleren Verlusts des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang der ausgewählten Vielzahl von Netzwerkarchitekturen oder durch Rückpropagieren des jeweiligen Verlusts für jede Instanz des ausgewählten Ministapels entlang einer entsprechenden einen der ausgewählten Vielzahl von Netzwerkarchitekturen; und Aktualisieren der architekturspezifischen Gewichte für jede der ausgewählten Vielzahl von Netzwerkarchitekturen durch Verwenden einer Akkumulation oder eines Durchschnitts der Gradienten für jedes der in der Netzwerkarchitektur enthaltenen architekturspezifischen Gewichte.
  11. Verfahren nach Anspruch 2 oder 7, das neuronale Netzwerk umfassend eine Hauptkette, die den Satz von Knoten umfasst, die durch Kanten in Reihe verbunden sind, wobei jede Netzwerkarchitektur des neuronalen Netzwerks die Hauptkette umfasst.
  12. Verfahren nach Anspruch 1, ferner umfassend: Wiederholen der Schritte nach Anspruch 1, bis alle der Vielzahl von Ministapeln einmal ausgewählt wurden.
  13. Verfahren nach Anspruch 12, ferner umfassend: Wiederholen des Wiederholungsschritts nach Anspruch 12, bis eine Konvergenzbedingung erfüllt ist.
  14. Verfahren zum Inferenzieren durch Verwenden eines auf gemeinsam genutzten Gewichten basierenden neuronalen Netzwerks, umfassend: Empfangen eines Eingabedatenobjekts; zufälliges Auswählen einer oder mehrerer Netzwerkarchitekturen des neuronalen Netzwerks; Interferieren eines oder mehrerer Ausgabedatenobjekte durch die ausgewählte eine beziehungsweise die ausgewählten mehreren Netzwerkarchitekturen basierend auf dem Eingabedatenobjekt; und Erhalten eines endgültigen Inferenzdatenobjekts basierend auf dem einen oder den mehreren Ausgabedatenobjekten.
  15. Verfahren nach Anspruch 14, das neuronale Netzwerk umfassend mindestens eines von: gemeinsam genutzten Gewichten des neuronalen Netzwerks und architekturspezifischen Gewichten für jede Netzwerkarchitektur des neuronalen Netzwerks.
  16. Verfahren nach Anspruch 15, das neuronale Netzwerk umfassend einen Satz von Knoten und einen Satz von Kanten, wobei jeder der Knoten mindestens einen Vorgang darstellt, wobei jede der Kanten zwei der Knoten verbindet, wobei jede Netzwerkarchitektur des neuronalen Netzwerks als ein gerichteter Graph von Knoten, die durch Kanten verbunden sind, dargestellt wird.
  17. Verfahren nach Anspruch 16, die gemeinsam genutzten Gewichte des neuronalen Netzwerks umfassend mindestens einen Teil von Vorgängen der Knoten und die architekturspezifischen Gewichte für jede Netzwerkarchitektur des neuronalen Netzwerks umfassend mindestens eines von: Gewichten von Kanten der Netzwerkarchitektur, Gewichten eines Teils von Vorgängen der Netzwerkarchitektur.
  18. Verfahren nach Anspruch 14, wobei das neuronale Netzwerk durch Verwenden des Verfahrens nach einem der Ansprüche 1 bis 13 trainiert wird.
  19. Computersystem, umfassend: einen oder mehrere Prozessoren; und eine oder mehrere Speicherungsvorrichtungen, auf denen computerausführbare Anweisungen gespeichert werden, die, wenn sie ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die Vorgänge des Verfahrens nach einem der Ansprüche 1 bis 18 durchzuführen.
  20. Eine oder mehrere computerlesbare Speicherungsvorrichtungen, auf denen computerausführbare Anweisungen gespeichert werden, die, wenn sie ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die Vorgänge des Verfahrens nach einem der Ansprüche 1 bis 18 durchzuführen.
DE112020007372.6T 2020-10-15 2020-10-15 Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen Pending DE112020007372T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/121170 WO2022077343A1 (en) 2020-10-15 2020-10-15 Method and apparatus for weight-sharing neural network with stochastic architectures

Publications (1)

Publication Number Publication Date
DE112020007372T5 true DE112020007372T5 (de) 2023-05-25

Family

ID=81207444

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020007372.6T Pending DE112020007372T5 (de) 2020-10-15 2020-10-15 Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen

Country Status (4)

Country Link
US (1) US20240037390A1 (de)
CN (1) CN116368493A (de)
DE (1) DE112020007372T5 (de)
WO (1) WO2022077343A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355191A (zh) * 2016-08-12 2017-01-25 清华大学 一种深度生成网络随机训练算法及装置
CN110663049B (zh) * 2017-04-28 2023-12-26 谷歌有限责任公司 神经网络优化器搜索
EP3629246B1 (de) * 2018-09-27 2022-05-18 Swisscom AG Systeme und verfahren zur suche nach neuronalen architekturen
US10510002B1 (en) * 2019-02-14 2019-12-17 Capital One Services, Llc Stochastic gradient boosting for deep neural networks

Also Published As

Publication number Publication date
CN116368493A (zh) 2023-06-30
WO2022077343A1 (en) 2022-04-21
US20240037390A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE112016001796T5 (de) Feinkörnige bildklassifizierung durch erforschen von etiketten von einem bipartiten graphen
DE102017121887A1 (de) Ausführen von Kerndurchschreiten in Hardware
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE102014223226A1 (de) Diskriminator, Unterscheidungsprogramm und Unterscheidungsverfahren
DE112016006360T5 (de) Verbessern eines lernens einer abstandsmetrik mit einem n-paar-verlust
DE202016008658U1 (de) Bildklassifikationsneuronalnetze
DE112018005205T5 (de) Komprimierung von vollständig verbundenen / wiederkehrenden Schichten von einem oder mehreren tiefen Netzen durch Durchsetzen von räumlicher Lokalität für Gewichtsmatrizen und erwirken von Frequenzkomprimierung
DE112020001105T5 (de) Erkennung einer genetischen mutation unter verwendung von deep learning
DE112019006156T5 (de) Erkennung und behandlung von unsachgemässen eingaben durch neuronale netzwerke
DE102021004591A1 (de) Für Graphen vorgesehene neuronale Netzwerke für Datensätze mit Heterophilie
DE112017007492T5 (de) System und Verfahren zur Erfassung von Objekten in einem digitalen Bild und System und Verfahren zur Neubewertung von Objekterfassungen
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
DE102022105748A1 (de) Effiziente optimierung für den einsatz und die ausführung neuronaler netze
DE102021200012A1 (de) Optimierte quantisierung für neuronale netze mit verringerter auflösung
EP0901658B1 (de) Verfahren zur optimierung eines fuzzy-regelsatzes durch einen rechner
DE112020003343T5 (de) System und verfahren mit einem robusten tiefen generativen modell
DE112021005925T5 (de) Domänenverallgemeinerter spielraum über metalernen zur tiefen gesichtserkennung
DE112016007411T5 (de) Fuzzy-eingabe für autoencoder
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
DE112020007372T5 (de) Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen
DE102019204118A1 (de) Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild
DE102019104571A1 (de) Künstliches neuronales netz