Equipo de ciencia de datos en ParallelDots - Informe de fin de año PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Equipo de ciencia de datos en ParallelDots: informe de fin de año

Equipo de ciencia de datos en ParallelDots - Informe de fin de año PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

2020 [y la primera mitad de 2021] fue un cisne negro. Familias, Sociedades y empresas tuvieron que enfrentarse a cosas que no podían haber imaginado. En esta publicación, intentaré resaltar cómo el equipo de IA de ParallelDots se ha estado adaptando en este período y construyendo para la próxima generación de nuestras soluciones de IA minorista.

ParallelDots entró en el modo de trabajo remoto completo en febrero de 2020 y, desde entonces, el equipo no se ha reunido físicamente durante un día. Siempre habíamos sido una unidad muy unida antes de eso y, por lo tanto, las primeras semanas se dedicaron por completo a construir una cultura de trabajo remota. Tuvimos que pensar en una mejor comunicación y una estructura de propiedad muy diferente. Dado que la empresa también estaba lidiando con un shock comercial, estas semanas fueron difíciles. Personalmente, estoy orgulloso de la forma en que nuestro equipo manejó la presión y no solo se ajustó sino que evolucionó para convertirse en la máquina batidora de tecnología superior que siempre ha sido. Solo unas pocas semanas de ajustes y volvimos a ser increíbles.

Desafíos para el equipo de IA [alrededor de marzo de 2020]

[Es posible que encuentre aburrido el 'por qué' de los diferentes algoritmos y sistemas de IA que estamos construyendo, lo sé porque lo habría hecho 😉, en caso de que solo esté interesado en el 'cómo', o toda la nueva sección de tecnología y algoritmos geniales, bajar a la sección 'Nuevos Sistemas y Algoritmos']

