-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich auf Erweiterung und Bildverarbeitung eines Bildes durch Verwenden eines Autoencoders.
-
HINTERGRUND
-
Tiefe Convolutional-Neural-Networks (CNN) können dazu tendieren, oberflächliche Statistiken von mit gegebenen Aufgaben verbundenen Daten zu lernen, anstelle von zugrunde liegenden wichtigen erzeugenden Faktoren, die in die physikalische Welt eingebettet sind. Zum Beispiel kann ein System dazu trainiert werden, ein Tier (zum Beispiel eine Katze) zu identifizieren, jedoch nicht die wichtigen Faktoren, die mit einer Katze verbunden sein können (zum Beispiel Schnurrhaare, charakteristische Ohren, charakteristische Augen, usw.).
-
ZUSAMMENFASSUNG
-
Gemäß einer Ausführungsform umfasst ein System eine Kamera, die dazu ausgelegt ist, Bildinformationen von Objekten zu erhalten, und einen Prozessor, der in Kommunikation mit der Kamera ist und dazu programmiert ist, Eingabedaten einschließlich der Bildinformationen zu empfangen, die Eingabe über einen Encoder zu codieren, während einer ersten Sequenz, eine erste latente Variable zu erhalten, die ein Attribut der Eingabedaten definiert, eine sequentielle Rekonstruktion der Eingabedaten durch Verwenden des Decoders und mindestens der ersten latenten Variablen zu erzeugen, einen Rest zwischen den Eingabedaten und der Rekonstruktion durch Verwenden eines Vergleichs von mindestens der ersten latenten Variablen zu erhalten, und eine endgültige Rekonstruktion der Eingabedaten durch Verwenden mehrerer Reste von mehreren Sequenzen auszugeben.
-
Gemäß einer anderen Ausführungsform umfasst eine Vorrichtung einen Prozessor, der dazu programmiert ist, Eingabedaten zu empfangen, die Eingabe über einen Encoder zu codieren, während einer ersten Sequenz, eine erste latente Variable zu erhalten, die ein Attribut der Eingabedaten definiert, eine sequentielle Rekonstruktion der Eingabedaten durch Verwenden des Decoders und mindestens der ersten latenten Variablen zu erzeugen, einen Rest zwischen den Eingabedaten und der Rekonstruktion durch Verwenden eines Vergleichs von mindestens der ersten latenten Variablen zu erhalten, und eine endgültige Rekonstruktion der Eingabedaten durch Verwenden des Decoders und mehrerer Reste von mehreren Sequenzen auszugeben.
-
Gemäß einer letzten Ausführungsform speichert ein Computerprogrammprodukt Anweisungen, die, wenn durch einen Computer ausgeführt, den Computer dazu veranlassen, Eingabedaten zu empfangen, die Eingabe über einen Encoder zu codieren, während einer ersten Sequenz, eine erste latente Variable zu erhalten, die ein Attribut der Eingabedaten definiert, eine sequentielle Rekonstruktion der Eingabedaten durch Verwenden des Decoders und mindestens der ersten latenten Variablen zu erzeugen, einen Rest zwischen den Eingabedaten und der Rekonstruktion durch Verwenden eines Vergleichs von mindestens der ersten latenten Variablen zu erhalten, und eine endgültige Rekonstruktion der Eingabedaten durch Verwenden mehrerer Reste von mehreren Sequenzen auszugeben.
-
Figurenliste
-
- 1 offenbart ein Blockdiagramm eines Computersystems.
- 2 offenbart ein Flussdiagramm eines Residual-Variational-Autoencoders (VAE) und einer Rest-Lernsoftware-Anwendung.
- 3 offenbart ein Blockdiagramm eines Residual-Variational-Autoencoders und einer Rest-Lernsoftware-Anwendung.
- 4 offenbart ein Beispiel latenter Durchquerungen über jede latente Dimension hinweg für einen beispielhaften Datensatz.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Jüngste Fortschritte bei unüberwachtem Lernen geordneter Darstellung konzentrierten sich auf das Erweitern des Variational-Autoencoders (VAE) mit einer erweiterten Zielfunktion, um den Kompromiss zwischen Ordnung und Rekonstruktion aufgrund des Informationsengpasses von VAE auszugleichen. Ein Residual-Variational-Autoencoder (Res-VAE) kann anstelle der erweiterten Zielfunktion einen „Restlern“-Mechanismus als das Trainingsregime beinhalten. Er kann von dem Rest zwischen den Eingabedaten und der akkumulierten Rekonstruktion von sequentiell hinzugefügten latenten Variablen lernen. Geordnete Darstellung kann eine Darstellung sein, bei der Änderungen in einer Dimension nur Änderungen in einem erzeugenden Datenfaktor entsprechen, während sie in anderen Faktoren relativ unveränderlich für Änderungen sind. Diese Formulierung kann die Ordnung in dem latenten Raum fördern, indem sie eine explizite Abhängigkeitsstruktur induziert, und sie lockert die Netzwerkrekonstruktion durch Zerlegen in Decoder-Ausgabe und Rest. Res-VAE kann die Hyperparameter-Abstimmung der erweiterten Ziele eliminieren, was ein entscheidender Schritt für die Leistung auf dem bisherigen Stand der Technik war.
-
Das Lernen einer spärlichen und interpretierbaren Darstellung von Daten ist eine wichtige Komponente eines verallgemeinerten, robusten und erklärenden intelligenten Systems. Trotz jüngster Fortschritte bei Lernen von Darstellungen wurde gezeigt, dass tiefe Convolutional-Neural-Networks (CNN) dazu tendieren, oberflächliche Statistiken von mit bestimmten Aufgaben verbundenen Daten zu lernen, anstelle von wichtigen erzeugenden Faktoren, die in die physikalische Welt eingebettet sind. Ein Weg dahin ist das Lernen geordneter Darstellung, das darauf abzielt, die unabhängigen und interpretierbaren erzeugenden Faktoren der Daten zu erfassen. Geordnete Darstellung kann eine Darstellung sein, bei der Änderungen in einer Dimension nur Änderungen in einem erzeugenden Datenfaktor entsprechen, während sie in anderen Faktoren relativ unveränderlich für Änderungen sind.
-
Geordnete Darstellung kann auf eine überwachte Weise gelernt werden, wobei und/oder implizites Vorwissen über die erzeugenden Faktoren von Daten verfügbar ist. Es kann jedoch ideal sein, dies in einer unüberwachten Lerneinstellung zu lernen, um sich die große Menge verfügbarer unbeschrifteter Daten zunutze zu machen. Zusammen mit der jüngsten Entwicklung der erzeugenden Modelle wurden viele Ansätze zum geordneten Lernen vorgeschlagen, die entweder auf den Generative-Adversarial-Networks (GAN) oder den Variational-Autoencoders (VAE) basieren. Unüberwachtes Lernen geordneter Darstellung ist unmöglich, ohne eine induktive Verzerrung entweder des Modells oder der Daten einzuführen. Dem Kompromiss zwischen Ordnung und Rekonstruktion in VAE-basierten Ansätzen kann durch einen unterschiedlichen Trainingsansatz begegnet werden. Die Idee, einen anderen Trainingsansatz zu verwenden, anstatt die Zielfunktion zu erweitern, ist ähnlich der Verwendung unterschiedlicher Verfahren, um Überanpassung des Modells zu verhindern. Zum Beispiel ist ein üblicher Weg, um dem Problem der Überanpassung zu begegnen, die Zielfunktion durch Regularisierungsterme, wie zum Beispiel L1 oder L2-Regularisierung, zu erweitern. Eine andere Möglichkeit ist es, während des Trainings spezielle Operationen anzuwenden, um die Verallgemeinerung der Netzwerkdarstellungen, wie zum Beispiel Dropout oder Batch-Normalisierung, zu erzwingen.
-
Ein Res-VAE kann einen „Restlern“-Mechanismus verwenden, um geordnete Darstellung zu lernen. Der „Restlern“-Mechanismus kann eine explizite Abhängigkeitsstruktur zwischen den latenten Variablen beinhalten, was Ordnung fördert. Das Res-VAE-System kann die Rekonstruktion in Rest und Netzwerkausgabe zerlegen. Diese Lockerung der Decoder-Rekonstruktion kann den Kompromiss zwischen Ordnung und Rekonstruktion verringern und das Lernen geordneter Darstellung verbessern.
-
1 stellt Datenkommentierungssystem 100 zum Implementieren eines Systems zum Kommentieren von Daten dar. Das Datenkommentierungssystem 100 kann mindestens ein Computing-System 102 beinhalten. Das Computing-System 102 kann mindestens einen Prozessor 104 beinhalten, der funktionsfähig mit Speichereinheit 108 verbunden ist. Der Prozessor 104 kann eine oder mehrere integrierte Schaltungen beinhalten, die die Funktionalität von Central-Processing-Unit (CPU) 106 implementieren. Die CPU 106 kann eine kommerziell verfügbare Verarbeitungseinheit sein, die einen Anweisungssatz, wie zum Beispiel einen von den Anweisungssatzfamilien x86, ARM, Power oder MIPS, implementiert. Während des Betriebs kann die CPU 106 gespeicherte Programmanweisungen ausführen, die von der Speichereinheit 108 abgerufen werden. Die gespeicherten Programmanweisungen können Software beinhalten, die die Operation der CPU 106 steuert, um die hierin beschriebene Operation auszuführen. In einigen Beispielen kann der Prozessor 104 ein System-on-a-Chip (SoC) sein, das die Funktionalität der CPU 106, der Speichereinheit 108, einer Netzwerkschnittstelle und Eingabe/Ausgabe-Schnittstellen in ein einzelnes integriertes Gerät integriert. Das Computing-System 102 kann ein Betriebssystem zum Verwalten verschiedener Aspekte der Operation implementieren.
-
Die Speichereinheit 108 kann flüchtigen Speicher und nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten beinhalten. Der nichtflüchtige Speicher kann Festkörperspeicher, wie zum Beispiel NAND-Flash-Speicher, magnetische und optische Speicherungsmedien, oder jegliches andere geeignete Datenspeicherungsgerät beinhalten, das Daten bewahrt, wenn das Computing-System 102 deaktiviert wird oder elektrische Energie verliert. Der flüchtige Speicher kann statischen und dynamischen Random-Access-Memory(RAM) beinhalten, der Programmanweisungen und Daten speichert. Zum Beispiel kann die Speichereinheit 108 Modell zum maschinellen Lernen 110 oder Algorithmus, Trainingsdatensatz 112 für das Modell zum maschinellen Lernen 110, Rohquelldatensatz 115, speichern.
-
Das Computersystem 102 kann Netzwerkschnittstellengerät 122 beinhalten, das dazu ausgelegt ist, Kommunikation mit externen Systemen und Geräten bereitzustellen. Zum Beispiel kann das Netzwerkschnittstellengerät 122 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle beinhalten, wie durch die 802.11-Standardfamilie des Institute of Electrical and Electronics Engineers (IEEE) definiert. Das Netzwerkschnittstellengerät 122 kann eine Mobilfunk-Kommunikationsschnittstelle zum Kommunizieren mit einem Mobilfunknetzwerk (zum Beispiel 3G, 4G, 5G) beinhalten. Das Netzwerkschnittstellengerät 122 kann ferner dazu ausgelegt sein, eine Kommunikationsschnittstelle zu externem Netzwerk 124 oder zu einer Cloud bereitzustellen.
-
Das externe Netzwerk 124 kann als das World-Wide-Web oder das Internet bezeichnet werden. Das externe Netzwerk 124 kann ein Standardkommunikationsprotokoll zwischen Computing-Geräten einrichten. Das externe Netzwerk 124 kann einfachen Austausch von Informationen und Daten zwischen Computing-Geräten und Netzwerken ermöglichen. Ein oder mehrere Server 130 können mit dem externen Netzwerk 124 in Kommunikation sein.
-
Das Computing-System 102 kann Eingabe/Ausgabe (E/A) -Schnittstelle 120 beinhalten, die dazu ausgelegt sein kann, digitale und/oder analoge Eingaben und Ausgaben bereitzustellen. Die E/A-Schnittstelle 120 kann zusätzliche serielle Schnittstellen zur Kommunikation mit externen Geräten (zum Beispiel Universal-Serial-Bus (USB)) beinhalten.
-
Das Computing-System 102 kann Human-Machine-Interface (HMI) -Gerät 118 beinhalten, das jegliches Gerät beinhalten kann, das es dem System 100 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabegeräte können menschliche Schnittstelleneingaben, wie zum Beispiel Tastaturen, Mäuse, Touchscreens, Spracheingabegeräte und andere ähnliche Geräte, beinhalten. Das Computing-System 102 kann Anzeigegerät 132 beinhalten. Das Computing-System 102 kann Hardware und Software zum Ausgeben von Grafiken und Textinformationen an das Anzeigegerät 132 beinhalten. Das Anzeigegerät 132 kann einen elektronischen Anzeigebildschirm, Projektor, Drucker oder ein anderes geeignetes Gerät zum Anzeigen von Informationen für einen Benutzer oder Bediener beinhalten. Das Computing-System 102 kann ferner dazu ausgelegt sein, Interaktion mit einem entfernten HMI und entfernten Anzeigegeräten über das Netzwerkschnittstellengerät 122 zu ermöglichen.
-
Das System 100 kann durch Verwenden eines oder mehrerer Computing-Systeme implementiert werden. Während das Beispiel ein einzelnes Computing-System 102 darstellt, das alle der beschriebenen Merkmale implementiert, ist es beabsichtigt, dass verschiedene Merkmale und Funktionen durch mehrere miteinander kommunizierende Computing-Einheiten getrennt und implementiert werden können. Die bestimmte ausgewählte Systemarchitektur kann von einer Vielzahl von Faktoren abhängen.
-
Das System 100 kann einen Algorithmus zum maschinellen Lernen 110 implementieren, der dazu ausgelegt ist, den Rohquelldatensatz 115 zu analysieren. Der Rohquelldatensatz 115 kann rohe oder unverarbeitete Sensordaten beinhalten, die für einen Eingabedatensatz für ein System zum maschinellen Lernen repräsentativ sein können. Der Rohquelldatensatz 115 kann Video, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (zum Beispiel Radarkarte von Objekten) beinhalten. In einigen Beispielen kann der Algorithmus zum maschinellen Lernen 110 ein neuronaler Netzwerkalgorithmus sein, der dazu entworfen ist, eine vorgegebene Funktion auszuführen. Zum Beispiel kann der neuronale Netzwerkalgorithmus in Automobilanwendungen dazu ausgelegt sein, Fußgänger in Videobildern zu identifizieren.
-
Das Computersystem 100 kann einen Trainingsdatensatz 112 für den Algorithmus zum maschinellen Lernen 110 speichern. Der Trainingsdatensatz 112 kann einen Satz zuvor konstruierter Daten zum Trainieren des Algorithmus zum maschinellen Lernen 110 darstellen. Der Trainingsdatensatz 112 kann durch den Algorithmus zum maschinellen Lernen 110 dazu verwendet werden, Gewichtungsfaktoren zu lernen, die mit einem neuronalen Netzwerkalgorithmus verbunden sind. Der Trainingsdatensatz 112 kann einen Satz von Quelldaten beinhalten, die entsprechende Resultate oder Ergebnisse haben, die der Algorithmus zum maschinellen Lernen 110 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 112 Quellvideos mit und ohne Fußgänger und entsprechende Anwesenheits- und Standortinformationen beinhalten. Die Quellvideos können verschiedene Szenarien beinhalten, in denen Fußgänger identifiziert werden.
-
Der Algorithmus zum maschinellen Lernen 110 kann in einem Lernmodus durch Verwenden des Trainingsdatensatzes 112 als Eingabe betrieben werden. Der Algorithmus zum maschinellen Lernen 110 kann über eine Anzahl von Iterationen durch Verwenden der Daten von dem Trainingsdatensatz 112 ausgeführt werden. Mit jeder Iteration kann der Algorithmus zum maschinellen Lernen 110 interne Gewichtungsfaktoren basierend auf den erreichten Ergebnissen aktualisieren. Zum Beispiel kann der Algorithmus zum maschinellen Lernen 110 Ausgabeergebnisse (zum Beispiel Kommentare) mit denen vergleichen, die in dem Trainingsdatensatz 112 enthalten sind. Da der Trainingsdatensatz 112 die erwarteten Ergebnisse beinhaltet, kann der Algorithmus zum maschinellen Lernen 110 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Algorithmus zum maschinellen Lernen 110 ein vorgegebenes Leistungsniveau erreicht hat (zum Beispiel 100% Übereinstimmung mit den dem Trainingsdatensatz 112 zugeordneten Ergebnissen), kann der Algorithmus zum maschinellen Lernen 110 durch Verwenden von Daten ausgeführt werden, die nicht in dem Trainingsdatensatz 112 enthalten sind. Der trainierte Algorithmus zum maschinellen Lernen 110 kann auf neue Datensätze angewendet werden, um kommentierte Daten zu erzeugen.
-
Der Algorithmus zum maschinellen Lernen 110 kann dazu ausgelegt sein, ein bestimmtes Merkmal in den Rohquelldaten 115 zu identifizieren. Die Rohquelldaten 115 können mehrere Instanzen oder Eingabedatensätze beinhalten, für die Kommentierungsergebnisse erwünscht sind. Zum Beispiel kann der Algorithmus zum maschinellen Lernen 110 dazu ausgelegt sein, das Vorhandensein eines Fußgängers in Videobildern zu identifizieren und die Ereignisse zu kommentieren. Der Algorithmus zum maschinellen Lernen 110 kann dazu programmiert sein, die Rohquelldaten 115 zu verarbeiten, um das Vorhandensein der besonderen Merkmale zu identifizieren. Der Algorithmus zum maschinellen Lernen 110 kann dazu ausgelegt sein, ein Merkmal in den Rohquelldaten 115 als ein vorgegebenes Merkmal (zum Beispiel Fußgänger) zu identifizieren. Die Rohquelldaten 115 können von einer Vielzahl von Quellen abgeleitet werden. Zum Beispiel können die Rohquelldaten 115 tatsächliche durch ein System zum maschinellen Lernen gesammelte Eingabedaten sein. Die Rohquelldaten 115 können zum Prüfen des Systems maschinell erzeugt werden. Als ein Beispiel können die Rohquelldaten 115 Rohvideobilder von einer Kamera beinhalten.
-
In dem Beispiel kann der Algorithmus zum maschinellen Lernen 110 Rohquelldaten 115 verarbeiten und eine Anzeige einer Darstellung eines Bildes ausgeben. Die Ausgabe kann auch eine erweiterte Darstellung des Bildes beinhalten. Ein Algorithmus zum maschinellen Lernen 110 kann ein Vertrauensniveau oder einen Vertrauensfaktor für jede erzeugte Ausgabe erzeugen. Zum Beispiel kann ein Vertrauenswert, der einen vorgegebenen Hochvertrauens-Schwellenwert, anzeigen, dass der Algorithmus zum maschinellen Lernen 110 überzeugt ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Vertrauenswert, der kleiner als ein Niedrigvertrauens-Schwellenwert ist, kann anzeigen, dass der Algorithmus zum maschinellen Lernen 110 einige Unsicherheit hat, dass das bestimmte Merkmal vorhanden ist.
-
Der VAE kann ein tief gerichtetes grafisches Modell sein, das aus einem Encoder und einem Decoder besteht. Der Encoder kann die Daten x zu einer latenten Darstellung q
θ (zlx) abbilden, und der Decoder bildet die latente Darstellung zurück auf den Datenraum q
∅(x|z) ab, wo θ und ∅ Modellparameter darstellen. Die Verlustfunktion des VAE kann wie folgt definiert werden:
wobei KL(. ||.) die Kullback-Leibler-Divergenz zwischen dem wahren und dem ungefähren Posterior sein kann. Durch Regularisieren des Posterior q
θ(z|x) mit einem Prior über der latenten Darstellung p(z) ∼ N(0,I), wobei I eine Identitätsmatrix ist, kann der VAE eine latente Darstellung q
θ(z|x) lernen, die die Variationen in den Daten enthält. In einem Beispiel kann ein Bild verwendet werden, und die latente Darstellung kann ein Attribut sein, das ein Merkmal des Gesichts erklärt. Zum Beispiel kann eine Koordinate das Geschlecht des Gesichts (zum Beispiel ein männliches oder ein weibliches) beinhalten, ob das Gesicht einen bestimmten Ausdruck hat (zum Beispiel glücklich oder traurig), ob das Gesicht alt oder jung ist (zum Beispiel hat das Gesicht Falten), usw. Das Lernen geordneter Darstellung kann dazu verwendet werden, die latente Darstellung z∈ℝ
d zu identifizieren, wobei jede latente Variable nur einem der erzeugenden Faktoren für gegebene Daten x entspricht. Um dies zu erreichen, erweitert β-VAE das VAE-Ziel mit einem einstellbaren Hyperparameter β wie folgt:
-
Wenn β = 1, kann der β-VAE äquivalent zu dem ursprünglichen VAE-Framework sein. Das Hinzufügen von β kann den Posterior qθ(z|x) fördern, mit der faktorisierten Einheit der Gauß'schen Prior p(z) übereinzustimmen. Dies kann die Unabhängigkeit zwischen den latenten Variablen von z verbessern, somit wird die Darstellung geordnet und Merkmale, die von dem Bild erzeugt werden können, werden aufgeschlüsselt. Andererseits kann es die Menge an Informationen über x, die in z gespeichert sind, reduzieren, was insbesondere für hohe Werte von β zu einer schlechten Rekonstruktion führen kann.
-
Tabelle 1 ist ein Beispiel für einen Restlern-Algorithmus, wie unten gezeigt:
-
In einer Ausführungsform kann der Res-VAE eine explizite Abhängigkeitsstruktur zwischen den latenten Variablen definieren. Eine solche Struktur kann als eine induktive Verzerrung des Modells betrachtet werden. Wie unten weiter erläutert, kann die latente Raumstruktur den Lösungsraum reduzieren, wobei ein Schwerpunkt auf Ordnung liegt. Darüber hinaus kann Res-VAE die Rekonstruktion in Netzwerkausgabe und Rest zerlegen. Dies kann die Einschränkungen bei der Netzwerkrekonstruktion und somit den Kompromiss zwischen dem und Ordnung verringern. Der Res-VAE kann die Hyperparameter-Abstimmung der oben genannten Ansätze durch Training mit dem ursprünglichen VAE-Ziel eliminieren.
-
Der Res-VAE kann ein als
gekennzeichnetes Encoder-Netzwerk und ein als
gekennzeichnetes Decoder-Netzwerk beinhalten. Somit kann x und
für Eingabedaten bzw. latenten Darstellungsvektor stehen. θ und ∅ können Netzwerkparameter darstellen. Anstelle des Standard-Vorwärtsdurchlaufs, der alle latenten Variablen gleichzeitig aktualisiert, kann Res-VAE einen „Restlern“-Mechanismus verwenden, um die Latente basierend auf dem Rest zwischen der Eingabe und den akkumulierten Rekonstruktionen sequenziell zu aktualisieren.
-
In Anbetracht der Dimension des latenten Raums d > 1 und der latenten Darstellung
kann der „Restlern“-Mechanismus d Vorwärtsdurchläufe beinhalten. Jeder Vorwärtsdurchlauf kann jeweils eine latente Variable aktualisieren. In dem ersten Durchlauf durchlaufen die Eingabedaten x den Encoder, um den parametrisierten Posterior (
hochgestellte Zahl stellt die Durchlaufnummer dar) zu berechnen. Anstatt Muster für alle latenten Variablen
zu zeichnen, wird nur die erste latente Variable
bemustert, und die verbleibenden latenten Variablen werden auf
0 gesetzt. Die modifizierte latente Variable
durchläuft dann den Decoder, um die Ausgabe zu erzeugen, die als x̂
1 aufgeführt wird. Die Differenz zwischen der Eingabe x und dieser Ausgabe x̂
1, die als Rest Δ
1 = x - x̂
1 aufgeführt wird, wird als die Eingabe für den zweiten Durchlauf genommen. Für den zweiten Durchlauf durchläuft Δ
1 den Encoder, um einen neuen parametrisierten Posterior
and zu erzeugen. Dieses Mal wird nur die zweite latente Variable mit diesem parametrisierten Posterior als
aufgeführt. Die erste latente Variable mit
wird erneut bemustert, während die verbleibenden latenten Variablen auf
0 gesetzt werden. Die modifizierte latente Variable
wird dann dazu verwendet, die neue Rekonstruktion x̂
2 zu erzeugen. Dann wird der entsprechende Rest Δ
2=Δ
1-x̂
2 als die Eingabe für den dritten Durchlauf berechnet. In dem i-ten Durchlauf wird die i-te latente Variable von dem Codieren des aktuellen Rest Δ
i-1 aufgeführt, somit ist
Die zuvor aktualisierten latenten Variablen folgen ihrer entsprechenden Rest-Codierung und die späteren latenten Variablen werden auf Null gesetzt. Die latente Variable
durchläuft den Decoder und erzeugt den neuen Rest Δ
i. Der Prozess wiederholt sich d-mal, sodass alle latenten Variablen aufgeführt werden. In einem Beispiel kann der Res-VAE keine optimalen Ergebnisse liefern, wenn die latente Dimension d=
1 ist. In diesem Fall kann der Rest jegliche Decoder-Ausgabe kompensieren und Null Rekonstruktionsfehler erzeugen.
-
Ein Res-VAE kann dazu in der Lage sein, mit einem ursprünglichen in Gl. 1 definierten VAE-Ziel trainiert zu werden. Die Parameter werden durch Verwenden der Standard-Back-Verbreitung aktualisiert. Der Prior p(z) kann auf die isotrope Einheit nach Gauß N(0, I) gesetzt werden, und Posterior qθ(z|x) kann als Gaußkurven mit einer diagonalen Kovarianzmatrix parametrisiert werden. „Reparametrisierung“ kann dazu verwendet werden, jede Zufallsvariable z1∼qθ(z|x) als eine differenzierbare Transformation einer Rauschvariablen ∈∼N(0,1) mit zi = µi + σi∈ zu transformieren.
-
Der Restlern-Mechanismus kann die sequentielle Aktualisierung latenter Variablen definieren. Er kann die Abhängigkeit zwischen den latenten Variablen in dem Posterior definieren, die als q
θ(z
1,z
2,...,z
d|x)=q
θ(z
1|x)q
θ(z
2|z
1,x)...q
θ(z
d|z
1,...z
d-1,x) geschrieben werden können. Der KL-Verlustterm des ursprünglichen VAE-Ziels in Gl.
1 fördert den Posterior q
θ(z
1,z
2,...,z
d|x), dem Prior
der faktorisierten Einheit nach Gauß zu entsprechen. Durch Hinzufügen der expliziten Abhängigkeit durch den „Restlern“-Mechanismus kann das Res-VAE-Ziel als ein modifiziertes VAE-Ziel betrachtet werden:
-
Diese Einschränkungen fördern die neu hinzugefügte latente Variable, unabhängig von den bereits hinzugefügten Variablen zu sein, somit wird die Ordnung der latenten Darstellung verbessert. Darüber hinaus ist der Lösungsraum von G1. 3 ein Untersatz des ursprünglichen VAE. Durch Reduzieren des Suchraums kann man schneller zu dem Lösungsraum kommen und weniger sensibel für die Initialisierung sein. In dem Versuchsabschnitt wird gezeigt, dass Res-VAE im Vergleich mit anderen Verfahren weniger sensibel für Initialisierung ist.
-
Der Res-VAE kann jede latente Variable von ihrer entsprechenden Rest-Codierung z
i∼q
θ(z
i|Δ
i-1) abfragen. Andere VAE-basierte Ansätze können jedoch eine Rekonstruktion durch Abfragen von der gemeinsamen Verteilung
für alle latenten Variablen erzeugen. Infolgedessen kann Res-VAE während des Vorwärtsdurchlaufs eine Sequenz von Bildern erzeugen. Solche Bilder können den geordneten Faktoren entsprechende Bildtransformationen widerspiegeln. Der Res-VAE kann die latenten Variablen einzeln in einer sequentiellen Reihenfolge (zum Beispiel einem sequentiellen Vorwärtsdurchlauf) aktualisieren. Jede latente Variable kann darauf abzielen, den Rest zwischen der Eingabe und den durch zuvor aktualisierte latente Variablen codierten Informationen zu codieren. Dies kann Interferenz zwischen den latenten Variablen verringern und geordnete latente Darstellungen fördern. Darüber hinaus kann iterative Codierung der Reste die Codierung eines Details höherer Ordnung von zu codierenden Eingabedaten ermöglichen, was zu einer besseren Rekonstruktionsqualität führen könnte.
-
Die endgültige Ausgabe von Res-VAE x' besteht aus x̂
d und Δ
d. Angesichts des Informationsengpasses von VAE lockert Δ
d die Rekonstruktionseinschränkung in dem Netzwerk. Eine solche Lockerung ermöglicht es dem Netzwerk, den Posterior besser an den Prior einer isotropen Einheit nach Gauß anzupassen. Diese Zerlegung der Rekonstruktion hängt mit der Problemformulierung in InfoGAN zusammen, wobei der Eingaberauschvektor in die Quelle des inkompressiblen Rauschens und die hervorstechenden strukturierten semantischen Merkmale der Datenverteilung unterteilt ist. Ersteres entspricht Δ
d und letzteres entspricht x̂
d. Eine ähnliche Idee wird auch in β-VAE diskutiert, wobei latente Faktoren in geordnete und ungeordnete erzeugende Faktoren eingeteilt werden. In diesem Fall repräsentiert
die geordneten erzeugenden Faktoren, und
repräsentiert das ungeordnete Gegenstück, sodass
Der Datenerzeugungsprozess kann als
formuliert werden. Sowohl
als auch
werden gemeinsam durch Verwenden des Ziels in Gl.
2 gelernt. In Res-VAE kann das Δ
d als die Rekonstruktion von den ungeordneten erzeugenden Faktoren w angesehen werden, somit werden sie von den geordneten Faktoren getrennt. Ein Unterschied zwischen Res-VAE und den beiden oben genannten Formulierungen ist, dass sich in Res-VAE Encoder/Decoder-Netzwerke unter anderem auf das Lernen der geordneten Faktoren konzentrieren. Im Gegensatz dazu verwenden andere Ansätze Encoder/Decoder-Netzwerke dazu, sowohl ungeordnete als auch geordnete Faktoren zu lernen. Dieser Unterschied kann es Res-VAE ermöglichen, den Kompromiss zwischen Rekonstruktion und Ordnung zu verringern.
-
Ein genauerer Blick auf die Res-VAE-Rekonstruktion zeigt, dass
sein kann. Für L
2 Normrekonstruktionsverlust, Minimierung ∥x-x'∥
2 äquivalent zu Minimierung der akkumulierten Decoder-Ausgabe von Schritt
1 zu d -
1 als
-
Jedes x̂i kann als eine Bildtransformation betrachtet werden, die der hinzugefügten latenten Variablen bei Schritt i entspricht. Dies kann den Effekt der hinzugefügten latenten Variablen minimieren, die nach der minimalen Anzahl latenter Variablen suchen, um die Daten darzustellen. Zusammen mit dem KL-Verlustterm fördert diese Formulierung das Lernen der unabhängigen datenerzeugenden Faktoren. Es ist zu beachten, dass die direkte Verwendung des entsprechenden Ziels zu einer Lösung führen kann, bei der das Netzwerk lernt, für all die Schritte Nullen auszugeben. In Res-VAE kann dies aufgrund des Vorhandenseins des Restterms selten geschehen.
-
Res-VAE kann den Standard-Vorwärtsdurchlauf von VAE durch d Vorwärtsdurchläufe ersetzen. Zusätzlich zu einer verbesserten Leistung auf dem Stand der Technik eliminiert er jedoch die mit anderen früheren Systemen verbundene Hyperparameter-Abstimmung. Es kann gezeigt werden, dass Hyperparameter-Abstimmung für Leistung auf dem Stand der Technik entscheidend ist. Es kann ein schwieriger und zeitaufwendiger Prozess sein, insbesondere für unbeschriftete Daten, aufgrund von: dem großen Suchraum für Hyperparameter kontinuierlicher Werte; dem Fehlen einer Bewertungsmetrik, die üblicherweise durch menschliche visuelle Inspektion bewertet wird. Infolgedessen ist die durch Res-VAE erhöhte Rechenkomplexität im Vergleich zu den Kosten von Hyperparamete-Abstimmung angemessen. Darüber hinaus wird gezeigt werden, dass jeder der d Vorwärtsdurchläufe in Res-VAE einem geordneten erzeugenden Faktor entspricht. Visualisierung dieser Zwischenschritte stellt einen neuen Weg bereit, das Ergebnis zu verstehen.
-
2 stellt ein Flussdiagramm des Res-VAE-Mechanismus dar. Der Restlern-Mechanismus kann einen einzelnen Vorwärtsdurchlauf durch d Vorwärtsdurchläufe ersetzen. In dem ersten Durchlauf und bei Schritt 201 kann das System die Eingabedaten x empfangen. Die Eingabedaten x können ein Bild, Video oder ein anderer Typ von Objektidentifikationsdaten sein.
-
Bei Schritt 203 kann das System die Eingabedaten durch den Encoder leiten und den parametrisierten Posterior berechnen, der durch Verwenden des p-ten Durchgangs berechnet werden kann. Bei Schritt 205 kann das System die erste latente Variable abfragen und den Rest der latenten Variablen auf Null setzen. Somit wird, anstatt alle latenten Variablen abzufragen, einfach eine latente Variable abgefragt. Die modifizierte latente Variable kann dann dazu verwendet werden, die Rekonstruktion durch Verwenden des Decoders zu erzeugen.
-
Bei Schritt 207 kann das System dann die Rekonstruktion durch Verwenden des Decoders erzeugen. Bei Schritt 207 kann die modifizierte latente Variable dazu verwendet werden, die Rekonstruktion zu erzeugen. Bei Schritt 209 kann die Differenz zwischen der Rekonstruktion und den Eingabedaten als die Eingabe für den zweiten Durchlauf verwendet werden. Der zweite Durchlauf zu dem Encoder erzeugt den entsprechenden Rest. Das System kann dann die zweite latente Variable mit diesem entsprechenden Rest abfragen und die erste latente Variable mit den in dem ersten Durchlauf gelernten Parametern erneut abfragen, während die verbleibenden latenten Variablen auf Null gesetzt werden. Die modifizierte latente Variable kann dann dazu verwendet werden, die Rekonstruktion zu erzeugen, sowie den entsprechenden Rest zu berechnen. Bei Schritt 211 kann das System d-mal fortfahren, bis alle latenten Variablen abgefragt sind. Bei dem p-ten Durchlauf kann die latente Variable von der Verteilung abgefragt werden, die von dem entsprechenden Rest gelernt wurde (zum Beispiel Tabelle in Alg. 1 für Pseudo-Code für den Restlern-Mechanismus).
-
3 offenbart Blockdiagramm
300 eines Residual-Variational-Autoencoders (VAE) und einer Rest-Lernsoftware-Anwendung. Eingabe
301 kann bei erstem Durchlauf
302 in Encoder
303 eingegeben werden. In dem Blockdiagramm
300 von
3 kann es auch mehrere Durchläufe geben, einschließlich zweiter Durchlauf
304, dritter Durchlauf
306 und N-ter Durchlauf
308. Die latenten Variablen können sequenziell aktualisiert werden, um den Rest zwischen den Eingabedaten und der Rekonstruktion von den zuvor aktualisierten latenten Variablen (zum Beispiel 305, 309, 311, 313) während jedes Vorwärtsdurchlaufs (zum Beispiel 302, 304, 306) zu lernen. Das Netzwerk kann die Rekonstruktion, x', ausgeben. Der Res-VAE kann ein Encoder-Netzwerk
303, das
sein kann, und Decoder-Netzwerk
307, das
sein kann, beinhalten.
-
Die Decoder-Ausgabe jedes internen Schritts (x̂1, ..., x̂10) und ihre entsprechenden Reste (Δ1, ..., Δ10) können ausgegeben werden. Das Ergebnis kann zeigen, dass die Decoder-Ausgabe und die Reste zusammenarbeiten können, um den gelernten geordneten Faktor bei jedem Schritt zu erfassen. Zum Beispiel können Faktoren in jedem Schritt X-Position, Y-Position, Größe, Drehung+Form bzw. Form sein. In einem Beispiel wird die X-Position des rekonstruierten Bildes während des ersten Schritts erzeugt. In Schritt zwei können sowohl X-Position als auch Y-Position erzeugt werden. Dieser Prozess kann fortfahren, und bei jedem Schritt transformieren der Decoder 307 und der Rest das Bild gemäß der gelernten latenten Codierung.
-
Der Mechanismus kann die Eingabedaten auf eine lineare Weise zerlegen als:
wobei x̂
i die Rekonstruktion von den ersten i latenten Variablen ist, und Δ für den Rest steht. Die Formulierung kann die latente Darstellung fördern, mit der Annahme der linearen Zerlegung übereinzustimmen.
-
Der „Resttem“-Mechanismus kann aus d Vorwärtsdurchläufen mit demselben (oder einem ähnlichen) Encoder enc, qθ(z|x) und Decoder dec, q∅(x|z) bestehen. Latente Variablen (zum Beispiel 305, 309, 311, 313) können sequenziell von der Codierung des Rests zwischen den Eingabedaten und der akkumulierten Rekonstruktion abgefragt werden. Bei jedem Schritt kann die hinzugefügte latente Variable der von dem aktuellen Rest gelernten Verteilung folgen, während vorherige latente Variablen der gleichen aus ihren entsprechenden Resten gelernten Verteilung folgen können.
-
4 offenbart ein Beispiel latenter Durchquerungen über jede latente Dimension hinweg für einen beispielhaften Datensatz. Die latenten Durchquerungen über jede latente Dimension hinweg, wobei d auf 10 gesetzt wird, wobei die Interpretation des Variationsfaktors jeder latenten Dimension entspricht. Die latenten Durchquerungen über jede latente Dimension hinweg, wobei d für den 2D-Formdatensatz auf 10 gesetzt wird. Die Rekonstruktion jedes Schritts in dem Res-VAE-Verfahren, interner Prozess der letzten Spalte von (a). Der Res-VAE ist dazu in der Lage, interpretierbare Variationsfaktoren, wie zum Beispiel Hintergrund, Gesichts- und Haareigenschaften, Hautfarbe, usw., zu lernen. Im Vergleich zu β-VAE und FactorVAE kann das System mehr Hintergrundfarbtöne, Lichtquellenrichtung, usw. beobachten. Sorgfältiges Abstimmen von Parametern könnte möglicherweise mehr latente Variablen aufdecken. Res-VAE kann jedoch das Abstimmen von Hyperparametern eliminieren, was ein kritischer Schritt für die Leistung auf dem bisherigen Stand der Technik sein kann. Zum Beispiel zeigt 4 Beispiele für jede latente Dimension für unterschiedliche Attribute, einschließlich Hintergrundhelligkeit, Haarfarbe, Haarlänge, Haarvolumen, Alter, Azimut, Hautton, Haarrichtung, Stirnhaarhöhe, Hintergrundrötung, usw. Natürlich können andere Attribute identifiziert werden.
-
Ein möglicher Vorteil von Res-VAE ist es, dass er den Lösungsraum reduziert und die Trainingsstabilität verbessert. Res-VAE kann eine bessere Leistung und kleinere Varianzen haben, was bedeutet, dass er weniger empfindlich gegenüber den zufälligen Startwerten sein kann. Es wurde auch untersucht, ob das Verwenden des β-VAE-Ziels in Gl. 2 mit dem „Restlern“-Mechanismus die Leistung, bezeichnet als Res-β-VAE, verbessern würde. In diesem Fall würde der vorgeschlagene „Restlern“-Mechanismus von dem erweiterten Ziel profitieren, eine bessere Leistung zu erreichen. Es ist zu beachten, dass Res-VAE ein Sonderfall von Res-β-VAE mit β = 1 ist. Die 2(f) und 2(g) zeigen, dass durch Res-VAE der beste Ordnungswert erreicht wird, und dass höhere β Werte nicht zur Verbesserung der Leistung beitragen. Diese Ergebnisse bestätigen die Wirksamkeit von Res-VAE bei der Lösung des Kompromisses zwischen Ordnung und Rekonstruktion.
-
Eine Neuanordnung der Komponenten in Res-VAE deckt auf, dass es Ähnlichkeiten mit den ResNets geben kann. ResNets haben bei verschiedenen Computer-Vision-Benchmarks die Leistung nach dem Stand der Technik erreicht. Die Schlüsselidee von ResNets ist es, Lernen der direkten Abbildung zwischen Eingabe und Ausgabe (H(x) = x → y) durch das Lernen einer Restformulierung (H(x) = F(x) + x → y) zu ersetzen, wobei F(x) gestapelte nichtlineare Schichten darstellt. Diese Formulierung reduziert den Verlust wichtiger Informationen während der Verbreitung durch das Netzwerk. Darüber hinaus wurde vorgeschlagen, dass das Lernen der Restabbildung einfacher ist als das Lernen der direkten Abbildung. Eine andere Interpretation der Wirksamkeit von ResNets ist ihre äquivalente Form als Ensembles von flachen Netzwerken.
-
In einem Beispiel ein Echtbilddatensatz ohne erzeugende Faktoren für die Grundwahrheit. Er kann zehntausend unterschiedliche Promi-Identitäten mit jeweils zwanzig Bildern enthalten. Jedes Bild ist mit vierzig Gesichtsattributen versehen, wie zum Beispiel: Jung, blasse Haut, Pony, glattes Haar, keine Bärte, usw. In einem solchen Beispiel können zugeschnittene 64 x 64 x 3 Gesichtsbilder als die Eingabedaten verwendet werden.
-
Eine Metrik kann berechnet werden, indem ein latenter Faktor k ausgewählt wird, neue Dateny mit festem Faktor k und anderen zufällig variierenden Faktoren erzeugt werden, der Mittelwert von qθ(z|y), berechnet wird, jede Dimension durch ihre empirische Standardabweichung über all die Daten oder einen ausreichend großen Untersatz (zum Beispiel einen Untersatz-Schwellenbetrag (zum Beispiel mehr als 80%)) normalisiert wird, ein Mehrheitsvotums-Klassifikator mit der Eingabe des Index der Dimension mit der niedrigsten Varianz und der Ausgabe des Faktors k erstellt wird. Die Klassifikatorgenauigkeit kann als die Bewertungsmetrik verwendet werden.
-
Im Allgemeinen kann es drei Kriterien für eine geordnete Darstellung geben, nämlich Ordnung, Vollständigkeit und Informativität. Ordnung kann der Grad sein, zu dem die gelernte Darstellung die zugrunde liegenden erzeugenden Faktoren ordnet; Vollständigkeit ist der Grad, zu dem die erzeugenden Faktoren durch eine latente Darstellung erfasst werden; und schließlich ist die Informativität die Informationsmenge der erzeugenden Faktoren, die durch die latente Darstellung erfasst wird. Ordnung und Vollständigkeit können durch Visualisierung von Zeilen und Spalten des Hinton-Diagramms wahrgenommen werden; und die Informativität wird basierend auf dem Abbildungsfehler zwischen der gelernten latenten Darstellung und den Grundwahrheitsfaktoren berechnet.
-
Somit kann ein Res-VAE zum Lernen geordneter Darstellung in einem unüberwachten Umfeld verwendet werden. Ein „Restlern“-Mechanismus in dem Trainingsregime kann im Gegensatz zu einem erweiterten Ziel einen Kompromiss zwischen Ordnung und Rekonstruktion der VAE-basierten Ansätze ermöglichen. Res-VAE definiert die explizite Abhängigkeitsstruktur zwischen latenten Variablen und zerlegt die Rekonstruktion in Decoder-Ausgabe und Restterme. Der Res-VAE kann direkt auf jegliche VAE-Architektur angewendet werden, ohne eine zusätzliche Hyperparameter-Abstimmung. Der schrittweise Prozess des Res-VAE kann die Ergebnisse visualisieren und den internen Prozess des Lernens geordneter Faktoren verstehen.
-
Ausführungsformen der vorliegenden Offenbarung werden hierin beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder minimiert sein, um Details bestimmter Komponenten zu zeigen. Daher sind hierin offenbarte spezifische strukturelle und funktionelle Details nicht als einschränkend zu interpretieren, sondern lediglich als eine repräsentative Basis, um den Fachmann zu lehren, die Ausführungsformen verschieden einzusetzen. Wie normale Fachleute verstehen werden, können verschiedene Merkmale, die unter Bezugnahme auf jegliche der Figuren veranschaulicht und beschrieben sind, mit Merkmalen kombiniert werden, die in einer oder mehreren anderen Figuren veranschaulicht sind, um Ausführungsformen zu erzeugen, die nicht explizit veranschaulicht oder beschrieben sind. Die Kombinationen veranschaulichter Merkmale stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung übereinstimmen, könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
-
Die hierin offenbarten Prozesse, Verfahren oder Algorithmen können an ein Verarbeitungsgerät, eine Steuerung oder einen Computer geliefert/davon implementiert werden, was jegliche existierende programmierbare elektronische Steuereinheit oder fest zugeordnete elektronische Steuereinheit beinhalten kann. In ähnlicher Weise können die Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen gespeichert werden, die durch eine Steuerung oder einen Computer in vielen Formen ausgeführt werden können, einschließlich, aber nicht beschränkt auf Informationen, die dauerhaft auf nicht beschreibbaren Speicherungsmedien, wie zum Beispiel ROM-Geräten, gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speicherungsmedien, wie zum Beispiel Disketten, Magnetbänder, CD, RAM-Geräte und anderen magnetischen und optischen Medien gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise durch Verwenden geeigneter Hardware-Komponenten, wie zum Beispiel Application-Specific-Integrated-Circuits (ASIC), Field-Programmable-Gate-Arrays (FPGA), Statusautomatik, Steuerungen, oder anderer Hardwarekomponenten oder Geräte, oder einer Kombination von Hardware-, Software- und Firmware-Komponenten ausgeführt werden.
-
Während beispielhafte Ausführungsformen oben beschrieben sind, ist es nicht beabsichtigt, dass diese Ausführungsformen alle möglichen durch die Ansprüche umfassten Formen beschreiben. Die in der Spezifikation verwendeten Worte sind eher beschreibende als einschränkende Worte, und es versteht sich, dass verschiedene Änderungen gemacht werden können, ohne von dem Geist und Umfang der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die nicht explizit beschrieben oder veranschaulicht sein können. Während verschiedene Ausführungsformen so beschrieben worden sein könnten, dass sie Vorteile bieten oder gegenüber anderen Ausführungsformen oder Implementierungen des bisherigen Standes der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften bevorzugt werden, erkennen normale Fachleute, dass ein oder mehrere Merkmale oder Eigenschaften beeinträchtigt werden können, um die gewünschten Gesamtsystemattribute zu erreichen, die von der spezifischen Anwendung und Implementierung abhängen. Diese Attribute können Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Wartungsfreundlichkeit, Gewicht, Herstellbarkeit, einfache Montage usw., beinhalten, sind jedoch nicht darauf beschränkt. In dem Maße, in dem jegliche Ausführungsformen in Bezug auf eine oder mehrere Eigenschaften als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des bisherigen Standes der Technik beschrieben werden, liegen diese Ausführungsformen nicht außerhalb des Umfangs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.