Optimización multi-objetivo de arquitecturas de aprendizaje profundo para el procesamiento de señales EEG en plataformas de cómputo heterogéneas

  1. Aquino Brítez, Diego
Supervised by:
  1. Andres Ortiz García Co-director
  2. Juan José Escobar Co-director

Defence university: Universidad de Granada

Fecha de defensa: 27 May 2022

Committee:
  1. Héctor Pomares Cintas Chair
  2. Pablo García Sánchez Secretary
  3. Ester Martín Garzón Committee member
  4. Consolación Gil Montoya Committee member
  5. Antonio Jesús Rivera Rivas Committee member

Type: Thesis

Abstract

En los últimos años, los modelos basados en aprendizaje profundo han revolucionado diversas áreas de la ciencia permitiendo la resolución de una gran variedad de problemas complejos, muchos de los cuales se consideraban sin solución. Frente a las alternativas para la clasificación de muestras que requieren conocer a priori los descriptores con mayor poder de representación o discriminante, las redes neuronales profundas tienen la ventaja de extraer descriptores a medida para un problema concreto mediante un proceso de aprendizaje. De esta forma, se integran en una misma arquitectura los procesos de extracción de características y clasificación. Algunas de estas arquitecturas (como las redes convolucionales), aunque fueron presentadas en los años 70-80, su entrenamiento aplicado a problemas reales suponía una carga computacional no asumible para los computadores de la época. Actualmente, con el desarrollo de dispositivos de cómputo heterogéneo, estas redes han ganado popularidad, permitido realizar de manera eficiente los cálculos requeridos por la redes neuronales profundas (en mucho casos la inferencia se realiza incluso en tiempo real) y desarrollar algoritmos efectivos de optimización para las mismas. No obstante, el diseño de arquitecturas de redes profundas es una tarea compleja que normalmente depende de la aplicación final y para la que no existen reglas de diseño. Por tanto, aunque la experiencia del diseñador juega un papel importante, disponer de una arquitectura que proporcione la precisión requerida conlleva normalmente un proceso de ensayo y error basado en resultados parciales o a través del análisis de la evolución de los parámetros de la red durante el entrenamiento. Por otro lado, la eficiencia y prestaciones de una determinada arquitectura depende en gran medida de la selección que se haga de los hiperparámetros, y en este caso, de nuevo es necesario recurrir a un proceso de ensayo y error. Por tanto, el diseño y ajuste de arquitecturas profundas es una tarea compleja que requiere mucho tiempo de cómputo incluso para diseñadores experimentados. Además, desarrollar herramientas específicas para optimizar los modelos resulta esencial de cara a aprovechar las capacidades de los modelos basados en aprendizaje profundo. Con todo esto en mente, en esta tesis se propone el desarrollo de un framework de optimización para arquitecturas de aprendizaje profundo totalmente configurable basado en computación evolutiva. El framework no sólo contempla la optimización de hiperparámetros sino también la propia arquitectura, incluyendo parámetros de regularización para reducir el error de generalización. Además, es posible realizar la optimización de una arquitectura en base a múltiples objetivos que pueden estar en conflicto durante el proceso de optimización. Los resultados (soluciones) proporcionados por el framework corresponderán a un conjunto de soluciones no dominadas que permiten el balance entre los objetivos propuestos, siendo posible seleccionar la solución más adecuada dentro del frente de Pareto. Por otra parte, conviene destacar que se utilizan tanto CPUs como GPUs para acelerar la ejecución del procedimiento de optimización, aprovechando el paralelismo y la heterogeneidad presente en los nodos de cómputo actuales. La herramienta desarrollada se ha aplicado a la optimización de arquitecturas de aprendizaje profundo para el procesamiento de señales de electroencefalografía (EEG). La clasificación de señales EEG es una tarea compleja que suele utilizar descriptores de las señales conocidos a priori. Sin embargo, no se tiene garantía de que los descriptores elegidos proporcionen la mejor tasa de clasificación. Por otro lado, las propuestas de redes de aprendizaje profundo para la clasificación de EEG utilizando la señal en el tiempo contienen un gran número de hiperparámetros. En los experimentos realizados se muestra cómo usar el framework para optimizar arquitecturas basadas en redes convolucionales unidimensionales para extraer descriptores y clasificación. Dichos experimentos no sólo se realizan para optimizar hiperparámetros, sino que se configura el framework para que el proceso de optimización pueda realizar cambios estructurales en la red o introducir capas de regularización que mejoren la capacidad de generalización. Los resultados experimentales obtenidos corroboran que las arquitecturas profundas optimizadas por el método propuesto en esta tesis mejoran las redes de partida y dan lugar a modelos computacionalmente eficientes, no sólo desde el punto de vista de la tasa de clasificación sino también en cuanto a eficiencia computacional y, por tanto, en eficiencia energética.