El rol del equipo de IA de ParallelDots es resolver diferentes problemas que obstaculizan nuestra infraestructura de capacitación e implementación de IA en ParallelDots. Puede dividir estos desafíos en: A. Cuellos de botella de entrenamiento y precisión de IA [o cuellos de botella de investigación] y B. Cuellos de botella de implementación/inferencia [o cuellos de botella de MLOPS como los llamamos] . A principios de 2020, mientras nuestra tecnología de IA ya procesaba más de un millón de imágenes por mes, algunos desafíos que se esperaba que resolviéramos para escalar eran:

  1. Implementación de una infraestructura de inferencia que puede escalar automáticamente en caso de que haya demasiadas imágenes minoristas para procesar para preservar nuestros SLA y asegurarnos de que la implementación se reduzca para cargas de trabajo pequeñas. Las GPU son máquinas costosas y tener una infraestructura estática [o estándar o de desarrollo manual] es una cuerda floja entre cumplir con los SLA y evitar altos costos.
  2. Hacer que nuestros algoritmos de visión por computadora minoristas se ejecuten en el teléfono. Siempre habíamos pensado en un nuevo producto en el que la IA de última generación pudiera usarse en teléfonos en pequeños puntos de venta minorista con una conexión a Internet lenta para Facturación/GRN/Gestión de inventario. No solo eso, algunos de nuestros posibles clientes de estanterías querían implementaciones que pudieran usarse dentro de las tiendas para una inferencia rápida sin la espera de la carga y el proceso de la imagen. Éramos conscientes de que si pudiéramos hacer que nuestros algoritmos de IA minoristas se ejecutaran en teléfonos, nos ayudaría a construir el segundo producto de nuestros sueños, pero también ayudaría a nuestro producto existente a obtener nuevos clientes. Los dos desafíos anteriores son desafíos MLOPS como los llamamos.
  3. Detección de variantes de tamaño de productos en imágenes. Otro desafío fue detectar variaciones en el nivel de tamaño de un producto en imágenes minoristas. Como ejemplo, supongamos que tiene una imagen para un estante de papas fritas y tiene que detectar los conteos no solo de Lay's magic masala usando IA, sino también dividir entre paquetes de 10 INR / 20 INR / 30 INR de Lay's Magic masala en tu análisis. Para las personas que no han trabajado en Computer Vision, esto podría parecer un próximo problema obvio y simple de resolver dado que la IA puede detectar productos en el estante y clasificarlos como marcas con una precisión muy alta. Pero conoces el famoso XKCD #1425 [Siempre hay un XKCD relevante para todo 😉]. XKCD relevante
  4. Verificación de partes de materiales de punto de venta. Otra parte del análisis de las imágenes de los estantes, además de detectar e identificar los productos en los estantes, es verificar la presencia de varios materiales de punto de venta en los estantes. Estos materiales de punto de venta son cosas que vería a menudo en una tienda minorista o kirana a su alrededor, como tiras de estantes, recortes, carteles, gandolas y estantes de demostración. Utilizamos la coincidencia de puntos clave profundos para tales coincidencias durante mucho tiempo y solía funcionar bien. Sin embargo, con el tiempo, los clientes nos pidieron no solo que verificáramos POSM en las imágenes de los estantes, sino también que señaláramos las piezas faltantes que un comerciante podría haber pasado por alto en un POSM. Por ejemplo, es posible que un comerciante no haya colocado un póster en un estante de demostración o que se haya retirado en la tienda debido a algún accidente. Para hacer esto con mucha precisión a un nivel en el que funcione la clasificación de imágenes, necesitábamos un algoritmo que funcionara en todas partes sin entrenamiento, ya que los POSM cambian en semanas o meses.
  5. Formación de detectores de productos de estantería más precisos. Retail Shelf Computer Vision ha pasado a la tecnología de tener un detector de objetos de estantería genérico [extraer cualquier objeto de estantería sin clasificarlo] en el primer paso y luego clasificar los productos extraídos en el segundo paso para evitar los problemas de detectores de un solo paso + clasificadores crear [desviación masiva del producto en los estantes que crea malas salidas de clasificación / capacitación en una gran cantidad de datos por proyecto y ninguna ganancia incremental de la mejora de la IA de proyectos anteriores, etc.]. Ya teníamos un sistema de este tipo de un detector de objetos de estantería genérico y un clasificador de última generación en el segundo paso en 2019, pero las formas de la caja de salida del detector de objetos de estantería podrían haber sido mejores.
  6. Usar el entrenamiento pasado de IA y las correcciones de errores para entrenar a los clasificadores mejor y más rápido. Entrenamos a tantos clasificadores [modelos que clasifican objetos de estantería extraídos por el algoritmo del paso 1 en una de las marcas de productos que requerimos]. ¿Hay alguna forma de utilizar todos los datos de entrenamiento que recopilamos, incluidos los errores de los clasificadores anteriores, para crear un algoritmo que pueda ayudar a entrenar nuevos clasificadores de forma rápida y precisa? Es una pregunta que siempre está presente. Los cuatro problemas de investigación [3-6] que ha encontrado reflejan los nuevos requisitos de nuestro producto ShelfWatch [3,4] y la mejora de la pila existente [5,6]. Ahora también había un conjunto de problemas de investigación de nuestra pila de API de NLP.
  7. Una API de análisis de sentimiento más genérica. La API de análisis de sentimiento que teníamos en línea se entrenó en tweets anotados internamente y, por lo tanto, a pesar de tener una gran precisión, podía fallar en cosas más específicas del dominio, como artículos políticos o financieros. A diferencia de los tweets, los artículos de diferentes dominios son difíciles de anotar por parte de personas que no tienen experiencia en el dominio de un conjunto de datos. El uso de una gran cantidad de datos no anotados para entrenar clasificadores que podrían funcionar en todos los dominios ha sido un desafío constante.
  8. Una nueva API de sentimiento dirigido. El análisis de sentimientos basado en aspectos ha existido durante algún tiempo. Finalmente tuvimos un conjunto de datos anotados internamente para dicho análisis, pero nuestro objetivo era algo más específico. Queríamos crear una API en la que dieras una oración: "La manzana no estaba sabrosa, pero la naranja estaba realmente rica". daría un resultado negativo cuando se analiza para "Apple" o positivo cuando se analiza para naranja. Por lo tanto, nuestro objetivo era construir un algoritmo de análisis de sentimiento basado en aspectos de última generación.

Ahora que los he aburrido con los detalles de los desafíos que estábamos tratando de resolver, pasemos a la parte interesante. Nuestras nuevas plataformas y algoritmos MLOPS.

Nuevos Sistemas y Algoritmos

Permítanme presentarles a mis nuevos amigos, algunos sistemas tecnológicos increíbles y algoritmos de inteligencia artificial que hemos desarrollado e implementado la última vez para abordar los cuellos de botella.

Reconocimiento de productos móviles AI o Reconocimiento de estantes móviles AI

Introducción a ParallelDots Oogashop – Enlace

(Feed y vídeo de LinkedIn)

Hemos creado e implementado no uno, sino dos tipos diferentes de algoritmos de IA en dispositivos móviles. Es posible que haya visto nuestras publicaciones extremadamente virales hace unos días en las que demostramos la facturación de teléfonos móviles y hablamos sobre auditorías de estantes fuera de línea.

Aquí está el enlace a la función de reconocimiento de imágenes en el dispositivo (ODIN) de ShelfWatch: Enlace

(Artículo)

Básicamente, estos modelos de IA son versiones reducidas de los modelos que implementamos en la nube. Con cierta pérdida de precisión, estos modelos ahora son lo suficientemente pequeños como para ejecutarse en una GPU de teléfono [que es mucho más pequeña que una GPU de servicio]. Los nuevos marcos de implementación móvil de Tensorflow son lo que usamos para implementar estos modelos en nuestra aplicación OOGASHOP y ShelfWatch respectivamente.

(Papel) Segmentación de estantes minoristas compactos para implementación móvil: Enlace

Pratyush Kumar, Muktabh Mayank Srivastava

Inferencia de inteligencia artificial en la nube con ajuste de escala automático

Cuando las tiendas abren alrededor de las 11 a.m. [11 a.m. para diferentes zonas horarias, es decir, en cualquier lugar del mundo en el que nuestros clientes tengan su fuerza de ventas o comerciantes], nuestros servidores se enfrentan a una cantidad increíble de comerciantes que cargan fotos en nuestra nube para procesarlas y contarles sobre sus puntaje de ejecución minorista. Y luego, después de las 11 p. m., cuando cierran las tiendas minoristas, apenas tenemos suficiente carga de trabajo de inferencia de IA. Si bien muchos proveedores han introducido el escalado automático similar a Lambda, queríamos una técnica de escalado automático independiente de la nube para nuestra infraestructura de inferencia de IA. Cuando hay más imágenes en nuestra cola de procesamiento, necesitamos más GPU para procesarlas; de lo contrario, solo una o quizás ninguna. Para hacer esto, toda la capa de inferencia de IA se movió a la arquitectura basada en Docker, Kubernetes y KEDA, donde se puede generar una cantidad arbitraria de nuevas GPU en función de la carga de trabajo. No más una cuerda floja de tratar de administrar el SLA de la empresa y ahorrar dinero en el costoso funcionamiento de las máquinas GPU.

Mejora de los algoritmos de detección de objetos de estantería

(Papel) Aprendizaje de mapas gaussianos para la detección de objetos densos – Enlace

Sonaal Kant

Habíamos estado usando RCNN más rápidos simples entrenados para la extracción de objetos de estantería anteriormente: Documento básico de detección de objetos simples . Funcionó bien para muchos casos de uso. pero necesitábamos enfoques más avanzados. En 2020, nuestro equipo descubrió un nuevo método para usar Gaussian Maps para obtener resultados de última generación. Este trabajo [publicado más tarde en BMVC, una de las principales conferencias de Computer Vision Sitio web de la BMVC ] nos ayudó a obtener no solo resultados satisfactorios, sino también los mejores resultados posibles en la detección de objetos en estantes.

Aprendizaje de mapas gaussianos para la detección de objetos densosAprendizaje de mapas gaussianos para la detección de objetos densos

El truco consiste esencialmente en usar el entrenamiento de mapas gaussianos como una pérdida auxiliar para la detección de objetos. Esto hace que las cajas para diferentes productos sean mucho más precisas.

Otra pregunta que hemos estado tratando de abordar durante mucho tiempo en términos de detección de objetos en estantes ha sido, ahora que la necesidad de reconocer productos se ha trasladado a una tarea posterior y la tarea es dibujar cuadros sobre todos los productos posibles, ¿hay algún forma de utilizar los ruidos y las distorsiones contenidos en un gran conjunto de datos sin anotar para mejorar la detección de objetos de estantería. En un trabajo reciente, [mencionado en Taller RetailVision en CVPR 2021 Taller de visión minorista ], utilizamos nuestro enorme repositorio de imágenes de estantes sin anotaciones para mejorar la precisión de la tarea de detección de objetos de estantes.

(Papel) Aprendizaje semisupervisado para la detección de objetos densos en escenas minoristas: Enlace

Jaydeep Chauhan, Srikrishna Varadarajan, Muktabh Mayank Srivastava

La capacitación de estudiantes basada en pseudoetiquetas es un truco que hemos utilizado en múltiples campos, no para la detección de objetos de estantería. Mientras que otras técnicas de autoaprendizaje requieren que se carguen grandes lotes en las GPU, lo que dificulta que una empresa con hardware limitado como ParallelDots las pruebe. , pseudoetiquetas es lo que hemos adaptado como nuestro truco para hacer el autoaprendizaje de una sola GPU.

Aprendizaje semisupervisado para la detección de objetos densos en escenas minoristas PseudoetiquetasAprendizaje semisupervisado para la detección de objetos densos en escenas minoristas Pseudoetiquetas

Mejoramiento de la precisión de la clasificación

Hemos usado múltiples trucos en el pasado para entrenar clasificadores precisos con alta precisión.

Bolsa (de papel) de trucos para la clasificación de imágenes de productos minoristas: Enlace, que ilustra cómo entrenamos clasificadores con alta precisión.

Muktabh Mayank Srivastava

Todas las cajas que el detector de objetos de estantería extrae de una imagen de estantería pasan por este clasificador para inferir la marca del producto.

Bolsa de trucos para mayor precisión de clasificación al por menorBolsa de trucos para mayor precisión de clasificación al por menor

Sin embargo, con los catálogos de tiendas que cambian con frecuencia, nuestro clasificador de productos debe evolucionar para hacer las cosas de manera un poco diferente. El entrenamiento de un clasificador requiere muchos recursos, con productos que se agregan o eliminan rápidamente de los catálogos de las tiendas, necesitamos un clasificador que se pueda entrenar rápidamente y que sea más preciso o al menos tan preciso como los métodos que involucran el ajuste fino de la columna vertebral completa. Esto suena como tener un pastel y calificarlo también, y eso es lo que se ha demostrado que hacen las técnicas de autoaprendizaje en Deep Learning. Hemos estado tratando de usar conceptos de autoaprendizaje para crear clasificadores que se puedan entrenar muy ligeramente.

(Papel) Uso de aprendizaje contrastivo y pseudoetiquetas para aprender representaciones para la clasificación de imágenes de productos minoristas: Enlace

Muktabh Mayank Srivastava

El truco que usamos aquí es emplear el enorme depósito de imágenes de productos minoristas que tenemos [tanto con anotaciones como sin anotaciones] para capacitar a un aprendiz de representación, cuya salida se puede enviar a un clasificador de aprendizaje automático simple para capacitación. Tales representaciones de características aprendidas funcionan bastante bien. Qué genial es entrenar un pequeño clasificador de regresión logística para clasificar imágenes minoristas. Desafortunadamente, tenemos más de 20 veces más imágenes para tales tareas, por lo tanto, en este momento, la precisión que logramos se limita a la infraestructura de hardware limitada para realizar dicho autoaprendizaje y aún así superamos el estado del arte en muchos conjuntos de datos [no en todos].

Uso de aprendizaje contrastivo y pseudoetiquetas para aprender representaciones para la clasificación de imágenes de productos minoristasUso de aprendizaje contrastivo y pseudoetiquetas para aprender representaciones para la clasificación de imágenes de productos minoristas

Inferencia basada en el tamaño de las imágenes de estantería

hombre que sostiene paquetes de papas fritas azuleshombre que sostiene paquetes de papas fritas azules

Si bien hemos estado detectando marcas de diferentes productos que se ven en las imágenes de los estantes, una especificación reciente que hemos tratado de resolver es razonar sobre qué variante de tamaño de un producto es el producto del que dependemos. Por ejemplo, mientras que la tubería de Computer Vision detecta un Lays Magic Masala en el estante y lo clasifica como Lays Magic Masala, ¿cómo sabemos si es una variante de 50 gramos, una variante de 100 gramos o una variante de 200 gramos del producto? Por lo tanto, incluimos una tercera tarea posterior para adivinar la variante de tamaño del estante. Esta tubería toma las diferentes cajas extraídas del estante, sus marcas y crea características que se pueden usar para adivinar el tamaño. Como es obvio, no puede usar las coordenadas o el área del cuadro delimitador por razones tales como que las imágenes se pueden tomar desde cualquier distancia. Usamos funciones como la relación de aspecto y la relación de área entre cajas de diferentes grupos para inferir la variante de tamaño.

(Papel) Enfoques de aprendizaje automático para hacer un razonamiento basado en el tamaño en objetos de estantes minoristas para clasificar variantes de productos: Enlace

Muktabh Mayank Srivastava, Pratyush Kumar

Se utilizan muchos trucos de ingeniería de funciones para entrenar las dos variantes de la tarea de razonamiento: usar XGBOOST sobre funciones agrupadas y usar una red neuronal sobre funciones derivadas del modelo de mezcla gaussiana.

Enfoques de aprendizaje automático para hacer un razonamiento basado en el tamaño de los objetos de Retail Shelf para clasificar las variantes de productosEnfoques de aprendizaje automático para hacer un razonamiento basado en el tamaño de los objetos de Retail Shelf para clasificar las variantes de productos

Razonamiento sobre los materiales de punto de venta

Cuando ingresa a una tienda minorista, notará diferentes materiales POSM: tiras de estantes, recortes, carteles, gandolas y estantes de demostración.

Material de punto de venta de Colgate Razonamiento POSMMaterial de punto de venta de Colgate Razonamiento POSM

Si bien hemos estado utilizando la coincidencia de representación de puntos clave basada en Deep Learning para verificar la presencia de POSM en una imagen, había una tarea para razonar acerca de POSM parte por parte. Es decir, en el ejemplo anterior, por ejemplo, es posible que debamos verificar si la fotografía del producto hacia la derecha en la tira ideal del estante está presente en una ubicación del mundo real o no. Llamamos a esto detección de "Parte" después de la verificación POSM.

(Papel) Uso de Keypoint Matching y Interactive Self Attention Network para verificar los POSM minoristas: Enlace

Harshita Seth, Sonaal Kant, Muktabh Mayank Srivastava

Esencialmente, dado que POSM cambia muy rápido semanalmente/mensualmente, nunca puede obtener una gran cantidad de datos para entrenar algoritmos para cada POSM. Por lo tanto, necesitamos algoritmos que se entrenen de alguna manera en conjuntos de datos existentes para que puedan aplicarse en cualquier conjunto de datos. Ese es nuestro objetivo con el trabajo reciente de la red de autoatención para POSM. Usamos puntos clave coincidentes [en una imagen POSM ideal y una imagen real] y sus descriptores [de ambas imágenes] como entrada para cada parte por separado para determinar la presencia exacta.

Uso de Keypoint Matching y Interactive Self Attention Network para verificar los POSM minoristasUso de Keypoint Matching y Interactive Self Attention Network para verificar los POSM minoristas
Equipo de ciencia de datos en ParallelDots: informe de fin de año

Una API de análisis de sentimiento que funciona en cualquier dato de dominio

Al entrenar un modelo para que se implemente como una API de análisis de sentimientos, realmente no se pueden anotar datos de diferentes dominios. Por ejemplo, el modelo de análisis de sentimiento anterior que teníamos era un modelo de lenguaje extenso ajustado sobre 10-15k tweets impares que anotamos internamente. Entonces, el algoritmo apenas ha visto sentimientos expresados ​​en diferentes dominios mientras aprende. Intentamos usar Self Learning para hacer que nuestro algoritmo de clasificación de sentimientos sea resistente al cambio de dominio. Tome más de 2 millones de oraciones sin anotaciones, ejecute una versión anterior del clasificador para crear pseudoetiquetas y entrene un nuevo clasificador para aprender estas pseudoetiquetas y boom... tiene un clasificador de sentimientos que es mucho más robusto en el dominio, mientras que su precisión en el dominio inicial sigue siendo la misma. mismo. Suena demasiado bueno para ser verdad, echa un vistazo a nuestro trabajo:

