Pod maską: wyszukiwanie zdjęć – Facebook Engineering

dziś ilość zdjęć robionych przez osoby z aparatami na smartfony wyzwala granice uporządkowanej kategoryzacji. Trudno jest jednej osobie skategoryzować własne repozytorium zdjęć smartfonów, a tym bardziej zdefiniować uporządkowaną taksonomię dla wszystkich zdjęć.

na Facebook ludzie dzielą się miliardami zdjęć każdego dnia, co sprawia, że trudno jest przewijać w czasie do tyłu, aby znaleźć zdjęcia opublikowane kilka dni temu, nie mówiąc już o miesiącach lub latach temu., Aby pomóc ludziom łatwiej znaleźć zdjęcia, których szukają, zespół wyszukiwania Zdjęć Facebook zastosował techniki uczenia maszynowego, aby lepiej zrozumieć, co znajduje się w obrazie, a także poprawić proces wyszukiwania i wyszukiwania.

Photo Search został zbudowany z Unicorn, systemu indeksowania pamięci flash i pamięci flash zaprojektowanego do wyszukiwania bilionów krawędzi między dziesiątkami miliardów użytkowników i podmiotów. Stworzony kilka lat temu, aby zasilić społecznościowe Wyszukiwanie Wykresów, Unicorn obsługuje miliardy zapytań dziennie zasilających wiele komponentów Facebook.,

Graph Search został stworzony, aby pobierać obiekty z grafu społecznego na podstawie relacji między nimi, takich jak „My friends who live in San Francisco.”Okazało się to skuteczne, ale stanowi wyzwanie inżynieryjne podczas ograniczania zapytania do odpowiedniego podzbioru, sortowania i punktowania wyników pod kątem trafności, a następnie dostarczania najbardziej istotnych wyników. Aby rozszerzyć to podejście, zespół wyszukiwania Zdjęć zastosował Głębokie sieci neuronowe, aby poprawić dokładność wyszukiwania obrazów w oparciu o treści wizualne na zdjęciu i tekst z możliwością przeszukiwania.,

co wyszukiwanie musi zrozumieć o zdjęciach

zrozumienie zdjęć w skali Facebook ' a stanowi inne wyzwanie w porównaniu z wykazaniem niskiego poziomu błędów rozpoznawania obrazów w konkursie Imagenet Challenge. Badania stosowane stworzyły najnowocześniejsze techniki głębokiego uczenia zdolne do przetwarzania miliardów zdjęć w celu wydobycia znaczeń semantycznych, które można przeszukiwać na ogromną skalę. Każde z publicznych zdjęć przesłanych na Facebook jest przetwarzane przez rozproszony system czasu rzeczywistego o nazwie image understanding engine.,

image understanding engine to głęboka sieć neuronowa z milionami poznawalnych parametrów. Silnik opiera się na najnowocześniejszej głębokiej sieci resztkowej przeszkolonej za pomocą dziesiątek milionów zdjęć z adnotacjami. Może automatycznie przewidywać bogaty zestaw pojęć, w tym sceny, przedmioty, zwierzęta, atrakcje i elementy odzieży. Możemy trenować modele i przechowywać przydatne informacje z wyprzedzeniem, co umożliwia odpowiedzi o niskim opóźnieniu na zapytania użytkowników.,

silnik image understanding engine wytwarza wysokowymiarowe wektory pływakowe cech semantycznych, które są zbyt intensywne obliczeniowo do indeksowania i wyszukiwania w skali Facebook. Dzięki wykorzystaniu iteracyjnej kwantyzacji i technologii mieszania wrażliwego na lokalizację, funkcje są dalej kompresowane na niewielką liczbę bitów, które nadal zachowują większość semantyki. Reprezentacja bitowa jest używana jako kompaktowe osadzanie zdjęć, które można bezpośrednio wykorzystać w rankingu, wyszukiwaniu i deduplikacji zdjęć., Kompaktowe osadzenia uszeregowują kolejność wyników w odpowiedzi na zapytanie. Jest to podobna technika stosowana do wyszukiwania i wyszukiwania dokumentów, dla której Unicorn został pierwotnie stworzony, z różnymi algorytmami stosowanymi do głębokich warstw sieci neuronowych specyficznych dla Wyszukiwania na dużą skalę kolekcji obrazów. Znaczniki obiektów i osadzenia semantyczne wypełniają Unicorn indeksem dla zapytań wyszukiwania. Obecnie opracowywana jest aktualizacja do korzystania z kompaktowych osadzeń do wyszukiwania z niskim opóźnieniem.,

