Under the hood: Photo Search – Facebook Engineering

Oggi, il volume di foto scattate da persone con fotocamere per smartphone sfida i limiti della categorizzazione strutturata. È difficile per una persona classificare il proprio repository di foto di smartphone, tanto meno definire una tassonomia strutturata per le foto di tutti.

Su Facebook, le persone condividono miliardi di foto ogni giorno, rendendo difficile scorrere indietro nel tempo per trovare le foto pubblicate pochi giorni fa, per non parlare di mesi o anni fa., Per aiutare le persone a trovare le foto che stanno cercando più facilmente, il team di ricerca foto di Facebook ha applicato tecniche di apprendimento automatico per capire meglio cosa c’è in un’immagine e migliorare il processo di ricerca e recupero.

Photo Search è stato costruito con Unicorn, un sistema di indicizzazione in memoria e memoria flash progettato per cercare trilioni di bordi tra decine di miliardi di utenti ed entità. Creato alcuni anni fa per alimentare la ricerca di grafici social graph-aware, Unicorn supporta miliardi di query al giorno alimentando più componenti in Facebook.,

Graph Search è stato costruito per recuperare oggetti dal grafico sociale in base alle relazioni tra di loro, come ad esempio “I miei amici che vivono a San Francisco.”Ciò si è dimostrato efficace, ma presenta sfide ingegneristiche quando si limita la query a un sottoinsieme pertinente, si ordinano e si valutano i risultati per la pertinenza e quindi si forniscono i risultati più rilevanti. Per aumentare questo approccio, il team di ricerca foto ha applicato reti neurali profonde per migliorare l’accuratezza delle ricerche di immagini in base al contenuto visivo nella foto e al testo ricercabile.,

Ciò che la ricerca deve capire sulle foto

Comprendere le foto su scala di Facebook presenta una sfida diversa rispetto alla dimostrazione di bassi tassi di errore di riconoscimento delle immagini nella competizione Imagenet Challenge. La ricerca applicata ha prodotto tecniche di deep learning all’avanguardia in grado di elaborare miliardi di foto per estrarre il significato semantico ricercabile su scala enorme. Ciascuna delle foto pubbliche caricate su Facebook viene elaborata da un sistema distribuito in tempo reale chiamato image understanding engine.,

Il motore di comprensione delle immagini è una rete neurale profonda con milioni di parametri imparabili. Il motore si basa sulla rete residua profonda all’avanguardia addestrata utilizzando decine di milioni di foto con annotazioni. Può prevedere automaticamente una ricca serie di concetti, tra cui scene, oggetti, animali, attrazioni e articoli di abbigliamento. Possiamo addestrare i modelli e memorizzare informazioni utili in anticipo, il che consente risposte a bassa latenza alle query degli utenti.,

Il motore di comprensione delle immagini produce vettori float ad alta dimensione di caratteristiche semantiche che sono troppo computazionalmente intensive per l’indicizzazione e la ricerca su scala di Facebook. Sfruttando la quantizzazione iterativa e la tecnologia di hashing sensibile alla località, le funzionalità vengono ulteriormente compresse in un piccolo numero di bit che conservano ancora la maggior parte della semantica. La rappresentazione bit viene utilizzata come incorporamento compatto delle foto che possono essere impiegate direttamente nella classificazione, recupero e deduplicazione delle foto., Gli incorporamenti compatti classificano l’ordine dei risultati in risposta alla query di ricerca. È una tecnica simile applicata alla ricerca e al recupero di documenti, per la quale Unicorn è stato originariamente creato, con diversi algoritmi applicati ai livelli di rete neurale profonda specifici per la ricerca di una collezione su larga scala di immagini. I tag oggetto e gli incorporamenti semantici popolano Unicorn con un indice per le query di ricerca. Un aggiornamento per utilizzare incorporamenti compatti per il recupero a bassa latenza è in fase di sviluppo.,