(Papel) El uso de Psuedolabels para entrenar Clasificadores de Sentimientos hace que el modelo se generalice mejor a través de conjuntos de datos – Enlace

Natesh Reddy, Muktabh Mayank Srivastava

Crear un método de vanguardia para detectar sentimientos específicos

Para nosotros, en el negocio de API de NLP, el sentimiento objetivo es cuando tiene la oración "La manzana no era tan sabrosa, pero la naranja era buena", un clasificador devuelve negativo cuando ingresa "manzana" y positivo si ingresa naranja. Básicamente, sentimiento dirigido hacia un objeto en una oración. Hemos desarrollado un nuevo método que detecta sentimientos específicos y que pronto estará disponible como una API NLP. El campo de investigación corresponde al análisis de sentimiento basado en aspectos y nuestro trabajo reciente obtiene resultados de vanguardia en múltiples conjuntos de datos, simplemente ajustando una arquitectura que compara contextual [BERT] y no contextual [GloVe]. El sentimiento está oculto en algún contexto en alguna parte, ¿verdad?

(Papel) ¿El BERT entiende el sentimiento? Aprovechar las comparaciones entre incrustaciones contextuales y no contextuales para mejorar los modelos de opinión basados ​​en aspectos: Enlace

Natesh ReddyPranay Deep SinghMuktabh Mayank Srivastava

PARTE 1: ¿El BERT entiende el sentimiento aprovechando las comparaciones entre incrustaciones contextuales y no contextuales para mejorar los modelos de sentimiento basados ​​en aspectos?PARTE 1: ¿El BERT entiende el sentimiento aprovechando las comparaciones entre incrustaciones contextuales y no contextuales para mejorar los modelos de sentimiento basados ​​en aspectos?
PARTE 2: ¿BERT entiende el sentimiento aprovechando las comparaciones entre incrustaciones contextuales y no contextuales para mejorar los modelos de sentimiento basados ​​en aspectos?PARTE 2: ¿BERT entiende el sentimiento aprovechando las comparaciones entre incrustaciones contextuales y no contextuales para mejorar los modelos de sentimiento basados ​​en aspectos?
Equipo de ciencia de datos en ParallelDots: informe de fin de año

Adelante y hacia arriba

Espero que les haya gustado la nueva tecnología que hemos desarrollado el año pasado. Muy feliz de responder preguntas si tiene alguna. Continuamos desarrollando tecnología nueva y emocionante y estamos trabajando en algunos nuevos problemas interesantes de aprendizaje automático, como redes neuronales gráficas para recomendaciones minoristas, clasificación de imágenes fuera de distribución y modelos de lenguaje. También estamos contratando, escríbanos a careers@paralleldots.com o presente su solicitud en nuestra página AngelList para unirse a nuestro equipo de IA. Puede postularse si desea ser un ingeniero de aprendizaje automático, un desarrollador de back-end o un administrador de proyectos de IA. Lista de ángeles de ParallelDots

Equipo de ciencia de datos en ParallelDots - Informe de fin de año PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Equipo de ciencia de datos en ParallelDots - Informe de fin de año PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

¿Le gustó el blog? Mira nuestros otros Blogs para ver cómo la tecnología de reconocimiento de imágenes puede ayudar a las marcas a mejorar sus estrategias de ejecución en el comercio minorista.

¿Quieres ver cómo está funcionando tu propia marca en los estantes? Hacer clic esta página programar una demostración gratuita para ShelfWatch.

Cofundador y científico jefe de datos, ParallelDots at Puntos Paralelos
Últimos mensajes de Muktabh Mayank (ver todo)

Sello de tiempo:

Mas de Puntos Paralelos