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
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?
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?
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?
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?
5. Preprocese datos
- 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.
- 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.
- 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:
- 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.
- 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.
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.
- 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.
- 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
- 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:
- 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.
- 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.
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:
- Recopile datos de expertos
- Comprenda premisas y supuestos
- Recopile datos reproducibles
- Experimente para comprobar los datos
- Preprocese datos
- Realice el entrenamiento
- Realice un estudio a ciegas
- Revise, y reexamine y repita si es necesario
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.
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.
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.
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.
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.
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.
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.
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:
- Recopile datos de expertos
- Comprenda premisas y supuestos
- Recopile datos reproducibles
- Experimente para comprobar los datos
- Preprocese datos
- Realice el entrenamiento
- Realice un estudio a ciegas
- Revise, y reexamine y repita si es necesario
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.
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.
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.
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.
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.
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.
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.
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:
- Recopile datos de expertos
- Comprenda premisas y supuestos
- Recopile datos reproducibles
- Experimente para comprobar los datos
- Preprocese datos
- Realice el entrenamiento
- Realice un estudio a ciegas
- Revise, y reexamine y repita si es necesario
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.
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.
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 para imitar la turbina de gas real.
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.
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.
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.
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.
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.
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.
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)