DE102022113243A1 - Score-basierte generative Modellierung im latenten Raum - Google Patents

Score-basierte generative Modellierung im latenten Raum Download PDF

Info

Publication number
DE102022113243A1
DE102022113243A1 DE102022113243.9A DE102022113243A DE102022113243A1 DE 102022113243 A1 DE102022113243 A1 DE 102022113243A1 DE 102022113243 A DE102022113243 A DE 102022113243A DE 102022113243 A1 DE102022113243 A1 DE 102022113243A1
Authority
DE
Germany
Prior art keywords
distribution
score
values
latent
latent variable
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
DE102022113243.9A
Other languages
English (en)
Inventor
Arash Vahdat
Karsten Kreis
Jan Kautz
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102022113243A1 publication Critical patent/DE102022113243A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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/0464Convolutional networks [CNN, ConvNet]
    • 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/0475Generative 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

Eine Ausführungsform der vorliegenden Erfindung stellt ein Verfahren zur Erzeugung von Daten dar. Das Verfahren umfasst ein Sampling aus einer ersten Verteilung, die dem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen. Das Verfahren umfasst auch ein Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind. Das Verfahren umfasst ferner ein Umwandeln des ersten Satzes von latenten Variablenwerten in eine generative Ausgabe.

Description

  • HINTERGRUND
  • Gebiet der verschiedenen Ausführungsformen
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich allgemein auf maschinelles Lernen und die Computerwissenschaft und insbesondere auf die Score-basierte generative Modellierung im latenten Raum.
  • Beschreibung des in Beziehung stehenden Standes der Technik
  • Beim maschinellen Lernen weisen generative Modelle typischerweise tiefe neuronale Netze (deep neural networks) und/oder andere Arten von Modellen des maschinellen Lernens auf, die trainiert werden, um neue Instanzen von Daten zu erzeugen. Zum Beispiel kann ein generatives Modell auf einem Trainingsdatensatz trainiert werden, der eine große Anzahl von Bildern von Katzen enthält. Während des Trainings „lernt“ das generative Modell die visuellen Attribute der verschiedenen Katzen, die auf den Bildern dargestellt sind. Diese gelernten visuellen Attribute können dann vom generativen Modell verwendet werden, um neue Bilder von Katzen zu erzeugen, die nicht im Trainingsdatensatz enthalten sind.
  • Ein bewertungsbasiertes (oder Score-basiertes) generatives Modell (SGM) ist eine Art von generativem Modell. Ein SGM weist typischerweise einen Vorwärtsdiffusionsprozess auf, der die Eingabedaten allmählich in Rauschen umwandelt, das einer bestimmten Rauschverteilung über eine Reihe von Zeitschritten folgt. Das SGM umfasst ferner einen umgekehrten Entrauschungsprozess, der neue Daten erzeugt, indem er iterativ zufälliges Rauschen aus der Rauschverteilung in die neuen Daten über eine andere Reihe von Zeitschritten überführt. Der umgekehrte Entrauschungsprozess kann durch Umkehrung der Zeitschritte des Vorwärtsdiffusionsprozesses durchgeführt werden. Zum Beispiel kann der Vorwärtsdiffusionsprozess verwendet werden, um einem Bild einer Katze allmählich Rauschen hinzuzufügen, bis ein Bild mit weißem Rauschen erzeugt ist. Der umgekehrte Entrauschungsprozess kann dann verwendet werden, um allmählich Rauschen aus einem Bild mit weißem Rauschen zu entfernen, bis ein Bild mit einer Katze erzeugt ist.
  • Die Funktionsweise eines SGM kann durch eine Reihe komplexer Gleichungen dargestellt werden, die als stochastische Differentialgleichungen (SDEs) bezeichnet werden. Eine erste SDE kann verwendet werden, um den Vorwärtsdiffusionsprozess eines SGM als einen festen Satz von Trajektorien von einem Satz von Daten zu einem entsprechenden Satz von Punkten in einer Rauschverteilung zu modellieren. Eine zweite SDE, die die Umkehrung der ersten SDE ist, kann verwendet werden, um den umgekehrten Entrauschungsprozess des SGM zu modellieren, der einen bestimmten Punkt aus der Rauschverteilung zurück in Daten umwandelt. Die zweite SDE kann durch Trainieren eines neuronalen Netzes approximiert werden, um eine Score-Funktion zu lernen, die die zweite SDE aufweist. Das trainierte neuronale Netz kann dann iterativ ausgeführt werden, um die Score-Funktion über mehrere Zeitschritte zu bewerten, die ein Rausch-Sample in ein neues Daten-Sample umwandeln. Beispielsweise kann die erste SDE verwendet werden, um Bilder von Katzen in einem Trainingsdatensatz in Bilder mit weißem Rauschen umzuwandeln. Das neuronale Netz kann dann so trainiert werden, dass es die von der zweiten SDE erzeugten Scores schätzt, während es die Bilder mit weißem Rauschen wieder in entsprechende Bilder von Katzen umwandelt. Nach dem Training des neuronalen Netzes kann das neuronale Netz zusätzliche Scores generieren, die verwendet werden, um ein zufälliges Bild mit weißem Rauschen in ein Bild einer Katze umzuwandeln, das nicht im Trainingsdatensatz enthalten ist.
  • Ein Nachteil der Verwendung von SGMs, um neue Daten zu erzeugen, ist, dass ein Erzeugen eines neuen Daten-Samples aus einem Rausch-Sample langsam und rechenintensiv ist. In dieser Hinsicht wird ein neuronales Netz, das die Score-Funktion erlernt, die in einer zweiten SDE enthalten ist, die dem umgekehrten Entrauschungsprozess eines SGM entspricht, typischerweise Tausende Male ausgeführt, um eine große Anzahl von Score-Werten zu erzeugen, wenn das Rausch-Sample in das Daten-Sample umgewandelt wird. Folglich kann ein Synthetisieren neuer Daten unter Verwendung eines SGM um mehrere Größenordnungen langsamer und Ressourcen-intensiver sein als ein Synthetisieren neuer Daten unter Verwendung anderer Arten von generativen Modellen.
  • Ein weiterer Nachteil der Verwendung von SGMs, um neue Daten zu generieren, ist, dass SGMs nur mit kontinuierlichen Daten verwendet werden können, von denen Ableitungen berechnet werden können, da SGMs unter Verwendung von SDEs dargestellt werden, die Ableitungen einbeziehen. Dementsprechend können SGMs nicht verwendet werden, um Graphen, Moleküle, Text, binäre Daten, kategoriale Daten und/oder andere Arten von nichtkontinuierlichen Daten zu erzeugen.
  • Wie das vorherige zeigt, werden in diesem Gebiet effektivere Techniken zur Erzeugung neuer Daten unter Verwendung von SGMs benötigt.
  • ZUSAMMENFASSUNG
  • Eine Ausführungsform der vorliegenden Erfindung stellt ein Verfahren zum Erzeugen von Daten vor. Das Verfahren weist ein Sampling aus einer ersten Verteilung auf, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen. Das Verfahren weist auch die Durchführung einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell auf, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind. Das Verfahren weist ferner ein Umwandeln des ersten Satzes von latenten Variablenwerten in eine generative Ausgabe auf.
  • Ein technischer Vorteil der offenbarten Verfahren gegenüber dem Stand der Technik ist, dass mit den offenbarten Verfahren ein Score-basiertes generatives Modell Abbildungen zwischen einer Verteilung latenter Variablen in einem latenten Raum und einer Basisverteilung erzeugt, die der Verteilung latenter Variablen in dem latenten Raum ähnlich ist. Die Abbildungen können dann vorteilhaft genutzt werden, wenn Daten-Samples erzeugt werden. Insbesondere ermöglichen die Abbildungen, dass das Score-basierte generative Modell weniger neuronale Netzwerkauswertungen durchführt und einen wesentlich geringeren Ressourcenaufwand hat, wenn es Samples aus der Basisverteilung in einen Satz latenter Variablenwerte umwandelt, aus denen Daten-Samples erzeugt werden können, im Vergleich zu Ansätzen nach dem Stand der Technik, bei denen Tausende von neuronalen Netzwerkauswertungen über Score-basierte generative Modelle durchgeführt werden, wenn sie Rausch-Samples in Daten-Samples aus komplexen Datenverteilungen umwandeln. Ein weiterer Vorteil der offengelegten Verfahren ist, dass, da der latente Raum, der den latenten Variablenwerten zugeordnet ist, kontinuierlich ist, ein SGM in einem generativen Modell verwendet werden kann, das lernt, nicht-kontinuierliche Daten zu erzeugen. Diese technischen Vorteile stellen eine oder mehrere technologische Verbesserungen gegenüber den Ansätzen des Standes der Technik bereit.
  • Figurenliste
  • Zum besseren Verständnis der oben genannten Merkmale der verschiedenen Ausführungsformen wird eine genauere Beschreibung der oben kurz zusammengefassten erfinderischen Konzepte durch Bezugnahme auf verschiedene Ausführungsformen gegeben, von denen einige in den beigefügten Zeichnungen dargestellt sind. Es ist jedoch zu beachten, dass die beigefügten Zeichnungen nur typische Ausführungsformen der erfindungsgemäßen Konzepte zeigen und daher in keiner Weise als Einschränkung des Umfangs anzusehen sind, und dass es andere, gleichermaßen wirksame Ausführungsformen gibt.
    • 1 zeigt eine Computervorrichtung, die ausgestaltet ist, um einen oder mehrere Aspekte der verschiedenen Ausführungsformen zu implementieren.
    • 2A zeigt eine detailliertere Darstellung der Trainingsmaschine und Ausführungsmaschine von 1 gemäß verschiedener Ausführungsformen.
    • 2B veranschaulicht den Betrieb des VAE und des SGM von 2A gemäß verschiedener Ausführungsformen.
    • 3A veranschaulicht eine beispielhafte Architektur für den Kodierer, der in einer hierarchischen Version des VAE von 2 gemäß verschiedener Ausführungsformen vorhanden ist.
    • 3B zeigt eine beispielhafte Architektur für ein generatives Modell, das in einer hierarchischen Version des VAE aus 2 enthalten ist, gemäß verschiedener Ausführungsformen.
    • 4A veranschaulicht eine beispielhafte Restzelle, die sich innerhalb des Kodierers befindet, der in einer hierarchischen Version des VAE von 2 enthalten ist, gemäß verschiedener Ausführungsformen.
    • 4B veranschaulicht eine beispielhafte Restzelle, die sich in einem generativen Teil einer hierarchischen Version des VAE von 2 befindet, gemäß verschiedener Ausführungsformen.
    • 5 zeigt ein Flussdiagramm von Verfahrensschritten zum Trainieren eines generativen Modells gemäß verschiedener Ausführungsformen.
    • 6 zeigt ein Flussdiagramm von Verfahrensschritten zum Erzeugen einer generativen Ausgabe gemäß verschiedener Ausführungsformen.
    • 7 veranschaulicht ein Spiel-Streaming-System, das ausgestaltet ist, um einen oder mehrere Aspekte der verschiedenen Ausführungsformen zu implementieren.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründlicheres Verständnis der verschiedenen Ausführungsformen bereitzustellen. Einem Fachmann wird jedoch klar sein, dass die erfindungsgemäßen Konzepte auch ohne eines oder mehrere dieser spezifischen Details ausgeführt werden können.
  • Allgemeiner Überblick
  • Generative Modelle weisen typischerweise tiefe neuronale Netze und/oder andere Arten von Modellen des maschinellen Lernens auf, die darauf trainiert sind, neue Instanzen von Daten zu erzeugen. Zum Beispiel kann ein generatives Modell auf einem Trainingsdatensatz trainiert werden, der eine große Anzahl von Bildern von Katzen aufweist. Während des Trainings „lernt“ das generative Modell Muster in Gesichtern, Fell, Körpern, Ausdrücken, Posen und/oder anderen visuellen Attributen der Katzen in den Bildern. Diese gelernten Muster können dann von dem generativen Modell verwendet werden, um neue Bilder von Katzen zu erzeugen, die nicht im Trainingsdatensatz zu finden sind.
  • Ein Score-basiertes generatives Modell (SGM) ist eine Art von generativem Modell. Ein SGM weist typischerweise einen Vorwärtsdiffusionsprozess auf, der die Eingabedaten über eine Reihe von Zeitschritten allmählich in Rauschen umwandelt. Das SGM weist auch einen umgekehrten Entrauschungsprozess auf, der neue Daten durch iteratives Umwandeln von Zufallsrauschen in die neuen Daten über eine andere Reihe von Zeitschritten erzeugt. Der Vorwärtsdiffusionsprozess kann zum Beispiel verwendet werden, um einem Bild einer Katze allmählich Rauschen hinzuzufügen, bis ein Bild mit weißem Rauschen erzeugt ist. Der umgekehrte Entrauschungsprozess kann verwendet werden, um allmählich Rauschen aus einem Bild mit weißem Rauschen zu entfernen, bis ein Bild mit einer Katze erzeugt ist.
  • Der Betrieb eines SGM kann durch eine Reihe komplexer Gleichungen dargestellt werden, die als stochastische Differentialgleichungen (SDEs) bezeichnet werden. Eine erste SDE modelliert den Vorwärtsdiffusionsprozess als einen festen Satz von Trajektorien von einem Satz von Daten zu einem entsprechenden Satz von Rauschen. Eine zweite SDE, die die Umkehrung der ersten SDE ist, modelliert den umgekehrten Entrauschungsprozess, der das Rauschen wieder in Daten umwandelt. Die zweite SDE kann durch Trainieren eines neuronalen Netzes approximiert werden, um eine Score-Funktion für die zweite SDE zu lernen. Das trainierte neuronale Netz kann dann iterativ ausgeführt werden, um die Score-Funktion über mehrere Zeitschritte auszuwerten, die ein Rausch-Sample in ein neues Daten-Sample umwandeln. Die erste SDE kann beispielsweise verwendet werden, um Bilder von Katzen in einem Trainingsdatensatz in Bilder mit weißem Rauschen umzuwandeln. Das neuronale Netz kann trainiert werden, um die Scores zu schätzen, die von der zweiten SDE während der Umwandlung der Bilder mit weißem Rauschen zurück in die entsprechenden Bilder von Katzen erzeugt werden. Nach dem Training des neuronalen Netzes kann das neuronale Netz zusätzliche Scores erzeugen, die zur Umwandlung eines zufälligen Bildes mit weißem Rauschen in ein Bild einer Katze verwendet werden, das nicht im Trainingsdatensatz enthalten ist.
  • SGMs und andere generative Modelle können in verschiedenen Anwendungen der realen Welt verwendet werden. Erstens kann ein SGM verwendet werden, um Bilder, Musik und/oder andere Inhalte zu erzeugen, die in Anzeigen, Veröffentlichungen, Spielen, Videos und/oder anderen Arten von Medien verwendet werden können. Zweitens kann ein SGM in Computergrafikanwendungen eingesetzt werden. Beispielsweise kann ein SGM verwendet werden, um zweidimensionale (2D) oder dreidimensionale (3D) Charaktere, Objekte und/oder Szenen wiederzugeben, ohne dass der Benutzer den 2D- oder 3D-Inhalt explizit zeichnen oder erzeugen muss. Drittens kann ein SGM verwendet werden, um Daten zu erzeugen oder zu ergänzen. So können beispielsweise die Zeitschritte im Vorwärtsdiffusionsprozess in eine „latente“ Darstellung eines Bildes einer Person „integriert“ werden. Die latente Darstellung kann angepasst werden, und eine weitere Integration in Bezug auf den umgekehrten Entrauschungsprozess kann verwendet werden, um die angepasste latente Darstellung in ein anderes Bild umzuwandeln, in dem das Erscheinungsbild der Person (z. B. Gesichtsausdruck, Geschlecht, Gesichtszüge, Haare, Haut, Kleidung, Accessoires usw.) verändert ist. In einem anderen Beispiel kann das SGM verwendet werden, um neue Bilder zu erzeugen, die in den Trainingsdaten für ein anderes Modell des maschinellen Lernens mit einbezogen werden. Viertens kann das SGM verwendet werden, um die Attribute eines gegebenen Trainingsdatensatzes zu analysieren oder zu aggregieren. Zum Beispiel können visuelle Attribute von Gesichtern, Tieren und/oder Objekten, die von einem SGM aus einem Satz von Bildern gelernt wurden, analysiert werden, um die visuellen Attribute besser zu verstehen und/oder die Leistung von Modellen des maschinellen Lernens zu verbessern, die zwischen verschiedenen Arten von Objekten in Bildern unterscheiden.
  • Ein Nachteil einer Verwendung von SGMs, um neue Daten zu erzeugen, ist, dass das Erzeugen eines neuen Daten-Samples aus einem Rausch-Sample langsam und rechenintensiv ist. Diesbezüglich werden typischerweise Tausende von Funktionsauswertungen über das neuronale Netz durchgeführt, das die Score-Funktion in der zweiten SDE erlernt, um Score-Werte zu erzeugen, die zur Umwandlung des Rausch-Samples in das Daten-Sample verwendet werden. Folglich kann ein Synthetisieren neuer Daten über ein SGM um mehrere Größenordnungen langsamer sein als ein Synthetisieren neuer Daten über andere Arten von generativen Modellen.
  • Ein weiterer Nachteil einer Verwendung von SGMs, um neue Daten zu generieren, ist, dass, da die SGMs unter Verwendung von SDEs dargestellt werden, was Ableitungen einbezieht, die SGMs nur mit kontinuierlichen Daten verwendet werden können, von denen Ableitungen berechnet werden können. Dementsprechend können SGMs nicht verwendet werden, um Graphen, Moleküle, Text, binäre Daten, kategoriale Daten und/oder andere nicht-kontinuierliche Daten zu erzeugen.
  • Um den Ressourcenaufwand und die Komplexität zu reduzieren, die mit der Ausführung eines SGM verbunden sind, wird ein anderes Modell des maschinellen Lernens trainiert, um zwischen Datenpunkten in einem Trainingsdatensatz und Werten von „latenten Variablen“ zu konvertieren, die latente Attribute der Datenpunkte in dem Trainingsdatensatz darstellen. Das SGM kann dann trainiert werden, um zwischen den Werten der latenten Variablen und Rausch-Samples zu konvertieren. Um die Anzahl der Zeitschritte und/oder den Ressourcenaufwand zu reduzieren, die für die Konvertierung zwischen den Werten der latenten Variablen und den Rausch-Samples erforderlich sind, kann das andere Modell des maschinellen Lernens trainiert werden, um eine Verteilung der Werte der latenten Variablen zu erzeugen, die der Verteilung der dem SGM zugeordneten Rausch-Samples ähnlich ist. Da ferner der latente Raum, der den latenten Variablenwerten zugeordnet ist, kontinuierlich ist, kann das andere Modell des maschinellen Lernens verwendet werden, um nicht-kontinuierliche Daten in eine Form umzuwandeln, die mit dem SGM verwendet werden kann.
  • In einigen Ausführungsformen ist das andere Modell des maschinellen Lernens ein Variations-Autoencoder (VAE), der unter Verwendung einer Anzahl von neuronalen Netzen implementiert wird. Diese neuronalen Netze können ein neuronales Kodierernetz aufweisen, das trainiert wird, um Datenpunkte in dem Trainingsdatensatz in latente Variablenwerte umzuwandeln. Diese neuronalen Netze können auch ein neuronales Prior-Netz aufweisen, das trainiert wird, um eine Verteilung der latenten Variablen zu erlernen, die dem Trainingsdatensatz zugeordnet sind, wobei die Verteilung der latenten Variablen Variationen und Häufigkeiten der verschiedenen Attribute im Trainingsdatensatz darstellt. Diese neuronalen Netze können zusätzlich ein neuronales Dekodierernetz aufweisen, das so trainiert wird, dass es die vom neuronalen Kodierernetz erzeugten latenten Variablenwerte zurück in Datenpunkte umwandelt, die im Wesentlichen mit den Datenpunkten im Trainingsdatensatz identisch sind.
  • Genauer gesagt ist das neuronale Prior-Netz in der VAE als ein SGM implementiert. Während des Trainings lernt das Kodierernetz in der VAE, einen bestimmten Datenpunkt in einem Trainingsdatensatz in einen Satz latenter Variablen umzuwandeln, und der Vorwärtsdiffusionsprozess in dem SGM wird verwendet, um den Satz latenter Variablen in einen Satz von Rauschwerten umzuwandeln. Das neuronale Prior-Netz lernt eine Score-Funktion, die von dem umgekehrten Entrauschungsprozess in dem SGM verwendet wird, um den Satz von Rauschwerten in den Satz von latenten Variablen umzuwandeln, und das Dekodierernetz in der VAE lernt, den Satz von latenten Variablen zurück in den Datenpunkt umzuwandeln.
  • Das trainierte SGM-basierte neuronale Prior-Netz und das neuronale Dekodierernetz können dann verwendet werden, um eine generative Ausgabe zu erzeugen, die den Daten im Trainingsdatensatz ähnelt. Insbesondere wird das neuronale Prior-Netz verwendet, um eine Reihe von Score-Werten zu erzeugen, die verwendet werden, um einen Satz von Rauschwerten in einen Satz von latenten Variablenwerten umzuwandeln. Das neuronale Dekodierernetz wird dann verwendet, um den Satz latenter Variablenwerte in einen Datenpunkt umzuwandeln. Das Prior-Netz kann beispielsweise dazu verwendet werden, um Score-Werte zu erzeugen, die dazu verwendet werden, den Satz von Rauschwerten in den Satz von latenten Variablen über eine Reihe von Zeitschritten umzuwandeln. Das Dekodierernetz kann den Satz von latenten Variablen in ein Bild umwandeln, das einem Satz von Bildern in dem Trainingsdatensatz ähnelt.
  • System-Übersicht
  • 1 veranschaulicht eine Computervorrichtung 100, die ausgestaltet ist, um einen oder mehrere Aspekte verschiedener Ausführungsformen zu implementieren. In einer Ausführungsform weist die Computervorrichtung 100 einen Desktop-Computer, einen Laptop-Computer, ein Smartphone, einen persönlichen digitalen Assistenten (PDA), einen Tablet-Computer oder eine beliebige andere Art von Computervorrichtung auf, die ausgestaltet ist, um Eingaben zu empfangen, Daten zu verarbeiten und optional Bilder anzuzeigen, und die zum Ausführen einer oder mehrerer Ausführungsformen geeignet ist. Die Computervorrichtung 100 ist ausgestaltet, um eine Trainingsmaschine 122 und eine Ausführungsmaschine 124 auszuführen, die sich in einem Speicher 116 befinden. Es wird darauf hingewiesen, dass die hier beschriebene Computervorrichtung veranschaulichend ist und dass alle anderen technisch machbaren Konfigurationen in den Umfang der vorliegenden Offenbarung fallen. Zum Beispiel können mehrere Instanzen der Trainingsmaschine 122 und der Ausführungsmaschine 124 auf einem Satz von Knoten in einem verteilten und/oder Cloud-Computer-System ausgeführt werden, um die Funktionalität der Computervorrichtung 100 zu implementieren.
  • In einer Ausführungsform weist die Computervorrichtung 100 ohne Einschränkung eine Verbindung (Bus) 112 auf, die einen oder mehrere Prozessoren 102, eine Eingabe-/Ausgabe-(E/A) Vorrichtungsschnittstelle 104, die mit einer oder mehreren Eingabe-/Ausgabe (E/A) Vorrichtungen 108 gekoppelt ist, Speicher 116, einen Speicher 114 und eine Netzschnittstelle 106 verbindet. Der Prozessor oder die Prozessoren 102 kann bzw. können einen beliebigen geeigneten Prozessor aufweisen, der als Zentraleinheit (CPU), Grafikverarbeitungseinheit (GPU), anwendungsspezifischer integrierter Schaltkreis (ASIC), feldprogrammierbares Gate-Array (FPGA), Beschleuniger für künstliche Intelligenz (KI), jede andere Art von Verarbeitungseinheit oder eine Kombination verschiedener Verarbeitungseinheiten, wie z. B. eine CPU, die ausgestaltet ist, um in Verbindung mit einer GPU zu arbeiten, implementiert ist. Im Allgemeinen kann es sich bei dem Prozessor oder den Prozessoren 102 um jede technisch realisierbare Hardwareeinheit handeln, die in der Lage ist, Daten zu verarbeiten und/oder Softwareanwendungen auszuführen. Ferner können im Rahmen dieser Offenbarung die in der Computervorrichtung 100 dargestellten Computerelemente einem physischen Computersystem entsprechen (z. B. einem System in einem Rechenzentrum) oder eine virtuelle Computerinstanz sein, die in einer Computer-Cloud ausgeführt wird.
  • In einer Ausführungsform weisen die E/A-Vorrichtungen 108 Vorrichtungen auf, die Eingaben empfangen können, wie z. B. eine Tastatur, eine Maus, ein Touchpad und/oder ein Mikrofon, sowie Vorrichtungen, die Ausgaben bereitstellen können, wie z. B. eine Anzeigevorrichtung und/oder ein Lautsprecher. Darüber hinaus können die E/A-Vorrichtungen 108 Vorrichtungen aufweisen, die in der Lage sind, sowohl Eingaben zu empfangen als auch Ausgaben bereitzustellen, z.B. einen Touchscreen, einen USB-Anschluss (Universal Serial Bus) und so weiter. Die E/A-Vorrichtungen 108 können ausgestaltet sein, um verschiedene Arten von Eingaben von einem Endbenutzer (z. B. einem Konstrukteur) der Computervorrichtung 100 zu empfangen und auch verschiedene Arten von Ausgaben für den Endbenutzer der Computervorrichtung 100 bereitzustellen, wie beispielsweise angezeigte digitale Bilder oder digitale Videos oder Text. In einigen Ausführungsformen sind eine oder mehrere der E/A-Vorrichtungen 108 ausgestaltet, um die Computervorrichtung 100 mit einem Netz 110 zu verbinden.
  • In einer Ausführungsform ist das Netz 110 jede technisch mögliche Art von Kommunikationsnetz, das den Datenaustausch zwischen der Computervorrichtung 100 und externen Einheiten oder Vorrichtungen, wie einem Webserver oder einer anderen vernetzten Computervorrichtung, ermöglicht. Zum Beispiel kann das Netz 110 unter anderem ein Weitverkehrsnetz (WAN), ein lokales Netz (LAN), ein drahtloses Netz (WiFi) und/oder das Internet aufweisen.
  • In einer Ausführungsform weist der Speicher 114 einen nichtflüchtigen Speicher für Anwendungen und Daten auf und kann Fest- oder Wechselplattenlaufwerke, Flash-Speichergeräte und CD-ROM, DVD-ROM, Blu-Ray, HD-DVD oder andere magnetische, optische oder Festkörperspeichervorrichtungen aufweisen. Die Trainingsmaschine 122 und die Ausführungsmaschine 124 können im Speicher 114 gespeichert und in den Speicher 116 geladen werden, wenn sie ausgeführt werden.
  • In einer Ausführungsform weist der Speicher 116 ein RAM-Modul (Random Access Memory), eine Flash-Speichereinheit oder einen anderen Typ von Speichereinheit oder eine Kombination davon auf. Der Prozessor oder die Prozessoren 102, die E/A-Vorrichtungsschnittstelle 104 und die Netzschnittstelle 106 sind ausgestaltet, um Daten aus dem Speicher 116 zu lesen und in diesen zu schreiben. Der Speicher 116 weist verschiedene Softwareprogramme auf, die von dem Prozessor oder den Prozessoren 102 ausgeführt werden können und Anwendungsdaten, die diesen Softwareprogrammen zugeordnet sind, einschließlich der Trainingsmaschine 122 und der Ausführungsmaschine 124.
  • Die Trainingsmaschine 122 weist die Funktionalität auf, um ein generatives Modell auf einem Trainingsdatensatz zu trainieren, und die Ausführungsmaschine 124 weist die Funktionalität auf, um einen Teil oder mehrere Teile des generativen Modells auszuführen, um zusätzliche Daten zu erzeugen, die nicht im Trainingsdatensatz gefunden werden. Zum Beispiel kann die Trainingsmaschine 122 eine Anzahl von neuronalen Netzen, die in dem generativen Modell enthalten sind, auf einem Satz von Trainingsbildern trainieren, und die Ausführungsmaschine 124 kann einen Teil der trainierten neuronalen Netze ausführen, um zusätzliche Bilder zu erzeugen, die nicht in dem Satz von Trainingsbildern gefunden werden.
  • In einigen Ausführungsformen weist das generative Modell einen Variations-Autoencoder (VAE) mit einem Prior auf, der unter Verwendung eines Score-basierten generativen Modells (SGM) implementiert ist. Die Trainingsmaschine 122 trainiert einen Kodierer in dem VAE, um Datenpunkte in dem Trainingsdatensatz in latente Variablenwerte in einem latenten Raum umzuwandeln, wobei jede latente Variable ein Attribut der Datenpunkte in dem Trainingsdatensatz darstellt. Die Trainingsmaschine 122 trainiert einen Dekodierer in dem VAE, um die latenten Variablenwerte zurück in Datenpunkte zu wandeln, die im Wesentlichen mit den Datenpunkten im Trainingsdatensatz identisch sind. Die Trainingsmaschine 122 trainiert zusätzlich einen Prior, der durch einen oder mehrere Teile des SGM dargestellt wird, um zwischen den latenten Variablen und Rauschwerten in einer Rauschverteilung umzuwandeln.
  • Die Ausführungsmaschine 124 verwendet dann den trainierten SGM Prior und den Dekodierer, um zusätzliche Daten zu erzeugen. Genauer gesagt, verwendet die Ausführungsmaschine 124 den trainierten SGM Prior, um ein Sample aus einer Standard-Normal-Rauschverteilung in einen Satz latenter Variablenwerte umzuwandeln. Die Ausführungsmaschine 124 verwendet dann den trainierten Dekodierer, um den Satz latenter Variablenwerte in einen Datenpunkt umzuwandeln, der nicht im Trainingsdatensatz enthalten ist. Wie nachstehend näher beschrieben, wird der den latenten Variablen zugeordnete latente Raum so glatt und unimodal wie möglich gehalten, was die Anzahl der Auswertungen des neuronalen Netzes, die für die Umwandlung zwischen dem latenten Raum und der Rauschverteilung erforderlich sind, verringert und dem SGM ermöglicht, mit nicht kontinuierlichen Daten verwendet zu werden.
  • Score-basierte generative Modellierung im latenten Raum
  • 2A ist eine detailliertere Darstellung der Funktionalität, die von der Trainingsmaschine 122 und der Ausführungsmaschine 124 von 1 gemäß verschiedenen Ausführungsformen bereitgestellt wird. Die Trainingsmaschine 122 trainiert einen VAE 200, der eine Verteilung eines Satzes von Trainingsdaten 208 lernt, und die Ausführungsmaschine 124 führt einen oder mehrere Teile des VAE 200 aus, um eine generative Ausgabe 250 zu erzeugen, die zusätzliche Datenpunkte in der Verteilung aufweist, die nicht in den Trainingsdaten 208 enthalten sind.
  • Wie gezeigt, weist VAE 200 eine Anzahl von neuronalen Netzen auf: einen Kodierer 202, einen Prior, der als ein SGM 212 implementiert ist, und einen Dekodierer 206. Der Kodierer 202 „kodiert“ einen Satz von Trainingsdaten 208 in latente Variablenwerte, der Prior lernt die Verteilung latenter Variablen, die vom Kodierer 202 ausgegeben werden, und der Dekodierer 206 „dekodiert“ latente Variablenwerte, die aus der Verteilung gesamplet werden, in rekonstruierte Daten 210, die im Wesentlichen die Trainingsdaten 208 reproduzieren. Die Trainingsdaten 208 können beispielsweise Bilder von menschlichen Gesichtern, Tieren, Fahrzeugen und/oder anderen Arten von Objekten; Sprache, Musik und/oder andere Audiodaten; Artikel, Beiträge, schriftliche Dokumente und/oder anderen Text; 3D-Punktwolken, Maschen und/oder Modelle; und/oder andere Arten von Inhalten oder Daten aufweisen. Wenn die Trainingsdaten 208 Bilder von menschlichen Gesichtern aufweisen, kann der Kodierer 202 Pixelwerte in jedem Bild in eine kleinere Anzahl latenter Variablen umwandeln, die abgeleitete visuelle Attribute der Objekte und/oder Bilder darstellen (z. B., Hauttöne, Haarfarben und - stile, Formen und Größen von Gesichtsmerkmalen, Geschlecht, Gesichtsausdrücke und/oder andere Merkmale menschlicher Gesichter in den Bildern), der Prior kann die Mittelwerte und Varianzen der Verteilung latenter Variablen über mehrere Bilder in den Trainingsdaten 208 lernen, und der Dekodierer 206 kann latente Variablen, die aus der Verteilung latenter Variablen gesamplet und/oder vom Kodierer 202 ausgegeben werden, in Rekonstruktionen von Bildern in den Trainingsdaten 208 umwandeln.
  • Die generative Operation des VAE 200 kann unter Verwendung des folgenden Wahrscheinlichkeitsmodells dargestellt werden: p θ ( x , z ) p θ ( z ) p θ ( x | z ) ,
    Figure DE102022113243A1_0001
    wobei pθ(z) eine Prior-Verteilung ist, die durch den Prior über latente Variablen z gelernt wurde, und pθ(x| z) ist die Wahrscheinlichkeitsfunktion oder der Dekodierer 206, der Daten x bei gegebenen latenten Variablen z erzeugt. Mit anderen Worten werden latente Variablen aus pθ(z) gesamplet, und die Daten x haben eine Wahrscheinlichkeitsverteilung, die durch die gesampleten latenten Variablen z bedingt ist. Das Wahrscheinlichkeitsmodell weist einen Posterior pθ(z|x) auf, der verwendet wird, um Werte der latenten Variablen z abzuleiten. Da pθ(z|x) unlösbar ist, wird eine andere Verteilung qϕ(z|x), die vom Kodierer 202 gelernt wurde, verwendet, um pθ(z|x) zu approximieren.
  • In einigen Ausführungsformen ist der VAE 200 ein hierarchischer VAE, der tiefe neuronale Netze für den Kodierer 202, den Prior und den Dekodierer 206 verwendet. Der hierarchische VAE weist eine latente Variablenhierarchie 204 auf, die latente Variablen in eine Folge von disjunkten Gruppen unterteilt. Innerhalb der latenten Variablenhierarchie 204 wird ein Sample aus einer gegebenen Gruppe latenter Variablen mit einer Merkmalsabbildung kombiniert und an die folgende Gruppe latenter Variablen in der Hierarchie zur Verwendung bei einer Erzeugung eines Samples aus der folgenden Gruppe weitergegeben.
  • In Fortsetzung des durch Gleichung 1 dargestellten Wahrscheinlichkeitsmodells kann eine Partitionierung der latenten Variablen durch z = {z1, z2, ..., zL} dargestellt werden, wobei L die Anzahl der Gruppen ist. Innerhalb der latenten Variablenhierarchie 204 wird in einigen Ausführungsformen der Prior durch p(z) = Πlp(zl| z<l) dargestellt, und der approximierte Posterior wird durch q(z |x) = Π1 q(zl|Z<l,x) dargestellt, wobei: p ( z l | z < l ) = N ( z l ; μ l ( z < l ) , σ l 2 ( z < l ) I )
    Figure DE102022113243A1_0002
    q ( z l | z < l , x ) = N ( z l ; μ l ' ( z < l , x ) , σ l ' 2 ( z < l , x ) I )
    Figure DE102022113243A1_0003
  • Darüber hinaus ist q ( z < l ) E p d ( x ) [ q ( z < l | x ) ]
    Figure DE102022113243A1_0004
    der aggregierte approximierte Posterior bis zu der(l-1)-ten Gruppe, und q ( z l | z < l ) E p d ( x ) [ q ( z l | z < l , x ) ]
    Figure DE102022113243A1_0005
    ist die aggregierte bedingte Verteilung für die l-te Gruppe.
  • In einigen Ausführungsformen weist der Kodierer 202 ein Bottom-up-Modell und ein Top-down-Modell auf, die auf der Grundlage von Trainingsdaten 208 eine bidirektionale Inferenz der Gruppen latenter Variablen durchführen. Das Top-Down-Modell wird dann als Prior wiederverwendet, um latente Variablenwerte abzuleiten, die in den Dekodierer 206 eingegeben werden, um rekonstruierte Daten 210 und/oder eine generative Ausgabe 250 zu erzeugen. Die Architekturen des Kodierers 202 und des Dekodierers 206 werden im Folgenden mit Bezug auf die 3A-3B näher beschrieben.
  • In einer oder mehreren Ausführungsformen wird der Prior des VAE 200 durch ein SGM 212 implementiert. Der Betrieb von SGM 212 wird durch einen Vorwärtsdiffusionsprozess dargestellt, der sequentiell Rauschen zu Daten aus einer gegebenen Verteilung hinzufügt, bis die Daten in eine Rauschverteilung transformiert sind. SGM 212 wird auch durch einen umgekehrten Entrauschungsprozess dargestellt, der iterativ Rauschen von Punkten in der Rauschverteilung entfernt, um neue Daten zu synthetisieren. Der Vorwärtsdiffusionsprozess kann unter Verwendung einer zeitkontinuierlichen stochastischen Differentialgleichung (SDE) modelliert werden, und der umgekehrte Entrauschungsprozess kann unter Verwendung der Umkehrung dieser zeitkontinuierlichen SDE modelliert werden.
  • Beispielsweise kann der Vorwärtsdiffusionsprozess durch { z t } t = 0 t = 1
    Figure DE102022113243A1_0006
    für eine kontinuierliche Zeitvariable t ∈ [0,1] dargestellt werden, wobei z0 eine Startvariable und zt die Perturbation der Startvariablen zum Zeitpunkt t ist. Der Vorwärtsdiffusionsprozess kann durch die folgende Itö SDE definiert werden: d z = ƒ ( z , t ) d t + g ( t ) d w
    Figure DE102022113243A1_0007
    wobei ƒ: ℝ →ℝ und g: ℝ → ℝ skalare Drift- bzw. Diffusionskoeffizienten sind und w der Standard-Wiener-Prozess (z. B. Brownsche Bewegung) ist. ƒ(z,t) und g(t) können so ausgelegt werden, dass z 1 N ( z 1 ; 0, I )
    Figure DE102022113243A1_0008
    einer Normalverteilung mit festem Mittelwert und Varianz am Ende des Diffusionsprozesses folgt.
  • In Fortsetzung des obigen Beispiels kann die SDE in Gleichung 4 in ein generatives Modell umgewandelt werden, indem zuerst ein Sampling von z 1 N ( z 1 ; 0, I )
    Figure DE102022113243A1_0009
    durchgeführt wird und dann der umgekehrte Entrauschungsprozess durchgeführt wird, der durch die folgende Umkehrzeit-SDE definiert ist: d z = [ ƒ ( z , t ) g 2 ( t ) z t log  q ( z t ) ] d t + g ( t ) d w ¯
    Figure DE102022113243A1_0010
    wobei w ein Standard-Wiener-Prozess ist, wenn die Zeit rückwärts von 1 nach 0 fließt, und dt ein infinitesimaler negativer Zeitschritt ist. Die Rückwärtszeit-SDE nutzt das Wissen über ∇zt logq(zt), was eine „Score-Funktion“ ist, die dem Gradienten der log-Dichte der gestörten Variablen zum Zeitpunkt t entspricht. Die Umkehrzeit-SDE weist zusätzlich eine entsprechende gewöhnliche Differentialgleichung (ODE) eines „Wahrscheinlichkeitsflusses“ auf, die dieselben Randwahrscheinlichkeitsverteilungen q(zt) erzeugt, wenn sie auf dieselbe Prior-Verteilung q(z1) wirkt. Diese Wahrscheinlichkeitsfluss-ODE ist gegeben durch: d z = [ ƒ ( z , t ) = g 2 ( t ) 2 z t log  q ( z t ) d t ]
    Figure DE102022113243A1_0011
  • In einigen Ausführungsformen wird die Score-Funktion geschätzt, indem SGM 212 auf Samples aus der gegebenen Verteilung und dem folgenden Score-Matching-Ziel (z. B. Ziele 234) trainiert wird: min θ E t u [ 0,1 ] [ λ ( t ) E q ( z 0 ) E q ( z t | z 0 ) [ z t log  q ( z t ) z t log  p θ ( z t ) 2 2 ] ]
    Figure DE102022113243A1_0012
  • Das obige Score-Matching-Ziel wird zum Trainieren der parametrischen Score-Funktion ∇zt logpθ(zt) zum Zeitpunkt t U [ 0,1 ]
    Figure DE102022113243A1_0013
    für einen gegebenen positiven Gewichtungskoeffizienten λ(t) verwendet. q(z0) ist die z0-erzeugende Verteilung, und q(zt|z0) ist der Diffusionskern, der für bestimmte ƒ(t) und g(t) in geschlossener Form verfügbar ist.
  • Da ∇zt log q(zt) nicht analytisch verfügbar ist, kann ein Entrauschungs-Score-Matching-Verfahren verwendet werden, um das Ziel in Gleichung 4 in das folgende umzuwandeln: min θ E t u [ 0,1 ] [ λ ( t ) E q ( z 0 ) E q ( z t | z 0 ) [ z t log  q ( z t | z 0 ) z t log  p θ ( z t ) 2 2 ] ] + C
    Figure DE102022113243A1_0014
    wobei C = min θ E t u [ 0,1 ] [ λ ( t ) E q ( z 0 ) E q ( z t | z 0 ) [ z t log   q ( z t ) 2 2 z t log  q ( z t | z 0 ) 2 2   ] ]
    Figure DE102022113243A1_0015
    unabhängig von θ ist, wodurch die Minimierungen in Gleichungen 7 und 8 äquivalent sind. Für λ(t) = g2(t)/2 entsprechen diese Minimierungen einem approximativen Maximum-Likelihood-Training, das auf einer oberen Schranke auf der Kullback-Leibler (KL)-Divergenz zwischen der Zielverteilung und der Verteilung basiert, die durch die generative Umkehrzeit-SDE mit der gelernten Score-Funktion definiert ist. Genauer gesagt kann das durch Gleichung 6 dargestellte Score-Matching-Ziel wie folgt umgeschrieben werden: KL ( q ( z 0 ) | p θ ( z 0 ) ) E t u [ 0,1 ] [ g ( t ) 2 2 E q ( z 0 ) E q ( z t | z 0 ) [ z t log q ( z t ) - z t log  q ( z t | z 0 ) 2 2 ] ]
    Figure DE102022113243A1_0016
  • Gleichung 9 kann in ähnlicher Weise wie Gleichung 7 in ein Entrauschungs-Score-Matching umgewandelt werden.
  • Wie zuvor erwähnt, wird SGM 212 verwendet, um die Prior-Verteilung der latenten Variablen in der VAE 200 zu modellieren. Insbesondere kann der Kodierer 202 durch qϕ(z|x) dargestellt werden, das SGM 212 kann durch pθ(z0) dargestellt werden, und der Dekodierer 206 kann durch pψ(x|zo) dargestellt werden. Das SGM 212 nutzt den durch Gleichung 4 definierten Diffusionsprozess und zerstreut Samples z0∼qΦ(zo|x) im latenten Raum, der der latenten Variablenhierarchie 204 zugeordnet ist, zu der Standardnormalverteilung p ( z 1 ) N ( z 1 ; 0, I ) .
    Figure DE102022113243A1_0017
  • In einer oder mehreren Ausführungsformen wird der hierarchische Prior, der durch die latente Variablenhierarchie 204 dargestellt wird, unter Verwendung einer Änderung von Variablen in N ( z 0 ; 0, I )
    Figure DE102022113243A1_0018
    umgewandelt. Genauer gesagt können die latenten Variablen in der latenten Variablenhierarchie 204 durch Einführen von ε l = z l μ l ( z < l ) σ l ( z < l )
    Figure DE102022113243A1_0019
    reparametrisiert werden. Mit dieser Reparametrisierung weist der äquivalente VAE 200 das Folgendes auf: p ( ε l ) = N ( ε l ; 0, I )
    Figure DE102022113243A1_0020
    q ( ε l | ε < l , x ) = N ( ε l ; μ i ' ( z < l , x ) μ l ( z < l ) σ l ( z < l ) , σ l ' 2 ( z < l , x ) σ l 2 ( z < l ) I )
    Figure DE102022113243A1_0021
    wobei zl = µl(z<l) + σl(z<ll und εl latente Variablen mit einem Standard-Normal-Prior darstellt.
  • In einigen Ausführungsformen wird eine Restparametrisierung des Kodierers 202 in dem hierarchischen VAE 200 durchgeführt, um die generative Leistung zu verbessern. Diese Restparametrisierung weist die folgende Darstellung des Kodierers 202 auf: q ( z l | z < l , x ) = N ( z l ; μ l ( z < l ) + σ l ( z < l ) Δ μ i ' ( z < l , x ) , σ l 2 ( z < l , x ) I )
    Figure DE102022113243A1_0022
    wobei der Kodierer 202 beauftragt ist, die Restparameter Δ μ i ' ( z < l , x )
    Figure DE102022113243A1_0023
    und Δ σ l ' 2 ( z < l , x )
    Figure DE102022113243A1_0024
    vorherzusagen. Unter Verwendung derselben Reparametrisierung von ε l = z l μ l ( z < l ) σ l ( z < l )
    Figure DE102022113243A1_0025
    weist der äquivalente VAE 200 das Folgende auf: p ( ε l ) = N ( ε l ; 0, I )
    Figure DE102022113243A1_0026
    q ( ε l | ε < l , x ) = N ( ε l ; Δ μ i ' ( z < l , x ) , Δ σ l ' 2 ( z < l , x ) I )
    Figure DE102022113243A1_0027
    wobei zl = µl(z<l) + σl(z<l)εl. Folglich sagt die Restparametrisierung des Kodierers 202 direkt den Mittelwert und die Varianz für die ∈l Verteilungen voraus.
  • Das generative Modell verwendet die durch Gleichung 5 dargestellte umgekehrte SDE (oder die entsprechende durch Gleichung 6 dargestellte Wahrscheinlichkeitsfluss-ODE), um Samples von pθ (z0) mit der zeitabhängigen Score-Funktion ∇zt log pθ (zt) zu nehmen. Das generative Modell verwendet ferner den Dekodierer pψ(x|zo), um die synthetisierten Kodierungen z0 zu dem Datenraum zuzuordnen, der den Trainingsdaten 208 zugeordnet ist. Dieser generative Prozess kann unter Verwendung des Folgenden dargestellt werden: p ( z 0 | x ) = p θ ( z 0 ) p ψ ( x | z 0 )
    Figure DE102022113243A1_0028
  • 2B veranschaulicht den Betrieb von VAE 200 und SGM 212 aus 2A gemäß verschiedener Ausführungsformen. Wie in 2B gezeigt, wandelt der Kodierer 202 einen Datenpunkt 252 in den Trainingsdaten 208 in eine ungefähre Posterior-Verteilung 256 q(z0|x) von latenten Variablen z0 um. Beispielsweise kann der Kodierer 202 Pixelwerte in einem Bild in Gruppen von latenten Variablenwerten in eine niederdimensionale latente Variablenhierarchie 204 umwandeln.
  • SGM 212 führt einen Vorwärtsdiffusionsprozess 260 durch, der über eine Reihe von Zeitschritten allmählich Rauschen zu diesen latenten Variablen hinzufügt. Zum Beispiel kann SGM 212 eine Vorwärtsdiffusion 260 auf einer Verkettung von latenten Variablenwerten aus allen Gruppen in der latenten Variablenhierarchie 204 durchführen. Wenn Gruppen von latenten Variablen in der latenten Variablenhierarchie 204 mehreren räumlichen Auflösungen zugeordnet sind, kann SGM 212 die Vorwärtsdiffusion 260 auf latenten Variablengruppen durchführen, die der kleinsten Auflösung zugeordnet sind, unter der Annahme, dass verbleibende Gruppen in der latenten Variablenhierarchie 204 eine Standardnormalverteilung aufweisen. Das Ergebnis der Vorwärtsdiffusion 260 ist ein Punkt z1 aus einer Basisverteilung 264 p ( z 1 ) N ( z 1 ; 0, I ) .
    Figure DE102022113243A1_0029
  • SGM 212 führt auch einen umgekehrten Entrauschungsprozess 262 durch, der einen gegebenen Punkt z1 aus der Basisverteilung 264 in einen entsprechenden Satz von latenten Variablen z0 aus einer mit p(z0) bezeichneten Prior-Verteilung 258 umwandelt. Während des Trainings wird eine KL-Divergenz 266 zwischen dieser Prior-Verteilung 258 und der approximativen Posterior-Verteilung 256 minimiert, wie weiter unten näher beschrieben.
  • Der Dekodierer 206 wird verwendet, um den Satz latenter Variablen z0 in eine Rekonstruktion 254 des Datenpunkts 252 umzuwandeln. Beispielsweise kann der Dekodierer 206 eine oder mehrere Gruppen von latenten Variablen aus der latenten Variablenhierarchie 204 in eine Wahrscheinlichkeit p(x|z0) umwandeln, die eine Verteilung von Pixelwerten für einzelne Pixel in einem Ausgabebild mit denselben Abmessungen wie ein dem Datenpunkt 252 entsprechendes Eingangsbild aufweist. Das Ausgabebild kann dann durch Sampling von Pixelwerten aus der vom Dekodierer 206 ausgegebenen Wahrscheinlichkeit erzeugt werden.
  • Zurückkommend auf die Diskussion von 2A, führt die Trainingsmaschine 122 Trainingsvorgänge durch, die {Φ, θ, ψ) die Parameter des Kodierers 202 gϕ(zo|x), der Score-Funktion ∇zt logpθ(z0) bzw. des Dekodierers 206 pψ(x|zo) aktualisieren. Wie in 1 dargestellt, können diese Trainingsvorgänge ein Kodierertraining 220, das die Parameter des Kodierers 202 auf der Grundlage eines oder mehrerer Ziele 232 aktualisiert, ein SGM-Training 222, das die Parameter des SGM 212 auf der Grundlage eines oder mehrerer Ziele 234 aktualisiert, und ein Dekodierertraining 224, das die Parameter des Dekodierers 206 auf der Grundlage eines oder mehrerer Ziele 236 aktualisiert, aufweisen.
  • In einigen Ausführungsformen weisen die Ziele 232-236 eine abweichende obere Schranke für die negative Daten-Log-Wahrscheinlichkeit p(x) auf: L ( x , ϕ , θ ψ ) = E q ( z 0 | x ) [ log  p ψ ( x | z 0 ) ] + KL ( q ϕ ( z 0 | x ) | p θ ( z 0 ) )
    Figure DE102022113243A1_0030
  • In der obigen Darstellung ist E q ( z 0 | x ) [ log  p ψ ( x | z 0 ) ]
    Figure DE102022113243A1_0031
    ein Rekonstruktionsterm, der einem oder mehreren Zielen 236 entspricht, die verwendet werden, um die Parameter ψ des Dekodierers 206 während des Dekodierertrainings 224 zu aktualisieren. Zum Beispiel kann der Rekonstruktionsterm verwendet werden, um die Wahrscheinlichkeit eines Datenpunktes x in den Trainingsdaten 208 innerhalb einer von dem Dekodierer 206 erzeugten Wahrscheinlichkeit pψ(x|zo) zu maximieren, wenn die latenten Variablen zo von dem Kodierer 202 aus demselben Datenpunkt erzeugt wurden. KL (qϕ(z0|x)|pθ(z0)) ist die KL-Divergenz zwischen der approximativen Posterior-Verteilung qϕ(z0|x) der vom Kodierer 202 gelernten latenten Variablen und der Prior-Verteilung pθ(z0), die durch die dem SGM 212 zugeordnete generative Umkehrzeit-SDE definiert ist. Darüber hinaus approximiert qϕ(z0|x) den wahren Posterior p(z0|x).
  • Gleichung 16 kann in die folgende Form umgeschrieben werden: L ( x , ϕ , θ ψ ) = E q ( z 0 | x ) [ log  p ψ ( x | z 0 ) ] + E q ( z 0 | x ) [ q ϕ ( z 0 | x ) ] + E q ( z 0 | x ) [ p θ ( z 0 ) ]
    Figure DE102022113243A1_0032
  • In Gleichung 17 wird die KL-Divergenz in einen negativen Kodierer-Entropie-Term E q ( z 0 | x ) [ q ϕ ( z 0 | x ) ] ,
    Figure DE102022113243A1_0033
    der einem oder mehreren Zielen 232 entspricht, die verwendet werden, um Parameter ϕ des Kodierers 202 während des Kodierertrainings 220 zu aktualisieren, und einen Kreuzentropieterm E q ( z 0 | x ) [ p θ ( z 0 ) ] ,
    Figure DE102022113243A1_0034
    dereinem oder mehreren Zielen 234 entspricht, die verwendet werden, um die Parameter θ des SGM 212 während des SGM-Trainings 222 und/oder die Parameter ϕ des Kodierers 202 während des Kodierertrainings 220 zu aktualisieren, zerlegt. Diese Zerlegung umgeht Probleme bei der direkten Verwendung der KL-Divergenz, die einen Rand-Score ∇zt logq(zt) einbezieht, der analytisch für übliche Nicht-Normalverteilungen q(z0) wie z. B. Normalisierungsflüsse nicht verfügbar ist.
  • In einigen Ausführungsformen weist der Kreuzentropieterm in Gleichung 17 die folgende Darstellung auf: CE ( q ( z 0 | x ) | p ( z 0 ) ) log  p ψ = E t u [ 0,1 ] [ g ( t ) 2 2 E q ( z t , z 0 | x ) [ z t log  q ( z t | z 0 ) z t log  p ( z t ) 2 2 ] ] + D 2 log  ( 2 π e σ 0 2 )
    Figure DE102022113243A1_0035
  • In der obigen Gleichung sind q(z0|x) und p(z0) zwei in dem kontinuierlichen Raum ℝD definierte Verteilungen. Die Randverteilungen der zerstreuten Samples unter der SDE in Gleichung 5 zum Zeitpunkt t werden mit q(zt|x) bzw. p(zt) bezeichnet. Es wird angenommen, dass diese Randverteilungen glatt sind mit höchstens polynomialem Wachstum bei zt →±∞. Zusätzlich ist q(zt,z0|x) = q(zt|z0)g(z0|x) und ein Normal-Übergangskern q ( z t | z 0 ) = N ( z t ; μ t ( z 0 ) , σ t 2 I ) ,
    Figure DE102022113243A1_0036
    wobei µt und σ t 2
    Figure DE102022113243A1_0037
    aus f(t) und g(t) für eine feste Anfangsvarianz σ 0 2
    Figure DE102022113243A1_0038
    bei t = 0 erhalten werden.
  • Anders als die KL-Divergenz in Gleichung 9 enthält Gleichung 18 keine Terme, die von dem Rand-Score ∇zt log q(Zt) abhängen. Folglich kann Gleichung 18 als eines oder mehrere Ziele 234 zum Optimieren des durch SGM 212 pθ(z0) dargestellten Priors und/oder als eines oder mehrere Ziele 232 zum Optimieren der Verteilung des Kodierers 202 qϕ (zo|x) verwendet werden.
  • Genauer gesagt, stellt Gleichung 18 die Schätzung der Kreuzentropie zwischen q(z0|x) und p(z0) mit einem Entrauschungs-Score-Matching dar. Diese Schätzung entspricht einem Entnehmen von Samples aus einer potenziell komplexen Kodierungsverteilung q(z0), einem Hinzufügen von Gauß‘schem Rauschen mit einer kleinen anfänglichen Varianz σ 0 2 ,
    Figure DE102022113243A1_0039
    um eine wohldefinierte Anfangsverteilung zu erhalten, und einer gleichmäßigen Störung der gesampleten Kodierungen unter Verwendung eines Diffusionsprozesses, während ein durch SGM 212 dargestelltes Entrauschungsmodell gelernt wird. Der Term ∇zt logp(zt) entspricht einer Score-Funktion, die aus einem Zerstreuen der anfänglichen p(z0)-Verteilung hervorgeht und durch ein neuronales Netz modelliert wird, das dem SGM-basierten Prior pθ(z0) entspricht. Mit der gelernten Score-Funktion ∇zt logpθ(zt) wird der SGM-basierte Prior über eine generative Umkehrzeit-SDE (oder eine entsprechende Wahrscheinlichkeitsfluss-ODE) definiert, in der eine separate Randverteilung pθ(z0) bei t = 0 definiert ist. Folglich ist der gelernte approximative Score ∇zt logpθ(zt) nicht notwendigerweise der gleiche wie der Score, den man erhält, wenn pθ(z0) zerstreut wird. Daher entspricht der Ausdruck in Gleichung 18 während des Trainings des durch SGM 212 dargestellten Priors einer oberen Schranke für die Kreuzentropie zwischen q(z0|x) und pθ(z0), die durch die generative Umkehrzeit-SDE definiert ist.
  • Wie oben erläutert, kann der hierarchische Prior, der durch die latente Variablenhierarchie 204 dargestellt wird, unter Verwendung eines Variablenwechsels in eine Standardnormale N ( z 0 ; 0, I )
    Figure DE102022113243A1_0040
    umgewandelt werden. In einem eindimensionalen latenten Raum kann dieser Standard-Normal-Prior zur Zeit t durch eine geometrische Mischung p ( z t ) N ( z t ; 0,1 ) 1 α p θ ' ( z t ) α
    Figure DE102022113243A1_0041
    dargestellt werden, wobei p θ ' ( z t )
    Figure DE102022113243A1_0042
    ein trainierbarer SGM 212-Prior ist und α ∈ [0,1] ein lernbarer skalarer Mischkoeffizient ist. Diese Formulierung ermöglicht es der Trainingsmaschine 122, den Kodierer 202 und den Dekodierer 206 des VAE 200 mit α = 0 vorzutrainieren, was einem Training des VAE 200 mit einem Standard-Normal-Prior entspricht. Dieses Vortraining von Kodierer 202 und Dekodierer 206 bringt die Verteilung der latenten Variablen nahe an N ( z 0 ; 0,1 ) .
    Figure DE102022113243A1_0043
    Diese „gemischte“ Score-Funktionsparametrisierung ermöglicht es dem SGM 212 auch, eine einfachere Verteilung zu lernen, die die Abweichung zwischen der Verteilung der latenten Variablen und der Standardnormalverteilung in einer nachfolgenden Ende-zu-Ende-Trainingsstufe modelliert. Ferner hat die Score-Funktion für die oben beschriebene geometrische Mischung die Form z t log p ( z t ) = ( 1 α ) z t + α z t log p θ ' ( z t ) .
    Figure DE102022113243A1_0044
  •  
    Figure DE102022113243A1_0045
    Wenn die Score-Funktion von dem linearen Term von -(1 - α)zt dominiert wird, kann die umgekehrte SDE schneller gelöst werden, da die Abweichung der umgekehrten SDE von diesem linearen Term dominiert wird.
  • Für einen multivariaten latenten Raum erhält die Trainingsmaschine 122 zerstreute Samples zum Zeitpunkt t durch Sampling von zt~q(zt|z0) mit zt = µt(z0) + σtε, wobei ε N ( ε ; 0, I ) .
    Figure DE102022113243A1_0046
    Da ∇zt log q(zt|z0) = -ε/σt, kann die Score-Funktion parametrisiert werden durch ∇zt logp(zt) := -εθ (zt, t)/σt, wobei ε θ ( z t , t ) : = σ t ( 1 α ) z t + α ε θ ' ( z t , t )
    Figure DE102022113243A1_0047
    durch eine gemischte Score-Parametrisierung definiert ist, die elementweise auf Komponenten des Scores angewendet wird. Dies kann verwendet werden, um den Ausdruck für die Kreuzentropie wie folgt zu vereinfachen:  CE ( q ϕ ( z 0 | x ) | p θ ( z 0 ) ) = E t u [ 0,1 ] [ w ( t ) 2 E q ϕ ( z t . z 0 | x ) , ε [ ε ε θ ( z t , t ) 2 2 ] ] + D 2 log  ( 2 π e σ 0 2 )
    Figure DE102022113243A1_0048
    wobei w ( t ) = g 2 ( t ) / σ t 2
    Figure DE102022113243A1_0049
    ein zeitabhängiger Gewichtungsskalar ist.
  • In einer oder mehreren Ausführungsformen variiert die Trainingsmaschine 122 den Verlustgewichtungsterm w(t) bei einem oder mehreren Zielen 232-236, die zum Trainieren von Kodierer 202, Dekodierer 206 und/oder SGM 212 verwendet werden. Genauer gesagt verwendet die Trainingsmaschine 122 die obige Verlustgewichtung w 11 ( t ) = g 2 ( t ) / σ t 2 ,
    Figure DE102022113243A1_0050
    um den Kodierer 202, den Dekodierer 206 und optional das SGM 212 mit der Maximum-Likelihood-Methode zu trainieren. Diese Maximum-Likelihood-Verlustgewichtung stellt sicher, dass der Kodierer 202 qϕ(z0|x) näher an den wahren Posterior p(z0|x) gebracht wird. Alternativ kann die Trainingsmaschine 122 während des SGM-Trainings 222 eine andere Verlustgewichtung von wun(t) = 1 verwenden, um w(t) zu verringern, was zu einer höheren Qualität der Samples bei geringen Kosten bei der Wahrscheinlichkeit führt. Die Trainingsmaschine 122 kann auch oder stattdessen eine dritte Verlustgewichtung von wre(t) = g2(t) während des SGM-Trainings 222 verwenden, um eine ähnliche Wirkung auf die Sample-Qualität zu haben, wie wun(t) = 1. Wie weiter unten näher beschrieben, kann diese dritte Gewichtung w(t) = g2(t) verwendet werden, um ein einfacheres Varianzreduktionsschema zu definieren, das dem Sampling der Zeitvariablen t während des Trainings des SGM 212 zugeordnet ist.
  • Mit den drei oben beschriebenen unterschiedlichen Verlustgewichtungen kann die Trainingsmaschine 122 den Kodierer 202, den Dekodierer 206 und das SGM 212 unter Verwendung der folgenden Darstellungen von Zielen 232-236 trainieren (mit t u [ 0,1 ]
    Figure DE102022113243A1_0051
    and ε N ( ε ; 0, I ) )
    Figure DE102022113243A1_0052
    ): min ϕ , ψ E q ϕ ( z 0 | x ) [ log  p ψ ( x | z 0 ) ] + E q ϕ ( z 0 | x ) [ log  q ϕ ( z 0 | x ) ] +   E t , ε , q ( z t | z 0 ) , q ϕ ( z 0 | x ) [ w 11 ( t ) 2 ε - ε θ ( z t , t ) 2 2 ]
    Figure DE102022113243A1_0053
    min θ E t , ε , q ( z t | z 0 ) , q ϕ ( z 0 | x ) [ w 11 / un/re ( t ) 2 ε - ε θ ( z t , t ) 2 2 ]   w i t h   q ( z t , | z 0 ) = N ( z t ; μ t ( z 0 ) , σ t 2 I )
    Figure DE102022113243A1_0054
  • Genauer gesagt verwendet die Trainingsmaschine 122 Gleichung 20, um die Parameter {ϕ,ψ} des Kodierers 202 und des Dekodierers 206 unter Verwendung der abweichenden Schranke L(x, ϕ, 0, ψ) aus Gleichung 17 und der Maximum-Likelihood-Verlustgewichtung zu trainieren. Die Trainingsmaschine 122 verwendet Gleichung 21, um die Parameter θ des SGM 212 mit dem Kreuzentropieterm und einer der drei Verlustgewichtungen (Maximum-Likelihood, ungewichtet oder neu gewichtet) zu trainieren.
  • Fachleute wissen, dass die Ziele in den Gleichungen 20 und 21 ein Sampling der Zeitvariablen t einbeziehen, die eine hohe Varianz aufweist. Genauer gesagt hängt die Varianz der Kreuzentropie bei einer Minibatch-Aktualisierung von der Varianz von CE(qr(z0)| |p(z0)) ab, wobei q ( z 0 ) : = E p d a t a ( x ) [ q z 0 | x ]
    Figure DE102022113243A1_0055
     
    Figure DE102022113243A1_0056
    der aggregierte Posterior ist (d. h. die Verteilung der latenten Variablen) und pdata die Datenverteilung ist. Diese Varianz ist ein Ergebnis einer Mini-Batch-Schätzung von E p d a t a ( x ) [ L ( x , ϕ , θ ψ ) ] .
    Figure DE102022113243A1_0057
    Für den Kreuzentropieterm in L ( x , ϕ , θ ψ )  gilt  E p d a t a ( x ) [ CE ( q ( z 0 | x ) p ( z 0 ) ) ] CE ( q ( z 0 ) p ( z 0 ) ) .
    Figure DE102022113243A1_0058
    Dieser Wert von CE(q(z0)| |p(z0)) kann analytisch hergeleitet und verwendet werden, um die Varianz der auf Samples basierenden Schätzungen des Kreuzentropieterms für alle drei zugeordneten Verlustgewichtungen w(t) zu reduzieren, wobei q ( z 0 ) = p ( z 0 ) = N ( z 0 ; 0, I )
    Figure DE102022113243A1_0059
     
    Figure DE102022113243A1_0060
    angenommen wird. Die reduzierte Varianz stellt stabilere Gradienten und eine bessere Konvergenz während des Trainings von SGM 212, Kodierer 202 und/oder Dekodierer 206 bereit.
  • In einigen Ausführungsformen reduziert die Trainingsmaschine 122 diese Varianz für alle drei Verlustgewichtungen unter Verwendung einer varianzerhaltenden SDE (VPSDE), die definiert ist durch d z = 1 2 β ( t ) z d t + β + ( t ) d w ,
    Figure DE102022113243A1_0061
     
    Figure DE102022113243A1_0062
    wobei β(t) = β0+ (β1 - β0)t linear in [β01] interpoliert. Die Randverteilung der latenten Variablen wird angegeben mit q ( z 0 ) : = E p d a t a ( x ) [ q ( z 0 | x ) ] ,
    Figure DE102022113243A1_0063
     
    Figure DE102022113243A1_0064
    und es wird q ( z 0 ) p ( z 0 ) = N ( z 0 ; 0, I )
    Figure DE102022113243A1_0065
    angenommen. Diese Annahme ist gültig, weil ein Vortraining des Kodierers 202 und des Dekodierers 206 mit einem N ( z 0 ; 0, I ) Prior  q ( z 0 )
    Figure DE102022113243A1_0066
    in die Nähe von N ( z 0 ; 0, I )
    Figure DE102022113243A1_0067
    bringt, und der durch SGM 212 dargestellte Prior oft von der festen normalen Mischungskomponente dominiert wird. Der Kreuzentropieterm für die VPSDE kann wie folgt ausgedrückt werden: CE ( q ( z 0 | x ) p ( z 0 ) ) = D ( 1 ε ) 2 E t u [ 0,1 ] [ 1 σ t 2 d σ t 2 d t ] + c o n s t .
    Figure DE102022113243A1_0068
  • In einer oder mehreren Ausführungsformen führt die Trainingsmaschine 122 eine Varianzreduktion für die Wahrscheinlichkeitsverlustgewichtung w 11 ( t ) = g ( t ) 2 / σ t 2
    Figure DE102022113243A1_0069
    unter Verwendung einer geometrischen VPSDE durch. Diese geometrische VPSDE ist definiert durch β ( t ) = log  ( σ m a x 2 σ m i n 2 ) σ t 2 1 σ t 2
    Figure DE102022113243A1_0070
    mit einer geometrischen Varianz σ t 2 = σ m i n 2 ( σ m a x 2 / σ m i n 2 ) t .
    Figure DE102022113243A1_0071
    Die geometrische VPSDE ist so ausgelegt, dass 1 σ t 2 d σ l 2 d t
    Figure DE102022113243A1_0072
    für t ∈ [0,1] konstant ist, was die Varianz der Monte-Carlo-Schätzung des Erwartungswerts in dem Kreuzentropieterm verringert. σ m i n 2
    Figure DE102022113243A1_0073
    und σ m a x 2
    Figure DE102022113243A1_0074
    sind Hyperparameter der SDE, mit 0 < σ m i n 2 < σ m a x 2 < 1.
    Figure DE102022113243A1_0075
    Für kleine σ m i n 2
    Figure DE102022113243A1_0076
    und σ m a x 2
    Figure DE102022113243A1_0077
    nahe 1 diffundieren alle Eingaben dicht in Richtung des Standard-Normal-Priors bei t = 1. Zusätzlich, da t CE ( q ( z t ) p ( z t ) ) = c o n s t .
    Figure DE102022113243A1_0078
    für normale Eingabedaten, werden die Daten während des gesamten Diffusionsprozesses so „kontinuierlich“ wie möglich kodiert.
  • Die Trainingsmaschine 122 kann auch oder stattdessen β(t) und σ t 2
    Figure DE102022113243A1_0079
    für eine lineare varianzerhaltende SDE unverändert lassen und ein Verffahren des Wichtigkeits-Samplings (IS) verwenden, um die Varianz der Kreuzentropieschätzung zu verringern. Das IS-Verfahren nimmt eine Normalverteilung der Daten an, leitet eine Vorschlagsverteilung ab, die die Varianz der Schätzung des Erwartungswerts in dem Kreuzentropieterm minimiert, und führt ein Sampling der Vorschlagsverteilung unter Verwendung eines inversen Transformations-Sampling durch. Dieses IS-Verfahren kann mit jeder VPSDE mit beliebigem β(t) und allen drei Verlustgewichtungen verwendet werden.
  • Insbesondere kann IS verwendet werden, um den Erwartungswert in Gleichung 22 wie folgt umzuschreiben: E t u [ ε ,1 ] [ 1 σ t 2 d σ t 2 d t ] = E t r ( t ) [ 1 r ( t ) 1 σ t 2 d σ t 2 d t ]
    Figure DE102022113243A1_0080
    wobei r(t) eine Vorschlagsverteilung ist. Nach der IS-Theorie hat r(t) r ( t ) d d t log σ t 2
    Figure DE102022113243A1_0081
    die kleinste Varianz. Daher kann das Ziel unter Verwendung eines Sample von r(t) und IS bewertet werden.
  • In einigen Ausführungsformen weist r(t) für die Maximum-Likelihood-Verlustgewichtung w 11 ( t ) = g ( t ) 2 / σ t 2
    Figure DE102022113243A1_0082
    die folgende Wahrscheinlichkeitsdichtefunktion (PDF) auf: r ( t ) = 1 log σ 1 2 log σ ε 2 1 σ t 2 d σ t 2 d t = β ( t ) ( 1 σ t 2 ) ( log σ 1 2 log σ ε 2 ) σ t 2
    Figure DE102022113243A1_0083
  • Das inverse transformierte Sampling der Vorschlagsverteilung kann aus der inversen kumulativen Verteilungsfunktion (CDF) abgeleitet werden: R ( t ) = log σ t 2 σ ε 2 log σ 1 2 σ ε 2 = ρ σ t 2 σ ε 2 = ( σ 1 2 σ ε 2 ) ρ t = var 1 ( ( σ 1 2 ) ρ ( σ 0 2 ) 1 ρ )
    Figure DE102022113243A1_0084
    wobei var-1 die Inverse von σ t 2
    Figure DE102022113243A1_0085
    und ρ u [ 0,1 ]
    Figure DE102022113243A1_0086
    ist. Ein nach Wichtigkeit gewichtetes Ziel, das dem Kreuzentropieterm entspricht, weist folgendes auf (ohne Berücksichtigung der Konstanten): 1 2 ε 1 β ( t ) σ t 2 E z 0 , ε [ ε ε θ ( z t , t ) 2 2 d t = 1 2 E t r ( t ) [ ( log σ 1 2 log σ ε 2 ) ( 1 σ t 2 ) E z 0 , ε ε ε θ ( z t , t ) 2 2 ] ]
    Figure DE102022113243A1_0087
  • Für die ungewichtete Verlustgewichtung wun(t) = 1 mit p ( z 0 ) = N ( z 0 ; 0, I )  und  q ( z 0 ) = N ( z 0 ,0, ( 1 σ 0 2 ) I )
    Figure DE102022113243A1_0088
     
    Figure DE102022113243A1_0089
    weist das ungewichtete Ziel das Folgende auf: ε 1 E z 0 , ε [ ε ε θ ( z t , t ) 2 2 ] d t = D ( 1 ε ) 2 E t r ( t ) [ 1 σ t 2 r ( t ) ]
    Figure DE102022113243A1_0090
    mit einer Vorschlagsverteilung r(t) r ( t ) 1 σ t 2 .
    Figure DE102022113243A1_0091
    In einer VPSDE mit linearem β(t) = β0 + (β1 - β0)t: 1 σ t 2 = ( 1 σ 0 2 ) e 0 t β ( s ) d s = ( 1 σ 0 2 ) e β 0 t ( β 1 β l 0 ) t 2 2
    Figure DE102022113243A1_0092
  • Die Normalisierungskonstante von r(t) ist somit: R ˜ = ε 1 ( 1 σ 0 2 ) e β 0 t ( β 1 β l 0 ) t 2 2 d t = ( 1 σ 0 2 ) e 1 β 0 2 β 1 β 0 π 2 ( β 1 β 0 ) [ erf ( β 1 β 0 2 [ 1 + β 0 β 1 β 0 ] ) erf ( β 1 β 0 2 [ ε + β 0 β 1 β 0 ] ) ]
    Figure DE102022113243A1_0093
    wobei ( 1 σ 0 2 ) e 1 2 β 0 β 1 β 0 π 2 ( β 1 β 0 ) : = A R .
    Figure DE102022113243A1_0094
  • Die CDF von r(t) weist das Folgende auf: R ( t ) = A R R ˜ [ erf ( β 1 β 0 2 [ t + β 0 β 1 β 0 ] ) erf ( β 1 β 0 2 ) [ ε + β 0 β 1 β 0 ] ]
    Figure DE102022113243A1_0095
  • Lösen von p = R(t) für t führt zu dem Folgenden: t = 2 β 1 β 0 erfinv ( ρ R ˜ A R + erf ( β 1 β 0 2 [ ε + β 0 β 1 β 0 ] ) ) β 0 β 1 β 0
    Figure DE102022113243A1_0096
  • Ein nach Wichtigkeit gewichtetes Ziel, das dem Kreuzentropieterm entspricht, weist das Folgende auf (ohne Berücksichtigung der Konstanten): ε 1 E z 0 , ε [ ε ε θ ( z t , t ) 2 2 ] d t = E t r ( t ) [ R ˜ ( 1 σ t 2 ) E z 0 , ε ε ε θ ( z t , t ) 2 2 ]
    Figure DE102022113243A1_0097
  • Für die neu gewichtete Verlustgewichtung wre(t) = g(t)2 wird σ t 2
    Figure DE102022113243A1_0098
    in dem Kreuzentropieziel weggelassen, aber g2(t) = β(t) wird beibehalten. Für ( z 0 ) = N ( z 0 ; 0, I )  und  q ( z 0 ) = N ( z 0 ; 0, ( 1 σ 0 2 ) I )
    Figure DE102022113243A1_0099
    weist das ungewichtete Ziel das Folgende auf: ε 1 β ( t ) E z 0 , ε [ ε ε θ ( z t , t ) 2 2 ] d t = D ( 1 ε ) 2 E t u [ ε ,1 ] [ d σ t 2 d t ] = D ( 1 ε ) 2 E t r ( t ) [ d σ t 2 d t r ( t ) ]
    Figure DE102022113243A1_0100
    mit der Vorschlagsverteilung r ( t ) d σ t 2 d t = β ( t ) ( 1 σ t 2 )
    Figure DE102022113243A1_0101
  • Der Vorschlag r(t), die entsprechende kumulative Verteilungsfunktion (CDF) β(t) und die inverse CDF R-1(t) für die neu gewichtete Verlustgewichtung weisen das Folgende auf: r ( t ) = β ( t ) ( 1 σ t 2 ) σ 1 2 σ ε 2 , R ( t ) = σ t 2 σ ε 2 σ 1 2 σ ε 2 , t = R 1 ( ρ ) = var 1 ( ( 1 ρ ) σ ε 2 + ρ σ 1 2 )
    Figure DE102022113243A1_0102
  • Normalerweise gilt σ ε 2 0
    Figure DE102022113243A1_0103
    und σ 1 2 1.
    Figure DE102022113243A1_0104
    In diesem Fall kann man sich die inverse CDF als R-1(ρ) = var-1(ρ) vorstellen.
  • Ein nach Wichtigkeit gewichtetes Ziel, das dem Kreuzentropieterm entspricht, weist das Folgende auf (ohne Berücksichtigung der Konstanten): 1 2 ε 1 β ( t ) E z 0 , ε ε ε θ ( z t , t ) 2 2 d t = 1 2 E t r ( t ) [ ( σ 1 2 σ ε 2 ) ( 1 σ t 2 ) E z 0 , ε ε ε θ ( z t , t ) 2 2 ]
    Figure DE102022113243A1_0105
  • In einer oder mehreren Ausführungsformen ist die Trainingsmaschine 122 ausgestaltet, um eines von mehreren Trainingsverfahren zu verwenden, um den Kodierer 202, den Dekodierer 206 und/oder das SGM 212 zu trainieren. Ein erstes Trainingsverfahren bezieht ein Likelihood-Training mit IS ein, bei dem der durch das SGM 212 und den Kodierer 202 repräsentierte Prior das gleiche gewichtete Likelihood-Ziel teilt und nicht separat aktualisiert wird. Das erste Trainingsverfahren wird unter Verwendung der folgenden Schritte veranschaulicht:
    • Eingabe: Daten x, Parameter {θ, ϕ, ψ}
    • Erstelle z0 ~ qϕ (z0|x) unter Verwendung des Kodierers.
    • Erstelle t ~ rll(t) mit IS Verteilung für die Maximum Likelihood Verlustgewichtung. Berechne µt(z0) und σ t 2
      Figure DE102022113243A1_0106
      gemäß der SDE.
    • Erstelle zt ~ q(zt|z0) unter Verwendung von z t = μ t ( z 0 ) + σ t 2 ε ,  wobei  ε N ( ε ; 0, I ) .
      Figure DE102022113243A1_0107
    • Berechne Score ε θ ( z t , t ) : = σ t ( 1 α ) z t + α ε θ ' ( z t , t ) .
      Figure DE102022113243A1_0108
    • Berechne die Kreuzentropie CE ( q ϕ ( z 0 | x ) | p θ ( z 0 ) ) 1 r 11 ( t ) w 11 ( t ) 2 ε ε θ ( z t , t ) 2 2 .
      Figure DE102022113243A1_0109
    • Berechne das Ziel L ( x , ϕ , θ , ψ )
      Figure DE102022113243A1_0110
      = log p ψ ( x | z 0 ) + log q ϕ ( z 0 | x ) + CE ( q ϕ ( z 0 | x ) p θ ( z 0 ) ) .
      Figure DE102022113243A1_0111
    • Aktualisiere alle Parameter {θ, ϕ, ψ} durch Minimieren von L(x, ϕ, θ,ψ).
  • In dem ersten Trainingsverfahren trainiert die Trainingsmaschine 122 den Kodierer 202, den Dekodierer 206 und das SGM 212 in einer Ende-zu-Ende-Weise unter Verwendung des gleichen Ziels mit drei Termen. Der erste Term logpψ(x|zo) ist ein Rekonstruktionsterm, der verwendet wird, um die Parameter ψ des Decoders 206 zu aktualisieren, der zweite Term log qϕ (z0|x) ist ein negativer Kodierer-Entropieterm, der verwendet wird, um die Parameter ϕ des Kodierers 202 zu aktualisieren, und der dritte Term CE (qϕ(z0|x)|pθ(z0)) weist die Maximum-Likelihood-Verlustgewichtung auf und wird verwendet, um die Parameter ϕ des Kodierers 202 und die Parameter θ des SGM 212 zu aktualisieren.
  • Ein zweites Trainingsverfahren bezieht ein ungewichtetes oder neu gewichtetes Training mit separatem IS von t für zwei verschiedene Verlustgewichtungen ein. Das zweite Trainingsverfahren wird unter Verwendung der folgenden Schritte veranschaulicht:
    • Eingabe: Daten x, Parameter {θ, ϕ, ψ}
    • Erstelle z0 ~ qϕ (z0|x) unter Verwendung des Kodierers.
    • Akutalisiere SGM Prior:
      • Erstelle t ~ run/re(t) mit IS Verteilung für ungewichtetes oder neu gewichtetes Ziel.
      • Berechne µt(z0) und σ t 2
        Figure DE102022113243A1_0112
        gemäß SDE.
      • Erstelle zt ~ q(zt|z0) unter Verwendung von z t = μ t ( z 0 ) + σ t 2 ε ,  wobei  ε N ( ε ; 0, I ) .
        Figure DE102022113243A1_0113
         
        Figure DE102022113243A1_0114
        ε θ ( z t , t ) : = σ t ( 1 α ) z t + α ε θ ' ( z t , t ) .
        Figure DE102022113243A1_0115
        L ( θ ) 1 r un/re ( t ) w un/re ( t ) 2 ε ε θ ( z t , t ) 2 2 .
        Figure DE102022113243A1_0116
      • Aktualisiere SGM Prior Parameter durch Minimieren von L ( θ ) .
        Figure DE102022113243A1_0117
    • Aktualisiere VAE Kodierer and Dekodierer mit neuem t Sample:
      • Erstelle t ~ rll(t)mit IS Verteilung für Maximum Likelihood Verlustgewichtung.
      • Berechne µt(z0) und σ t 2
        Figure DE102022113243A1_0118
        gemäß SDE.
      • Erstelle zt ~ q(zt|z0) unter Verwendung von z t = μ t ( z 0 ) + σ t 2 ε ,  wobei  ε N ( ε ; 0, I ) .
        Figure DE102022113243A1_0119
         
        Figure DE102022113243A1_0120
        ε θ ( z t , t ) : = σ t ( 1 α ) z t + α ε θ ' ( z t , t ) .
        Figure DE102022113243A1_0121
        CE ( q ϕ ( z 0 | x ) p θ ( z 0 ) ) 1 r 11 ( t ) w 11 ( t ) 2 ε ε θ ( z t , t ) 2 2 .
        Figure DE102022113243A1_0122
      • Berechne Ziel L ( x , ϕ , ψ )
        Figure DE102022113243A1_0123
        = log p ψ ( x | z 0 ) + log q ϕ ( z 0 | x ) + CE ( q ϕ ( z 0 | x ) p θ ( z 0 ) ) .
        Figure DE102022113243A1_0124
      • Aktualisiere VAE Parameter {ϕ, ψ} durch Minimieren von L(x, ϕ, ψ).
  • In dem zweiten Trainingsverfahren erstellt die Trainingsmaschine 122 einen ersten Stapel von t aus einer ersten IS-Verteilung für eine ungewichtete oder neu gewichtete Verlustgewichtung. Das Trainingsmodul 122 aktualisiert die Parameter θ des durch SGM 212 dargestellten Priors auf der Grundlage eines ersten Ziels, das einen Kreuzentropieterm mit der gleichen ungewichteten oder neu gewichteten Verlustgewichtung und der ersten IS-Verteilung aufweist. Die Trainingsmaschine 122 nimmt separat ein zweites Sample von t aus einer zweiten IS-Verteilung für eine Maximum-Likelihood-Verlustgewichtung, die für das Training des Kodierers 202 erforderlich ist. Die Trainingsmaschine 122 aktualisiert die Parameter {ϕ,ψ} des Kodierers 202 und des Dekodierers 206 auf der Grundlage eines zweiten Ziels, das einen dem Dekodierer 206 zugeordneten Rekonstruktionsterm, einen dem Kodierer 202 zugeordneten negativen Entropieterm und einen Kreuzentropieterm aufweist, der die Maximum-Likelihood-Verlustgewichtung und die zweite IS-Verteilung aufweist.
  • Ein drittes Trainingsverfahren bezieht ein ungewichtetes oder neu gewichtetes Training mit IS von t für ein Ziel, das dem SGM-Training 222 zugeordnet ist, und ein Neugewichten für das Ziel, das dem Kodierer-Training 220 zugeordnet ist, ein. Das dritte Trainingsverfahren wird unter Verwendung der folgenden Schritte veranschaulicht:
    • Eingabe: Daten x, Parameter {θ, ϕ, ψ}
    • Erstelle z0 ~ qϕ (z0|x) unter Verwendung des Kodierers.
    • Erstelle t ~ run/re(t) mit IS Verteilung für ungewichtete oder neu gewichtete Ziele. Berechne µt(z0) und σ t 2
      Figure DE102022113243A1_0125
      gemäß SDE.
    • Erstelle zt ~ q(zt|z0) unter Verwendung von z t = μ t ( z 0 ) + σ t 2 ε ,  
      Figure DE102022113243A1_0126
      wobei ε N ( ε ; 0, I ) .
      Figure DE102022113243A1_0127
    • Berechne Score ε θ ( z t , t ) : = σ t ( 1 α ) z t + α ε θ ' ( z t , t ) .
      Figure DE102022113243A1_0128
    • Berechne L D S M : = ε ε θ ( z t , t ) 2 2 .
      Figure DE102022113243A1_0129
    • Berechne SGM Prior Verlust: Berechne Ziel  L ( θ ) 1 r un/re ( t ) w un/re ( t ) 2 L D S M .
      Figure DE102022113243A1_0130
    • Berechne VAE Kodierer und Dekodiererverlust mit dem gleichen t Sample: Berechne Kreuzentropy CE ( q ϕ ( z 0 | x ) p θ ( z 0 ) ) 1 r un/re ( t ) w 11 ( t ) 2 L D S M .
      Figure DE102022113243A1_0131
      • Berechne Ziel L ( x , ϕ , ψ )
        Figure DE102022113243A1_0132
        = log p ψ ( x | z 0 ) + log q ϕ ( z 0 | x ) + CE ( q ϕ ( z 0 | x ) p θ ( z 0 ) ) .
        Figure DE102022113243A1_0133
    • Aktualisiere alle Parameter:
      • Aktualisiere SGM Prior Parameter durch Minimieren von L ( θ ) .
        Figure DE102022113243A1_0134
      • Aktualisiere VAE Parameter {ϕ, ψ} durch Minimieren von L(x, ϕ, ψ).
  • In dem dritten Trainingsverfahren nimmt die Trainingsmaschine 122 Samples aus einem Stapel von t aus einer IS-Verteilung für eine ungewichtete oder neu gewichtete Verlustgewichtung. Die Trainingsmaschine 122 verwendet den Stapel, um ein erstes Ziel zu berechnen, das einen Entrauschungs-Score-Matching-Verlust L D S M
    Figure DE102022113243A1_0135
    und die gleiche ungewichtete oder neu gewichtete Verlustgewichtung aufweist. Die Trainingsmaschine 122 verwendet denselben Stapel von t, um ein zweites Ziel zu berechnen, das den Entrauschungs-Score-Matching-Verlust, die IS-Verteilung und die Maximum-Likelihood-Verlustgewichtung aufweist. Die Trainingsmaschine 122 aktualisiert die Parameter θ des durch SGM 212 dargestellten Priors auf der Grundlage des ersten Ziels. Die Trainingsmaschine 122 aktualisiert auch die Parameter {ϕ, ψ} des Kodierers 202 und des Dekodierers 206 auf der Grundlage des zweiten Ziels. Die Trainingsmaschine 122 trainiert somit den Kodierer 202 unter Verwendung einer IS-Verteilung, die auf ein ungewichtetes oder neu gewichtetes Training für das erste SGM 212 Ziel zugeschnitten ist und nicht auf die Maximum-Likelihood-Verlustgewichtung zugeschnitten ist. Dies ermöglicht es der Trainingsmaschine 122, das Erstellen eines zweiten Stapels von t für das Training des Kodierers 202 zu vermeiden und für beide Ziele den gleichen Entrauschungs-Score-Matching-Verlust L D S M
    Figure DE102022113243A1_0136
    zu verwenden, wodurch der Rechenaufwand des Trainingsprozesses reduziert wird.
  • Nachdem das Training des Kodierers 202, des Dekodierers 206 und des SGM 212 abgeschlossen ist, verwendet die Ausführungsmaschine 124 den Dekodierer 206 und das SGM 252, um eine generative Ausgabe 250 zu erzeugen, die nicht in dem Satz der Trainingsdaten 208 enthalten ist. Genauer gesagt, erzeugt die Ausführungsmaschine 124 Basisverteilungs-Samples 246 aus der dem SGM 212 zugeordneten Basisverteilung. Die Ausführungsmaschine 124 verwendet den SGM 212, um Basisverteilungs-Samples 246 in Prior-Samples 248 in dem latenten Raum umzuwandeln, der der latenten Variablenhierarchie 204 zugeordnet ist. Die Ausführungsmaschine 124 verwendet dann den Dekodierer 206, um die Prior-Samples 248 in eine generative Ausgabe 250 umzuwandeln.
  • Zum Beispiel kann die Ausführungsmaschine 124 Basisverteilungs-Samples 246 aus einer Standardnormalverteilung z 1 N ( z 1 ; 0, I )
    Figure DE102022113243A1_0137
    erzeugen. Die Ausführungsmaschine 124 kann einen Black-Box-Differentialgleichungslöser verwenden, um die Basisverteilungs-Samples 246 in Prior-Samples 248 z0 umzuwandeln, indem sie die durch Gleichung 5 dargestellte Umkehrzeit-SDE oder die durch Gleichung 6 dargestellte Wahrscheinlichkeitsfluss-ODE ausführt. Die Ausführungsmaschine 124 kann auch, oder stattdessen, eine Technik des die Vorfahren betreffenden Samplings (englisch: ancestral sampling) verwenden, um eine umgekehrte Markov-Kette zu erzeugen, die mit Samples ausgehend von Basisverteilungs-Samples 246 z1 beginnt und mit Prior-Samples 248 z0 endet. Während jedes Zeitschritts, der der Umkehrzeit-SDE, der Wahrscheinlichkeitsfluss-ODE und/oder der Technik des die Vorfahren betreffenden Samplings zugeordnet ist, kann die Ausführungsmaschine 124 ein iteratives Entrauschen der Basisverteilungs-Samples 246 z1 unter Verwendung eines Scores durchführen, der von SGM 212 geschätzt wird. Die Ausführungsmaschine 124 kann dann den Dekodierer 206 pψ(x|zo) verwenden, um Prior-Samples 248 z0 auf eine Datenwahrscheinlichkeit abzubilden und einen Datenpunkt x zu erzeugen, der der generativen Ausgabe 250 entspricht, indem ein Sample aus der vom Dekodierer 206 erzeugten Datenwahrscheinlichkeit genommen wird.
  • 3A zeigt eine Beispielarchitektur für den Kodierer 202, der in einer hierarchischen Version von VAE 200 aus 2 enthalten ist, gemäß verschiedener Ausführungsformen. Wie gezeigt, bildet die Beispielarchitektur ein bidirektionales Inferenzmodell, das ein Bottom-up-Modell 302 und ein Top-down-Modell 304 umfasst.
  • Das Bottom-up-Modell 302 weist eine Anzahl von Restnetzen (residual networks) 308-312 auf, und das Top-down-Modell 304 weist eine Anzahl von zusätzlichen Restnetzen 314-316 und einen trainierbaren Parameter 326 auf. Jedes der Restnetze 308-316 weist eine oder mehrere Restzellen (residual cells) auf, die nachfolgend mit Bezug auf die 4A und 4B näher beschrieben werden.
  • Restnetze 308-312 im Bottom-up-Modell 302 extrahieren deterministisch Merkmale aus einer Eingabe 324 (z. B. einem Bild), um die latenten Variablen in dem approximativen Posterior (z. B. q(z|x) in dem Wahrscheinlichkeitsmodell für VAE 200) abzuleiten. Komponenten des Top-down-Modells 304 werden verwendet, um die Parameter jeder bedingten Verteilung in der latenten Variablenhierarchie 204 zu erzeugen. Nachdem latente Variablen aus einer gegebenen Gruppe in der latenten Variablenhierarchie 204 als Samples entnommen wurden, werden die Samples mit Merkmalsabbildungen aus dem Bottom-up-Modell 302 kombiniert und als Eingabe an die nächste Gruppe weitergegeben.
  • Genauer gesagt wird eine gegebene Dateneingabe 324 nacheinander von den Restnetzen 308, 310 und 312 im Bottom-up-Modell 302 verarbeitet. Das Restnetz 308 erzeugt eine erste Merkmalsabbildung aus der Eingabe 324, das Restnetz 310 erzeugt eine zweite Merkmalsabbildung aus der ersten Merkmalsabbildung, und das Restnetz 312 erzeugt eine dritte Merkmalsabbildung aus der zweiten Merkmalsabbildung. Die dritte Merkmalsabbildung wird verwendet, um die Parameter einer ersten Gruppe 318 latenter Variablen in der latenten Variablenhierarchie 204 zu erzeugen, und ein Sample wird aus der Gruppe 318 entnommen und mit dem Parameter 326 kombiniert (z. B. summiert), um die Eingabe für das Restnetz 314 im Top-down-Modell 304 zu erzeugen. Die Ausgabe des Restnetzes 314 im Top-Down-Modell 304 wird mit der Merkmalsabbildung kombiniert, die vom Restnetz 310 im Bottom-Up-Modell 302 erzeugt wurde, und verwendet, um die Parameter einer zweiten Gruppe 320 von latenten Variablen in der latenten Variablenhierarchie 204 zu erzeugen. Aus der Gruppe 320 wird ein Sample entnommen und mit der Ausgabe des Restnetzes 314 kombiniert, um eine Eingabe für das Restnetz 316 zu erzeugen. Schließlich wird die Ausgabe des Restnetzes 316 im Top-Down-Modell 304 mit der Ausgabe des Restnetzes 308 im Bottom-Up-Modell 302 kombiniert, um Parameter einer dritten Gruppe 322 latenter Variablen zu erzeugen, und ein Sample kann aus der Gruppe 322 entnommen werden, um einen vollständigen Satz latenter Variablen zu erzeugen, der die Eingabe 324 darstellt.
  • Obwohl die Beispielarchitektur von 3A mit einer latenten Variablenhierarchie von drei latenten Variablengruppen 318-322 dargestellt ist, werden Fachleute verstehen, dass der Kodierer 202 eine andere Anzahl von latenten Variablengruppen in der Hierarchie, eine andere Anzahl von latenten Variablen in jeder Gruppe der Hierarchie und/oder eine variierende Anzahl von Restzellen in Restnetzen verwenden kann. Zum Beispiel kann die latente Variablenhierarchie 204 für einen Kodierer, der mit 28 x 28-Pixel-Bildern handgeschriebener Zeichen trainiert wird, 15 Gruppen latenter Variablen in zwei verschiedenen „Skalierungen“ (d. h. räumlichen Dimensionen) und eine Restzelle pro Gruppe latenter Variablen umfassen. Die ersten fünf Gruppen weisen 4 × 4 × 20-dimensionale latente Variablen auf (in Form von Höhe × Breite × Kanal), und die nächsten zehn Gruppen weisen 8 × 8 × 20-dimensionale latente Variablen auf. In einem anderen Beispiel kann die latente Variablenhierarchie 204 für einen Kodierer, der mit 256 x 256-Pixel-Bildern menschlicher Gesichter trainiert wird, 36 Gruppen latenter Variablen in fünf verschiedenen Skalierungen und zwei Restzellen pro Gruppe latenter Variablen aufweisen. Die Skalierungen weisen räumliche Dimensionen von 8 × 8 × 20, 16 × 16 × 20, 32 × 32 × 20, 64 × 64 × 20 und 128 × 128 × 20 und 4, 4, 4, 8 bzw. 16 Gruppen auf.
  • 3B zeigt eine beispielhafte Architektur für ein generatives Modell, das in einer hierarchischen Version von VAE 200 aus 2 enthalten ist, gemäß verschiedener Ausführungsformen. Wie gezeigt, umfasst das generative Modell das Top-Down-Modell 304 aus der beispielhaften Kodiererarchitektur von 3A sowie ein zusätzliches Restnetz 328, das den Dekodierer 206 implementiert.
  • In der beispielhaften generativen Modellarchitektur von 3B wird die von den Restnetzen 314-316 des Top-Down-Modells 304 extrahierte Darstellung verwendet, um die Gruppen 318-322 der latenten Variablen in der Hierarchie abzuleiten. Ein Sample aus der letzten Gruppe 322 latenter Variablen wird dann mit der Ausgabe von Restnetz 316 kombiniert und als Eingabe für Restnetz 328 bereitgestellt. Das Restnetz 328 wiederum erzeugt eine Datenausgabe 330, die eine Rekonstruktion einer entsprechenden Eingabe 324 in den Kodierer und/oder einen neuen Datenpunkt darstellt, der aus der Verteilung der Trainingsdaten für den VAE 200 entnommen wurde.
  • In einigen Ausführungsformen wird das Top-Down-Modell 304 verwendet, um während des Trainings von dem VAE 200 eine Prior-Verteilung der latenten Variablen zu lernen. Der Prior wird dann in dem generativen Modell und/oder dem gemeinsamen Modell 226 wiederverwendet, um Samples aus den Gruppen 318-322 der latenten Variablen zu entnehmen, bevor einige oder alle Samples durch den Dekodierer 206 in eine generative Ausgabe umgewandelt werden. Diese gemeinsame Nutzung des Top-Down-Modells 304 durch den Kodierer 202 und das generative Modell reduziert den Rechen- und/oder Ressourcenbedarf, der dem Lernen eines separaten Top-Down-Modells für den Prior und dem Verwenden des separaten Top-Down-Modells in dem generativen Modell zugeordnet ist. Alternativ kann der VAE 200 so strukturiert sein, dass der Kodierer 202 ein erstes Top-down-Modell verwendet, um latente Repräsentationen der Trainingsdaten 208 zu erzeugen, und das generative Modell verwendet ein zweites, separates Top-down-Modell als Prior 252.
  • Wie bereits erwähnt, kann die Prior-Verteilung der latenten Variablen durch SGM 212 anstelle von oder zusätzlich zu einer oder mehreren Instanzen des Top-Down-Modells 304 erzeugt werden. Hier kann die Diffusionsprozesseingabe zo durch Verknüpfen der latenten Variablengruppen (z. B. der Gruppen 318-322) in der Kanaldimension konstruiert werden. Wenn die latenten Variablengruppen mehrere räumliche Auflösungen haben, können die Gruppen mit der kleinsten Auflösung in das SGM 212 eingespeist werden, und für die übrigen Gruppen kann angenommen werden, dass sie eine Standardnormalverteilung aufweisen.
  • In einer oder mehreren Ausführungsformen basiert die Architektur des SGM 212 auf einem rauschbedingten Score-Netz (Noise Conditional Score Network, NCSN), das die Score-Funktion parametrisiert, die verwendet wird, um iterativ zwischen Samples aus einer Standardnormalverteilung z 1 N ( z 1 ; 0, I )
    Figure DE102022113243A1_0138
    (z. B. Basisverteilungs-Samples 246 von 2A) und Sample aus der Verteilung latenter Variablen in der latenten Variablenhierarchie 204 (z. B. Prior-Samples 248 von 2A) umzuwndeln. Das SGM 212 kann beispielsweise eine NCSN++-Architektur enthalten, die eine Reihe von Restnetzblöcken umfasst. Die NCSN++-Architektur verwendet finites Impulsantwort-(FIR) Upsampling und Downsampling, skaliert Skip-Verbindungen neu, verwendet Restnetzblöcke vom BigGAN-Typ, verarbeitet jede räumliche Auflösungsebene unter Verwendung einer Anzahl von Restnetzblöcken (gesteuert durch einen Hyperparameter) und einer bestimmten Anzahl von Kanälen in Faltungen (gesteuert durch einen anderen Hyperparameter) und/oder verfügt nicht über eine progressiv wachsende Architektur für die Ausgabe. Die NCSN++-Architektur ist so ausgestattet, dass sie Tensoren auf der Grundlage der latenten Variablendimensionen von VAE 200 vorhersagen kann.
  • 4A stellt eine beispielhafte Restzelle dar, die sich innerhalb des Kodierers befindet, der in einer hierarchischen Version des VAE von 2 enthalten ist, gemäß verschiedener Ausführungsformen. Genauer gesagt zeigt 4A eine Restzelle, die von einem oder mehreren Restnetzen 308-312 im Bottom-up-Modell 302 von 3A verwendet wird. Wie gezeigt, umfasst die Restzelle eine Reihe von Blöcken 402-410 und eine Restverbindung 430, die die Eingabe in die Restzelle zur Ausgabe der Restzelle addiert.
  • Block 402 ist ein Stapel-Normalisierungsblock (batch normalization block) mit einer Swish-Aktivierungsfunktion, Block 404 ist ein 3x3-Faltungsblock, Block 406 ist ein Stapel-Normalisierungsblock mit einer Swish-Aktivierungsfunktion, Block 408 ist ein 3x3-Faltungsblock, und Block 410 ist ein Komprimierungs- und Anregungsblock (squeeze and excitation block), der in der Restzelle ein kanalweises Durchschalten durchführt (z.B., eine Komprimierungsoperation wie z. B. Mittelwert, um einen einzigen Wert für jeden Kanal zu erhalten, gefolgt von einer Anregungsoperation, die eine nichtlineare Transformation auf die Ausgabe der Komprimierungsoperation anwendet, um Gewichte pro Kanal zu erzeugen). Darüber hinaus wird über die Blöcke 402-410 hinweg die gleiche Anzahl von Kanälen beibehalten. Im Gegensatz zu herkömmlichen Restzellen mit einer Faltungs-Stapel-Normalisierungs-Aktivierungs-Ordnung weist die Restzelle in 4A eine Stapel-Normalisierungs-Aktivierungs-Faltungs-Ordnung auf, die die Leistung des Bottom-up-Modells 302 und/oder des Kodierers 202 verbessern kann.
  • 4B stellt eine beispielhafte Restzelle dar, die sich in einem generativen Abschnitt einer hierarchischen Version des VAE von 2 befindet, gemäß verschiedener Ausführungsformen. Genauer gesagt, zeigt 4B eine Restzelle, die von einem oder mehreren Restnetzen 314-316 im Top-down-Modell 304 der 3A und 3B verwendet wird. Wie gezeigt, weist die Restzelle eine Anzahl von Blöcken 412-426 und eine Restverbindung 432 auf, die die Eingabe in die Restzelle zur Ausgabe der Restzelle hinzufügt.
  • Block 412 ist ein Stapel-Normalisierungsblock, Block 414 ist ein 1×1-Faltungsblock, Block 416 ist ein Stapel-Normalisierungsblock mit einer Swish-Aktivierungsfunktion, Block 418 ist ein 5x5-tiefenweise trennbarer Faltungsblock, Block 420 ist ein Stapel-Normalisierungsblock mit einer Swish-Aktivierungsfunktion, Block 422 ist ein 1×1-Faltungsblock, Block 424 ist ein Stapel-Normalisierungsblock, und Block 426 ist ein Komprimierungs- und Anregungsblock. Die mit „EC“ gekennzeichneten Blöcke 414-420 zeigen an, dass die Anzahl der Kanäle „E“ mal erweitert wurde, während die mit „C“ gekennzeichneten Blöcke die ursprüngliche Anzahl „C“ von Kanälen aufweisen. Insbesondere führt Block 414 eine 1×1-Faltung durch, die die Anzahl der Kanäle erweitert, um die Aussagefähigkeit der von Block 418 durchgeführten tiefenweise trennbaren Faltungen zu verbessern, und Block 422 führt eine 1×1-Faltung durch, die auf „C“-Kanäle zurück abbildet. Gleichzeitig reduziert die tiefenweise trennbare Faltung die Parametergröße und die Rechenkomplexität gegenüber regulären Faltungen mit größeren Kernelgrößen, ohne die Leistung des generativen Modells zu beeinträchtigen.
  • Darüber hinaus kann die Verwendung der Stapel-Normalisierung mit einer Swish-Aktivierungsfunktion in den Restzellen der 4A und 4B das Training des Kodierers 202 und/oder des generativen Modells gegenüber herkömmlichen Restzellen oder Netzen verbessern. Zum Beispiel verbessert die Kombination von Stapel-Normalisierung und Swish-Aktivierung in der Restzelle von 4A die Leistung eines VAE mit 40 latenten Variablengruppen um etwa 5% gegenüber der Verwendung von Gewichtsnormalisierung und einer exponentiellen linearen Einheitsaktivierung in der gleichen Restzelle.
  • Obwohl der Betrieb von SGM 212 oben in Bezug auf VAE 200 beschrieben wurde, ist es klar, dass SGM 212 mit anderen Arten von generativen Modellen verwendet werden kann, die eine Prior-Verteilung von latenten Variablen in einem latenten Raum, einen Dekodierer, der Samples der latenten Variablen in Samples in einem Datenraum eines Trainingsdatensatzes umwandelt, und eine Komponente oder Methode, die ein Sample in dem Trainingsdatensatz auf ein Sample in dem latenten Raum der latenten Variablen abbildet, aufweisen. Im Zusammenhang mit dem VAE 200 wird die Prior-Verteilung von dem SGM 212 gelernt, der Kodierer 202 wandelt Samples von Trainingsdaten 208 in dem Datenraum in latente Variablen in dem latenten Raum um, die der latenten Variablenhierarchie 204 zugeordnet sind, und der Dekodierer 206 ist ein neuronales Netz, das von dem Kodierer 202 getrennt ist und latente Variablenwerte von dem latenten Raum zurück in Wahrscheinlichkeiten in dem Datenraum umwandelt.
  • Ein generatives gegnerisches Netz (generative adversarial network, GAN) ist ein weiterer Typ eines generativen Modells, das mit dem SGM 212 verwendet werden kann. Die Prior-Verteilung im GAN kann durch den SGM 212 dargestellt werden, wobei der Dekodierer in dem GAN ein Generator-Netz ist, das ein Sample aus der Prior-Verteilung in ein Sample in dem Datenraum eines Trainingsdatensatzes umwandelt, und das Generator-Netz kann numerisch invertiert werden, um Samples in dem Trainingsdatensatz auf Samples in dem latenten Raum der latenten Variablen abzubilden.
  • Ein Normalisierungsfluss ist eine andere Art von generativem Modell, das mit dem SGM 212 verwendet werden kann. Wie bei dem GAN kann die Prior-Verteilung in einem Normalisierungsfluss von dem SGM 212 gelernt werden. Der Dekodierer in einem Normalisierungsfluss wird durch ein neuronales Netz dargestellt, das den latenten Raum mit dem Datenraum durch eine deterministische und invertierbare Transformation von beobachteten Variablen in dem Datenraum zu latenten Variablen in dem latenten Raum in Beziehung setzt. Die Invertierung des Dekodierers in dem Normalisierungsfluss kann verwendet werden, um ein Sample in dem Trainingsdatensatz auf ein Sample in dem latenten Raum abzubilden.
  • 5 stellt ein Flussdiagramm von Verfahrensschritten zum Trainieren eines generativen Modells gemäß verschiedener Ausführungsformen dar. Obwohl die Verfahrensschritte in Verbindung mit den Systemen der 1-4 beschrieben werden, ist dem Fachmann klar, dass jedes System, das ausgestaltet ist, um die Verfahrensschritte in beliebiger Reihenfolge durchzuführen, in den Umfang der vorliegenden Offenbarung fällt.
  • Wie gezeigt, trainiert 502 die Trainingsmaschine 122 ein neuronales Kodierernetz und ein neuronales Dekodierernetz vor, um zwischen Datenpunkten in einem Trainingsdatensatz und latenten Variablenwerten in einem latenten Raum auf der Grundlage eines Standard-Normal-Priors umzuwandeln. Beispielsweise kann die Trainingsmaschine 122 ein neuronales Kodierernetz in einem VAE trainieren, um einen Satz von Trainingsbildern (oder andere Arten von Trainingsdaten) in Sätze von latenten Variablenwerten in einer latenten Variablenhierarchie (z. B. die latente Variablenhierarchie 204 von 2A) umzuwandeln. Die Trainingsmaschine 122 kann ferner ein neuronales Dekodierernetz in dem VAE trainieren, um jeden Satz latenter Variablen zurück in ein entsprechendes Trainingsbild umzuwandeln. Die Trainingsmaschine 122 kann ferner einen der latenten Variablenhierarchie zugeordneten Prior in den Standard-Normal-Prior umparametrieren. Während des Trainings des VAE kann die Trainingsmaschine 122 die Parameter der neuronalen Kodierer- und DekodiererNetze auf der Grundlage einer unteren abweichenden Schranke für die Log-Wahrscheinlichkeit der Daten aktualisieren.
  • Als nächstes führt die Trainingsmaschine 122 ein Ende-zu-Ende-Training des neuronalen Kodierernetzes, des neuronalen Dekodierernetzes und eines SGM durch, das zwischen den latenten Variablenwerten in dem latenten Raum und entsprechenden Werten in einer Basisverteilung umwandelt. Das SGM kann beispielsweise einen festen Vorwärtsdiffusionsprozess aufweisen, der jeden Satz von latenten Variablenwerten in einen entsprechenden Satz von Werten in der Basisverteilung (z. B. eine Standardnormalverteilung) umwandelt, indem den latenten Variablenwerten allmählich Rauschen hinzugefügt wird. Das SGM kann auch eine Komponente eines neuronalen Netzes aufweisen, das eine Score-Funktion erlernt, die verwendet wird, um den Vorwärtsdiffusionsprozess umzukehren, wodurch Samples von Rauschen aus der Basisverteilung in entsprechende Sätze von latenten Variablenwerten umgewandelt werden. Das SGM würde somit trainiert werden, um die Abweichung zwischen der Verteilung der latenten Variablenwerte und der Basisverteilung zu modellieren.
  • Genauer gesagt trainiert die Trainingsmaschine 122 während des Vorgangs 504 das neuronale Kodierernetz, das neuronale Dekodierernetz und das SGM auf der Grundlage von einem oder mehreren Verlusten. Der Verlust bzw. die Verluste weisen einen Rekonstruktionsverlust, der einem gegebenen Datenpunkt in dem Trainingsdatensatz und einer Rekonstruktion des Datenpunkts durch das neuronale Dekodierernetz zugeordnet ist, einen negativen Kodierer-Entropieverlust, der dem neuronalen Kodierernetz zugeordnet ist, und einen Kreuzentropieverlust, der einer ersten Verteilung von latenten Variablenwerten, die durch das SGM erzeugt wurde, und einer zweiten Verteilung von latenten Variablenwerten, die durch das neuronale Kodierernetz auf der Grundlage des Trainingsdatensatzes erzeugt wurde, zugeordnet ist, auf. Die Trainingsmaschine 122 kann die neuronalen Kodierer- und Dekodierernetze unter Verwendung einer Maximum-Likelihood-Verlustgewichtung trainieren, die dem Kreuzentropieverlust zugeordnet ist. Die Trainingsmaschine 122 kann auch das SGM unter Verwendung der gleichen Maximum-Likelihood-Verlustgewichtung oder einer anderen (ungewichteten oder neu gewichteten) Verlustgewichtung trainieren. Die Trainingsmaschine 122 kann ferner eine geometrische varianzerhaltende SDE und/oder eine IS-Technik verwenden, die Samples aus einer Vorschlagsverteilung nimmt, die einer bestimmten Verlustgewichtung zugeordnet ist, um die Varianz des Kreuzentropieverlustes zu verringern.
  • Schließlich erzeugt 506 die Trainingsmaschine 122 ein generatives Modell, das das SGM und das neuronale Dekodierernetz aufweist. Das generative Modell kann dann verwendet werden, um neue Datenpunkte zu erzeugen, die nicht im Trainingsdatensatz zu finden sind, aber Attribute beinhalten, die aus dem Trainingsdatensatz extrahiert wurden, wie weiter unten in Bezug auf 6 im Detail beschrieben.
  • 6 zeigt ein Flussdiagramm von Verfahrensschritten zum Erzeugen einer generativen Ausgabe gemäß verschiedener Ausführungsformen. Obwohl die Verfahrensschritte in Verbindung mit den Systemen der 1-4 beschrieben werden, wird ein Fachmann verstehen, dass jedes System, das ausgelegt ist, die Verfahrensschritte in beliebiger Reihenfolge durchzuführen, in den Umfang der vorliegenden Offenbarung fällt.
  • Wie gezeigt, nimmt 602 die Ausführungsmaschine 124 Samples aus einer Basisverteilung, die einem SGM zugeordnet ist, um einen Satz von Werten zu erzeugen. Zum Beispiel kann die Ausführungsmaschine 124 den Satz von Werten aus einer Standardnormalverteilung entnehmen.
  • Als Nächstes führt 604 die Ausführungsmaschine 124 eine oder mehrere Entrauschungsoperationen über das SGM durch, um den Satz von Werten in einen Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind. Beispielsweise kann die Ausführungsmaschine 124 den Satz von Werten in den Satz latenter Variablenwerte über eine Reihe von Zeitschritten umwandeln. Jeder Zeitschritt kann die Verwendung einer Umkehrzeit-SDE, einer Wahrscheinlichkeitsfluss-ODE und/oder einer Technik des die Vorfahren betreffenden Samplings beinhalten, um Rauschen aus dem Wertesatz zu entfernen. Die Ausgabe eines gegebenen Zeitschritts kann auf der Grundlage eines von dem SGM für diesen Zeitschritt ausgegebenen Score-Werts erzeugt werden.
  • Die Ausführungsmaschine 124 wandelt 606 dann den Satz latenter Variablenwerte in eine generative Ausgabe um. Zum Beispiel kann die Ausführungsmaschine 124 ein neuronales Dekodierernetz verwenden, das mit dem SGM trainiert wurde, um die latenten Variablenwerte in eine Wahrscheinlichkeitsverteilung zu „dekodieren“. Die Ausführungsmaschine 124 kann dann ein Sample aus der Wahrscheinlichkeitsverteilung nehmen, um ein Bild und/oder eine andere Art von generativer Ausgabe zu erzeugen.
  • Beispiel für ein Spiel-Streaming-System
  • 7 ist ein Beispielsystemdiagramm für ein Spiel-Streaming-System 700 gemäß verschiedener Ausführungsformen. 7 weist einen oder mehrere Spieleserver 702 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie die Beispiel-Computervorrichtung 100 von 1 aufweisen können), ein oder mehrere Client-Vorrichtungen 704 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie die Beispiel-Computervorrichtung 100 von 1 aufweisen können) und ein oder mehrere Netze 706 (die ähnlich wie die hierin beschriebenen Netze sein können) auf. In einigen Ausführungsformen kann das System 700 unter Verwendung eines Cloud-Computersystems und/oder eines verteilten Systems implementiert werden.
  • Im System 700 kann (können) die Client-Vorrichtung(en) 704 für eine Spielesitzung nur Eingabedaten als Reaktion auf Eingaben in die Eingabevorrichtung(en) empfangen, die Eingabedaten an den (die) Spielserver 702 übertragen, kodierte Anzeigedaten von dem (den) Spielserver(n) 702 empfangen und die Anzeigedaten auf einer Anzeige 724 anzeigen. So werden die rechenintensiveren Berechnungen und Verarbeitungen auf den/die Spieleserver 702 verlagert (z. B. wird das Rendering - insbesondere eine Strahlen- oder Pfadverfolgung - für die grafische Ausgabe der Spielesitzung von der/den GPU(s) des/der Spieleserver(s) 702 ausgeführt). Mit anderen Worten: Die Spielesitzung wird von dem/den Spieleserver(n) 702 an die Client-Vorrichtung(en) 704 gestreamt, wodurch die Anforderungen der Client-Vorrichtung(en) 704 an die Grafikverarbeitung und das Rendering reduziert werden.
  • In Bezug auf eine Instanziierung einer Spielesitzung kann eine Client-Vorrichtung 704 beispielsweise ein Bild der Spielesitzung auf der Anzeige 724 anzeigen, basierend auf dem Empfang der Anzeigedaten von dem (den) Spieleserver(n) 702. Die Client-Vorrichtung 704 kann eine Eingabe an einer oder mehreren Eingabevorrichtungen 726 empfangen und daraufhin Eingabedaten erzeugen. Die Client-Vorrichtung 704 kann die Eingabedaten über eine Kommunikationsschnittstelle 720 und über Netz(e) 706 (z. B. das Internet) an den/die Spielserver 702 übertragen, und der/die Spielserver 702 kann/können die Eingabedaten über eine Kommunikationsschnittstelle 718 empfangen. CPU(s) 708 kann/können die Eingabedaten empfangen, die Eingabedaten verarbeiten und Daten an GPU(s) 710 übertragen, die die GPU(s) 710 veranlassen, ein Rendering der Spielesitzung zu erzeugen. Die Eingabedaten können zum Beispiel eine Bewegung einer Figur des Benutzers in einem Spiel, ein Abfeuern einer Waffe, ein Nachladen, ein Passen eines Balls, ein Wenden eines Fahrzeugs usw. darstellen. Eine Rendering-Komponente 712 kann die Spielesitzung rendern (z. B. darstellend für das Ergebnis der Eingabedaten), und eine Render-Erfassungskomponente 714 kann das Rendering der Spielesitzung als Anzeigedaten erfassen (z. B. als Bilddaten, die das gerenderte Bild der Spielesitzung erfassen). Das Rendering der Spielesitzung kann Beleuchtungs- und/oder Schatteneffekte mit Strahlen- oder Pfadverfolgung aufweisen, die unter Verwendung einer oder mehrerer paralleler Verarbeitungseinheiten - wie GPUs 710, die darüber hinaus die Verwendung eines oder mehrerer dedizierter Hardwarebeschleuniger oder Verarbeitungskerne zur Durchführung von Strahlen- oder Pfadverfolgungstechniken nutzen können - des/der Spieleserver(s) 702 berechnet werden. Der Kodierer 716 kann dann die Anzeigedaten kodieren, um kodierte Anzeigedaten zu erzeugen, und die kodierten Anzeigedaten können über das/die Netz(e) 706 über die Kommunikationsschnittstelle 718 an die Client-Vorrichtung 704 übertragen werden. Die Client-Vorrichtung 704 kann die kodierten Anzeigedaten über die Kommunikationsschnittstelle 720 empfangen, und der Dekodierer 722 kann die kodierten Anzeigedaten dekodieren, um die Anzeigedaten zu erzeugen. Die Client-Vorrichtung 704 kann dann die Anzeigedaten über die Anzeige 724 anzeigen.
  • In einigen Ausführungsformen weist das System 700 eine Funktionalität auf, um die Trainingsmaschine 122 und/oder die Ausführungsmaschine 124 der 1-2 zu implementieren. Beispielsweise können eine oder mehrere Komponenten des Spieleservers 702 und/oder der Client-Vorrichtung(en) 704 die Trainingsmaschine 122 ausführen, um einen VAE und/oder ein anderes generatives Modell zu trainieren, das ein Kodierer-Netz, ein Prior-Netz und/oder ein Dekodierer-Netz auf der Grundlage eines Trainingsdatensatzes aufweist (z.B. ein Satz von Bildern oder Modellen von Figuren oder Objekten in einem Spiel). Die ausgeführte Trainingsmaschine 122 kann auch ein SGM trainieren, das als Prior für das generative Modell arbeitet und eine Abweichung zwischen der Verteilung der latenten Variablen, die durch das generative Modell gelernt wurde, und einer Standardnormalverteilung korrigiert. Eine oder mehrere Komponenten des Spieleservers 702 und/oder der Client-Vorrichtung(en) 704 können dann die Ausführungsmaschine 124 ausführen, um eine generative Ausgabe zu erzeugen (z. B. zusätzliche Bilder oder Modelle von Figuren oder Objekten, die nicht im Trainingsdatensatz gefunden werden), indem ein Satz von Werten aus der Standardnormalverteilung Sample-weise entnommen wird, das SGM verwendet wird, um den Satz von Werten in einen Satz von latenten Variablenwerten umzuwandeln, und das Dekodierernetz verwendet wird, um die latenten Variablenwerte in eine generative Ausgabe umzuwandeln. Die generative Ausgabe kann dann während einer oder mehrerer Spielesitzungen auf der/den Client-Vorrichtung(en) 704 auf der Anzeige 724 angezeigt werden.
  • Zusammenfassend verbessern die offengelegten Techniken die generative Ausgabe, die von VAEs, SGMs und/oder anderen Arten von generativen Modellen erzeugt wird. Ein neuronales Kodierernetz und ein neuronales Dekodierernetz werden mit einem Standard-Normal-Prior vortrainiert, um zwischen Datenpunkten in einem Trainingsdatensatz und latenten Variablenwerten in einem latenten Raum zu konvertieren. Das vortrainierte neuronale Kodierernetz, das vortrainierte neuronale Dekodierernetz und ein SGM werden auf der Grundlage eines Rekonstruktionsverlusts, eines negativen Kodierer-Entropieverlusts und/oder eines Kreuzentropieverlusts Ende-zu-Ende trainiert. Der Kreuzentropieverlust kann eine oder mehrere Verlustgewichtungen aufweisen, die verwendet werden können, um zwischen hoher Datenwahrscheinlichkeit und Wahrnehmungsqualität der generativen Ausgabe zu wählen.
  • Nachdem das Training des SGM, des neuronalen Kodierernetzes und des neuronalen Dekodierernetzes abgeschlossen ist, sind das SGM und das neuronale Dekodierernetz in einem generativen Modell enthalten, das eine generative Ausgabe erzeugt. Während des Betriebs des generativen Modells wird ein Satz von Werten aus einer Basisverteilung (z. B. einer Standardnormalverteilung), die dem SGM zugeordnet ist, Sample-weise entnommen. Das SGM wird verwendet, um iterativ Rauschen aus dem Satz von Werten zu entfernen, wodurch der Satz von Werten in einen Satz von latenten Variablenwerten in dem latenten Raum umgewandelt wird, der dem neuronalen Kodierernetz und dem neuronalen Dekodierernetz zugeordnet ist. Das Dekodierernetz wird dann auf den ersten Satz latenter Variablenwerte angewandt, um eine Likelihood-Verteilung zu erzeugen, und die generative Ausgabe wird aus der Likelihood-Verteilung Sample-weise entnommen.
  • Ein technischer Vorteil der offenbarten Techniken gegenüber dem Stand der Technik ist der, dass mit den offenbarten Techniken ein Score-basiertes generatives Modell Abbildungen zwischen einer Verteilung latenter Variablen in einem latenten Raum und einer Basisverteilung erzeugt, die der Verteilung latenter Variablen in dem latenten Raum ähnlich ist. Die Abbildungen können dann vorteilhaft genutzt werden, wenn Daten-Samples erzeugt werden. Insbesondere ermöglichen die Abbildungen dem Score-basierten generativen Modell, weniger Auswertungen des neuronalen Netzes durchzuführen und wesentlich weniger Ressourcenaufwand zu verursachen, wenn Samples aus der Basisverteilung in einen Satz latenter Variablenwerte umgewandelt werden, aus denen Daten-Samples erzeugt werden können, im Vergleich zu Ansätzen nach dem Stand der Technik, bei denen Tausende von Auswertungen des neuronalen Netzes über Score-basierte generative Modelle durchgeführt werden, wenn Rausch-Samples in Daten-Samples aus komplexen Datenverteilungen umgewandelt werden. Ein weiterer Vorteil der offengelegten Techniken ist, dass, da der latente Raum, der den latenten Variablenwerten zugeordnet ist, kontinuierlich ist, ein SGM in einem generativen Modell verwendet werden kann, das lernt, nicht-kontinuierliche Daten zu erzeugen. Diese technischen Vorteile stellen eine oder mehrere technologische Verbesserungen gegenüber dem Stand der Technik dar.
    • 1. In einigen Ausführungsformen umfasst ein computerimplementiertes Verfahren zum Erzeugen eines Bildes ein Sampling aus einer ersten Verteilung, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen; ein Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind; und ein Umwandeln des ersten Satzes von latenten Variablenwerten in das Bild.
    • 2. Das computerimplementierte Verfahren nach Ziffer 1, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in das Bild ein Durchführen einer oder mehrerer zusätzlicher Operationen über ein Dekodierernetz umfasst, um den ersten Satz von latenten Variablenwerten in das Bild umzuwandeln.
    • 3. Das computerimplementierte Verfahren nach einem der Ziffern 1-2, wobei das Bild mindestens ein Gesicht umfasst.
    • 4. In einigen Ausführungsformen umfasst ein computerimplementiertes Verfahren zum Erzeugen von Daten ein Sampling aus einer ersten Verteilung, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen; ein Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind; und ein Umwandeln des ersten Satzes von latenten Variablenwerten in eine generative Ausgabe.
    • 5. Das computerimplementierte Verfahren nach Ziffer 4, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in die generative Ausgabe ein Durchführen einer oder mehrerer zusätzlicher Operationen über ein neuronales Dekodierernetz umfasst, um den ersten Satz von latenten Variablenwerten in die generative Ausgabe umzuwandeln.
    • 6. Das computerimplementierte Verfahren nach einer der Ziffern 4-5, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in die generative Ausgabe ein Sampling der generativen Ausgabe aus einer Likelihood-Verteilung umfasst, wobei die Likelihood-Verteilung aus dem ersten Satz von latenten Variablenwerten erzeugt wird.
    • 7. Das computerimplementierte Verfahren nach einer der Ziffern 4-6, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Erzeugen einer zweiten Verteilung von latenten Variablen auf der Grundlage des ersten Satzes von Werten und ein Sampling des ersten Satzes von latenten Variablenwerten aus der zweiten Verteilung umfasst.
    • 8. Das computerimplementierte Verfahren nach einer der Ziffern 4-7, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Umkehren eines Diffusionsprozesses umfasst, der einen oder mehrere Datenpunkte in ein oder mehrere der ersten Verteilung zugeordnete Rausch-Samples umwandelt.
    • 9. Das computerimplementierte Verfahren nach einer der Ziffern 4-8, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Lösen einer gewöhnlichen Differentialgleichung umfasst, die auf dem ersten Satz von Werten und einem Satz von Score-Werten basiert, die durch das Score-basierte generative Modell erzeugt werden.
    • 10. Das computerimplementierte Verfahren nach einer der Ziffern 4-9, wobei die gewöhnliche Differentialgleichung einer stochastischen Differentialgleichung zugeordnet ist, die eine Operation des Score-basierten generativen Modells darstellt.
    • 11. Das computerimplementierte Verfahren nach einer der Ziffern 4-10, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein iteratives Aktualisieren einer zweiten Verteilung von latenten Variablen auf der Grundlage des ersten Satzes von Werten und eines Satzes von Score-Werten umfasst, die von dem Score-basierten generativen Modell erzeugt werden.
    • 12. Das computerimplementierte Verfahren nach einer der Ziffern 4-11, wobei das Score-basierte generative Modell einen Satz von Restnetzblöcken umfasst.
    • 13. Das computerimplementierte Verfahren nach einer der Ziffern 4-12, wobei die erste Verteilung eine Standardnormalverteilung umfasst.
    • 14. In einigen Ausführungsformen speichern ein oder mehrere nicht flüchtige computerlesbare Medien Befehle, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die folgenden Schritte auszuführen: Sampling aus einer ersten Verteilung, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen; Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind; und Umwandeln des ersten Satzes von latenten Variablenwerten in eine generative Ausgabe.
    • 15. Das eine oder die mehreren nicht flüchtigen computerlesbaren Medien von Ziffer 14, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in die generative Ausgabe umfasst: Anwenden eines neuronalen Dekodierernetzes auf den ersten Satz von latenten Variablenwerten, um eine Likelihood-Verteilung zu erzeugen; und Sampling der generativen Ausgabe aus der Likelihood-Verteilung.
    • 16. Das eine oder die mehreren nicht flüchtigen computerlesbaren Medien nach einer der Ziffern 14-15, wobei das neuronale Dekodierernetz in einem Variations-Autoencoder enthalten ist, der zwischen einem Satz von Datenpunkten, die in einem Trainingsdatensatz enthalten sind, und einer oder mehreren Verteilungen der latenten Variablenwerte umsetzt.
    • 17. Das eine oder die mehreren nicht flüchtigen computerlesbaren Medien nach einer der Ziffern 14-16, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Umkehren eines Diffusionsprozesses umfasst, der einen oder mehrere Datenpunkte in ein oder mehrere der ersten Verteilung zugeordnete Rausch-Samples umsetzt.
    • 18. Das eine oder die mehreren nicht flüchtigen computerlesbaren Medien nach einer der Ziffern 14-17, wobei das Durchführen der einen oder der mehreren Entrauschungsoperationen ein Bestimmen einer zweiten Verteilung, die dem ersten Satz latenter Variablenwerte zugeordnet ist, auf der Grundlage einer gewöhnlichen Differentialgleichung (ODE) und eines Satzes von Score-Werten umfasst, die von dem Score-basierten generativen Modell auf der Grundlage des ersten Satzes von Werten erzeugt werden.
    • 19. Das eine oder die mehreren nicht flüchtigen computerlesbaren Medien nach einer der Ziffern 14-18, wobei das Durchführen der einen oder der mehreren Entrauschungsoperationen ein Durchführen eines die Vorfahren betreffenden Samplings umfasst, die dem ersten Satz von Werten und einem Satz von Score-Werten zugeordnet ist, die von dem Score-basierten generativen Modell erzeugt werden.
    • 20. Das eine oder die mehreren nicht flüchtigen computerlesbaren Medien nach einer der Ziffern 14-19, wobei die erste Verteilung eine Standardnormalverteilung umfasst, und wobei das Score-basierte generative Modell eine Fehlanpassung zwischen einer zweiten Verteilung von latenten Variablen, die dem latenten Raum zugeordnet sind, und der ersten Verteilung korrigiert.
  • Beliebige und alle Kombinationen von beliebigen Anspruchselementen, die in den Ansprüchen aufgeführt sind, und/oder von Elementen, die in dieser Anmeldung beschrieben sind, fallen in beliebiger Weise in den in Betracht gezogenen Umfang der vorliegenden Erfindung und des Schutzes.
  • Die Beschreibungen der verschiedenen Ausführungsformen wurden zum Zweck der Veranschaulichung dargestellt, sollen aber nicht abschließend oder auf die offengelegten Ausführungsformen beschränkt sein. Viele Modifikationen und Variationen werden für den Fachmann offensichtlich sein, ohne von dem Umfang und dem Sinn der beschriebenen Ausführungsformen abzuweichen.
  • Aspekte der vorliegenden Ausführungsformen können als ein System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Dementsprechend können Aspekte der vorliegenden Offenbarung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, permanenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte kombiniert, die alle hier allgemein als „Modul“, „System“ oder „Computer“ bezeichnet werden können. Darüber hinaus kann jede Hardware- und/oder Softwaretechnik, jeder Prozess, jede Funktion, jede Komponente, jede Maschine, jedes Modul oder jedes System, das in der vorliegenden Offenbarung beschrieben wird, als Schaltkreis oder als ein Satz von Schaltkreisen implementiert werden. Ferner können Aspekte der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit darauf befindlichem computerlesbarem Programmcode ausgeführt ist.
  • Jede Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, aber nicht ausschließlich, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, ein Apparat oder eine Vorrichtung oder eine geeignete Kombination der vorgenannten sein. Spezifischere Beispiele (eine nicht erschöpfende Liste) für das computerlesbare Speichermedium würden das Folgende aufweisen: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), eine optische Faser, einen tragbaren Compact-Disc-Festwertspeicher (CD-ROM), eine optische Speichervorrichtung, eine magnetische Speichervorrichtung oder irgendeine geeignete Kombination der vorgenannten. Im Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium jedes greifbare Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, -apparat oder -gerät enthalten oder speichern kann.
  • Aspekte der vorliegenden Offenbarung sind vorstehend unter Bezugnahme auf Flussdiagrammabbildungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß der Ausführungsformen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammdarstellungen und/oder Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammdarstellungen und/oder Blockdiagrammen durch Computerprogrammbefehle implementiert werden kann. Diese Computerprogrammbefehle können einem Prozessor eines Allzweckcomputers, eines Spezialcomputers oder eines anderen programmierbaren Datenverarbeitungsgeräts bereitgestellt werden, um eine Maschine zu erzeugen. Die Befehle ermöglichen, wenn sie über den Prozessor des Computers oder eines anderen programmierbaren Datenverarbeitungsgeräts ausgeführt werden, die Umsetzung der in dem Flussdiagramm angegebenen Funktionen/Aktionen und/oder des Blocks oder der Blöcke des Blockdiagramms. Solche Prozessoren können, ohne Einschränkung, Allzweckprozessoren, Spezialprozessoren, anwendungsspezifische Prozessoren oder feldprogrammierbare Gate-Arrays sein.
  • Das Flussdiagramm und die Blockdiagramme in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß der verschiedenen Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockdiagrammen ein Modul, ein Segment oder einen Teil des Codes darstellen, der eine oder mehrere ausführbare Befehle zur Implementierung der angegebenen logischen Funktion(en) umfasst. Es sollte auch beachtet werden, dass in einigen alternativen Implementierungen die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten können. So können z. B. zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der beteiligten Funktionalität. Es wird auch darauf hingewiesen, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammdarstellung sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder der Flussdiagrammdarstellung durch spezielle hardwarebasierte Systeme, die die angegebenen Funktionen oder Vorgänge ausführen, oder durch Kombinationen von spezieller Hardware und Computerbefehlen implementiert werden kann/können.
  • Während das Vorangegangene sich auf Ausführungsformen der vorliegenden Offenbarung bezieht, können andere und weitere Ausführungsformen der Offenbarung entwickelt werden, ohne von dem grundlegenden Umfang derselben abzuweichen, und der Umfang derselben wird durch die folgenden Ansprüche bestimmt.

Claims (20)

  1. Computerimplementiertes Verfahren zum Erzeugen eines Bildes, wobei das Verfahren umfasst: Sampling aus einer ersten Verteilung, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen; Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind; und Umwandeln des ersten Satzes von latenten Variablenwerten in das Bild.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in das Bild ein Durchführen einer oder mehrerer zusätzlicher Operationen über ein Dekodierernetz umfasst, um den ersten Satz von latenten Variablenwerten in das Bild umzuwandeln.
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, wobei das Bild mindestens ein Gesicht umfasst.
  4. Computerimplementiertes Verfahren zum Erzeugen von Daten, wobei das Verfahren umfasst: Sampling aus einer ersten Verteilung, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen; Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind; und Umwandeln des ersten Satzes von latenten Variablenwerten in eine generative Ausgabe.
  5. Computerimplementiertes Verfahren nach Anspruch 4, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in die generative Ausgabe ein Durchführen einer oder mehrerer zusätzlicher Operationen über ein neuronales Dekodiernetz umfasst, um den ersten Satz von latenten Variablenwerten in die generative Ausgabe umzuwandeln.
  6. Computerimplementiertes Verfahren nach Anspruch 4 oder 5, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in die generative Ausgabe ein Sampling der generativen Ausgabe aus einer Likelihood-Verteilung umfasst, wobei die Likelihood-Verteilung aus dem ersten Satz von latenten Variablenwerten erzeugt wird.
  7. Computerimplementiertes Verfahren nach einem der Ansprüche 4 bis 6, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen umfasst: Erzeugen einer zweiten Verteilung von latenten Variablen auf der Grundlage des ersten Satzes von Werten; und Sampling des ersten Satzes von latenten Variablenwerten aus der zweiten Verteilung.
  8. Computerimplementiertes Verfahren nach einem der Ansprüche 4 bis 7, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Umkehren eines Diffusionsprozesses umfasst, der einen oder mehrere Datenpunkte in eine oder mehrere der ersten Verteilung zugeordnete Rausch-Samples umwandelt.
  9. Computerimplementiertes Verfahren nach einem der Ansprüche 4 bis 8, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Lösen einer gewöhnlichen Differentialgleichung umfasst, die auf dem ersten Satz von Werten und einem Satz von Score-Werten basiert, die durch das Score-basierte generative Modell erzeugt werden.
  10. Computerimplementiertes Verfahren nach Anspruch 9, wobei die gewöhnliche Differentialgleichung einer stochastischen Differentialgleichung zugeordnet ist, die eine Operation des Score-basierten generativen Modells darstellt.
  11. Computerimplementiertes Verfahren nach einem der Ansprüche 4 bis 10, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein iteratives Aktualisieren einer zweiten Verteilung von latenten Variablen auf der Grundlage des ersten Satzes von Werten und eines Satzes von Score-Werten umfasst, die von dem Score-basierten generativen Modell erzeugt werden.
  12. Computerimplementiertes Verfahren nach einem der Ansprüche 4 bis 11, wobei das Score-basierte generative Modell einen Satz von Restnetzblöcken umfasst.
  13. Computerimplementierte Verfahren nach einem der Ansprüche 4 bis 12, wobei die erste Verteilung eine Standardnormalverteilung umfasst.
  14. Ein oder mehrere nicht flüchtige computerlesbare Medien, die Befehle speichern, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die Schritte auszuführen: Sampling aus einer ersten Verteilung, die einem Score-basierten generativen Modell zugeordnet ist, um einen ersten Satz von Werten zu erzeugen; Durchführen einer oder mehrerer Entrauschungsoperationen über das Score-basierte generative Modell, um den ersten Satz von Werten in einen ersten Satz von latenten Variablenwerten umzuwandeln, die einem latenten Raum zugeordnet sind; und Umwandeln des ersten Satzes von latenten Variablenwerten in eine generative Ausgabe.
  15. Ein oder mehrere nicht flüchtige computerlesbare Medien nach Anspruch 14, wobei das Umwandeln des ersten Satzes von latenten Variablenwerten in die generative Ausgabe umfasst: Anwenden eines neuronalen Dekodierernetzes auf den ersten Satz von latenten Variablenwerten, um eine Wahrscheinlichkeitsverteilung zu erzeugen; und Sampling der generativen Ausgabe aus der Likelihood-Verteilung.
  16. Ein oder mehrere nicht flüchtige computerlesbare Medien nach Anspruch 15, wobei das neuronale Dekodierernetz in einem Variations-Autoencoder enthalten ist, der zwischen einem Satz von Datenpunkten, die in einem Trainingsdatensatz enthalten sind, und einer oder mehreren Verteilungen der latenten Variablenwerte umwandelt.
  17. Ein oder mehrere nicht flüchtige computerlesbare Medien nach einem der Ansprüche 14 bis 16, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Umkehren eines Diffusionsprozesses umfasst, der einen oder mehrere Datenpunkte in eine oder mehrere Rausch-Samples umwandelt, die der ersten Verteilung zugeordnet sind.
  18. Ein oder mehrere nicht flüchtige computerlesbare Medien nach einem der Ansprüche 14 bis 17, wobei das Durchführen der einen oder mehreren Entrauschungsoperationen ein Bestimmen einer zweiten Verteilung, die dem ersten Satz von latenten Variablenwerten zugeordnet ist, auf der Grundlage einer gewöhnlichen Differentialgleichung (ODE) und eines Satzes von Score-Werten, die durch das Score-basierte generative Modell auf der Grundlage des ersten Satzes von Werten erzeugt werden, umfasst.
  19. Ein oder mehrere nicht flüchtige computerlesbare Medien nach einem der Ansprüche 14 bis 18, wobei das Durchführen der einen oder der mehreren Entrauschungsoperationen ein Durchführen eines die Vorfahren betreffenden Sampling in Verbindung mit dem ersten Satz von Werten und einem Satz von Score-Werten umfasst, die durch das Score-basierte generative Modell erzeugt werden.
  20. Ein oder mehrere nicht flüchtige computerlesbare Medien nach einem der Ansprüche 14 bis 19, wobei die erste Verteilung eine Standardnormalverteilung umfasst und wobei das Score-basierte generative Modell eine Abweichung zwischen einer zweiten Verteilung latenter Variablen, die dem latenten Raum zugeordnet ist, und der ersten Verteilung korrigiert.
DE102022113243.9A 2021-06-08 2022-05-25 Score-basierte generative Modellierung im latenten Raum Pending DE102022113243A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163208304P 2021-06-08 2021-06-08
US63/208,304 2021-06-08
US17/681,625 US20220398697A1 (en) 2021-06-08 2022-02-25 Score-based generative modeling in latent space
US17/681,625 2022-02-25

Publications (1)

Publication Number Publication Date
DE102022113243A1 true DE102022113243A1 (de) 2022-12-08

Family

ID=84102048

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022113243.9A Pending DE102022113243A1 (de) 2021-06-08 2022-05-25 Score-basierte generative Modellierung im latenten Raum

Country Status (3)

Country Link
US (1) US20220398697A1 (de)
CN (1) CN115526223A (de)
DE (1) DE102022113243A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115984403B (zh) * 2023-01-16 2023-07-07 复旦大学 一种基于神经编码理论提升sgm模型生成性能的方法和系统
CN116563673B (zh) * 2023-07-10 2023-12-12 浙江华诺康科技有限公司 烟雾训练数据生成方法、装置和计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176422B2 (en) * 2019-08-08 2021-11-16 Robert Bosch Gmbh Apparatus and system for unsupervised disentangled representation learning with a residual variational autoencoder
US11301724B2 (en) * 2020-04-30 2022-04-12 Robert Bosch Gmbh Semantic adversarial generation based function testing method in autonomous driving
US11475543B2 (en) * 2020-07-01 2022-10-18 Disney Enterprises, Inc. Image enhancement using normalizing flows

Also Published As

Publication number Publication date
CN115526223A (zh) 2022-12-27
US20220398697A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
DE112017002799B4 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE112016004266B4 (de) Verfahren zur Gesichtsausrichtung
Song et al. Real-time exemplar-based face sketch synthesis
DE102019130702A1 (de) Stilbasierte architektur für generative neuronale netzwerke
DE102021206286A1 (de) Tiefer hierarchischer variational autocodierer
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE102018126342A1 (de) Transformieren von faltenden neuronalen netzen zum lernen von visuellen sequenzen
DE102018111407A1 (de) Methode zum maschinellen lernen für automatisches modellieren von mehrwertigen ausgaben
DE102022113243A1 (de) Score-basierte generative Modellierung im latenten Raum
EP3336800B1 (de) Bestimmen einer trainingsfunktion zum generieren von annotierten trainingsbildern
DE102020215942A1 (de) System und verfahren für unüberwachte domänenanpassung mit mischungstraining
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE102021124769A1 (de) Latente-variable generatives modell mit einem rauschkontrastgebenden prior
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
DE112016002496T5 (de) Getemperte Spärlichkeit durch adaptives und dynamisches Schrumpfen
Li et al. Image super-resolution with parametric sparse model learning
Zheng et al. Truncated low-rank and total p variation constrained color image completion and its moreau approximation algorithm
CN117495714B (zh) 基于扩散生成先验的人脸图像复原方法、装置及可读介质
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102020209853A1 (de) Vorrichtung und system für das lernen unüberwachter geordneter darstellung mit einem residual-variational-autoencoder
DE102021124537A1 (de) Energiebasierte variational autoencoder
CN117788629B (zh) 一种具有风格个性化的图像生成方法、装置及存储介质
Wenzel Generative adversarial networks and other generative models
Lu et al. Classifier-guided multi-style tile image generation method
Cao et al. Scoremix: A scalable augmentation strategy for training gans with limited data

Legal Events

Date Code Title Description
R012 Request for examination validly filed