hoy en día, el volumen de fotos tomadas por personas con cámaras de teléfonos inteligentes desafía los límites de la categorización estructurada. Es difícil para una persona categorizar su propio repositorio de fotos de teléfonos inteligentes, y mucho menos definir una taxonomía estructurada para las fotos de todos.
en Facebook, la gente comparte miles de millones de fotos todos los días, lo que hace que sea difícil desplazarse hacia atrás en el tiempo para encontrar fotos publicadas hace unos días, y mucho menos hace meses o años., Para ayudar a las personas a encontrar las fotos que están buscando más fácilmente, el equipo de búsqueda de fotos de Facebook aplicó técnicas de aprendizaje automático para comprender mejor lo que hay en una imagen, así como para mejorar el proceso de búsqueda y recuperación.
Photo Search fue construido con Unicorn, un sistema de indexación en memoria y almacenamiento flash diseñado para buscar billones de bordes entre decenas de miles de millones de usuarios y entidades. Creado hace unos años para impulsar la búsqueda de Gráficos Sociales, Unicorn admite miles de millones de consultas por día que alimentan Múltiples componentes en Facebook.,
Graph Search fue construido para recuperar objetos del gráfico social basado en las relaciones entre ellos, como «mis amigos que viven en San Francisco.»Esto ha demostrado ser efectivo, pero presenta desafíos de ingeniería al restringir la consulta a un subconjunto relevante, ordenar y calificar los resultados por relevancia, y luego entregar los resultados más relevantes. Para aumentar este enfoque, el equipo de búsqueda de fotos aplicó redes neuronales profundas para mejorar la precisión de las búsquedas de imágenes basadas en el contenido visual de la foto y el texto de búsqueda.,
lo que la búsqueda debe entender sobre las fotos
comprender las fotos en la escala de Facebook presenta un desafío diferente en comparación con demostrar bajas tasas de error de reconocimiento de imágenes en la competencia Imagenet Challenge. La investigación aplicada ha producido técnicas de aprendizaje profundo de vanguardia capaces de procesar miles de millones de fotos para extraer significado semántico de búsqueda a gran escala. Cada una de las fotos públicas subidas a Facebook es procesada por un sistema distribuido en tiempo real llamado image understanding engine.,
el motor de comprensión de imágenes es una red neuronal profunda con millones de parámetros aprendibles. El motor se basa en la red residual profunda de última generación entrenada con decenas de millones de fotos con anotaciones. Puede predecir automáticamente un rico conjunto de conceptos, incluyendo escenas, objetos, animales, atracciones y prendas de vestir. Podemos entrenar modelos y almacenar información útil con anticipación, lo que permite respuestas de baja latencia a las consultas de los usuarios.,
El motor de comprensión de imágenes produce vectores flotantes de alta dimensión de características semánticas que son demasiado intensivos computacionalmente para indexar y buscar en la escala de Facebook. Al aprovechar la cuantización iterativa y la tecnología de hash sensible a la localidad, las características se comprimen aún más en un pequeño número de bits que aún conservan la mayor parte de la semántica. La representación de bits se utiliza como la incrustación compacta de las fotos que se pueden emplear directamente en la clasificación, recuperación y deduplicación de fotos., Las incrustaciones compactas clasifican el orden de los resultados en respuesta a la consulta de búsqueda. Es una técnica similar aplicada a la búsqueda y recuperación de documentos, para la cual Unicorn fue creado originalmente, con diferentes algoritmos aplicados a las capas de redes neuronales profundas específicas para buscar una colección de imágenes a gran escala. Las etiquetas de objeto y las incrustaciones semánticas rellenan Unicorn con un índice para las consultas de búsqueda. Se está desarrollando una actualización para utilizar incrustaciones compactas para la recuperación de baja latencia.,
usar etiquetas e incrustaciones para modelar
un modelo de clasificación complejo aplicado a toda la tienda de fotos no es posible dada la escala de Facebook y las expectativas de las personas para una respuesta rápida a sus consultas. Un modelo de relevancia aplicado a las etiquetas e incrustaciones estima la relevancia y produce resultados de consulta de baja latencia.
relevancia del concepto
la relevancia se evalúa con señales de consulta enriquecida y de concepto fotográfico comparando los conjuntos de conceptos con una función de similitud., Por ejemplo, los conceptos de consulta se correlacionan directamente con los conceptos de una foto para la consulta «Central Park» para promover fotos sobre el tema y eliminar fotos fuera del tema durante la clasificación.
incrustar relevancia
medir directamente la correlación de concepto entre una consulta y un resultado a menudo no es suficiente para predecir con precisión la relevancia. El modelo de relevancia que se desarrolló aprovecha el aprendizaje multimodal para aprender una incrustación conjunta entre una consulta y una imagen.,
las entradas al modelo son los vectores de incrustación de la consulta y el resultado de la foto. El objetivo del entrenamiento es minimizar la pérdida de clasificación. Cada vector es entrenado juntos y procesado por varias capas de una red neuronal profunda para producir una señal binaria, donde un resultado positivo denota una coincidencia y uno negativo denota una no coincidencia. Los vectores de consulta y entrada de fotos son producidos por sus redes separadas, potencialmente con un número diferente de capas. Las redes se pueden entrenar o ajustar junto con los parámetros de la capa de incrustación.,
incrustación con pérdida de clasificación
el enfoque descrito anteriormente para determinar la relevancia entre una consulta y una foto se formula como un problema de clasificación. Sin embargo, el objetivo principal del ranking es determinar el mejor orden para el conjunto de resultados fotográficos. Fuimos más allá de la formulación de la clasificación y utilizamos la capacitación con una pérdida de clasificación que procesa un par de resultados relevantes y no relevantes para una sola consulta al mismo tiempo.
como se muestra en esta figura, la parte derecha del modelo es una copia profunda de la parte izquierda; es decir, comparte la misma estructura de red y parámetros., Durante el entrenamiento, una consulta y sus dos resultados se introducen en los componentes izquierdo y derecho, respectivamente. La imagen positiva se clasifica más alta que la imagen clasificada negativamente para una consulta dada. Esta estrategia de entrenamiento muestra ganancias significativas en el ranking de métricas de calidad.
comprensión de la consulta aplicada a la búsqueda de fotos
el corpus de fotos se puede buscar con Unicorn, con las incrustaciones aplicadas por el motor de comprensión de imágenes., El mapa de bits se disociará de la consulta y la recuperación, excepto por el índice utilizado para recuperar la foto si la semántica de la consulta aplicada a las incrustaciones produce una alta probabilidad de relevancia. Algunas de las principales señales que juegan un papel en la comprensión de la semántica de la consulta se resumen a continuación:
Los intentos de consulta sugieren qué tipos de escenas debemos recuperar. Por ejemplo, una consulta con la intención de obtener un animal debe mostrar resultados fotográficos con el animal como tema central.,
El análisis sintáctico ayuda a comprender los componentes gramaticales de una oración, las partes del habla, las relaciones sintácticas y la semántica. Las consultas de búsqueda Generalmente no observan la gramática de un lenguaje escrito, y los analizadores existentes funcionan mal. Utilizamos técnicas de vanguardia para entrenar a los etiquetadores de la parte neuronal del habla en las consultas de búsqueda.
Entity linking nos ayuda a identificar fotos sobre conceptos específicos, a menudo representados por una página; por ejemplo, lugares o programas de televisión.
reescribir el conocimiento de la consulta para extraer conceptos proporciona una interpretación semántica de una consulta., Los conceptos no solo extienden el significado de la consulta, sino que también cierran la brecha entre los diferentes vocabularios utilizados por la consulta y el resultado.
la incrustación de consultas es una representación de espacio vectorial continua de la consulta. Se aprende a través del aprendizaje de Transferencia en la parte superior de la representación vectorial de palabras word2vec, que mapea consultas similares a puntos cercanos.
verticales y reescritura de consultas
cuando alguien escribe una consulta y accede a la búsqueda, se genera una solicitud y se envía a nuestros servidores. La solicitud va primero al nivel web, que recopila información contextual sobre la consulta., La consulta y el contexto asociado se envían a un nivel de agregador superior que reescribe la consulta en una expresión s, que luego describe cómo recuperar un conjunto de documentos del servidor de índices.
en función de la intención de consulta, se emplea un mecanismo de activación utilizando un modelo de red neuronal para decidir qué verticales (por ejemplo, noticias, fotos o videos) son relevantes para evitar solicitudes innecesarias procesadas en verticales menos relevantes., Por ejemplo, si una persona consulta el término «gatos divertidos», la intención buscaría y devolvería más resultados desde la vertical de fotos y omitiría los resultados de las consultas desde la vertical de noticias.
si una consulta sobre Halloween activa tanto la intención de las fotos públicas como las fotos de amigos con disfraces de Halloween, se buscarán las verticales de fotos públicas y sociales. Se devolverán las fotos compartidas entre los amigos del buscador y las fotos públicas clasificadas como relevantes. Se realizan dos solicitudes independientes porque las fotos sociales son altamente personalizadas y requieren su propia recuperación especializada y puntuación., La privacidad de las fotos está protegida aplicando los controles de privacidad de todo el sistema de Facebook a los resultados. El siguiente diagrama muestra un módulo donde la sección superior es social y la parte inferior es pública.
First-stage ranking
después de que los servidores de índice recuperen documentos de acuerdo con la expresión s, el ranker de primera etapa aprendido por máquina se aplica a esos documentos., Los documentos m superiores con las puntuaciones más altas se envían de vuelta al nivel de agregador de rack, que realiza el tipo de combinación de todos los documentos que recibe y luego devuelve los resultados n superiores al nivel de agregador superior. El objetivo principal de la clasificación de la primera etapa es asegurarse de que los documentos devueltos al agregador de rack conserven la relevancia de la consulta. Por ejemplo, para la consulta «perro», las fotos con perros deben clasificarse más arriba que las que no tienen perros. La latencia de la complejidad de la etapa de recuperación y clasificación se equilibra para servir fotos relevantes del orden de milisegundos.,
segunda etapa re-clasificación
después de que los documentos clasificados se devuelven al agregador superior, pasan por otra ronda de cálculo de señales, deduplicación y clasificación. Las señales que describen la distribución de todo el resultado se calculan, detectando resultados periféricos. A continuación, los documentos se deduplican de resultados visualmente similares utilizando huellas dactilares de imagen. Una red neuronal profunda luego puntúa y clasifica el orden final de los resultados de la foto. La colección de fotos clasificadas, denominada módulo, se pasa a la interfaz de usuario de la página de resultados.,
fine-tuning relevance ranking for Photo Search
la evaluación de la relevancia de una consulta para una foto y viceversa es un problema central de la búsqueda de fotos que se extiende más allá del alcance de la reescritura y coincidencia de consultas basadas en texto. Requiere una comprensión completa de la consulta, el autor, el texto de la publicación y el contenido visual del resultado de la foto., Se desarrollaron modelos de relevancia avanzados que incorporan clasificaciones de vanguardia, procesamiento del lenguaje natural y técnicas de visión por computadora para afinar la relevancia de esos resultados, lo que nos brinda un novedoso sistema de taxonomía de imágenes capaz de entregar resultados rápidos y relevantes a escala.