Utilizzo di tag e incorporamenti per la modellazione

Un modello di classificazione complesso applicato all’intero negozio di foto non è possibile data la scala di Facebook e le aspettative delle persone per una risposta rapida alle loro domande. Un modello di pertinenza applicato ai tag e agli incorporamenti stima la pertinenza e produce risultati di query a bassa latenza.

Pertinenza del concetto

La pertinenza viene valutata con i segnali rich query e photo concept confrontando i set di concetti con una funzione di similarità., Ad esempio, i concetti di query sono direttamente correlati ai concetti di una foto per la query “Central Park” per promuovere le foto in tema e rimuovere le foto fuori tema durante la classifica.

Incorporare rilevanza

Misurare direttamente la correlazione concettuale tra una query e un risultato spesso non è sufficiente per prevedere con precisione la rilevanza. Il modello di pertinenza che è stato sviluppato sfrutta l’apprendimento multimodale per imparare un embedding congiunto tra una query e un’immagine.,

Gli input al modello sono i vettori di incorporamento della query e il risultato della foto. L’obiettivo della formazione è quello di ridurre al minimo la perdita di classificazione. Ogni vettore è addestrato insieme ed elaborato da diversi strati di una rete neurale profonda per produrre un segnale binario, dove un risultato positivo denota una corrispondenza e uno negativo denota una non corrispondenza. I vettori di input di query e foto sono prodotti dalle loro reti separate, potenzialmente con un numero diverso di livelli. Le reti possono essere addestrate o perfezionate insieme ai parametri del livello di incorporamento.,

Incorporamento con perdita di ranking

L’approccio sopra descritto per determinare la rilevanza tra una query e una foto è formulato come un problema di classificazione. Tuttavia, l’obiettivo principale della classifica è determinare l’ordine migliore per il set di risultati fotografici. Siamo andati oltre la formulazione della classificazione e abbiamo utilizzato la formazione con una perdita di classifica che elabora una coppia di risultati rilevanti e non rilevanti per una singola query allo stesso tempo.

Come mostrato in questa figura, la parte destra del modello è una copia profonda della parte sinistra; cioè, condivide la stessa struttura e parametri di rete., Durante l’allenamento, una query e i suoi due risultati vengono inseriti rispettivamente nei componenti sinistro e destro. L’immagine positiva è classificata più in alto dell’immagine classificata negativamente per una determinata query. Questa strategia di formazione mostra significativi guadagni in classifica metriche di qualità.

Comprensione delle query applicata alla ricerca di foto

Il corpus fotografico è ricercabile con Unicorn, con le incorporazioni applicate dal motore di comprensione delle immagini., La bitmap è dissociata dalla query e dal recupero ad eccezione dell’indice utilizzato per recuperare la foto se la semantica della query applicata agli incorporamenti produce un’alta probabilità di rilevanza. Alcuni dei principali segnali che giocano un ruolo nella comprensione della semantica della query sono riassunti di seguito:

Gli intenti della query suggeriscono quali tipi di scene dovremmo recuperare. Ad esempio, una query con l’intento di ottenere un animale dovrebbe mostrare risultati fotografici con l’animale come argomento centrale.,

L’analisi sintattica aiuta a comprendere i costituenti grammaticali di una frase, le parti del discorso, le relazioni sintattiche e la semantica. Le query di ricerca di solito non osservano la grammatica di una lingua scritta e i parser esistenti funzionano male. Utilizziamo tecniche all’avanguardia per addestrare la parte neurale dei tagger vocali sulle query di ricerca.

Il collegamento di entità ci aiuta a identificare foto su concetti specifici, spesso rappresentati da una pagina; ad esempio, luoghi o programmi TV.

Riscrivere la conoscenza delle query per estrarre i concetti fornisce un’interpretazione semantica di una query., I concetti non solo estendono il significato della query, ma colmano anche il divario tra i diversi vocabolari utilizzati dalla query e dal risultato.

L’incorporamento di query è una rappresentazione continua dello spazio vettoriale della query. Si apprende tramite l’apprendimento del trasferimento in cima alla rappresentazione vettoriale delle parole di word2vec, che mappa query simili ai punti vicini.

Verticali e query riscrittura

Quando qualcuno digita una query e colpisce la ricerca, una richiesta viene generata e inviata ai nostri server. La richiesta passa prima al livello Web, che raccoglie varie informazioni contestuali sulla query., La query e il contesto associato vengono inviati a un livello aggregatore superiore che riscrive la query in un’espressione s, che descrive quindi come recuperare un set di documenti dal server indice.

In base all’intento della query, viene utilizzato un meccanismo di attivazione utilizzando un modello di rete neurale per decidere quali verticali, ad esempio notizie, foto o video, sono rilevanti per evitare richieste non necessarie elaborate su verticali meno rilevanti., Ad esempio, se una persona interroga il termine “gatti divertenti”, l’intento cerca e restituisce più risultati dalle foto verticali e salta l’interrogazione dei risultati dalle notizie verticali.

Se una query su Halloween attiva sia l’intento per le foto pubbliche che le foto degli amici nei costumi di Halloween, verranno ricercate sia le verticali delle foto pubbliche che quelle sociali. Le foto condivise tra gli amici del ricercatore e le foto pubbliche classificate come rilevanti verranno restituite. Due richieste indipendenti sono fatte perché le foto sociali sono altamente personalizzati e richiedono il proprio recupero specializzato e punteggio., La privacy delle foto è protetta applicando i controlli sulla privacy a livello di sistema di Facebook ai risultati. Lo schema seguente mostra un modulo in cui la sezione superiore è sociale e la parte inferiore è pubblica.

Classifica del primo stadio

Dopo che i server indice recuperano i documenti in base all’espressione s, il ranker del primo stadio appreso dalla macchina viene applicato a tali documenti., I documenti Top M con i punteggi più alti vengono rispediti al livello aggregatore rack, che esegue il tipo di unione di tutti i documenti ricevuti e quindi restituisce i risultati top N al livello aggregatore superiore. L’obiettivo principale della classifica della prima fase è assicurarsi che i documenti restituiti all’aggregatore rack mantengano la pertinenza alla query. Ad esempio, per la query “cane”, le foto con i cani dovrebbero essere classificate più in alto rispetto a quelle senza cani. La latenza dalla complessità della fase di recupero e posizionamento è bilanciata per servire foto rilevanti nell’ordine dei millisecondi.,

Re-ranking di seconda fase

Dopo che i documenti classificati vengono restituiti all’aggregatore superiore, passano attraverso un altro ciclo di calcolo, deduplicazione e classifica dei segnali. I segnali che descrivono la distribuzione dell’intero risultato sono calcolati, rilevando i risultati periferici. Successivamente, i documenti vengono deduplicati di risultati visivamente simili utilizzando le impronte digitali dell’immagine. Una rete neurale profonda quindi segna e classifica l’ordine finale dei risultati della foto. La raccolta di foto classificate, denominata modulo, viene quindi passata all’interfaccia utente della pagina dei risultati.,

Classifica di pertinenza per la ricerca di foto

La valutazione della pertinenza di una query per una foto e viceversa è un problema fondamentale della ricerca di foto che si estende oltre l’ambito della riscrittura e della corrispondenza delle query basate su testo. Richiede una comprensione completa della query, dell’autore, del testo post e del contenuto visivo del risultato della foto., Sono stati sviluppati modelli di rilevanza avanzati che incorporano ranking all’avanguardia, elaborazione del linguaggio naturale e tecniche di visione artificiale per ottimizzare la rilevanza di tali risultati, dandoci un nuovo sistema di tassonomia delle immagini in grado di fornire risultati rapidi e pertinenti su larga scala.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *