White paper

8 pasos para analizar datos y optimizar la IA en fábricas

Introducción

Los datos de una fábrica son muy variados. Algunos son simples de analizar, como hallar valores estadísticos atípicos en el diámetro de una arandela. Otros son más complicados, como clasificar el ruido de un motor defectuoso.

Los modelos de Machine Learning e inteligencia artificial (IA) pueden ayudar a gestionar los datos más desafiantes. Pero a veces los proyectos no llegan a buen puerto, especialmente cuando se trata de reemplazar a seres humanos en la interpretación y clasificación de datos. Al principio, los resultados de la IA pueden parecer prometedores, pero no resisten el paso del tiempo. Se debe en parte a la desconexión entre análisis de datos, conocimiento especializado y señales confusas, que dificultan la comprensión de datos.

Estos problemas se pueden mitigar respondiendo a preguntas tales como:

  • ¿Existen factores confusos en los datos?
  • ¿Tienen la forma que mejor se adapta al modelo de IA?
  • ¿Contienen información necesaria para entrenar un modelo de Machine Learning/IA?
  • ¿Los datos de entrada contienen señales que solo se correlacionan de manera intermitente con los datos de salida?
  • ¿Los datos de entrenamiento abarcan todo el rango operativo del sistema de medición?
  • ¿Existen condiciones en que los datos de entrenamiento no tienen la variabilidad necesaria?
  • ¿Qué precisión tiene el proceso actual de clasificación (o regresión) y qué precisión se puede esperar de un modelo de IA?

Este white paper propone ocho prácticas recomendadas para que profesionales de ingeniería con poca experiencia en Machine Learning/IA puedan responder a estas preguntas y comprender mejor los datos no procesados para obtener mejores resultados. Incluye funcionalidades de MATLAB® para investigar y corregir estos problemas. Las prácticas recomendadas se ilustran en tres escenarios con datos de audio, imágenes y series temporales.

Estos ocho pasos permiten comprender los datos y sacarles el máximo partido. Están organizados en cuatro fases:

  • Comprensión de la naturaleza de los datos
  • Comprensión de las limitaciones de los datos recopilados
  • Preprocesamiento de datos y entrenamiento de modelos
  • Evaluación de resultados
partición

Comprensión de la naturaleza de los datos

1. Recopile datos de expertos

Recopile información sobre los mecanismos físicos que conducen a la característica medida que desea detectar, así como otras características comprendidas empíricamente. Esto puede ayudar a diseñar estrategias sobre cómo preprocesar y categorizar los datos con las siguientes preguntas:

  • ¿Se deben normalizar los datos con desviación estándar y promedio, o normalizarlos degradará la señal? ¿Existe otro método de normalización más apropiado?
  • ¿Pueden el análisis de frecuencia o la transformación de datos con otras relaciones matemáticas facilitarle la categorización a un ser humano, y a la vez ayudar a la IA?
  • ¿Pueden un método estadístico o una visualización gráfica aclararle la división de clases a un ser humano para guiar la selección de características y entrenar un modelo de IA?
  • ¿Qué tipo de comportamientos y niveles de señal se pueden esperar? ¿Qué supuestos conducen a esas expectativas? ¿Cómo se pueden verificar los niveles de señal con un experimento?
Diagrama de flujo de trabajo que conecta causa, física, efecto y datos esperados.

En un escenario ideal, la causa de la señal se manifiesta físicamente como un efecto y se registra en los datos en una situación ideal, sin que la señal se vea afectada por ruido ni se desvíe por otros factores no deseados o no intencionados.

2. Comprenda premisas y supuestos

Comprender qué factores pueden afectar al proceso de recopilación de datos puede ayudar a diseñar estrategias de recopilación y preprocesamiento de datos que mitiguen posibles artefactos. Si no se controlan, un enfoque de Machine Learning/IA podría fracasar. Durante la recopilación de datos, puede formular estas preguntas sobre premisas y supuestos:

  • ¿Es posible que un operador humano no esté detectando defectos solamente por audio, sino también visualmente, sin que nadie lo sepa?
  • ¿Se parte de la premisa de que la velocidad de una cinta transportadora es constante o que la calibración de una máquina siempre se realiza de manera sistemática?
  • ¿Se supone que dos amplificadores de audio tendrán la misma respuesta en frecuencia, o que dos cámaras tendrán la misma respuesta RGB a la misma imagen?
  • ¿Se asume que dos operadores están usando una máquina de la misma manera, o que la temperatura no influye en los datos?
Diagrama de flujo de trabajo de causa, física, efecto y datos reales, con variabilidad de confusión en la física, y artefactos de recopilación en los datos reales.

En un escenario del mundo real, las variables de confusión en la física y el hardware de recopilación de datos afectan a la forma en que la causa de la señal se manifiesta físicamente como un efecto, que se registra en los datos.

partición

Comprensión de las limitaciones de los datos recopilados

3. Recopile datos reproducibles

Recopile datos para poder mejorar la detección de los mecanismos físicos subyacentes a la cantidad medida deseada, al tiempo que mitiga la variabilidad de confusión dentro de lo posible con las siguientes preguntas:

  • ¿Es posible repetir las mediciones en las mismas condiciones para verificar que los datos son reproducibles?
  • ¿Cuáles son las diferencias de variabilidad en nivel de señal cuando se repite una ejecución?
  • Si se cambia un proceso para adaptarlo al sistema de Machine Learning/IA, por ejemplo, con un nuevo protocolo de recopilación de datos, ¿cómo puede comprobar que el cambio no afectará a la información en los datos necesarios para realizar la predicción?
Gráfica de MATLAB que muestra el tiempo en el eje X y la señal en el eje Y. Varias mediciones se superponen.

Ejemplo de varias mediciones de la misma muestra en las mismas condiciones. En este caso, los datos parecen repetibles dentro de cierto rango de ruido.

4. Experimente para comprobar los datos

Realice experimentos para evaluar el impacto de los factores de recopilación de datos no controlados que podrían afectar al entrenamiento de Machine Learning/IA. Realice pruebas para evaluar qué nivel de impacto podrían tener estos factores no controlados y responda a estas preguntas:

  • Si una variable no está controlada o representada en los datos, bajo el supuesto de que no afectará a los datos, ¿cómo puede realizar un experimento para verificarlo?
  • ¿Es posible tener una muestra estándar física conocida que sea estable y se pueda medir periódicamente en el sistema para verificar la deriva del sistema, que podría afectar a la precisión de Machine Learning/IA?
  • ¿Cómo puede utilizar el aprendizaje no supervisado (agrupación en clusters) para encontrar nuevos clusters durante un espacio de tiempo y detectar variabilidad no controlada que podría afectar al modelo final?
  • ¿Cómo puede mitigar el enorme impacto del uso de señales sumamente correlacionadas empleando componentes principales u otros enfoques de reducción de datos para reducir la dimensionalidad?
Gráfica de MATLAB que muestra el tiempo en el eje X y la señal en el eje Y, con mayor desviación entre mediciones que la gráfica anterior.

La misma gráfica que la anterior, pero la medición se repite con una temperatura extremadamente fuera de rango. Estos datos de temperatura extrema pueden ayudar a calcular el impacto de los cambios de temperatura con un funcionamiento normal. Este mismo enfoque se puede utilizar para interferencia EM, ruido u otros factores, que pueden combinarse para tener un impacto perjudicial en un modelo de IA/Machine Learning entrenado.

partición

Preprocesamiento de datos y entrenamiento de modelos

