« Seminario (I+A)A... y… « || Inicio || » Descubrimiento de Con… »

Modelado de Sistemas Dinámicos con Machine Learning

Última modificación: 25 de Marzo de 2018, y ha tenido 2784 vistas

Etiquetas utilizadas: || || || ||

Introducción
Objetivos de la Tesis
Estructura de la Memoria
Trabajos Publicados

En Febrero de 2018 Diego Cabrera Mendieta presentó la Tesis Doctoral de título Modelado de Sistemas Dinámicos con Machine Learning: Aplicaciones al Mantenimiento Basado en la Condición. En esta entrada se publica la introducción de su trabajo, así como el enlace al contenido de la tesis y algunos de los artículos a los que ha dado lugar.

Introducción

La curiosidad inherente del ser humano ha provocado un deseo de comprensión de los procesos que le rodean. Entre ellos se encuentran algunos que nacen de fenómenos naturales, como el interés por entender el comportamiento climático, y otros de fenómenos sociales, como los procesos de migración entre países. Junto a ellos también están los procesos que nacen del dominio que ha ejercido el ser humano sobre determinadas áreas, por ejemplo durante el desarrollo industrial, donde busca tener un conocimiento extenso de los componentes que intervienen en los procesos artificiales generados y sus posibles interacciones. En estos casos, el objetivo sobrepasa el mero conocimiento curioso y crece con la necesidad de controlar las diversas etapas de los procesos para optimizar resultados. De forma genérica, e independientemente del proceso al que dan lugar, las diversas mediciones que se pueden realizar del sistema, y algunas veces controlar, se conocen como variables.

Como parte de la exploración y comprensión de un proceso se buscan formas de cuantificar los eventos asociados a sus variables. Dependiendo de su complejidad, estos eventos podrían estar asociados a una sola variable o a múltiples de ellas, y a menudo siguen una evolución ordenada secuencial que podría converger en uno o varios patrones que reflejan, y a veces determinan, su comportamiento. Entendemos por evolución ordenada secuencial a sucesos que ocurren uno a continuación de otro, tomando como referencia una o varias dimensiones espaciales y/o la dimensión temporal. En este último caso, en el que la dimensión que marca el orden de ocurrencia es el tiempo, estaremos hablando de eventos temporales.

De acuerdo con ello, si un proceso genera eventos ordenados secuencialmente la forma natural de capturarlos es mediante mediciones que también siguen el mismo orden, lo que da como resultado un conjunto ordenado que, en el caso de mediciones a lo largo del tiempo, es llamado serie de tiempo.

En consecuencia, una serie de tiempo es una sucesión finita o infinita de elementos que guardan un orden cronológico específico entre sí. Estos elementos pueden ser el producto de un proceso de medición como el mencionado anteriormente o pueden ser generados de forma totalmente sintética. Además, dependiendo de las características de la variable medida, estos elementos podrían ser representados en un espacio de una dimensión o de varias dimensiones. Por ejemplo, si se desea analizar el comportamiento motor de una persona comúnmente se obtendrá una serie de tiempo de la medición de la variable aceleración, que por defecto tiene tres componentes (una en cada uno de los ejes de movimiento), lo que da como resultado una serie de tiempo multi-dimensional. Si, por el contrario, se desea analizar el movimiento rectilíneo de una partícula, lo más habitual será obtener una serie de tiempo uni-dimensional. Desde el punto de vista del dato almacenado la diferencia en la representación de cada elemento radica en que el caso uni-dimensional vendrá dada por un escalar, mientras que el caso multi-dimensional vendrá dada por una tupla ordenada de elementos con estructura vectorial.

La complejidad de una serie de tiempo está directamente relacionada con el proceso que la produce, y se asocia usualmente con la variabilidad del proceso y la dificultad que se tiene para encontrar un patrón reconocible en su comportamiento que pueda servir para realizar inferencias sobre el proceso que la origina.

En este trabajo nos enfocamos en el análisis y modelado de series de tiempo con alta variabilidad. La perspectiva desde la cual se aborda el problema nace de la búsqueda de patrones mediante el análisis y procesamiento de señales usando el conocimiento experto a priori del proceso, hasta evolucionar a una metodología de modelado totalmente no supervisada y únicamente basada en los datos disponibles de las mediciones. Con este fin se proponen tres métodos para abordar el problema del modelado de una serie de tiempo. La primera propuesta utiliza técnicas conocidas de procesamiento de señales, que se seleccionan en base al conocimiento reportado en la literatura para la extracción de características representativas (con patrones más notorios) de la serie de tiempo, y que luego serán usadas para la construcción de un modelo de clasificación usando el modelo Random Forest de Aprendizaje Automático. La segunda propuesta da un paso adelante en relación a la búsqueda de independencia del conocimiento del proceso, dando como resultado un método que evalúa la posibilidad de usar extracción no supervisada de características con el uso de un modelo de aprendizaje basado en datos llamado Stacked Convolutional Autoencoder, que desde una representación de la serie de tiempo en 2 dimensiones, obtenida con técnicas de procesamiento de señales, es capaz de extraer características útiles que posteriormente se usarán para construir un modelo de predicción. Estos dos enfoques iniciales presentan el problema de necesitar series de tiempo que se encuentren etiquetadas para la construcción del modelo de predicción. En consecuencia, aunque el proceso de extracción de características sea no supervisado, como en el segundo caso, bajo este enfoque no es posible conseguir independencia del conocimiento a priori en los datos. Como solución a este problema se presenta la tercera propuesta, donde se elimina totalmente la dependencia de las técnicas de procesamiento de señales y se plantea un enfoque basado en Echo State Networks para proyectar de forma no supervisada la serie de tiempo a un nuevo espacio de representación, desde el cual se realiza un aprendizaje de la distribución de probabilidad asociada al proceso, eliminando, bajo ciertas suposiciones, la dependencia del conocimiento de la etiqueta en los datos.

Los procesos en los que nos enfocaremos para aplicar las propuestas anteriores pertenecen a un área de la ingeniería mecánica y de procesos llamada Mantenimiento basado en la Condición (CBM), que se centra en el estudio de técnicas que ayuden a determinar el estado general de una máquina y/o sus componentes para lograr (con una buena planificación del mantenimiento) alargar su vida útil y disminuir los costos de funcionamiento. Dentro del CBM se abordan los procesos asociados al diagnóstico de fallos en engranajes y rodamientos de maquinaria rotativa, que han sido los seleccionados como objeto de estudio de este trabajo. El objetivo que buscamos para la tarea del diagnóstico de fallos es elaborar metodologías que permitan identificar daños, y/o su severidad, en cajas de engranajes y rodamientos a partir únicamente de síntomas que se puedan captar desde mediciones en variables del sistema mecánico completo. Sin duda, es deseable disponer de modelos de clasificación de fallos, y/o nivel de severidad, construidos a partir de las series de tiempo disponibles, que hagan uso de un conocimiento mínimo del proceso, y que permitan determinar el estado del componente.

Se han elegido estos componentes mecánicos porque son los más comunes, importantes y propensos a fallos en las máquinas rotativas, por lo que disponemos a la vez de suficientes datos para su análisis y del conocimiento previo necesario para verificar la robustez de las soluciones obtenidas. La variable del proceso a partir de la cual se obtienen las series de tiempo que usaremos en nuestro trabajo es la vibración de la máquina, que se obtiene por un proceso de discretización de las señales captadas por sensores llamados acelerómetros. Aunque las series de tiempo con las que trabajaremos son una representación discreta de las señales reales, los dos términos tendrán el mismo significado a lo largo de este trabajo, a menos que explícitamente se diga lo contrario.

Objetivos de la Tesis

Los sistemas dinámicos han sido principalmente estudiados desde el área de la teoría de control usando métodos de modelamiento clásico, sin embargo, la presencia de incertidumbre con respecto a las variables del sistema, o un desconocimiento casi total de ellas, requiere de mecanismos basados en mínimas mediciones de variables del proceso.

Teniendo en cuentas estas consideraciones, el objetivo general del trabajo que aquí se presenta es desarrollar metodologías para el modelado de sistemas dinámicos a partir de información incompleta de sus variables, representadas como series temporales de alta complejidad, y adicionalmente, mostrar su aplicación en tareas del mantenimiento basado en la condición.

Para cumplir con este objetivo general hemos visto necesario cumplir con los siguientes objetivos específicos:

  • Estudiar la viabilidad de la representación de un sistema dinámico con características extraídas de una serie temporal muestreada desde una sola variable de estado mediante una descomposición clásica por la Transformada de Wavelet Packet.
  • Desarrollar una metodología basada en el Análisis de Señales y Aprendizaje Automático clásico para la creación de modelos predictivos de Sistemas Dinámicos.
  • Presentar una metodología para la generación de modelos de extracción de características adaptables de forma automática que sean capaces de representar la dinámica del sistema mediante técnicas de Deep Learning.
  • Comparar de forma experimental la propuesta anterior con un conjunto de metodologías de extracción de características reportadas en la literatura.
  • Desarrollar un método de modelado de Sistemas Dinámicos basado en la reconstrucción de la señal extraída de una variable del sistema.
  • Analizar la viabilidad de representar la dinámica de un sistema mediante otro modelo dinámico parametrizado.
  • Presentar una metodología para la creación de modelos generativos de detección de anomalías en Sistemas Dinámicos mediante Deep Learning e Inferencia Variacional.
  • Evaluar el desempeño de todas las propuestas en aplicaciones de diagnóstico de fallos, análisis de severidad de daño y/o detección de fallos en maquinaria rotativa.

Estructura de la memoria

Pasemos a ver con uno poco más de detalle las diversas propuestas metodológicas que se presentan en esta memoria para abordar este problema de modelado y análisis de sistemas dinámicos y su aplicación a tareas del mantenimiento basado en la condición.

Capítulo 2: Fundamentos.

En este capítulo se tocan cinco puntos clave que sirven como base para el desarrollo de este trabajo:sistemas dinámicoselementos mecánicos y maquinaria rotativa, sistemas de adquisición de señales, análisis tiempo-frecuencia y machine learning. En la sección de sistemas dinámicos se dan algunas definiciones formales relativas a estos sistemas, y además se presentan informalmente algunas ideas y resultados como el teorema de Takens, fundamental para la justificación de este trabajo.

A pesar de que el trabajo que aquí presentamos tiene una componente teórica importante, su carácter aplicado a tareas del mantenimiento basado en la condición hace necesario abordar las características de los sistemas mecánicos (elementos, funcionamiento, posibles daños y configuraciones experimentales) con los que se van a trabajar. Es por ello que se han incluido las secciones de componentes mecánicos, fallos en elementos mecánicos y configuración experimental para tareas del mantenimiento basado en la condición. Además, en la sección de sistemas de adquisición de datos se presenta una forma adecuada desde el punto de vista tecnológico para la obtención de datos en forma de series temporales de mediciones sobre variables concretas de los sistemas mecánicos, y que será la implementada aquí.

El entorno en el que se desarrolla la teoría y la práctica de este trabajo es la frontera entre el procesamiento de señales y el aprendizaje automático. En este sentido, inicialmente se usan técnicas de procesamiento de señales clásicas para poder aplicar algoritmos de aprendizaje automático, pero posteriormente se hará uso de técnicas más elaboradas de aprendizaje como herramienta para procesar las señales de forma directa, razón por la que se ha considerado conveniente introducir en este capítulo las secciones de análisis tiempo-frecuencia de señales, y una breve introducción al aprendizaje automático.

Capítulo 3: Extracción de características y clasificación con un enfoque clásico.

Para la creación de un modelo de clasificación basado en datos es necesario que los datos de entrada presenten de forma clara patrones reconocibles que permitan discriminar la pertenencia a una clase. En el contexto de la clasificación a estos datos de entrada se les conoce como características. Por ejemplo, en aplicaciones de diagnóstico de fallos en maquinaria rotativa se desea conocer el fallo específico que tiene un componente a partir de un conjunto de entradas. Sin embargo, para los procesos que son fuente de estudio de este trabajo, los elementos de una serie de tiempo no pueden ser vistos directamente como características por su gran complejidad y porque los patrones identificables no permanecen fijos a lo largo del tiempo a pesar de tratarse de mediciones del mismo proceso bajo las mismas condiciones.

Por ello, en esta primera propuesta se detalla un método que empieza con una etapa de extracción de características a partir de series de tiempo utilizando la técnica de descomposición por Wavelet Packet (WPD). Para esto, y como se detallará más adelante, se calcula de cada señal su WPD hasta el sexto nivel de descomposición, obteniendo finalmente de cada señal una colección de sub-señales llamadas coeficientes de descomposición. A su vez, para cada coeficiente obtenido del proceso anterior se calcula su energía. Todas estas energías calculadas de la descomposición de la WPD de la señal son agrupadas formando un vector de características representativas de dicha señal. Por otro lado, como la WPD depende de una wavelet madre específica, y cada una de ellas puede aportar información distinta a las demás, se han elegido cinco de ellas para su evaluación: Daubechies 7 (db7), Symlet 3 (sym3), Coiflet 4 (coif4), Biorthogonal 6.8 (bior) y Reverse Biorthogonal (rbior). Así, se obtiene una representación compacta de 320 características (64 características de cada una de las 5 wavelets madre) de una serie de tiempo que inicialmente puede tener miles de elementos, dependiendo del tiempo de adquisición y la tasa de muestreo.

Con esta nueva representación de las señales se construye un modelo Random Forest\cite{Breiman1999} para la etapa de clasificación que es capaz de discriminar señales a partir de sus características representativas. Como veremos en el capítulo, este modelo, por ejemplo, es capaz de decidir si una señal de vibración representada por un conjunto de características fue extraída de una máquina que tiene un fallo en la pista interna de un rodamiento, o, por el contrario, que esa señal representa a una máquina sin fallo en ningún componente.

El método propuesto es evaluado para tres aplicaciones de CBM. La primera es el diagnóstico de fallos en cajas de engranajes rectos en donde se tienen 7 clases representando 7 diferentes estados de un engranaje. La segunda es la determinación de la severidad de un daño por ruptura de diente en una caja de engranajes helicoidales, donde se tienen 10 clases que representan los niveles de severidad de ruptura de diente en el piñón de una caja reductora. La tercera aplicación también es de severidad de daño, pero en este caso para los componentes de un rodamiento (pista externa, pista interna y elemento rodante) dispuesto en un sistema rotativo de transmisión de movimiento. Para cada una de las aplicaciones se realiza una búsqueda exhaustiva sobre los diferentes hiperparámetros propios del modelo de Random Forest con el fin de encontrar los valores más adecuados para ellas, mostrando que el método propuesto puede ser aplicado de forma satisfactoria.

Sin embargo, esta primera aproximación tiene dos debilidades fundamentales: por una parte, requiere de un proceso manual de extracción de características basado en conocimiento experto, y por otra, necesita la información de las clases en las que se pueden clasificar las señales para generar el modelo de clasificación.

Capítulo 4: Aprendizaje de características de series de tiempo.

Para mitigar las debilidades de la propuesta anterior presentamos una fusión entre la extracción de características y el modelo de predicción. De esta forma, el método propuesto ya no necesita técnicas de procesamiento de señales basadas en el conocimiento del proceso y se logra su automatización.

Con este fin se hará uso de Redes Convolucionales Profundas (DCNN) como extractor de características. Este modelo tiene como base fundamental el aprendizaje de un conjunto de kernels de convolución que se aplican a un grupo de funciones discretas en 2 dimensiones. El resultado de esta aplicación es otro grupo de funciones, llamados mapas de características, a las que nuevamente se aplica el proceso de convolución en una capa posterior, obteniendo un modelo que crece en profundidad de acuerdo al número deseado de capas de convolución. En cada nivel de iteración, los mapas de características obtenidos proporcionan una representación de la información de entrada que es más abstracta que la de la capa anterior, resultando en la extracción de características representativas. El proceso de aprendizaje de los kernels de convolución está basado en una modificación del algoritmo de retropropagación del error para el cálculo del gradiente habitual en las redes neuronales artificiales clásicas. Sin embargo, se sabe que este algoritmo de optimización tiene el problema de que el gradiente tiende rápidamente a anularse cuando la red es profunda (tiene muchas capas), por lo que el entrenamiento se hace inviable ya que no se produce un aprendizaje significativo. En este trabajo se propone solventar este problema mediante un pre-entrenamiento de cada capa convolucional con un modelo denominado Convolutional Autoencoder (CAE, una modificación para una capa convolucional del conocido Autoencoder Clásico).

