Active Learning: Optimizando procesos de ML con intervención humana

optimizando-procesos-ML-intervencion-humana

En una encuesta realizada en diciembre de 2019, la editorial O’Reilly consultó a 1.300 ejecutivos y técnicos sobre la adopción de Inteligencia Artificial (IA) en sus empresas. El 85% de las organizaciones declaró estar haciéndolo, ya sea en los primeros pasos de su adopción (evaluación, prueba de concepto, etc.) o bien manteniendo y evolucionando sistemas productivos. Al igual que en la edición anterior de la encuesta (2018), la técnica de Machine Learning (ML) supervisado resultó ser la más popular entre las empresas con los sistemas de IA más maduros. Esta técnica tiene como requisito el contar con datos etiquetados, cuya producción es lenta y por ello costosa. El Active Learning (AL) reduce considerablemente el volumen de datos necesarios a la vez que promueve un enfoque ágil para el desarrollo de proyectos de ML.

Etiquetado de datos, principal cuello de botella

Entrenar modelos de ML supervisados es enseñarle a un ordenador a reconocer patrones a partir de unos datos de ejemplo, cuyos valores verdaderos son conocidos. Para que un modelo pueda predecir el valor de una vivienda, en los datos de entrenamiento deberán estar compuesto de un conjunto de viviendas, sus características (metros cuadrados, habitaciones, etc.)  y su valor real. Esto último es la etiqueta o el valor a predecir por el modelo, cuando lo enfrentemos a datos nuevos (viviendas de las que desconocemos su valor real). 

El proceso de generación de datos de entrenamiento (recolección, limpieza, etiquetado, agregación, etc.) ocupa alrededor del 80% del tiempo de un típico proyecto de ML, donde una cuarta parte corresponde sólo al etiquetado. Según un estudio de Cognoilytica para The Economist, las empresas han invertido 1.510 millones de euros en 2019 sólo en la etapa de preparación de los datos. Para 2024, se estima que esa cifra llegue a los 3.600 millones de euros.

Varios factores pueden explicar el reciente incremento de la inversión. Entre ellos, el elevado costo de reparar errores en los datos de entrenamiento. Dependiendo del contexto, aún un error en el 1% de las predicciones puede ser crítico (en sistemas de detección de enfermedades o de peatones, por ejemplo). Como en cualquier otro sistema informático, el principio Garbage in, garbage out aplica de lleno a los sistemas de ML. Modelos alimentados con datos mal o pobremente etiquetados, no podrán superar esa desventaja inicial ni ajustando 175.000.000.000 de hiperparámetros.

El volumen de datos etiquetados para alimentar un modelo de ML impulsa en buena medida la inversión, pero no es sólo el volumen. Otro factor es que la complejidad de la tarea de etiquetado puede variar mucho de proyecto a proyecto. En algunos casos pueden ser tareas sencillas como dibujar un recuadro alrededor de un objeto.

 

Etiquetado con cajas rectangulares.
Fuente: https://medium.com/@henrytkirk/labeling-images-for-an-object-detection-model-with-labelocity-4041e975cbe1

 

Otras pueden presentar un desafío mayor, ya sea porque son técnicamente más complejas, como es el caso de la segmentación semántica de imágenes o porque requiere comprender información en relación a su contexto, o es intrínsecamente subjetiva como en la moderación de contenido online. 

 

Segmentación semántica de imágenes.
Fuente: https://humansintheloop.org/the-best-image-labeling-tools-for-computer-vision-of-2020/

 

A comienzos de este verano, trabajamos en un proyecto para el que fue necesario etiquetar 1900 imágenes de torres de alta tensión. 

La mayoría se etiquetó usando con cajas rectangulares, para identificar los componentes de las torres (1090 imágenes). Para las 810 restantes, buscamos identificar la zona dañada a nivel de píxel, por lo que se utilizó segmentación semántica. El tiempo total de ésta última fue dos veces el de la selección rectangular. Y en cada imagen se tardó, de mediana, 3,3 veces más.

 

