Couchbase Móvil

Haga predicciones de aprendizaje automático con Couchbase Lite

Couchbase Lite API de consulta predictiva permite a las aplicaciones aprovechar modelos de aprendizaje automático (ML) preentrenados para ejecutar consultas predictivas contra datos en la base de datos Couchbase Lite integrada de una forma cómoda, rápida y siempre disponible. Estas predicciones pueden combinarse con predicciones realizadas a partir de datos en tiempo real capturados por su aplicación para permitir una serie de aplicaciones atractivas. La API de consultas predictivas de Couchbase Lite es la primera de su clase en una base de datos integrada. Hemos tenido anunciado la versión Developer Preview de Predictive Query API con Couchbase Mobile 2.5 el año pasado. Con Couchbase Móvil 2.7nos complace anunciar la disponibilidad general de esta función.

En este post, ofrecemos una visión general de la función, incluyendo el contexto en torno a por qué lo construimos y los tipos de aplicaciones que se puede habilitar. También demostramos el uso de la Predictive API con un ejemplo. Puede consultar el documentación para obtener información específica sobre la API y fragmentos de código de ejemplo.

Aprendizaje automático en móviles - Motivación

El aprendizaje automático se ha realizado tradicionalmente en la nube. Con acceso a recursos de computación y almacenamiento "ilimitados", parecía el único lugar viable para hacerlo. Aunque eso puede ser cierto para determinadas aplicaciones, hay una serie de razones para realizar el aprendizaje automático localmente en un dispositivo móvil.

Rapidez y capacidad de respuesta

Al evitar el tiempo de ida y vuelta a la nube, se puede garantizar que los tiempos de respuesta a las predicciones sean del orden de unos pocos milisegundos, independientemente del estado de la conexión de red. Esto es importante, ya que la capacidad de respuesta de una aplicación está directamente relacionada con la experiencia del usuario final, que es importante para la retención de la aplicación.

Siempre disponible

Al ejecutar el aprendizaje automático localmente en el dispositivo, puede realizar predicciones incluso en estado desconectado. Su aplicación y sus datos están siempre disponibles. Esto es especialmente relevante en el caso de aplicaciones de campo desplegadas en entornos desconectados.

Protección de datos

Ejecutar predicciones localmente en el dispositivo implica que los datos sensibles no tienen por qué salir nunca de él. Esto permite crear aplicaciones con experiencias muy personalizadas sin comprometer la privacidad de los datos.

Ahorro de ancho de banda

Al evitar la necesidad de transferir datos a la nube, puede ahorrar en costes de ancho de banda. Esto es especialmente importante en el caso de entornos con limitaciones de ancho de banda de red en los que los planes de datos salen caros.

Todas las ventajas mencionadas se ajustan bien al paradigma de computación periférica donde cada vez es más necesario acercar el almacenamiento y la informática a los extremos.

ML móvil - Ecosistema

El ML móvil es una realidad y hay varios ecosistemas que lo hacen posible.

Potentes dispositivos móviles

Los dispositivos móviles se están volviendo increíblemente potentes. Por ejemplo, el recientemente lanzado iPhone11 y Pixel 4 incluyen motores de núcleos neuronales dedicados. La innovación en la capa de silicio hace factible la ejecución local de modelos de ML en dispositivos móviles. Aprovechando las capacidades de aceleración del hardware de la plataforma, los modelos pueden ejecutarse con un rendimiento óptimo.

Modelos optimizados para móviles

Los modelos de aprendizaje automático han sido tradicionalmente intensivos en almacenamiento y computación. Se están llevando a cabo varios proyectos para optimizar el uso de recursos de los modelos y mantener al mismo tiempo el nivel de precisión requerido. Existe una creciente red de modelos de aprendizaje automático de código abierto preentrenados, como MobileNet y SqueezeNet optimizados para funcionar en dispositivos móviles.

Marcos de aprendizaje automático

Las principales plataformas móviles incluyen compatibilidad con marcos y bibliotecas de aprendizaje automático que facilitan enormemente a los desarrolladores la integración de ML en sus aplicaciones. Estos marcos aprovechan la aceleración por hardware y las API de bajo nivel, lo que les confiere un gran rendimiento. Algunos ejemplos son Núcleo ML para iOS, Tensorflow lite para Android, ML.NET para Windows y Kit ML entre otros.

Creación de modelos ML

Cada vez hay más herramientas y plataformas de código abierto como TensorFlow y crearML que facilitan más que nunca la creación de modelos de aprendizaje automático. No hace falta ser un científico de datos para crear uno.

API de consulta predictiva

La API Predictive Queries permite a las aplicaciones móviles aprovechar modelos de aprendizaje automático (ML) preentrenados para realizar predicciones sobre datos de Couchbase Lite. La API se puede utilizar para combinar predicciones en tiempo real realizadas sobre datos introducidos en la app en tiempo real con predicciones sobre datos de la app almacenados en Couchbase Lite.

Construyendo índice de predicción durante el tiempo de escritura, los usuarios pueden obtener mejoras significativas en el rendimiento de sus consultas. Los resultados de las predicciones pueden materializarse en Couchbase Lite y sincronizarse con otros clientes a través de Pasarela de sincronización.

Aplicaciones

Existen varias aplicaciones de Machine Learning en móviles, incluyendo clasificaciones de imágenes, reconocimiento de voz, reconocimiento de objetos y sistemas de recomendación basados en contenidos. Combinar esas predicciones con datos almacenados en Couchbase Lite tiene el potencial de revolucionar las actividades cotidianas en varios sectores. Todas estas aplicaciones se benefician de ejecutar el aprendizaje automático localmente, lo que garantiza una alta disponibilidad, una respuesta más rápida, un uso eficiente del ancho de banda de la red y la privacidad de los datos. He aquí algunos ejemplos

Venta al por menor y comercio electrónico

Considere este flujo de trabajo
- Entras en una tienda con una foto de un artículo que te interesa. Por ejemplo, una foto de un bolso que viste en alguien.
- Se acerca al dependiente para preguntarle si el artículo está disponible.
- El dependiente hace una foto del artículo con su tableta, que ejecuta una aplicación de catálogo / inventario.
- La imagen capturada se utiliza para buscar en la base de datos del catálogo de la tienda y determinar su disponibilidad.
- Si está disponible en la tienda, se le dirige al pasillo adecuado. También se le pueden presentar alternativas y recomendaciones sobre otros artículos relacionados.

Machine Learning Predictions Retail Application with Couchbase Lite

La búsqueda basada en imágenes aumenta la experiencia de búsqueda más tradicional basada en texto e incluso en voz, que se basa en la capacidad del usuario para describir el artículo de interés. Las aplicaciones con búsqueda basada en imágenes pueden mejorar significativamente la experiencia de compra tanto en línea como en tienda. Aunque las ventajas de la búsqueda basada en imágenes son bastante obvias en el caso de las aplicaciones de comercio electrónico, los flujos de trabajo como el descrito anteriormente brindan una oportunidad a las tiendas tradicionales para competir con las experiencias de compra en línea.

Entre bastidores, la aplicación de catálogo/inventario utiliza un modelo ML de clasificación de imágenes para identificar el artículo capturado con la cámara de la tableta. Una vez identificado, la aplicación busca en la base de datos local Couchbase Lite para comprobar si el artículo está disponible en la tienda y recupera otros detalles relevantes, como si está en stock y el pasillo donde se puede encontrar. Las imágenes nunca salen de la aplicación de la tienda y pueden borrarse localmente después de su uso, lo que alivia cualquier problema de privacidad.

Hostelería

Consideremos un quiosco de autopedido en un restaurante de comida rápida. He aquí un flujo de trabajo típico.
- Te acercas al quiosco equipado con una cámara que capta tu imagen (tienes que optar por ello )
- La imagen facial capturada se utiliza para consultar la base de datos de usuarios registrados e identificar sus preferencias.
- El sistema puede consultar el historial de pedidos, sugerir pedidos de comida, aplicar puntos de fidelidad, etc. El pedido se puede realizar con los datos de la tarjeta de crédito.

Machine Learning Predictions Meal Ordering Application with Couchbase Lite

Los quioscos de autopedido son bastante omnipresentes y han revolucionado la experiencia de pedir comida reduciendo los tiempos de espera, lo que se traduce en un servicio más rápido. Equipar estos quioscos con tecnología de reconocimiento facial puede hacer que la experiencia sea aún más fluida y rápida.

Entre bastidores, el quiosco ejecuta una aplicación que utiliza un modelo ML de reconocimiento facial como OpenFace para generar una huella dactilar única de la imagen facial capturada. A continuación, la aplicación realiza una coincidencia de similitudes entre la huella dactilar de la imagen facial capturada y las huellas dactilares de las imágenes de la base de datos Couchbase Lite para identificar la coincidencia más cercana.

Características

La mejor manera de entender cómo funciona la API es a través de un ejemplo. En este post, voy a describir cómo puedes implementar la aplicación de Reconocimiento Facial comentada anteriormente utilizando la API de Consulta Predictiva. Este es probablemente el flujo de trabajo más complicado. La aplicación de búsqueda basada en imágenes utilizando un modelo clasificador sigue un patrón similar, excepto que es mucho más simple.

  • Requisitos previos
    • El modelo ML de reconocimiento facial está disponible en la aplicación. El modelo ML podría haber sido incluido en la aplicación o extraído de un repositorio externo, con técnicas similares a las siguientes este. El modelo toma una imagen y genera una "huella digital" o "incrustación facial", que es esencialmente una representación vectorial de las características de la imagen.
      Predictive Query API on Couchbase Lite
    • La base de datos Couchbase Lite se rellena con los datos relevantes. En nuestro caso de uso, correspondería a una base de datos de usuarios registrados con "usuario" documentos de tipo. Cada documento de usuario incluye un blob correspondiente a una foto de usuario registrada.
      Predictive Query API on Couchbase Lite
  • Paso 1 : Registrar el modelo ML con Cuchbase Lite
    Puede realizar predicciones con cualquier Modelo ML. Como desarrollador de aplicaciones, implementará el PredictiveModel interfaz y regístrese en con Couchbase Lite. Esta interfaz es muy sencilla y define un único predecir() que debe implementar el desarrollador de la aplicación. En cualquier momento, el Función de predicción en Couchbase Lite, se invoca el método predict() subyacente en el PredictiveModel.
Predictive Query API on Couchbase Lite

  • Paso 2 : Crear índice predictivo
    Crear un índice predictivo en las imágenes de la base de datos de Couchbase Lite ejecutando una predicción en todas las imágenes utilizando el modelo ML registrado. Aunque este paso es opcional, se recomienda encarecidamente crear el índice, ya que tiene un impacto significativo en el rendimiento del tiempo de consulta.
Predictive Query API on Couchbase Lite

  • Paso 3 : Predicción en la imagen capturada
    Ejecutar la predicción sobre la imagen introducida en la aplicación mediante Función de predicción
Predictive Query API on Couchbase Lite

  • Paso 4: Comparación de similitudes y consulta de documentos de usuario
    Ejecutar una coincidencia de similitud entre la imagen capturada y las imágenes de la base de datos utilizando uno de los muchos vector distancia funciones. Consulta la base de datos Couchbase Lite en busca de los documentos con mayor coincidencia
Predictive Query API on Couchbase Lite

Ya está. En sólo 4 sencillos pasos, puedes utilizar la API de consulta predictiva para implementar una aplicación de reconocimiento facial basada en datos en Couchbase Lite.

¿Qué sigue?

Con la nueva API de funciones predictivas, Couhbase sigue demostrando su liderazgo en el área del almacenamiento de datos móviles e integrados. En este post, hemos hablado de algunas aplicaciones y hemos visto un ejemplo de cómo aprovechar la API de consultas predictivas. Esperamos que te haya inspirado para crear las tuyas propias y estamos impacientes por ver las nuevas funciones que habilitarás en tus aplicaciones con esta capacidad.

Aquí tiene enlaces directos a algunos recursos útiles -
Documentación sobre consultas predictivas.
Incluye una guía paso a paso para utilizar la API
Descargas de Couchbase Lite
Predictive Query API está disponible bajo licencia Enterprise. Nuestra Enterprise Edition también puede descargarse gratuitamente y utilizarse con fines de desarrollo.
Aplicación de muestra
Aplicación de ejemplo que demuestra el uso de Predictive API con un modelo Classifier ML
Blogs de Couchbase Mobile
Foros de Couchbase

Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo a través de Twitter o envíame un correo electrónico

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

1 Comentarios

  1. ¡excelente blog y super útil capacidad con CB Lite!

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.