Sob o capô: Photo Search-Facebook Engineering

hoje, o volume de fotos tiradas por pessoas com câmeras de smartphone desafia os limites da categorização estruturada. É difícil para uma pessoa categorizar o seu próprio repositório de fotos de smartphones, muito menos definir uma taxonomia estruturada para as fotos de todos.

no Facebook, as pessoas compartilham bilhões de fotos todos os dias, tornando difícil se deslocar para trás no tempo para encontrar fotos postadas há alguns dias, muito menos meses ou anos atrás., Para ajudar as pessoas a encontrar as fotos que estão procurando mais facilmente, a equipe de pesquisa de fotos do Facebook aplicou técnicas de aprendizagem de máquinas para entender melhor o que está em uma imagem, bem como melhorar o processo de busca e recuperação.

Photo Search was built with Unicorn, an in-memory and flash storage indexing system designed to search trillions of edges between ten of billions of users and entities. Criado há alguns anos para alimentar a pesquisa de Grafos social consciente dos grafos, o Unicorn suporta bilhões de consultas por dia alimentando vários componentes no Facebook.,

A pesquisa de Grafos foi construída para recuperar objetos do grafo social baseado nas relações entre eles, como “meus amigos que vivem em São Francisco.”Isso provou ser eficaz, mas apresenta desafios de engenharia ao restringir a consulta a um subconjunto relevante, ordenando e marcando os resultados para relevância, e, em seguida, entregando os resultados mais relevantes. Para aumentar esta abordagem, a equipe de Busca por fotos aplicou redes neurais profundas para melhorar a precisão das pesquisas de imagens com base no conteúdo visual na foto e texto pesquisável.,

o que a pesquisa precisa entender sobre as fotos

compreender as fotos à escala do Facebook apresenta um desafio diferente em comparação com a demonstração de baixas taxas de erro de reconhecimento de imagens no Imagenet Challenge competition. A pesquisa aplicada produziu técnicas de aprendizado profundo de ponta capazes de processar bilhões de fotos para extrair significado semântico pesquisável em enorme escala. Cada uma das fotos públicas carregadas para o Facebook é processada por um sistema distribuído em tempo real chamado o motor de compreensão de imagens.,

O motor de compreensão de imagens é uma rede neural profunda com milhões de parâmetros aprendíveis. O motor constrói em cima da mais moderna rede residual treinada usando dezenas de milhões de fotos com anotações. Ele pode prever automaticamente um rico conjunto de conceitos, incluindo cenas, objetos, animais, atrações e itens de roupas. Podemos treinar modelos e armazenar informações úteis antes do tempo, o que permite respostas de baixa latência para consultas de usuários.,

o motor de compreensão de imagens produz Vectores flutuantes de alta dimensão de características semânticas que são muito computacionalmente intensivas para indexar e procurar à escala do Facebook. Ao alavancar a quantização iterativa e a tecnologia de hashing sensível à localidade, as características são ainda mais comprimidas em um pequeno número de bits que ainda preservam a maior parte da semântica. A representação de bits é usada como a incorporação compacta das fotos que podem ser diretamente empregadas em ranking, recuperação e remoção de fotos., As incorporações compactas classificam a ordem dos resultados em resposta à consulta de pesquisa. É uma técnica similar aplicada à pesquisa e recuperação de documentos, para a qual o unicórnio foi originalmente criado, com diferentes algoritmos aplicados às camadas de rede neural profunda específicas para a busca de uma coleção em larga escala de imagens. As marcas de objetos e as incorporações semânticas povoam o unicórnio com um índice para consultas de pesquisa. Uma atualização para usar incorporações compactas para recuperação de baixa latência está em desenvolvimento.,

usando tags e Incorporações para modelar

um modelo de classificação complexo aplicado a toda a loja de fotos não é possível dada a escala do Facebook e as expectativas das pessoas para uma resposta rápida às suas perguntas. Um modelo de relevância aplicado às marcas e Incorporações estima a relevância e produz resultados de consulta de baixa latência.

relevância do conceito

relevância é avaliada com pesquisa rica e sinais de conceito de foto comparando os conjuntos de conceito com uma função de similaridade., Por exemplo, os conceitos de consulta estão diretamente correlacionados com os conceitos de uma foto para a consulta “Central Park” para promover fotos sobre o tópico e remover fotos fora do tópico durante o ranking.

relevância incorporada

medindo diretamente a correlação do conceito entre uma consulta e um resultado muitas vezes não é suficiente para prever com precisão a relevância. O modelo de relevância que foi desenvolvido explora a aprendizagem multimodal para aprender uma incorporação conjunta entre uma consulta e uma imagem.,

As entradas para o modelo são os vetores embutidos da consulta e o resultado da foto. O objetivo do treinamento é minimizar a perda de classificação. Cada vetor é treinado e processado por várias camadas de uma rede neural profunda para produzir um sinal binário, onde um resultado positivo denota uma correspondência e um negativo denota uma não correspondência. Os vetores de consulta e foto de entrada são produzidos por suas redes separadas, potencialmente com um número diferente de camadas. As redes podem ser treinadas ou ajustadas em conjunto com os parâmetros da camada incorporada.,a abordagem acima descrita para determinar a relevância entre uma consulta e uma foto é formulada como um problema de classificação. No entanto, o principal objetivo do ranking é determinar a melhor ordem para o conjunto de resultados de fotos. Fomos além da formulação da classificação e usamos treinamento com uma perda de classificação que processa um par de resultados relevantes e não relevantes para uma única consulta ao mesmo tempo.

