Modelos de aprendizaje profundo: Monitorización y Re-entrenamiento

Daniel Pérez Cabo

Daniel Pérez Cabo

El aprendizaje profundo ha revolucionado numerosos campos, desde la visión por computador hasta el procesamiento del lenguaje natural. Sin embargo, el entrenamiento y mantenimiento de estos modelos puede ser un desafío. Aquí es donde la monitorización y las evaluaciones sobre conjuntos de datos representativos cobran gran importancia.

¿Por qué monitorizar?

Cuando un modelo sale a producción habrá pasado previamente por una evaluación exhaustiva sobre un conjunto de datos suficientemente representativos del escenario que cabe esperar en producción. En base a esta evaluación se supone que el modelo funcionará correctamente una vez desplegado. Pero, ¿es correcto presuponer que el modelo funcionará correctamente de forma indefinida?

Aquí es donde entra en juego la monitorización. Una vez que el modelo está en producción es recomendable, por no decir necesario, monitorizar el comportamiento del modelo periódicamente para asegurar que las prestaciones del modelo se mantienen dentro de los parámetros esperados. En caso contrario actuar lo antes posible para solucionarlo.

En el caso de modelos entrenados mediante supervisión (modelos supervisados), es decir, con datos que tienen algún tipo de etiquetado, la monitorización en tiempo real no es determinista en el sentido de que no tenemos la etiqueta correspondiente para cada muestra de producción. Entonces, ¿qué se puede hacer en estos casos?

Conocimiento de los datos de producción

Para estos casos es imprescindible conocer perfectamente el escenario en el que el modelo va a funcionar: la distribución de los datos así como peculiaridades que puedan existir dentro de la distribución de los datos.

Pongamos por ejemplo un modelo de detección de fraude documental encargado de identificar muestras de documentos que son fotocopias en blanco y negro. Partimos de una base en la que el modelo ha sido validado en un conjunto de datos representativo de imágenes como las que tendrá que analizar en producción. En esta misma base de datos se ha fijado un punto de trabajo para el que el modelo es capaz de detectar 90% de los documentos que son fotocopias en blanco y negro (True Positive Ratio o TPR) mientras que rechaza un 2% de documentos que no son fotocopias en blanco y negro (False Rejection Ratio o FRR). Así tenemos un punto de trabajo estimado:

  • TPR = 90%
  • FRR = 2%

Si he sido capaz de caracterizar correctamente este tipo de fraude en los datos de producción tendré una estimación del total de muestras fraudulentas que puedo esperar y el volumen total de documentos que llegan a producción. Por ejemplo, se procesan de media 1000 documentos al día de los cuales 100 suelen ser fotocopias en blanco y negro.

Con esto es posible tener una idea de cómo debería estar funcionando el modelo en producción.

De los 100 documentos fraudulentos (fotocopia en blanco y negro) el modelo debería detectar el 90% como fraude. Es decir 90 documentos.

De los 900 documento que no son fotocopia en blanco y negro, el modelo debería clasificar erroneamente como fraude el 2%. Es decir 18 documentos.

Por lo tanto, si en producción se observa un valor aproximado a 108 documentos clasificados como fotocopias en blanco y negro significa que el modelo está funcionando según los esperado. Si el número de documentos detectados como fraudulentos por fotocopia en blanco y negro está alejado de ese valor, entonces pueden estar ocurriendo dos cosas: por un lado que hayamos modelado mal o haya variado la distribución de genuinos y fraudulentos en nuestro caso de uso; por otro lado, que el modelo no esté funcionando como se esperaba en este entorno.

Observando el dato

Además de la monitorización general del comportamiento del sistema en producción. Otra tarea relevante y extremadamente útil para la mejora continua de los modelos es la observación y análisis de datos concretos en los que el modelo no funciona correctamente.

Tanto de manera proactiva como si se ha detectado una desviación en los parámetros de funcionamiento del modelo en producción (más muestras identificadas como fraude de las que cabría esperar o menos) es interesante analizar el por qué el modelo clasifica erróneamente muestras de producción. Aquí lo ideal es contar con herramientas que permitan filtrar y visualizar ágilmente las muestras que está procesando el modelo para así poder analizar qué puede estar causando errores de detección de fraude en nuestro modelo.

En caso de detectar indicios de alguna característica en los datos visualizados que pueda estar causando un efecto no deseado en las prestaciones del modelo probablemente indique que dicha característica no está correctamente contemplada en la distribución de los datos de entrenamiento o de la evaluación previa a la puesta en producción del modelo.

Pero, ¿qué puedo hacer en estos casos?

De ser posible, lo ideal sería añadir esos datos a entrenamiento y evaluación (separados correctamente) pero hay ocasiones (la mayoría) en las que no es posible hacer uso esos datos. ¿Y entonces? Pues la solución pasa por caracterizar esos datos lo mejor posible y capturar o generar muestras lo más representativas posibles que permitan entrenar y evaluar esa nueva realidad de los datos observada en producción.

Mejora del modelo basado en los datos

Una vez que disponemos de datos sobre los que el comportamiento del modelo no es el esperado, es momento de volver a entrenar nuestro modelo, validarlo y llevar a producción para volver a empezar el bucle de monitorización y mejora.

Conclusión

La monitorización y el entrenamiento con datos observados son prácticas esenciales en el aprendizaje profundo. Nos permiten mejorar el rendimiento de nuestros modelos, detectar problemas de manera anticipada y obtener una mejor comprensión de nuestros modelos

Esquema de un proceso de modelos de machine learning

Si te ha gustado, comparte en