-
Nach den Bestimmungen des Gebrauchsmustergesetzes sind nur Vorrichtungen, wie sie in den beigefügten Schutzansprüchen definiert sind, schutzfähig und Gegenstand des Gebrauchsmusters, nicht aber Verfahren. Soweit in der nachfolgenden Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen nur der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen geschützten Vorrichtung(en).
-
QUERVERWEIS AUF VERWANDTE ANWENDUNGEN
-
Diese Anmeldung ist eine Fortsetzung und beansprucht die Priorität der am 27. Dezember 2017 eingereichten US-nichtvorläufigen-Patentanmeldung Nr.
15/855,499 mit dem Titel „DIFFERENCE METRIC FOR MACHINE LEARNING-BASED PROCESSING SYSTEMS“, die die Priorität der am 17. Februar 2017 eingereichten U.S. vorläufigen Patentanmeldung Nr.
62/460,454 , eingereicht am 17. Februar 2017, mit dem Titel „DIFFERENCE METRIC FOR MACHINE LEARNING-BASED PROCESSING SYSTEMS“ beansprucht, deren Offenbarungen durch Bezugnahme hierin in vollem Umfang enthalten sind.
-
HINTERGRUND
-
Maschinelles Lernen ist ein Forschungsgebiet, in dem ein Computer oder Computer lernen, Klassen von Aufgaben auszuführen, indem sie das Feedback nutzen, das aus den Erfahrungen oder Daten gewonnen wird, die der maschinelle Lernprozess während der Ausführung dieser Aufgaben durch den Computer sammelt. Typischerweise kann maschinelles Lernen im Großen und Ganzen in überwachte und nicht überwachte Ansätze eingeteilt werden, obwohl es spezielle Ansätze wie Verstärkungslernen und semi-überwachtes Lernen gibt, die spezielle Regeln, Techniken und/oder Ansätze haben.
-
Überwachtes maschinelles Lernen bezieht sich auf einen Computer, der eine oder mehrere Regeln oder Funktionen lernt, um zwischen Beispieleingaben und gewünschten Ausgaben, die von einem Bediener oder Programmierer vorgegeben werden, abzubilden, wobei in der Regel ein Datensatz, der die Eingaben enthält, etikettiert wird. Für überwachte maschinelle Lernverfahren sind etikettierte Datenpunkte erforderlich. Um zum Beispiel einen Klassifikator zu erlernen, der Bilder klassifiziert, muss der Klassifikator auf einem Satz korrekt klassifizierter Bilder trainiert werden. Diese Etiketten sind in der Regel kostspielig, da sie von menschlichen Experten oder, anders ausgedrückt, von menschlichen Bewertern stammen müssen. Beim unüberwachten Lernen geht es darum, eine Struktur für die Eingabedaten zu bestimmen, z. B. bei der Mustererkennung, und es werden in der Regel unetikettierte Datensätze verwendet. Beim Verstärkungslernen geht es darum, einen oder mehrere Computer in die Lage zu versetzen, mit einer dynamischen Umgebung zu interagieren, z. B. beim Spielen eines Spiels oder beim Fahren eines Fahrzeugs. Es sind verschiedene Mischformen dieser Kategorien möglich, wie z. B. das „semi-überwachte“ maschinelle Lernen, bei dem ein Trainingsdatensatz nur teilweise mit Etiketten versehen wurde.
-
Für unüberwachtes maschinelles Lernen gibt es eine Reihe von Anwendungsmöglichkeiten, wie z. B. die Anwendung von Computer-Vision-Techniken bei der Bildverarbeitung oder Videoverbesserung. Unüberwachtes maschinelles Lernen wird in der Regel zur Lösung von Problemen eingesetzt, bei denen eine unbekannte Datenstruktur in den Eingabedaten vorhanden sein könnte. Da die Daten unetikettiert sind, identifiziert der maschinelle Lernprozess implizite Beziehungen zwischen den Daten, beispielsweise durch die Ableitung einer Clustering-Metrik auf der Grundlage von intern abgeleiteten Informationen. Beispielsweise kann ein unüberwachtes Lernverfahren verwendet werden, um die Dimensionalität eines Datensatzes zu reduzieren und zu versuchen, Beziehungen zwischen Clustern im Datensatz zu identifizieren und zu modellieren, und kann beispielsweise Maße für die Clustermitgliedschaft generieren oder Knotenpunkte in oder zwischen Clustern identifizieren (z. B. unter Verwendung einer Technik, die als gewichtete Korrelationsnetzwerkanalyse bezeichnet wird und auf hochdimensionale Datensätze angewandt werden kann, oder unter Verwendung von k-means clustering, um Daten durch ein Maß für den euklidischen Abstand zwischen den einzelnen Daten zu clustern).
-
Semi-überwachtes Lernen wird in der Regel zur Lösung von Problemen eingesetzt, bei denen ein teilweise etikettierter Datensatz vorliegt, z. B. wenn nur eine Teilmenge der Daten etikettiert ist. Semi-überwachtes maschinelles Lernen nutzt extern bereitgestellte Etiketten und Zielfunktionen sowie alle impliziten Datenbeziehungen. Aktives Lernen ist ein Spezialfall des semi-überwachten Lernens, bei dem das System einen oder mehrere Benutzer abfragt, um zusätzliche Datenpunkte zu erhalten, und anhand der unetikettierten Datenpunkte bestimmt, welche zusätzlichen Datenpunkte dem Benutzer zur Etikettierung zur Verfügung gestellt werden sollen.
-
Bei der anfänglichen Konfiguration eines maschinellen Lernsystems, insbesondere bei Verwendung eines überwachten maschinellen Lernansatzes, kann der maschinelle Lernalgorithmus mit einigen Trainingsdaten oder einem Satz von Trainingsbeispielen versehen werden, wobei jedes Beispiel typischerweise ein Paar aus einem Eingangssignal/-vektor und einem gewünschten Ausgangswert, Etikett (oder einer Klassifizierung) oder Signal ist. Der Algorithmus des maschinellen Lernens analysiert die Trainingsdaten und erzeugt eine verallgemeinerte Funktion, die mit ungesehenen Datensätzen verwendet werden kann, um gewünschte Ausgabewerte oder Signale für die ungesehenen Eingangsvektoren/-signale zu erzeugen.
-
Unüberwachte oder semi-überwachte Ansätze des maschinellen Lernens werden manchmal verwendet, wenn etikettierte Daten nicht ohne Weiteres verfügbar sind oder wenn das System aus unbekannten Daten neue etikettierte Daten generiert, wenn einige anfängliche Startetiketten vorliegen.
-
Deep-Learning-Techniken, z. B. solche, die ein tiefes neuronales Netz für das maschinelle Lernsystem verwenden, unterscheiden sich von herkömmlichen neuronalen Netzen und Support-Vector-Machines (SVMs) dadurch, dass beim Deep-Learning die Anzahl der versteckten Schichten erhöht wird. Aus diesem Grund funktioniert Deep Learning am besten, wenn die Anzahl der Trainingsbeispiele groß ist, z. B. Millionen oder Dutzende Millionen, was das überwachte Training eines Deep Learning-Klassifikators unpraktisch macht. Die derzeitigen Trainingsansätze für die meisten Algorithmen des maschinellen Lernens können erhebliche Zeiträume in Anspruch nehmen, was den Nutzen von Ansätzen des maschinellen Lernens verzögert und auch den Einsatz von Techniken des maschinellen Lernens in einem breiteren potenziellen Anwendungsbereich verhindert.
-
Low-Level-Vision-Anwendungen und andere Signalverarbeitungssysteme (Verbesserung der Bild-/Video-/Tonqualität, verlustbehaftete Bild-/Tonkomprimierung) verwenden eine Metrik zur Quantifizierung von Unterschieden in digitalen Dateien, z. B. in Bildern oder Tondateien. Diese Differenzmetriken nehmen beispielsweise ein Referenzbild und ein verändertes Bild und quantifizieren die Unterschiede zwischen den beiden Dateien. In einigen Implementierungen quantifizieren die Differenzmetriken, wie ein menschlicher Betrachter die Qualität des veränderten Bildes wahrnimmt. Einige dieser Differenzmetriken können als Wahrnehmungsverlustfunktionen bezeichnet werden. Zu den gängigen Differenzmetriken gehören die Peak-Signal-Noise-Ratio (PSNR) oder die structural similiarity (SSIM). PSNR und SSIM und ihre Varianten. Einige aktuelle Differenzmetriken korrelieren mit menschlichen Beurteilungen in begrenzten Szenarien, z. B. bei bestimmten Arten von Verzerrungen, und sind nicht skalierbar.
-
ZUSAMMENFASSUNG
-
Die Implementierungen bieten eine flexible, trainierbare Differenzmetrik, die von tiefen neuronalen Netzen erstellte Darstellungen verwendet. Im Gegensatz zu herkömmlichen Differenzmetriken kann die erlernte Differenzmetrik die menschliche Wahrnehmungsqualität für viele verschiedene Verzerrungstypen vollständig erfassen, und da sie trainierbar ist, kann die Differenzmetrik lernen, die menschliche Wahrnehmungsqualität für jede Verzerrung zu erfassen. Die Implementierungen umfassen daher Systeme und Verfahren, die die menschliche Wahrnehmungsqualität im Raum aller möglichen Verzerrungen untersuchen und erfassen. Mit Hilfe von adaptiven Psychophysik-Experimenten kann die Differenzmetrik mit einem kleinen Satz von etikettierten Trainingsdaten erlernt werden. Das System kann die adaptiven Psychophysik-Experimente in einem aktiven Lernsystem verwenden, das Bayes'sches Bootstrapping einsetzt. Die Differenzmetrik kann anstelle herkömmlicher Differenzmetriken verwendet werden, z. B. als Zielfunktion in jeder maschinell lernenden digitalen Dateiverarbeitungsaufgabe, wie verlustbehaftete Bild- oder Audiokompression, Bild-/Video-/Audioqualitätsverbesserung usw.
-
In einem Aspekt umfasst ein Verfahren die Initialisierung eines Komitees von tiefen neuronalen Netzen mit etikettierten Verzerrungspaaren, das iterative aktive Lernen einer Differenzmetrik unter Verwendung des Komitees und Psychophysik-Aufgaben für informative Verzerrungspaare und die Verwendung der Differenzmetrik als Zielfunktion in einer maschinell erlernten digitalen Dateiverarbeitungsaufgabe.
-
In einem Aspekt speichert ein computerlesbares Medium ein tiefes neuronales Netzwerk, das trainiert wurde, um eine Differenzmetrik bereitzustellen, wobei das Training die Initialisierung eines Komitees von tiefen neuronalen Netzwerken unter Verwendung verschiedener Sätze von etikettierten Trainingsverzerrungspaaren und das iterative Training des Komitees von tiefen neuronalen Netzwerken bis zur Konvergenz umfasst. Das iterative Trainieren des Komitees von tiefen neuronalen Netzen kann das Identifizieren einer Vielzahl von informativen Verzerrungspaaren beinhalten, indem dem Komitee unetikettierte Verzerrungspaare zur Verfügung gestellt werden und die unetikettierten Verzerrungspaare mit der höchsten Diversität in den Differenzmetrikwerten der tiefen neuronalen Netze in dem Komitee ausgewählt werden, Etikettierungen für die informativen Verzerrungspaare erhalten werden und das Komitee von tiefen neuronalen Netzen unter Verwendung der Etikettierungen für die informativen Verzerrungspaare neu trainiert wird.
-
In einem Aspekt umfasst ein System mindestens einen Prozessor und eine Artefaktmaschine zur Erzeugung von unetikettierten Verzerrungspaaren. Die Artefaktmaschine kann die unetikettierten Verzerrungspaare erzeugen, indem sie für jede Basisdatei eine entsprechende verzerrte Datei aus der Basisdatei erzeugt. Das System umfasst auch eine Benutzerschnittstelle für die Etikettierung, um Etikettierungen für unetikettierte Verzerrungspaare zu erhalten, und ein Komitee für Wahrnehmungsverluste. Das Komitee für Wahrnehmungsverluste umfasst eine Vielzahl von tiefen neuronalen Netzen, wobei jedes tiefe neuronale Netz eine entsprechende Wahrnehmungsverlustfunktion hat. Das System enthält ferner einen Speicher, in dem Befehle gespeichert sind, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das System veranlassen, Operationen durchzuführen. Die Operationen umfassen das Lernen einer Wahrnehmungsverlustfunktion durch Erzeugen einer Vielzahl von unetikettierten Verzerrungspaaren unter Verwendung der Artefaktmaschine, das Erhalten eines jeweiligen Satzes von Wahrnehmungsverlustwerten für jedes der Vielzahl von unetikettierten Verzerrungspaaren von dem Komitee, wobei der jeweilige Satz einen Wahrnehmungsverlustwert von jedem der tiefen neuronalen Netze enthält, das Identifizieren eines Satzes von Verzerrungspaaren aus der Vielzahl von unetikettierten Verzerrungspaaren, jedes Verzerrungspaar in dem Satz von Verzerrungspaaren einen jeweiligen Satz von Wahrnehmungsverlustwerten aufweist, der eine Diversitätsmetrik erfüllt, Erhalten, unter Verwendung der Benutzerschnittstelle, eines jeweiligen etikettierten Wahrnehmungswertes für jedes Verzerrungspaar in dem Satz von Verzerrungspaaren, und Trainieren der tiefen neuronalen Netze unter Verwendung des jeweiligen etikettierten Wahrnehmungswertes als ein Trainingsbeispiel für das Verzerrungspaar. Die Operationen umfassen auch die Verwendung der Wahrnehmungsverlustfunktion als Zielfunktion in einer auf maschinellem Lernen basierenden digitalen Dateiverarbeitungsaufgabe.
-
In einem anderen Aspekt enthält ein Computerprogrammprodukt, das auf einer computerlesbaren Speichervorrichtung verkörpert ist, Anweisungen, die, wenn sie von mindestens einem in einem Substrat ausgebildeten Prozessor ausgeführt werden, eine Computervorrichtung veranlassen, eines der hierin offenbarten Verfahren, Operationen oder Prozesse durchzuführen.
-
Eine oder mehrere der Implementierungen des hier beschriebenen Gegenstands können so umgesetzt werden, dass einer oder mehrere der folgenden Vorteile realisiert werden. Als ein Beispiel entwickelt das System eine trainierte Differenzmetrik aus einem viel kleineren Satz etikettierter Daten als dem, der üblicherweise zum Trainieren eines Deep-Learning-Systems verwendet wird. Anstatt z. B. mehrere zehn Millionen etikettierter Datenpunkte zum Trainieren eines starken Modells zu verwenden, kann das System das Modell mit weniger als zehntausend etikettierten Datenpunkten trainieren, von denen viele während des Trainings identifiziert werden. Auf diese Weise reduziert das System die Anzahl der von Hand etikettierten Beispiele, die zum Erlernen eines effektiven Modells erforderlich sind. Da das Sammeln von Trainingsdaten einer der zeit- und ressourcenaufwändigsten Teile des überwachten maschinellen Lernens ist, stellt das System einen bedeutenden Vorteil für die Erstellung einer effektiven Differenzmetrik gegenüber den derzeitigen Verfahren dar. Als ein weiteres Beispiel bieten die Implementierungen einen systematischen Weg zum Aufbau einer leistungsfähigen Differenzmetrik, die durch die Sammlung weiterer Daten kontinuierlich verbessert werden kann. Als ein weiteres Beispiel stützen sich die Implementierungen auf Freiform-Artefakte, die von tiefen neuronalen Netzen eingeführt werden, so dass die Differenzmetrik auf eine beliebige Anzahl von Artefakten anwendbar ist. Dies unterscheidet sich deutlich von bekannten Differenzmetriken, die maschinelles Lernen verwenden, um die Verlustfunktion an die menschlichen Qualitätsdaten anzupassen, da die Datensätze, die beim maschinellen Lernen der bekannten Differenzmetriken verwendet werden, nur eine begrenzte Anzahl handverlesener Artefakte enthalten und da die bekannten Differenzmetriken einfach eine diskrete Anzahl anderer Wahrnehmungsmetriken zu einer einzigen kombinieren. Daher fehlt den bekannten Techniken die Breite und Skalierbarkeit der offengelegten Implementierungen. Als ein weiteres Beispiel verbessert das System die Trainingseffizienz und verkürzt die Trainingszeit im Vergleich zum herkömmlichen überwachten Lernen, indem es hochrelevante Beispiele auswählt, um das Training voranzutreiben.
-
Die Einzelheiten einer oder mehrerer Ausführungsformen sind in den beigefügten Zeichnungen und der nachfolgenden Beschreibung dargestellt. Weitere Merkmale ergeben sich aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen.
-
Figurenliste
-
- 1 zeigt ein Beispielsystem zum Erlernen der Differenzmetrik in Übereinstimmung mit dem offengelegten Gegenstand.
- 2 zeigt ein Beispielsystem für die Verwendung der Differenzmetrik in Übereinstimmung mit dem offengelegten Gegenstand.
- 3 zeigt ein Flussdiagramm eines Beispielprozesses für die Verwendung einer Differenzmetrik unter Verwendung von Psychophysik-Aufgaben, in Übereinstimmung mit dem offengelegten Gegenstand.
- 4 zeigt ein Flussdiagramm eines Beispielprozesses für die Initialisierung eines Komitees von tiefen neuronalen Netzen zum Trainieren der Differenzmetrik, in Übereinstimmung mit dem offengelegten Gegenstand.
- 5 zeigt ein Flussdiagramm eines Beispielprozesses für das iterative Lernen einer Differenzmetrik unter Verwendung von Psychophysik-Aufgaben, in Übereinstimmung mit dem offengelegten Gegenstand.
- 6 zeigt ein Beispiel für ein verteiltes Computergerät, das zur Umsetzung der beschriebenen Techniken verwendet werden kann.
-
Gleiche Bezugszeichen in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 ist ein Blockdiagramm eines aktiven Lernsystems 100 in Übereinstimmung mit einem Implementierungsbeispiel. Das System 100 kann verwendet werden, um eine hochpräzise Differenzmetrik zu erstellen, die auf eine beliebige Anzahl von Artefakträumen anwendbar ist und als Zielfunktion für jedes maschinell erlernte digitale Dateiverarbeitungssystem verwendet werden kann. Die beschriebenen Systeme und Verfahren führen zu einer erlernten Differenzmetrik mit minimalen Eingaben durch einen menschlichen Benutzer. Die Systeme und Verfahren sind skalierbar und können verwendet werden, um einen Wahrnehmungsverlustwert für eine beliebige Anzahl von Artefakträumen zu liefern. Das System und die Verfahren können eine Artefakterzeugungsmaschine verwenden, um das Universum möglicher Artefakträume zu erkunden. Menschliche Qualitätsurteile über die Auswirkung einer Verzerrung in einer Basisdatei können nicht allein durch die Analyse von unetikettierten Daten bestimmt werden. Daher wurden Deep-Learning-Systeme bisher nicht zum Erlernen einer Differenzmetrik verwendet. Zur Vereinfachung der Diskussion wird das Beispielsystem 100 als digitales Bildverarbeitungssystem beschrieben, aber die Implementierungen sind nicht so beschränkt. Ein Beispielsystem 100 kann auch mit anderen digitalen Dateien arbeiten, z. B. mit Audiodateien, Videosegmenten usw.
-
Bei dem aktiven Lernsystem 100 kann es sich um ein Computergerät oder um Geräte handeln, die die Form einer Reihe verschiedener Geräte haben, z. B. einen Standardserver, eine Gruppe solcher Server oder ein Rack-Server-System. Darüber hinaus kann das System 100 in einem Personal Computer, z. B. einem Laptop, implementiert sein. Das aktive Lernsystem 100 kann ein Beispiel für eine Computervorrichtung 600 sein, wie sie in 6 dargestellt ist.
-
Das aktive Lernsystem 100 kann einen oder mehrere Prozessoren 102 enthalten, die in einem Substrat ausgebildet sind, das so konfiguriert ist, dass es einen oder mehrere maschinenausführbare Befehle oder Softwareteile, Firmware oder eine Kombination davon ausführt. Die Prozessoren 102 können auf Halbleitern basieren, d. h., die Prozessoren können Halbleitermaterial enthalten, das digitale Logik ausführen kann. Das aktive Lernsystem 100 kann auch ein Betriebssystem und einen oder mehrere Computerspeicher, z. B. einen Hauptspeicher, enthalten, die so konfiguriert sind, dass sie ein oder mehrere Daten entweder vorübergehend, dauerhaft, semipermanent oder eine Kombination davon speichern. Der Speicher kann jede Art von Speichergerät umfassen, das Informationen in einem Format speichert, das von dem einen oder den mehreren Prozessoren gelesen und/oder ausgeführt werden kann. Der Speicher kann einen flüchtigen Speicher, einen nichtflüchtigen Speicher oder eine Kombination davon enthalten und Module speichern, die bei Ausführung durch den einen oder die mehreren Prozessoren bestimmte Operationen durchführen. In einigen Implementierungen können die Module in einem externen Speichergerät gespeichert und in den Speicher des Systems 100 geladen werden.
-
Das aktive Lernsystem 100 umfasst Basisbilder 104. Die Basisbilder 104 stellen die ursprünglichen Bilddaten dar. Mit anderen Worten: Die Basisbilder 104 sind der Standard, an dem die verzerrten Bilder gemessen werden. In diesem Sinne werden die Basisbilder 104 als ideale Bilder betrachtet. Die Basisbilder 104 werden in einem Speicher abgelegt. Die Basisbilder 104 können in einem lokalen Speicher des aktiven Lernsystems 100 oder in einem vom aktiven Lernsystem 100 entfernten, aber für dieses zugänglichen Speicher (z. B. über ein Netzwerk) gespeichert sein. Die Basisbilder 104 können in jedem beliebigen Bilddateiformat vorliegen.
-
Die Module des aktiven Lernsystems 100 umfassen eine Artefaktmaschine 170, die eine Verzerrung, auch als Verfälschung bezeichnet, in die Basisbilder 104 einfügt. In einigen Implementierungen kann die Artefaktmaschine 170 zufällige Verzerrungen in die Basisbilder 104 einbringen. In einigen Implementierungen kann die Artefaktmaschine 170 eine Verzerrung für einen bestimmten Artefaktraum in die Basisbilder 104 einbringen. In einigen Implementierungen kann die Artefaktmaschine 170 mit Parametern arbeiten, die von einem Systemadministrator bereitgestellt werden. Der Artefaktraum kann von einem oder mehreren der Parameter abhängig sein. So kann ein Administrator beispielsweise einen Parameter verwenden, um mehr blockierende Artefakte und/oder weniger Salz- und Pfefferrauschen einzuführen. Als ein weiteres Beispiel kann ein Parameter die lokale Intensität bestimmter Arten von Verzerrungen an verschiedenen Positionen innerhalb eines Bildes steuern. Der Raum aller möglichen Verfälschungen ist groß, da jede Veränderung eines oder mehrerer Pixel der Bilddaten eine Verfälschung darstellt. Aber nicht alle Verfälschungen führen zu einem Verlust der wahrgenommenen Qualität. Die Artefaktmaschine 170 kann dazu verwendet werden, verfälschte Basisbilder für eine beliebige Anzahl von Artefakträumen zu erzeugen, so dass die erlernte Differenzmetrik in verschiedenen Artefakträumen funktionieren kann. Die Artefaktmaschine 170 kann das verfälschte Basisbild in unetikettierten Verzerrungspaaren 120 speichern. In einigen Implementierungen kann das verfälschte Basisbild zusammen mit dem Basisbild in unetikettierten Verzerrungspaaren 120 gespeichert werden. In einigen Ausführungsformen kann das verfälschte Basisbild mit einer Kennung für das Basisbild gespeichert werden, so dass das System 100 feststellen kann, welchem Basisbild das verfälschte Bild entspricht. In einigen Ausführungsformen können die Artefakte im verfälschten Basisbild so erzeugt werden, dass sie Artefakte in der echten Welt nachbilden. Die Artefaktmaschine 170 kann beispielsweise die gleichen Kodierer verwenden, die in bekannten Anwendungen wie Videostreaming oder Bildfreigabe eingesetzt werden. Die Artefaktmaschine 170 kann bekannte Parameter für die Kodierer verwenden, um die Verzerrungen und Artefakte zu erzeugen. In einigen Implementierungen können die Kodierer z. B. jpeg-Kodierer für Bilder oder h.264 für Videos sein.
-
In einigen Implementierungen können die unetikettierten Verzerrungspaare 120 in einem Speicher des Systems 100 gespeichert werden. In einigen Implementierungen können die unetikettierten Verzerrungspaare 120 in einem Speicher gespeichert werden, der vom System 100 entfernt, aber für dieses zugänglich ist (z. B. über ein Netzwerk). Die Objekte in den unetikettierten Verzerrungspaaren 120 sind weitaus zahlreicher (z. B. um Größenordnungen) als die Objekte in den etikettierten Verzerrungspaaren 105. Die unetikettierten Verzerrungspaare 120 haben das gleiche Format oder die gleiche Struktur wie die etikettierten Verzerrungspaare 105, aber es fehlt ein entsprechender Wahrnehmungsverlustwert. Ein Wahrnehmungsverlustwert ist ein Maß dafür, wie schlecht oder wie auffällig die Verzerrung für einen menschlichen Betrachter ist. Die Bilder in den unetikettierten Verzerrungspaaren 120 können dynamisch sein. Mit anderen Worten, die Bilder in den unetikettierten Verzerrungspaaren 120 können sich häufig ändern, wobei neue Paare von der Artefaktmaschine 170 hinzugefügt werden. In einigen Implementierungen kann es einen konstanten Vorrat an unetikettierten Verzerrungspaaren 120 geben, die noch nicht für das Training der Komiteemitglieder verwendet wurden. In einigen Implementierungen kann die Artefaktmaschine 170 die unetikettierten Verzerrungspaare 120 in regelmäßigen Abständen erzeugen.
-
Die Module des aktiven Lernsystems 100 können auch eine Etikettierungs-Benutzerschnittstelle (UI) 130 enthalten. Die Etikettierungs-Benutzerschnittstelle 130 kann so konfiguriert sein, dass sie dem Benutzer ein oder mehrere unetikettierte Verzerrungspaare als Psychophysik-Aufgabe präsentiert. Bei einer Psychophysik-Aufgabe werden einer Versuchsperson Reize dargeboten und eine Reaktion aufgezeichnet. Psychophysik-Aufgaben sind so konzipiert, dass die Reaktion Aufschluss über die Wahrnehmungsqualität gibt. Beispielsweise kann die Etikettierungsschnittstelle 130 einen menschlichen Bewerter fragen, ob ein sichtbarer Unterschied zwischen den Bildern des Verzerrungspaares festgestellt wurde. Als ein weiteres Beispiel kann die Etikettierungsschnittstelle 130 dem menschlichen Bewerter drei Bilder präsentieren und ihn fragen, welches Bild das ungerade ist. Das System kann zum Beispiel eine qualitativ hochwertige Version des Basisbildes, eine qualitativ minderwertige Version des Basisbildes und das von der Artefaktmaschine 170 erzeugte verfälschte Basisbild bereitstellen. Mit dieser Art von Schnittstelle kann das System feststellen, ob das erzeugte Bild der hochwertigen oder der minderwertigen Version näher kommt. Die Etikettierungsschnittstelle 130 kann beliebige Psychophysik-Standardaufgaben und damit verbundene bewährte Verfahren für die Gestaltung der Aufgaben verwenden.
-
In einigen Implementierungen kann die Etikettierungs-UI 130 dasselbe unetikettierte Verzerrungspaar mehreren menschlichen Bewertern vorlegen und mehrere potenzielle Wahrnehmungsverlustbewertungen für das Verzerrungspaar erhalten. Das System 100 kann die potenziellen Wahrnehmungsverluste auf irgendeine Weise aggregieren, z. B. durch Mehrheitsabstimmung, Mittelwertbildung, Streichen von niedrig und hoch und anschließende Mittelwertbildung usw., um das Etikett 131 für das Verzerrungspaar zu erzeugen. Das Etikett131 ist eine Bewertung der Wahrnehmungsverluste, die angibt, wie der menschliche Bewerter die Qualität des verzerrten Bildes im Vergleich zum Originalbild einschätzt. Sobald das System 100 ein Etikett 131 für ein bestimmtes, unetikettiertes Verzerrungspaar 120 erhält, speichert das System das Verzerrungspaar in etikettierten Verzerrungspaaren 105. Die etikettierten Verzerrungspaare 105 können verwendet werden, um die Komiteemitglieder im Komitee für Wahrnehmungsverluste 150 zu initialisieren oder neu zu trainieren.
-
Das aktive Lernsystem 100 umfasst daher etikettierte Verzerrungspaare 105. Etikettierte Verzerrungspaare 105 können in einem Speicher gespeichert werden. In einigen Implementierungen können die etikettierten Verzerrungspaare 105 in einem Speicher gespeichert werden, der von dem System 100 entfernt, aber für dieses zugänglich ist (z. B. über ein Netzwerk). In einigen Implementierungen können die etikettierten Verzerrungspaare 105 im selben Speicher wie die unetikettierten Verzerrungspaare 120 gespeichert werden und sich von den unetikettierten Verzerrungspaaren 120 dadurch unterscheiden, dass die etikettierten Verzerrungspaare 105 einen zugehörigen Wahrnehmungsverlustwert haben, der den unetikettierten Verzerrungspaaren 120 fehlt. Die etikettierten Verzerrungspaare 105 stellen Eingabedatenpunkte für die tiefen neuronalen Netze dar, aus denen die Mitglieder des Wahrnehmungsverlustkomitees 150 bestehen. Die etikettierten Verzerrungspaare 105 repräsentieren ein Basisbild, z. B. aus Basisbildern 104, und eine Version des Basisbildes mit einer Verzerrung. Die Verzerrung wird durch eine Verfälschung des Basisbildes verursacht, z. B. durch ein Artefakt. In einigen Implementierungen wird das Basisbild 104 durch eine Artefaktmaschine 170 verfälscht, wie oben beschrieben.
-
In einigen Implementierungen können die etikettierten Verzerrungspaare 105 positive Trainingsbeispiele enthalten. Positive Trainingsbeispiele sind Datenpunkte, die dem tiefen neuronalen Netz mitteilen, dass das eingegebene Verzerrungspaar zu der metrischen Differenzbewertung führen sollte, die der menschliche Bewerter angegeben hat. In einigen Implementierungen können die etikettierten Verzerrungspaare 105 auch negative Trainingsbeispiele enthalten. In einigen Implementierungen können die etikettierten Verzerrungspaare 105 als ein Merkmalsvektor oder zwei Merkmalsvektoren dargestellt werden, die die zugrunde liegenden Bilder beschreiben. Ein Merkmalsvektor ist eine Reihe von Zahlen, in der Regel Gleitkommazahlen, wobei jede Position in der Reihe ein anderes Attribut oder Signal über das Objekt darstellt. So kann ein Merkmalsvektor zum Beispiel verschiedene Attribute der Bilddatei darstellen. Ein etikettiertes Verzerrungspaar kann aus einem Merkmalsvektor für das Basisbild und einem anderen Merkmalsvektor für das verzerrte Bild bestehen. Jedes bekannte oder später entwickelte Verfahren kann zur Erzeugung eines Merkmalsvektors für eine Bilddatei verwendet werden. Der hier verwendete Verweis auf die Verzerrungspaare kann sich auf die Bilddateien oder auf einen Merkmalsvektor oder auf ein anderes Signal oder einen Datenpunkt beziehen, der die Bilddateien repräsentiert.
-
Zu den Modulen des aktiven Lernsystems 100 gehört ein Trainingssatz-Generator 110. Der Trainingssatz-Generator 110 kann aus den etikettierten Verzerrungspaaren 105 verschiedene Trainingssätze von Daten erzeugen. Jeder Trainingssatz ist anders unterabgetastet und/oder neu gewichtet als die anderen Sätze. Wenn die etikettierten Verzerrungspaare 105 beispielsweise fünf etikettierte Verzerrungspaare umfassen, kann der Trainingssatz-Generator 110 einen ersten Trainingssatz mit nur drei der fünf etikettierten Verzerrungspaare erzeugen, einen zweiten Trainingssatz mit vier der fünf etikettierten Verzerrungspaare, wobei jedoch ein erstes etikettiertes Verzerrungspaar höher gewichtet wird (so dass das tiefe neuronale Netz dieses Beispiel stärker betont), und einen dritten Trainingssatz mit allen fünf Objekten erzeugen, wobei jedoch zwei der drei Objekte höher gewichtet werden, usw. Diese Technik ist als Bayes'sches Bootstrapping bekannt und wurde erstmals von Rubin in „The Bayesian Bootstrap“ (1981) beschrieben, das unter https://projecteuclid.org/euclid.aos/1176345338 verfügbar ist. Während Bayes'sches Bootstrapping bei anderen Problemen verwendet wurde, wurde es bei tiefen neuronalen Netzen, insbesondere beim aktiven Lernen, nicht eingesetzt.
-
Das aktive Lernsystem 100 umfasst auch ein Komitee für Wahrnehmungsverluste 150, der eine Vielzahl von Komiteemitgliedern umfasst. Jedes Komiteemitglied ist ein tiefes neuronales Netzwerk, z. B. tiefes neuronales Netzwerk 150_1, tiefes neuronales Netzwerk 150_2 oder tiefes neuronales Netzwerk 150 n, wobei n eine beliebige ganze Zahl größer als 3 darstellt. Da jedes Komiteemitglied zusätzliche Rechenressourcen verbraucht, gibt es ein Gleichgewicht zwischen dem Ressourcenverbrauch und den Gewinnen durch das Hinzufügen zusätzlicher Komiteemitglieder. Der Wert von n hängt von der Anwendung der Differenzmetrik und praktischen Überlegungen/verfügbaren Ressourcen ab. Im aktiven Lernsystem 100 wird jedes Komiteemitglied mit einem anderen Trainingssatz der vom Trainingssatzgenerator 110 erzeugten Trainingssätze initialisiert. Da sich jeder Trainingssatz von den anderen Trainingssätzen unterscheidet, wird jedes tiefe neuronale Netz (d. h. jedes Komiteemitglied) zunächst mit unterschiedlichen Annahmen trainiert. Das bedeutet, dass jedes Komiteemitglied bei der Bewertung der Wahrnehmungsverluste für ein Verzerrungspaar Fehler macht, aber die von den verschiedenen Mitgliedern gemachten Fehler sind unabhängig voneinander.
-
Die Module des aktiven Lernsystems 100 umfassen auch einen Etiketten-Evaluator 140. Nachdem die Komiteemitglieder im Wahrnehmungsverlust-Komitee 150 initialisiert worden sind, ist der Etiketten-Evaluator 140 so konfiguriert, dass er die vorhergesagte Wahrnehmungsverlust-Punktzahl von jedem der verschiedenen Komiteemitglieder im Wahrnehmungsverlust-Komitee 150 für ein bestimmtes unetikettiertes Verzerrungspaar erhält, z. B. von unetikettierten Verzerrungspaaren 120. Beispielsweise kann das System 100 nach der Initialisierung den Komiteemitgliedern im Komitee für Wahrnehmungsverluste 150 eine große Anzahl von unetikettierten Verzerrungspaaren 120 zur Verfügung stellen. Jedes Komiteemitglied liefert für jedes unetikettierte Verzerrungspaar einen Wahrnehmungsverlustwert als Ausgabe. Der Etiketten-Evaluator 140 kann die Diversität der Bewertungen auswerten, um festzustellen, ob die Vorhersagen für das unetikettierte Verzerrungspaar eine Diversitätsmetrik erfüllen. Die Diversitätsmetrik misst, wie groß die Varianz in den Bewertungen ist. In einigen Implementierungen erfüllen alle unetikettierten Verzerrungspaare, die einen bestimmten Schwellenwert erreichen, die Diversitätsmetrik. In einigen Implementierungen erfüllt eine bestimmte Anzahl von unetikettierten Verzerrungspaaren mit der höchsten Diversität die Diversitätsmetrik (z. B. zehn Verzerrungspaare mit der höchsten Diversität). In einigen Implementierungen kann die Diversitätsmetrik die Differenzmetrikwerte darstellen, für die die Parameter unter dem Posteriorwert am meisten über das Ergebnis abweichen. In einigen Implementierungen kann der Etiketten-Evaluator 140 ein Bayesian Active Learning by Disagreement (BALD)-Kriterium als Diversitätsmetrik verwenden. Das BALD-Kriterium wird von Houlsby et al. in „Bayesian Active Learning for Classification and Preference Learning“ (2011) beschrieben, verfügbar unter
https://pdfs.semanticscholar.org/7486/e148260329785fb347ac6725bd4123d8dad6.pdf. In einigen Implementierungen kann der Etiketten-Evaluator 140 eine Maximum-Entropie-Suche verwenden, bei der die Verzerrungspaare mit der höchsten Unsicherheit abgefragt werden. In einigen Implementierungen kann der Etiketten-Evaluator 140 eine „Vote-Diversity“ verwenden, bei der jeder Klassifikator ein Votum darüber abgibt, wie hoch der Verlustwert sein wird, und der Etiketten-Evaluator 140 wählt Verzerrungspaare aus, deren Durchschnitt nahe bei 0,5 liegt (was z. B. ein hohes Maß an Uneinigkeit bedeutet). Dieses Verfahren hat die gleichen Probleme wie die Maximum-Entropie-Suche, aber da sie ein gewisses Rauschen einführt, kann sie in der Praxis besser erforscht werden.
-
Der Etiketten-Evaluator 140 kann alle unetikettierten Verzerrungspaare, die die Diversitätsmetrik erfüllen, als informative Verzerrungspaare 115 identifizieren. Die Identifizierung kann auf beliebige Weise erfolgen, z. B. durch Setzen eines Etiketts oder Attributs für das unetikettierte Verzerrungspaar, durch Speichern des unetikettierten Verzerrungspaars oder einer Kennung für das unetikettierte Verzerrungspaar in einem Datenspeicher usw.
-
Das aktive Lernsystem 100 kann die Etikettierungsschnittstelle 130 verwenden, um Etikettierungen, z. B. Wahrnehmungsverlustwerte, für die informativen Verzerrungspaare 115 zu erhalten. Die Etikettierungsschnittstelle 130 arbeitet auf die gleiche Weise, z. B. mit Psychophysik-Aufgaben, um die Etikettierung für die informativen Verzerrungspaare 115 zu erhalten, wie oben beschrieben. Sobald das informative Objekt über die Etikettierungsschnittstelle 130 ein Etikett 131 erhält, kann das informative Verzerrungspaar in den etikettierten Verzerrungspaaren 105 gespeichert und zum erneuten Trainieren der Komiteemitglieder im Wahrnehmungsverlustkomitee 150 verwendet werden. Mit anderen Worten, das System 100 kann einen iterativen Trainingsprozess durchlaufen, bei dem neu etikettierte Verzerrungspaare für das weitere Training des Komitees für Wahrnehmungsverluste bereitgestellt werden, unetikettierte Verzerrungspaare dem neu trainierten Komitee für Wahrnehmungsverluste zur Verfügung gestellt werden, um zusätzliche informative Verzerrungspaare zu identifizieren, die zusätzlichen informativen Verzerrungspaare etikettiert werden und dann verwendet werden, um die Komiteemitglieder neu zu trainieren. In einigen Implementierungen können diese Iterationen über eine bestimmte Anzahl von Runden erfolgen. In einigen Implementierungen können die Iterationen so lange durchgeführt werden, bis die Punktzahlen für die tiefen neuronalen Netze konvergieren. Mit anderen Worten: Nach mehreren Umschulungsrunden sind die Ergebnisse der Komiteemitglieder möglicherweise nicht mehr ausreichend unterschiedlich. Dies zeigt an, dass Konvergenz erreicht ist, und jedes der tiefen neuronalen Netze, z. B. 150_1 bis 150_n, kann als gelernte Differenzmetrik 180 verwendet werden. Das System kann die gelernte Differenzmetrik 180 an Bildverarbeitungssysteme weitergeben, die maschinelles Lernen verwenden. Die Differenzmetrik kann die Zielfunktion sein, die die maschinelle Lernaufgabe zu optimieren versucht (z. B. versucht sie, eine Punktzahl zu erreichen, die auf eine hohe Qualität hinweist).
-
Obwohl in 1 nicht dargestellt, kann das aktive Lernsystem 100 über ein Netzwerk mit einem oder mehreren Clients in Verbindung stehen. Die Clients können es einem menschlichen Bewerter ermöglichen, dem aktiven Lernsystem 100 das Etikett 131 über die Etikettierungs-UI 130 zu übermitteln. Die Clients können es auch einem Administrator ermöglichen, dem aktiven Lernsystem 100 Parameter zur Verfügung zu stellen. Clients können es einem Administrator auch ermöglichen, den Zeitplan zu steuern, z. B. eine weitere Runde der Umschulung zu starten, nachdem menschliche Bewerter Etiketten für einige oder alle ausstehenden informativen Verzerrungspaare 115 geliefert haben, der Artefaktmaschine 170 Parameter zur Verfügung zu stellen oder eine Runde der Inferenz zu starten, bei der Komiteemitglieder Ausgaben liefern und das System zusätzliche informative Verzerrungspaare identifiziert. Clients können es einem Administrator auch ermöglichen, zusätzliche Standorte von unetikettierten Verzerrungspaaren 120 bereitzustellen. Bei dem Netzwerk kann es sich beispielsweise um das Internet oder um ein drahtgebundenes oder drahtloses lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN) usw. handeln, das beispielsweise mit Hilfe von Gateway-Geräten, Bridges, Switches usw. implementiert wird. In einigen Implementierungen kann das aktive Lernsystem 100 mit anderen Computergeräten kommunizieren oder diese einschließen, die Aktualisierungen für die unetikettierten Verzerrungspaare 120 oder für die etikettierten Verzerrungspaare 105 bereitstellen. In einigen Implementierungen kann das aktive Lernsystem 100 mit anderen Computergeräten kommunizieren oder diese enthalten, die eines oder mehrere der Paare speichern, z. B. etikettierte Verzerrungspaare 105, unetikettierte Verzerrungspaare 120 oder informative Verzerrungspaare 115. Das aktive Lernsystem 100 stellt eine Beispielkonfiguration dar, andere Konfigurationen sind möglich. Darüber hinaus können die Komponenten des Systems 100 auf eine andere Weise kombiniert oder verteilt werden als dargestellt. Zum Beispiel können in einigen Implementierungen ein oder mehrere Komponenten des Trainingssatz-Generators 110, des Etiketten-Evaluators 140, der Etikettierungs-UI 130 und der Artefaktmaschine 170 in einem einzigen Modul oder einer einzigen Maschine kombiniert werden. Darüber hinaus können Komponenten oder Funktionen des Trainingssatz-Generators 110, des Etiketten-Evaluators 140, der Etikettierungs-UI 130 und der Artefaktmaschine 170 auf zwei oder mehr Module oder Maschinen verteilt werden.
-
2 zeigt ein Beispielsystem für die Verwendung der Differenzmetrik in Übereinstimmung mit dem offengelegten Gegenstand. Bei dem Bildverarbeitungssystem 200 kann es sich um ein Computergerät oder um Geräte handeln, die die Form einer Reihe verschiedener Geräte annehmen, z. B. einen Standardserver, eine Gruppe solcher Server oder ein Rack-Server-System. Darüber hinaus kann das Bildverarbeitungssystem 200 in einem Personal Computer, z. B. einem Laptop, implementiert sein. Das Bildverarbeitungssystem 200 kann ein Beispiel für eine Computervorrichtung 600 sein, wie in 6 dargestellt.
-
Das Bildverarbeitungssystem 200 kann einen oder mehrere Prozessoren 202 enthalten, die in einem Substrat ausgebildet sind und so konfiguriert sind, dass sie eine oder mehrere maschinenausführbare Anweisungen oder Software, Firmware oder eine Kombination davon ausführen. Die Prozessoren 202 können auf Halbleitern basieren, d. h., die Prozessoren können Halbleitermaterial enthalten, das digitale Logik ausführen kann. Das Bildverarbeitungssystem 200 kann auch ein Betriebssystem und einen oder mehrere Computerspeicher, z. B. einen Hauptspeicher, enthalten, die so konfiguriert sind, dass sie ein oder mehrere Daten entweder vorübergehend, dauerhaft, semipermanent oder eine Kombination davon speichern. Der Speicher kann jede Art von Speichergerät umfassen, das Informationen in einem Format speichert, das von dem einen oder den mehreren Prozessoren gelesen und/oder ausgeführt werden kann. Der Speicher kann einen flüchtigen Speicher, einen nichtflüchtigen Speicher oder eine Kombination davon enthalten und Module speichern, die bei Ausführung durch den einen oder die mehreren Prozessoren bestimmte Operationen durchführen. In einigen Implementierungen können die Module in einem externen Speichergerät gespeichert und in den Speicher des Systems 200 geladen werden.
-
Das Bildverarbeitungssystem 200 umfasst Basisbilder 204. Die Basisbilder 204 stellen die ursprünglichen Bilddaten dar, oder mit anderen Worten die Eingangsdaten für das Bildverarbeitungsmodell 220. Die Basisbilder 204 werden in einem Speicher gespeichert. Die Basisbilder 204 können in einem lokalen Speicher des Bildverarbeitungssystems 200 oder in einem vom Bildverarbeitungssystem 200 entfernten, aber für dieses zugänglichen Speicher (z. B. über ein Netzwerk) gespeichert sein. Die Basisbilder 104 können in einem beliebigen Bilddateiformat vorliegen und ein Einzelbild eines Videos enthalten. In einigen Implementierungen können die Basisbilder 204 die gleichen Bilder wie die Basisbilder 104 sein.
-
Die Module des Bildverarbeitungssystems 200 umfassen ein Bildverarbeitungsmodell 220. Das Bildverarbeitungsmodell 220 repräsentiert eine vom Bildverarbeitungssystem 200 durchgeführte Bildaufgabe, wie z. B. Komprimierung, Bildverbesserung usw.. Das Bildverarbeitungsmodell 220 nimmt als Eingabe ein Bild, z. B. ein Basisbild aus den Basisbildern 204, und liefert als Ausgabe ein modifiziertes Bild. Bei dem Bildverarbeitungsmodell 220 kann es sich um ein lineares Regressionsmodell, ein neuronales Netz, ein tiefes neuronales Netz, eine Support-Vektor-Maschine, einen Random Forest, einen Decision Tree/Forest, einen Random Fern, eine Hash-Map, ein Modell mit k nächsten Nachbarn, Gaußsche Prozesse usw. handeln. Während des Trainings des Bildverarbeitungsmodells 220 kann das Bildverarbeitungssystem 200 die Ausgabe des Bildverarbeitungsmodells 220 gegenüber dem Basisbild unter Verwendung der Differenzmetrik 180 auswerten. Wenn es sich bei dem Bildverarbeitungsmodell 220 beispielsweise um ein Bildkompressionsmodell handelt, kann das System 200 das komprimierte Bild mit seinem entsprechenden Basisbild unter Verwendung der Differenzmetrik 180 auswerten. Zum Beispiel können das komprimierte Bild und das Basisbild ein verarbeitetes Bildpaar 210 sein, das als Eingabe in die Differenzmetrik 180 bereitgestellt wird. Die Differenzmetrik 180 liefert eine Ausgabe, z. B. einen Wahrnehmungsverlustwert, der dem Bildverarbeitungsmodell 220 hilft zu erkennen, ob das Kompressionsverfahren besser oder schlechter als ein anderes Kompressionsverfahren war. Dies geschieht viele Male und hilft dem Bildverarbeitungsmodell 220, das beste Kompressionsverfahren und die besten Parameter für dieses Verfahren zu finden. Das Bildverarbeitungssystem 200 kann kommunikativ mit dem aktiven Lernsystem 100 verbunden sein und kann regelmäßig eine aktualisierte Differenzmetrik 180 erhalten. Zum Beispiel kann das aktive Lernsystem 100 das Komitee weiterhin auf zusätzliche Artefakträume trainieren und so die Differenzmetrik verbessern. Solche Verbesserungen können in Form einer aktualisierten Differenzmetrik 180 bereitgestellt werden.
-
3 zeigt ein Flussdiagramm eines Beispielprozesses 300 für die Verwendung einer Differenzmetrik unter Verwendung von Psychophysik-Aufgaben, in Übereinstimmung mit dem offengelegten Gegenstand. Der Prozess 300 kann von einem aktiven Lernsystem, wie z. B. dem System 100 von 1, und/oder einem Bildverarbeitungssystem, wie z. B. dem System 200 von 2, durchgeführt werden. Der Prozess 300 kann damit beginnen, dass das aktive Lernsystem ein Komitee mit einer Vielzahl von Komiteemitgliedern (305) initialisiert. Jedes der Komiteemitglieder ist ein tiefes neuronales Netzwerk. Jedes der Komiteemitglieder wird auf einem anderen Satz von etikettierten Verzerrungspaaren trainiert. Die Sätze können durch Bayes'sches Bootstrapping bestimmt werden. Ein etikettiertes Verzerrungspaar stellt ein Basisbild und ein modifiziertes Basisbild dar, wobei die Modifikation eine Verzerrung in einem Artefaktraum ist. Bei dem Paar kann es sich um die Bilddaten oder einen Vektor handeln, der die Bilddaten darstellt. Die Anzahl der Komiteemitglieder kann groß sein, z. B. 100 oder mehr. Sobald das Komitee initialisiert ist, kann das aktive Lernsystem iterative Runden des aktiven Trainings durchführen, wobei Psychophysik-Aufgaben verwendet werden, um neue Trainingsdaten für jede Iteration zu erhalten (310). Eine Trainingsrunde umfasst die Verwendung der Komiteemitglieder zur Identifizierung von Verzerrungspaaren mit hoher Diversität in den von den verschiedenen Komiteemitgliedern gelieferten Wahrnehmungsverlustwerten, die Gewinnung von Etiketten für die informativen Verzerrungspaare über Psychophysik-Aufgaben und das erneute Training der Komiteemitglieder mit den neu etikettierten Paaren. Sobald die Differenzmetrik gelernt ist, kann sie als Zielfunktion in einer auf maschinellem Lernen basierenden Bildverarbeitungsaufgabe verwendet werden (315). Darüber hinaus kann das aktive Lernsystem das Lernen fortsetzen, oder mit anderen Worten, die Differenzmetrik erweitern. In einigen Implementierungen kann das System neue Artefakträume erkunden (320, Ja). In solchen Implementierungen kann das System unetikettierte Verzerrungspaare auf der Grundlage des neuen Artefaktraums erzeugen (325). Auf diese Weise kann das System systematisch alle Artefakträume untersuchen. In einigen Implementierungen kann das System einfach damit fortfahren, Zufallsverzerrungen für unetikettierte Verzerrungspaare zu erzeugen, die nicht auf einen Artefaktraum beschränkt sein müssen. Bei der Erkundung von Artefakträumen wird das oben beschriebene Bayes'sche Bootstrapping und Feedback verwendet.
-
4 zeigt ein Flussdiagramm eines Beispielprozesses 400 für die Initialisierung eines Komitees von tiefen neuronalen Netzen zum Trainieren der Differenzmetrik in Übereinstimmung mit dem offengelegten Gegenstand. Der Prozess 400 kann von einem aktiven Lernsystem, wie z. B. dem System 100 von 1, als Teil von Schritt 305 von 3 durchgeführt werden. Der Prozess 400 kann damit beginnen, dass das aktive Lernsystem Verzerrungspaare (405) erzeugt. Ein Verzerrungspaar ist ein Basisbild und ein Bild, das eine Verzerrung des Basisbildes enthält. Das zweite Bild wird als ein verzerrtes Bild bezeichnet. Die Verzerrung ist eine Veränderung der Bilddaten, die durch Anwendung eines Artefakts auf das Basisbild erzeugt wird. In einigen Implementierungen kann das System versuchen, Artefakte anzuwenden, die ein Maximum an Informationen für die Differenzmetrik liefern; mit anderen Worten, das Ziel des Systems ist es, Stimuli (Artefakte) adaptiv auszuwählen, um eine Genauigkeit in der gelernten Differenzmetrik mit weniger Versuchen als bei einer zufälligen Artefaktauswahl zu erreichen. So kann das System einen Artefaktraum auf der Grundlage früherer Trainingsrunden auswählen, z. B. für einen anderen Artefaktraum. Übliche Beispiele für Artefakte sind Unschärfe, additives weißes Rauschen, Blockbildung usw., aber ein Artefakt kann jede Veränderung der zugrunde liegenden Bilddaten sein. Das System kann von einem menschlichen Bewerter (oder mehreren Bewertern) für jedes der Verzerrungspaare (410) eine Differenzmetrik erhalten. Das System kann Standard-Psychophysik-Aufgaben verwenden, um die metrische Differenzbewertung zu erhalten. Die Psychophysik-Aufgaben sind so konzipiert, dass sie eine Reaktion hervorrufen, die Aufschluss über die Wahrnehmungsqualität zwischen den Bildpaaren gibt. Die Verzerrungspaare, die von einem menschlichen Bewerter eine Bewertung für den Wahrnehmungsverlust erhalten, sind ein etikettiertes Verzerrungspaar.
-
Das System kann eine Vielzahl von Trainingssätzen aus den etikettierten Verzerrungspaaren (415) erzeugen. Jeder der mehreren Trainingssätze unterscheidet sich von den anderen Trainingssätzen in der Vielzahl der Trainingssätze. Die Unterschiede können auf eine Unterabtastung zurückzuführen sein. Zum Beispiel können verschiedene Trainingssätze verschiedene Verzerrungspaare aus den etikettierten Verzerrungspaaren enthalten. Die Unterschiede können auf eine Neugewichtung zurückzuführen sein. Beispielsweise kann ein Trainingssatz ein etikettiertes Verzerrungspaar aus den etikettierten Verzerrungspaaren höher oder niedriger gewichten, so dass das tiefe neuronale Netz diesem etikettierten Verzerrungspaar während der Initialisierung mehr Gewicht (höheres Gewicht) oder weniger Gewicht (niedrigeres Gewicht) gibt. Die Unterschiede können auf eine Kombination aus Unterabtastung und Neugewichtung zurückzuführen sein. Die Unterabtastung kann randomisiert sein. Die Neugewichtung kann nach dem Zufallsprinzip erfolgen. In einigen Implementierungen können die Trainingssätze durch Bayes'sches Bootstrapping erzeugt werden.
-
Das System kann jedem Komiteemitglied ein eigener Trainingssatz (420) zur Verfügung stellen. Somit erhalten keine zwei Komiteemitglieder denselben Trainingssatz. Das bedeutet, dass die Komiteemitglieder nach der Initialisierung unterschiedliche Fehler in der Ausgabe machen werden, die Fehler aber zufällig sind. Das System kann dann die Komiteemitglieder anhand ihres jeweiligen Trainingssatzes trainieren (425). Sobald das Training abgeschlossen ist, endet der Prozess 400 und das System hat das Komitee initialisiert. Die Mitglieder des Komitees können verwendet werden, um zusätzliche Verzerrungspaare für das Etikett zu identifizieren, d. h. informative Verzerrungspaare. Die Mitglieder des Komitees können erneut auf etikettierte informative Verzerrungspaare trainiert werden, wie in 5 beschrieben.
-
5 zeigt ein Flussdiagramm eines Beispielprozesses 500 für das iterative Lernen einer Differenzmetrik unter Verwendung von Psychophysik-Aufgaben, in Übereinstimmung mit dem offengelegten Gegenstand. Der Prozess 500 kann von einem aktiven Lernsystem, wie dem System 100 von 1, als Teil von Schritt 310 von 3 durchgeführt werden. Der Prozess 500 kann damit beginnen, dass das aktive Lernsystem jedem der Komiteemitglieder (510) ein unetikettiertes Verzerrungspaar als Eingabe zur Verfügung stellt. Jedes Komiteemitglied liefert einen vorhergesagten Wahrnehmungsverlustwert (515).
-
Das aktive Lernsystem bestimmt, ob die von den verschiedenen Komiteemitgliedern vorhergesagten Wahrnehmungsverluste einer Diversitätsmetrik entsprechen (520). Die Diversitätsmetrik misst, wie viel Varianz zwischen den Bewertungen für dieses Verzerrungspaar besteht. Eine hohe Varianz weist darauf hin, dass das unetikettierte Verzerrungspaar informativ ist. Mit anderen Worten, die Komiteemitglieder sind nicht gut darin, den Wahrnehmungsverlustwert für dieses Paar vorherzusagen, und wenn ein menschlicher Bewerter das Paar mit einem Wahrnehmungsverlustwert kennzeichnet, können die tiefen neuronalen Netze den richtigen Wert schneller erlernen. In einigen Implementierungen wird das BALD-Kriterium verwendet, um zu bestimmen, ob die Punktzahlen die Diversitätsmetrik erfüllen. In einigen Implementierungen erfüllen die Werte die Diversitätsmetrik, wenn die Varianz der Werte für das unetikettierte Verzerrungspaar einen Varianzschwellenwert erreicht oder überschreitet. In einigen Implementierungen erfüllen die Werte die Diversitätsmetrik, wenn das unetikettierte Verzerrungspaar zu einer bestimmten Menge von Paaren mit der höchsten Diversität gehört, z. B. zu den 10 höchsten Paaren.
-
Erfüllen die Werte die Diversitätsmetrik (520, Ja), speichert oder kennzeichnet das System das unetikettierte Verzerrungspaar als informatives Verzerrungspaar (525). Das System kann die Schritte 510-525 mit einer Anzahl verschiedener unetikettierter Verzerrungspaare wiederholen (530, Ja). Die Anzahl kann die Gesamtheit der Verzerrungspaare in einem unetikettierten Datenspeicher (z. B. die unetikettierten Verzerrungspaare 120 von 1) oder eine Teilmenge der Verzerrungspaare im unetikettierten Datenspeicher darstellen. In einigen Implementierungen kann eine Artefakterzeugungsmaschine die unetikettierten Verzerrungspaare erzeugen. Sobald das System eine gewisse Anzahl von unetikettierten Verzerrungspaaren durch das Komitee laufen lässt (530, Nein), kann das System entscheiden, ob es fortfahren soll oder nicht (535). In einigen Ausführungsformen kann das System fortfahren (535, Ja), bis das System eine vorbestimmte Anzahl von Iterationen der Schritte 510 bis 545 durchgeführt hat. In einigen Implementierungen kann das System die Iterationen fortsetzen, bis Konvergenz erreicht ist. Die Konvergenz kann auf der Grundlage der Anzahl der identifizierten informativen Verzerrungspaare erreicht werden. Wenn zum Beispiel in der letzten Iteration keine informativen Verzerrungspaare identifiziert werden, kann das System Konvergenz erreicht haben. Ein anderes Beispiel: Konvergenz kann erreicht sein, wenn in der letzten Iteration nur wenige (weniger als eine bestimmte Anzahl) informativer Verzerrungspaare identifiziert wurden. Ein weiteres Beispiel: Konvergenz kann erreicht sein, wenn die durch die Punktzahlen für die informativen Verzerrungspaare dargestellte Divergenz eine Diversitätsschwelle nicht erreicht. Wird die Konvergenz nicht erreicht, kann das System mit weiteren Iterationen fortfahren.
-
Wenn das System fortfährt (535, Ja), kann es für jedes in der Iteration identifizierte informative Verzerrungspaar ein Etikett von einem menschlichen Bewerter erhalten (540). Der menschliche Bewerter kann ein Etikett über eine Benutzerschnittstelle bereitstellen, die dem Bewerter Informationen über das informative Verzerrungspaar in einer Psychophysik-Aufgabe präsentiert, der dann einen Wahrnehmungsverlustwert für das Paar bereitstellt. In einigen Implementierungen können die Informationen über ein bestimmtes informatives Verzerrungspaar mehreren menschlichen Bewertern vorgelegt werden, und das System kann die Etiketten auf irgendeine Weise aggregieren (z. B. durch Abstimmung, Mittelwertbildung, gewichtete Mittelwertbildung, Standardabweichung usw.). Die Etikettierung informativer Verzerrungspaare kann über mehrere Tage erfolgen. Wenn die Etikettierungen vorliegen, kann das System die neu etikettierten Verzerrungspaare zum erneuten Training der einzelnen Komiteemitglieder bereitstellen (545). Nach dem erneuten Training kann das System eine weitere Iteration starten, um festzustellen, ob Konvergenz oder die Anzahl der Iterationen erreicht ist. Sobald die Konvergenz oder die Anzahl der Iterationen erreicht ist (535, Ja), endet der Prozess 500. Zu diesem Zeitpunkt hat das aktive Lernsystem eine starke Differenzmetrik erlernt, die von einem beliebigen Komiteemitglied repräsentiert werden kann.
-
6 zeigt eine schematische Darstellung einer Maschine in der beispielhaften Form eines Computergeräts 600, in dem ein Satz von Anweisungen ausgeführt werden kann, um die Maschine zu veranlassen, eine oder mehrere der hier erörterten Verfahren durchzuführen. Bei dem Computergerät 600 kann es sich um ein Mobiltelefon, ein Smartphone, einen Netbook-Computer, einen Rackmount-Server, einen Router-Computer, einen Server-Computer, einen Personal-Computer, einen Großrechner, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer usw. handeln, in dem ein Satz von Anweisungen ausgeführt werden kann, um die Maschine zu veranlassen, eine oder mehrere der hier erörterten Verfahren auszuführen. In einer Implementierung kann die Rechenvorrichtung 600 einem Benutzer eine Überlagerungs-UI präsentieren (wie oben beschrieben). In alternativen Implementierungen kann die Maschine mit anderen Maschinen in einem LAN, einem Intranet, einem Extranet oder dem Internet verbunden (z. B. vernetzt) sein. Die Maschine kann in der Funktion eines Servers in einer Client-Server-Netzwerkumgebung arbeiten. Bei der Maschine kann es sich um einen Personal Computer (PC), eine Set-Top-Box (STB), einen Server, einen Netzwerk-Router, einen Switch oder eine Bridge oder ein beliebiges Gerät handeln, das in der Lage ist, eine Reihe von Anweisungen (sequentiell oder anderweitig) auszuführen, die die von dieser Maschine auszuführenden Aktionen spezifizieren. Auch wenn nur eine einzige Maschine abgebildet ist, umfasst der Begriff „Maschine“ auch eine beliebige Sammlung von Geräten, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen ausführen, um eine oder mehrere der hier erörterten Verfahren durchzuführen.
-
Die Beispiel-Computervorrichtung 600 umfasst eine Verarbeitungsvorrichtung (z. B. einen Prozessor) 602, einen Hauptspeicher 604 (z. B. Festwertspeicher (ROM), Flash-Speicher, dynamischer Direktzugriffsspeicher (DRAM) wie synchroner DRAM (SDRAM)), einen statischen Speicher 606 (z. B. Flash-Speicher, statischer Direktzugriffsspeicher (SRAM)) und eine Datenspeichereinrichtung 618, die über einen Bus 630 miteinander kommunizieren.
-
Die Verarbeitungsvorrichtung 602 ist eine oder mehrere Allzweckverarbeitungsvorrichtungen wie ein Mikroprozessor, eine Zentraleinheit oder ähnliches. Insbesondere kann die Verarbeitungsvorrichtung 602 ein CISC-Mikroprozessor (Complex Instruction Set Computing), ein RISC-Mikroprozessor (Reduced Instruction Set Computing), ein VLIW-Mikroprozessor (Very Long Instruction Word) oder ein Prozessor sein, der andere Befehlssätze oder eine Kombination von Befehlssätzen implementiert. Bei der Verarbeitungsvorrichtung 602 kann es sich auch um eine oder mehrere spezielle Verarbeitungsvorrichtungen handeln, wie z. B. eine anwendungsspezifische integrierte Schaltung (ASIC), ein Field Programmable Gate Array (FPGA), ein digitaler Signalprozessor (DSP), ein Netzwerkprozessor oder Ähnliches. Die Verarbeitungsvorrichtung 602 ist so konfiguriert, dass sie Befehle 626 (z. B. Befehle für ein Anwendungsbewertungssystem) zur Durchführung der hier besprochenen Vorgänge und Schritte ausführt.
-
Das Computergerät 600 kann außerdem eine Netzwerkschnittstelle 608 enthalten, die mit einem Netzwerk 620 kommunizieren kann. Das Computergerät 600 kann auch eine Videoanzeigeeinheit 610 (z. B. eine Flüssigkristallanzeige (LCD) oder eine Kathodenstrahlröhre (CRT)), eine alphanumerische Eingabevorrichtung 612 (z. B. eine Tastatur), eine Cursorsteuerungsvorrichtung 614 (z. B. eine Maus) und eine Signalerzeugungsvorrichtung 616 (z. B. einen Lautsprecher) umfassen. In einer Implementierung können die Videoanzeigeeinheit 610, die alphanumerische Eingabevorrichtung 612 und die Cursorsteuerungsvorrichtung 614 zu einer einzigen Komponente oder Vorrichtung (z. B. einem LCD-Touchscreen) kombiniert werden.
-
Die Datenspeichervorrichtung 618 kann ein computerlesbares Speichermedium 628 enthalten, auf dem ein oder mehrere Sätze von Anweisungen 626 (z. B. Anweisungen für das Anwendungsbewertungssystem) gespeichert sind, die eine oder mehrere der hierin beschriebenen Verfahren oder Funktionen verkörpern. Die Anweisungen 626 können sich auch vollständig oder zumindest teilweise im Hauptspeicher 604 und/oder in der Verarbeitungsvorrichtung 602 befinden, während sie vom Computergerät 600 ausgeführt werden, wobei der Hauptspeicher 604 und die Verarbeitungsvorrichtung 602 ebenfalls computerlesbare Medien darstellen. Die Anweisungen können ferner über ein Netzwerk 620 über die Netzwerkschnittstellenvorrichtung 608 übertragen oder empfangen werden.
-
Während das computerlesbare Speichermedium 628 in einer Beispielimplementierung als einzelnes Medium dargestellt ist, sollte der Begriff „computerlesbares Speichermedium“ so verstanden werden, dass er ein einzelnes Medium oder mehrere Medien (z. B. eine zentralisierte oder verteilte Datenbank und/oder zugehörige Caches und Server) umfasst, die den einen oder mehrere Befehlssätze speichern. Der Begriff „computerlesbares Speichermedium“ soll auch jedes Medium umfassen, das in der Lage ist, einen Satz von Anweisungen zur Ausführung durch die Maschine zu speichern, zu kodieren oder zu tragen, und das die Maschine veranlasst, eine oder mehrere der Verfahren der vorliegenden Offenbarung durchzuführen. Der Begriff „computerlesbares Speichermedium“ schließt dementsprechend Festkörperspeicher, optische Medien und magnetische Medien ein, ist aber nicht darauf beschränkt. Der Begriff „computerlesbares Speichermedium“ schließt keine transitorischen Signale ein.
-
In der obigen Beschreibung sind zahlreiche Details aufgeführt. Einem Fachmann, der mit den Vorteilen dieser Offenbarung vertraut ist, wird jedoch klar sein, dass Implementierungen der Offenbarung auch ohne diese spezifischen Details durchgeführt werden können. Darüber hinaus sind Implementierungen nicht auf die exakte Reihenfolge einiger Operationen beschränkt, und es versteht sich, dass einige Operationen, die als zwei Schritte dargestellt sind, kombiniert werden können und einige Operationen, die als ein Schritt dargestellt sind, aufgeteilt werden können. In einigen Fällen werden bekannte Strukturen und Geräte in Form von Blockdiagrammen und nicht im Detail dargestellt, um die Beschreibung nicht zu verkomplizieren.
-
Einige Teile der detaillierten Beschreibung werden in Form von Algorithmen und symbolischen Darstellungen von Operationen an Datenbits in einem Computerspeicher dargestellt. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die von Fachleuten der Datenverarbeitung verwendet werden, um anderen Fachleuten den Inhalt ihrer Arbeit am effektivsten zu vermitteln. Ein Algorithmus wird hier und im Allgemeinen als eine in sich konsistente Abfolge von Schritten verstanden, die zu einem gewünschten Ergebnis führen. Bei den Schritten handelt es sich um solche, die physikalische Manipulationen von physikalischen Größen erfordern. Normalerweise, wenn auch nicht notwendigerweise, haben diese Größen die Form von elektrischen oder magnetischen Signalen, die gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert werden können. Zuweilen hat es sich als zweckmäßig erwiesen, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder Ähnliches zu bezeichnen, hauptsächlich aus Gründen des allgemeinen Sprachgebrauchs.
-
Es sollte jedoch bedacht werden, dass alle diese und ähnliche Begriffe mit den entsprechenden physikalischen Größen in Verbindung gebracht werden müssen und lediglich praktische Bezeichnungen für diese Größen sind. Sofern nicht ausdrücklich anders angegeben und aus der obigen Diskussion ersichtlich, wird davon ausgegangen, dass sich Diskussionen, die Begriffe wie „Identifizieren“, „Bestimmen“, „Berechnen“, „Aktualisieren“, „Übertragen“, „Empfangen“, „Erzeugen“, „Ändern“ oder ähnliches verwenden, auf die Aktionen und Prozesse eines Computersystems oder eines ähnlichen elektronischen Computergeräts beziehen, das Daten, die als physikalische (z. B. elektronische) Größen in den Registern und Speichern des Computersystems in andere Daten umwandeln, die in ähnlicher Weise als physikalische Größen in den Speichern oder Registern des Computersystems oder in anderen derartigen Geräten zur Speicherung, Übertragung oder Anzeige von Informationen dargestellt werden.
-
Implementierungen der Offenbarung beziehen sich auch auf ein Gerät zur Durchführung der hier beschriebenen Vorgänge. Diese Vorrichtung kann speziell für die geforderten Zwecke konstruiert sein, oder sie kann einen Allzweckcomputer umfassen, der durch ein im Computer gespeichertes Computerprogramm selektiv aktiviert oder rekonfiguriert wird. Ein solches Computerprogramm kann in einem nicht transitorischen, computerlesbaren Speichermedium gespeichert sein, wie z. B., aber nicht beschränkt auf jede Art einer Disk, einschließlich Disketten, optische Disks, CD-ROMs und magnetisch-optische Disks, Festwertspeicher (ROMs), Direktzugriffsspeicher (RAMs), EPROMs, EEPROMs, magnetische oder optische Karten, Flash-Speicher oder jede Art von Medien, die zur Speicherung elektronischer Anweisungen geeignet sind.
-
Die Worte „Beispiel“ oder „beispielhaft“ werden hier verwendet, um als Beispiel, Instanz oder Illustration zu dienen. Jeder hierin als „Beispiel“ oder „beispielhaft“ beschriebene Aspekt oder Entwurf ist nicht unbedingt als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Entwürfen zu verstehen. Vielmehr soll die Verwendung der Worte „Beispiel“ oder „beispielhaft“ dazu dienen, Konzepte in einer konkreten Weise darzustellen. Wie in dieser Anmeldung verwendet, soll der Begriff „oder“ eher ein einschließendes „oder“ bedeuten als ein ausschließendes „oder“. Das heißt, sofern nicht anders angegeben oder aus dem Kontext ersichtlich, ist mit „X schließt A oder B ein“ jede der natürlichen, einschließenden Permutationen gemeint. Das heißt, wenn X A einschließt, X B einschließt oder X sowohl A als auch B einschließt, dann ist „X schließt A oder B ein“ in jedem der vorgenannten Fälle erfüllt. Darüber hinaus sollten die Artikel „ein/eine/eines“, wie sie in dieser Anmeldung und den beigefügten Ansprüchen verwendet werden, im Allgemeinen so ausgelegt werden, dass sie „ein oder mehrere“ bedeuten, es sei denn, es ist etwas anderes angegeben oder aus dem Kontext geht eindeutig hervor, dass sie sich auf eine Singularform beziehen. Darüber hinaus ist die Verwendung des Begriffs „eine Implementierung“ oder „eine einzelne Ausführungsform“ oder „eine Implementierung“ oder „eine einzelne Implementierung“ nicht gleichbedeutend mit ein und derselben Ausführungsform oder Implementierung, es sei denn, sie wird als solche beschrieben. Darüber hinaus sind die hier verwendeten Begriffe „erstes“, „zweites“, „drittes“, „viertes“ usw. als Kennzeichen zur Unterscheidung zwischen verschiedenen Elementen zu verstehen und haben nicht unbedingt eine ordinale Bedeutung entsprechend ihrer numerischen Bezeichnung.
-
Die hierin vorgestellten Algorithmen und Anzeigen sind nicht von Natur aus an einen bestimmten Computer oder ein anderes Gerät gebunden. Verschiedene Allzwecksysteme können mit Programmen in Übereinstimmung mit den hier dargestellten Lehren verwendet werden, oder es kann sich als zweckmäßig erweisen, ein spezielleres Gerät zu konstruieren, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für eine Vielzahl dieser Systeme geht aus der nachfolgenden Beschreibung hervor. Darüber hinaus wird die vorliegende Offenbarung nicht unter Bezugnahme auf eine bestimmte Programmiersprache beschrieben. Es versteht sich von selbst, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die Lehren der Offenbarung wie hier beschrieben zu implementieren.
-
In einem Aspekt umfasst ein Verfahren die Initialisierung eines Komitees von tiefen neuronalen Netzen mit etikettierten Verzerrungspaaren, das iterative aktive Lernen einer Differenzmetrik unter Verwendung des Komitees und Psychophysik-Aufgaben für informative Verzerrungspaare und die Verwendung der Differenzmetrik als Zielfunktion in einer maschinell erlernten digitalen Dateiverarbeitungsaufgabe.
-
Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale umfassen. Zum Beispiel kann das iterative aktive Lernen der Differenzmetrik das Bereitstellen eines unetikettierten Verzerrungspaares als Eingabe für jedes der tiefen neuronalen Netze in dem Komitee beinhalten, wobei ein Verzerrungspaar ein Basisbild und ein verzerrtes Bild ist, wobei das verzerrte Bild aus der Anwendung eines Artefakts resultiert, das auf das Basisbild angewendet wird, Erhalten einer Vielzahl von metrischen Differenzwerten für das unetikettierte Verzerrungspaar, wobei jeder metrische Differenzwert von einem der tiefen neuronalen Netze erhalten wird, Bestimmen, ob die Vielzahl der metrischen Differenzwerte eine Diversitätsmetrik erfüllen, und Identifizieren des unetikettierten Verzerrungspaares als ein informatives Verzerrungspaar, wenn die metrischen Differenzwerte die Diversitätsmetrik erfüllen. In einigen derartigen Implementierungen kann Konvergenz erreicht werden, wenn keine unetikettierten Verzerrungspaare eine Vielzahl von Differenzmetrikwerten aufweisen, die die Diversitätsmetrik erfüllen, das iterative aktive Lernen der Differenzmetrik kann beendet werden, nachdem die Diversität in der Vielzahl von Differenzmetrikwerten einen Diversitätsschwellenwert nicht erfüllt, die Bestimmung, ob die Vielzahl von Differenzmetrikwerten die Diversitätsmetrik erfüllt, kann die Verwendung von Bayesian Active Learning by Disagreement beinhalten, und/oder einige unetikettierte Verzerrungspaare können durch eine Artefaktmaschine erzeugt werden. In einigen derartigen Implementierungen kann das Verfahren auch beinhalten, dass das informative Verzerrungspaar einem menschlichen Bewerter zur Verfügung gestellt wird, dass ein Etikett für das informative Verzerrungspaar von dem menschlichen Bewerter unter Verwendung einer Psychophysik-Aufgabe empfangen wird und dass die tiefen neuronalen Netze unter Verwendung des etikettierten informativen Verzerrungspaares neu trainiert werden.
-
Ein weiteres Beispiel ist die Initialisierung des Komiteees für tiefe neuronale Netze durch Bayes'sches Bootstrapping. Ein weiteres Beispiel: Das aktive Lernen der Differenzmetrik kann für eine vorgegebene Anzahl von Iterationen erfolgen. Ein weiteres Beispiel: Das aktive Lernen der Differenzmetrik kann so lange erfolgen, bis die von den tiefen neuronalen Netzen erzeugten permanenten Verlustwerte Konvergenz erreichen. Ein weiteres Beispiel für aktives Lernen der Differenzmetrik ist die Erzeugung von mindestens einigen unetikettierten Verzerrungspaaren durch eine Artefaktmaschine, wobei die unetikettierten Verzerrungspaare dem Komitee zur Verfügung gestellt werden und der Komitee zur Identifizierung der informativen Verzerrungspaare verwendet wird. Als weiteres Beispiel kann die digitale Dateiverarbeitungsaufgabe eine Bildverarbeitungsaufgabe und/oder eine Audioverarbeitungsaufgabe sein. Ein weiteres Beispiel ist die verlustbehaftete Komprimierung der digitalen Datei. Ein weiteres Beispiel ist die Bild- und/oder Tonverbesserung.
-
In einem Aspekt speichert ein computerlesbares Medium ein tiefes neuronales Netz, das trainiert wurde, um eine Differenzmetrik bereitzustellen, wobei das Training die Initialisierung eines Komitees tiefer neuronaler Netze unter Verwendung verschiedener Sätze von etikettierten Trainingsverzerrungspaaren und das iterative Training des Komitees tiefer neuronaler Netze bis zur Konvergenz umfasst. Das iterative Trainieren des Komitees von tiefen neuronalen Netzen kann das Identifizieren einer Vielzahl von informativen Verzerrungspaaren beinhalten, indem dem Komitee unetikettierte Verzerrungspaare zur Verfügung gestellt werden und die unetikettierten Verzerrungspaare mit der höchsten Diversität in den Differenzmetrikwerten der tiefen neuronalen Netze in dem Komitee ausgewählt werden, Etikettierungen für die informativen Verzerrungspaare erhalten werden und das Komitee von tiefen neuronalen Netzen unter Verwendung der Etikettierungen für die informativen Verzerrungspaare neu trainiert wird.
-
Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale umfassen. Zum Beispiel kann ein unetikettiertes Verzerrungspaar ein Basisbild und ein verzerrtes Bild enthalten, wobei das verzerrte Bild aus der Anwendung eines Artefakts auf das Basisbild resultiert. Ein weiteres Beispiel für die Gewinnung von Etiketten ist die Bereitstellung des informativen Verzerrungspaares für einen menschlichen Bewerter, der Erhalt eines Etiketts für das informative Verzerrungspaar von dem menschlichen Bewerter unter Verwendung einer Psychophysik-Aufgabe und das erneute Training der tiefen neuronalen Netze unter Verwendung des etikettierten informativen Verzerrungspaares. Als ein weiteres Beispiel kann Konvergenz auftreten, wenn festgestellt wird, dass die Diversität in den Differenzmetrikwerten einen Diversitätsschwellenwert nicht erreicht, wenn festgestellt wird, dass keine unetikettierten Verzerrungspaare eine Vielzahl von Differenzmetrikwerten aufweisen, die eine Diversitätsmetrik erfüllen, und/oder wenn eine vorbestimmte Anzahl von Iterationen durchgeführt wurde. Ein weiteres Beispiel ist, dass zumindest einige unetikettierte Verzerrungspaare von einer Artefaktmaschine erzeugt werden können. Als weiteres Beispiel kann das Erhalten von Etiketten das Bereitstellen des informativen Verzerrungspaares an einen menschlichen Bewerter als eine Psychophysik-Aufgabe, die eine dritte digitale Datei und das informative Verzerrungspaar enthält, das Empfangen eines Etiketts für das informative Verzerrungspaar von dem menschlichen Bewerter und das erneute Trainieren der tiefen neuronalen Netze unter Verwendung des Etiketts für das informative Verzerrungspaar umfassen.
-
In einem anderen Aspekt umfasst ein System mindestens einen Prozessor und einen Speicher, in dem ein maschinell erlerntes Modell zur Durchführung einer Bildverarbeitungsaufgabe gespeichert ist, wobei das Modell ein tiefes neuronales Netzwerk ist, das eine durch aktives Lernen trainierte Differenzmetrik verwendet. Der Speicher speichert auch Anweisungen, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das System veranlassen, Operationen durchzuführen. Die Operationen umfassen den Empfang einer Bilddatei, die Bereitstellung der Bilddatei an das Modell und den Empfang einer verarbeiteten Bilddatei von dem Modell.
-
Ein weiterer Aspekt ist, dass ein System mindestens einen Prozessor und eine Artefaktmaschine zur Erzeugung von unetikettierten Verzerrungspaaren umfasst. Die Artefaktmaschine kann die unetikettierten Verzerrungspaare erzeugen, indem sie für jede Basisdatei eine entsprechende verzerrte Datei aus der Basisdatei erzeugt. Das System umfasst auch eine Benutzerschnittstelle für die Etikettierung, um Etikettierungen für unetikettierte Verzerrungspaare zu erhalten, und ein Komitee für Wahrnehmungsverluste. Das Komitee für Wahrnehmungsverluste umfasst eine Vielzahl von tiefen neuronalen Netzen, wobei jedes tiefe neuronale Netz eine entsprechende Wahrnehmungsverlustfunktion hat. Das System enthält ferner einen Speicher, in dem Befehle gespeichert sind, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das System veranlassen, Operationen durchzuführen. Die Operationen umfassen das Lernen einer Wahrnehmungsverlustfunktion durch Erzeugen einer Vielzahl von unetikettierten Verzerrungspaaren unter Verwendung der Artefaktmaschine, das Erhalten eines jeweiligen Satzes von Wahrnehmungsverlustwerten für jedes der Vielzahl von unetikettierten Verzerrungspaaren von dem Komitee, wobei der jeweilige Satz einen Wahrnehmungsverlustwert von jedem der tiefen neuronalen Netze enthält, das Identifizieren eines Satzes von Verzerrungspaaren aus der Vielzahl von unetikettierten Verzerrungspaaren, jedes Verzerrungspaar in dem Satz von Verzerrungspaaren einen jeweiligen Satz von Wahrnehmungsverlustwerten aufweist, der eine Diversitätsmetrik erfüllt, Erhalten, unter Verwendung der Benutzerschnittstelle, eines jeweiligen etikettierten Wahrnehmungswertes für jedes Verzerrungspaar in dem Satz von Verzerrungspaaren, und Trainieren der tiefen neuronalen Netze unter Verwendung des jeweiligen etikettierten Wahrnehmungswertes als ein Trainingsbeispiel für das Verzerrungspaar. Die Operationen umfassen auch die Verwendung der Wahrnehmungsverlustfunktion als Zielfunktion in einer auf maschinellem Lernen basierenden digitalen Dateiverarbeitungsaufgabe.
-
Diese und andere Aspekte können eines oder mehrere der folgenden Merkmale umfassen. Beispielsweise kann die Artefaktmaschine zufällige Verzerrungen in die Basisdateien einfügen und/oder eine Verzerrung, die auf einem von einem Systemadministrator bereitgestellten Parameter basiert. Als weiteres Beispiel kann die Benutzerschnittstelle einem Benutzer das Verzerrungspaar präsentieren und vom Benutzer eine Bewertung erhalten, die Auskunft über die Wahrnehmungsqualität gibt. Als ein weiteres Beispielist die Artefaktmaschine so konfiguriert, dass sie eine verzerrte Datei in mindestens zwei verschiedenen Artefakträumen erzeugt. Als ein weiteres Beispiel kann die Aufgabe zur Verarbeitung digitaler Dateien aus einer Gruppe ausgewählt werden, die verlustbehaftete Bildkompression, verlustbehaftete Audiokompression, Bildverbesserung, Videoverbesserung und Verbesserung der Audioqualität umfasst.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 15/855499 [0002]
- US 62/460454 [0002]