Korzystanie z tagów i osadzeń do modelowania

złożony model rankingowy stosowany w całym sklepie fotograficznym nie jest możliwy ze względu na skalę Facebook i oczekiwania ludzi na szybką odpowiedź na ich pytania. Model trafności zastosowany do znaczników i osadzeń szacuje trafność i generuje wyniki zapytań o niskim opóźnieniu.

trafność koncepcji

trafność jest oceniana za pomocą bogatych sygnałów zapytań i zdjęć koncepcyjnych, porównując zbiory koncepcji z funkcją podobieństwa., Na przykład koncepcje zapytań są bezpośrednio skorelowane z koncepcjami zdjęcia dla zapytania „Central Park” w celu promowania zdjęć na temat i usuwania zdjęć Poza tematem podczas rankingu.

osadzanie trafności

bezpośredni pomiar korelacji koncepcji między zapytaniem a wynikiem często nie wystarcza do dokładnego przewidzenia trafności. Opracowany model trafności wykorzystuje multimodalne uczenie się, aby nauczyć się wspólnego osadzania między zapytaniem a obrazem.,

wejściami do modelu są wektory osadzające zapytania i wynik zdjęcia. Celem szkolenia jest zminimalizowanie strat klasyfikacyjnych. Każdy wektor jest szkolony razem i przetwarzany przez kilka warstw głębokiej sieci neuronowej w celu wytworzenia sygnału binarnego, gdzie wynik dodatni oznacza dopasowanie, a wynik ujemny oznacza brak dopasowania. Wektory wejściowe zapytań i zdjęć są wytwarzane przez oddzielne sieci, potencjalnie z różną liczbą warstw. Sieci mogą być szkolone lub dostrojone wraz z parametrami warstwy osadzania.,

opisane powyżej podejście do określania trafności pomiędzy zapytaniem a zdjęciem jest sformułowane jako problem klasyfikacji. Jednak głównym celem rankingu jest określenie najlepszej kolejności dla zestawu wyników zdjęć. Wyszliśmy poza formułowanie klasyfikacji i wykorzystaliśmy trening z stratą rankingową, która przetwarza parę istotnych i nieistotnych wyników dla jednego zapytania w tym samym czasie.

jak pokazano na tym rysunku, prawa część modelu jest głęboką kopią lewej części; to znaczy, że ma tę samą strukturę sieci i parametry., Podczas treningu zapytanie i jego dwa wyniki są podawane odpowiednio do lewego i prawego komponentu. Pozytywny obraz jest oceniany wyżej niż negatywnie oceniany obraz dla danego zapytania. Ta strategia szkoleniowa pokazuje znaczne zyski w rankingach wskaźników jakości.

zrozumienie zapytania stosowane do wyszukiwania Zdjęć

korpus zdjęcia można przeszukiwać za pomocą Unicorn, z osadzeniami zastosowanymi przez silnik zrozumienia obrazu., Mapa bitowa jest oddzielona od zapytania i pobierania z wyjątkiem indeksu używanego do pobierania zdjęcia, jeśli semantyka zapytania zastosowana do osadzenia daje wysokie prawdopodobieństwo trafności. Niektóre z głównych sygnałów, które odgrywają rolę w zrozumieniu semantyki zapytania, są podsumowane poniżej:

intencje zapytań sugerują, jakie typy scen powinniśmy pobrać. Na przykład zapytanie z zamiarem uzyskania zwierzęcia powinno pokazywać wyniki zdjęć ze zwierzęciem jako głównym tematem.,

analiza składniowa pomaga zrozumieć składniki gramatyczne zdania, części mowy, relacje składniowe i semantyczne. Zapytania zwykle nie przestrzegają gramatyki języka pisanego, a istniejące parsery działają słabo. Używamy najnowocześniejszych technik do szkolenia neuronowej części tagów mowy w zapytaniach wyszukiwania.

Entity linking pomaga nam zidentyfikować zdjęcia dotyczące konkretnych pojęć, Często reprezentowane przez stronę; na przykład miejsca lub programy telewizyjne.

przepisywanie wiedzy o zapytaniach w celu wyodrębnienia pojęć zapewnia semantyczną interpretację zapytania., Pojęcia nie tylko rozszerzają znaczenie zapytania, ale także wypełniają lukę między różnymi słownikami używanymi przez zapytanie i wynik.

osadzanie zapytań jest ciągłą reprezentacją przestrzeni wektorowej zapytania. Uczy się go poprzez Transfer learning na górze word2vec wektorowej reprezentacji słów, która mapuje podobne zapytania do pobliskich punktów.

gdy ktoś wpisze zapytanie i trafi w wyszukiwarkę, żądanie jest generowane i wysyłane na nasze serwery. Żądanie najpierw trafia do warstwy web, która gromadzi różne informacje kontekstowe dotyczące zapytania., Zapytanie i powiązany kontekst są wysyłane do najwyższej warstwy agregatora, która przepisuje zapytanie do wyrażenia s, które następnie opisuje, jak pobrać zestaw dokumentów z serwera indeksów.

w oparciu o intencję zapytania, mechanizm wyzwalający jest stosowany przy użyciu modelu sieci neuronowej, aby zdecydować, które wierzchołki — na przykład wiadomości, zdjęcia lub filmy — są istotne, aby uniknąć niepotrzebnych żądań przetwarzanych na mniej istotnych pionach., Na przykład, jeśli dana osoba zapyta termin „śmieszne koty”, intencja będzie wyszukiwać i zwracać więcej wyników ze zdjęć pionowych i pomijać wyniki zapytań z pionowych wiadomości.

Jeśli Zapytanie o Halloween wywoła zarówno zamiar zdjęć publicznych, jak i zdjęć przyjaciół w kostiumach na Halloween, przeszukane zostaną zarówno piony zdjęć publicznych, jak i społecznych. Zdjęcia udostępnione znajomym poszukiwacza oraz zdjęcia publiczne sklasyfikowane jako odpowiednie zostaną zwrócone. Dwa niezależne wnioski są wykonane, ponieważ zdjęcia społeczne są wysoce spersonalizowane i wymagają własnego specjalistycznego wyszukiwania i punktacji., Prywatność zdjęć jest chroniona przez zastosowanie kontroli prywatności Facebook do wyników. Poniższy diagram przedstawia moduł, w którym górna sekcja jest społeczna, a dolna jest publiczna.

ranking pierwszego stopnia

Po pobraniu przez serwery indeksowe dokumentów zgodnie z wyrażeniem s, do tych dokumentów zostanie zastosowany Ranker pierwszego stopnia wyuczony maszynowo., Najlepsze dokumenty M z najwyższymi wynikami są wysyłane z powrotem do warstwy agregatora rack, która wykonuje rodzaj scalania wszystkich dokumentów, które otrzymuje, a następnie zwraca najlepsze wyniki N do warstwy agregatora top. Głównym celem rankingu pierwszego etapu jest upewnienie się, że dokumenty zwracane do agregatora regałów zachowują trafność zapytania. Na przykład dla zapytania „pies” zdjęcia z psami powinny być oceniane wyżej niż te bez psów. Opóźnienie związane ze złożonością etapu pobierania i rankingu jest zrównoważone tak, aby obsługiwać odpowiednie zdjęcia w kolejności milisekund.,

ponowny ranking w drugim etapie

Po tym, jak dokumenty rankingowe zostaną zwrócone do najwyższego agregatora, przechodzą one kolejną rundę obliczania sygnałów, deduplikacji i rankingu. Sygnały opisujące rozkład całego wyniku są obliczane, wykrywając odległe wyniki. Następnie dokumenty są deduplikowane wizualnie podobnych wyników za pomocą odcisków palców obrazu. Głęboka sieć neuronowa następnie punktuje i ustawia ostateczną kolejność wyników zdjęć. Kolekcja zdjęć rankingowych, określana jako moduł, jest następnie przekazywana do interfejsu strony wyników.,

dostrajanie rankingu trafności Dla wyszukiwania Zdjęć

ocena trafności zapytania do zdjęcia i odwrotnie jest podstawowym problemem wyszukiwania zdjęć, który wykracza poza zakres przepisywania i dopasowywania zapytań tekstowych. Wymaga kompleksowego zrozumienia zapytania, autora, tekstu posta i treści wizualnej wyniku zdjęcia., Zaawansowane modele trafności zawierające najnowocześniejszy ranking, przetwarzanie języka naturalnego i techniki komputerowej wizji zostały opracowane w celu dostrojenia trafności tych wyników, dając nam nowatorski system taksonomii obrazów zdolny do dostarczania szybkich, istotnych wyników w skali.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *