[go: up one dir, main page]

DE102024106455A1 - Variationsinferenzierung durch ein diffusionsmodell - Google Patents

Variationsinferenzierung durch ein diffusionsmodell Download PDF

Info

Publication number
DE102024106455A1
DE102024106455A1 DE102024106455.2A DE102024106455A DE102024106455A1 DE 102024106455 A1 DE102024106455 A1 DE 102024106455A1 DE 102024106455 A DE102024106455 A DE 102024106455A DE 102024106455 A1 DE102024106455 A1 DE 102024106455A1
Authority
DE
Germany
Prior art keywords
diffusion
data
image
denoising
distribution
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
DE102024106455.2A
Other languages
English (en)
Inventor
Morteza Mardani
Jiaming Song
Jan Kautz
Arash Vahdat
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 DE102024106455A1 publication Critical patent/DE102024106455A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Processing (AREA)

Abstract

Diffusionsmodelle sind Maschinenlernalgorithmen, die einzig darauf trainiert sind, aus Daten geringerer Qualität hochwertige Daten zu erzeugen. Sie können z. B. im Bildbereich trainiert werden, um bestimmte Bildwiederherstellungsaufgaben wie Inpainting (z. B. Vervollständigen eines unvollständigen Bilds), Deblurring (z. B. Entfernen von Unschärfe aus einem Bild) und Superauflösung (z. B. Erhöhen der Auflösung eines Bilds) durchzuführen, oder sie können trainiert werden, um Bildrenderingaufgaben, einschließlich 2D-zu-3D-Bilderzeugungsaufgaben, durchzuführen. Derzeitige Ansätze zum Trainieren von Diffusionsmodellen erlauben es jedoch nur, die Modelle für eine bestimmte Aufgabe zu optimieren, so dass sie bei der Verwendung für andere Aufgaben keine hochwertigen Ergebnisse erzielen. Die vorliegende Offenbarung stellt ein Diffusionsmodell bereit, das Variationsinferenzierungen verwendet, um eine Verteilung von Daten zu approximieren, was es dem Diffusionsmodell ermöglicht, verschiedene Aufgaben universell zu lösen, ohne dass es für jede Aufgabe neu trainiert werden muss.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf die Lösung inverser Probleme unter Verwendung von Diffusionsmodellen.
  • HINTERGRUND
  • Diffusionsmodelle sind Algorithmen des Maschinenlernens, die einzig für die Erzeugung qualitativ hochwertiger Daten trainiert werden, und aus diesem Grund haben sich diese Modelle zu einer wichtigen Säule für Computer-Vision-Aufgaben entwickelt. Diffusionsmodelle werden in der Regel trainiert, indem in einem Vorwärtsdiffusionsprozess schrittweise (Gauß'sches) Rauschen zu den ursprünglichen Eingangsdaten hinzugefügt wird und dann gelernt wird, das Rauschen in einem Rückwärtsdiffusionsprozess zu entfernen. Das trainierte Diffusionsmodell kann dann Daten von geringer Qualität (z. B. mit Rauschen) verarbeiten, um eine qualitativ hochwertigere Version der Daten zu erzeugen. Dies wird oft als inverse Aufgabe bezeichnet.
  • Diffusionsmodelle können z. B. im Bildbereich trainiert werden, um bestimmte Bildwiederherstellungsaufgaben wie Inpainting (z. B. Vervollständigung eines unvollständigen Bilds), Deblurring (z. B. Beseitigung von Unschärfe in einem Bild) und Superauflösung (z. B. Erhöhung der Auflösung eines Bilds) durchzuführen. Diffusionsmodelle können auch für die Durchführung von Bildrendering-Aufgaben trainiert werden, einschließlich der Umwandlung von zweidimensionalen in dreidimensionale (2D-zu-3D) Aufgaben, bei denen ein 3D-Bild aus einem 2D-Bild erzeugt wird. Bei traditionellen Ansätzen für das Training von Diffusionsmodellen können die Modelle jedoch nur für eine bestimmte Aufgabe optimiert werden. Dies bedeutet, dass das trainierte Diffusionsmodell keine qualitativ hochwertigen Ergebnisse erzielt, wenn es für andere Aufgaben verwendet wird.
  • Um die Verwendbarkeit von Diffusionsmodellen zu erweitern, ist es ein Ziel, ein einziges Diffusionsmodell zu entwickeln, das universell verschiedene inverse Aufgaben lösen kann, ohne dass das Modell für jede Aufgabe neu trainiert werden muss. Leider sind die derzeitigen Ansätze zur Entwicklung universeller Diffusionsmodelle für inverse Probleme begrenzt. Einige Modelle sind beispielsweise nur in der Lage, lineare inverse Probleme zu lösen, bei denen die Ausgabe direkt proportional zur Eingabe ist (gemäß einer affinen Funktion). Andererseits stützen sich Modelle, die für nichtlineare inverse Probleme geeignet sind, bei denen die Beziehung zwischen Eingabe und Ausgabe komplexer ist und nicht als einfache lineare Funktion ausgedrückt werden kann, stark auf lose Näherungen.
  • Es besteht die Notwendigkeit, diese Probleme und/oder andere mit dem Stand der Technik verbundene Probleme zu lösen. Zum Beispiel besteht die Notwendigkeit, ein Diffusionsmodell bereitzustellen, das Variationsinferenzierung zum Approximieren an die Verteilung von Daten verwendet, wobei eine solche Variationsinferenzierung die Regularisierung durch den umgekehrten Diffusionsprozess oder Rückwärtsdiffusionsprozess fördern kann.
  • KURZBESCHREIBUNG
  • Ein Verfahren, ein computerlesbares Medium und ein System werden offenbart, um ein Diffusionsmodell bereitzustellen, das Variationsinferenzierungen verwendet, um die Verteilung von Daten zu approximieren. Mindestens eine Beobachtung wird durch einen Rückwärtsentrauschungsdiffusionsprozess eines Diffusionsmodells verarbeitet, um eine Verteilung von Daten für die mindestens eine Beobachtung zu approximieren, wobei das Diffusionsmodell Variationsinferenzierung verwendet, um die Verteilung von Daten zu approximieren. Die Verteilung von Daten wird dann ausgegeben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 veranschaulicht ein Flussdiagramm eines Verfahrens zum Bereitstellen eines Diffusionsmodells, das FIG. zum Approximieren an die Verteilung von Daten verwendet, in Übereinstimmung mit einer Ausführungsform.
    • 2 veranschaulicht ein Flussdiagramm eines Verfahrens für Vorwärts- und Rückwärtsprozesse eines Diffusionsmodells, das Variationsinferenzierung zum Approximieren der Verteilung von Daten verwendet, in Übereinstimmung mit einer Ausführungsform.
    • 3 veranschaulicht eine Denoiser- oder Entrauscherkonfiguration eines Diffusionsmodells, das Variationsinferenzierung zum Approximieren einer Verteilung von Daten verwendet, in Übereinstimmung mit einer Ausführungsform.
    • 4 veranschaulicht ein Flussdiagramm eines Verfahrens einer Bewertungsabgleichungsregularisierung, die von jedem der Entrauscher aus 3 angewendet wird, in Übereinstimmung mit einer Ausführungsform.
    • 5 veranschaulicht ein Blockdiagramm eines Diffusionsmodellprozesses, der Variationsinferenzierung zum Approximieren der Verteilung von Daten in einem Bild verwendet, in Übereinstimmung mit einer Ausführungsform.
    • 6 veranschaulicht einen beispielhaften Algorithmus für einen Diffusionsmodellprozess, der Variationsinferenzierung zum Approximieren der Verteilung von Daten verwendet, in Übereinstimmung mit einer Ausführungsform.
    • 7A veranschaulicht die Inferenz- und/oder Trainingslogik, gemäß mindestens einer Ausführungsform;
    • 7B veranschaulicht die Inferenz- und/oder Trainingslogik, gemäß mindestens einer Ausführungsform;
    • 8 veranschaulicht das Training und den Einsatz eines neuronalen Netzes, gemäß mindestens einer Ausführungsform;
    • 9 veranschaulicht ein Beispiel für ein Rechenzentrumssystem, gemäß mindestens einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • 1 veranschaulicht ein Flussdiagramm eines Verfahrens 100 zum Bereitstellen eines Diffusionsmodells, das Variationsinferenzierung zum Approximieren der Verteilung von Daten verwendet, in Übereinstimmung mit einer Ausführungsform. Das Verfahren 100 kann von einer Vorrichtung durchgeführt werden, die in einer Ausführungsform aus einer Verarbeitungseinheit, einem Programm, einer kundenspezifischen Schaltung oder einer Kombination davon bestehen kann. In einer anderen Ausführungsform kann ein System, das aus einem nichtflüchtigen Speicher mit Anweisungen und einem oder mehreren Prozessoren besteht, die mit dem Speicher in Verbindung stehen, die Anweisungen ausführen, um das Verfahren 100 durchzuführen. In einer anderen Ausführungsform kann ein nichttransitorisches computerlesbares Medium Computeranweisungen speichern, die, wenn sie von einem oder mehreren Prozessoren einer Vorrichtung ausgeführt werden, die Vorrichtung veranlassen, das Verfahren 100 durchzuführen.
  • Wie erwähnt, bezieht sich das Verfahren 100 insbesondere auf ein Bereitstellen (z. B. Training) eines Diffusionsmodells. Das Diffusionsmodell bezieht sich auf ein Maschinenlernmodell, das Daten aus Rauschen erzeugen kann. Das Rauschen bezieht sich auf (z. B. zufällige oder pseudozufällige) Artefakte, die in den Daten vorhanden sind. In einer Ausführungsform kann das Diffusionsmodell ein generatives Diffusionsprior sein, das lernt, eine Verteilung von Daten für eine beliebige Eingabe zum Zeitpunkt der Inferenzierung zu approximieren.
  • Zur Trainingszeit umfasst das Diffusionsmodell einen Vorwärtsdiffusionsprozess (hier auch als „Vorwärtsentrauschungsdiffusionsprozess“ bezeichnet), bei dem Rauschen zu den Eingangsdaten (hier auch als „Eingangsdatenverteilung“ bezeichnet) hinzugefügt wird. Insbesondere ersetzt das Rauschen (z. B. zufällig) Teile der Eingangsdaten, was langsam über mehrere Zeitschritte erfolgen kann. Das Rauschen kann Gauß'sches Rauschen sein, bei dem die Werte, die das Rauschen annehmen kann, unter eine Gauß'sche Verteilung fallen, in einer Ausführungsform. Ebenfalls zur Trainingszeit umfasst das Diffusionsmodell einen umgekehrten Diffusionsprozess oder Rückwärtsdiffusionsprozess, bei dem das Modell lernt, das Rauschen zu entfernen, um die Daten zu erzeugen oder wiederherzustellen. Der Rückwärtsdiffusionsprozess kann auch langsam über mehrere Zeitschritte erfolgen (z. B. über die gleiche Anzahl von Zeitschritten, die in dem Vorwärtsdiffusionsprozess verwendet wurden). Das vorliegende Verfahren 100 führt, wie nachstehend beschrieben, Variationsinferenzierung in den Rückwärtsdiffusionsprozess ein (der hier auch als „Rückwärtsentrauschungsdiffusionsprozess“ [reverse denoising diffusion process] bezeichnet wird).
  • In einer Operation 102 wird mindestens eine Beobachtung durch einen Rückwärtsentrauschungsdiffusionsprozess eines Diffusionsmodells verarbeitet, um eine Verteilung von Daten für die mindestens eine Beobachtung zu approximieren, wobei das Diffusionsmodell Variationsinferenzierung verwendet, um die Verteilung von Daten zu approximieren. Die Beobachtung bezieht sich auf Daten, die durch einen Vorwärtsentrauschungsdiffusionsprozess des Diffusionsmodells erzeugt wurden. Dementsprechend enthält in der vorliegenden Ausführungsform die Beobachtung zumindest teilweise Rauschen. In einer Ausführungsform kann die Beobachtung ein Bild sein (z. B. in 2D oder 3D) oder in mindestens einem Teil eines Bilds enthalten sein. Ein Bild bezieht sich auf ein einzelnes Bild (z. B. von einer Kamera aufgenommen oder anderweitig digital erzeugt) oder ein Einzelbild oder einen Frame aus einem Video. In einer anderen Ausführungsform kann die Beobachtung Audio sein.
  • Das Rauschen kann sich in der Beobachtung auf verschiedene Weise bemerkbar machen. Beispielsweise kann das Rauschen dazu führen, dass die Beobachtung eine geringere Auflösung aufweist (im Vergleich zu den Eingangsdaten). Ein weiteres Beispiel ist, dass das Rauschen in einem oder mehreren Teilen der Beobachtung als Maske dargestellt werden kann (d. h. einen oder mehrere Teile der Eingangsdaten verdeckt).
  • Wie oben beschrieben, funktioniert der Rückwärtsentrauschungsdiffusionsprozess so, dass das Modell lernt, das Rauschen aus der (den) Beobachtung(en) zu entfernen, und insbesondere so, dass eine Verteilung von Daten für die Beobachtung(en) approximiert wird. Die Verteilung von Daten kann in einer Ausführungsform eine Approximation der ursprünglichen Daten sein, die in den Vorwärtsdiffusionsprozess eingegeben werden. In verschiedenen Beispielen kann die Verteilung von Daten ein Ausgangsbild, ein nicht maskiertes Bild, ein 3D-Bild, höher aufgelöste Daten usw. repräsentieren.
  • Im Kontext der vorliegenden Beschreibung verwendet das Diffusionsmodell Variationsinferenzierung, um die Verteilung von Daten zu approximieren. Die Variationsinferenzierung bezieht sich auf die Veränderung eines oder mehrerer Aspekte des Modells während des Rückwärtsentrauschungsdiffusionsprozesses. In einer Ausführungsform können Gewichte während des Rückwärtsentrauschungsdiffusionsprozesses variiert werden. Zum Beispiel können die Gewichte über einen oder mehrere Zeitschritte des Rückwärtsentrauschungsdiffusionsprozesses variiert werden. In einer Ausführungsform kann jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher oder „Denoiser“ verwenden, der auf der Grundlage eines Signal-Rausch-Verhältnisses der Entrauschung in dem Zeitschritt gewichtet wird. Das Signal-Rausch-Verhältnis bezieht sich auf das Verhältnis von Datenpunkten zu verrauschten Punkten in einer aktuellen Eingabe in den Entrauscher. Wenn das Signal-Rausch-Verhältnis steigt, können die Gewichte so konfiguriert werden, dass sie abnehmen. Dementsprechend können in einer Ausführungsform die Entrauschergewichte durch den Rückwärtsentrauschungsdiffusionsprozess schrittweise abnehmen.
  • In einer Ausführungsform kann jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses auch einen entsprechenden Entrauscher verwenden, der eine Score-Matching-Regularisierung oder Bewertungsabgleichungsregularisierung auf einen Messungsabgleichungsverlust anwendet. In einer Ausführungsform kann der Messungsabgleichungsverlust ein Rekonstruktionsverlust sein, der aus der/den Beobachtung(en) berechnet wird. In einer Ausführungsform wird eine Diffusionstrajektorie zur Regularisierung verwendet.
  • In einer Operation 104 wird dann die Verteilung von Daten ausgegeben. In einer Ausführungsform kann die Verteilung von Daten zurück in den Vorwärtsentrauschungsdiffusionsprozess des Diffusionsmodells ausgegeben werden. Beispielsweise kann die Verteilung von Daten durch den Vorwärtsentrauschungsdiffusionsprozess des Diffusionsmodells verarbeitet werden, um mindestens eine zweite Beobachtung zu erzeugen. Die zweite(n) Beobachtung(en) kann (können) wiederum durch den Rückwärtsentrauschungsdiffusionsprozesses verarbeitet werden, um eine zweite Verteilung von Daten für die zweite(n) Beobachtung(en) zu approximieren. Auf diese Weise kann das Verfahren 100 für die zweite(n) Beobachtung(en) wiederholt werden, was eine Feinabstimmung des Diffusionsmodells ermöglichen kann.
  • Durch den Einsatz von Variationsinferenzierung während des Rückwärtsentrauschungsdiffusionsprozesses kann das Verfahren 100 zu einem Diffusionsmodell führen, das für verschiedene nachgelagerte Aufgaben verwendet werden kann. Mit anderen Worten, das Diffusionsmodell kann universell auf verschiedene nachgelagerte Aufgaben angewendet werden, ohne dass es für jede einzelne der nachgelagerten Aufgaben neu trainiert werden muss. Zu diesen nachgelagerten Aufgaben kann die Wiederherstellung von Bildern gehören, wie z. B. Inpainting (z. B. Vervollständigung eines unvollständigen Bilds), Superauflösung (z. B. Erhöhung der Auflösung eines Bilds oder anderer Daten), Deblurring (z. B. Entfernung zumindest eines Teils der Unschärfe aus einem Bild), Schärfen (z. B. Schärfen der Kanten in zumindest einem Teil eines Bilds) usw. In einem anderen Beispiel können die nachgelagerten Aufgaben eine 2D-zu-3D-Bilderzeugung umfassen. Die nachgelagerten Aufgaben können in der medizinischen Bildgebung, beim autonomen Fahren, in der Robotik oder bei jeder anderen Anwendung, die Bilder mit einem bestimmten Qualitätsniveau und/oder Bilder in 3D erfordert, Anwendung finden.
  • Eine beispielhafte Implementierung des Verfahrens 100 kann die Verarbeitung mindestens eines Teils eines Bilds (d.h. als mindestens eine Beobachtung) durch den Rückwärtsentrauschungsdiffusionsprozess beinhalten, um ein Ausgangsbild (d.h. als eine Verteilung von Daten für das Bild oder einen Teil davon) zu approximieren. Eine andere beispielhafte Implementierung des Verfahrens 100 kann die Verarbeitung eines maskierten oder unvollständigen Bilds (d.h. als mindestens eine Beobachtung) durch den Rückwärtsentrauschungsdiffusionsprozess umfassen, um ein nicht maskiertes oder vollständiges Bild (d.h. als eine Verteilung von Daten für das maskierte Bild) zu approximieren. Eine andere beispielhafte Implementierung des Verfahrens 100 kann die Verarbeitung eines 2D-Bilds (d.h. als mindestens eine Beobachtung) durch den Rückwärtsentrauschungsdiffusionsprozess beinhalten, um ein 3D-Bild zu approximieren (d.h. als eine Verteilung von Daten für das 2D-Bild). Eine andere beispielhafte Implementierung des Verfahrens 100 kann die Verarbeitung eines Bilds mit geringerer Auflösung (oder anderer Daten) durch den Rückwärtsentrauschungsdiffusionsprozess beinhalten, um ein Bild mit höherer Auflösung (oder andere Daten) zu approximieren.
  • In einer Implementierung des Verfahrens 100 wird das Diffusionsmodell so trainiert, dass es in der Lage ist, die Qualität eines beliebigen Eingangsbilds zu verbessern. In dieser beispielhaften Implementierung umfasst das Training ein Hinzufügen von zufälligem Rauschen zu einem Eingangsbild über eine Vielzahl von Schritten eines Vorwärtsdiffusionsprozesses, um ein verrauschtes Bild zu erzeugen, und dann ein Lernen, das Rauschen aus dem verrauschten Bild über eine Vielzahl von Schritten eines Rückwärtsdiffusionsprozesses zu entfernen, wobei ein oder mehrere Aspekte des Diffusionsmodells über einen oder mehrere der Schritte des Rückwärtsdiffusionsprozesses variiert werden, um während des Rückwärtsdiffusionsprozesses eine Variationsinferenzierung zu liefern. In einer Ausführungsform können die Vorwärts- und Rückwärtsprozesse unter Verwendung der Ausgabe des vorherigen Rückwärtsdiffusionsprozesses wiederholt werden. In dieser beispielhaften Implementierung kann das trainierte Diffusionsmodell universell in der Lage sein, verschiedene Arten von Bildverbesserungsaufgaben zu bewältigen, wie z. B. Inpainting (Vervollständigung eines gegebenen unvollständigen Eingangsbilds), Superauflösung (Erhöhung der Auflösung eines gegebenen Eingangsbilds) und/oder Deblurring (Entfernung von Unschärfe aus einem gegebenen Eingangsbild).
  • Weitere Ausführungsformen werden nachstehend in der Beschreibung der nachfolgenden Figuren dargestellt. Es sei darauf hingewiesen, dass die hier unter Bezugnahme auf das Verfahren 100 von 1 offenbarten Ausführungsformen für jede der Ausführungsformen der übrigen nachstehenden Figuren gelten und/oder in Kombination mit ihnen verwendet werden können.
  • 2 veranschaulicht ein Flussdiagramm eines Verfahrens 200 für Vorwärts- und Rückwärtsprozesse eines Diffusionsmodells, das Variationsinferenzierung zum Approximieren an die Verteilung von Daten verwendet, gemäß einer Ausführungsform. Das Verfahren 200 kann in einer Ausführungsform im Zusammenhang mit dem Verfahren 100 von 1 durchgeführt werden. Ferner können die vorstehenden Beschreibungen und/oder Definitionen auch für die vorliegende Ausführungsform gelten.
  • In einer Operation 202 wird eine Eingangsverteilung von Daten (z. B. ein Eingangsbild) durch einen Vorwärtsentrauschungsdiffusionsprozess eines Diffusionsmodells verarbeitet, um eine Beobachtung (z. B. ein verrauschtes Bild) zu erzeugen. In einer Ausführungsform fügt der Vorwärtsentrauschungsdiffusionsprozess der Eingangsverteilung von Daten allmählich Rauschen hinzu. In einer Ausführungsform wird das Rauschen der Eingangsverteilung von Daten über eine Vielzahl von Schritten hinzugefügt. In einer Ausführungsform ist das Rauschen Gauß'sches Rauschen, wobei die Werte, die das Rauschen annehmen kann, unter eine Gauß'sche Verteilung fallen, in einer Ausführungsform.
  • In einer Operation 204 wird die Beobachtung (z. B. ein verrauschtes Bild) durch einen Rückwärtsentrauschungsdiffusionsprozess verarbeitet, um eine neue Verteilung von Daten (z. B. ein nicht verrauschtes Ausgangsbild) zu approximieren. Die neue Verteilung von Daten kann eine Approximation an die Eingangsverteilung von Daten sein. In einer Ausführungsform entfernt der Rückwärtsentrauschungsdiffusionsprozess allmählich das Rauschen aus der Beobachtung. In einer Ausführungsform wird das Rauschen über mehrere Schritte aus der Beobachtung entfernt.
  • In Bezug auf die vorliegende Ausführungsform verwendet der Rückwärtsentrauschungsdiffusionsprozess Variationsinferenzierung. Dabei können für einen oder mehrere Schritte des Rückwärtsentrauschungsdiffusionsprozesses unterschiedliche Entrauschergewichte verwendet werden. Die Wirkung des Entrauschungsdiffusionsprozesses besteht darin, dass das Diffusionsmodell lernt, die neue Verteilung von Daten aus der gegebenen Beobachtung, die während des Vorwärtsentrauschungsdiffusionsprozesses erzeugt wurde, zu approximieren. Durch diesen Lernprozess wird das Diffusionsmodell darauf trainiert, aus gegebenen verrauschten Eingangsdaten (z. B. nicht verrauschte) Daten zu erzeugen.
  • In einer Entscheidung 206 wird bestimmt, ob das Verfahren 200 für die neue Verteilung von Daten wiederholt werden soll. Diese Entscheidung 206 kann auf der Grundlage eines vorkonfigurierten Abbruchkriteriums getroffen werden. Das Abbruchkriterium kann beispielsweise eine maximale Fehlerschwelle angeben, die zwischen der ursprünglichen Eingabeverteilung von Daten und der neuen Verteilung von Daten zulässig ist. Wenn das Abbruchkriterium erfüllt ist, kann das Verfahren 200 beendet werden. Wenn das Abbruchkriterien nicht erfüllt ist, kann das Verfahren 200 wiederholt werden, indem die neue Verteilung von Daten in den Vorwärtsentrauschungsdiffusionsprozess eingegeben wird, um sie zu verarbeiten (Rückkehr zu Operation 202).
  • 3 zeigt eine Entrauschungskonfiguration 300 eines Diffusionsmodells, das Variationsinferenzierung verwendet, um eine Verteilung von Daten zu approximieren, gemäß einer Ausführungsform. Die Entrauschungskonfiguration 300 kann in einer oder mehreren Ausführungsformen implementiert werden, um den in dem Verfahren 100 von 1 und/oder dem Verfahren 200 von 2 beschriebenen Rückwärtsentrauschungsdiffusionsprozess durchzuführen. Auch hier können die oben gegebenen Beschreibungen und/oder Definitionen gleichermaßen für die vorliegende Ausführungsform gelten.
  • Wie dargestellt, enthält das Diffusionsmodell eine Vielzahl von Entrauschern 302-N, die jeweils einem anderen Zeitschritt (t) in einem Rückwärtsentrauschungsdiffusionsprozess des Diffusionsmodells entsprechen. In einer Ausführungsform kann für jeden Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses ein anderer Entrauscher verwendet werden. Die Entrauscher 302-N sind so konfiguriert, dass sie schrittweise Rauschen aus einer ursprünglichen Beobachtung, die in den Rückwärtsentrauschungsdiffusionsprozess eingegeben wird, vorhersagen und entfernen. Beispielsweise sagt ein Entrauscher 302 in einem Zeitschritt T das Rauschen aus der ursprünglichen Beobachtungseingabe für den Rückwärtsentrauschungsdiffusionsprozess voraus und entfernt es, um ein Ergebnis einer teilweise entrauschten Beobachtung zu erzeugen. Das Ergebnis wird dann in den nächsten Entrauschungsprozess 304 eingegeben (dargestellt bei Zeitschritt T-1), um weitere Vorhersagen zu treffen und Rauschen aus der vorherigen teilweise entrauschten Beobachtung zu entfernen. Dieser Vorgang wiederholt sich bis zum letzten Entrauscher N bei Zeitschritt 0.
  • Wie ebenfalls dargestellt, wird jeder Entrauscher 302-N gewichtet. In der vorliegenden Ausführungsform ist jeder Entrauscher 302-N mit unterschiedlichen Gewichtungen konfiguriert. Zum Beispiel kann jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher 302-N verwenden, der auf der Grundlage (d. h. als Funktion) eines Signal-Rausch-Verhältnisses zur Rauschunterdrückung im Zeitschritt gewichtet wird. Wenn das Signal-Rausch-Verhältnis zunimmt, können die Gewichte so konfiguriert sein, dass sie abnehmen. Dementsprechend können in einer Ausführungsform die Gewichte des Entrauschers 302-N durch den Rückwärtsentrauschungsdiffusionsprozess schrittweise abnehmen.
  • 4 veranschaulicht ein Flussdiagramm eines Verfahrens 400 einer Bewertungsabgleichungsregularisierung, die von jedem der Entrauscher 302-N aus 3 angewendet wird, gemäß einer Ausführungsform. Es sei darauf hingewiesen, dass die hier beschriebene Bewertungsabgleichungsregularisierung nur eine mögliche Ausführungsform der Kriterien ist, die von den Entrauschern 302-N zur Bewertung ihrer Entrauschungsleistung verwendet werden können.
  • In einer Operation 402 wird ein Messungsabgleichungsverlust berechnet. Der von einem Entrauscher 302-N berechnete Messungsabgleichungsverlust wird zwischen der von diesem Entrauscher 302-N entrauschten Beobachtung und der nicht verrauschten Verteilung von Daten berechnet, die ursprünglich in den Vorwärtsentrauschungsdiffusionsprozess des Diffusionsmodells eingegeben wurden. Dieser Messungsabgleichungsverlust kann als Rekonstruktionsverlust bezeichnet werden.
  • In einer Operation 404 wird die Bewertungsabgleichungsregularisierung auf den Messungsabgleichungsverlust angewendet. Die Bewertungsabgleichungsregularisierung verwendet Rückmeldungen aus allen vorherigen Schritten in dem Rückwärtsentrauschungsdiffusionsprozess, die mit unterschiedlichen Rauschpegeln verbunden sind. In einer Ausführungsform kann zum Beispiel eine Diffusionstrajektorie für die Regularisierung verwendet werden.
  • 5 veranschaulicht ein Blockdiagramm eines Diffusionsmodellprozesses 500, der Variationsinferenzierung verwendet, um die Verteilung von Daten in einem Bild zu approximieren, gemäß einer Ausführungsform zu approximieren. Der Diffusionsmodellprozess 500 kann durch das oben in 1 beschriebene Diffusionsmodell ausgeführt werden.
  • Wie gezeigt, umfasst das Diffusionsmodell einen Vorwärtsentrauschungsdiffusionsprozess, bei dem Rauschen schrittweise zu einer Schätzung µ hinzugefügt wird. Der Vorwärtsentrauschungsdiffusionsprozess wird über eine Vielzahl von Schritten von Zeitschritt t bis Zeitschritt T durchgeführt. Formal kann der Vorwärtsprozess durch die varianzerhaltende stochastische Differentialgleichung d x = 1 2 β ( t ) x d t + β ( t ) d w
    Figure DE102024106455A1_0001
    für t = ∈ [0, T] ausgedrückt werden, wobei β ( t ) : = β m i n + ( β m a x β m i n ) t T
    Figure DE102024106455A1_0002
    die Zeitvariable neu skaliert und dw der Standard-Wiener-Prozess ist. Der Vorwärtsprozess ist so konzipiert, dass die Verteilung von xT am Ende des Prozesses gegen eine Standard-Gauß-Verteilung konvergiert (d. h., xT∼N(0, I)).
  • Im Rückwärtsprozess lernt das Modell, Bilder durch iterative Rauschunterdrückung zu erzeugen. Der Rückwärtsprozess ist definiert durch d x = 1 2 β ( t ) x d t + β ( r ) x t log p ( x t ) + β ( t ) d w ¯ ,
    Figure DE102024106455A1_0003
     
    Figure DE102024106455A1_0004
    wobei ∇xt log p(xt) die Score- oder Bewertungsfunktion der diffusen Daten zum Zeitpunkt t ist und dw̅ der umgekehrte Standard-Wiener-Prozess ist.
  • Das Lösen des umgekehrten generativen Prozesses erfordert eine Schätzung der Bewertungsfunktion. In der Praxis geschieht dies durch Abtasten aus dem Vorwärtsdiffusionsprozess und Trainieren der Bewertungsfunktion unter Verwendung des Entrauschungsbewertungsabgleichungsziels. Konkret werden diffundierten Abtastwerte durch Gleichung 1 erzeugt. x t = α t x 0 + σ t e ,   N ( 0, I ) ,   t [ 0, T ]
    Figure DE102024106455A1_0005
    wobei x0~pdata aus der Verteilung von Daten σ t = 1 e 0 t β ( s ) d s
    Figure DE102024106455A1_0006
    gezogen wird, und α t = 1 σ t 2 .
    Figure DE102024106455A1_0007
    Die parametrisierte Bewertungsfunktion (d. h. das Diffusionsmodell) kann durch εθ (xt; t) ≈ -σtxt log p(xt) mit den Parametern θ bezeichnet werden, und εθ(xt; t) kann mit einer Verlustgewichtungsfunktion für t trainiert werden. Mit der trainierten Bewertungsfunktion können Abtastwerte generiert werden.
  • Im Allgemeinen wird ein inverses Problem oft als Finden von x0 aus einer (nichtlinearen und verrauschten) Beobachtung formuliert, gemäß Gleichung 2. y = f ( x 0 ) + v , v N ( 0, σ v 2 I )
    Figure DE102024106455A1_0008
  • Wobei das Vorwärtsmodell (d. h. das Messmodell) f bekannt ist. In einer Ausführungsform kann das von den (vortrainierten) Diffusionsmodellen angebotene Prior in einer Plug-and-Play-Art genutzt werden, um effizient aus dem bedingten Posterior abzugreifen. Mit den durch Diffusionsmodelle auferlegten Priori-Verteilungen p(x0) können die Messmodelle durch p ( y | x 0 ) ; + N ( f ( x 0 ) , σ V 2
    Figure DE102024106455A1_0009
    repräsentiert werden. Das Ziel der Lösung inverser Probleme besteht darin, aus der Posterior-Verteilung p(y|x0) abzutasten. Wie erwähnt, stützen sich Diffusionsmodelle auf die geschätzte Bewertungsfunktion, um Abtastwerte zu erzeugen. In Anwesenheit der Messungen y können sie zur Erzeugung plausibler x0 ~ p(x0|y) verwendet werden, solange eine Approximation der bedingten Bewertung für p(xt|y) über alle Diffusionsschritte verfügbar ist. Konkret wird die bedingte Punktzahl für p(xt|y) auf der Grundlage der Bayes-Regel einfach nach Gleichung 3 erhalten. x log p ( x t | y ) = x log p ( y | x t ) + x log p ( x t )
    Figure DE102024106455A1_0010
  • Die Gesamtbewertung ist eine Überlagerung der Modellwahrscheinlichkeit und der vorherigen Bewertung. Während ∇x log p(xt) leicht aus einem vorab trainierten Diffusionsmodell gewonnen werden kann, ist die Schätzung des Likelihood-Scores oder der Wahrscheinlichkeitsbewertung ohne ein aufgabenspezifisches Training recht schwierig und schwer zu bewerkstelligen.
  • Um die Lösung des Problems der Abtastung des bedingten Posteriors p(y|x0) anzugehen, schlagen wir einen Variationsansatz vor, der auf der Kullback-Leibler (KL)-Minimierung gemäß Gleichung 4 basiert.   q min KL ( q ( x o | y ) p ( x 0 | y ) )
    Figure DE102024106455A1_0011
    wobei q: +N(µ, σ2I) eine Variationsverteilung ist. Die Verteilung q sucht nach der dominanten Mode in der Datenverteilung, die mit den Beobachtungen übereinstimmt. Das KL-Ziel in Gleichung 4 kann als Gleichung 5 erweitert werden. KL ( q ( x 0 | y ) p ( x 0 | y ) ) = E q ( x 0 | y ) [ log ( y | x 0 ) ] + K L ( q ( x 0 | y ) p ( x 0 ) ) term ( i ) + log p ( y ) term ( ii )
    Figure DE102024106455A1_0012
    wobei Term (i) die Variationsschranke ist und Term (ii) die Beobachtungswahrscheinlichkeit ist, die in Bezug auf q konstant ist. Um die in Gleichung 4 gezeigte KL-Divergenz in Bezug auf q zu minimieren, reicht es also aus, die Variationsschranke (Term (i)) in Gleichung 5 in Bezug auf q zu minimieren.
  • Vorschlag 1. Die KL-Minimierung in Bezug auf q in Gleichung 4 ist äquivalent zur Minimierung der Variationsschranke (Term (i) in Gleichung 5), die ihrerseits dem Bewertungsabgleichungsverlust gemäß Gleichung 6 gehorcht. min { μ , σ } E q ( x 0 | y ) | y f ( x 0 ) 2 2 2 σ 2 2 | + 0 T W ˜ ( t ) E q ( x t | y ) [ x t log q ( x t | y ) x t log p ( x t ) 2 2 ] d t
    Figure DE102024106455A1_0013
    wobei q ( x t | y ) = N ( α t μ , ( α t 2 α t 2 ) l )
    Figure DE102024106455A1_0014
    Abtastwerte xt durch Ziehen von x0 aus q(x0|y) und Anwenden des Vorwärtsprozesses in Gleichung 1 erzeugt, und ω̃(t) = β(t)/2 ein Term zur Verlustgewichtung ist.
  • Oben ist der erste Term der Verlust der Messungsübereinstimmung (d. h. der Rekonstruktionsverlust), der aus der Definition von p(y|x0) erhalten wird, während der zweite Term durch die Erweiterung des KL-Terms in Bezug auf das Ziel der Messwertübereinstimmung erhalten wird, und ω̃(t) = β(t)/2 eine Gewichtung auf der Grundlage der maximalen Wahrscheinlichkeit ist. Der zweite Term kann als ein Regularisierungsterm für das Score-Matching bzw. die Bewertungsabgleichung betrachtet werden, der durch das Diffusionsprior auferlegt wird. Das Integral wird auf einer diffundierten Trajektorie ausgewertet, nämlich xt ~ q(xt|y) für t ∈ [0,T], welches der Vorwärtsdiffusionsprozess ist, der auf q(x0|y) angewendet ist. Da q(x0|y) eine einfache Gaußform annimmt, kann gezeigt werden, dass q(xt|y) ebenfalls ein Gauß in der Form q ( x t | y ) = N ( α t μ , ( α t 2 α t 2 ) l )
    Figure DE102024106455A1_0015
    ist. Somit kann die Bewertungsfunktion Vxt log q(xt|y) analytisch berechnet werden.
  • Unter der Annahme, dass die Varianz der Variationsverteilung ein kleiner konstanter Wert nahe Null ist (d. h., σ ≈ 0), kann das Optimierungsproblem in Gleichung 6 weiter zu Gleichung 7 vereinfacht werden.   μ min y-f ( μ ) 2 recon + E t , [ 2 ω ( t ) ( σ v σ t ) 2 t ( x t ; t ) 2 2 ] reg
    Figure DE102024106455A1_0016
    wobei xt = αtµ + σtε. Das Lösen dieses Optimierungsproblems wird ein Bild µ auffinden, das die Beobachtung y unter Berücksichtigung des Messmodells f rekonstruiert und gleichzeitig eine hohe Wahrscheinlichkeit unter dem durch den Regularisierungsterm auferlegten Prior aufweist.
  • Sampling als stochastische Optimierung
  • Das regularisierte Bewertungsabgleichungsziel in Gleichung 7 ermöglicht es, die Abtastung als Optimierung für inverse Probleme zu formulieren. Im Wesentlichen spricht der Ensembleverlust über verschiedene Diffusionsschritte für die stochastische Optimierung als geeignete Sampling-Strategie.
  • In einer Ausführungsform spielt die Wahl des Gewichtungsterms ω̃(t) eine Schlüsselrolle für den Erfolg dieses Optimierungsproblems. Die Neugewichtung des Ziels über t spielt eine Schlüsselrolle bei der Abwägung zwischen Inhalt und Detail bei verschiedenen Diffusionsschritten, was weiter unten genauer beschrieben wird. Darüber hinaus erfordert der zweite Term in Gleichung 7, der mit „reg“ gekennzeichnet ist, ein Backpropagating durch eine vorab trainierte Bewertungsfunktion, welches die Optimierung langsam und instabil machen kann.
  • In einer anderen Ausführungsform kann ein allgemeiner Gewichtungsmechanismus ω̃(t) = β(t)ω(t)/2 für eine positiv bewertete Funktion ω(t) verwendet werden, wobei, falls die Gewichtung so gewählt wird, dass ω(0) = 0, der Gradient des Regularisierungsterms effizient berechnet werden kann, ohne dass ein Backpropagating durch die vortrainierte Bewertungsfunktion erfolgt.
  • Vorschlag 2. Falls ω(0) = 0 und σ = 0, dann erfüllt der Gradient des Bewertungsabgleichungsregularisierungsverlustes Gleichung 8. μ r e g ( μ ) = E t μ [ 0, T ] , N ( O , I ) [ λ t ( θ ( x t ; t ) ) ]
    Figure DE102024106455A1_0017
    wobei λ t : = 2 T σ v 2 α t σ t d ω ( t ) d t .
    Figure DE102024106455A1_0018
  • Stochastische Optimierer erster Ordnung. Auf der Grundlage des einfachen Ausdrucks für den Gradienten der Bewertungsabgleichungsregularisierung in Vorschlag 2 kann die Zeit als eine uniforme Zufallsvariable behandelt werden. Durch ein zufälliges Abtasten über die Zeit und das Rauschen lassen sich daher leicht unverzerrte Schätzungen der Gradienten erhalten. Dementsprechend können stochastische Optimierungsverfahren erster Ordnung für die Suche nach µ angewendet werden. Die Iterate sind unter Algorithmus 1 in 6 aufgeführt. Man beachte, dass der Verlust pro Zeitschritt auf der Grundlage des momentanen Gradienten definiert wird, der als Gradient eines linearen Verlustes behandelt werden kann. Die Schreibweise (sg) wird als „stropped-gradient“ eingeführt, um zu betonen, dass die Bewertung während der Optimierung nicht differenziert wird. In einer Ausführungsform schneidet das absteigende Zeitschrittverfahren von t = T bis t = 0, wie bei Standard-Rückwärtsdiffusionssamplern, besser ab als das zufällige Zeitsampling.
  • Es wird angemerkt, dass Vorschlag 2 der Einfachheit halber der Gradient für den Fall ohne Dispersion (d. h. σ = 0) ableitet. Die Erweiterung auf eine Dispersion ungleich Null kann in einer Ausführungsform ebenfalls berücksichtigt werden.
  • Regularisierung durch Entrauschung
  • Aus dem Gradientenausdruck in Vorschlag 2 kann der Verlust im Zeitschritt t gemäß Gleichung 9 gebildet werden. y f ( μ ) 2 + λ t ( s g [ θ ( x t ; t ) ] T μ
    Figure DE102024106455A1_0019
  • Ein kleiner Regularisierungsterm bedeutet, dass entweder die Diffusion den Fixpunkt erreicht, nämlich εθ(xt; t), oder das Residuum nur noch Rauschen und keinen Beitrag des Bilds mehr enthält. Der Gradient des Regularisierers ist recht einfach und überschaubar. Wie in den obigen Ausführungsformen beschrieben, kann das Diffusionsprior so konfiguriert werden, dass es generativen Charakter hat, und die gesamte Diffusionstrajektorie kann ebenfalls zur Regularisierung verwendet werden.
  • Gewichtungsmechanismus
  • Grundsätzlich spielt die Gewichtung von Zeitschritten eine Schlüsselrolle beim Training von Diffusionsmodellen. Verschiedene Zeitschritte sind für die Erzeugung unterschiedlicher Strukturen verantwortlich, die von großmaßstäblichen Inhalten in den letzten Zeitschritten bis zu feinmaßstäblichen Details in den früheren Zeitschritten reichen. Für eine wirksame Regularisierung werden die Entrauschergewichte {λt} richtig eingestellt, wie in Algorithmus 1 in 6 gezeigt. Der Regularisierungsterm in Gleichung 9 reagiert empfindlich auf das Rauschprogramm. Im varianzerhaltenden Szenario beispielsweise steigt er drastisch an, wenn t sich Null nähert.
  • Um die Empfindlichkeit der Regularisierung gegenüber Gewichten abzuschwächen, kann die Regularisierung im Signalbereich definiert werden, was mit dem Anpassungsterm gemäß Gleichung 10 kompatibel ist. y f ( μ ) 2 + λ ( sg [ μ μ ^ t ] T μ
    Figure DE102024106455A1_0020
    wobei λ ein Hyperparameter ist, der ein Gleichgewicht zwischen Prior und Wahrscheinlichkeit herstellt, und µ̂t der minimale mittlere quadratische Fehler (MMSE) Prädiktor für saubere Daten ist. In einer Ausführungsform ist es erwünscht, dass die Konstante λ den Kompromiss zwischen Verzerrung (Abgleichung an die Beobachtungen) und Varianz (Abgleichung an das Prior) steuert. Um den interpretierbaren Verlust in Gleichung 10 zu erhalten, kann der Rauschrestterm εθ(xt; t) neu skaliert werden.
  • Es sei daran erinnert, dass der Entrauscher zum Zeitpunkt t xt = αtx0 + σtε beobachtet. Der MMSE-Schätzer liefert ebenfalls eine Rauschunterdrückung gemäß Gleichung 11. μ ^ t = E [ μ | x t ] = 1 α t ( x t σ t θ ( x t ; t ) )
    Figure DE102024106455A1_0021
  • Daraus lässt sich Gleichung 12 ableiten. μ μ ^ t = ( σ t / α t ) ( θ ( x t ; t ) )
    Figure DE102024106455A1_0022
    wobei SNRt := σtt als das Signal-Rausch-Verhältnis definiert ist. Dementsprechend kann durch die Wahl von λt = λ/SNRt die Formel für die Rauschvorhersage in Gleichung 9 in die Formel für saubere Daten in Gleichung 10 umgewandelt werden.
  • Maschinenlernen
  • Tiefe neuronale Netzwerke (DNN), einschließlich Deep-Learning-Modelle, die auf Prozessoren entwickelt wurden, sind für verschiedene Anwendungsfälle eingesetzt worden, von selbstfahrenden Autos bis zur schnelleren Arzneimittelentwicklung, von automatischer Bildaufnahme in Online-Bilddatenbanken bis zur intelligenten Echtzeit-Sprachübersetzung in Video-Chat-Anwendungen. Deep Learning ist eine Technik, die den neuronalen Lernprozess des menschlichen Gehirns nachbildet und kontinuierlich lernt, immer intelligenter wird und mit der Zeit immer genauere Ergebnisse liefert. Ein Kind lernt anfangs von einem Erwachsenen, verschiedene Formen richtig zu erkennen und zu klassifizieren, bis es schließlich in der Lage ist, Formen ohne weitere Anleitung zu erkennen. In ähnlicher Weise muss ein Deep-Learning- oder neuronales Lernsystem in der Objekterkennung und -klassifizierung trainiert werden, damit es intelligenter und effizienter bei der Erkennung von einfachen Objekten, verdeckten Objekten usw. wird und den Objekten auch einen Kontext zuordnen kann.
  • Auf der einfachsten Ebene betrachten Neuronen im menschlichen Gehirn verschiedene Eingaben, die sie erhalten, wird jeder dieser Eingaben eine bestimmte Bedeutung zugeordnet und wird eine Ausgabe an andere Neuronen weitergeleitet, die darauf reagieren. Ein künstliches Neuron oder Perzeptron ist das einfachste Modell eines neuronalen Netzwerks. In einem Beispiel kann ein Perzeptron eine oder mehrere Eingaben empfangen, die verschiedene Merkmale eines Objekts repräsentieren, auf dessen Erkennung und Klassifizierung das Perzeptron trainiert wird, und jedem dieser Merkmale wird ein bestimmtes Gewicht zugewiesen, basierend auf der Bedeutung dieses Merkmals bei der Definition der Form eines Objekts.
  • Ein Modell eines tiefen neuronalen Netzwerks (DNN) beinhaltet mehrere Schichten von vielen verbundenen Knoten (z. B. Perceptrons, Boltzmann-Maschinen, radiale Basisfunktionen, Faltungsschichten usw.), die mit enormen Mengen von Eingangsdaten trainiert werden können, um komplexe Probleme schnell und mit hoher Genauigkeit zu lösen. In einem Beispiel zerlegt eine erste Schicht des DNN-Modells ein Eingabebild eines Autos in verschiedene Abschnitte und sucht nach grundlegenden Mustern wie beispielsweise Linien und Winkeln. Die zweite Schicht setzt die Linien zusammen und sucht nach übergeordneten Mustern wie Rädern, Windschutzscheiben und Spiegeln. Die nächste Schicht identifiziert den Fahrzeugtyp, und die letzten wenigen Schichten erzeugen eine Bezeichnung für das Eingabebild, das das Modell einer bestimmten Automarke identifiziert.
  • Sobald das DNN trainiert ist, kann das DNN eingesetzt und zur Identifizierung und Klassifizierung von Objekten oder Mustern in einem als Inferenzierung bezeichneten Prozess verwendet werden. Beispiele für Inferenzierung (der Prozess, durch den ein DNN nützliche Informationen aus einer gegebenen Eingabe extrahiert) beinhalten die Identifizierung handgeschriebener Zahlen auf Schecks, die in Geldautomaten eingezahlt wurden, die Identifizierung von Bildern von Freunden auf Fotos, die Bereitstellung von Filmempfehlungen für über fünfzig Millionen Nutzer, die Identifizierung und Klassifizierung verschiedener Arten von Autos, Fußgängern und Straßengefahren in fahrerlosen Autos oder die Übersetzung menschlicher Sprache in Echtzeit.
  • Während des Trainings durchlaufen die Daten das DNN in einer Vorwärtspropagationsphase, bis eine Vorhersage erstellt wird, die eine der Eingabe entsprechende Bezeichnung angibt. Falls das neuronale Netzwerk die Eingabe nicht korrekt kennzeichnet, dann werden die Fehler zwischen der korrekten Kennzeichnung und der vorhergesagten Kennzeichnung analysiert, und die Gewichte werden für jedes Merkmal in einer Rückwärtspropagationsphase angepasst, bis das DNN die Eingabe und andere Eingaben in einem Trainingsdatensatz korrekt kennzeichnet. Das Training komplexer neuronaler Netzwerke erfordert enorme Mengen an paralleler Rechenleistung, einschließlich Gleitkommamultiplikationen und -additionen. Die Inferenzierung ist weniger rechenintensiv als das Training, da es sich um einen latenzabhängigen Prozess handelt, bei dem ein trainiertes neuronales Netzwerk auf neue Eingaben angewendet wird, die es zuvor nicht gesehen hat, um Bilder zu klassifizieren, Sprache zu übersetzen und allgemein neue Informationen abzuleiten.
  • INFERENZIERUNGS- UND TRAININGSLOGIK
  • Wie vorstehend erwähnt, muss ein Deep-Learning- oder neuronales Lernsystem trainiert werden, um aus den Eingangsdaten Inferenzierung zu ziehen. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 für ein Deep-Learning- oder neuronales Lernsystem werden nachstehend in Verbindung mit 7A und/oder 7B beschrieben.
  • In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne Beschränkung darauf, einen Datenspeicher 701 enthalten, um Vorwärts- und/oder Ausgabegewichts- und/oder Eingabe-/Ausgabedaten zu speichern, die Neuronen oder Schichten eines neuronalen Netzwerks entsprechen, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Inferenzieren verwendet wird. In mindestens einer Ausführungsform speichert der Datenspeicher 701 Gewichtsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzwerks, das in Verbindung mit einer oder mehreren Ausführungsformen während der Vorwärtspropagation von Eingabe-/Ausgabedaten und/oder Gewichtsparametern während des Trainings und/oder der Inferenzierung unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen trainiert oder verwendet wird. In mindestens einer Ausführungsform kann jeder Teil des Datenspeichers 701 in einem anderen On-Chip- oder Off-Chip-Datenspeicher enthalten sein, einschließlich des L1-, L2- oder L3-Cachespeichers oder Systemspeichers eines Prozessors.
  • In mindestens einer Ausführungsform kann jeder Teil des Datenspeichers 701 intern oder extern zu einem oder mehreren Prozessoren oder anderen Hardwarelogik-Vorrichtungen oder -Schaltungen sein. In mindestens einer Ausführungsform kann der Datenspeicher 701 ein Cache-Speicher, ein dynamisch zufällig adressierbarer Speicher („DRAM“), ein statisch zufällig adressierbarer Speicher („SRAM“), ein nichtflüchtiger Speicher (z. B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann die Entscheidung, ob der Datenspeicher 701 intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash oder einem anderen Speichertyp besteht, von verfügbarem Speicher on-chip bzw. auf dem Chip gegenüber off-chip bzw. außerhalb des Chips, Latenzanforderungen von durchgeführten Trainings- und/oder Inferenzierungsfunktionen, einer Stapelgröße von bei der Inferenzierung und/oder dem Training eines neuronalen Netzwerks verwendeten Daten oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, einen Datenspeicher 705 enthalten, um Rückwärts- und/oder Ausgangsgewichts- und/oder Eingabe-/Ausgabedaten zu speichern, die Neuronen oder Schichten eines neuronalen Netzwerks entsprechen, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Inferenzieren verwendet wird. In mindestens einer Ausführungsform speichert der Datenspeicher 705 Gewichtsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzwerks, das während der Rückwärtspropagation von Eingabe-/Ausgabedaten und/oder Gewichtsparametern während des Trainings und/oder der Inferenzierung unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen trainiert oder in Verbindung mit einer oder mehrerer Ausführungsformen verwendet wird. In mindestens einer Ausführungsform kann jeder Teil des Datenspeichers 705 in einem anderen On-Chip- oder Off-Chip-Datenspeicher enthalten sein, einschließlich des L1-, L2- oder L3-Cachespeichers oder Systemspeichers eines Prozessors. In mindestens einer Ausführungsform kann ein beliebiger Teil des Datenspeichers 705 intern oder extern zu einem oder mehreren Prozessoren oder anderen Hardwarelogik-Vorrichtungen oder -Schaltungen sein. In mindestens einer Ausführungsform kann der Datenspeicher 705 ein Cache-Speicher, DRAM, SRAM, nichtflüchtiger Speicher (z. B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann die Entscheidung, ob der Datenspeicher 705 intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash oder einem anderen Speichertyp besteht, von verfügbarem Speicher auf dem Chip gegenüber außerhalb des Chips, Latenzanforderungen von durchgeführten Trainings- und/oder Inferenzierungsfunktionen, einer Stapelgröße von bei der Inferenzierung und/oder dem Training eines neuronalen Netzwerks verwendeten Daten oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform können der Datenspeicher 701 und der Datenspeicher 705 separate Speicherstrukturen sein. In mindestens einer Ausführungsform können der Datenspeicher 701 und der Datenspeicher 705 dieselbe Speicherstruktur sein. In mindestens einer Ausführungsform können der Datenspeicher 701 und der Datenspeicher 705 teilweise dieselbe Speicherstruktur und teilweise getrennte Speicherstrukturen sein. In mindestens einer Ausführungsform kann jeder Teil des Datenspeichers 701 und des Datenspeichers 705 in einem anderen On-Chip- oder Off-Chip-Datenspeicher enthalten sein, einschließlich des L1-, L2- oder L3-Cache oder des Systemspeichers eines Prozessors.
  • In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, eine oder mehrere Arithmetik-Logik-Einheit(en) („ALU(s)“) 710 enthalten, um logische und/oder mathematische Operationen durchzuführen, die zumindest teilweise auf einem Trainings- und/oder Inferenzierungscode basieren oder durch diesen angezeigt werden, deren Ergebnis in Aktivierungen (z. B. Ausgangswerte von Schichten oder Neuronen innerhalb eines neuronalen Netzwerks) resultieren kann, die in einem Aktivierungsspeicher 720 gespeichert sind und Funktionen von Eingabe-/Ausgabe- und/oder Gewichtungs-Parameterdaten sind, die in dem Datenspeicher 701 und/oder dem Datenspeicher 705 gespeichert sind. In mindestens einer Ausführungsform werden im Aktivierungsspeicher 720 gespeicherte Aktivierungen in Übereinstimmung mit linearer algebraischer und/oder matrixbasierter Mathematik erzeugt, die von der/den ALU(s) 710 als Reaktion auf die Durchführung von Anweisungen oder anderem Code durchgeführt wird, wobei im Datenspeicher 705 und/oder in den Daten 701 gespeicherte Gewichtungswerte als Operanden zusammen mit anderen Werten, wie z. B. Bias-Werten, Gradienteninformationen, Impulswerten oder anderen Parametern oder Hyperparametern, verwendet werden, die alle oder einzeln im Datenspeicher 705 oder im Datenspeicher 701 oder in einem anderen Speicher auf dem Chip oder außerhalb des Chips gespeichert sein können. In mindestens einer Ausführungsform sind die ALU(s) 710 in einem oder mehreren Prozessoren oder anderen Hardwarelogik-Vorrichtungen oder -Schaltungen enthalten, während in einer anderen Ausführungsform die ALU(s) 710 extern zu einem Prozessor oder einer anderen Hardwarelogik-Vorrichtung oder -Schaltung sein können, der/die sie verwendet (z. B. ein Co-Prozessor). In mindestens einer Ausführungsform können die ALUs 710 in den Ausführungseinheiten eines Prozessors enthalten sein oder anderweitig in einer Bank von ALUs, auf die die Ausführungseinheiten eines Prozessors entweder innerhalb desselben Prozessors zugreifen können oder die auf verschiedene Prozessoren unterschiedlichen Typs verteilt sind (z. B. zentrale Verarbeitungseinheiten, Grafikverarbeitungseinheiten, feste Funktionseinheiten usw.). In mindestens einer Ausführungsform können sich der Datenspeicher 701, der Datenspeicher 705 und der Aktivierungsspeicher 720 auf demselben Prozessor oder einer anderen Hardwarelogik-Vorrichtung oder -Schaltung befinden, während sie sich in einer anderen Ausführungsform in verschiedenen Prozessoren oder anderen Hardwarelogik-Vorrichtungen oder -schaltungen oder in einer Kombination aus gleichen und verschiedenen Prozessoren oder anderen Hardwarelogik-Vorrichtungen oder -Schaltungen befinden können. In mindestens einer Ausführungsform kann jeder Teil des Aktivierungsspeichers 720 in einem anderen On-Chip- oder Off-Chip-Datenspeicher enthalten sein, einschließlich des L1-, L2- oder L3-Cachespeichers oder Systemspeichers eines Prozessors. Ferner kann der Inferenzierungs- und/oder Trainingscode zusammen mit anderem Code gespeichert sein, auf den ein Prozessor oder eine andere Hardwarelogik oder Schaltung zugreifen kann und der unter Verwendung der Abruf-, Decodierungs-, Planungs-, Ausführungs-, Ausscheidungs- und/oder anderen logischen Schaltungen eines Prozessors abgerufen und/oder verarbeitet wird.
  • In mindestens einer Ausführungsform kann der Aktivierungsspeicher 720 ein Cache-Speicher, DRAM, SRAM, nichtflüchtiger Speicher (z. B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann sich der Aktivierungsspeicher 720 vollständig oder teilweise innerhalb oder außerhalb eines oder mehrerer Prozessoren oder anderer logischer Schaltungen befinden. In mindestens einer Ausführungsform kann die Wahl, ob der Aktivierungsspeicher 720 intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash oder einem anderen Speichertyp besteht, von verfügbarem Speicher auf dem Chip oder außerhalb des Chips, Latenzanforderungen durchgeführter Trainings- und/oder Inferenzierungsfunktionen, einer Stapelgröße von bei der Inferenzierung und/oder dem Training eines neuronalen Netzwerks verwendeten Daten oder einer Kombination dieser Faktoren abhängen. In mindestens einer Ausführungsform kann die in 7A dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit einem anwendungsspezifischen integrierten Schaltkreis („ASIC“) verwendet werden, wie z. B. der Tensorflow® Processing Unit von Google, einer Inferenzverarbeitungseinheit (IPU) von Graphcore™ oder einem Nervana®-Prozessor (z. B. „Lake Crest“) von Intel Corp. In mindestens einer Ausführungsform kann die in 7A dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit Hardware der Zentralverarbeitungseinheit („CPU“), der Grafikverarbeitungseinheit („GPU“) oder anderer Hardware, wie z. B. feldprogrammierbaren Gate-Arrays („FPGAs“), verwendet werden.
  • 7B zeigt die Inferenzierungs- und/oder Trainingslogik 715, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, eine Hardware-Logik enthalten, in der Rechenressourcen dediziert oder anderweitig ausschließlich in Verbindung mit Gewichtswerten oder anderen Informationen verwendet werden, die einer oder mehreren Schichten von Neuronen innerhalb eines neuronalen Netzwerks entsprechen. In mindestens einer Ausführungsform kann die in 7B dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit einer anwendungsspezifischen integrierten Schaltung (ASIC) verwendet werden, wie z. B. der Tensorflow® Processing Unit von Google, einer Inferenzverarbeitungseinheit (IPU) von Graphcore™ oder einem Nervana®-Prozessor (z. B. „Lake Crest“) von Intel Corp. In mindestens einer Ausführungsform kann die in 7B dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit Hardware der Zentralverarbeitungseinheit (CPU), der Grafikverarbeitungseinheit (GPU) oder anderer Hardware, wie z. B. FPGAs (Field Programmable Gate Arrays), verwendet werden. In mindestens einer Ausführungsform beinhaltet die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, den Datenspeicher 701 und den Datenspeicher 705, die zum Speichern von Gewichtswerten und/oder anderen Informationen, einschließlich Bias-Werten, Gradienteninformationen, Impulswerten und/oder anderen Parameter- oder Hyperparameterinformationen, verwendet werden können. In mindestens einer in 7B dargestellten Ausführungsform sind der Datenspeicher 701 und der Datenspeicher 705 jeweils mit einer dedizierten Rechenressource verbunden, wie z. B. der Rechenhardware 702 bzw. der Rechenhardware 706. In mindestens einer Ausführungsform umfasst jede Rechenhardware 706 eine oder mehrere ALUs, die mathematische Funktionen, wie lineare algebraische Funktionen, nur auf den im Datenspeicher 701 bzw. im Datenspeicher 705 gespeicherten Informationen ausführen, deren Ergebnis im Aktivierungsspeicher 720 gespeichert wird.
  • In mindestens einer Ausführungsform entsprechen jeder der Datenspeicher 701 und 705 und die entsprechende Rechenhardware 702 bzw. 706 verschiedenen Schichten eines neuronalen Netzwerks, so dass die aus einem „Speicher-/Rechenpaar 701/702“ aus Datenspeicher 701 und Rechenhardware 702 resultierende Aktivierung als Eingabe für das nächste „Speicher-/Rechenpaar 705/706“ aus Datenspeicher 705 und Rechenhardware 706 bereitgestellt wird, um die konzeptionelle Organisation eines neuronalen Netzwerks widerzuspiegeln. In mindestens einer Ausführungsform kann jedes der Speicher-/Rechenpaare 701/702 und 705/706 mehr als einer neuronalen Netzwerkschicht entsprechen. In mindestens einer Ausführungsform können zusätzliche Speicher-/Rechenpaare (nicht dargestellt) im Anschluss an oder parallel zu den Speicher-/Rechenpaaren 701/702 und 705/706 in der Inferenzierungs- und/oder Trainingslogik 715 enthalten sein.
  • TRAINING UND EINSATZ NEURONALER NETZWERKE
  • 8 veranschaulicht eine weitere Ausführungsform für das Training und den Einsatz eines tiefen neuronalen Netzwerks. In mindestens einer Ausführungsform wird ein untrainiertes neuronales Netzwerk 806 mit einem Trainingsdatensatz 802 trainiert. In mindestens einer Ausführungsform ist das Trainingsframework 804 ein PyTorch-Framework, während in anderen Ausführungsformen das Trainingsframework 804 ein Tensorflow-, Boost-, Caffe-, Microsoft Cognitive Toolkit/CNTK-, MXNet-, Chainer-, Keras-, Deeplearning4j- oder ein anderes Trainingsframework ist. In mindestens einer Ausführungsform trainiert das Trainingsframework 804 ein untrainiertes neuronales Netzwerk 806 und ermöglicht dessen Training mit den hierin beschriebenen Verarbeitungsressourcen, um ein trainiertes neuronales Netzwerk 808 zu generieren. In mindestens einer Ausführungsform können die Gewichte zufällig oder durch Vortraining mit einem Deep Belief Network ausgewählt werden. In mindestens einer Ausführungsform kann das Training entweder auf überwachte, teilweise überwachte oder nicht überwachte Weise durchgeführt werden.
  • In mindestens einer Ausführungsform wird das untrainierte neuronale Netzwerk 806 unter Verwendung von überwachtem Lernen trainiert, wobei der Trainingsdatensatz 802 eine Eingabe beinhaltet, die mit einer gewünschten Ausgabe für eine Eingabe gepaart ist, oder wobei der Trainingsdatensatz 802 eine Eingabe mit bekannter Ausgabe beinhaltet und die Ausgabe des neuronalen Netzwerks manuell eingestuft wird. In mindestens einer Ausführungsform wird das untrainierte neuronale Netzwerk 806 auf überwachte Weise trainiert, verarbeitet Eingaben aus dem Trainingsdatensatz 802 und vergleicht die resultierenden Ausgaben mit einem Satz von erwarteten oder gewünschten Ausgaben. In mindestens einer Ausführungsform werden Fehler dann durch das untrainierte neuronale Netzwerk 806 zurückpropagiert. In mindestens einer Ausführungsform passt das Trainingsframework 804 Gewichte an, die das untrainierte neuronale Netzwerk 806 steuern. In mindestens einer Ausführungsform beinhaltet das Trainingsframework 804 Werkzeuge zum Überwachen, wie gut das untrainierte neuronale Netzwerk 806 in Richtung eines Modells konvergiert, z. B. des trainierten neuronalen Netzwerks 808, das geeignet ist, auf der Grundlage bekannter Eingangsdaten, z. B. neuer Daten 812, korrekte Antworten, z. B. im Ergebnis 814, zu generieren. In mindestens einer Ausführungsform trainiert das Trainingsframework 804 das untrainierte neuronale Netzwerk 806 wiederholt, während es Gewichte anpasst, um eine Ausgabe des untrainierten neuronalen Netzwerks 806 unter Verwendung einer Verlustfunktion und eines Anpassungsalgorithmus, wie z. B. stochastischer Gradientenabstieg, zu verfeinern. In mindestens einer Ausführungsform trainiert das Trainingsframework 804 das untrainierte neuronale Netzwerk 806, bis das untrainierte neuronale Netzwerk 806 eine gewünschte Genauigkeit erreicht. In mindestens einer Ausführungsform kann das trainierte neuronale Netzwerk 808 dann eingesetzt werden, um eine beliebige Anzahl von Maschinenlernoperationen zu implementieren.
  • In mindestens einer Ausführungsform wird das untrainierte neuronale Netzwerk 806 unter Verwendung von unüberwachtem Lernen trainiert, wobei das untrainierte neuronale Netzwerk 806 versucht, sich selbst unter Verwendung unmarkierter Daten zu trainieren. In mindestens einer Ausführungsform beinhaltet der Trainingsdatensatz 802 für unüberwachtes Lernen Eingangsdaten ohne zugehörige Ausgabedaten oder „Grundwahrheit“-Daten. In mindestens einer Ausführungsform kann das untrainierte neuronale Netzwerk 806 Gruppierungen innerhalb des Trainingsdatensatzes 802 lernen und bestimmen, wie einzelne Eingaben mit dem untrainierten Datensatz 802 zusammenhängen. In mindestens einer Ausführungsform kann das unüberwachte Training verwendet werden, um eine selbstorganisierende Karte zu generieren, die eine Art trainiertes neuronales Netzwerk 808 ist, das in der Lage ist, Operationen durchzuführen, die bei der Reduzierung der Dimensionalität neuer Daten 812 nützlich sind. In mindestens einer Ausführungsform kann unüberwachtes Training auch zur Erkennung von Anomalien verwendet werden, was die Identifizierung von Datenpunkten in einem neuen Datensatz 812 ermöglicht, die von normalen Mustern des neuen Datensatzes 812 abweichen.
  • In mindestens einer Ausführungsform kann halbüberwachtes Lernen verwendet werden, d. h. eine Technik, bei der der Trainingsdatensatz 802 eine Mischung aus gelabelten und ungelabelten Daten beinhaltet. In mindestens einer Ausführungsform kann das Trainingsframework 804 verwendet werden, um inkrementelles Lernen durchzuführen, z. B. durch Techniken des Transferlernens. In mindestens einer Ausführungsform ermöglicht das inkrementelle Lernen dem trainierten neuronalen Netzwerk 808, sich an neue Daten 812 anzupassen, ohne Wissen zu vergessen, das dem Netzwerk während des anfänglichen Trainings eingeflößt wurde.
  • RECHENZENTRUM
  • 9 zeigt ein beispielhaftes Rechenzentrum 900, in dem mindestens eine Ausführungsform verwendet werden kann. In mindestens einer Ausführungsform beinhaltet das Rechenzentrum 900 eine Rechenzentrumsinfrastrukturschicht 910, eine Frameworkschicht 920, eine Softwareschicht 930 und eine Anwendungsschicht 940.
  • In mindestens einer Ausführungsform, wie in 9 gezeigt, kann die Rechenzentrumsinfrastrukturschicht 910 einen Ressourcen-Orchestrator 912, gruppierte Rechenressourcen 914 und Knoten-Rechenressourcen („Knoten-C.R.s“) 916(1)-916(N) beinhalten, wobei „N“ eine beliebige ganze, positive Zahl repräsentiert. In mindestens einer Ausführungsform können die Knoten-C.R.s 916(1)-916(N) eine beliebige Anzahl von Zentralverarbeitungseinheiten („CPUs“) oder anderen Prozessoren (einschließlich Beschleunigern, feldprogrammierbaren Gate-Arrays (FPGAs), Grafikprozessoren usw.), Speichervorrichtungen (z. B. dynamischer Festwertspeicher), Speichergeräte (z. B. Festkörper- oder Festplattenlaufwerke), Netzwerk-Eingabe-/Ausgabe-Vorrichtungen („NW E/A“), Netzwerk-Switches, virtuelle Maschinen („VMs“), Stromversorgungsmodule und Kühlmodule usw. beinhalten. In mindestens einer Ausführungsform können ein oder mehrere Knoten-CRs unter den Knoten-CRs 916(1)-916(N) ein Server mit einer oder mehreren der oben genannten Rechenressourcen sein.
  • In mindestens einer Ausführungsform können die gruppierten Rechenressourcen 914 separate Gruppierungen von Knoten-C.R.s enthalten, die in einem oder mehreren Racks (nicht dargestellt) oder in vielen Racks in Rechenzentren an verschiedenen geografischen Standorten (ebenfalls nicht dargestellt) untergebracht sind. Getrennte Gruppierungen von Knoten-C.R.s innerhalb der gruppierten Rechenressourcen 914 können gruppierte Rechen-, Netzwerk-, Speicher- oder Speicherressourcen beinhalten, die zur Unterstützung einer oder mehrerer Arbeitslasten konfiguriert oder zugewiesen werden können. In mindestens einer Ausführungsform können mehrere Knoten-C.R.s, die CPUs oder Prozessoren enthalten, in einem oder mehreren Racks gruppiert werden, um Rechenressourcen zur Unterstützung einer oder mehrerer Arbeitslasten bereitzustellen. In mindestens einer Ausführungsform können ein oder mehrere Racks auch eine beliebige Anzahl von Stromversorgungsmodulen, Kühlmodulen und Netzwerk-Switches in beliebiger Kombination enthalten.
  • In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 922 eine oder mehrere Knoten-C.R.s 916(1)-916(N) und/oder gruppierte Rechenressourcen 914 konfigurieren oder anderweitig steuern. In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 922 eine Software-Design-Infrastruktur („SDI“)-Verwaltungseinheit für das Rechenzentrum 900 beinhalten. In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator Hardware, Software oder eine Kombination davon beinhalten.
  • In mindestens einer Ausführungsform, wie in 9 gezeigt, beinhaltet die Frameworkschicht 920 einen Auftragsplaner oder Job-Scheduler 932, einen Konfigurationsmanager 934, einen Ressourcenmanager 936 und ein verteiltes Dateisystem 938. In mindestens einer Ausführungsform kann die Frameworkschicht 920 ein Framework zur Unterstützung der Software 932 der Softwareschicht 930 und/oder einer oder mehrerer Anwendung(en) 942 der Anwendungsschicht 940 beinhalten. In mindestens einer Ausführungsform kann bzw. können die Software 932 bzw. die Anwendung(en) 942 webbasierte Dienstsoftware oder Anwendungen beinhalten, wie sie beispielsweise von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. In mindestens einer Ausführungsform kann die Frameworkschicht 920 eine Art von freiem und quelloffenem Software-Webanwendungs-Framework wie Apache Spark™ (im Folgenden „Spark“) sein, das ein verteiltes Dateisystem 938 zur Verarbeitung großer Datenmengen (z. B. „Big Data“) verwenden kann, ist aber nicht darauf beschränkt. In mindestens einer Ausführungsform kann der Job-Scheduler 932 einen Spark-Treiber enthalten, um die Planung von Arbeitslasten zu erleichtern, die von verschiedenen Schichten des Rechenzentrums 900 unterstützt werden. In mindestens einer Ausführungsform kann der Konfigurationsmanager 934 in der Lage sein, verschiedene Schichten zu konfigurieren, z. B. die Softwareschicht 930 und die Frameworkschicht 920, die Spark und das verteilte Dateisystem 938 zur Unterstützung der Verarbeitung großer Datenmengen beinhaltet. In mindestens einer Ausführungsform kann der Ressourcenmanager 936 in der Lage sein, geclusterte oder gruppierte Rechenressourcen zu verwalten, die zur Unterstützung des verteilten Dateisystems 938 und des Job-Schedulers 932 zugeordnet sind. In mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen die gruppierte Rechenressource 914 auf der Rechenzentrumsinfrastrukturebene 910 beinhalten. In mindestens einer Ausführungsform kann der Ressourcenmanager 936 mit dem Ressourcen-Orchestrator 912 koordiniert werden, um diese zugeordneten oder zugewiesenen Rechenressourcen zu verwalten.
  • In mindestens einer Ausführungsform kann in der Softwareschicht 930 enthaltene Software 932 Software enthalten, die von mindestens Teilen der Knoten-C.R.s 916(1)-916(N), der gruppierten Rechenressourcen 914 und/oder des verteilten Dateisystems 938 der Frameworkschicht 920 verwendet wird. Eine oder mehrere Arten von Software können Internet-Webseiten-Suchsoftware, E-Mail-Virenscan-Software, Datenbanksoftware und Software für Streaming-Videoinhalte beinhalten, sind aber nicht darauf beschränkt.
  • In mindestens einer Ausführungsform kann (können) in der Anwendungsschicht 940 enthaltene(n) Anwendung(en) 942 eine oder mehrere Arten von Anwendungen umfassen, die von mindestens Teilen der Knoten-C.R.s 916(1)-916(N), den gruppierten Rechenressourcen 914 und/oder dem verteilten Dateisystem 938 der Frameworkschicht 920 verwendet werden. Eine oder mehrere Arten von Anwendungen können eine beliebige Anzahl von Genomanwendungen, kognitiven Berechnungen und Anwendungen für Maschinenlernen, einschließlich Trainings- oder Inferenzierungs-Software, Framework-Software für Maschinenlernen (z. B, PyTorch, TensorFlow, Caffe usw.) oder andere Anwendungen für Maschinenlernen, die in Verbindung mit einer oder mehreren Ausführungsformen verwendet werden.
  • In mindestens einer Ausführungsform können der Konfigurationsmanager 934, der Ressourcenmanager 936 und der Ressourcen-Orchestrator 912 eine beliebige Anzahl und Art von selbstmodifizierenden Aktionen implementieren, die auf einer beliebigen Menge und Art von Daten basieren, die auf jede technisch mögliche Weise erfasst wurden. In mindestens einer Ausführungsform können selbstmodifizierende Aktionen einen Rechenzentrumsbetreiber des Rechenzentrums 900 davon entlasten, möglicherweise schlechte Konfigurationsentscheidungen zu treffen und möglicherweise nicht ausgelastete und/oder schlecht funktionierende Teile eines Rechenzentrums zu vermeiden.
  • In mindestens einer Ausführungsform kann das Rechenzentrum 900 Werkzeuge, Dienste, Software oder andere Ressourcen enthalten, um ein oder mehrere Maschinenlernmodelle zu trainieren oder Informationen unter Verwendung eines oder mehrerer Maschinenlernmodelle gemäß einer oder mehrerer hierin beschriebener Ausführungsformen vorherzusagen oder abzuleiten. Zum Beispiel kann in mindestens einer Ausführungsform ein Maschinenlernmodell trainiert werden, indem Gewichtsparameter gemäß einer neuronalen Netzwerkarchitektur unter Verwendung von Software und Rechenressourcen berechnet werden, die oben in Bezug auf das Rechenzentrum 900 beschrieben wurden. In mindestens einer Ausführungsform können trainierte Maschinenlernmodelle, die einem oder mehreren neuronalen Netzwerken entsprechen, verwendet werden, um Informationen zu inferenzieren oder vorherzusagen, wobei die oben beschriebenen Ressourcen in Bezug auf das Rechenzentrum 900 verwendet werden, indem Gewichtsparameter verwendet werden, die durch eine oder mehrere hier beschriebene Trainingstechniken berechnet werden.
  • In mindestens einer Ausführungsform kann das Rechenzentrum CPUs, anwendungsspezifische integrierte Schaltkreise (ASICs), GPUs, FPGAs oder andere Hardware verwenden, um das Training und/oder die Inferenzierung mit den oben beschriebenen Ressourcen durchzuführen. Darüber hinaus können eine oder mehrere der oben beschriebenen Software- und/oder Hardware-Ressourcen als ein Dienst konfiguriert sein, um Benutzern das Training oder die Durchführung einer Inferenzierung von Informationen zu ermöglichen, wie z. B. Bilderkennung, Spracherkennung oder andere Dienste der künstlichen Intelligenz.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen in Verbindung mit einer oder mehreren Ausführungsformen durchzuführen. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715 im System 9 für Inferenzierungs- oder Vorhersageoperationen verwendet werden, die zumindest teilweise auf Gewichtsparametern basieren, die unter Verwendung von Trainingsoperationen für neuronale Netzwerke, Funktionen und/oder Architekturen neuronaler Netzwerke oder hierin beschriebenen Anwendungsfällen neuronaler Netzwerke berechnet werden.
  • Wie hierin beschrieben, werden ein Verfahren, ein computerlesbares Medium und ein System offenbart zum Bereitstellen eines Diffusionsmodells, das Variationsinferenzierungen verwendet, um die Verteilung von Daten (z. B. um die Qualität eines beliebigen Bilds zu verbessern) zu approximieren. In Übereinstimmung mit 1-6 können Ausführungsformen ein Diffusionsmodell bereitstellen, das zum Durchführen von Inferenzierungsoperationen und zum Bereitstellen von inferenzierten Daten verwendet werden kann. Das Diffusionsmodell kann (teilweise oder vollständig) in einem oder beiden der Datenspeicher 701 und 705 in der Inferenzierungs- und/oder Trainingslogik 715 gespeichert werden, wie in den 7A und 7B dargestellt. Training und Einsatz des Diffusionsmodells können wie in dargestellt und hierin beschrieben durchgeführt werden. Die Verteilung des Diffusionsmodells kann unter Verwendung eines oder mehrerer Server in einem Rechenzentrum 900 erfolgen, wie in 9 dargestellt und hierin beschrieben.

Claims (40)

  1. Verfahren, umfassend: an einer Vorrichtung: Trainieren eines Diffusionsmodells, um die Qualität eines gegebenen Eingangsbilds verbessern zu können, wobei das Training umfasst: Hinzufügen von Zufallsrauschen zu einem Eingangsbild über eine Vielzahl von Schritten eines Vorwärtsdiffusionsprozesses, um ein verrauschtes Bild zu erzeugen; und Lernen, das Rauschen aus dem verrauschten Bild über eine Vielzahl von Schritten eines Rückwärtsdiffusionsprozesses zu entfernen, wobei ein oder mehrere Aspekte des Diffusionsmodells über einen oder mehrere der Schritte des Rückwärtsdiffusionsprozesses variiert werden, um Variationsinferenzierungen während des Rückwärtsdiffusionsprozesses bereitzustellen; wobei das trainierte Diffusionsmodell universell in der Lage ist, verschiedene Arten von Bildverbesserungsaufgaben zu handhaben.
  2. Verfahren nach Anspruch 1, wobei die verschiedenen Arten von Bildverbesserungsaufgaben zwei oder mehr umfassen von: einem Inpainting, einer Superauflösung, einem Deblurring, oder einem Schärfen.
  3. Verfahren nach Anspruch 1 oder 2, wobei die verschiedenen Arten von Bildverbesserungsaufgaben Inpainting umfassen, um ein gegebenes unvollständiges Eingangsbild zu vervollständigen.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei die verschiedenen Arten von Bildverbesserungsaufgaben eine Superauflösung zur Erhöhung einer Auflösung eines gegebenen Eingangsbilds umfassen.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei die verschiedenen Arten von Bildverbesserungsaufgaben ein Deblurring umfassen, um Unschärfen aus einem gegebenen Eingangsbild zu entfernen.
  6. Verfahren, umfassend: an einer Vorrichtung: Verarbeiten zumindest einer Beobachtung durch einen Rückwärtsentrauschungsdiffusionsprozess eines Diffusionsmodells zum Approximieren einer Verteilung von Daten für die zumindest eine Beobachtung, wobei das Diffusionsmodell Variationsinferenzierung verwendet, um die Verteilung von Daten zu approximieren; und Ausgeben der Verteilung von Daten.
  7. Verfahren nach Anspruch 6, wobei die zumindest eine Beobachtung in zumindest einem Teil eines Bilds enthalten ist.
  8. Verfahren nach Anspruch 6 oder 7, wobei die Verteilung von Daten ein Ausgangsbild repräsentiert.
  9. Verfahren nach einem der Ansprüche 6 bis 8, wobei die zumindest eine Beobachtung ein maskiertes Bild enthält.
  10. Verfahren nach Anspruch 9, wobei die Verteilung von Daten ein nicht maskiertes Bild repräsentiert.
  11. Verfahren nach einem der Ansprüche 6 bis 10, wobei die zumindest eine Beobachtung ein zweidimensionales (2D) Bild ist.
  12. Verfahren nach Anspruch 11, wobei die Verteilung von Daten ein dreidimensionales (3D) Bild repräsentiert.
  13. Verfahren nach einem der Ansprüche 6 bis 12, wobei die zumindest eine Beobachtung in einer ersten Auflösung vorliegt und wobei die Verteilung von Daten in einer zweiten Auflösung vorliegt, die größer ist als die erste Auflösung.
  14. Verfahren nach einem der Ansprüche 6 bis 13, wobei das Diffusionsmodell ein generatives Diffusionsprior ist.
  15. Verfahren nach einem der Ansprüche 6 bis 14, wobei jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher verwendet, der basierend auf einem Entrauschungs-Signal-zu-Rausch-Verhältnis in dem Zeitschritt gewichtet wird.
  16. Verfahren nach Anspruch 15, bei dem Entrauschergewichte durch den Rückwärtsentrauschungsdiffusionsprozess progressiv abnehmen.
  17. Verfahren nach einem der Ansprüche 6 bis 16, wobei jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher verwendet, der eine Score-Matching-Regularisierung auf einen Messungsabgleichungsverlust anwendet.
  18. Verfahren nach Anspruch 17, wobei der Messungsabgleichungsverlust ein Rekonstruktionsverlust ist, der aus der zumindest einen Beobachtung berechnet wird.
  19. Verfahren nach Anspruch 17 oder 18, wobei eine Diffusionstrajektorie zur Regularisierung verwendet wird.
  20. Verfahren nach einem der Ansprüche 6 bis 19, ferner umfassend, an der Vorrichtung: Verarbeiten der Verteilung von Daten durch einen Vorwärtsentrauschungsdiffusionsprozess des Diffusionsmodells, um zumindest eine zweite Beobachtung zu erzeugen; und Verarbeiten der zumindest einen zweiten Beobachtung durch den Rückwärtsentrauschungsdiffusionsprozess, um eine zweite Verteilung von Daten für die zumindest eine zweite Beobachtung zu approximieren.
  21. Verfahren nach einem der Ansprüche 6 bis 20, wobei das Diffusionsmodell für verschiedene nachgelagerte Aufgaben verwendbar ist.
  22. Verfahren nach einem der Ansprüche 6 bis 21, wobei das Diffusionsmodell für Inpainting verwendet wird.
  23. Verfahren nach einem der Ansprüche 6 bis 22, wobei das Diffusionsmodell für medizinische Bildgebung verwendet wird.
  24. Verfahren nach einem der Ansprüche 6 bis 23, wobei das Diffusionsmodell zur Bildwiederherstellung verwendet wird.
  25. System, umfassend: einen nicht-transitorischen Speicher, der Anweisungen enthält; und einen oder mehrere Prozessoren, die mit dem Speicher kommunizieren, wobei der eine oder die mehreren Prozessoren die Anweisungen ausführen zum: Verarbeiten zumindest einer Beobachtung durch einen Rückwärtsentrauschungsdiffusionsprozess eines Diffusionsmodells zum Approximieren einer Verteilung von Daten für die zumindest eine Beobachtung, wobei das Diffusionsmodell Variationsinferenzierung verwendet, um die Verteilung von Daten zu approximieren; und Ausgeben der Verteilung von Daten.
  26. System nach Anspruch 25, wobei die zumindest eine Beobachtung in mindestens einem Teil eines Bilds enthalten ist.
  27. System nach Anspruch 25 oder 26, wobei die Verteilung von Daten ein Ausgangsbild repräsentiert.
  28. System nach einem der Ansprüche 25 bis 27, wobei jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher verwendet, der basierend auf einem Entrauschungs-Signal-zu-Rausch-Verhältnis bei dem Zeitschritt gewichtet wird.
  29. System nach Anspruch 28, bei dem Entrauschergewichte durch den Rückwärtsentrauschungsdiffusionsprozess progressiv abnehmen.
  30. System nach einem der Ansprüche 25 bis 29, wobei jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher verwendet, der eine Score-Matching-Regularisierung auf einen Messungsabgleichungsverlust anwendet.
  31. System nach Anspruch 30, wobei der Messungsabgleichungsverlust ein Rekonstruktionsverlust ist, der aus der zumindest einen Beobachtung berechnet wird.
  32. System nach Anspruch 30 oder 31, wobei eine Diffusionstrajektorie zur Regularisierung verwendet wird.
  33. Nicht-transitorisches computerlesbares Medium, das Computeranweisungen speichert, die, wenn sie von einem oder mehreren Prozessoren einer Vorrichtung ausgeführt werden, die Vorrichtung veranlassen zum: Verarbeiten zumindest einer Beobachtung durch einen Rückwärtsentrauschungsdiffusionsprozess eines Diffusionsmodells zum Approximieren einer Verteilung von Daten für die zumindest eine Beobachtung, wobei das Diffusionsmodell Variationsinferenzierung verwendet, um die Verteilung von Daten zu approximieren; und Ausgeben der Verteilung von Daten.
  34. Nicht-transitorisches computerlesbares Medium nach Anspruch 33, wobei die zumindest eine Beobachtung in zumindest einem Teil eines Bilds enthalten ist.
  35. Nicht-transitorisches computerlesbares Medium nach Anspruch 33 oder 34, wobei die Verteilung von Daten ein Ausgangsbild repräsentiert.
  36. Nicht-transitorisches computerlesbares Medium nach einem der Ansprüche 33 bis 35, wobei jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher verwendet, der basierend auf einem Entrauschungs-Signal-Rausch-Verhältnis bei dem Zeitschritt gewichtet wird.
  37. Nicht-transitorisches computerlesbares Medium nach Anspruch 36, wobei Entrauschergewichte durch den Rückwärtsentrauschungsdiffusionsprozess progressiv abnehmen.
  38. Nicht-transitorisches computerlesbares Medium nach einem der Ansprüche 33 bis 37, wobei jeder Zeitschritt des Rückwärtsentrauschungsdiffusionsprozesses einen entsprechenden Entrauscher verwendet, der eine Score-Matching-Regularisierung auf einen Messungsabgleichungsverlust anwendet.
  39. Nicht-transitorisches computerlesbares Medium nach Anspruch 38, wobei der Messungsabgleichungsverlust ein Rekonstruktionsverlust ist, der aus der zumindest einen Beobachtung berechnet wird.
  40. Nicht-transitorisches computerlesbares Medium nach Anspruch 38 oder 39, wobei eine Diffusionstrajektorie zur Regularisierung verwendet wird.
DE102024106455.2A 2023-03-16 2024-03-06 Variationsinferenzierung durch ein diffusionsmodell Pending DE102024106455A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202363452646P 2023-03-16 2023-03-16
US63/452,646 2023-03-16
US18/593,742 US20250045892A1 (en) 2023-03-16 2024-03-01 Variational inferencing by a diffusion model
US18/593,742 2024-03-01

Publications (1)

Publication Number Publication Date
DE102024106455A1 true DE102024106455A1 (de) 2024-09-19

Family

ID=92543813

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102024106455.2A Pending DE102024106455A1 (de) 2023-03-16 2024-03-06 Variationsinferenzierung durch ein diffusionsmodell

Country Status (2)

Country Link
US (1) US20250045892A1 (de)
DE (1) DE102024106455A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024022996A (ja) * 2022-08-08 2024-02-21 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
US20250045892A1 (en) 2025-02-06

Similar Documents

Publication Publication Date Title
DE102024101470A1 (de) Text-zu-bild-diffusionsmodell mit komponentensperre und rang-eins-bearbeitung
DE102023125635A1 (de) Bild- und objekt-inpainting mit diffusionsmodellen
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
Helmy et al. Image segmentation scheme based on SOM–PCNN in frequency domain
DE112019006156T5 (de) Erkennung und behandlung von unsachgemässen eingaben durch neuronale netzwerke
DE102024202424A1 (de) Sprachmodellabstimmung in gesprächsorientierten ki-(künstliche intelligenz)-systemen und -anwendungen
DE102023129950A1 (de) High resolution text-to-3d content creation
DE112021004559T5 (de) System zur robusten vorhersage bei unregelmässigen zeitreihen in dialysepatientenakten
DE102018127802A1 (de) Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine
DE102023130106A1 (de) Maschinenlernen zur maskenoptimierung in inversen lithografie-technologien
DE102024103309A1 (de) Bedingtes diffusionsmodell zur daten-zu-daten- übersetzung
DE102021102748A1 (de) 3d-posenschätzung des menschlichen körpers unter verwendung eines modells, das ausgehend von ungelabelten multi-view-daten trainiert wurde
DE102020132591A1 (de) Auswählen von rechenkernvarianten unter verwendung neuronaler netzwerke
DE202024105400U1 (de) Ein System zur Vorhersage des Oberschenkelknochenvolumens für die Klassifizierung von Osteoporose auf der Grundlage der Quallen-Optimierungstechnik
DE102024127224A1 (de) Föderiertes lernen mit basismodell-destillation
DE102024106455A1 (de) Variationsinferenzierung durch ein diffusionsmodell
DE112020007371T5 (de) Verfahren und Einrichtung für ein neuronales Netzwerk basierend auf energiebasierten Modellen einer latenten Variable
DE102021108527A1 (de) Neuronennetzvorrichtung für den betrieb eines neuronalen netzes, verfahren zum betreiben einer neuronennetzvorrichtung und anwendungsprozessor, der eine neuronennetzvorrichtung umfasst
DE102023107039A1 (de) Maschinenlernmodelle mit einer integrierten unsicherheit
Wang et al. Generalized convolutional sparse coding with unknown noise
DE102025106370A1 (de) Angleichen einer Referenzbildstruktur unter Nutzung von Diffusionsmodellen
DE102023127605A1 (de) Generator für synthetische Datensätze
DE102021124252A1 (de) Neuronale Netzwerksysteme für abstraktes Denken
DE102025105954A1 (de) Proxyangeleitete Bildbearbeitung

Legal Events

Date Code Title Description
R012 Request for examination validly filed