Heute stellt das Volumen der von Personen mit Smartphone-Kameras aufgenommenen Fotos die Grenzen der strukturierten Kategorisierung in Frage. Es ist schwierig für eine Person, ihr eigenes Repository für Smartphone-Fotos zu kategorisieren, geschweige denn eine strukturierte Taxonomie für alle Fotos zu definieren.
Auf Facebook teilen Menschen jeden Tag Milliarden von Fotos, was es schwierig macht, rechtzeitig nach hinten zu scrollen, um Fotos zu finden, die vor ein paar Tagen, geschweige denn vor Monaten oder Jahren, gepostet wurden., Um Menschen dabei zu helfen, die gesuchten Fotos leichter zu finden, hat das Fotosuchteam von Facebook Techniken des maschinellen Lernens angewendet, um besser zu verstehen, was sich in einem Bild befindet, und den Such-und Abrufprozess zu verbessern.
Die Fotosuche wurde mit Unicorn erstellt, einem Indizierungssystem für speicherinterne und Flash-Speicher, mit dem Billionen von Kanten zwischen zig Milliarden von Benutzern und Entitäten gesucht werden können. Unicorn wurde vor einigen Jahren entwickelt, um die Social Graph-Aware Graph-Suche zu unterstützen und unterstützt Milliarden von Abfragen pro Tag, die mehrere Komponenten in Facebook antreiben.,
Graph Search wurde entwickelt, um Objekte aus dem sozialen Diagramm basierend auf den Beziehungen zwischen ihnen abzurufen, z. B. „Meine Freunde, die in San Francisco leben.“Dies hat sich als effektiv erwiesen, stellt jedoch technische Herausforderungen dar, wenn die Abfrage auf eine relevante Teilmenge beschränkt, die Ergebnisse nach Relevanz sortiert und bewertet und dann die relevantesten Ergebnisse geliefert werden. Um diesen Ansatz zu erweitern, wandte das Fotosuchteam tiefe neuronale Netzwerke an, um die Genauigkeit der Bildsuche basierend auf visuellen Inhalten auf dem Foto und durchsuchbarem Text zu verbessern.,
Was suchen muss, um zu verstehen, Informationen zu Fotos
Verstehen Fotos bei Facebook ist die Skala präsentiert eine andere Herausforderung als im Vergleich mit dem Nachweis geringer Bild-Anerkennung Fehlerquoten in der Imagenet Challenge. Die angewandte Forschung hat hochmoderne Deep-Learning-Techniken entwickelt, mit denen Milliarden von Fotos verarbeitet werden können, um durchsuchbare semantische Bedeutungen in großem Maßstab zu extrahieren. Jedes der auf Facebook hochgeladenen öffentlichen Fotos wird von einem verteilten Echtzeitsystem namens Image Understanding Engine verarbeitet.,
Die Image Understanding Engine ist ein tiefes neuronales Netzwerk mit Millionen von lernbaren Parametern. Die Engine baut auf dem hochmodernen Deep Learning-Netzwerk auf, das mit zig Millionen von Fotos mit Anmerkungen trainiert wird. Es kann automatisch eine Vielzahl von Konzepten vorhersagen, einschließlich Szenen, Objekten, Tieren, Attraktionen und Kleidungsstücken. Wir können Modelle trainieren und nützliche Informationen im Voraus speichern, was Antworten mit geringer Latenz auf Benutzeranfragen ermöglicht.,
Die Image understanding Engine erzeugt hochdimensionale Float-Vektoren semantischer Merkmale, die für die Indizierung und Suche im Maßstab von Facebook zu rechenintensiv sind. Durch die Nutzung der iterativen Quantisierungs-und lokalitätssensitiven Hashing-Technologie werden die Funktionen weiter in eine kleine Anzahl von Bits komprimiert, die den größten Teil der Semantik beibehalten. Die Bitdarstellung wird als kompakte Einbettung der Fotos verwendet, die direkt beim Rangieren, Abrufen und Deduplizieren von Fotos verwendet werden können., Die kompakten Einbettungen ordnen die Reihenfolge der Ergebnisse als Antwort auf die Suchanfrage. Es handelt sich um eine ähnliche Technik, die auf die Dokumentensuche und-abfrage angewendet wird, für die Unicorn ursprünglich erstellt wurde, wobei verschiedene Algorithmen auf die tiefen neuronalen Netzwerkschichten angewendet werden, die für die Suche nach einer groß angelegten Sammlung von Bildern spezifisch sind. Die Objekt-Tags und semantischen Einbettungen füllen Sie mit einem Index für Suchanfragen. Ein Update zur Verwendung kompakter Einbettungen für den Abruf mit geringer Latenz befindet sich in der Entwicklung.,
Verwenden von Tags und Einbettungen zum Modellieren
Ein komplexes Ranking-Modell, das auf den gesamten Fotoladen angewendet wird, ist angesichts des Umfangs von Facebook und der Erwartungen der Benutzer an eine schnelle Antwort auf ihre Anfragen nicht möglich. Ein Relevanzmodell, das auf die Tags und Einbettungen angewendet wird, schätzt die Relevanz und erzeugt Abfrageergebnisse mit geringer Latenz.
Konzeptrelevanz
Die Relevanz wird mit Rich Query-und Photo Concept-Signalen bewertet, indem die Konzeptsätze mit einer Ähnlichkeitsfunktion verglichen werden., Zum Beispiel sind die Abfragekonzepte direkt mit den Konzepten eines Fotos für die Abfrage „Central Park“ korreliert, um themenbezogene Fotos zu bewerben und Off-Topic-Fotos während des Rankings zu entfernen.
Relevanz einbetten
Die direkte Messung der Konzeptkorrelation zwischen einer Abfrage und einem Ergebnis reicht häufig nicht aus, um die Relevanz genau vorherzusagen. Das entwickelte Relevanzmodell nutzt multimodales Lernen, um eine gemeinsame Einbettung zwischen einer Abfrage und einem Bild zu erlernen.,
Die Eingaben in das Modell sind die Einbettungsvektoren der Abfrage und das Fotoergebnis. Das Ziel des Trainings ist es, den Klassifizierungsverlust zu minimieren. Jeder Vektor wird zusammen trainiert und von mehreren Schichten eines tiefen neuronalen Netzwerks verarbeitet, um ein binäres Signal zu erzeugen, wobei ein positives Ergebnis eine Übereinstimmung und ein negatives Ergebnis eine Nichtübereinstimmung bezeichnet. Die Abfrage – und Fotoeingabevektoren werden durch ihre separaten Netzwerke erzeugt, möglicherweise mit einer unterschiedlichen Anzahl von Ebenen. Die Netzwerke können zusammen mit den Parametern der Einbettungsschicht trainiert oder fein abgestimmt werden.,
Einbetten mit Rangverlust
Der oben beschriebene Ansatz zur Bestimmung der Relevanz zwischen einer Abfrage und einem Foto wird als Klassifizierungsproblem formuliert. Das Hauptziel des Rankings ist es jedoch, die beste Reihenfolge für die Fotoergebnisse zu bestimmen. Wir gingen über die Klassifizierungsformulierung hinaus und verwendeten Schulungen mit einem Ranking-Verlust, der gleichzeitig ein Paar relevanter und nicht relevanter Ergebnisse für eine einzelne Abfrage verarbeitet.
Wie in dieser Abbildung gezeigt, ist der rechte Teil des Modells eine tiefe Kopie des linken Teils.das heißt, es teilt die gleiche Netzwerkstruktur und Parameter., Während des Trainings werden eine Abfrage und ihre beiden Ergebnisse in die linke bzw. rechte Komponente eingespeist. Das positive Bild wird für eine bestimmte Abfrage höher eingestuft als das negativ bewertete Bild. Diese Trainingsstrategie zeigt signifikante Fortschritte bei der Einstufung von Qualitätsmetriken.
Query understanding applied to Photo Search
Das Fotokorpus kann mit Unicorn durchsucht werden, wobei die Einbettungen von der image understanding Engine angewendet werden., Die Bitmap wird von Abfrage und Abruf getrennt, mit Ausnahme des Index, der zum Abrufen des Fotos verwendet wird, wenn die auf die Einbettungen angewendete Abfragesemantik eine hohe Relevanzwahrscheinlichkeit erzeugt. Einige der Hauptsignale, die beim Verständnis der Semantik der Abfrage eine Rolle spielen, sind nachstehend zusammengefasst:
Abfrageabsichten schlagen vor, welche Arten von Szenen abgerufen werden sollen. Beispielsweise sollte eine Abfrage mit der Absicht, ein Tier zu erhalten, Fotorgebnisse mit dem Tier als zentrales Thema anzeigen.,
Die syntaktische Analyse hilft, die grammatischen Bestandteile, Teile der Sprache, syntaktischen Beziehungen und Semantik eines Satzes zu verstehen. Suchanfragen beachten normalerweise nicht die Grammatik einer geschriebenen Sprache, und vorhandene Parser funktionieren schlecht. Wir verwenden state-of-the-art-Techniken für die Ausbildung neuronalen Teil der Sprache Tagger auf Suchanfragen.
Durch die Verknüpfung von Entitäten können wir Fotos zu bestimmten Konzepten identifizieren, die häufig durch eine Seite dargestellt werden.zum Beispiel Orte oder Fernsehsendungen.
Umschreiben Abfrage Wissen zu extrahieren Konzepte bietet eine semantische Interpretation einer Abfrage., Konzepte erweitern nicht nur die Bedeutung der Abfrage, sondern überbrücken auch die Lücke zwischen verschiedenen Vokabularen, die von Abfrage und Ergebnis verwendet werden.
Das Einbetten von Abfragen ist eine kontinuierliche Vektorraumdarstellung der Abfrage. Es wird über Transfer Learning auf der word2vec-Vektordarstellung von Wörtern gelernt, die ähnliche Abfragen auf nahe gelegene Punkte abbildet.
Verticals and query rewriting
Wenn jemand eine Abfrage eingibt und auf die Suche trifft, wird eine Anfrage generiert und an unsere Server gesendet. Die Anforderung wird zuerst an die Webebene weitergeleitet, die verschiedene Kontextinformationen zur Abfrage sammelt., Die Abfrage und der zugehörige Kontext werden an eine oberste Aggregatorebene gesendet, die die Abfrage in einen s-Ausdruck umschreibt, der dann beschreibt, wie eine Reihe von Dokumenten vom Indexserver abgerufen wird.
Basierend auf der Abfrageabsicht wird ein Auslösemechanismus unter Verwendung eines neuronalen Netzwerkmodells verwendet, um zu entscheiden, welche Vertikalen — z. B. Nachrichten, Fotos oder Videos — relevant sind, um unnötige Anforderungen zu vermeiden verarbeitet auf weniger relevanten Vertikalen., Wenn eine Person beispielsweise den Begriff „lustige Katzen“ abfragt, sucht und gibt die Absicht mehr Ergebnisse aus der vertikalen Fotos zurück und überspringt die Abfrage von Ergebnissen aus der vertikalen Nachrichten.
Wenn eine Abfrage zu Halloween sowohl die Absicht für öffentliche Fotos als auch Fotos von Freunden in Halloween-Kostümen auslöst, werden sowohl die öffentlichen als auch die sozialen Foto-Vertikalen durchsucht. Fotos, die unter den Freunden des Suchenden geteilt wurden, und öffentliche Fotos, die als relevant eingestuft wurden, werden zurückgegeben. Zwei unabhängige Anfragen werden gestellt, da soziale Fotos sehr personalisiert sind und ein eigenes spezielles Abrufen und Scoring erfordern., Die Privatsphäre von Fotos wird geschützt, indem die systemweiten Datenschutzkontrollen von Facebook auf die Ergebnisse angewendet werden. Das folgende Diagramm zeigt ein Modul, in dem der obere Abschnitt sozial und der untere öffentlich ist.
First-Stage-Ranking
Nachdem die Indexserver Dokumente gemäß dem s-Ausdruck abgerufen haben, wird der maschinell erlernte Ranker der ersten Stufe auf diese Dokumente angewendet., Die Top-M-Dokumente mit den höchsten Punktzahlen werden an die Rack-Aggregator-Ebene zurückgesendet, die die Zusammenführungssorte aller empfangenen Dokumente ausführt und dann die Top-N-Ergebnisse an die Top-Aggregator-Ebene zurückgibt. Das Hauptziel des Rankings der ersten Stufe besteht darin, sicherzustellen, dass die an den Rack-Aggregator zurückgegebenen Dokumente die Relevanz für die Abfrage beibehalten. Für die Abfrage „Hund“ sollten die Fotos mit Hunden beispielsweise höher eingestuft werden als die ohne Hunde. Die Latenz von der Komplexität der Abruf-und Ranking-Phase wird ausgeglichen, um relevante Fotos in der Größenordnung von Millisekunden zu liefern.,
Re-Ranking der zweiten Stufe
Nachdem die rangierten Dokumente an den Top-Aggregator zurückgegeben wurden, durchlaufen sie eine weitere Runde der Signalberechnung, Deduplizierung und Rangfolge. Die Signale, die die Verteilung des gesamten Ergebnisses beschreiben, werden berechnet und erfassen abgelegene Ergebnisse. Als nächstes werden die Dokumente mit Bildfingerabdrücken von visuell ähnlichen Ergebnissen dedupliziert. Ein tiefes neuronales Netzwerk bewertet und ordnet dann die endgültige Reihenfolge der Fotoergebnisse an. Die Sammlung von Rangfotos, die als Modul bezeichnet wird, wird dann an die Ergebnisseite UI übergeben.,
Feinabstimmung des Relevanzrankings für die Fotosuche
Die Bewertung der Relevanz einer Abfrage für ein Foto und umgekehrt ist ein Kernproblem der Fotosuche, das über den Rahmen des Umschreibens und Abgleichs textbasierter Abfragen hinausgeht. Es erfordert ein umfassendes Verständnis der Abfrage, des Autors, des Post-Textes und des visuellen Inhalts des Fotoergebnisses., Erweiterte Relevanzmodelle mit modernsten Ranking -, Natural Language Processing-und Computer Vision-Techniken wurden entwickelt, um die Relevanz dieser Ergebnisse zu optimieren und uns ein neuartiges Bildtaxonomiesystem zu geben, das in der Lage ist, schnelle, relevante Ergebnisse im Maßstab zu liefern.