Distribución de tiempos para dos tareas de etiquetado de imágenes.

 

Por último, la idea feliz de los comienzos del auge del ML, que imaginaba al proceso de generación de datos (incluyendo al  etiquetado) como un proceso que sucede una vez al comienzo de un proyecto y no se repite más, tardó poco en colisionar contra la realidad. En la gran mayoría de los casos, los modelos deben ser re-entrenados periódicamente. Esto es así porque los datos, como la realidad que intentan medir, cambian. Y los modelos tienen que re-aprender la nueva realidad para poder predecirla. 

Por esto el Active Learning, al optimizar el proceso de generación de datos, puede ser clave para desatascar el cuello de botella en la implementación de sistemas de IA. Al combinar revisores humanos de manera óptima e iterativa en el proceso de entrenamiento, se reduce el volumen de datos y el tiempo necesario para desarrollar modelos de ML productivos.

Active Learning

Según su definición, el AL es una técnica especial de ML en la que el algoritmo de aprendizaje puede consultar interactivamente a un usuario qué nuevo dato es necesario etiquetar. 

A la hora de entrenar un modelo, no todos los datos aportan la misma información, hay datos con mayor riqueza informativa que otros. La selección eficiente de los datos a etiquetar hace que se pueda alcanzar más rápidamente los objetivos del entrenamiento de un modelo. Al consultar iterativamente al usuario, a lo largo de sucesivos re-entrenamientos, se convierte en un proceso auto correctivo que puede alcanzar medidas más precisas con menos cantidad de datos.

“Active Learning optimiza el proceso de generación de datos al combinar modelos de ML con revisiones humanas”

¿Cómo funciona en la práctica? De manera general, se entrena un primer modelo con pocos datos etiquetados, se le envían datos nuevos para predecir, se seleccionan algunas predicciones para revisar manualmente, se re-etiquetan (si es necesario) y se vuelve a entrenar.

Fuente: https://hai.stanford.edu/blog/humans-loop-design-interactive-ai-systems

 

Dos puntos son clave en la implementación de esta estrategia; el primero es la selección eficiente de los datos a etiquetar, el segundo es contar con la capacidad técnica para entrenar y desplegar rápida y frecuentemente actualizaciones del modelo.  

Selección de datos

Al hacer una consulta a un modelo de ML, éste nos devolverá una etiqueta (la predicción) junto a la probabilidad de que esa etiqueta sea correcta (el indicador de confianza). Esa probabilidad es utilizada para la selección de datos a revisar. 

En un libro de próxima publicación Robert Munro propone agrupar en 3 las diferentes estrategias de selección:  aleatoriedad, incertidumbre y diversidad

En el primer grupo ubica a todas las estrategias en las que el azar es el motor de la selección, ya sea mediante estratificación, cuotas, conglomerados, etc. En estas estrategias, el indicador de confianza tiene un rol secundario (o ninguno,  en el caso del muestreo aleatorio simple).

En el grupo de estrategias de incertidumbre seleccionamos las predicciones que están cercanas o por debajo del índice de confianza. La idea detrás de esta estrategia es que el modelo aprenda a partir de las predicciones de las que menos “seguro” está. Si fuera una tarea de clasificación binaria, seleccionaremos aquellas predicciones con una confianza igual o menor a 50%. 

Por último, con las estrategias de diversidad se busca seleccionar datos que sean desconocidos para el modelo actual. Es decir, que poseen una combinación de características que no estaba presente en los datos de entrenamiento. Dependiendo del caso de uso, esta tarea de selección podría ser realizada por un modelo de detección de anomalías. 

En la práctica, rara vez utilizaremos una estrategia de manera aislada. Sino que suelen ser combinadas o encadenadas en un flujo de trabajo. Sea cuál sea la estrategia a implementar, siempre es recomendable contar con una cantidad de datos seleccionados aleatoriamente para conocer la precisión de nuestro modelo y para tener una base sobre la que comparar la evolución de la estrategia de AL. 