5. Preprocese datos

  1. Lo ideal es preprocesar los datos hasta un estado en el que un ser humano pueda realizar la detección o clasificación. Es más probable que estos datos preprocesados sean adecuados para entrenar un modelo preciso de Machine Learning/IA. ¿Cómo podría aplicar lo aprendido en los pasos 1-4 a la estrategia de preprocesamiento? Cuanto más fácil le resulte a un ser humano detectar la tendencia en los datos preprocesados, más fácil será para el modelo de Machine Learning/IA.
  2. Si no es posible detectar una señal cuando las condiciones del experimento se llevan a extremos, como temperaturas extremas en que una señal debería ser evidente, es posible que los datos no contengan la información necesaria para una detección o medición de Machine Learning/IA.
  3. Utilice el aprendizaje no supervisado para comprobar la agrupación en clusters esperada y detectar la agrupación en clusters no esperada, que puede indicar factores que provoquen confusión en el modelo final.

6. Realice el entrenamiento

En primer lugar, realice entrenamiento exploratorio con modelos simplificados, empleando datos de prueba para evaluar el modelo probablemente adecuado; esto establecerá una base de referencia. Siga estos pasos para realizar la optimización:

  1. Utilice sesiones de entrenamiento rápidas para evaluar diferentes modelos de Machine Learning/IA y determinar qué modelos son los mejores. Utilice el tipo de modelo más simple para empezar. Una vez seleccionado un tipo de modelo, optimice las opciones de entrenamiento, utilizando los datos de validación para detectar el sobreajuste. El conjunto de prueba se puede utilizar para comprobar que el modelo se generaliza bien con datos no visibles.
  2. Utilice la información extraída de los resultados de modelos más simples para fundamentar la mejor manera de abordar la implementación de modelos más complejos.
partición

Evaluación de resultados

7. Realice un estudio a ciegas

Realice un estudio a ciegas para comparar las prácticas recomendadas actuales de detección/categorización con el nuevo modelo de Machine Learning/IA.

  1. Recurra a un estudio a ciegas para comparar el comportamiento de Machine Learning/IA con las prácticas recomendadas actuales. Asegúrese de que el estudio sea a ciegas, tanto para el enfoque existente como para el enfoque de Machine Learning/IA. Si Machine Learning/IA van a reemplazar a un ser humano, asegúrese de que los resultados también sean a ciegas para el ser humano.
  2. Para comparaciones humanas, tenga en consideración controlar los indicios de otras fuentes, tales como un número de serie fuera de secuencia, o marcas o etiquetas que puedan dar pistas adicionales al operador humano. Utilice métricas apropiadas, tales como matrices de precisión, recuperación y confusión.

8. Revise, y reexamine y repita si es necesario

  1. Revise los resultados de los pasos 5-6. Si los datos no se pueden preprocesar para resaltar las características que se desean detectar, y los resultados de entrenamiento del paso 6 son inadecuados, entonces:
    1. Rexamine los pasos 1-4 para evaluar los niveles de señal y factores que enmascaran las características que desea detectar, e investigue otros enfoques de recopilación de datos o de preprocesamiento para resaltar las características.
    2. Después de rexaminar los pasos 1-4, repita los pasos 5-7 para decidir si se requieren ajustes o pruebas a más largo plazo.
partición

Escenarios de ejemplo

En estos tres escenarios hipotéticos que abarcan datos de audio, imágenes y series temporales, usuarios ficticios aplican estas prácticas recomendadas a proyectos de Machine Learning/IA. Se utiliza MATLAB en muchos pasos.

Datos de audio en maquinaria de producción: detección de taladros defectuosos

Ken dirige un equipo de trabajo que prueba taladros al final de una línea de producción; los enchufan y accionan manualmente para detectar ruidos atípicos. Ken desea automatizar el proceso con un modelo de IA para detectar ruidos atípicos. También desea reducir los costes, pero debe detectar más del 99% de los taladros defectuosos para tener un caso de negocio aceptable.

Ken sigue la lista de prácticas recomendadas:

  1. Recopile datos de expertos
  2. Ken consulta con un colega que trabaja en reducción de vibraciones. Dice que el ruido de un taladro depende de cómo se sujete. El colega de Ken tiene un armazón que puede usar como plataforma para reducir el ruido.

  3. Comprenda premisas y supuestos
  4. Ken recopila datos sobre los taladros defectuosas mientras la línea de producción está inactiva. Un colega advierte que los datos normales se contaminan con el ruido de la maquinaria. Ken utiliza la detección de anomalías y confirma que el ruido de la maquinaria es detectable como una anomalía y puede influir en la IA. Ken actualiza la estrategia de recopilación de datos para asegurarse de que el ruido de la maquinaria esté presente tanto en datos sin defectos (OK) como en datos con defectos (NG). También observa diferencias en los componentes principales de los taladros defectuosos y sin defectos. Para comprobar si realmente existe una diferencia, comprueba la capacidad de reproducción de los datos.

  5. Recopile datos reproducibles
  6. Ken recopila el ruido de la fábrica para ampliar los datos NG que carecen de ruido de fondo. Recopila datos nuevos del conjunto de taladros defectuosos junto con el ruido de la fábrica, utilizando la plataforma y la información de los pasos 1 y 2. También registra un taladro con defectos (OK) y otro sin defectos (NG) varias veces para verificar la repetibilidad o los cambios en el ruido, ya que los taladros NG se deben accionar varias veces, mientras que los OK se accionan solo una vez.

  7. Experimente para comprobar los datos
  8. Ken utiliza la app Wavelet Time-Frequency Analyzer para verificar que existe una diferencia mínima entre diversos registros del mismo taladro, pero también puede visualizar la diferencia entre taladros con y sin defectos. Prueba diferentes enfoques para extraer características de audio y entrena un clasificador de máquina de vectores de soporte (SVM) que logra una buena precisión de clasificación. También podría mejorar la precisión de clasificación empleando fitcauto() o la app Classification Learner para evaluar diferentes hiperparámetros y modelos de Machine Learning.

  9. Preprocese datos
  10. Ken estandariza el procesamiento de datos y utiliza audioDataAugmenter para agregar variaciones adicionales a los datos. Luego utiliza Wavelet Time-Frequency Analyzer para investigar con wavelets y mejores parámetros, y cwt() para convertir los datos en código de entrenamiento.

  11. Realice el entrenamiento
  12. Ken utiliza cvpartition para dividir los datos en conjuntos de entrenamiento, validación y pruebas. Luego, con la app Experiment Manager, entrena redes neuronales convolucionales (CNN) con diferentes parámetros. Experimenta con los parámetros de entrenamiento de la CNN y la transformada de wavelet para preprocesar los datos y formar imágenes. Modifica una red previamente entrenada utilizando transferencia del aprendizaje para entrenar con los datos. Continúa verificando y depurando las predicciones del modelo de IA utilizando métodos de visualización y explicabilidad.

  13. Realice un estudio a ciegas
  14. Ken recopila datos nuevos y los anonimiza. Luego, el equipo de trabajo los escucha y clasifica como correctos o incorrectos. Es difícil clasificar con datos de audio solamente, por lo que el equipo decide inspeccionar los taladros visualmente, lo que influye en las decisiones.

  15. Revise, y reexamine y repita si es necesario
  16. Ken descubre que, solo con audio, la red CNN se desempeña tan bien como un ser humano, pero la inspección visual mejora los resultados. Agregar inspección visual a la IA es algo que Ken puede tener en cuenta como futuras mejoras.

Datos de imágenes para dispositivos médicos: detección de contaminantes en jeringas precargadas

Jen tiene como tarea desarrollar una IA que identifique contaminantes en jeringas de insulina precargadas. Obtiene imágenes de jeringas defectuosas, con notas sobre el tipo de defecto. No puede identificar algunos defectos porque no es su campo de acción. La empresa fabrica un gran número de jeringas, y la inspección manual del 100% no es factible. Detectar ese tipo de defecto contribuiría a reducir problemas de recuperación del producto.

Jen sigue la lista de prácticas recomendadas:

  1. Recopile datos de expertos
  2. Jen solicita al cliente que marque los defectos claramente con un círculo en las imágenes. Los defectos pueden ser partículas, rayas o manchas, dentro y fuera de la jeringa. También debe incluir la aguja. Algunas imágenes incluyen reflejos y le aconseja al cliente que las polarice para mejorarlas.

  3. Comprenda premisas y supuestos
  4. Jen estandariza las imágenes con rotación, recorte y normalización. Envía las imágenes preprocesadas y anonimizadas al cliente. El feedback del personal técnico capacitado confirma que el preprocesamiento no ha eliminado información necesaria para la clasificación.

  5. Recopile datos reproducibles
  6. Jen solicita al cliente más ejemplos de imágenes correctas para tener una mejor idea de lo que no es un defecto, y aumentar la variedad de imágenes posibles.

  7. Experimente para comprobar los datos
  8. Jen usa imageDatastore para gestionar las imágenes. Para comprender las diferencias, utiliza la app Registration Estimator, registro de imagen e imsubtract() para superponer las jeringas y buscar diferencias. Entrena un modelo de IA para detectar anomalías de imagen. El mapa de calor de anomalías ayuda a Jen a comprender mejor dónde pueden producirse los defectos de las jeringas.

  9. Preprocese datos
  10. Jen diseña una estrategia de preprocesamiento basada en los tres primeros pasos. Utiliza createMask() para eliminar el fondo de la imagen (la mesa), que no debería incluirse para entrenar el modelo de IA. Utiliza Image Labeler para crear un almacén de datos boxLabelDatastore para entrenar la IA con diferentes tipos de defectos. Y luego utiliza el aumento de imágenes para crear un conjunto de entrenamiento más amplio, y bboxwarp() para ajustar los cuadros delimitadores de las imágenes alteradas.

  11. Realice el entrenamiento
  12. Jen utiliza un detector de objetos YOLOX para detectar los tipos de defectos. Después de la clasificación preliminar, observa que una de las clases se categoriza erróneamente con mayor frecuencia. Añade más datos de entrenamiento a esa clase y observa que los errores de clasificación se reducen.

  13. Realice un estudio a ciegas
  14. Jen empaqueta la IA con App Designer y la compila con MATLAB Compiler™ para que el cliente la pruebe. No se necesita una licencia de MATLAB para usar la app compilada.

  15. Revise, y reexamine y repita si es necesario
  16. El cliente prueba la app de IA y envía ejemplos de imágenes mal clasificadas para que Jen pueda realizar un segundo entrenamiento.

Predicción del fallo prematuro de válvulas en una turbina de gas

Ben tiene como tarea utilizar Machine Learning/IA para predecir si se producirá un fallo prematuro después del envío de microturbinas, basándose en los datos de prueba previos al envío. Cuenta con muchos datos de prueba, pero solo un conjunto de datos que abarca momentos previos y durante un evento de fallo. Aunque los fallos son poco habituales, tienen un grave impacto en los clientes de la empresa.

Ben sigue la lista de prácticas recomendadas:

  1. Recopile datos de expertos
  2. Ben determina que el fallo parece estar asociado con eventos de residuos que causan daños en los cojinetes del compresor transcurridas entre 100 y 200 horas de uso, pero se desconoce el origen del problema.

  3. Comprenda premisas y supuestos
  4. Se ha hecho un gran esfuerzo para garantizar que las pruebas sean sistemáticas. Las variaciones restantes durante la recopilación de datos se deben a factores que no se pueden controlar, tales como temperatura ambiente, presión, composición de aceite y combustible, y operadores humanos.

  5. Recopile datos reproducibles
  6. Ben solo tiene un ejemplo de datos relacionados con un fallo, por lo que crea un gemelo digital. Comienza con el modelo de turbina de gas de Simulink®, lo actualiza para incluir el comportamiento de los cojinetes con residuos, y lo ajusta con la app Parameter Estimator (8:37) para imitar la turbina de gas real.

  7. Experimente para comprobar los datos
  8. Ben simula daños en los cojinetes con el modelo basado en datos correctos y el único ejemplo de datos de fallo. Se estima que las señales indicativas de fallo 100 horas antes del fallo en los datos del modelo de simulación serán menores que el ruido en los datos reales. Ben agrega ruido sintético y luego descubre que un filtro de Kalman extendido puede detectar tendencias de defectos.

  9. Preprocese datos
  10. Ben utiliza señales de vibración y cambios en el mapa de frecuencia-RPM para examinar los datos del modelo y cómo se manifestará el daño en los cojinetes en el sistema general para saber qué debe buscar en los datos reales. Los datos reales requieren cierta transformación de señales con unidades de tiempo (s) a frecuencia (Hz). Los datos tienen muchas señales colineales. Ben utiliza componentes principales para reducir los datos.

  11. Realice el entrenamiento
  12. El comportamiento esperado es que el ruido de alta frecuencia en periodos cortos oculte la señal, y la desviación de baja frecuencia a lo largo del tiempo revele el defecto. Ben decide probar una LSTM para detectar la tendencia a largo plazo. Con periodos de prueba extendidos, parece que la LSTM puede detectar la pequeña desviación (deterioro) que indica un problema en función de los datos del modelo.

  13. Realice un estudio a ciegas
  14. Ben entrena una LSTM en un conjunto de datos más amplio y configura un estudio a ciegas utilizando los datos del modelo para evaluar los rangos de detección probables en un sistema real.

  15. Revise, y reexamine y repita si es necesario
  16. Ben descubre que necesita aumentar el tiempo de prueba de la turbina para detectar pequeñas desviaciones relacionadas con fallos y prepara un análisis de coste-beneficio para justificar los costes de las pruebas más largas para intentar detectarlas.

Ben utiliza la herramienta de detección de anomalías en los datos correctos sin procesar, e identifica que es más probable que las temperaturas ambientales más altas y un operador en particular estén relacionados con valores atípicos fuera del umbral del detector de anomalías y, por tanto, estén vinculados a eventos de fallo prematuro. Esto requiere más investigación.

Obtenga más información con consejos que van más allá de depuración y preprocesamiento de datos para Deep Learning y Machine Learning en aplicaciones de procesamiento de señales.

partición

Conclusión

Los modelos de Machine Learning/IA pueden eliminar la tarea tediosa y propensa a errores de realizar pruebas y control de calidad manuales en entornos de producción. Los fallos en producción, aunque son graves, son poco habituales y es posible que la causa principal no se comprenda en su totalidad.

Esto puede hacer que las soluciones de Machine Learning/IA parezcan difíciles de implementar de manera fiable. No obstante, comprendiendo los datos, puede generar conjuntos de datos adecuados para entrenamiento.

Usando los ocho pasos y los escenarios de ejemplo, puede aplicar un enfoque más sistemático a la calidad de datos y salvar la brecha entre un concepto de Machine Learning/IA y su implementación con éxito.

Con MATLAB, puede lograrlo.

Selección de apps de la barra de herramientas de MATLAB: Data Cleaner, Image Labeler, Classification Learner, Signal Analyzer, Wavelet Time-Frequency Analyzer, Audio Labeler y Wavelet Analyzer.

Apps de MATLAB para Machine Learning y el trabajo con datos de audio, imágenes y series temporales.

Acerca del autor/a

Mike Simcock, consultor sénior de MathWorks, trabaja en proyectos con datos del mundo real que requieren procesamiento de datos para IA y otras aplicaciones. Antes de llegar a MathWorks, Mike fue consultor sénior en Altran y científico de I+D principal en Malvern Instruments, Halliburton y Ometric. Mike obtuvo una licenciatura en Química y un doctorado en Materiales semiconductores de la Universidad de Salford. Cuenta con numerosas publicaciones sobre datos experimentales evaluadas por pares, y alrededor de 20 patentes relacionadas con la fabricación de óptica de películas delgadas y la aplicación de instrumentación óptica. MATLAB es el común denominador de todos sus empleos.