Deriva de datos
Descubra los tipos, causas y soluciones de la desviación de datos en el aprendizaje automático. Aprenda a detectar y mitigar la desviación de datos para obtener modelos de IA sólidos.
La desviación de datos es un problema común en el aprendizaje automático (AM) que se produce cuando las propiedades estadísticas de los datos que un modelo encuentra en producción cambian con el tiempo en comparación con los datos de entrenamiento con los que se construyó. Este cambio significa que el modelo funciona con datos para los que no estaba preparado, lo que puede provocar una degradación silenciosa pero significativa de su rendimiento predictivo. Gestionar eficazmente la desviación de datos es un componente crítico del ciclo de vida de MLOps, que garantiza que los sistemas de Inteligencia Artificial (IA) sigan siendo fiables tras la implantación del modelo. Sin una supervisión proactiva del modelo, este problema puede pasar desapercibido, lo que puede dar lugar a decisiones erróneas y resultados empresariales negativos.
Deriva de datos frente a deriva de conceptos
Es importante distinguir la deriva de datos de un problema relacionado, la deriva de conceptos. Aunque ambos pueden degradar el rendimiento del modelo, sus causas son diferentes.
- Deriva de datos: También conocida como deriva de características o covariables, se produce cuando cambia la distribución de los datos de entrada, pero la relación subyacente entre entradas y salidas permanece constante. Por ejemplo, un modelo de visión por ordenador entrenado en imágenes de un tipo de cámara puede tener un rendimiento deficiente en imágenes de una cámara nueva con propiedades de sensor diferentes. La definición de los objetos que se detectan es la misma, pero las características de los datos de entrada han cambiado.
- Deriva conceptual: Se produce cuando las propiedades estadísticas de la variable objetivo cambian con el tiempo. La relación fundamental entre las características de entrada y la variable de salida se altera. En un sistema de detección de fraudes financieros, por ejemplo, las tácticas utilizadas por los defraudadores evolucionan, cambiando lo que constituye una transacción "fraudulenta". En la literatura académica se puede encontrar una exploración detallada de la deriva conceptual.
Ejemplos reales
- Gestión del inventario minorista: Un sistema de comercio minorista basado en IA utiliza imágenes de cámaras y un modelo de detección de objetos como Ultralytics YOLO11 para controlar las existencias en las estanterías. El modelo se entrena con un conjunto específico de envases de productos. Si un proveedor cambia el diseño del envase o la tienda actualiza su iluminación, se produce una desviación de los datos. Los nuevos datos visuales difieren del conjunto de datos de entrenamiento original, lo que puede provocar que el modelo no reconozca los productos, con la consiguiente inexactitud en los recuentos de inventario.
- Vehículos autónomos: Los coches autónomos utilizan modelos entrenados a partir de grandes cantidades de datos de sensores de ubicaciones geográficas y condiciones meteorológicas específicas. Si un coche se despliega en una ciudad nueva o se encuentra por primera vez con un fenómeno meteorológico poco frecuente, como la nieve, su sistema de percepción se enfrenta a la deriva de los datos. La distribución de las entradas (por ejemplo, marcas viales, señales de tráfico, comportamiento de los peatones) difiere significativamente de su experiencia de entrenamiento, lo que puede comprometer la seguridad y requerir atención inmediata. Waymo y otras empresas de conducción autónoma invierten mucho en detectar y mitigar este problema.
Detección y mitigación de la desviación de datos
Detectar y abordar la desviación de datos es un proceso continuo que implica una combinación de estrategias de supervisión y mantenimiento.
Métodos de detección
- Control del rendimiento: El seguimiento de las métricas clave del modelo, como la precisión, la recuperación y la puntuación F1, a lo largo del tiempo puede indicar una degradación del rendimiento potencialmente causada por la deriva. Herramientas como TensorBoard pueden ayudar a visualizar estas métricas.
- Control estadístico: Aplicación de pruebas estadísticas para comparar la distribución de los datos entrantes con los datos de entrenamiento. Algunos métodos habituales son la prueba de Kolmogorov-Smirnov, el Índice de Estabilidad de la Población (IEP) o las pruebas de ji al cuadrado.
- Herramientas de supervisión: Utilización de plataformas de observabilidad especializadas diseñadas para supervisar modelos de ML en producción. Las opciones de código abierto incluyen Prometheus y Grafana, mientras que las herramientas de ML dedicadas como Evidently AI y NannyML ofrecen funciones de detección de desviaciones más específicas. Los proveedores en la nube también ofrecen soluciones como AWS SageMaker Model Monitor y Vertex AI Model Monitoring de Google Cloud.
Estrategias de mitigación
- Reentrenamiento: La estrategia más sencilla consiste en volver a entrenar periódicamente el modelo con datos frescos y recientes que reflejen el entorno de producción actual. Las plataformas como Ultralytics HUB facilitan el reentrenamiento y los flujos de trabajo de despliegue.
- Aprendizaje en línea: Consiste en actualizar el modelo de forma incremental a medida que llegan nuevos datos. Debe utilizarse con precaución, ya que puede ser sensible a los datos ruidosos y hacer que el rendimiento del modelo fluctúe de forma impredecible.
- Aumento de datos: El uso proactivo de técnicas de aumento de datos durante la fase de entrenamiento inicial puede hacer que el modelo sea más robusto ante determinados tipos de variaciones, como cambios de iluminación, escala u orientación.
- Adaptación de dominios: Empleo de técnicas avanzadas que tratan explícitamente de adaptar un modelo entrenado en una distribución de datos de origen a una distribución de datos de destino diferente pero relacionada. Se trata de un área activa de la investigación en ML.
Gestionar eficazmente la deriva de datos es vital para garantizar que los sistemas de IA creados con marcos como PyTorch o TensorFlow sigan siendo precisos y ofrezcan valor durante toda su vida útil. Puede obtener más información sobre las mejores prácticas de mantenimiento de modelos en nuestro blog.