- Documentos de la API
- Introducción
- Uso de la API
- Tutorial de la API
- Resumen
- Fuentes
- Conjuntos de datos
- Comentarios
- Archivos adjuntos
- Predictions
- Crear una transmisión
- Actualizar una transmisión
- Obtener una transmisión por nombre
- Obtener todas las transmisiones
- Eliminar una transmisión
- Obtener resultados de la transmisión
- Obtener comentarios de una transmisión (heredado)
- Avanzar una transmisión
- Restablecer una transmisión
- Etiquetar una excepción
- Desetiquetar una excepción
- Eventos de auditoría
- Obtener todos los usuarios
- CLI
- Guías de integración
- Blog
- Cómo aprenden las máquinas a entender palabras: una guía para las incrustaciones en PNL
- Aprendizaje basado en solicitudes con Transformers
- Efficient Transformers II: destilación de conocimientos y ajuste
- Transformadores eficientes I: mecanismos de atención
- Modelado de intenciones jerárquico profundo no supervisado: obtener valor sin datos de entrenamiento
- Corrección del sesgo de anotación con Communications Mining
- Aprendizaje activo: mejores modelos ML en menos tiempo
- Todo está en los números: evaluar el rendimiento del modelo con métricas
- Por qué es importante la validación del modelo
- Comparación de Communications Mining y Google AutoML para la inteligencia de datos conversacional
Aprendizaje activo: mejores modelos ML en menos tiempo
Entrenar un modelo de aprendizaje automático desde cero es difícil. Es un error común pensar que construir el modelo en sí es la parte más difícil de entrenar un modelo. En realidad, el proceso de recopilación y anotación de datos es mucho más difícil de lo que la gente supone.
Determinar qué conceptos debe aprender el modelo, recopilar los datos, hacer que los expertos en la materia (SME) los anoten y asegurarse de que sean coherentes para garantizar la calidad de las anotaciones son procesos que requieren mucho tiempo y colaboración entre varios equipos y partes interesadas.
Este importante sumidero de tiempo retrasa el tiempo de valor que debería obtener del aprendizaje automático. Además, a menudo es una barrera para utilizar el valor impulsado por ML a través del análisis y la automatización en primer lugar. La diferencia entre la dificultad percibida y la dificultad real de la anotación de datos hace que los proyectos ML fallen debido a limitaciones de tiempo mal estimadas. Si utilizar el aprendizaje automático es un viaje, es como marcharse sin un mapa, perderse y darse por vencido antes de llegar al destino.
En esta publicación de blog, hablaremos de una forma de mitigar estos problemas: el aprendizaje activo, que se encuentra en el corazón de la plataforma Communications Mining.
Aprendizaje activo en pocas palabras
En esencia, el aprendizaje activo es un conjunto de métodos que tienen como objetivo reducir la cantidad de datos necesarios para entrenar un modelo de aprendizaje automático. Es un proceso iterativo en el que los anotadores humanos y el modelo trabajan en colaboración. La idea fundamental es que no todos los puntos de datos son igualmente informativos. Intuitivamente, un buen tutor puede crear un plan de estudios que funcione mejor para un estudiante, en lugar de tener que trabajar con todo el libro de texto.
- Los conceptos fáciles requieren menos datos para aprender bien que los más difíciles
- Si hay diferentes formas de expresar la misma idea, es más valioso mostrar al modelo una amplia variedad de ejemplos en lugar de la misma frase varias veces
- Una vez que un modelo ha entendido con confianza un concepto, es mucho más valioso entrenarlo en otros conceptos que alimentarlo con más datos que solo ayudan a solidificar su comprensión
Hay muchos métodos específicos para el aprendizaje activo, pero todos se basan en definir una noción de incertidumbre del modelo, que cuantifica la confianza del modelo en sus predicciones. Puedes encontrar implementaciones y descripciones de una amplia variedad de métricas de incertidumbre comunes en la biblioteca de python modAL, o puedes obtener más información sobre la investigación de Active Learning en este documento de encuesta. Recomendamos comprobar ambos.
El clásico bucle de aprendizaje activo tiene este aspecto:
Pero eso es suficiente teoría, pongámoslo en práctica.
El conjunto de datos de Reuters
Para fines de demostración, utilizamos el corpus de Reuters disponible públicamente proporcionado por el NLTK. Es una colección de 10 788 artículos de noticias etiquetados con 90 categorías, y cualquier artículo puede tener una o más etiquetas.
grain
, ship
y wheat
.
LOS EXPORTADORES FRANCESES VEAN MAYORES VENTAS DE TRIGO A CHINA
Los exportadores franceses estiman que se han vendido alrededor de 600.000 toneladas de trigo blando francés a China para su entrega en el año 1986/87 (julio/junio). Se exportaron alrededor de 300.000 toneladas a China entre julio de 1986 y febrero de este año. Se enviarán otras 100.000 a 150.000 toneladas durante este mes y aproximadamente la misma cantidad en abril, dijeron. Francia vendió alrededor de 250.000 toneladas de trigo blando a China en 1985/86, según cifras de aduanas. Sin embargo, algunos exportadores temen que China renuncie a parte de su contrato con Francia después de que en enero se le ofreciera un millón de toneladas de trigo blando estadounidense en el marco del Programa de mejora de las exportaciones y se realizaran algunas compras en el marco de la iniciativa.
Puedes encontrar nuestros datos limpios/procesados aquí. ¡Siéntete libre de experimentarlo por ti mismo!
Una sencilla comparación de Active Learning
Comparemos la estrategia de aprendizaje activo de Communications Mining con el muestreo aleatorio del conjunto de entrenamiento, que es la base de referencia estándar para la recopilación de datos.
Para todos los experimentos, nuestra configuración es:
- Seleccionamos las 20 etiquetas más comunes y solo aprendemos esas
- Para nuestra división de entrenamiento/prueba, utilizamos la proporcionada por el conjunto de datos
- Informamos de la media y la desviación estándar en 10 ejecuciones
- El modelo de aprendizaje automático subyacente es exactamente idéntico, la única diferencia es la estrategia de anotación
Ambos métodos comienzan con los mismos 100 ejemplos seleccionados aleatoriamente: el conjunto inicial. El aprendizaje activo necesita una pequeña cantidad de datos iniciales para obtener estimaciones de incertidumbre fiables antes de que podamos utilizarlos para guiar el proceso de entrenamiento. En la práctica, este conjunto inicial suele crearse utilizando Clústeres en la página Descubrir en Communications Mining, pero para que la comparación sea lo más justa posible, utilizamos el mismo conjunto inicial aleatorio para ambos métodos en esta publicación.
Para el aprendizaje activo, elegimos iterativamente los 50 ejemplos más informativos, según lo estimado por la estrategia de aprendizaje activo de Communications Mining, luego reentrenamos un modelo y repetimos. Para la línea de base, muestreamos aleatoriamente 50 ejemplos de los datos restantes sin anotar en cada iteración.
En cada paso de tiempo, comparamos el rendimiento de ambos modelos en el mismo conjunto de pruebas, y utilizamos la Precisión media media (MAP) como nuestra métrica principal.
El aprendizaje activo supera claramente a la línea de base aleatoria. Este último logra un 80 % de MAP después de 3050 ejemplos de entrenamiento, mientras que el entrenamiento basado en el aprendizaje activo lo logra después de solo 1750 ejemplos, o una reducción de 1,7 veces.
Hemos demostrado empíricamente que el aprendizaje activo puede reducir los requisitos de datos para producir un buen modelo, pero ¿es eso realmente lo que queremos lograr?
Creemos que el verdadero objetivo del aprendizaje activo debería ser reducir el tiempo que lleva producir un buen modelo de aprendizaje automático. Este tiempo se divide entre la coordinación de diferentes equipos y la gestión de programaciones, el desarrollo y la formación de modelos por parte de los científicos de datos, y la anotación de datos por parte de las pymes.
Falacias en el aprendizaje activo académico
La mayoría de las investigaciones de Active Learning tienen como objetivo crear métodos que reduzcan aún más los requisitos de datos para un modelo. Suelen hacer suposiciones que no son necesariamente correctas en un entorno real.
Los anotadores no tardan lo mismo en etiquetar todas las entradas
Apuntar solo a reducir el número de puntos de entrenamiento ignora el hecho de que el tiempo para anotar diferentes entradas varía drásticamente, incluso para la misma persona. Las entradas con texto más largo o frases más complicadas tardan más en leerse. Las entradas con más conceptos tardan más en anotarse, porque hay que hacer un seguimiento de muchos temas diferentes mientras se lee el texto.
El cambio de contexto también tiene un coste. Pedir a un etiquetador que anote el mismo concepto 20 veces seguidas será más rápido que anotar 20 conceptos diferentes, ya que el anotador tendrá que cambiar constantemente de contexto mental y no podrá entrar en un buen flujo de anotación.
Mirar solo el número de ejemplos anotados puede ser engañoso. De hecho, si una entrada es la mitad de informativa pero diez veces más rápida de anotar que otra, anotarla es una mejor compensación en términos de tiempo activo de SME. En última instancia, esta es la métrica más importante a minimizar.
Los anotadores no están bien integrados en el bucle
La investigación de Active Learning supone que pedir a un anotador que etiquete una entrada mostrada por el último modelo entrenado puede ocurrir instantáneamente. En este mundo, el anotador humano está estrechamente integrado en el bucle de aprendizaje activo y solo está esperando a que se le proporcione una entrada para anotar, como una máquina de anotación.
En realidad, sin embargo, las pymes responsables de anotar los datos rara vez son las mismas personas que controlan el entrenamiento del modelo. Cada iteración requiere la coordinación entre las pymes y los científicos de datos para pasar los datos de un lado a otro y proporcionar acceso al nuevo modelo, sincronizando con los calendarios ocupados de todos.
El reentrenamiento del modelo no es instantáneo
Dado que el aprendizaje activo requiere muchas iteraciones para mejorar el modelo de forma óptima, una suposición común es que el reentrenamiento de un modelo se produce de forma instantánea, y que la única actividad que requiere mucho tiempo es la anotación de datos. Sin embargo, si el reentrenamiento del modelo está controlado por un equipo de ciencia de datos independiente, o si lo proporciona una solución en la nube de última generación como Google AutoML, el tiempo de reentrenamiento de un modelo puede ser significativo. Google AutoML estima que entrenar un modelo tarda entre 6 y 24 horas. Esto es fundamentalmente incompatible con las iteraciones rápidas, si cada vez que las pymes etiquetan un lote deben esperar 6 horas antes de recibir el siguiente lote, entrenar un modelo llevará semanas, si no meses.
Las pymes no saben cuándo dejar de formarse
Para establecer puntos de referencia y producir investigaciones comparables, el rendimiento suele compararse con un conjunto de pruebas bien definido. Esto es necesario para la investigación académica, pero en el mundo real no existe un conjunto de pruebas de este tipo, ya que comenzamos sin datos anotados. Saber cuándo el modelo ha alcanzado el rendimiento suficiente para ser utilizado en producción y, por tanto, cuándo las pymes pueden dejar de anotar más datos y empezar a obtener valor, es una tarea difícil.
Los conjuntos de datos académicos tienen un conjunto de etiquetas bien conocido que intentan aprender, lo que hace que la precisión del conjunto de pruebas sea un buen indicador del progreso. En el mundo real, las pymes a menudo no están seguras de qué conceptos existen en sus datos y descubren otros nuevos a medida que anotan. Un buen informe de progreso debe tener en cuenta esta incertidumbre.
Aprendizaje activo para el mundo real
En Communications Mining hemos creado un producto que desafía estas suposiciones y tiene en cuenta la realidad de entrenar un modelo de aprendizaje automático en un entorno empresarial con múltiples partes interesadas y requisitos desafiantes.
La interfaz de usuario de Communications Mining está diseñada para ayudar a las pymes a anotar los datos lo más rápido posible. La interfaz de usuario muestra etiquetas sugeridas basadas en las últimas predicciones de los modelos, lo que permite a los usuarios asignar o descartar predicciones rápidamente, en lugar de tener que seleccionar de todo el conjunto de etiquetas. A medida que el modelo mejora, las sugerencias mejoran, lo que hace que sea cada vez más rápido para los anotadores revisar más datos.
El segundo factor clave es que los modelos de Communications Mining son rápidos de entrenar, tardando dos minutos o menos de media. Los modelos se entrenan continuamente en segundo plano, desencadenados por las PYME que anotan los datos.
La calificación del modelo de Communications Mining
La estrategia de aprendizaje activo de Communications Mining está impulsada por la calificación del modelo. La idea detrás de esto es proporcionar una calificación holística que sea fácil de entender, proporcionando tanto una visión general de qué tan bien está funcionando el modelo y cuál es la mejor manera de mejorarlo.
-
Balance realiza un seguimiento de lo bien que los datos de entrenamiento de un modelo representan el conjunto de datos en su conjunto
-
La cobertura realiza un seguimiento de la precisión con la que la taxonomía de conceptos cubre todos los conceptos de los datos
-
Todas las etiquetas realiza un seguimiento del rendimiento predictivo en cada etiqueta
-
Etiquetas de bajo rendimiento realiza un seguimiento del rendimiento predictivo de las etiquetas de menor rendimiento. En un conjunto de datos perfecto, incluso las etiquetas de menor rendimiento deberían funcionar bien
Los dos últimos son bastante similares al rendimiento del conjunto de pruebas utilizado en el ámbito académico, aunque modificados para ser estimados a partir de los datos revisados disponibles en lugar de un conjunto de pruebas conocido a priori. Los dos primeros están diseñados para ayudar a mitigar los posibles errores de la anotación iterativa con un conjunto de etiquetas en constante evolución. Los lectores interesados pueden obtener más información sobre ellos leyendo nuestras próximas publicaciones de blog sobre Saldo y cobertura.
Combinamos todos estos factores en una sola puntuación, la Calificación del modelo. Esto intenta responder a la pregunta de cuándo detener el entrenamiento, proporcionando una puntuación definitiva que se puede utilizar para realizar un seguimiento del progreso.
Es mejor para las PYME anotar muchas entradas ligeramente menos informativas con facilidad que agotarse mentalmente al anotar entradas muy difíciles y detenerse después de solo unos pocos ejemplos.
Las acciones se agrupan para que, al realizar una acción, las PYME intenten mejorar un área específica de un modelo, minimizando el cambio de contexto, el esfuerzo, la frustración y el tiempo dedicado a anotar.
Volvamos al conjunto de datos de Reuters, pero replanteando nuestra comparación anterior en términos de horas humanas en lugar de puntos de datos.
¿Qué tan rápido se puede anotar ?
Para ello, debemos determinar cuánto tiempo se tarda de media en anotar una entrada. Estudiamos los comportamientos de nuestros usuarios mientras utilizaban la plataforma para estimar esto, y descubrimos que los dos factores principales que entran en juego para determinar la velocidad de anotación son si las etiquetas se predicen y si la tarea implica un cambio de contexto.
En la plataforma Communications Mining, algunas vistas de entrenamiento como Aleatorio, Baja confianza, Reciente y Reequilibrar implican la aparición de entradas que no están agrupadas por ningún tema en particular, lo que significa un cambio frecuente de contexto. Otros, como Descubrir, Enseñar etiqueta u ordenar por una probabilidad de etiqueta específica, muestran entradas que están todas relacionadas y, por lo tanto, conducen a una experiencia más enfocada.
La siguiente tabla muestra el tiempo medio estimado por anotación en segundos desglosado por estos dos factores.
ASIGNAR MANUALMENTE |
CONFIRMACIÓN DE PREDICCIONES | |
---|---|---|
Cambio de contexto |
7.10 |
2.95 |
Enfocado |
5.56 |
2.66 |
Observamos que confirmar las predicciones es mucho más rápido que asignar etiquetas manualmente, y que la anotación aleatoria sin herramientas puede ser más de 2,5 veces más lenta que confirmar las predicciones en una herramienta dedicada. Pero incluso sin predicciones, una tarea enfocada es, de media, un 22 % más rápida que una en la que se requiere un cambio de contexto.
Estén atentos a una publicación de seguimiento en el blog en la que profundizamos en estos datos y descubrimos qué hace o deshace una experiencia de anotación rápida.
Con estos datos, podemos estimar las horas humanas activas necesarias para construir un buen modelo.
Comparar estrategias por tiempo de anotación activo
Volvamos a nuestra comparación inicial. Para comprender completamente el impacto de los diferentes factores, además de los dos métodos que comparamos anteriormente, estudiamos tres escenarios adicionales.
-
Active Learning de Communications Mining, que utilizamos en nuestra comparación anterior. Guiados por la Calificación del modelo, en cada paso de tiempo etiquetamos las primeras diez muestras de cada una de las cinco acciones recomendadas antes de volver a entrenar el modelo. En realidad, los modelos de Communications Mining suelen terminar de reentrenarse antes de que se proporcionen 50 nuevas anotaciones, por lo que en la práctica el modelo estaría más actualizado que en nuestra simulación.
-
Aprendizaje activo sin sugerencias, que utiliza la estrategia Communications Mining, pero no una IU de anotación dedicada que acelere la anotación al hacer emerger las predicciones.
-
Muestreo aleatorio sin sugerencias, que fue nuestro punto de referencia en la comparación anterior. En cada paso de tiempo, muestreamos aleatoriamente 50 de los candidatos restantes sin anotar, y no utilizamos una IU de anotación dedicada.
-
Muestreo aleatorio con sugerencias, idéntico a la estrategia anterior pero mejorado con una IU de anotación dedicada.
-
Aprendizaje por lotes aleatorio, como sería de esperar en una situación en la que las pymes no están estrechamente integradas en el proceso de aprendizaje activo y no tienen acceso a herramientas adecuadas como la interfaz de usuario de Communications Mining. En esta situación, asumimos que el entrenamiento del modelo es un proceso largo y, por lo tanto, las anotaciones se realizan en grandes lotes para amortizar el tiempo de entrenamiento. En cada paso de tiempo, muestreamos aleatoriamente 1000 nuevas entradas y las anotamos.
En primer lugar, estudiamos lo que sucedería si solo observáramos el tiempo de SME activo, cuando están sentados frente a un ordenador anotando datos para el entrenamiento del modelo.
Observamos que las herramientas de anotación dedicadas y el aprendizaje activo de forma individual producen mejoras sustanciales con respecto a la base de referencia aleatoria. Combinar el aprendizaje activo con una buena experiencia de usuario nos permite mejorar la eficiencia de los datos y reducir el tiempo necesario para etiquetar cada entrada, combinando así ambos beneficios y acelerando aún más.
Sin embargo, los escenarios intermedios son algo artificiales. En realidad, es probable que una empresa que quiera empezar a aprovechar el aprendizaje automático compre una herramienta como Communications Mining que viene con ambas características, o cree una prueba de concepto interna que estará mucho más cerca del escenario de lotes aleatorios. Por lo tanto, para nuestras comparaciones posteriores nos centraremos en Communications Mining y Random Batch.
Comparamos el delta de tiempo entre ambos escenarios para obtener un modelo que alcanza el 80 % de PAM.
Communications Mining produce una aceleración de 3,1 veces en comparación con la anotación por lotes aleatorios, lo que permite a las pymes lograr el MAP requerido en 3h en lugar de 9h25m. Esa es la diferencia entre una mañana y un día y medio dedicado a anotar.
Estimación del tiempo de creación de valor
La estimación anterior sigue siendo relativamente optimista, ya que solo tiene en cuenta el tiempo que las pymes están anotando activamente. Si bien el tiempo de SME activo es un factor importante a tener en cuenta, el tiempo de creación de valor de un proyecto de aprendizaje automático también se mide en tiempo de pared, o el tiempo en días entre el inicio de un proyecto y la entrega de un modelo que vale la pena utilizar. Al considerar el tiempo de pared, debemos tener en cuenta otros factores.
Como se mencionó anteriormente, si la proporciona una solución en la nube de terceros como Google AutoML, el tiempo de entrenamiento puede tardar hasta 24 horas. En una comparación reciente de los modelos de Communications Mining con AutoML, descubrimos que el entrenamiento en 400-5000 ejemplos solía tardar alrededor de 4 horas, por lo que lo utilizaremos como nuestra estimación.
Además, incluso cuando se utiliza una solución ML en la nube, el entrenamiento del modelo debe ser desencadenado por un equipo de ciencia de datos interno. En esta situación, cada ronda de anotación implica los siguientes pasos:
- Recopilar datos de todas las PYME involucradas en la anotación
- Enviar los datos al equipo de ciencia de datos
- Los científicos de datos comprueban manualmente que los nuevos datos tienen el formato correcto y que se han rellenado todos los campos obligatorios
- Solicitar potencialmente a las pymes que solucionen cualquier problema en los datos
- Combinar los datos existentes con el conjunto recién recopilado
- Entrenar un nuevo modelo
- Valide el rendimiento del nuevo modelo, asegúrese de que la ejecución de entrenamiento finalizó correctamente
- Utilice el nuevo modelo para obtener un nuevo lote de datos no anotados para ser anotados por las pymes
- Enviar los datos para su anotación
Todos estos pasos deben realizarse mientras se coordina entre varios equipos con diferentes prioridades y horarios, lo que genera mucho tiempo de inactividad. A partir de nuestras interacciones con los socios, estimamos que cada iteración tarda un mínimo de 48 horas, pero hemos visto que tarda semanas si las prioridades del equipo no están alineadas.
Utilizando 48 horas como tiempo de inactividad medio debido a la comunicación entre equipos, podemos producir una estimación realista del tiempo de valorización de un proyecto de aprendizaje automático.
Esta tarea puede completarse en 3 horas con Communications Mining, pero sin las herramientas adecuadas puede tardar hasta 270 horas, o 89 veces más lento.
La diferencia entre obtener valor después de medio día de trabajo en el que participe una persona, o durante dos semanas laborales en las que participen varios equipos, puede hacer o deshacer la adopción del aprendizaje automático en una empresa, perdiendo potencialmente el valor que puede proporcionar.
Hemos tratado algunos temas en esta publicación de blog, pero las principales conclusiones son:
- El aprendizaje activo puede ayudar a reducir el número de puntos de datos necesarios para entrenar un buen modelo de aprendizaje automático
- La investigación sobre el aprendizaje activo hace suposiciones que no siempre son realistas
- Al confrontar esas suposiciones e incluir más anotadores humanos en el proceso de anotación, podemos reducir drásticamente el tiempo de creación de valor para un proyecto de aprendizaje automático.
- Priorizar la experiencia humana es vital para una estrategia de aprendizaje activo exitosa
Si desea intentar utilizar Communications Mining para acelerar la adopción del valor impulsado por el aprendizaje automático para su empresa, póngase en contacto con UiPath.