Sin embargo, una DCNN en su forma tradicional necesita que la entrada a la red sea una función binaria (habitualmente, una imagen), por lo que realizamos un preprocesamiento que consiste en transformar cada serie de tiempo, que se encuentra en una sola dimensión, en una representación bidimensional. Para ello, haremos uso nuevamente del cálculo de la WPD de cada serie de tiempo hasta el sexto nivel de descomposición de una wavelet madre daubechies 5 (db5), obteniendo los coeficientes de descomposición, que al ser el resultado de un proceso recursivo de aplicación de filtros espejo en cuadratura representan rangos específicos de componentes frecuenciales que pueden ser ordenados de menor a mayor para construir una representación tiempo-frecuencia bidimensional de la serie de tiempo.

Las características que se extraen con la DCNN sirven de entradas para un modelo de clasificación. En nuestro caso el modelo elegido es una red feedforward. Su entrenamiento se realiza en conjunto con la DCNN por lo que no es posible separar los dos modelos, lo que provoca que las características se especialicen de acuerdo a la tarea específica de clasificación, en vez de ser éstas de propósito general como en la primera propuesta. Sin embargo, sigue teniendo el inconveniente de que la extracción de características es dependiente de la información de la clase a la que pertenecen las instancias de entrenamiento. Así pues, este método elimina una de las debilidades de la propuesta anterior, pero sigue presentando la otra.

El método propuesto es evaluado para el diagnóstico de la severidad de un fallo por ruptura de diente en engranajes helicoidales bajo condiciones de funcionamiento estacionarias y no-estacionarias, que también fue analizado con el método presentado en el capítulo anterior. Además, se realiza una comparación entre la DCNN con y sin el proceso de pre-entrenamiento para diferentes niveles de profundidad de la red, mostrando que el proceso de pre-entrenamiento con SCAE tiene un efecto positivo en el desempeño de la red para esta tarea. También se muestra una comparación exhaustiva con otros métodos supervisados y no supervisados de extracción de características reportados en la literatura, constatando que los resultados obtenidos en el método aquí propuesto presenta mejor desempeño que las demás opciones encontradas.

Capítulo 5: Aprendizaje de la representación y one-class learning.

Finalmente, en nuestra última propuesta presentamos un método no supervisado, tanto para la extracción de características como para el aprendizaje del modelo capaz de discriminar instancias. Para la extracción de características se utiliza un modelo de Computación por Reservorios (RC), y para la discriminación de clases se reemplazan los modelos de aprendizaje supervisado por el modelado no supervisado de la distribución de probabilidad del proceso mediante un Autoencoder Variacional (VAE).

Los modelos de RC están basados en Redes Recurrentes (RNN) que tienen como parte fundamental de su arquitectura una sección, llamada reservorio, encargada de proyectar una entrada con dependencia temporal entre sus elementos a un conjunto de estados. El modelo concreto de RC elegido para este trabajo es el de Echo State Network (ESN) que restringe los estados con ciertas propiedades que garantizan la estabilidad de la red. En general, los modelos de RC no ajustan los parámetros del reservorio, solamente se aprenden las conexiones que van desde el reservorio hasta una capa de salida, que se denominan pesos de la periferia, y que, como problema de optimización, puede ser resuelto mediante el algoritmo de ridge regression. En este capítulo se propone el uso de una ESN para descomponer la serie de tiempo de entrada en un conjunto de estados, desde los cuales se optimizan los pesos de la periferia para predecir el siguiente instante de la serie de tiempo. Podemos interpretar que estos pesos capturan una representación estática de la señal, que es usada como su vector de características, por lo que podemos decir que hemos usado este modelo para conseguir una codificación estática de la señal dinámica temporal.

Con las características obtenidas se modelan las series de tiempo que pertenecen a un mismo proceso (por ejemplo, señales obtenidas en una condición específica de la máquina). Este proceso se realiza con un VAE que aprende una aproximación a la función no-lineal y que permite transformar muestras de una distribución simple como la gaussiana en elementos de la distribución asociada al proceso que deseamos modelar. El modelo final es capaz de generar instancias de la representación de las series de tiempo desde un conjunto de instancias obtenidas por un proceso de muestreo de la distribución simple.

Basándonos en este resultado, se propone una métrica para la discriminación de nuevas instancias de series de tiempo. Esta métrica usa el proceso de codificación de VAE, que normalmente es desechado en la mayoría de los usos reportados en la literatura, y el error de reconstrucción de la entrada. Para el primero se obtiene la proyección en un espacio simplificado de la posible distribución de probabilidad desde la cual se pudo haber extraído la instancia que se prueba, para luego compararla con la distribución gaussiana aprendida. Para el segundo se reconstruye la instancia desde la distribución gaussiana y se compara con la instancia original.

Para validar el modelo, el método ha sido evaluado en la detección de fallos tanto de cajas de engranajes helicoidales como de rodamientos. En estas aplicaciones, a diferencia de las presentadas anteriormente, se toma en cuenta la dificultad de obtener instancias de entrenamiento de una máquina con daños (ya que hemos de disponer de una máquina dañada para ello, y nuestro objetivo es salvaguardar el funcionamiento de las mismas), y sin embargo, en la mayoría de casos resulta sencillo obtener instancias en condiciones normales. Partiendo de estas consideraciones, las aplicaciones para la detección de fallos buscan tener la capacidad de reconocer que una máquina contiene algún componente que trabaja en condiciones alejadas de lo normal. Nuestra propuesta permite crear un modelo de detección de fallos que solamente necesita de instancias en condiciones normales en su fase de entrenamiento. Las pruebas se realizaron en condiciones de operación de velocidad y carga constante y variable en los mecanismos del sistema, y los resultados muestran que el modelo es capaz de discriminar al $100\%$ las instancias en condiciones normales de las instancias que muestran algún tipo de fallo en las dos aplicaciones.

Capítulo 6: Conclusiones.

Finalmente, y en base a los resultados obtenidos en los capítulos anteriores, en este capítulo se presentan las conclusiones generales del trabajo realizado, tanto desde una perspectiva específica a cada una de las propuestas estudiadas, como desde una perspectiva global que aúna y compara todas estas propuestas. También se muestran algunas posibles líneas de investigación futuras en torno a la temática aquí desarrollada y a los buenos resultados obtenidos, evaluando el modelado de sistemas dinámicos con Machine Learning, esperando motivar esta vía como una de las posibles líneas de trabajo complementaria al resto de aproximaciones existentes en la literatura.

Trabajos Publicados

  • D. Cabrera; F. Sancho Caparrini; C. Li; M. Cerrada; R-V. Sánchez; F. Pacheco; J. Valente. Automatic Feature Extraction of Time-Series applied to Fault Severity Evaluation of Helical Gearbox in Stationary and Non-Stationary Speed Operation. Applied Soft Computing Journal. http://doi.org/10.1016/j.asoc.2017.04.016 
  • D. Cabrera; F. Sancho Caparrini; R.V. Sánchez; G. Zurita; M. Cerrada; C. Li; R.E. Vásquez. Fault diagnosis of spur gearbox based on random forest and wavelet packet decomposition. Frontiers of Mechanical Engineering. Sept, 2015
  • D. Cabrera; F. Sancho Caparrini; F. Tobar. Combining reservoir computing and variational inference for efficient one-class learning on dynamical systemsJournal of Intelligent and Fuzzy Systems, IOS Press. Aceptado, y en prensa.

« Seminario (I+A)A... y… « || Inicio || » Descubrimiento de Con… »