Como mostrado nesta figura, a parte direita do modelo é uma cópia profunda da parte esquerda; ou seja, ele compartilha a mesma estrutura de rede e parâmetros., Durante o treinamento, uma consulta e seus dois resultados são introduzidos nos componentes esquerda e direita, respectivamente. A imagem positiva é classificada mais alta do que a imagem negativamente classificada para uma determinada consulta. Esta estratégia de treinamento mostra ganhos significativos na classificação de métricas de qualidade.

Query understanding applied to Photo Search

the photo corpus is searchable with Unicorn, with the embeddings applied by the image understanding engine., O bitmap é dissociado da consulta e recuperação, exceto para o índice usado para recuperar a foto se a semântica da consulta aplicada à incorporação produzir uma alta probabilidade de relevância. Alguns dos principais sinais que desempenham um papel na compreensão da semântica da consulta são resumidos abaixo:

os intentos da consulta sugerem que tipos de cenas devemos recuperar. Por exemplo, uma consulta com a intenção de obter um animal deve mostrar resultados de fotos com o animal como um tópico central.,a análise sintática ajuda a compreender os constituintes gramaticais de uma frase, partes da fala, relações sintáticas e semântica. As consultas de pesquisa geralmente não observam a gramática de uma linguagem escrita, e os parsers existentes apresentam um desempenho fraco. Usamos técnicas de ponta para treinar parte neural dos marcadores de fala em consultas de pesquisa.

Entity linking nos ajuda a identificar fotos sobre conceitos específicos, muitas vezes representados por uma página; por exemplo, lugares ou programas de TV.

Rewriting query knowledge to extract concepts provides a semantic interpretation of a query., Os conceitos não só estendem o significado da consulta, mas também cobrem a diferença entre diferentes vocabulários usados pela consulta e pelo resultado.

a incorporação da consulta é uma representação vetorial contínua da consulta. É aprendida através de transferência de aprendizagem em cima da representação vetor word2vec de palavras, que mapeia consultas semelhantes a pontos próximos.

Verticals and query rewriting

When someone types a query and hits search, a request is generated and sent to our servers. O pedido primeiro vai para o nível web, que coleta várias informações contextuais sobre a consulta., A consulta e contexto associado são enviados para um nível de agregador superior que reescreve a consulta em uma expressão s, que então descreve como recuperar um conjunto de documentos do servidor de índice.com base na intenção da consulta, um mecanismo de ativação é empregado usando um modelo de rede neural para decidir quais verticais — por exemplo, notícias, fotos ou vídeos — são relevantes para evitar solicitações desnecessárias processadas em verticais menos relevantes., Por exemplo, se uma pessoa questiona o termo “gatos engraçados”, a intenção iria procurar e retornar mais resultados das fotos verticais e saltar resultados da notícia vertical.se uma consulta sobre Halloween despoleta tanto a intenção de fotos públicas e fotos de amigos em fantasias de Halloween, tanto o público quanto os fotográficos sociais serão pesquisados. As fotos compartilhadas entre os amigos do searcher e fotos públicas classificadas como relevantes serão devolvidas. Dois pedidos independentes são feitos porque as fotos sociais são altamente personalizadas e requerem sua própria recuperação especializada e pontuação., A privacidade da foto é protegida pela aplicação dos controles de privacidade de todo o sistema do Facebook aos resultados. O diagrama abaixo mostra um módulo onde a seção superior é social e a parte inferior é pública.

ranking da primeira fase

após os servidores de índices recuperarem documentos de acordo com a expressão em s, O ranker de primeira fase aprendido pela máquina é aplicado a esses documentos., Os documentos m de topo com as pontuações mais altas são enviados de volta para o nível de agregador rack, que realiza o tipo de junção de todos os documentos que recebe e, em seguida, retorna os resultados N de topo para o nível de agregador de topo. O principal objetivo do ranking da primeira fase é garantir que os documentos retornados ao agregador rack preservem a relevância para a consulta. Por exemplo, para a consulta “cão”, as fotos com cães devem ser classificados mais alto do que aqueles sem cães. A latência da complexidade da fase de recuperação e classificação é equilibrada para servir fotos relevantes na ordem de milisegundos.,

segunda fase re-ranking

após os documentos classificados serem devolvidos ao agregador de topo, eles passam por outra rodada de cálculo de sinais, deduplicação, e ranking. Calculam-se os sinais que descrevem a distribuição de todo o resultado, detectando resultados anómalos. Em seguida, os documentos são despoletados de resultados visualmente semelhantes usando impressões digitais de imagem. Uma rede neural profunda, em seguida, marca e classifica a ordem final dos resultados da foto. A coleção de fotos classificadas, referida como um módulo, é então passada para a página de resultados UI.,

fine-tuning relevance ranking for Photo Search

a avaliação da relevância de uma consulta para uma foto e vice-versa é um problema central da pesquisa de fotos que se estende além do escopo da reescrita e correspondência de consulta baseada em texto. Requer uma compreensão abrangente da consulta, autor, postar texto e conteúdo visual do resultado da foto., Avançado relevância modelos de incorporação de estado-de-o-arte de classificação, processamento de linguagem natural, e de técnicas de visão computacional foram desenvolvidos para ajustar a relevância desses resultados, dando-nos um romance imagem taxonomia sistema capaz de fornecer rápido, resultados relevantes em escala.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *