Optimización Multiobjetivo de Altas Prestaciones y Aplicaciones en Neuroingeniería y Tecnologías para Rehabilitación (hpMooN)
El proyecto ha desarrollado tres líneas de trabajo: (1) Propuestas de algoritmos multi-objetivo paralelos (tarea T1); (2) Clustering y clasificación multi-objetivo (tarea T2); y (3) Aplicaciones en neuroprótesis y BCI (tarea T3) relacionadas cada una de ellas con los tres objetivos del proyecto. Además incluía una tarea (tarea T4) para la difusión y acceso web a los resultados y recursos del proyecto. A continuación se indican las actividades y resultados obtenidos junto con las referencias a las aportaciones que se indican en el apartado D1.
Se han desarrollado los siguientes algoritmos paralelos y mejoras en el aprovechamiento de las infraestructuras paralelas:
Tabla 1. Comparación de prestaciones de un procedimiento con evaluación de funciones de coste en paralelo (MWE, de master-worker evaluation), y distintas alternativas de evolución paralela de subpoblaciones con cooperación (ALT1, ALT2, ALT3, and ALT4): % de desviación respecto al procedimiento secuencial (%dev); promedio de hipervolumen alcanzado (hyperv); y ± porcentaje de desviación estándar respecto al hypervolumen alcanzado.
Algoritmos paralelos basados en la evolución de subpoblaciones descritos en las publicaciones [2.9, 2.10, 2.13, 2.14, 3.4-3.6] (dos revistas con índice de impacto JCR Q1 y Q3, dos congresos internacionales, uno de ellos CORE A, y tres congresos nacionales, con 7 citas no propias a pesar de tratarse de trabajos muy recientes) y donde cada proceso/hebra evoluciona una subpoblación de individuos que, además, solo exploran un subconjunto de características (features). Tras una serie de generaciones en las que las subpoblaciones evolucionan de forma independiente, se produce una cooperación entre ellas, para aprovechar el trabajo realizado en las generaciones en las que han evolucionado de forma independiente. Así, se han hecho aportaciones relevantes en la implementación paralela de algoritmos cooperativos de optimización multi-objetivo que permiten abordar problemas con espacios de decisión de dimensión elevada que, por un lado están siendo objeto de un interés considerable actualmente, como se pone de manifiesto en las referencias de las publicaciones realizadas, y por otro, están presentes de las aplicaciones en BCI y en rehabilitación que se consideran en el proyecto. También se ha propuesto una clasificación de las alternativas de cooperación (donde se tiene en cuenta la forma de seleccionar y componer soluciones y el cambio temporal de estas estrategias), implementando alguna de ellas. En la Tabla 1 se resumen los resultados comparativos de prestaciones en cuanto a calidad de las soluciones de las alternativas implementadas (tal y como se explica en el encabezamiento de la Tabla), y la Figura 1 proporciona los resultados de la eficiencia de los procedimientos paralelos implementados que corresponden a distintas alternativas de cooperación. Se puede concluir que existen alternativas que proporcionan ganancias superlineales con una reducción de las prestaciones menor de un 10% y también alternativas que mejoran las prestaciones aunque la ganancia de velocidad es más próxima a la del cálculo paralelo de las funciones de coste (que tiene igual comportamiento en cuanto a prestaciones que la secuencial). Los resultados se han obtenido con conjuntos de datos correspondientes a bases de datos de tareas de BCI con patrones de entre 152 y 512 características que plantean problemas de “maldición de dimensionalidad” (curse of dimensionality) dado que la proporción entre número de componentes y número de patrones es relativamente elevada. También se ha propuesto una taxonomía para clasificar los distintos procedimentos de cooperación entre las subpoblaciones atendiendo a la forma en que un procesador aprovecha las soluciones encontradas por otro procesador [2.10, 2.14]. En [2.9, 2.10, 2.13, 2.14, 3.4-3.6] se evalúan implementaciones master-worker de los procedimientos paralelos cooperativos propuestos, sin embargo también se han realizado implementaciones de islas que podrían reducir las necesidades de comunicación e incrementar considerablemente el número de hebras utilizadas [2.12, 2.15]. Además se ha implementado alternativas para GPUs en CUDA [2.11] y con OpenCL [2.16]. En [2.15] se pone de manifiesto la validez del procedimiento paralelo multiobjetivo con un número muy elevado de subpoblaciones implementadas a través de islas (hasta 128 subpoblaciones/islas). En este trabajo, además de analizar el comportamiento de los códigos en subpoblaciones que exploran conjuntos disjuntos de características, se ha propuesto y evaluado la alternativa de considerar una cierta intersección no vacía de características entre subpoblaciones exploradas por diferentes procesadores.
Figura 1. Eficiencias promedio para diferentes conjuntos de datos (b152, b348, b480a, b480b, b512a, b512b); alternativas paralelas: MWE (evaluación maestro-trabajador), y ALT1, ALT2, ALT3, and ALT4 (evolución paralela de subpoblaciones): (a) 2 threads, (b) 4 threads, (c) 6 threads, (d) 8 threads.
Eficiencia de las plataformas paralelas y distribuidas, con aportaciones (publicadas en dos revistas con índice de impacto, Q2 y Q3, con dos citas no propias, tres congresos internacionales y uno nacional) relacionadas con la mejora de las comunicaciones gracias a la disponibilidad de varios núcleos de procesamiento en los nodos de los servidores actuales [1.1-1.3] y el diseño de estrategias descritas en [1.4-1.6] que consideran las características de la red (Infiniband en los experimentos realizados) para la compartición de datos (de gran relevancia en aplicaciones que procesan bases de datos de gran tamaño, con necesidades de almacenamiento y consecuencias importantes de cara al aprovechamiento de aceleradores como las GPUs). Así, en [1.4] se describe la propuesta que combina optimizaciones del flujo de datos y compresión para mejorar las prestaciones de comunicación en aplicaciones que necesitan compartir datos, sin que dichas aplicaciones tengan que ser modificadas, en [1.5,1.7] se considera la mejora de las comunicaciones multicast mediante una construcción adecuada de los mensajes a partir de la combinación de los datos a enviar, considerando además que dichos datos se pueden encontrar almacenados en bases de datos distribuidas en aplicaciones con grandes volúmenes de datos [1.6].
Figura 2. Marco para la clasificación y selección de características multiobjetivo propuesto en el proyecto y que se ha usado para la clasificación tanto supervisada como no-supervisada, y para la selección de características tanto mediante filtros como a través de procedimientos de tipo wrapper.
A partir de unas primeras aproximaciones a la optimización multiobjetivo en problemas de clasificación supervisada y su aplicación a problemas de detección de anomalías en redes (trabajos publicados en [4.3, 4.4] dos revistas con índice de impacto, Q1 y Q2, dos congresos internacionales [4.1, 4.2] que han recibido cuatro citas no propias, y una tesis doctoral de próxima lectura [4.5]), se han desarrollado distintos procedimientos que se ajustan al marco que se muestra en la Figura 2, y se han aplicado a tareas de BCI (publicaciones [3.7-3.10], una revista con índice de impacto Q3, dos congresos internacionales y un proyecto de fin de carrera, y también [2.9, 2.10, 2.12, 2.13, 3.4-3.6] anteriormente citadas). De esta forma se ha cubierto el espacio de diseño de los problemas de clasificación al considerar tanto la clasificación supervisada [3.7-3.10, 4.1-4.5] y no supervisada [2.9, 2.10, 2.12, 2.13, 3.4-3.6], y la selección de características a través de procedimientos de filtrado [3.7, 3.9, 4.1, 4.4] y de tipo wrapper [2.9, 2.10, 2.12, 2.13, 3.4-3.6, 3.8, 3.10, 4.2, 4.3, 4.5]. La Tabla 2 proporciona algunos detalles de las contribuciones más relevantes de esta línea, que se resumen a continuación:
Reducción de la dimensión de los patrones mediante optimización multi-objetivo y técnicas de filtrado. Desde el punto de vista de la obtención de procedimientos de clustering/clasificación eficientes, la reducción de dimensiones es importante para disminuir la complejidad computacional del aprendizaje, y para eliminar características redundantes que dificultan la clasificación en problemas con pocos patrones respecto al número de características. Una de las aproximaciones para reducir dimensiones consiste en la aplicación de transformaciones lineales o no lineales (como PCA) que permiten utilizar un conjunto distinto de características. A esta aproximación corresponden los resultados de los trabajos [4.1, 4.2, 4.4], donde, en primera instancia, se ha considerado un problema de detección de anomalías en redes de comunicación, pero cuyas propuestas también se pueden aprovechar en bases de datos de EEGs para aplicaciones en BCI. Así, en [3.7] se describe un procedimiento para la clasificación supervisada mediante optimización multiobjetivo en tareas de BCI con la base de datos de la Universidad de Essex (a la que se ha tenido acceso gracias a la colaboración establecida con el grupo del profesor John Q. Gan), donde los conjuntos de datos presentan una altísima relación entre el número de características y el de patrones (cientos e incluso miles de características frente a menos de 200 patrones) y, por lo tanto se ven afectados de “maldición de dimensionalidad”. En el procedimiento propuesto en [3.7] se aprovecha la disponibilidad de las etiquetas de los patrones de entrenamiento para generar un filtro que permite la selección de características.
Tabla 2. Características de los procedimientos de clustering y clasificación desarrollados en las distintas dimensiones del espacio de diseño (CVI: Cluster Validation Index, Índice de Validación de Clusters).
Se han realizado aportaciones interesantes en distintos problemas relacionados con estas aplicaciones:
Extracción de características de las señales. Una de las cuestiones fundamentales en las tareas de BCI es la extracción de características a partir de las señales de EEG, ya que sobre ese conjunto de características se aplica el proceso de clasificación que permite detectar los eventos que definirán las acciones a realizar sobre el computador. Dentro de ese ámbito, en [3.1] (artículo publicado en una revista con índice de impacto Q1 que ha recibido una cita no propia) se describe un procedimiento basado en la codificación con desplazamiento de fase binario (BPSK, Binary Phase-Shift Keying). Las señales auditivas se marcan utilizando modulación de amplitud y se recogen las señales de EEG correspondientes, sobre las que se lleva a cabo la correspondiente BPSK como procedimiento de extracción de características de forma que la ubicación de los patrones obtenidos definen clases diferentes según el nivel de atención que haya habido. Por tanto, esta estrategia permitiría introducir características adicionales en los EEGs que mejoren la calidad de los patrones utilizados (identificar intencionalidad) en otros problemas de clasificación de eventos considerados en el ámbito del BCI. Los aspectos relacionados con la utilización experimental de electrodos secos (Dry EEG electrodes) para el registro de EEGs y su influencia en la extracción de características de los mismos de cara a su utilización en distintas aplicaciones se recogen en la publicación [5.3] (publicación en revista con índice de impacto Q1 que ha recibido 8 citas no propias).
Mejoras en tecnología de rehabilitación. En la línea de las aplicaciones en rehabilitación, en [5.1] se han abordado problemas relacionados con el procesamiento de señales de posición y movimiento de señales proporcionadas por distintos tipos de sensores inerciales y magnéticos de pequeño tamaño. Entre las aportaciones del trabajo descritas en [5.1] se incluye el análisis de distintas alternativas para la fusión de sensores. Estas propuestas también tienen incidencia en el ámbito del procesamiento de EEGs donde se incluyen señales correspondientes a varios electrodos. Así, las técnicas propuestas en [3.1, 5.1, 5.3] contribuyen a la extracción de características sobre las que posteriormente se aplicaría un proceso de clustering/clasificación, y por lo tanto inciden en la calidad de los resultados del mismo. También dentro de las tareas relacionadas con la optimización automática de modelos de retina se han aplicado técnicas de optimización multi-objetivo para el ajuste de parámetros en modelos bio-inspirados complejos de adaptación de la retina que incluyen conexiones neuronales de realimentación, lineales, y nolineales. Este recurso se ha incorporado en la herramienta que permite la simulación de modelos bioinspirados de retina, desde los fotorreceptores hasta las células ganglionares, para reproducir los distintos mecanismos de funcionamiento de la retina. La descripción de los detalles de la herramienta desarrollada se han publicado en [5.5-5.7] (tres comunicaciones en congresos internacionales incluidos como capítulos de libro de la serie LNCS), y los miembros del equipo investigador que también participan en el proyecto europeo HBP (Human Brain Project) la están integrando en los entornos que estarán disponibles en breve a través de la página web de dicho proyecto.
Optimización multiobjetivo en BCI. El acceso a bases de datos de tareas BCI nos ha permitido aplicar los procedimientos de optimización multi-objetivo desarrollados a las aplicaciones que se proponían en el proyecto. Así, las publicaciones [3.4-3.6] constituyen ejemplos significativos del aprovechamiento de la optimización paralela multi-objetivo en aplicaciones BCI y han abierto nuevas posibilidades de uso del paralelismo y la optimización multi-objetivo en problemas de clasificación en este ámbito. Así se pone de manifiesto tras el estudio y las propuestas que se realizan en [5.2] para la clasificación de EEGs en predicción de crisis epilépticas donde la optimización multi-objetivo puede realizar aportaciones significativas, al aprovechar las posibilidades de las arquitecturas de cómputo paralelas.
Entorno experimental para BCI. Dentro del ámbito de las tareas BCI, se ha desarrollado de un entorno para la extracción y selección de características en bases de datos de EEGs, la herramienta EEGFeX que se describe en las publicaciones [3.2, 3.3]. También se ha considerado la mejora del acceso en términos de prestaciones, usabilidad y fiabilidad a registros de EEG tanto para su uso clínico en teleservicios de medicina [5.8] como en aplicaciones de BCI [5.9]. La optimización multiobjetivo también se ha utilizado en la comparación de transformaciones de señal para extraer conjuntos de características eficientes ([3.9, 5.4]).
Se tiene acceso abierto a un repositorio (https://github.com/hpmoon) con las principales herramientas desarrolladas.
Los resultados derivados del proyecto han dado lugar a 45 publicaciones y documentos científico-técnicos: 15 artículos en revistas, de los cuales 12 se han publicado en revistas con índice de impacto JCR, 5 de ellas en el primer cuartil de su área (Q1) y 4 en el segundo (Q2); 17 artículos en congresos internacionales, uno de ellos CORE A y 13 publicados en las series Lecture Notes de Springer; 6 artículos en congresos nacionales; 2 Tesis doctorales, una de ellas con Mención Internacional; y 5 proyectos fin de grado/máster. En la sección D1 se proporciona una lista de las publicaciones, indicando el ámbito en el que hacen la aportación fundamental (en la Figura 3, se muestra un esquema con la relación entre publicaciones y tópicos). Hasta el momento (Enero 2016), las publicaciones realizadas han recibido 100 citas no propias.
Figura 3. Ámbito principal que abordan las publicaciones del proyecto