Implementación

Otra de las conclusiones del estudio de O’Reilly citado al comienzo, es que los modelos de IA asistidos por humanos son considerablemente más populares entre empresas con mayor experiencia en el uso de IA que sus pares. Una de las razones es probablemente que la implementación de un sistema que permita el entrenamiento, integración y despliegue de manera continua, no esté hoy en día al alcance de todas las empresas. Este tipo de sistemas requiere de la colaboración entre diferentes perfiles especializados (científicos de datos, ingenieros de datos, DevOps), que deben colaborar de manera muy dinámica para gestionar el ciclo de vida de los modelos de ML. Además, requiere de revisores y un software específico que facilite la revisión y etiquetado de datos. 

Esto hace que un entorno en la nube sea especialmente adecuado para desarrollar un proyecto de AL.

Para cada etapa de un proyecto de ML (experimentación, entrenamiento, inferencia, etc.), el hardware necesario suele variar considerablemente. Como es sabido, una de las principales ventajas de la nube en este sentido es la rapidez para el aprovisionamiento de infraestructura. 

Al desarrollar un proyecto de AL, esto se traduce en la posibilidad de iterar múltiples veces sobre los modelos, incorporando más datos o más revisores, evaluarlos, desplegarlos y monitorearlos con una mayor agilidad. Así un modelo puede estar listo para su delivery antes que en un proyecto de ML tradicional, mientras se continúan las actualizaciones y despliegues.

Los tres principales proveedores de nube pública (AWS, Azure y GCP), comienzan a ofrecer servicios que incorporan el enfoque de Active Learning. Los tres (En el caso de GCP, debido a la emergencia sanitaria producida por el COVID-19, estos servicios se encuentran limitados o no disponibles) ofrecen la posibilidad de configurar una interfaz gráfica para una tarea de etiquetado y su integración dentro de un proyecto de ML (en el caso de Azure, actualmente sólo para tareas de clasificación y detección de objetos en imágenes.). En el caso de AWS, en abril de este año anunció la disponibilidad global del servicio Amazon Augmented AI especializado en la integración de revisión humana en ML (aKa Active Learning). Ofrecen varios flujos de trabajos predefinidos y la posibilidad de adaptarlos o crear uno desde cero. También es posible trabajar con revisores internos o externos. O bien contratar en el mercado de crowdsourcing Amazon Mechanical Turk.

Puntos clave

Si aún dudas respecto a este enfoque, hay un beneficio implícito que bien podría convertirse en su principal impulsor. El AL genera sistemas de IA más robustos, más transparentes, auditados constantemente por humanos. 

¿Te suena quizás? Sí, estas 3 características son parte de los 7 requisitos esenciales contemplados en las directrices publicadas por la Comisión Europea para la regulación de la IA.  Incorporar AL nos ubica en el camino correcto para estar alineados con los principios éticos que probablemente regirán el futuro de la IA.

Si ahora si estás pensando en incorporar este enfoque en un próximo proyecto de ML, aquí van algunas sugerencias (y un meme) para cerrar: 

  • No esperar a tener el mejor modelo posible para incorporar AL. Cuanto más temprano en la evolución del proyecto, mejor.
  • El uso de técnicas de Transfer Learning puede ayudar cuando empezamos desde cero. 
  • El diseño de la estrategia de selección es la pieza fundamental para la optimización del proceso de etiquetado-reentrenamiento. 
  • Pero la infraestructura es crítica para garantizar el éxito.
  • y…

 

 

Imagen: rawpixel.com

Senior Data Scientist en Keepler. “Me formé como científico social y siempre supe que quería combinar mi pasión por la tecnología con mi interés por el comportamiento humano. Soy metódico y disfruto de ofrecer herramientas que agilicen y optimicen los procesos de negocio. En Keepler me dedico a desarrollar productos de datos cloud y a fomentar su buen uso”.

Port Relacionados

¿Qué opinas?

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.