scieee AI-readable full text Open interactive document viewer

Generación de señales cerebrales mediante técnicas de Reservoir Computing

Arconada Pedriza, Miriam

Abstract

Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)

Full text

Universidad de Valladolid ESCUELA DE INGENIER´ IA INFORM´ ATICA TRABAJO FIN DE GRADO GRADO EN INGENIER´ IA INFORM ´ ATICA MENCI´ ON EN COMPUTACI´ ON Generaci´on de se˜nales cerebrales mediante t´ecnicas de Reservoir Computing Autor: D˜na. Miriam Arconada Pedriza Tutores: D˜na. Mar´ıa Ar´anzazu Sim´on Hurtado D. ´ Angel Canal Alonso ”Mientras el cerebro sea un misterio, el universo continuar´a siendo un misterio.” SANTIAGO RAM ´ ON Y CAJAL I II AGRADECIMIENTOS Agradecimientos Me gustar´ıa dedicar este apartado a todos aquellos que me han acompa˜nado a lo largo de estos cuatro a˜nos de carrera, tanto en lo bueno como en lo malo. Me llevo una experiencia enriquecedora, tanto profesional como personal, que me alegro de haber adquirido. En primer lugar me gustar´ıa agradecer a mis tutores, ´ Angel y Arancha, que han hecho todo lo posible para que este trabajo salga adelante con ´exito. En segundo lugar me gustar´ıa agradecer a mi familia, que ha estado ah´ı cuando m´as lo necesitaba y han confiado plenamente en m´ı. Tambi´en me gustar´ıa agradecer a mis compa˜neros de AIR Institute, en especial a Pablo Enrique Guillem, que me ha ayudado todo lo posible durante el desarrollo de este proyecto. Por ´ultimo, me gustar´ıa agradecer a mis amigos m´as cercanos, que saben por todo lo que he pasado este ´ultimo a˜no y han sabido sacarme siempre una sonrisa y darme fuerzas para seguir. Sin todos ellos esto no habr´ıa sido posible. III AGRADECIMIENTOS IV RESUMEN Resumen Los ´ultimos avances en inteligencia artificial generativa han permitido una imitaci´on casi completa del lenguaje humano. Sin embargo, el lenguaje interno del cerebro es un terreno poco explorado dentro de este campo, habi´endose limitado a modelos matem´aticos simples que reproducen el comportamiento individual de neuronas pero son incapaces de replicar estructuras cerebrales completas. Si entendemos el cerebro como un sistema din´amico no lineal, existen diversas aproximaciones que pueden modelizarlo mediante t´ecnicas de Inteligencia Artificial para despu´es generar o predecir se˜nales sin necesidad de conocer las ecuaciones del sistema. Entre estas aproximaciones est´an las Recurrent Neural Network (RNN), que en sus diversas formas son capaces de retener informaci´on temporal del sistema y reconstruirlo internamente con sus pesos. En este Trabajo de Fin de Grado (TFG) se busca utilizar c´alculo de reservoir, un tipo espec´ıfico de redes recurrentes, para el modelado y generaci´on de se˜nales cerebrales de forma automatizada. Para ello se usaran grabaciones de array multielectrodo en roedores con epilepsia como entrada de diferentes tipos de redes recurrentes para establecer una comparativa entre las diferentes aproximaciones. V RESUMEN VI ABSTRACT Abstract The latest advances in generative artificial intelligence have enabled an almost complete imitation of human language. However, the brain’s internal language remains a largely unexplored territory within this field, having been limited to simple mathematical models that reproduce the individual behavior of neurons but are unable to replicate complete brain structures. If we understand the brain as a nonlinear dynamic system, there are various approaches that can model it using artificial intelligence techniques to then generate or predict signals without needing to know the equations of the system. Among these approaches are Recurrent Neural Networks (RNN), which in their various forms are capable of retaining temporal information from the system and internally reconstructing it with their weights. In this Bachelor´s Degree Final Project, the aim is to use Reservoir Computing, a specific type of recurrent networks, for the automated modeling and generation of brain signals. For this purpose, recordings of multielectrode arrays in rodents with epilepsy will be used as input for different types of recurrent networks to establish a comparison between the different approaches. VII ´ INDICE GENERAL XIV ´ INDICE DE ACR ´ ONIMOS ´ Indice de Acr´onimos BPTT Back Propagation Through Time. 46, 47, 55 CPU Central Processing Unit. 23, 26, 29, 111 CRISP-DM CRoss-Industry Standard Process for Data Mining. 5, 6 DL Deep Learning. 32, 43, 44 ESN Echo State Networks. 17, 27, 34, 50–53, 55, 69, 99, 101, 112 FNN Feedforward Neural Network. 46 FPTT Forward Propagation Through Time. 46 GPU Graphics Processing Unit. 23, 26, 29 IA Inteligencia Artificial. 1, 23, 31, 32, 43, 48, 61 IRPF Impuesto sobre la renta de las Personas F´ısicas. 22, 23 LSM Liquid State Machine. 17, 34, 50, 53–56, 63, 80, 81, 99, 101, 113 LSTM Long Short-Term Memory. 1–3, 17, 23, 25, 26, 34, 43, 44, 48, 59–61, 65, 91, 94, 98, 99, 101, 111, XX MEA arrays multielectrodos. 1, 2, 7, 17, 22, 26, 28, 31–36, 39, 40, 43, 49–53, 56, 57, 60–63, 69, 72, 79, 80, 86, 87, 90, 91, 99, 102, 109 ML Machine Learning. 22, 23, 32, 43, 61, 62, 101, 102 MSE error cuadr´atico medio. 80, 91 NGRC Next Generation Reservoir Computing. 17, 34, 43, 44, 57, 87, 99, 101, 114 NRMSE ra´ız del error cuadr´atico medio normalizado. 69, 79, 90 NVAR Nonlinear Vector AutoRegression. 34, 57 RC Reservoir Computing. 1, 2, 16, 27, 34, 43, 44, 48, 50, 53, 57–59, 99, 101 RNN Recurrent Neural Network. 1, 2, 26, 33, 34, 43–49, 57, 59, 60, 65, 99, 101, V SD Sistema Din´amico. 31, 32 TFG Trabajo de Fin de Grado. 1–3, 6, 8, 9, 22, 26–29, 31, 32, 34–36, 38, 43, 49–52, 54, 56–59, 61, 65, 69, 90, 101, 102, 109, 115, V TPU Tensor Processing Unit. 25, 26, 62, 66 XV ´ INDICE DE ACR ´ ONIMOS XVI ´ INDICE DE ECUACIONES ´ Indice de Ecuaciones 2.1. Ecuaci´on del coste de un trabajador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2. Ecuaci´on del c´alculo de la Seguridad Social . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3. Ecuaci´on del c´alculo del IRPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.1. Ecuaci´on de la salida de la capa oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.2. Ecuaci´on de la salida final de la RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.3. Ecuaci´on de la derivada parcial de E con respecto a Whh . . . . . . . . . . . . . . . . . . . . 46 6.4. Ecuaci´on de la derivada parcial de E con respecto a Wxh . . . . . . . . . . . . . . . . . . . . 46 6.5. Ecuaci´on del estado interno del reservorio en el instante t+1 . . . . . . . . . . . . . . . . . . 49 6.6. Ecuaci´on de la salida de la arquitectura RC en el instante t+1 . . . . . . . . . . . . . . . . . 49 6.7. Ecuaci´on de la actualizaci´on de la activaci´on de las neuronas internas del reservorio . . . . . 51 6.8. Ecuaci´on de la actualizaci´on de la activaci´on de las neuronas internas del reservorio . . . . . 51 6.9. Ecuaci´on del estado l´ıquido de la LSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.10. Ecuaci´on de la salida de la LSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.11. Ecuaci´ondesalidadeNGRC .................................... 58 6.12. Ecuaci´on Ototal ............................................ 58 8.1. Ecuaci´on de la influencia de la tasa de fuga la ESN . . . . . . . . . . . . . . . . . . . . . . . . 71 8.2. Ecuaci´on de las nuevas entradas de la ESN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.3. Ecuaci´on de la actividad de la capa l´ıquida de la LSM . . . . . . . . . . . . . . . . . . . . . . 82 8.4. Ecuaci´on de la energ´ıa de la capa l´ıquida de la LSM . . . . . . . . . . . . . . . . . . . . . . . 82 XVII ´ INDICE DE ECUACIONES XVIII ´ INDICE DE FIGURAS ´ Indice de Figuras 2.1. Esquema del ciclo CRISP-DM est´andar [8]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2. Imagen animada que muestra el flujo de actividades en cada iteraci´on dentro de la fase 4. En caso de que no se admitan im´agenes animadas, se mostrar´a la primera iteraci´on. Elaboraci´on propia, basada en[7]. ..................................................... 7 2.3. Seguimiento de la fase 1 y sus tareas. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4. Seguimiento de la fase 2 y sus tareas. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5. Seguimiento de la fase 3 y sus tareas. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 17 2.6. Seguimiento de la fase 4 y sus tareas. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 18 2.7. Seguimiento de la fase 5 y sus tareas. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 18 2.8. Seguimiento de la fase 6 y sus tareas. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 19 2.9. Seguimiento del diagrama de Gantt. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.10. Diagrama de Gantt. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1. Esquema del montaje de MEA [65]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2. Corte de un cerebro de roedor encima de una placa MEA. Imagen cedida por AIR Institute. . . . . . 36 5.3. Esquema del corte del cerebro en la regi´on del hipocampo de un roedor [68]. . . . . . . . . . . . . . . 37 5.4. Corte de un cerebro de roedor encima de una placa MEA con un panel de los electrodos seleccionados. ImagencedidaporAIRInstitute....................................... 37 5.5. Muestra de las se˜nales sin preprocesar en los diferentes electrodos. Elaboraci´on propia. . . . . . . . . 38 5.6. Muestra de la se˜nales en el dominio del tiempo antes y despu´es del filtrado en los diferentes electrodos. Elaboraci´onpropia............................................... 39 5.7. Muestra de la se˜nales en el dominio de la frecuencia antes y despu´es del filtrado en los diferentes electrodos.Elaboraci´onpropia. ....................................... 40 XIX ´ INDICE DE FIGURAS 5.8. Muestra de la se˜nal originada por el electrodo 27 con reducci´on de la tasa de muestreo en los tres conjuntos de datos. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.1. Composici´onIA,MLyDL[70]........................................ 43 6.2. Clasificaci´on resumida de las tareas de ML. Elaboraci´on propia, basada en [71]. . . . . . . . . . . . . 44 6.3. Clasificaci´on resumida de las arquitecturas de DL. Elaboraci´on propia, basada en [71]. . . . . . . . . 44 6.4. DesdobledeunaRNN[73]. ......................................... 45 6.5. Tipos de RNN. Elaboraci´on propia, basada en [76]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.6. Arquitectura general de la t´ecnica RC [80]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.7. Arquitectura general de RC con las matrices de pesos representadas [79]. . . . . . . . . . . . . . . . . 49 6.8. Estructura general de la ESN [83]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.9. Implementaci´on DeepESN en ReservoirPy. Elaboraci´on propia, basada en [22]. . . . . . . . . . . . . 51 6.10. Divisi´on en bloques para las series temporales [86]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.11. Esquema comparativo de la arquitectura de una LSM y ESN [71]. . . . . . . . . . . . . . . . . . . . . 53 6.12. Esquema comparativo de una neurona natural, una neurona tradicional y una neurona de impulsos ensentidodescendiente[90].......................................... 54 6.13. Arquitectura b´asica de una LSM [93]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.14. Flujo de datos de una se˜nal en una LSM [63]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.15. Comparaci´on entre el enfoque NGRC y RC [62]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.16. Arquitectura de una Long Short-Term Memory (LSTM) [101]. . . . . . . . . . . . . . . . . . . . . . 59 7.1. Imagen de un dispositivo Google Dev Board [106]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2. Conectores de Google Dev Board [107]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.3. Diagrama de componentes de Google Dev Board [107]. . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.4. Flujo de trabajo para conseguir un modelo aceptable por un dispositivo de la gama Google Coral [112]....................................................... 65 8.1. Fluctuaci´on del radio espectral en funci´on de las se˜nales MEA. Elaboraci´on propia, basada en [22]. . 70 8.2. Fluctuaci´on del escalado de entrada en funci´on de las se˜nales MEA. Elaboraci´on propia, basada en [22]. ...................................................... 70 XX ´ INDICE DE FIGURAS 8.3. Fluctuaci´on de la tasa de fuga en funci´on de las se˜nales MEA. Elaboraci´on propia, basada en [22]. . 71 8.4. Muestra de las se˜nales MEA. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.5. Predicci´on con desfase de 1 punto. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.6. Predicci´on con desfase de 10 puntos. Elaboracion propia. . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.7. Predicci´on con desfase de 100 puntos. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 75 8.8. Generaci´on de una se˜nal MEA durante un ataque epil´eptico. Elaboraci´on propia. . . . . . . . . . . . 76 8.9. Generaci´on de una se˜nal MEA antes un ataque epil´eptico. Elaboraci´on propia. . . . . . . . . . . . . 77 8.10. Generaci´on de una se˜nal MEA despu´es de un ataque epil´eptico. Elaboraci´on propia. . . . . . . . . . 78 8.11. Generaci´on err´onea de una se˜nal MEA en el electrodo 27 con el modelo ESN mal optimizado. Elaboraci´onpropia............................................... 79 8.12. Gr´afico de puntos en Optuna que representa las muestras en funci´on a su valor y el valor que adquiere la funci´on de p´erdida MSE. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.13. Gr´afico de la distribuci´on de las muestras entre los diferentes hiperpar´ametros con colores que representan un orden en funci´on del valor de la funci´on de p´erdida MSE. Elaboraci´on propia. . . . . . 81 8.14. Muestra de los datos de la se˜nal MEA del electrodo 27 con los spikes representados. Elaboraci´on propia,basadaen[94]............................................. 81 8.15. Resultado del entrenamiento en las diferentes representaciones de bits en el modelo LSM. Elaboraci´on propia,basadaen[94]............................................. 82 8.16. Resultados de la predicci´on en las diferentes representaciones de bits en el modelo LSM. Elaboraci´on propia,basadaen[94]............................................. 83 8.17. Resultados de la generaci´on con suavizado en el modelo LSM con 3 bits. Elaboraci´on propia. . . . . 84 8.18. Resultados de la generaci´on con suavizado en el modelo LSM con 6 bits. Elaboraci´on propia. . . . . 84 8.19. Resultados de la generaci´on con suavizado en el modelo LSM con 8 bits. Elaboraci´on propia. . . . . 85 8.20. Resultados de la generaci´on con suavizado en el modelo LSM con 16 bits. Elaboraci´on propia. . . . . 85 8.21. Generaci´on de una se˜nal MEA en el electrodo 27 mediante el modelo NGRC . Elaboraci´on propia. . 88 8.22. Generaci´on de una se˜nal MEA en el electrodo 65 mediante el modelo NGRC . Elaboraci´on propia. . 88 8.23. Generaci´on de una se˜nal MEA en el electrodo 75 mediante el modelo NGRC . Elaboraci´on propia. . 89 8.24. Generaci´on de una se˜nal MEA en el electrodo 77 mediante el modelo NGRC . Elaboraci´on propia. . 89 8.25. Muestra de los datos para el modelo LSTM. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . 91 XXI ´ INDICE DE FIGURAS 8.26. Resultado de la LSTM en el conjunto de prueba en la predicci´on con desfase de 10 puntos. Elaboraci´on propia...................................................... 92 8.27. Resultado de la LSTM en el conjunto de validaci´on con desfase de 1 puntos. Elaboraci´on propia. . . 92 8.28. Resultado de la LSTM en el conjunto de validaci´on con desfase de 10 puntos. Elaboraci´on propia. . . 93 8.29. Resultado de la LSTM en el conjunto de validaci´on con desfase de 100 puntos. Elaboraci´on propia. . 93 8.30. Resultado de la LSTM en predecir el punto siguiente en la versi´on cuantizada del modelo. Elaboraci´on propia,basadaen[111]. ........................................... 94 8.31. Predicci´on del punto siguiente mediante Google Dev Board. Elaboraci´on propia, basada en [111]. . . 95 8.32. Muestra de la secuencia predicha en uint8 por Google Dev Board. Elaboraci´on propia. . . . . . . . . 95 8.33. Resultado de la LSTM en la generaci´on de 100 puntos observando los 10 previos. Elaboraci´on propia. 96 8.34. Resultado de la LSTM en la generaci´on de 100 puntos observando los 100 previos. Elaboraci´on propia. 96 8.35. Resultado de la LSTM en la generaci´on de 100 puntos observando los 1000 previos. Elaboraci´on propia. 97 8.36. Generaci´on en uint8 de la se˜nal MEA mediante Dev Board. Elaboraci´on propia. . . . . . . . . . . . . 97 8.37. Generaci´on err´onea de 1000 puntos en una se˜nal MEA con el modelo LSTM visualizando los 100 previos.Elaboraci´onpropia.......................................... 98 A.1. Objetivos de desarrollo sostenible planteados en la Agenda 2030 por la ONU [120]. . . . . . . . . . . 110 B.1. Tiempo de ejecuci´on medio en segundos en la b´usqueda de hiperpar´ametros de ESN con distintos procesos.....................................................112 B.2. Tiempo de ejecuci´on medio en segundos en la b´usqueda de hiperpar´ametros de LSM con distintos procesos.....................................................113 B.3. Tiempo de ejecuci´on medio en segundos en la b´usqueda de hiperpar´ametros de NGRC con distintos procesos.....................................................114 XXII ´ INDICE DE TABLAS ´ Indice de Tablas 2.1. Matriz de nivel de riesgo seg´un la probabilidad y el impacto de su suceso. . . . . . . . . . . . . . . . 8 2.2. Riesgo 1 - Equipo de trabajo peque˜no. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . 9 2.3. Riesgo 2 - Modificaci´on de los objetivos. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . 9 2.4. Riesgo 3 - Falta de experiencia. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5. Riesgo 4 - Falta de tiempo para perfeccionar aspectos relevantes. Elaboraci´on propia. . . . . . . . . . 10 2.6. Riesgo 5 - P´erdida de material relevante. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . 11 2.7. Riesgo 6 - Inactividad de los servidores. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . 11 2.8. Riesgo 7 - Destrucci´on total o parcial del equipo de trabajo. Elaboraci´on propia. . . . . . . . . . . . 12 2.9. Riesgo 8 - Poca disponibilidad de los tutores. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . 12 2.10. Riesgo 9 - Mala aplicaci´on de la metodolog´ıa elegida. Elaboraci´on propia. . . . . . . . . . . . . . . . 13 2.11. Riesgo 10 - Insuficiencia de datos. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.12. Riesgo 11 - D´eficits de rendimiento de los equipos de trabajo. Elaboraci´on propia. . . . . . . . . . . . 14 2.13. Riesgo 12 - Interpretaci´on incorrecta de los resultados. Elaboraci´on propia. . . . . . . . . . . . . . . 14 2.14. Riesgo 13 - P´erdida de los resultados. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . 15 2.15. Riesgo 14 - P´erdida del contenido bibliogr´afico. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . 15 2.16. Gastos totales del proyecto. Elaboraci´on propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1. Aplicaciones de las series temporales en diferentes investigaciones [35]. . . . . . . . . . . . . . . . . . 33 7.1. Tabla de especificaciones de Dev Board [106]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8.1. Resultados de la b´usqueda de hiperpar´ametros en ESN con menor p´erdida. Elaboraci´on propia. . . 72 XXIII 2.2. PLANIFICACI ´ ON En cambio, si se opta por seguir las fases de forma m´as r´ıgida y defini´endolas desde el inicio, sin apenas modificaciones e iteraciones, se estar´ıa aproximando m´as a una metodolog´ıa en cascada como se podr´ıa ver en un proyecto de software [4]. La elecci´on de una aproximaci´on u otra viene dada por la naturaleza del proyecto y los objetivos que se tengan que cumplir [7]. Figura 2.1: Esquema del ciclo CRISP-DM est´andar [8]. 2.2. Planificaci´on El plan inicial cuenta con un plan de fases, que se defini´o al inicio de este TFG como adaptaci´on de la metodolog´ıa CRISP-DM en su versi´on ´agil (como se ha mencionado en el apartado 2.1). Para conseguir que se siga el manifesto ´agil [6], al final de cada fase se comunicar´a a los profesores los resultados obtenidos. De esta forma, conseguimos satisfacer la mayor prioridad de este manifesto, que es conseguir entregables de forma temprana y que contengan valor para la investigaci´on. Adem´as, mediante esta realimentaci´on continua, se consigue una mejora sustancial de la productividad y comunicaci´on constante, evitando de esta forma retrasos inesperados. Este plan de fases se ha elegido debido a su gran versatilidad y eficacia, ya que es una estrategia que organiza las diversas etapas de manera flexible para completar el proyecto en su totalidad. Cada fase representa un conjunto de actividades relacionadas entre s´ı que conducen a la consecuci´on de los objetivos ya definidos. Se ha adaptado la metodolog´ıa descrita de manera que cada fase se enfoque en un objetivo espec´ıfico para lograr descomponer el proyecto en partes m´as peque˜nas y manejables, siendo de especial inter´es a la hora de llevar a cabo el seguimiento real del proyecto y poder realizar una mejor estimaci´on de los tiempos realizados. Las fases adaptadas en comparaci´on a CRISP-DM con las que cuenta este proyecto son: 1. Definici´on del proyecto y objetivos generales de cada fase (relaci´on con la fase 1 ’Comprensi´on del negocio’): En esta fase se expone la investigaci´on que se va a llevar a cabo, adem´as de la realizaci´on de la planificaci´on y los objetivos que se tienen que cumplir para finalizar el proyecto con ´exito. Una vez asentados los objetivos, se han dise˜nado las siguientes fases de acuerdo al plan inicial para conseguir definir el alcance del proyecto. 2. Revisi´on bibliogr´afica general: En esta fase se busca obtener el conocimiento necesario de la t´ecnica del Reservoir Computing, nutri´endose tanto del marco te´orico actual mediante art´ıculos prestigiosos como de las aplicaciones pr´acticas que han dado mejores resultados. Esta fase sustituye a la fase 2 ’Comprensi´on de los datos’, ya que el conjunto de datos viene determinado por la empresa. Esta fase se realizar´a como una actividad extra de la fase asociada en este plan a la fase del ciclo CRISP-DM 3 ’Preparaci´on de los datos’. 6 CAP´ ITULO 2. GESTI ´ ON DEL PROYECTO Cabe destacar que esta b´usqueda es preliminar e introductoria exclusivamente de dicha t´ecnica, puesto que en cada modelo cuenta con su etapa espec´ıfica de revisi´on bibliogr´afica para adentrarse en profundidad a los conceptos clave para satisfacer sus respectivas necesidades de implementaci´on (ver la actividad 4). 3. Preparaci´on de los datos (relaci´on directa con la fase 3): Para poder implementar las se˜nales MEA adecuadamente, en esta fase se trataron de forma que los datos obtenidos despu´es del preprocesamiento fueran representativos y de utilidad para la investigaci´on. 4. Construcci´on de los modelos (relaci´on directa con la fase 4): Una vez se haya hecho una revisi´on exhaustiva de la bibliograf´ıa general y los datos est´en correctamente tratados, empieza el desarrollo e implementaci´on de los modelos. Debido a la densa concentraci´on de tareas para cada modelo que alberga esta fase, se ha optado por realizar un flujo de actividades que se sigue de forma com´un para cumplir con 4 iteraciones (ya que se han desarrollado 4 modelos). El flujo de actividades de la iteraci´on que se va a repetir por cada modelo consta de: Revisi´on bibliogr´afica del modelo: De forma similar a la fase 2, pero haciendo una revisi´on exhaustiva de las ventajas y desventajas de cada modelo, as´ı como aplicaciones te´oricas y pr´acticas. Implementaci´on del modelo: Se implementa el modelo de acuerdo a lo establecido en la bibliograf´ıa revisada de forma que acepte las se˜nales MEA. Obtenci´on de resultados iniciales: Una vez implementado el modelo, se eval´uan los resultados obtenidos. Ajuste de hiperpar´ametros: Se realiza una b´usqueda de los hiperpar´ametros que mejor se adapten a las caracter´ısticas de nuestros datos y se vuelve a reevaluar el modelo para obtener unos resultados mejorados. Creaci´on del entregable Al final de cada iteraci´on, se realiza un entregable con la implementaci´on y los resultados del modelo en desarrollo en esa iteraci´on para ense˜n´arselo a los tutores. De esta forma se busca que lo obtenido sea coherente y acorde a las caracter´ısticas del conjunto de datos. Figura 2.2: Imagen animada que muestra el flujo de actividades en cada iteraci´on dentro de la fase 4. En caso de que no se admitan im´agenes animadas, se mostrar´a la primera iteraci´on. Elaboraci´on propia, basada en [7]. Esta fase es crucial para finalizar el proyecto con ´exito, por lo que se ha mantenido un contacto continuo y estrecho con los tutores durante su ejecuci´on. 5. Extracci´on de resultados y comparaciones (relaci´on con la fase 5 ’Evaluaci´on del modelo’): Cuando los modelos se encuentren ya adaptados a los datos, comienza la extracci´on de resultados que finalmente formar´a parte de las conclusiones finales del proyecto. Se va ejecutando cada modelo y, mediante el ajuste de los hiperpar´ametros realizado en las iteraciones de la fase anterior, se eval´uan los resultados mediante visualizaciones y m´etricas para comparar los modelos entre s´ı y obtener las conclusiones resultantes. 7 2.3. RIESGOS 6. En cuanto a la fase 6 ’Despliegue’, se ha divido en dos fases principales de la planificaci´on de este TFG, ya que la fase de ’Redacci´on de la memoria’ contiene un gran flujo de actividades y, de esta forma, se consigue una iteraci´on m´as r´apida. a)Redacci´on de la memoria: A medida que se vayan obteniendo resultados consistentes, se va a proceder a redactar este TFG. Al final de cada cap´ıtulo se contactar´a con los tutores para tener una retroalimentaci´on continua de lo redactado en el informe y poder realizar los cambios pertinentes. Asimismo, se ha intentado mantener una estructura de la memoria (ver el apartado 1.4) similar a este plan de fases para un mejor seguimiento del mismo. b)Presentaci´on ante el tribunal: Se preparar´a una presentaci´on con los contenidos m´as importantes de este proyecto para exponerlo ante el tribunal. 2.3. Riesgos Seg´un el Project Management Body of Knowledge (PMBOK) [9], se define riesgo como ’un evento o condici´on incierta que, si ocurriese, tendr´ıa una repercusi´on positiva o negativa sobre los objetivos del proyecto’. Por ello, en este apartado se crear´a un plan de riesgos que analizar´a los posibles riesgos que pueden surgir a lo largo de este proyecto. Para cada riesgo, se utilizar´a la Tabla 2.1. Se va a seguir un indicador de alto, medio o bajo para definir la probabilidad y el grado de riesgo. Despu´es, se calcular´a el grado de riesgo total en funci´on de dicha tabla. Tabla 2.1: Matriz de nivel de riesgo seg´un la probabilidad y el impacto de su suceso. Impacto Probabilidad Baja Media Alta Bajo Bajo Bajo Medio Medio Bajo Medio Alto Alto Medio Alto Alto 2.3.1. Registro de riesgos Para los riesgos identificados en este proyecto, se ha creado el siguiente registro de riesgos que contiene las siguientes secciones: ID Riesgo: identifica el riesgo de forma ´unica. T´ıtulo: enuncia el nombre del riesgo identificado. Categor´ıa: clasifica el riesgo en personal, tecnolog´ıa o gesti´on seg´un la naturaleza del riesgo. Estado: progreso dentro del plan de mitigaci´on de riesgos. Descripci´on del riesgo: breve introducci´on del riesgo. Amenaza: describe el factor de riesgo con potencial de provocar un perjucio o da˜no en el proyecto. Mitigaci´on recomendada por el riesgo: medida para evitar que se materialice el riesgo. Acciones correctivas: medida para corregir en caso de que el riesgo se haya materializado. Valores de probabilidad e impacto: valores otorgados a los factores de probabilidad e impacto antes y despu´es de crear una medida de mitigaci´on del riesgo. A continuaci´on, se muestra el contenido del registro de riesgos: 8 CAP´ ITULO 2. GESTI ´ ON DEL PROYECTO Tabla 2.2: Riesgo 1 - Equipo de trabajo peque˜no. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK001 T´ıtulo Equipo peque˜no Categor´ıa Personal Estado Abierto Descripci´on del riesgo Debido a que el equipo de desarrollo de este TFG solamente cuenta con una persona, se depende de que esa persona cumpla con los plazos de entrega. Amenaza Puede tener una ausencia, una enfermedad o alg´un problema que haga que no se pueda avanzar de la forma deseada con el proyecto. Mitigaci´on recomendada para el riesgo Contar con una amortiguaci´on de retrasos, dejando al final de cada fase un breve periodo de tiempo para poder repasar lo realizado o actuar en consecuencia. Acciones correctivas Realizar una replanificaci´on que se adecue a la situaci´on concebida. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Medio Postmitigaci´on Baja Medio Bajo Tabla 2.3: Riesgo 2 - Modificaci´on de los objetivos. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK002 T´ıtulo Modificaci´on de los objetivos Categor´ıa Gesti´on Estado Abierto Descripci´on del riesgo Los objetivos se definen mal o tienen que ser modificados a la mitad del proyecto. Amenaza Retrasos en la entrega o incapacidad de finalizar el proyecto a tiempo. Mitigaci´on recomendada para el riesgo Hablar con los tutores y resolver todas las dudas conceptuales que se tengan de los objetivos. Acciones correctivas Replanificar y ajustarse a los nuevos objetivos intentando no retrasar demasiado la entrega. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Media Postmitigaci´on Baja Medio Bajo 9 2.3. RIESGOS Tabla 2.4: Riesgo 3 - Falta de experiencia. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK003 T´ıtulo Falta de experiencia Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo No se cuenta con experiencia de ning´un tipo en el tratamiento y an´alisis de se˜nales y otros factores relevantes del campo de la bioinform´atica. Amenaza Se puede requirir m´as tiempo del planificado para comprender los conceptos b´asicos, o incluso no llegar a ser capaz de aplicarlos correctamente, provocando retrasos. Mitigaci´on recomendada para el riesgo Dedicar las primeras semanas a la formaci´on adecuada, preguntando todas las dudas que surjan a los tutores. Acciones correctivas En caso de no saber c´omo proceder, volver a la bibliograf´ıa proporcionada por los tutores y examinarla en profundidad antes de continuar con el proyecto. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Alta Alto Alto Postmitigaci´on Baja Alto Medio Tabla 2.5: Riesgo 4 - Falta de tiempo para perfeccionar aspectos relevantes. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK004 T´ıtulo Falta de tiempo para perfeccionar Categor´ıa Gesti´on Estado Abierto Descripci´on del riesgo Aspectos relevantes del proyecto no han cumplido con las expectativas. Amenaza El proyecto queda pobre, causando una mala impresi´on al tribunal. Mitigaci´on recomendada para el riesgo Esfuerzo, dedicaci´on y compromiso para entregar el proyecto en las mejores condiciones posibles. Acciones correctivas Replanificaci´on del proyecto Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Media Alto Alto Postmitigaci´on Baja Alto Medio 10 CAP´ ITULO 2. GESTI ´ ON DEL PROYECTO Tabla 2.6: Riesgo 5 - P´erdida de material relevante. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK005 T´ıtulo P´erdida del material relevante Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo Debido a un imprevisto, se pierde la memoria del proyecto o el c´odigo realizado. Amenaza Retrasos o incluso p´erdida total del proyecto y haya que volver a empezar. Mitigaci´on recomendada para el riesgo En el caso del c´odigo, se utilizar´a GitHub, ya que esta plataforma permite recuperar versiones anteriores en caso de p´erdida de c´odigo. En cuanto a la memoria, se trabajar´a con Overleaf ya que permite editar el texto en l´ınea. Acciones correctivas Copias de seguridad de forma local y remota en ambos casos. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Medio Postmitigaci´on Bajo Bajo Baja Tabla 2.7: Riesgo 6 - Inactividad de los servidores. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK006 T´ıtulo Inactividad de los servidores Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo Ca´ıda de los servidores temporal o permanente de GitHub y/o Overleaf durante el desarrollo del c´odigo o de la memoria de forma que afecte a la planificaci´on inicial. Amenaza Retrasos o incluso p´erdida total del proyecto y haya que volver a empezar. Mitigaci´on recomendada para el riesgo Recurrir a copias de seguridad de la memoria y el c´odigo en la m´aquina local cada vez que se realice un cambio. Acciones correctivas Redundancia de los documentos y del c´odigo. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Medio Postmitigaci´on Baja Bajo Bajo 11 2.3. RIESGOS Tabla 2.8: Riesgo 7 - Destrucci´on total o parcial del equipo de trabajo. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK007 T´ıtulo Destrucci´on total o parcial del equipo de trabajo Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo El equipo en el que se trabaja se aver´ıa de forma parcial o total. Amenaza Retrasos en la entrega o incapacidad de finalizar el proyecto. Mitigaci´on recomendada para el riesgo Copias de seguridad de todo lo que se vaya a entregar, adem´as de redundancia de equipos de trabajo, como pueden ser el equipo de la oficina y otro equipo personal. Acciones correctivas Migrar todo el contenido de un equipo a otro y continuar con el trabajo. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Medio Postmitigaci´on Baja Bajo Bajo Tabla 2.9: Riesgo 8 - Poca disponibilidad de los tutores. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK008 T´ıtulo Poca disponibilidad de los tutores Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo Los tutores estan ocupados cuando surje un imprevisto y se demora la respuesta. Amenaza Retrasos en la entrega. Mitigaci´on recomendada para el riesgo Acordar reuniones con tiempo para que ambas partes est´en reunidas a tiempo. Acciones correctivas En el caso de que la duda surja en la parte del desarrollo de los modelos, continuar con el documento de la memoria en lo que se espera una respuesta. Por el contrario, en caso de que surja en la parte de la memoria, perfeccionar el c´odigo ya realizado. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Media Medio Medio Postmitigaci´on Media Bajo Bajo 12 CAP´ ITULO 2. GESTI ´ ON DEL PROYECTO Tabla 2.10: Riesgo 9 - Mala aplicaci´on de la metodolog´ıa elegida. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK009 T´ıtulo Mala aplicaci´on de la metodolog´ıa elegida Categor´ıa Gesti´on Estado Abierto Descripci´on del riesgo No aplicar correctamente la metodolog´ıa. Amenaza Retrasos en la entrega. Mitigaci´on recomendada para el riesgo Planificar con antelaci´on el cronograma y repartir de forma adecuada las tareas siguiendo esa metodolog´ıa. Preguntar a profesores con conocimientos en planificaci´on para adaptarlo correctamente. Acciones correctivas Replanificar el cronograma. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Media Medio Medio Postmitigaci´on Media Bajo Bajo Tabla 2.11: Riesgo 10 - Insuficiencia de datos. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK010 T´ıtulo Insuficiencia de datos Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo No hay datos suficientes para llevar a cabo la tarea. Amenaza Modelo entrenado de forma pobre, haciendo que no generalice correctamente. Mitigaci´on recomendada para el riesgo Hablar con los tutores y seguir las pautas dictaminadas por ellos. Acciones correctivas Informar a los tutores y generar m´as datos o consultar unos nuevos. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Media Alto Alto Postmitigaci´on Media Bajo Bajo 13 2.3. RIESGOS Tabla 2.12: Riesgo 11 - D´eficits de rendimiento de los equipos de trabajo. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK011 T´ıtulo D´eficits de rendimiento Categor´ıa Tecnolog´ıa Estado Abierto Descripci´on del riesgo Debido a una mala programaci´on del c´odigo o recursos insuficientes (como la capacidad de c´omputo) por parte del equipo, el modelo tarde demasiado en ejecutarse. Amenaza El programa no se ejecuta correctamente, desencadenando fallos. Mitigaci´on recomendada para el riesgo Optimizar el c´odigo y los recursos empleados por el equipo. Acciones correctivas Probar a ejecutarlo en otros equipos con mejores prestaciones si los fallos persisten. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Medio Postmitigaci´on Baja Medio Baja Tabla 2.13: Riesgo 12 - Interpretaci´on incorrecta de los resultados. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK012 T´ıtulo Interpretaci´on incorrecta de los resultados Categor´ıa Personal Estado Abierto Descripci´on del riesgo Los resultados se interpretan de forma incorrecta, llegando a conclusiones err´oneas. Amenaza Causar mala impresi´on al tribunal, afectando a la nota final del proyecto. Mitigaci´on recomendada para el riesgo Comunicar los resultados a los tutores. Acciones correctivas Corregir lo err´oneo. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Media Alto Alto Postmitigaci´on Baja Medio Bajo 14 CAP´ ITULO 2. GESTI ´ ON DEL PROYECTO Tabla 2.14: Riesgo 13 - P´erdida de los resultados. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK013 T´ıtulo P´erdida de los resultados Categor´ıa Gesti´on Estado Abierto Descripci´on del riesgo Los resultados y las conclusiones obtenidas se pierden por errores humanos o del sistema. Amenaza Retrasos en la entrega o incapacidad de finalizar el proyecto a tiempo. Mitigaci´on recomendada para el riesgo Usar la herramienta Excel en l´ınea para tener guardado el documento con los resultados a medida que se vayan obteniendo en la nube y crear una copia local cada vez que se modifique. Acciones correctivas Replanificar y volver a obtener los resultados de nuevo. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Baja Alto Media Postmitigaci´on Baja Bajo Bajo Tabla 2.15: Riesgo 14 - P´erdida del contenido bibliogr´afico. Elaboraci´on propia. REGISTRO DE RIESGO ID Riesgo RSK014 T´ıtulo P´erdida del contenido bibliogr´afico Categor´ıa Gesti´on Estado Abierto Descripci´on del riesgo Al tener que indagar entre muchos art´ıculos, no guardarlos debidamente y tener que escribir la bibliograf´ıa a mano al final del proyecto. Amenaza Ser totalmente ineficaz y malgastar tiempo valioso que se podr´ıa emplear en perfeccionar la memoria y el c´odigo. Mitigaci´on recomendada para el riesgo Usar una herramienta en l´ınea que gestione la bibliograf´ıa. Se recomienda el uso de Zotero, ya que se pueden sincronizar varios dispositivos y permite el guardado de los art´ıculos con unos pocos pasos. Adem´as, permite exportarlo directamente en el formato exigido por Overleaf. Acciones correctivas Replanificar e intentar recuperar la bibliograf´ıa lo antes posible. Valores de probabilidad e impacto Probabilidad Impacto Riesgo total Premitigaci´on Media Alto Alto Postmitigaci´on Baja Bajo Bajo 15 2.5. ESTIMACI ´ ON DE COSTES 2.5. Estimaci´on de costes Para finalizar el cap´ıtulo de gesti´on del proyecto, se ha decidido hacer un presupuesto de lo que supondr´ıa trasladar la investigaci´on a un equipo de trabajo fuera de la universidad. Cabe destacar que este proyecto no tiene ning´un fin comercial, ya que est´a destinado ´unica y exclusivamente a realizar un TFG meramente acad´emico. Para empezar con el presupuesto, se deber´ıa contar inicialmente con un equipo de trabajo. El rango del sueldo base anual de un ingeniero de Machine Learning (ML) en Espa˜na oscila entre los 29.000€- 50.000€a d´ıa 16 de mayo de 2024 por [10], resultando en un sueldo medio de 42.641€. Si contamos con una remuneraci´on adicional (que pueden incluir bonificaciones, comisiones, propinas, etc.) que comprende desde los 950€hasta los 6400€, estimando un valor de dicha remuneraci´on de 3.171€(aprox 264,25€/mes extra), el sueldo anual total es de 45.842€, por lo que el sueldo final resultante es de aproximadamente 3.820,17€/mes. No obstante, para los conocimientos clave sobre se˜nales MEA y las nociones sobre c´omo realizar el posterior tratamiento de dichas se˜nales, se deber´ıa contar con un profesional de la rama m´edica. Suponiendo que se desease contratar a un ingeniero biom´edico, ya que sus destrezas tanto en el ´ambito ingenieril como en el m´edico aportar´ıan un gran valor a˜nadido al resultado del proyecto, se sumar´ıan los siguientes costes. Siguiendo la misma l´ogica de antes, el rango de sueldo base oscila entre los 22.000€- 30.000€a d´ıa 16 de mayo de 2024 por [11], dando lugar a un sueldo medio anual de 26.264€. Por otro lado, las remuneraciones adicionales oscilan entre los 1427€y 1549€, con una estimaci´on media de 1488€y, por tanto, un sueldo medio total de 27.752€/a˜no. Para la duraci´on del proyecto, se estima que dicho ingeniero obtenga 2.344,17€/mes. El contratista no solo paga por los sueldos base, sino que tambi´en se tienen que a˜nadir otros factores [12]. En concreto, el coste de un trabajador al mes esta formado por: Sueldo: salario bruto que recibe el empleado cada mes indicado en su n´omina. En este caso es lo calculado en el p´arrafo anterior. Seguridad Social: cotizaciones que debe pagar la empresa por cada empleado a la Seguridad Social. Los factores con sus porcentajes respecto al salario bruto, suponiendo que los contratados no tienen condiciones especiales, que se han contemplado en este TFG son los siguientes: •Cotizaci´on por contingencias comunes: 23,6 % •Cotizaci´on por formaci´on: 0,6 % •Cotizaci´on por desempleo: 6,7 % •Cotizaci´on por accidentes de trabajo y enfermedades profesionales: 3,5 % •Fondo de Garant´ıa Salarial (FOGASA): 0,2 % •Mecanismo de Equidad Intergeneracional (MEI) en 2024: 0,58 % Costes adicionales: otros aportes sociales que se deben realizar. En este caso, solo se va a tener en cuenta el Impuesto sobre la renta de las Personas F´ısicas (IRPF) con una retenci´on del 2 % (contrato temporal de menos de un a˜no de duraci´on). Por tanto, se podr´ıa deducir a trav´es de la Ecuaci´on 2.1 el coste de un empleado al mes seg´un lo mencionado. C=SB +SS +IRP F (2.1) Donde SB se refiere al salario bruto del trabajador. Suponiendo que la f´ormula de la Seguridad Social (2.2) al sumar todos los porcentajes de las cotizaciones que la componen es: SS =SB ∗0,3518 (2.2) 22 CAP´ ITULO 2. GESTI ´ ON DEL PROYECTO Y la del IRPF: IRP F =SB ∗0,02 (2.3) Obtenemos mediante las Ecuaciones 2.1, 2.2 y 2.3 que lo que tiene que pagar el contratista por cada empleado al mes es 5.240,51€por el ingeniero de ML y 3.215,73€por el ingeniero biom´edico. Como se puede observar en el apartado 2.4, el proyecto ha comprendido una duraci´on aproximada de 3 meses, por tanto, el coste de salarios para la duraci´on del proyecto es de 25.368,72€. Una vez tratados los salarios, se calcular´an otros costes asociados al proyecto, como puede ser el equipo de trabajo y el coste de otros dispositivos asociados. Ya que el equipo inform´atico no contaba con una Graphics Processing Unit (GPU) integrada, todos los procesos se corren en Central Processing Unit (CPU). Este equipo contaba con el sistema operativo Windows 11 instalado, un procesador Intel(R) Core(TM) i5-11400 con una frecuencia b´asica de 2.60GHz [13], una memoria RAM instalada de 16GB (15,8GB usables) y con un Solid State Drive (SSD) de 500GB. Un equipo con estas caracter´ısticas actualmente supone un coste aproximado de 497,60€[14], aunque se pueden buscar otras alternativas con mejores prestaciones si se desea. En el caso del modelo LSTM que se desarroll´o en Google Colab no necesita de ning´un plan, pero en el caso de que se quiera contar con caracter´ısticas premium, el plan Colab Pro [15] supone 11,9€/mes, por lo que para la duraci´on del proyecto se estimar´ıan 35,7€. Algunas de las ventajas m´as relevantes para el proyecto que incluye este plan son 100 unidades inform´aticas al mes, GPU m´as r´apidas y m´as memoria. Esto puede ser ´util a la hora de ejecutar el modelo con muchos m´as datos. Otras utilidades adicionales que proporciona este plan es la posibilidad de usar una terminal con acceso a la m´aquina virtual y asesoramiento mediante IA. Para el dispositivo de Google Coral [16], las inferencias se han realizado sobre un Google Coral Dev Board, el precio asociado es 199€[17]. En caso de que surjan imprevistos durante el proyecto o un aumento en los gastos de forma inesperada, se ha reservado un 10 % extra del total para sufragar dichos gastos. De esta forma, los gastos totales ascienden a la cantidad indicada en la Tabla 2.16. Gasto Sin Colab Pro Con Colab Pro Salarios 25.368,72€25.368,72€ Equipo inform´atico 497,60€497,60€ Colab Pro (opcional) - 35,7€ Google Coral Dev Board 199€199€ Subtotal 26.065,32€26.101,02€ Margen de contingencia (10 %) 2.606,53€2.610,10€ Total 28.671,85€28.711,12€ Tabla 2.16: Gastos totales del proyecto. Elaboraci´on propia. En conclusi´on, se deber´ıan destinar aproximadamente 30.000€en caso de querer replicar este proyecto. 23 2.5. ESTIMACI ´ ON DE COSTES 24 CAP´ ITULO 3. TECNOLOG´ IAS EMPLEADAS Cap´ıtulo 3 Tecnolog´ıas empleadas Este proyecto se ha desarrollado completamente en Python, en Jupyter Notebook. Para su almacenamiento, se ha empleado un repositorio de Github que contiene una carpeta para cada modelo con su respectivo c´odigo. La redacci´on de la memoria se ha hecho completamente con Overleaf. Para la implementaci´on, se han empleado: Visual Studio Code para la implementaci´on de la mayor´ıa de modelos por su gran versatilidad y comodidad. Para el desarrollo del modelo de la red LSTM se ha usado Google Colab. Esto se debe al uso de Tensor Processing Unit (TPU) en los dispositivos de Google Coral, y con Google Colab se abr´ıa la posibilidad de alojar tensores y desarrollar este modelo de forma remota, permitiendo as´ı el poder trabajar con lo necesario en TPU y llevar a cabo este modelo en el equipo de trabajo del que se dispon´ıa. Las bibliotecas empleadas son las siguientes: 3.1. Tensorflow Tensorflow [18] es una biblioteca de software de c´odigo abierto para el desarrollo de modelos de aprendizaje autom´atico desarrollada por Google. Fue originalmente desarrollado por el equipo de Google Brain para uso interno en Google antes de ser publicado bajo la licencia de c´odigo abierto Apache 2.0 el 9 de noviembre de 2015. El nombre TensorFlow deriva de las operaciones que tales redes neuronales realizan sobre arrays multidimensionales de datos. Estos arrays multidimensionales son referidos como ”tensores”. Los tensores son una generalizaci´on de los vectores y las matrices, permitiendo representar datos con m´as de dos dimensiones. Un vector unidimensional es un tensor de rango 1, una matriz bidimensional es un tensor de rango 2 y as´ı sucesivamente. Se pueden aplicar diversas operaciones matem´aticas a los tensores, como suma, resta, multiplicaci´on, convoluci´on, activaci´on y pooling, las cuales son esenciales para el entrenamiento y la ejecuci´on de redes neuronales. 25 3.1. TENSORFLOW Estos tensores presentan grandes ventajas a la hora de programar los modelos, entre las que se encuentran: Representaci´on de datos multidimensionales: Los tensores pueden almacenar y procesar datos multidimensionales, como es el caso de las series temporales y, en este contexto, de los datos disponibles de se˜nales MEA. Eficiencia computacional: TensorFlow est´a optimizado para el procesamiento de tensores, lo que permite realizar c´alculos num´ericos y operaciones de aprendizaje autom´atico de manera eficiente, incluso en conjuntos de datos grandes. Flexibilidad y versatilidad: Los tensores se pueden utilizar para construir una amplia gama de modelos de aprendizaje autom´atico, siendo de gran utilidad para el desarrollo de RNN. Integraci´on con otras bibliotecas: TensorFlow se integra f´acilmente con otras bibliotecas de Python como NumPy (apartado 3.5), Pandas (apartado 3.2) y Scikit-learn (apartado 3.7), facilitando la manipulaci´on y preprocesamiento de datos antes de alimentarlos a los modelos. TensorFlow permite a los desarrolladores construir y entrenar modelos de aprendizaje profundo de manera eficiente. Esta arquitectura puede ejecutarse en una variedad de plataformas, como CPU, GPU y TPU. En este TFG, se ha empleado esta biblioteca para alojar tensores y usar herramientas y bibliotecas propias para poder desarrollar e implementar el modelo LSTM en el dispositivo Google Coral. Entre estas bibliotecas se incluyen: 3.1.1. Keras Keras [19] es una Application Programming Interface (API) dise˜nada para posibilitar la experimentaci´on con redes de aprendizaje profundo. En 2017, el equipo de TensorFlow de Google decidi´o ofrecer soporte a Keras en la biblioteca de core de TensorFlow, con la llegada de Tensorflow 2.0. Entre las ventajas de usar Keras para el desarrollo de una LSTM se encuentran: 1. Simplicidad y facilidad de uso: es una API intuitiva y de alto nivel que facilita la creaci´on y entrenamiento de diversos tipos de RNN, incluyendo la LSTM. 2. Flexibilidad y escalabilidad: el modelo LSTM desarrollado en Keras permite una personalizaci´on de las capas internas y otros factores que influyen en los modelos, ayudando a una mejor optimizaci´on del modelo. En cuanto a la escalabilidad, Keras permite escalar los modelos de forma que se pueda manejar f´acilmente grandes conjuntos de datos y tareas complejas. 3. Eficiencia y rendimiento: Keras optimiza autom´aticamente el entrenamiento de las redes LSTM, permitiendo obtener resultados precisos y eficientes en un tiempo razonable y aprovechando el hardware del que se dispone. Esto es de gran utilidad al utilizar una Google Coral, debido a su disponibilidad y requisitos para el uso de su hardware. En este TFG, se ha empleado esta biblioteca para definir y guardar el modelo LSTM, ya que es capaz de definir modelos y ejecutarlos de forma temprana. Con esto se consigue facilitar el desarrollo de modelos, posibilitar la depuraci´on de modelos utilizando herramientas est´andar, y simplificar la definici´on de modelos din´amicos utilizando estructuras de control. 26 CAP´ ITULO 3. TECNOLOG´ IAS EMPLEADAS 3.1.2. Tflite TensorFlow Lite [20] es un marco de software de c´odigo abierto desarrollado por Google para ejecutar modelos de aprendizaje autom´atico en dispositivos m´oviles y de baja potencia. Permite convertir modelos entrenados en TensorFlow a un formato m´as ligero y eficiente para su implementaci´on en dispositivos con recursos limitados, como puede ser un dispositivo de Google Coral. Por ello, se ha utilizado en este TFG, ya que la combinaci´on de TensorFlow Lite y Google Coral ofrece una soluci´on potente y flexible para implementar modelos en dispositivos de baja potencia, ofreciendo as´ı un alto rendimiento, baja latencia y eficiencia energ´etica. 3.2. Pandas Pandas [21] es una biblioteca de c´odigo abierto de alto rendimiento, construida sobre NumPy (apartado 3.5), dise˜nada espec´ıficamente para el trabajo con datos estructurados en Python. Proporciona estructuras de datos y operaciones potentes para la manipulaci´on, an´alisis y visualizaci´on de datos. Las estructuras de datos principales incluyen las series (array unidimensional), los DataFrames (estructura de datos bidimensional con forma de tabla) y el panel (estructura de datos tridimensional para almacenar datos con tres ejes de indexaci´on). Debido a la gran ventaja que supone representar los datos en formato de tabla para representar sus caracter´ısticas y estructuras principales, se ha optado por usar en este TFG los DataFrame debido a la naturaleza de los datos. 3.3. ReservoirPy ReservoirPy [22] es una biblioteca sencilla y f´acil de usar basada en m´odulos cient´ıficos de Python. Proporciona una interfaz flexible para implementar arquitecturas eficientes de RC con un enfoque particular en ESN. Las funciones avanzadas de ReservoirPy permiten mejorar la eficiencia del tiempo de c´alculo en comparaci´on con la implementaci´on b´asica de Python, con conjuntos de datos de cualquier tama˜no. Debido a que RC tiene como objetivo hacer que la complejidad surja de la aparente simplicidad, ReservoirPy proporciona a sus usuarios herramientas basadas en Scipy (apartado 3.4) y Numpy (apartado 3.5) que pueden realizar una amplia gama de tareas de aprendizaje autom´atico, en particular cuando se trata de datos secuenciales. Debido a todas las ventajas que ofrece esta biblioteca, se ha empleado en este TFG para el desarrollo de la ESN usando el tutorial y los consejos proporcionados en la gu´ıa de la p´agina oficial de ReservoirPy con el objetivo de obtener los mejores resultados posibles. 3.4. Scipy SciPy [23] es una biblioteca gratuita y de c´odigo abierto usada para computaci´on cient´ıfica y t´ecnica en Python. Agrega un poder significativo a Python al proporcionar al usuario comandos y clases de alto nivel para manipular y visualizar datos. Se cre´o a partir de distintos m´odulos de extensi´on para Python y fue lanzada en 1999 bajo el nombre de 27 3.5. NUMPY Multipack, llamada as´ı por los paquetes netlib que reun´ıan a ODEPACK, QUADPACK, y MINPACK. SciPy se basa en Numpy (apartado 3.5), proporciona m´odulos para optimizaci´on, ´algebra lineal, integraci´on, interpolaci´on y otras tareas cient´ıficas y de ingenier´ıa. Gracias a ello, se consigue una gran colecci´on de funciones accesibles, f´aciles de usar y completamente gratuitas. Como cuenta con una amplia gama de funciones dedicadas al procesamiento de se˜nales, se ha usado Scipy para el preprocesamiento y tratamiento de las se˜nales MEA. 3.5. Numpy NumPy [24] es una biblioteca de Python que proporciona arrays multidimensionales, varios objetos derivados y una variedad de rutinas para operaciones r´apidas en matrices, incluidas matem´aticas, l´ogicas, manipulaci´on de formas, clasificaci´on, selecci´on, E/S., transformadas discretas de Fourier, ´algebra lineal b´asica, operaciones estad´ısticas b´asicas, simulaci´on aleatoria y mucho m´as. Numpy se ha usado en este TFG, ya sea como parte de otras bibliotecas de forma intr´ınseca o como biblioteca individual con sus propias funciones. Su uso se debe principalmente a que facilita el manejo de grandes vol´umenes de datos de texto, y algunas de sus funciones han permitido desarrollar aspectos relevantes de este TFG como la extracci´on de los datos y el entrenamiento de los modelos de aprendizaje autom´atico para realizar el an´alisis de las se˜nales MEA. 3.6. Matplotlib Matplotlib [25] es una biblioteca de c´odigo abierto para Python ampliamente utilizada para la creaci´on de gr´aficos 2D de alta calidad. Es una herramienta vers´atil y popular que se puede usar para crear una amplia gama de gr´aficos personalizados permitiendo su exportaci´on (desde los m´as sencillos como gr´aficos de l´ıneas o barras, hasta algunos m´as complejos como diagramas de caja y bigotes). En este TFG, se ha empleado esta biblioteca principalmente para la visualizaci´on de diversas funciones con el subm´odulo ”pyplot”. Esto ha sido de vital importancia en este proyecto, pues se han realizado visualizaciones tanto de los datos de las se˜nales MEA en crudo, como del procesamiento y la elaboraci´on de los resultados de cada modelo. 3.7. Scikit-learn Scikit-learn [26] es una biblioteca gratuita y de c´odigo abierto construida sobre SciPy (apartado 3.4), NumPy (apartado 3.5) y Matplotlib (apartado 3.6) para aprendizaje autom´atico en Python. Proporciona herramientas eficientes y f´aciles de usar para una amplia gama de tareas de aprendizaje autom´atico. En este TFG, Scikit-learn ha sido de gran utilidad a la hora de la divisi´on de los datos, usando t´ecnicas como train-test split o Stratified K-Fold (usado en el m´etodo personalizado de tratamiento de series temporales del Cap´ıtulo 6). 28 CAP´ ITULO 3. TECNOLOG´ IAS EMPLEADAS 3.8. Optuna Optuna [27] es un marco de c´odigo abierto para la optimizaci´on autom´atica de hiperpar´ametros en Python. Para encontrar el conjunto de hiperpar´ametros ´optimo, Optuna utiliza un enfoque basado en la b´usqueda Bayesiana. Este enfoque utiliza una distribuci´on de probabilidad para representar la incertidumbre sobre los valores ´optimos de los hiperpar´ametros. A medida que Optuna explora el espacio de hiperpar´ametros, actualiza la distribuci´on de probabilidad en funci´on del rendimiento del modelo en las combinaciones de hiperpar´ametros probadas. Esto le permite a Optuna enfocarse en las regiones del espacio de hiperpar´ametros con mayor probabilidad de contener los valores ´optimos. Al hacerlo de esta forma, se consigue un incremento del rendimiento y un gran ahorro de tiempo (gracias a su facilidad de exploraci´on). Si se hace una comparativa con la b´usqueda de hiperpar´ametros manual tradicional, se ha encontrado una mejora lo suficientemente grande como para considerar utilizar esta herramienta en este TFG. 3.9. Joblib Joblib [28] es una biblioteca de Python para computaci´on paralela y serializaci´on de objetos. Se suele utilizar para ejecutar c´odigo en m´ultiples procesadores o n´ucleos. Para entender su uso en este TFG, hay que tener en cuenta las siguientes definiciones: La computaci´on paralela es un paradigma de computaci´on que distribuye un problema en m´ultiples procesadores o n´ucleos para ejecutarlo simult´aneamente. Esto puede mejorar significativamente el rendimiento, especialmente para tareas computacionalmente intensivas. Sin embargo, el uso de la computaci´on paralela trae consigo algunas desventajas, como pueden ser las condiciones de carrera (que ocurre cuando varios hilos o procesos acceden o manipulan recursos compartidos sin sincronizaci´on, logrando de esta forma resultados err´oneos o impredecibles), la posible p´erdida de datos y el tiempo extra en transformar un c´odigo secuencial. La serializaci´on de objetos es el proceso de convertir un objeto en una forma que se puede almacenar o transmitir. Esto puede ser ´util para guardar datos en un archivo, enviar datos a trav´es de una red o compartir datos entre diferentes procesos. Ya que el equipo de trabajo no cuenta con una GPU, el tiempo de b´usqueda de hiperpar´ametros ser´ıa excesivo, por lo que se ha utilizado esta biblioteca para distribuir la optimizaci´on de hiperpar´ametros realizada con Optuna (apartado 3.8) y as´ı mejorar los tiempos de c´omputo (para m´as informaci´on, ver el Cap´ıtulo 6). A´un as´ı, ser´ıa preferible usar una GPU, pues la computaci´on paralela en CPU presenta algunas desventajas, como se han mencionado anteriormente. 29 3.9. JOBLIB 30 CAP´ ITULO 4. ESTADO DEL ARTE Cap´ıtulo 4 Estado del arte Para dar contexto y fundamentar la investigaci´on propuesta en este TFG, este cap´ıtulo se va a enfocar en proporcionar una comprensi´on pormenorizada de los avances cient´ıficos m´as relevantes y recientes en la predicci´on y generaci´on de se˜nales MEA que han impulsado la realizaci´on de este proyecto. 4.1. Introducci´on Debido a los grandes avances en el ´ambito de la IA y su aplicaci´on en las tareas diarias, se est´a intentando extrapolar a ´ambitos m´as relevantes y cruciales d´onde las predicciones juegan un papel muy importante, como sucede con la medicina. El cerebro humano siempre ha sido de gran atractivo para el estudio y elaboraci´on de art´ıculos cient´ıficos, y se ha buscado simular completamente su actividad para realizar diagn´osticos completos y precisos de enfermedades tan presentes como la epilepsia. Se han buscado muchas aproximaciones, entre ellas interpretar el cerebro como un sistema din´amico. 4.2. Sistemas din´amicos En el ´ambito que envuelve la neurociencia computacional, una de las aproximaciones que m´as ha llamado la atenci´on a lo largo de las ´ultimas d´ecadas es interpretar el cerebro como si de un sistema din´amico se tratase [29]. Se define Sistema Din´amico (SD) como un sistema cuyos estados internos evolucionan a lo largo del tiempo a trav´es de una regla que determina la din´amica del sistema, siendo capaz de analizarse y modelarse mediante modelos matem´aticos. A lo largo de los a˜nos, han surgido diferentes clasificaciones de los sistemas en funci´on a sus fundamentos te´oricos matem´aticos [30]. La evoluci´on que es capaz de experimentar un sistema din´amico a lo largo del tiempo puede mostrarse de forma discreta o continua [30]. Una evoluci´on discreta del tiempo hace que los SD vengan definidos a trav´es de ecuaciones en diferencias, que muestran relaciones recursivas entre variables. Por otra parte, los SD cuya evoluci´on en el tiempo es continua vienen definidos principalmente por ecuaciones diferenciales ordinarias que capturan la relaci´on entre las variables y sus derivadas. En caso de que esta relaci´on no dependa expl´ıcitamente del tiempo, es decir, que no aparezcan en las ecuaciones del sistema, se considera que se esta hablando de SD aut´onomos. Otra clasificaci´on que tuvo una gran repercusi´on a partir de los siglos XVIII y XIX debido a diversas investigaciones en medios naturales es clasificar dichos sistemas en funci´on de la variabilidad de sus condiciones [31]. De esta forma se diferencia entre SD deterministas y aleatorios o estoc´asticos. Los primeros engloban a los sistemas cuyo 31 5.3. PREPROCESAMIENTO Y LIMPIEZA DE LOS DATOS 5.3. Preprocesamiento y limpieza de los datos Los ficheros de los electrodos seleccionados estaban en formato .mat y nombrados de la forma fecha-cortedecerebro-subexperimento-subsubexperimento-electrodo Estos archivos se han pasado a CSV antes de su utilizaci´on en el preprocesamiento. Una vez obtenidos los ficheros, se obtuvieron unas gr´aficas como representaci´on inicial de los datos en crudo (Figura 5.5). Figura 5.5: Muestra de las se˜nales sin preprocesar en los diferentes electrodos. Elaboraci´on propia. Una vez mostrado, se ha realizado un filtrado pasabaja de 40Hz. Esto permite que las frecuencias superiores a ese valor sean ignoradas, ya que una frecuencia superior a 40Hz no es objeto de estudio en este TFG. Es importante resaltar que la tasa de muestreo de las se˜nales es de 2000Hz. Como se puede observar en la Figura 5.6, en el dominio del tiempo de las se˜nales, no var´ıan con respecto a las se˜nales antes de usar el filtro. 38 CAP´ ITULO 5. CONJUNTO DE DATOS Y PREPROCESAMIENTO Figura 5.6: Muestra de la se˜nales en el dominio del tiempo antes y despu´es del filtrado en los diferentes electrodos. Elaboraci´on propia. Esto se debe a que el filtro act´ua en el dominio de la frecuencia, atenuando las frecuencias mayores a 40Hz y, de esta forma, modificando la distribuci´on espectral de la se˜nal de origen, como se puede ver en la Figura 5.7. Teniendo esto en cuenta, las sucesivas representaciones de las se˜nales MEA se har´an en el dominio del tiempo y, aunque en este dominio no se note variaci´on alguna como se puede observar en la Figura 5.6 (ya que la l´ınea naranja se superpone en su totalidad a la l´ınea azul), realmente s´ı que est´an filtradas estas frecuencias superiores a 40Hz, solamente hay que representarlo en el dominio de la frecuencia para apreciar el filtrado, como se puede ver en la Figura 5.7. Una vez filtradas las se˜nales, se van a crear tres tipos de conjuntos que se van a usar en funci´on de los prerrequisitos del modelo: El primer conjunto de datos no estar´a ni estandarizado ni normalizado. El segundo conjunto de datos estar´a normalizado en el rango [0,1]. El tercer conjunto de datos estar´a estandarizado con media 0 y desviaci´on est´andar 1. 39 5.3. PREPROCESAMIENTO Y LIMPIEZA DE LOS DATOS Figura 5.7: Muestra de la se˜nales en el dominio de la frecuencia antes y despu´es del filtrado en los diferentes electrodos. Elaboraci´on propia. Por ´ultimo, se reducir´a la tasa de muestreo de cada conjunto de datos a 1 de cada 10 puntos para simplificar el an´alisis y procesamiento de la se˜nal. Al reducir la cantidad de datos en las se˜nales MEA, se puede reducir la carga computacional y facilitar la identificaci´on de patrones y caracter´ısticas importantes en la se˜nal. En la Figura 5.8 se visualiza una comparativa entre la se˜nal producida por el electrodo 27 antes de la reducci´on de la tasa de muestreo en color azul, acompa˜nada de tres se˜nales en color rojo tambi´en de este electrodo, que muestran la se˜nal despu´es de la reducci´on de la tasa de muestreo en los tres conjuntos de datos. Ya finalizado todo el preprocesamiento, las se˜nales resultantes se guardan en ficheros .csv y .npy para su posterior uso en la implementaci´on de los modelos. 40 CAP´ ITULO 5. CONJUNTO DE DATOS Y PREPROCESAMIENTO Figura 5.8: Muestra de la se˜nal originada por el electrodo 27 con reducci´on de la tasa de muestreo en los tres conjuntos de datos. Elaboraci´on propia. 41 5.3. PREPROCESAMIENTO Y LIMPIEZA DE LOS DATOS 42 CAP´ ITULO 6. MODELOS Cap´ıtulo 6 Modelos 6.1. Machine Learning (ML) y Deep Learning (DL) Como pre´ambulo, dentro de la IA encontramos una subdivisi´on en funci´on de la naturaleza del aprendizaje [69]. Podemos distinguir dos t´erminos muy reconocidos: ML y DL. Como se puede ver en la Figura 6.1, DL est´a contenido en ML. Figura 6.1: Composici´on IA, ML y DL [70]. Teniendo esto en cuenta, existen diferentes maneras de clasificar los algoritmos de ML. La primera de ellas es dividirlos en funci´on de las tareas desempe˜nadas (como se puede ver de manera simplificada en la Figura 6.2). En el caso de este TFG, la tarea a desempe˜nar se clasifica dentro del aprendizaje autosupervisado, pues el sistema aprende a predecir y generar parte de las se˜nales MEA a partir de trozos anteriores de dichas se˜nales. Otra forma de representarlo es enfocarse en las arquitecturas que conforman ML. Por simplificar, la Figura 6.3 muestra una clasificaci´on de las arquitecturas de DL. Las arquitecturas se˜naladas de color verde representan las utilizados en este proyecto. Como se puede ver, se usa la LSTM de RNN, y despu´es se hace especial ´enfasis en RC, la t´ecnica de estudio en este TFG, que usa la arquitectura RNN. NGRC, por otro lado, es una t´ecnica que intenta mejorar los modelos de RC, como se ver´a a continuaci´on. 43 6.2. REDES NEURONALES RECURRENTES (RNN) Figura 6.2: Clasificaci´on resumida de las tareas de ML. Elaboraci´on propia, basada en [71]. Figura 6.3: Clasificaci´on resumida de las arquitecturas de DL. Elaboraci´on propia, basada en [71]. A continuaci´on, se proceder´a a explicar las arquitecturas resaltadas. Por ello, primero se har´a una breve introducci´on a las RNN, posteriormente se proceder´a a explicar la t´ecnica central de este trabajo: RC y sus respectivos modelos. Posteriormente, se explicar´a la t´ecnica de NGRC y, por ´ultimo, se har´a una introducci´on a las LSTM antes de comentar su implementaci´on en el dispositivo de Google Coral en el cap´ıtulo 7. 6.2. Redes Neuronales Recurrentes (RNN) Como se ha mencionado con anterioridad, las RNN son un tipo de algoritmos pertenecientes a la familia de DL que ha ganado gran popularidad en la representaci´on de sistemas din´amicos gracias a sus propiedades (ver Cap´ıtulo 4). 6.2.1. Base te´orica En cuanto se trata de procesar datos secuenciales, las RNN cuentan con conexiones recursivas que permite el flujo de datos a trav´es de la red, siendo capaz de recordar informaci´on relevante y modelar patrones complejos de este tipo de datos. 44 CAP´ ITULO 6. MODELOS Estructura En cuanto a su estructura y funcionamiento [72], la RNN m´as sencilla est´a formada por 3 elementos principales: la capa de entrada, la capa oculta (aunque tambi´en puede haber varias capas ocultas) y la capa de salida. Esta arquitectura se puede presentar como una sola neurona, que recibe una entrada, pasa por la neurona o neuronas que conformen la capa oculta, se produce una salida y esta salida obtenida de la capa oculta se reenv´ıa de nuevo a la entrada de dicha capa (diagrama de la parte izquierda de la Figura 6.4). Si desdoblamos esta representaci´on inicial en el eje del tiempo, obtenemos que la capa oculta realmente recibe dos entradas en el instante de tiempo t: la salida obtenida en el instante t-1 y la entrada correspondiente en el instante t(diagrama desdoblado de la parte derecha de la figura 6.4). Figura 6.4: Desdoble de una RNN [73]. La capa o capas ocultas est´an formadas por una o varias neuronas. Esto es lo que constituye en s´ı la capacidad de recordar informaci´on y lo que dota de memoria a la red neuronal. Esta memoria, que no es m´as que una celda recurrente, se va actualizando en cada instante de tiempo t. Para representar el funcionamiento de la capa oculta matem´aticamente, se denota como capa oculta Ht∈Rn∗h en el instante de tiempo t, y como entrada en el instante taXt∈Rn∗d, donde nes el n´umero de ejemplares, des el n´umero de entradas de cada ejemplar y hes el n´umero de neuronas en la capa oculta Ht. Con ello, obtenemos la siguiente expresi´on matem´atica: Ht=σh(XtWxh +Ht−1Whh +bh) (6.1) Donde σes la funci´on de activaci´on (normalmente una sigmoide o una tangente hiperb´olica), Wxh ∈Rd∗hes la matriz de pesos de la entrada xa la capa oculta h,Whh ∈Rh∗hes la matriz de pesos de una capa oculta a otra, Ht−1es el estado de la capa oculta Hen el instante t-1 ybh∈R1∗hes el sesgo del la capa oculta. As´ı mismo, podemos obtener la ecuaci´on representativa de la salida de una RNN: yt=σo(HtWho +bo) (6.2) Donde Woes la matriz de pesos desde la capa oculta hasta la de salida y boes el sesgo del la capa de salida. 45 6.2. REDES NEURONALES RECURRENTES (RNN) Entrenamiento El flujo de datos en el entrenamiento de la RNN se basa en lo que se conoce como Forward Propagation Through Time (FPTT) y Back Propagation Through Time (BPTT). Mediante la FPTT, la red procesa los datos de entrada en cada instante de tiempo y las neuronas de la capa oculta realizan una serie de operaciones matem´aticas para calcular de esta forma la salida en el instante correspondiente (ver las Ecuaciones 6.1 y 6.2) [74]. A continuaci´on, se calcula un error de la salida obtenida con los datos reales, y pasando este error a lo largo de esta red mediante el algoritmo de BPTT, se consigue ajustar los pesos de la red para conseguir el m´ınimo error posible referente a la salida de la red. Esto hace que se produzca una realimentaci´on en ambos sentidos, y no solamente de manera unidireccional como pasaba con las Feedforward Neural Network (FNN). Para conseguir minimizar este error y as´ı mejorar el funcionamiento de la red [75], el algoritmo BPTT calcula lo que se conoce como el algoritmo del Descenso del Gradiente, en el cual se ajustan los par´ametros para encontrar aquellos que proporcionen el coste m´as bajo posible. Al ser una RNN, es necesario calcular los gradientes en cada uno de los instantes de tiempo, resultando en los gradientes desde el instante inicial 1 hasta el ´ultimo instante de tiempo Tpara Wxh,Whh y para Wxh, llegando a las siguientes ecuaciones: ∂E ∂Whh = T X t=1 ∂Et ∂yt ·∂yt ∂σo ·Who T X k=1 ∂Ht ∂Hk ·∂Hk ∂Whh (6.3) ∂E ∂Wxh = T X t=1 ∂Et ∂yt ·∂yt ∂σo ·Who T X k=1 ∂Ht ∂Hk ·∂Hk ∂Wxh (6.4) Donde Ees la suma de cada funci´on de p´erdida Et. Cabe destacar que cuanto m´as grande sea T, mayor ser´a el intervalo temporal que pueda recordar la red. Una vez actualizada la red, estos pasos se repiten c´ıclicamente en lo que se conoce como ´epocas para conseguir en cada iteraci´on una mayor tasa de acierto, y con ello mejores predicciones. Tipos Podemos distinguir entre diferentes tipos de RNN en funci´on de las entradas y salidas de las que disponga [76]. Siguiendo la misma colorimetr´ıa que en la Figura 6.4, se han plasmado 5 tipos diferentes de RNN en la Figura 6.5. One to one: Es la representaci´on m´as simple de procesar un vector de entrada para generar un vector de salida sin necesidad de una RNN, como puede darse en la clasificaci´on de im´agenes. One to many: En esta representaci´on, la entrada es un ´unico vector que se transforma en una secuencia de salida. Esto puede darse al extraer una descripci´on de una imagen, donde la entrada es una ´unica im´agen y la salida es una secuencia de palabras. Many to one: Es el caso inverso de la anterior, d´onde la entrada es una secuencia y la salida es un ´unico vector. Un ejemplo de este tipo es el reconocido anal´asis de sentimientos, donde dada una oraci´on se clasifica en si el significado de esta es positivo o negativo. 46 CAP´ ITULO 6. MODELOS Figura 6.5: Tipos de RNN. Elaboraci´on propia, basada en [76]. Many to many: Dentro de este tipo, encontramos dos subtipos: •Secuencial: las entradas y las salidas son secuencias, como en la traducci´on de texto de un idioma a otro. •Secuencial sincronizada: las entradas y las salidas son secuencias, pero en este caso la salida en el instante t es dependiente de la entrada en ese mismo instante. Esto sucede en la clasificaci´on de v´ıdeo, cuando intentamos etiquetar cada fotograma de un v´ıdeo. 6.2.2. Limitaciones Las RNN son un tipo de redes neuronales muy populares, pero eso no significa que no tengan una serie de inconvenientes que han sido objetivo de mejora a lo largo de las ´ultimas d´ecadas. Entre estos inconvenientes se encuentran [74]: Problemas con el algoritmo BPTT: durante la propagaci´on hacia atr´as para actualizar los pesos en series temporales, existen dos problemas con el t´ermino ∂Ht ∂Hkde las ecuaciones 6.3 y 6.4: •Explosi´on del Gradiente: si este t´ermino se hace mayor que 1 ( ∂Ht ∂Hk>1), los gradientes de los pesos en las capas anteriores se vuelven excesivamente grandes durante la propagaci´on hacia atr´as. Esto hace que las actualizaciones de los pesos en cada iteraci´on se vuelvan a su vez demasiado grandes, tendiendo de esta forma al infinito y provocando valores num´ericos incapaces de ser tratados por un ordenador, dificultando la tarea de capturar dependencias temporales y con ello el aprendizaje de la red. Algunas de las soluciones propuestas son: ◦Realizar un truncamiento en el BPTT, dejando de realizar propagaciones hacia atr´as a partir de cierto punto. Esto se conoce como BPTT truncado [77]. ◦Penalizar en caso de que no se reduzca el gradiente, o en su defecto reducir el gradiente con otros procedimientos. ◦Limitar el n´umero de capas ocultas. ◦Establecer un l´ımite superior para el valor que tome el gradiente. Esto se conoce como Gradient Clipping [78]. 47 6.3. RESERVOIR COMPUTING (RC) Base te´orica Una LSM es un tipo de red neuronal constituida por neuronas de impulsos inicializados aleatoriamente que se encargan de procesar informaci´on en tiempo real continuo. Este tipo de neuronas est´a inspirada en las propiedades din´amicas de los cerebros biol´ogicos, pues intentan emular el comportamiento real de las neuronas a la hora de ejecutar el modelo [89] de forma m´as realista que las tradicionales (ver la comparaci´on en la Figura 6.12). Figura 6.12: Esquema comparativo de una neurona natural, una neurona tradicional y una neurona de impulsos en sentido descendiente [90]. Estas neuronas se comunican entre s´ı mediante pulsos el´ectricos cortos llamados potenciales de acci´on, tambi´en conocidos como spikes. Las neuronas imitan este comportamiento de las neuronas que encontramos en la biolog´ıa generando pulsos de voltaje en lugar de valores continuos [91]. Adem´as, como las neuronas act´uan din´amicamente, la informaci´on se procesa a trav´es de neuronas interconectadas en vez de neuronas secuenciales, permitiendo de esta forma c´alculos complejos y no lineales mientras se mantiene una estructura de red flexible y adaptable [63]. Con esto se consigue que sean ´utiles a la hora de procesar series temporales, y por eso se ha tenido en cuenta en este TFG. 54 CAP´ ITULO 6. MODELOS La arquitectura de la LSM est´a formada por los siguientes componentes principales cuyo funcionamiento es muy similar a la ESN: Capa l´ıquida: est´a compuesta por las neuronas mencionadas anteriormente. Recibe la entrada y se transforma internamente a una dimensi´on entendible por la capa y la interpreta. La palabra “l´ıquida” en el nombre proviene de la analog´ıa que se hace al dejar caer una piedra en un cuerpo de agua u otro l´ıquido en reposo. La piedra que cae generar´a ondulaciones en el l´ıquido. La entrada (movimiento de la piedra que cae) se ha convertido en un patr´on espacio-temporal de desplazamiento del l´ıquido (ondulaciones) [92]. Capa de salida: esta capa interpreta la actividad en la capa l´ıquida y proporciona la salida, revirtiendo la transformaci´on que se hizo al inicio. Esta arquitectura hace que el aprendizaje sea robusto y r´apido, ya que se delega nuevamente para el aprendizaje en la capa de salida. La primera raz´on para justificar esto es que al aprender de una neurona de la capa de salida, hace el procedimiento r´apido y que no se quede en un m´ınimo local (como pod´ıa pasar con el algoritmo de BPTT. Otra ventaja descrita de este modelo es su capacidad de generalizaci´on de los flujos de entrada a pesar de que el entrenamiento sea tan sencillo [82]. Figura 6.13: Arquitectura b´asica de una LSM [93]. Observando la Figura 6.13, se puede describir el funcionamiento de la LSM formalmente para un ´unico flujo de entrada y de salida. Siendo u(·) un flujo de datos de entrada, LMla capa l´ıquida y xM(t) es la entrada a la capa de salida fM, en el instante de tiempo t, que en verdad es el estado interno de la capa l´ıquida que se hace visible para la capa de salida [82]. Teniendo esto en cuenta, xM(t), tambi´en denominado estado l´ıquido de la LSM se puede definir como: xM(t)=(LMu)(t) (6.9) Y con ello obtenemos la salida del modelo y(t): y(t) = fM(xM(t)) (6.10) 55 6.3. RESERVOIR COMPUTING (RC) Implementaci´on Como se ha explicado anteriormente, la LSM es capaz de interpretar flujos de datos. Para ver c´omo ser´ıa el flujo de datos con se˜nales, se puede visualizar la Figura 6.14 Figura 6.14: Flujo de datos de una se˜nal en una LSM [63]. Mediante el c´odigo que implementa la LSM disponible en GitHub de Johannes Maurin [94], se ha implementado de forma que admitiese las se˜nales MEA. Se ha elegido este repositorio debido a que se ha querido probar las ventajas de la cuantizaci´on en un modelo. La cuantizaci´on es el proceso mediante el cual se reduce la precisi´on de un modelo, que normalmente est´a representado mediante n´umeros punto flotante de 32 bits, para conseguir una representaci´on much´ısimo m´as peque˜na [95]. Este m´etodo ayuda a reducir el tama˜no de la memoria y sus respectivos accesos durante el entrenamiento, adem´as al sustituir las operaciones elementales por operaciones bit a bit, se consigue un ahorro de energ´ıa considerable al compararlo con la versi´on normal de 32 bits en punto flotante, sin afectar apenas la cantidad de aciertos lograda en la inferencia del modelo [96]. Johannes Maurin [63] en su trabajo prueba con 2, 3, 6 y 16 bits. En este TFG se ha probado con representaciones de 3, 6, 8 y 16 bits. Se han sustituido los 2 bits que emplea Johannes Maurin en su art´ıculo por los 8 debido a que la diferencia presentada en 2 y 3 bits con las se˜nales MEA era despreciable. Otro motivo por el cual se eligieron 8 bits es porque esta es la cuantizaci´on que emplean los dispositivos hardware de Google Coral y, de esta forma, se consegu´ıa comprender los conceptos clave para poder realizar el Cap´ıtulo 7. Posteriormente, se buscar´an los hiperpar´ametros que maximicen el rendimiento del modelo cuantizado. Para ello, se han seleccionado el n´umero de neuronas de la capa l´ıquida N, el tama˜no de las se˜nales MEA que se introducir´an al modelo ly el tama˜no de la se˜nal generada k. Limitaciones La implementaci´on pr´actica de las LSM presenta diversos desaf´ıos que limitan su rendimiento y efectividad. En este TFG se han detectado los siguientes: Tiene un grado de complejidad interna que hace complicado controlar el comportamiento de la red. Hay poco control sobre el proceso, ya que no hay una forma garantizada de diseccionar una red en funcionamiento y averiguar c´omo o qu´e c´alculos se est´an realizando. 56 CAP´ ITULO 6. MODELOS 6.4. Next Generation Reservoir Computing (NGRC) Este apartado esta basado en su totalidad en el art´ıculo [62], ya que al ser un enfoque relativamente reciente, a´un no hay demasiada bibliograf´ıa completa al respecto. Hasta ahora todo lo que se ha mencionado en este documento es c´omo el paradigma RC soluciona ciertos problemas de los modelos de RNN para realizar tareas de predicci´on. Incluso esta aproximaci´on es capaz de modelar sistemas din´amicos ca´oticos complejos de manera eficaz. Sin embargo, los modelos de este enfoque sufren de algunas limitaciones, como se ha mencionado en sus respectivos apartados (6.3.2 y 6.3.3). Para intentar solucionar dichos problemas, se han establecido algunas m´etricas y requisitos de optimizaci´on para intentar que este enfoque aproveche todo lo posible los datos de entrada, en este caso las se˜nales MEA, pero depende de los datos con los que se trabaje, por lo que esta optimizaci´on no resulta efectiva en t´erminos de generalizaci´on. Por ello, se ha intentado buscar un enfoque universal, basando su implementaci´on en un RC y otras caracter´ısticas que se discutir´an en los pr´oximos apartados. 6.4.1. Base te´orica La idea surgi´o de intentar combinar un RC con nodos que se activan de forma lineal con un vector de caracter´ısticas que sume funciones no lineales de los valores de los nodos del reservorio. Teniendo en cuenta que un RC de estas caracter´ısticas es id´entico a una m´aquina NVAR, se puede sustituir el reservorio por la NVAR y de esta forma conseguir el modelo que se va a estudiar en este TFG: NGRC. Figura 6.15: Comparaci´on entre el enfoque NGRC y RC [62]. 57 6.4. NEXT GENERATION RESERVOIR COMPUTING (NGRC) Como se puede ver en la imagen, se crea un vector de caracter´ısticas a partir de los datos de entrada. Para computar la salida, se obtiene del entrenamiento de la siguiente ecuaci´on: y(i+ 1) = WoutOtotal (6.11) Donde Wout es la salida de la matriz de pesos y el vector de caracter´ısticas Ototal representa que puede estar compuesta por constantes o t´erminos lineales o no lineales. Las partes lineales se obtienen de la observaci´on actual y pasada de los datos de entrada, mientras que las no lineales se obtienen mediante la transformaci´on del contenido de las partes lineales, capturando de esta forma las relaciones no lineales existentes, obteniendo como resultado lo que se ve en la Ecuaci´on 6.12: Ototal =cMOlin MOnonlin (6.12) De esta forma, para obtener la salida simplemente hay que entrenar las caracter´ısticas obtenidas de 6.11 y usar la regularizaci´on Ridge como se hac´ıa en los modelos de RC. 6.4.2. Implementaci´on La implementaci´on del modelo se ha hecho siguiendo y modificando el c´odigo de Daniel J. Gauthier mencionado en [62], que se puede encontrar en el repositorio de GitHub mencionado en dicho art´ıculo [97]. La parte lineal del modelo se mantiene igual que lo descrito en el art´ıculo, pero para la parte no lineal se ha a˜nadido un nuevo hiperpar´ametro que permite ampliar el orden de las funciones no lineales. Como en el modelo presentado por Daniel J.Gauthier solo permit´ıa como m´aximo funciones de orden 2, se ha planteado una nueva mejora a este modelo mediante la implementaci´on de un nuevo hiperpar´ametro que permita funciones de mayor orden. Para ello, se generan todas las combinaciones posibles de ´ındices (con reemplazo) que puede tomar del vector de caracter´ısticas lineales en funci´on al orden de no linealidad especificado. De esta forma, se consigue dotar al modelo de una mayor expresividad, permitiendo capturar de una mejor manera las relaciones no lineales del sistema. Para finalizar con la implementaci´on, cabe mencionar que se hizo la b´usqueda de hiperpar´ametros como con los anteriores modelos. Los hiperpar´ametros a buscar son el valor de la regularizaci´on Ridge (ridge), el n´umero de observaciones pasadas (k) que representan el estado del sistema hasta entonces y el nuevo hiperpar´ametro creado en este TFG que representa el m´aximo orden que pueden tener las funciones no lineales. 6.4.3. Limitaciones Siguiendo con el art´ıculo [62], algunas de las ventajas que se presentan con este enfoque es que debido a que el tama˜no del vector de caracter´ısticas es mucho menor que en RC se han obtenido ejecuciones satisfactorias en menor tiempo. Otra ventaja frente a RC es que hay menos par´ametros que ajustar e hiperpar´ametros que optimizar, haciendo que el modelo sea computablemente m´as r´apido, ahorrando cierto tiempo en esta etapa. Sin embargo, como se mencionan en las investigaciones m´as recientes [98], se ha descubierto que este enfoque 58 CAP´ ITULO 6. MODELOS puede presentar algunas complicaciones si los datos est´an recolectados con poca frecuencia de muestreo, ya que se pierde informaci´on relevante para el modelo, o el tipo de no linealidades que se presentan en los datos. 6.5. Long Short-Term Memory El ´ultimo modelo del que se han realizado inferencias es la LSTM. Este modelo se eligi´o como comparaci´on a los anteriores modelos, ya que como se ha mencionado, RC buscaba mejorar los aspectos en los que RNN no era del todo competente. Por ello, la LSTM se ha elegido como representante de la arquitectura de RNN en este TFG ya que tambi´en se han explorado tareas de predicci´on y generaci´on con este modelo [99]. 6.5.1. Base te´orica La LSTM, creada en los a˜nos 90, sigue siendo de las RNN m´as utilizadas. Se cre´o con la idea de conseguir solucionar el problema de la evanescencia del gradiente que suced´ıa en las RNN simples [100]. Su arquitectura se muestra en la siguiente figura: Figura 6.16: Arquitectura de una LSTM [101]. A partir de la Figura 6.16, se va a explicar su funcionamiento [102]. En la celda de la LSTM entran, en el instante t, los datos de entrada X, y las salidas en instantes previos, tanto las almacenadas en la memoria representada por Ccomo las del instante t-1 contenidas en H. Posteriormente, esta informaci´on se trata mediante tres bloques de funciones denominadas puertas. Cada una de ellas se encarga de una tarea, como si de una memoria de verdad se tratase: La puerta del olvido (Ft) se encarga de eliminar la informaci´on que ya no merece la pena que sea recordada. Para ello, usa la activaci´on de la funci´on sigmoide (σ) con la entrada actual y la del instante t - 1. Con el resultado obtenido, lo multiplica con el contenido que se encuentra disponible dentro de la memoria y realiza la eliminaci´on de los datos correspondientes. 59 6.5. LONG SHORT-TERM MEMORY La siguiente puerta, la de entrada (It), se encarga de a˜nadir nuevos contenidos a la memoria. Para ello, usa σpara saber qu´e contenidos de la entrada merece la pena guardar, y despu´es lo normaliza mediante la activaci´on de la tangente hiperb´olica (tanh). Esto genera el candidato a entrar a la memoria ( e Ct). Por ´ultimo, la puerta de salida se encarga de predecir el siguiente valor a partir del actual, generando lo que se va a enviar a la siguiente celda de la LSTM mediante σytanh. De esta forma consigue recordar entradas anteriores, a pesar de que est´en alejadas en el tiempo. Por ello, se ha elegido para realizar la tarea y predicci´on de las se˜nales MEA. 6.5.2. Limitaciones Las limitaciones de este modelo contienen las ya vistas en el apartado de las limitaciones de una RNN (6.2.2). A pesar de intentar solucionar estos problemas, aun as´ı pueden seguir sufriendo de evanescencia del gradiente [100]. Otras limitaciones propias de las LSTM son su tendencia al sobreajuste cuando se dispone de pocos datos de entrenamiento y los recursos computacionales necesarios para entrenar las LSTM, haci´endolas lentas en algunos experimentos [103]. Finalmente, para la implementaci´on de la LSTM se ha optado por desarrollar el c´odigo de forma que pudiera ejecutarse en un dispositivo hardware de Google Coral. Por este motivo, la implementaci´on de este modelo se ver´a en el siguiente cap´ıtulo. 60 CAP´ ITULO 7. IMPLEMENTACI ´ ON EN HARDWARE Cap´ıtulo 7 Implementaci´on en hardware En este cap´ıtulo se va a presentar la implementaci´on exitosa de una LSTM en un dispositivo Google Coral, espec´ıficamente en la placa de desarrollo Coral Dev Board. Para ello, se hablar´a de la motivaci´on de este cap´ıtulo, seguido de la definici´on de Google Coral y de las prestaciones que ofrece que puedan ser de utilidad para esta investigaci´on. Despu´es, se mencionar´a la implementaci´on en Coral Dev Board con las se˜nales MEA disponibles y se debatir´an los aspectos relevantes de esta implementaci´on. 7.1. Google Coral Como se ha podido observar con las otras implementaciones, implementar modelos de IA con conjuntos grandes de datos en ordenadores convencionales requiere de un gran coste computacional. En este caso, para tratar series temporales, que requieren de memorizar dependencias para inferir el siguiente dato o generar secuencias, el coste se incrementa. Google Coral [104] es una iniciativa de Google que ofrece hardware y software para la implementaci´on de aplicaciones de IA en dispositivos de borde, es decir, dispositivos que procesan y analizan datos localmente en lugar de enviarlos a la nube. La ventaja de utilizar dispositivos de borde frente a un ordenador convencional o su ejecuci´on en la nube [105] para este proyecto reside principalmente en que ejecuta las se˜nales de forma local sin necesidad de hacerlo en un servidor externo. Esto reduce los tiempos de espera dr´asticamente, aporta una mayor privacidad y seguridad al no compartir los datos con terceros y genera una mayor fiabilidad y robustez al no depender de una conexi´on a internet estable. A mayores, estos dispositivos est´an dise˜nados para realizar tareas espec´ıficas con un consumo energ´etico reducido, siendo m´as eficientes energ´eticamente que los ordenadores convencionales. Google Coral ofrece una gran variedad de dispositivos que pueden realizar tareas de predicci´on y generaci´on de series temporales, ya que cuentan con un procesador dedicado para ML y una arquitectura de hardware optimizada para la ejecuci´on de modelos de IA. En este TFG se ha decidido realizar la implementaci´on en el dispositivo Google Dev Board, el cual se describir´a a continuaci´on. 61 7.2. GOOGLE DEV BOARD 7.2. Google Dev Board Para llevar a cabo la generaci´on y predicci´on de se˜nales MEA se ha elegido este dispositivo de la gama de Google Coral. Se puede observar una imagen del dispositivo en la Figura 7.1 y esquemas en las Figuras 7.2 y 7.3. Google Dev Board [106] es una computadora de placa ´unica que cuenta con un procesador TPU Edge de Google, dise˜nado espec´ıficamente para la aceleraci´on de inferencia de ML. La Dev Board tambi´en incluye una variedad de otros componentes, que se discutir´an a continuaci´on. 7.2.1. Especificaciones del sistema Las especificaciones completas del dispositivo se pueden encontrar en [107]. Tabla 7.1: Tabla de especificaciones de Dev Board [106]. COMPONENTE ESPECIFICACI´ ON CPU NXP i.MX 8M SoC (quad Cortex-A53, Cortex-M4F) GPU Gr´aficos integrados GC7000 Lite Acelerador ML Coprocesador Google Edge TPU: 4 TOPS (int8); 2 TOPS por vatio RAM 4 GB LPDDR4 Memoria flash 8 GB eMMC, ranura MicroSD Inal´ambrico Wi-Fi 2x2 MIMO (802.11b/g/n/ac 2.4/5GHz) y Bluetooth 4.2 USB Type-C OTG; Type-C para alimentaci´on; Type-A 3.0 host; Consola serie Micro-B LAN Puerto Ethernet Gigabit Audio Conector de audio de 3,5 mm (compatible con CTIA); Micr´ofono digital PDM (x2); Terminal de 4 pines de 2,54 mm para altavoces est´ereo V´ıdeo HDMI 2.0a (tama˜no completo); Conector FFC de 39 pines para pantalla MIPI-DSI (4 carriles); Conector FFC de 24 pines para c´amara MIPI-CSI2 (4 carriles) GPIO Riel de alimentaci´on de 3,3 V; Impedancia programable de 40 a 255 ohmios; Corriente m´axima de 82 mA Potencia 5V DC (USB Type-C) 62 CAP´ ITULO 7. IMPLEMENTACI ´ ON EN HARDWARE Gracias a las especificaciones vistas en 7.1, se puede aplicar a esta investigaci´on por algunas caracter´ısticas clave que se pueden extraer [106]: El coprocesador Edge TPU, que es un tipo de circuito integrado dise˜nado por Google, permite acelerar el entrenamiento y la inferencia de los modelos, ya que est´an optimizados de forma que son capaces de realizar tareas concretas mediante operaciones tensoriales. Esto resulta ´util para la generaci´on y predicci´on de las se˜nales MEA en tiempo real, pues resulta ser bastante eficiente en lo que a rendimiento y consumo energ´etico se refiere. Al ser compatible con Tensorflow Lite, permite usar modelos de este marco de software, los cuales han sido f´aciles de implementar gracias a lo instruido en asignaturas a lo largo de esta carrera universitaria. Para ejecutar en este dispositivo, es necesario cuantizar los modelos, lo cual presenta una serie de ventajas ya debatidas en la implementaci´on de la LSM (apartado 6.3.3). Figura 7.1: Imagen de un dispositivo Google Dev Board [106]. Figura 7.2: Conectores de Google Dev Board [107]. 63 8.1. RESULTADOS ESN Radio espectral: es el m´aximo valor de los autovalores de la matriz de pesos internos W. Cuanto menor sea el valor, m´as estables ser´an las din´amicas del sistema. Por el contrario, cuanto m´as grande sea su valor m´as ca´oticas ser´an. Figura 8.1: Fluctuaci´on del radio espectral en funci´on de las se˜nales MEA. Elaboraci´on propia, basada en [22]. Te´oricamente, un radio espectral cercano a 1 permite a los estados internos del reservorio ser m´as independientes de las condiciones iniciales; se ha realizado la b´usqueda entre los valores 1e−2y 2. Escalado de entrada: aplicando este coeficiente a la matriz de pesos de entrada Win se puede variar el grado de influencia de las entradas en el modelo. Cuanto mayor sea este valor, mayor influencia tendr´an las entradas hasta llegar a un punto de saturaci´on, que var´ıa en funci´on del modelo. Por el contrario, cuanto menor sea el valor, m´as independencia tendr´a el modelo de las entradas y consecuentemente un comportamiento m´as libre. Figura 8.2: Fluctuaci´on del escalado de entrada en funci´on de las se˜nales MEA. Elaboraci´on propia, basada en [22]. Se ha explorado este hiperpar´ametro en el rango de 0.1 a 2. 70 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Tasa de fuga: controla la influencia que tiene la informaci´on pasada en el estado actual mediante la f´ormula: x(t+ 1) = (1 −α)x(t) + αf(u(t+ 1), x(t)) (8.1) donde αes la tasa de fuga, x(t) es el estado actual y las nuevas entradas vienen definidas por: f(u, x) = tanh(Win ·u+W·x) (8.2) Cuanto mayor sea la tasa de fuga α, menos influencia tendr´an los estados anteriores, ’olvidando’ la informaci´on pasada. Cuanto m´as peque˜na sea la tasa de fuga, se centra m´as en los estados anteriores, creando mayores dependencias a largo plazo. Figura 8.3: Fluctuaci´on de la tasa de fuga en funci´on de las se˜nales MEA. Elaboraci´on propia, basada en [22]. Se ha centrado la b´usqueda de este hiperpar´ametro entre los valores 1e−3y 1. Las Figuras 8.1, 8.2 y 8.3 se obtienen de la muestra de datos de la Figura 8.4. Figura 8.4: Muestra de las se˜nales MEA. Elaboraci´on propia. Los mejores resultados se observan en la Tabla 8.1. 71 8.1. RESULTADOS ESN Tabla 8.1: Resultados de la b´usqueda de hiperpar´ametros en ESN con menor p´erdida. Elaboraci´on propia. N sr lr iss loss 100 0.063120 0.816191 0.123739 0.000103 500 0.430137 0.730453 0.113715 0.000022 1000 0.076380 0.359258 0.109564 0.000076 1500 0.071024 0.990785 0.126851 0.000088 2000 0.023699 0.225728 0.124702 0.000002 8.1.2. Resultados del modelo Como se puede ver en la tabla anterior, el mejor conjunto de hiperpar´ametros es el correspondiente para el valor N = 2000 neuronas, por lo que se realizar´an diferentes pruebas de predicci´on y generaci´on para este conjunto. Predicci´on de las se˜nales MEA La predicci´on se ha realizado con 1, 10 y 100 puntos de desfase, como se puede ver en las Figuras 8.5, 8.6 y 8.7, respectivamente. En el caso de 1 y 10 puntos de desfase, la predicci´on es realmente buena, logrando unos buenos valores en las m´etricas evaluadas, como se puede ver a modo de resumen en la Tabla 8.2. Para 100 puntos de desfase, los resultados son peores, consiguiendo peores resultados debido a la diferencia de los puntos. Tabla 8.2: Resultados de las m´etricas en la predicci´on de se˜nales MEA con ESN. Puntos de Desfase MSE RMSE NRMSE R2 1 0.000055 0.007439 0.005157 0.999957 10 0.008412 0.091721 0.006359 0.993487 100 0.610770 0.781520 0.070010 0.356664 Generaci´on de las se˜nales MEA En cuanto a la generaci´on, se han realizado las siguientes gr´aficas con los mejores resultados obtenidos, en las cuales se muestra la generaci´on durante (Figura 8.8), antes (Figura 8.9), y despu´es (Figura 8.10) de un ataque epil´eptico registrado en las se˜nales MEA. El resumen de las evaluaciones de las m´etricas en la generaci´on de las se˜nales MEA se puede ver a continuaci´on, en la Tabla 8.3. En esta tabla, solo se van a mostrar las medias de las medidas de los cuatro electrodos que aparecen en las Figuras ya mencionadas: Tabla 8.3: Resultados de las m´etricas en la generaci´on de se˜nales MEA con ESN. Puntos de Calentamiento Puntos generados NRMSE R2 100 100 0.081200 0.870300 175 225 0.060200 0.883250 200 500 0.047175 0.934100 72 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Figura 8.5: Predicci´on con desfase de 1 punto. Elaboraci´on propia. 73 8.1. RESULTADOS ESN Figura 8.6: Predicci´on con desfase de 10 puntos. Elaboracion propia. 74 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Figura 8.7: Predicci´on con desfase de 100 puntos. Elaboraci´on propia. 75 8.1. RESULTADOS ESN Figura 8.8: Generaci´on de una se˜nal MEA durante un ataque epil´eptico. Elaboraci´on propia. 76 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Figura 8.9: Generaci´on de una se˜nal MEA antes un ataque epil´eptico. Elaboraci´on propia. 77 8.1. RESULTADOS ESN Figura 8.10: Generaci´on de una se˜nal MEA despu´es de un ataque epil´eptico. Elaboraci´on propia. 78 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS 8.1.3. Discusi´on de los resultados obtenidos Para poder analizar los datos profundamente, es importante tener en cuenta algunos conceptos te´oricos de la teor´ıa del caos [116]. Como las se˜nales MEA se pueden interpretar como un sistema con din´amicas ca´oticas, peque˜nas variaciones en las condiciones iniciales del sistema pueden implicar grandes cambios en el futuro, por lo que a la hora de predecir a largo plazo, las predicciones se vuelven menos precisas [117]. Esto se puede ver reflejado en la Tabla 8.2 y en las Figuras 8.5, 8.6 y 8.7, ya que a medida que las observaciones se desplazan mucho en el tiempo, las predicciones empeoran considerablemente. En la generaci´on tambi´en se puede ver reflejado, pues cuanto m´as cercano se est´a a la zona de calentamiento (que est´a formada por una peque˜na muestra de la se˜nal que se proporciona al modelo para que genere los siguientes puntos), m´as precisas son las predicciones ya que acumulan menor error. Por el contrario, cu´anto m´as se aleja, si una predicci´on se hace con algo de error en comparaci´on a la real, este error se va acumulando, llegando a una mayor divergencia de los resultados. Esto sucede en diversas im´agenes de las Figuras 8.8, 8.9 y 8.10, y hay veces en las que el modelo consigue ajustarse mejor y otras peor. En la generaci´on a veces pasa otro efecto, y es que, al ser tan sensible en las condiciones iniciales, a veces el modelo falla incluso en las mismas generaciones, con los mismos par´ametros. Esto se debe a que al dejar al modelo generar las se˜nales libremente debido a su configuraci´on, a veces no se ajusta adecuadamente, llegando a divergir en muchas ocasiones. A pesar de que el segundo mejor valor de NRMSE se corresponde a la configuraci´on de hiperpar´ametros de N = 500 neuronas, al variar tanto el valor de algunos hiperpar´ametros como el tama˜no del reservorio, se consiguen resultados no deseados, como se puede observar en la Figura 8.11. Por ello, el modelo es dependiente de un buen ajuste de hiperpar´ametros. Figura 8.11: Generaci´on err´onea de una se˜nal MEA en el electrodo 27 con el modelo ESN mal optimizado. Elaboraci´on propia. 79 8.2. RESULTADOS LSM Tabla 8.5: Resultados de las m´etricas en la generaci´on de se˜nales MEA con LSM cuantizada para 3, 6, 8 y 16 bits. MSE RMSE NRMSE R2 Normal (3 bits) 0.003310 0.057531 0.234089 0.277848 Suavizada (3 bits) 0.002562 0.050615 0.205949 0.277848 Normal (6 bits) 0.003605 0.060046 0.244319 0.213350 Suavizada (6 bits) 0.002882 0.053681 0.218424 0.213350 Normal (8 bits) 0.003259 0.057087 0.232285 0.288939 Suavizada (8 bits) 0.002440 0.049392 0.200970 0.288939 Normal (16 bits) 0.002627 0.051251 0.208535 0.426910 Suavizada (16 bits) 0.002012 0.044853 0.182504 0.426910 8.2.3. Discusi´on de los resultados obtenidos Teniendo en cuenta todos los resultados debatidos en la generaci´on, podemos deducir el comportamiento de este modelo. Si observamos las m´etricas, todos los tipos de errores cuadr´aticos medios obtienen buenos resultados. Sin embargo, si contemplamos el R2, es muy bajo, obteniendo por tanto que la se˜nal observada no es similar a la generada ni a la suavizada (ya que ambas se˜nales tienen el mismo valor en esta m´etrica). A´un as´ı, los resultados se pueden considerar buenos, puesto que el modelo es capaz de detectar los picos pronunciados en las se˜nales MEA del electrodo 27. Por ello, aunque no sea capaz de representar con exactitud la se˜nal, es capaz de intuir en qu´e momento se van a producir las alteraciones en la se˜nal, logrando as´ı resultados v´alidos para la investigaci´on. Adem´as, los resultados obtenidos en las diferentes representaciones de bits son similares, permitiendo de esta forma representar estas se˜nales en el modelo cuantizado con los bits que se requieran sin alterar la informaci´on relevante de los datos. 86 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS 8.3. Resultados NGRC El siguiente modelo del que se van a discutir los resultados es de NGRC. 8.3.1. Resultados de la b´usqueda de hiperpar´ametros Los hiperpar´ametros elegidos para optimizar fueron el valor de la funci´on Ridge (ridge), las dimensiones de la parte lineal (k) y el m´aximo orden de las funciones de la parte no lineal (nolineal-order). El hiperpar´ametro ridge se ha buscado entre los valores 1e−9y 1e−2, mientras que kynolinear-order se han buscado entre 2 y 5. Teniendo en cuenta que la funci´on de p´erdida a minimizar vuelve a ser NMRSE, los mejores resultados obtenidos en esta b´usqueda se encuentran en la Tabla 8.6. Tabla 8.6: Resultados de la b´usqueda de hiperpar´ametros en NGRC con menor p´erdida. Elaboraci´on propia. k ridge nolinear-order loss 4 0.000001 2 0.172768 4 0.002517 4 0.171178 2 0.000009 4 0.171350 2 0.000004 4 0.173145 8.3.2. Resultados del modelo Tras realizar diferentes pruebas con los diferentes datasets, el que mejor se ajusta es el dataset que no incluye ni normalizaci´on ni estandarizaci´on. Teniendo en cuenta el mejor conjunto de hiperpar´ametros y que en el art´ıculo [62] no se incluye la parte de predicci´on, se han obtenido los siguientes resultados. Resultados de la generaci´on Las figuras 8.21, 8.22, 8.23, 8.24 muestran las se˜nales MEA generadas por el modelo NGRC con el conjunto de hiperpar´ametros propuesto. El resumen de las evaluaciones de las m´etricas en la generaci´on de las se˜nales MEA se puede ver a continuaci´on, en la Tabla 8.7. En esta tabla, solo se van a mostrar las medidas de los cuatro electrodos que aparecen en las Figuras ya mencionadas: Tabla 8.7: Resultados de las m´etricas en la generaci´on de se˜nales MEA con NGRC. Electrodo NRMSE R2 27 0.162485 -1.219535 65 0.186350 -1.505742 75 0.168164 -1.528703 77 0.155121 -1.001604 87 8.3. RESULTADOS NGRC Figura 8.21: Generaci´on de una se˜nal MEA en el electrodo 27 mediante el modelo NGRC . Elaboraci´on propia. Figura 8.22: Generaci´on de una se˜nal MEA en el electrodo 65 mediante el modelo NGRC . Elaboraci´on propia. 88 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Figura 8.23: Generaci´on de una se˜nal MEA en el electrodo 75 mediante el modelo NGRC . Elaboraci´on propia. Figura 8.24: Generaci´on de una se˜nal MEA en el electrodo 77 mediante el modelo NGRC . Elaboraci´on propia. 89 8.3. RESULTADOS NGRC 8.3.3. Discusi´on de los resultados obtenidos A pesar de que el valor del NRMSE es bajo, lo cual ser´ıa indicador de que el modelo har´ıa buenas predicciones, el valor de R2indica que el modelo no se ajusta bien a los datos. Esto se puede ver reflejado en la tabla 8.7. En las gr´aficas podemos observar c´omo el modelo recuerda las caracter´ısticas relevantes de la se˜nal justo antes de que suceda la crisis epil´eptica, pero que haya una periodicidad en la amplitud de la onda de la se˜nal MEA, repitiendo de esta forma la onda caracter´ıstica de la crisis epil´eptica entorno al valor 1250 en todas las gr´aficas, indica que simplemente el modelo no es capaz de adaptarse correctamente a los datos. Ser´ıa adecuado revisar el modelo, modificar los hiperpar´ametros y realizar m´as b´usquedas, o incluso cambiar la funci´on de p´erdida a optimizar, pero debido a las limitaciones de tiempo de este TFG, se deja como recomendaci´on a posteriores investigaciones. 90 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS 8.4. Resultados LSTM Los resultados obtenidos para la predicci´on y la generaci´on en el modelo de la LSTM se discutir´an a continuaci´on. 8.4.1. Resultados de la b´usqueda de hiperpar´ametros En este modelo, debido a limitaciones de tiempo, no se ha hecho una b´usqueda exhaustiva de los hiperpar´ametros ´optimos, por lo que este apartado se deja para l´ıneas futuras de trabajo. Sin embargo, se hicieron algunos experimentos, en los cuales se busc´o optimizar el n´umero de neuronas de la LSTM y de la capa densa, buscando en un rango de 0 a 100 en ambas, obteniendo lo siguiente. La funci´on a minimizar, en este caso, fue la MSE. Tabla 8.8: Resultados de las m´etricas de la b´usquda de hiperpar´ametros en el modelo LSTM. units(lstm) units(dense) loss 60 50 0.001000 8.4.2. Resultados del modelo En este modelo, se han empleado los datos de la se˜nal MEA del electrodo 27 sin normalizar ni estandarizar, haciendo la siguiente divisi´on. Todo el procedimiento es aplicable al resto. Esta muestra se ha dividido en datos de entrenamiento, prueba y validaci´on, como se ve en la Figura 8.25. Figura 8.25: Muestra de los datos para el modelo LSTM. Elaboraci´on propia. Predicci´on de las se˜nales MEA En el caso de la predicci´on, se ha probado c´omo de bien es capaz de ajustarse a los datos, y se ha obtenido lo siguiente con el conjunto de test: 91 8.4. RESULTADOS LSTM Figura 8.26: Resultado de la LSTM en el conjunto de prueba en la predicci´on con desfase de 10 puntos. Elaboraci´on propia. Y en la validaci´on, se han conseguido los siguientes resultados para 1, 10 y 100 puntos de desfase: Figura 8.27: Resultado de la LSTM en el conjunto de validaci´on con desfase de 1 puntos. Elaboraci´on propia. 92 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Figura 8.28: Resultado de la LSTM en el conjunto de validaci´on con desfase de 10 puntos. Elaboraci´on propia. Figura 8.29: Resultado de la LSTM en el conjunto de validaci´on con desfase de 100 puntos. Elaboraci´on propia. 93 8.4. RESULTADOS LSTM Las m´etricas correspondientes a estas gr´aficas se resumen en la siguiente tabla: Tabla 8.9: Resultados de las m´etricas en la predicci´on de se˜nales MEA con ESN. Puntos de Desfase MSE RMSE NRMSE R2 1 0.113490 0.033688 0.037693 0.984814 10 0.468954 0.216448 0.388992 0.973865 100 0.672534 0.259333 0.402023 0.288390 Predicci´on en Google Dev Board Una vez observado que el modelo obtiene buenos resultados, se ha hecho que la LSTM prediga solamente el valor siguiente, sin hacer una secuencia de predicciones. Esta predicci´on es la que se realizar´a dentro de Google Dev Board. Como se puede observar en la Figura 8.30, se ha obtenido buenos resultados a la hora de predecir con este modelo. Figura 8.30: Resultado de la LSTM en predecir el punto siguiente en la versi´on cuantizada del modelo. Elaboraci´on propia, basada en [111]. En la ejecuci´on en Google Dev Board se ha obtenido lo siguiente (Figura 8.31), teniendo en cuenta que la secuencia de datos predichas en uint8 es lo que se muestra en la Figura 8.32. 94 CAP´ ITULO 8. COMPARACI ´ ON Y DISCUSI ´ ON DE LOS RESULTADOS Figura 8.31: Predicci´on del punto siguiente mediante Google Dev Board. Elaboraci´on propia, basada en [111]. Figura 8.32: Muestra de la secuencia predicha en uint8 por Google Dev Board. Elaboraci´on propia. 95 9.2. L´ INEAS FUTURAS 9.2. L´ıneas futuras Este TFG ha servido como introducci´on a las capacidades que presentan algunos modelos de ML para predecir y generar las se˜nales MEA de las que se dispon´ıa. Teniendo en cuenta los resultados obtenidos, se recomiendan las siguientes pautas de trabajo antes de proseguir con esta investigaci´on en otros proyectos. Para comenzar, una recomendaci´on es probar con equipos de trabajo con m´as capacidad para analizar secuencias temporales m´as largas y obtener m´as resultados que los que se proporcionan en esta memoria, adem´as de intentar mejorar las predicciones y generaciones de los modelos. Otra recomendaci´on es conseguir que todos los modelos estuvieran cuantizados y comprobar su funcionamiento en Google Dev Board o en otros dispositivos similares, como podr´ıan ser la Raspberry Pi [118] o la gama de Nvidia Jetson [119], y de esta forma comparar los resultados obtenidos, teniendo as´ı una comprensi´on global de qu´e dispositivo es m´as recomendable teniendo en cuenta la tarea a desarollar. Una vez realizado este trabajo, ser´ıa recomendable tratar con otro tipo de series temporales y, en el ´area de investigaci´on en bioinform´atica, realizar pruebas con se˜nales capturadas de otros sistemas de registros de actividad cerebral, como por ejemplo se˜nales obtenidas de un electroencefalograma. Teniendo en cuenta estas sugerencias, se obtendr´ıa una amplia gama de resultados que permitir´ıan explorar m´as a fondo estos modelos, para de esta forma adaptar cada uno de ellos en funci´on de la tarea que se quiera realizar. 102 BIBLIOGRAF´ IA Bibliograf´ıa [1] Hassan Sajjad, Nadir Durrani y Fahim Dalvi. ((Neuron-level Interpretation of Deep NLP Models: A Survey)). En: Transactions of the Association for Computational Linguistics 10 (nov. de 2022), p´ags. 1285-1303. issn: 2307-387X. doi:10 . 1162 / tacl _ a _ 00519. eprint: https : / / direct . mit . edu / tacl / article - pdf/doi/10.1162/tacl\_a\_00519/2060745/tacl\_a\_00519.pdf.url:https://doi.org/10.1162/ tacl%5C_a%5C_00519. [2] Philippe Faure y Henri Korn. ((Is there chaos in the brain? I. Concepts of nonlinear dynamics and methods of investigation)). En: Comptes rendus de l’Acad´emie des sciences. S´erie III, Sciences de la vie 324 (oct. de 2001), p´ags. 773-93. doi:10.1016/S0764-4469(01)01377-4. [3] Germ´an Rodr´ıguez-Berm´udez y Pedro Garc´ıa Laencina. ((Analysis of EEG signals using nonlinear dynamics and chaos: A review)). En: Applied Mathematics and Information Sciences 9 (ene. de 2015), p´ags. 1-13. doi: 10.12785/amis/090512. [4] B. Hughes. Software Project Management 5e. McGraw-Hill Education, 2009. isbn: 978-0-07-716954-1. url: https://books.google.es/books?id=IMsvEAAAQBAJ. [5] Peter Chapman. CRISP-DM 1.0: Step-by-step data mining guide. 2000. url:https://api.semanticscholar. org/CorpusID:59777418. [6] Manifiesto Por El Desarrollo ´ Agil de Software. https://agilemanifesto.org/iso/es/manifesto.html. (Visitado 15-05-2024). [7] Nick Hotz. What Is CRISP DM? Sep. de 2018. (Visitado 15-05-2024). [8] Alex Souza. Metodologia CRISP-DM: Uma Abordagem Abrangente para Projetos de Dados. en. Jul. de 2023. url:https://medium.com/blog-do-zouza/metodologia-crisp-dm-uma-abordagem-abrangente- para-projetos-de-dados-d7e7135b907e (visitado 16-05-2024). [9] PMBOK®Guide. en. url:https://www. pmi.org/pmbok - guidestandards/foundational/ pmbok (visitado 16-05-2024). [10] Sueldo: Machine Learning Engineer en Espa˜na en 2024. es. url:https://www.glassdoor.es/Sueldos/ machine-learning-engineer-sueldo-SRCH_KO0,25.htm (visitado 16-05-2024). [11] Sueldo: Ingeniero Biomedico en Espa˜na 2024. es. url:https://www.glassdoor.es/Sueldos/ingenierobiomedico-sueldo-SRCH_KO0,19.htm (visitado 29-05-2024). [12] Roger Doba˜no-CEO Quipu. ¿Cu´anto cuesta contratar a un trabajador? (Actualizado 2024). es. Dic. de 2021. url:https://getquipu.com/blog/cuanto-cuesta-contratar-un-trabajador/ (visitado 17-05-2024). [13] Procesador Intel®Core™i5-11400 (cach´e de 12 MB; hasta 4,40 GHz) - Especificaciones de productos. es. url:https://www.intel.la/content/www/xl/es/products/sku/212270/intelcore- i511400- processor-12m-cache-up-to-4-40-ghz/specifications.html (visitado 17-05-2024). [14] Zone Evil Office Plus 22AH510I557 Intel Core i5-11400/16GB/500GB SSD — PcComponentes.com.url: https://www.pccomponentes.com/zone-evil-office- plus-22ah510i557-intel-core-i5- 11400- 16gb-500gb-ssd (visitado 17-05-2024). [15] Precios de Los Servicios de Pago de Colab. https://colab.research.google.com/signup. (Visitado 04-06-2024). [16] Google Colaboratory. es. url:https://colab.research.google.com/github/google-coral/tutorials/ blob/master/train_lstm_timeseries_ptq_tf2.ipynb (visitado 11-04-2024). [17] Dev Board. en-us. url:https://coral.ai/products/dev-board/ (visitado 17-05-2024). 103 BIBLIOGRAF´ IA [18] TensorFlow. es. Page Version ID: 158188987. Feb. de 2024. url:https://es.wikipedia.org/w/index. php?title=TensorFlow&oldid=158188987 (visitado 14-05-2024). [19] Keras. es. Page Version ID: 159645409. Abr. de 2024. url:https://es.wikipedia.org/w/index.php? title=Keras&oldid=159645409 (visitado 14-05-2024). [20] TensorFlow Lite. en. url:https://www.tensorflow.org/lite/guide (visitado 14-05-2024). [21] pandas - Python Data Analysis Library.url:https://pandas.pydata.org/ (visitado 15-05-2024). [22] ReservoirPy — ReservoirPy 0.3.11 documentation.url:https://reservoirpy.readthedocs.io/en/ latest/index.html (visitado 02-04-2024). [23] SciPy. es. Page Version ID: 157628165. Ene. de 2024. url:https://es.wikipedia.org/w/index.php? title=SciPy&oldid=157628165 (visitado 14-05-2024). [24] NumPy documentation — NumPy v1.26 Manual.url:https : / / numpy . org / doc / stable/ (visitado 14-05-2024). [25] Matplotlib — Visualization with Python.url:https://matplotlib.org/ (visitado 14-05-2024). [26] scikit-learn: machine learning in Python — scikit-learn 1.4.2 documentation.url:https://scikit-learn. org/stable/ (visitado 15-05-2024). [27] Takuya Akiba et al. ((Optuna: A Next-generation Hyperparameter Optimization Framework)). en. En: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. Anchorage AK USA: ACM, jul. de 2019, p´ags. 2623-2631. isbn: 978-1-4503-6201-6. doi:10.1145/3292500. 3330701.url:https://dl.acm.org/doi/10.1145/3292500.3330701 (visitado 14-05-2024). [28] Joblib: running Python functions as pipeline jobs — joblib 1.4.2 documentation.url:https://joblib. readthedocs.io/en/stable/ (visitado 15-05-2024). [29] T. M. McKenna, T. A. McMullen y M. F. Shlesinger. ((The brain as a dynamic physical system)). eng. En: Neuroscience 60.3 (jun. de 1994), p´ags. 587-605. issn: 0306-4522. doi:10.1016/0306-4522(94)90489-8. [30] Rainer Klages. ((Introduction to Dynamical Systems)). en. En: (). [31] Manuel Benjamin Ortiz Moctezuma. Sistemas din´amicos en tiempo continuo: Modelado y simulaci´on. es. 1st. OmniaScience, dic. de 2015. isbn: 978-84-944673-2-5. doi:10.3926/oss.25.url:https://www. omniascience.com/books/index.php/scholar/catalog/book/38 (visitado 21-05-2024). [32] Steven Strogatz. Nonlinear dynamics and chaos: with applications to physics, biology, chemistry, and engineering. en. Second edition, first issued in hardback. A Chapman & Hall book. Boca Raton London New York: CRC Press, 2019. [33] Dynamical systems theory. en. Page Version ID: 1220918822. Abr. de 2024. url:https://en.wikipedia. org/w/index.php?title=Dynamical_systems_theory&oldid=1220918822 (visitado 21-05-2024). [34] Daniel Durstewitz, Georgia Koppe y Max Ingo Thurm. Reconstructing Computational Dynamics from Neural Measurements with Recurrent Neural Networks. en. Nov. de 2022. doi:10.1101/2022.10.31.514408.url: http://biorxiv.org/lookup/doi/10.1101/2022.10.31.514408 (visitado 21-05-2024). [35] Lequan Lin et al. Diffusion Models for Time Series Applications: A Survey. en. arXiv:2305.00624 [cs]. Abr. de 2023. url:http://arxiv.org/abs/2305.00624 (visitado 22-05-2024). [36] Marin Biloˇs et al. Modeling Temporal Data as Continuous Functions with Stochastic Process Diffusion. en. arXiv:2211.02590 [cs]. Mayo de 2023. url:http://arxiv.org/abs/2211.02590 (visitado 22-05-2024). [37] Yan Li et al. Generative Time Series Forecasting with Diffusion, Denoise, and Disentanglement. en. ar- Xiv:2301.03028 [cs]. Ene. de 2023. url:http://arxiv.org/abs/2301.03028 (visitado 22-05-2024). [38] Aaron van den Oord et al. WaveNet: A Generative Model for Raw Audio. en. arXiv:1609.03499 [cs]. Sep. de 2016. url:http://arxiv.org/abs/1609.03499 (visitado 22-05-2024). [39] Kashif Rasul et al. Autoregressive Denoising Diffusion Models for Multivariate Probabilistic Time Series Forecasting. en. arXiv:2101.12072 [cs]. Feb. de 2021. url:http://arxiv.org/abs/2101.12072 (visitado 22-05-2024). [40] Kashif Rasul et al. Multivariate Probabilistic Time Series Forecasting via Conditioned Normalizing Flows. en. arXiv:2002.06103 [cs, stat]. Ene. de 2021. url:http://arxiv.org/abs/2002.06103 (visitado 22-05-2024). [41] Tijin Yan et al. ScoreGrad: Multivariate Probabilistic Time Series Forecasting with Continuous Energy-based Generative Models. en. arXiv:2106.10121 [cs, stat]. Jun. de 2021. url:http://arxiv.org/abs/2106.10121 (visitado 22-05-2024). 104 BIBLIOGRAF´ IA [42] Ruikun Li et al. ((Graph Convolution Recurrent Denoising Diffusion Model for Multivariate Probabilistic Temporal Forecasting)). En: nov. de 2023, p´ags. 661-676. isbn: 978-3-031-46660-1. doi:10.1007/978-3- 031-46661-8_44. [43] Haomin Wen et al. DiffSTG: Probabilistic Spatio-Temporal Graph Forecasting with Denoising Diffusion Models. en. arXiv:2301.13629 [cs]. Mar. de 2024. url:http://arxiv.org/abs/2301 .13629 (visitado 22-05-2024). [44] Juan Miguel Lopez Alcaraz y Nils Strodthoff. Diffusion-based Time Series Imputation and Forecasting with Structured State Space Models. en. arXiv:2208.09399 [cs, stat]. Mayo de 2023. url:http://arxiv.org/ abs/2208.09399 (visitado 22-05-2024). [45] Wei Cao et al. ((BRITS: Bidirectional Recurrent Imputation for Time Series)). En: Advances in Neural Information Processing Systems. Vol. 31. Curran Associates, Inc., 2018. url:https: // papers.nips . cc/paper_ files/paper/2018 /hash/ 734e6bfcd358e25ac1db0a4241b95651- Abstract. html (visitado 22-05-2024). [46] Zhengping Che et al. ((Recurrent Neural Networks for Multivariate Time Series with Missing Values)). en. En: Scientific Reports 8.1 (abr. de 2018). Publisher: Nature Publishing Group, p´ag. 6085. issn: 2045-2322. doi:10.1038/s41598-018-24271-9.url:https://www.nature.com/articles/s41598-018-24271-9 (visitado 22-05-2024). [47] Yonghong Luo et al. ((Multivariate Time Series Imputation with Generative Adversarial Networks)). En: Advances in Neural Information Processing Systems. Vol. 31. Curran Associates, Inc., 2018. url:https: //papers.nips.cc/paper_files/paper/2018/hash/96b9bff013acedfb1d140579e2fbeb63-Abstract. html (visitado 22-05-2024). [48] Yusuke Tashiro et al. CSDI: Conditional Score-based Diffusion Models for Probabilistic Time Series Imputation. en. arXiv:2107.03502 [cs, stat]. Oct. de 2021. url:http://arxiv.org/abs/2107.03502 (visitado 22-05-2024). [49] Mingzhe Liu et al. PriSTI: A Conditional Diffusion Framework for Spatiotemporal Imputation. en. ar- Xiv:2302.09746 [cs]. Feb. de 2023. url:http://arxiv.org/abs/2302.09746 (visitado 22-05-2024). [50] Casey Chu, Kentaro Minami y Kenji Fukumizu. Smoothness and Stability in GANs. en. arXiv:2002.04185 [cs, stat]. Feb. de 2020. url:http://arxiv.org/abs/2002.04185 (visitado 22-05-2024). [51] Abhyuday Desai et al. TimeVAE: A Variational Auto-Encoder for Multivariate Time Series Generation. en. arXiv:2111.08095 [cs]. Dic. de 2021. url:http://arxiv.org/abs/2111.08095 (visitado 22-05-2024). [52] Chris Donahue, Julian McAuley y Miller Puckette. Adversarial Audio Synthesis. arXiv:1802.04208 [cs]. Feb. de 2019. doi:10.48550/arXiv.1802.04208.url:http://arxiv.org/abs/1802.04208 (visitado 22-05-2024). [53] Haksoo Lim et al. Regular Time-series Generation using SGM. en. arXiv:2301.08518 [cs]. Ene. de 2023. url: http://arxiv.org/abs/2301.08518 (visitado 22-05-2024). [54] Mantas Lukoˇseviˇcius y Herbert Jaeger. ((Reservoir computing approaches to recurrent neural network training)). En: Computer Science Review 3.3 (2009), p´ags. 127-149. issn: 1574-0137. doi:https://doi.org/ 10.1016/j.cosrev.2009.03.005.url:https://www.sciencedirect.com/science/article/pii/ S1574013709000173. [55] Dominik Walther et al. ((A systematic comparison of deep learning methods for EEG time series analysis)). English. En: Frontiers in Neuroinformatics 17 (feb. de 2023). Publisher: Frontiers. issn: 1662-5196. doi: 10.3389/fninf.2023.1067095.url:https://www.frontiersin.org/articles/10.3389/fninf.2023. 1067095 (visitado 22-05-2024). [56] Farhad Mortezapour Shiri et al. ((A Comprehensive Overview and Comparative Analysis on Deep Learning Models: CNN, RNN, LSTM, GRU)). en. En: (). [57] Sambeet Mishra et al. ((Comparison of deep learning models for multivariate prediction of time series wind power generation and temperature)). En: Energy Reports. Technologies and Materials for Renewable Energy, Environment and Sustainability 6 (feb. de 2020), p´ags. 273-286. issn: 2352-4847. doi:10.1016/j.egyr. 2019. 11. 009.url:https://www .sciencedirect. com/ science/article /pii /S2352484719308546 (visitado 22-05-2024). [58] Benjamin Schrauwen, David Verstraeten y Jan Campenhout. ((An overview of reservoir computing: Theory, applications and implementations)). En: ene. de 2007, p´ags. 471-482. 105 BIBLIOGRAF´ IA [59] Yaqing Zhang et al. ((An Investigation of Deep Learning Models for EEG-Based Emotion Recognition)). English. En: Frontiers in Neuroscience 14 (dic. de 2020). Publisher: Frontiers. issn: 1662-453X. doi:10. 3389/fnins.2020.622759.url:https://www.frontiersin.org/journals/neuroscience/articles/ 10.3389/fnins.2020.622759/full (visitado 22-05-2024). [60] Alireza Goudarzi et al. A Comparative Study of Reservoir Computing for Temporal Signal Processing. en. arXiv:1401.2224 [cs]. Ene. de 2014. url:http://arxiv.org/abs/1401.2224 (visitado 22-05-2024). [61] Shahrokh Shahi, Flavio H. Fenton y Elizabeth M. Cherry. ((Prediction of chaotic time series using recurrent neural networks and reservoir computing techniques: A comparative study)). En: Machine Learning with Applications 8 (jun. de 2022), p´ag. 100300. issn: 2666-8270. doi:10.1016/j.mlwa.2022.100300.url: https://www.sciencedirect.com/science/article/pii/S2666827022000275 (visitado 22-05-2024). [62] Daniel J Gauthier et al. ((Next Generation Reservoir Computing)). en. En: (). [63] Johannes Maurin Voshol. ((Quantized Liquid State Machines: Design and Implementation)). en. En: (). [64] Gabriella Panuccio, Davide Caron y Angel Canal-Alonso. Mimicking CA3 Temporal Dynamics Controls Limbic Ictogenesis. Feb. de 2022. doi:10.5281/zenodo.6278046. (Visitado 07-06-2024). [65] Terri Roberts et al. ((Encoding Temporal Regularities and Information Copying in Hippocampal Circuits)). En: Scientific Reports 9 (dic. de 2019). doi:10.1038/s41598-019-55395-1. [66] Davide Caron, ´ Angel Canal-Alonso y Gabriella Panuccio. ((Mimicking CA3 Temporal Dynamics Controls Limbic Ictogenesis)). en. En: Biology 11.3 (mar. de 2022). Number: 3 Publisher: Multidisciplinary Digital Publishing Institute, p´ag. 371. issn: 2079-7737. doi:10.3390/biology11030371.url:https://www.mdpi. com/2079-7737/11/3/371 (visitado 29-05-2024). [67] Siyan Wang et al. ((CA3 principal cell activation triggers hypersynchronous-onset seizures in a mouse model of mesial temporal lobe epilepsy)). eng. En: Journal of Neurophysiology 130.4 (oct. de 2023), p´ags. 1041-1052. issn: 1522-1598. doi:10.1152/jn.00244.2023. [68] Alvaro Tejero-Cantero. ((Of memories and ripples: functional and mechanistic aspects of memory sequences during hippocampal ripples)). Tesis doct. Jul. de 2012. [69] Inteligencia artificial. es. Page Version ID: 160001682. Mayo de 2024. url:https://es.wikipedia.org/ w/index.php?title=Inteligencia_artificial&oldid=160001682#Aprendizaje_automatizado_y_ aprendizaje_profundo (visitado 09-05-2024). [70] Altaf Hussain, Ijaz Ullah y Tariq Hussain. ((The Approach of Data Mining: A Performance-based Perspective of Segregated Data Estimation to Classify Distinction by Applying Diverse Data Mining Classifiers)). En: ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal 10 (feb. de 2022), p´ags. 339-359. doi:10.14201/ADCAIJ2021104339359. [71] Aridio Silva. aridiosilva/My-TensorFlow-tutorials. original-date: 2019-02-15T19:25:45Z. Mar. de 2023. url: https://github.com/aridiosilva/My-TensorFlow-tutorials (visitado 11-04-2024). [72] Redes neuronales recurrentes. es. Page Version ID: 159512598. Abr. de 2024. url:https://es.wikipedia. org/w/index.php?title=Redes_neuronales_recurrentes&oldid=159512598#Funcionamiento_de_las_ redes_neuronales_recurrentes (visitado 20-05-2024). [73] Ye Jiexia et al. How to Build a Graph-Based Deep Learning Architecture in Traffic Domain: A Survey. Mayo de 2020. [74] Robin M. Schmidt. ((Recurrent Neural Networks (RNNs): A gentle Introduction and Overview)). en. En: (nov. de 2019). arXiv:1912.05911 [cs, stat]. url:http://arxiv.org/abs/1912.05911 (visitado 21-05-2024). [75] Rub´en Rodr´ıguez Abril. Redes Neuronales Recurrentes •Art´ıculo de LMO. es. Mayo de 2021. url:https: //lamaquinaoraculo.com/deep-learning/redes-neuronales-recurrentes/ (visitado 20-05-2024). [76] The Unreasonable Effectiveness of Recurrent Neural Networks.url:http://karpathy.github.io/2015/ 05/21/rnn-effectiveness/ (visitado 20-05-2024). [77] Corentin Tallec y Yann Ollivier. Unbiasing Truncated Backpropagation Through Time. arXiv:1705.08209 [cs]. Mayo de 2017. doi:10.48550/arXiv.1705.08209.url:http://arxiv.org/abs/1705.08209 (visitado 21-05-2024). [78] Jingzhao Zhang et al. Why gradient clipping accelerates training: A theoretical justification for adaptivity. arXiv:1905.11881 [cs, math]. Feb. de 2020. doi:10.48550/arXiv.1905.11881.url:http://arxiv.org/ abs/1905.11881 (visitado 21-05-2024). 106 BIBLIOGRAF´ IA [79] IFISC IT TEam + APSL- www.apsl.net. Reservoir Computing: Theory, Physical Implementations, and Applications.url:https://ifisc.uib-csic.es/es/publications/reservoir-computing-theory- physical-implementation/ (visitado 23-05-2024). [80] Matthew Stewart PhD. Predicting Stock Prices with Echo State Networks. en. Feb. de 2023. url:https: //towardsdatascience.com/predicting-stock-prices-with-echo-state-networks-f910809d23d4 (visitado 30-05-2024). [81] Herbert Jaeger. ((The “Echo State” Approach to Analysing and Training Recurrent Neural Networks)). En: GMD-Report 148, German National Research Institute for Computer Science (ene. de 2001). [82] Wolfgang Maass. ((Liquid State Machines: Motivation, Theory, and Applications)). En: (ene. de 2010). doi: 10.1142/9781848162778_0008. [83] Gang Li et al. ((Echo State Network with Bayesian Regularization for Forecasting Short-Term Power Production of Small Hydropower Plants)). En: Energies 8 (oct. de 2015), p´ags. 12228-12241. doi:10.3390/ en81012228. [84] Claudio Gallicchio y Alessio Micheli. Deep Echo State Network (DeepESN): A Brief Survey. Sep. de 2020. doi:10.48550/arXiv.1712.04323. arXiv: 1712.04323 [cs, stat]. (Visitado 03-06-2024). [85] Samar Bouazizi, Emna Benmohamed y Hela Ltifi. ((Enhancing EEG-based Emotion Recognition Using PSD- Grouped Deep Echo State Network)). En: JUCS - Journal of Universal Computer Science 29.10 (oct. de 2023), p´ags. 1116-1138. issn: 0948-6968. doi:10.3897/jucs.98789. (Visitado 03-06-2024). [86] Soumya Shrivastava. Cross Validation in Time Series. Ene. de 2020. (Visitado 26-05-2024). [87] Qiuyi Wu, Ernest Fokoue y Dhireesha Kudithipudi. On the Statistical Challenges of Echo State Networks and Some Potential Remedies. 2018. arXiv: 1802.07369 [stat.ML]. [88] Nicholas Soures y Dhireesha Kudithipudi. ((Deep Liquid State Machines With Neural Plasticity for Video Activity Recognition)). En: Frontiers in Neuroscience 13 (jul. de 2019), p´ag. 686. issn: 1662-4548. doi: 10.3389/fnins.2019.00686. (Visitado 28-05-2024). [89] Kashu Yamazaki et al. ((Spiking Neural Networks and Their Applications: A Review)). En: Brain Sciences 12.7 (jun. de 2022), p´ag. 863. issn: 2076-3425. doi:10.3390/brainsci12070863. (Visitado 28-05-2024). [90] Chander Prakash et al. ((Computing of neuromorphic materials: an emerging approach for bioengineering solutions)). en. En: Materials Advances 4.23 (2023). Publisher: Royal Society of Chemistry, p´ags. 5882-5919. doi:10.1039 /D3MA00449J.url:https :/ /pubs .rsc .org /en /content /articlelanding /2023 /ma/ d3ma00449j (visitado 30-05-2024). [91] Spiking neural network. en. Page Version ID: 1214850196. Mar. de 2024. url:https://en.wikipedia. org/w/index.php?title=Spiking_neural_network&oldid=1214850196 (visitado 11-04-2024). [92] ((Liquid State Machine)). En: Wikipedia (mayo de 2023). (Visitado 28-05-2024). [93] ¨ Onder G¨urcan. ((Exploration of Biological Neural Wiring Using Self-Organizing Agents)). Tesis doct. Sep. de 2013. [94] M4urin/Quantized-Liquid-State-Machines: A Liquid State Machine Using Quantized Neurons That Are Operating on Lower-Bit Representations and Fixed Point Computations. It Provides a next Step towards the Implementation of Efficient Accelerators That Can Be Used in the Field of Neuromorphic Computing. https://github.com/m4urin/quantized-liquid-state-machines/tree/main. (Visitado 01-06-2024). [95] Neural Network Quantization. https://www.allaboutcircuits.com/ technical-articles/neural-network-quantization- what-is-it-and-how-does-it-relate-to-tiny-machine-learning/. (Visitado 01-06-2024). [96] Itay Hubara et al. ((Quantized neural networks: Training neural networks with low precision weights and activations)). En: Journal of Machine Learning Research 18.187 (2018), p´ags. 1-30. [97] quantinfo/ng-rc-paper-code. original-date: 2021-05-25T15:33:00Z. Abr. de 2024. url:https://github.com/ quantinfo/ng-rc-paper-code (visitado 16-04-2024). [98] Ravi Chepuri et al. Hybridizing Traditional and Next-Generation Reservoir Computing to Accurately and Efficiently Forecast Dynamical Systems. en. arXiv:2403.18953 [cs]. Mar. de 2024. url:http://arxiv.org/ abs/2403.18953 (visitado 16-04-2024). [99] LSTM weather forecasting model for Coral Edge TPU.url:https: //colab.research.google.com/ github/%20google-coral/tutorials/blob/master/train_lstm_timeseries_ptq_tf2.ipynb (visitado 29-05-2024). 107 BIBLIOGRAF´ IA [100] Ottavio Calzone. An Intuitive Explanation of LSTM. en. Abr. de 2022. url:https : / / medium . com / @ottaviocalzone/an-intuitive-explanation-of-lstm-a035eb6ab42c (visitado 30-05-2024). [101] 10.1. Long Short-Term Memory (LSTM) — Dive into Deep Learning 1.0.3 documentation.url:https: //d2l.ai/chapter_recurrent-modern/lstm.html (visitado 30-05-2024). [102] machine-learning-articles/build-an-lstm-model-with-tensorflow-and-keras.md at main ·christianversloot/machinelearning-articles. en. url:https://github.com/christianversloot/machinelearning- articles/ blob/main/build-an-lstm-model-with-tensorflow-and-keras.md (visitado 03-05-2024). [103] Prudhviraju Srivatsavaya. LSTM — Implementation, Advantages and Diadvantages. en. Oct. de 2023. url:https://medium.com/@prudhviraju.srivatsavaya/lstmimplementation- advantages- and- diadvantages-914a96fa0acb (visitado 29-05-2024). [104] Coral. https://coral.ai/. (Visitado 09-06-2024). [105] Raghubir Singh y Sukhpal Singh Gill. ((Edge AI: A survey)). En: Internet of Things and Cyber-Physical Systems 3 (2023), p´ags. 71-92. issn: 2667-3452. doi:https://doi.org/10.1016/j.iotcps.2023.02.004. url:https://www.sciencedirect.com/science/article/pii/S2667345223000196. [106] Dev Board. https://coral.ai/products/dev-board/. (Visitado 17-05-2024). [107] Dev Board Datasheet. https://coral.ai/docs/dev-board/datasheet/#features. (Visitado 09-06-2024). [108] Santi Iglesias. Google Edge TPU Coral with a Keras Custom Model (All You Need to Know, a Real Deploy Case). Jun. de 2020. (Visitado 11-04-2024). [109] Build an Lstm Model with Tensorflow and Keras. https://github.com/christianversloot /machine-learning- articles/blob/main/build-an-lstm-model-with-tensorflow-and-keras.md. (Visitado 03-05-2024). [110] Examples — Coral. https://coral.ai/examples/. (Visitado 09-06-2024). [111] LSTM Weather Forecasting Model for Coral Edge TPU. https://colab.research.google.com/github/googlecoral/tutorials/blob/master/train lstm timeseries ptq tf2.ipynb. (Visitado 29-05-2024). [112] TensorFlow Models on the Edge TPU. https://coral.ai/docs/edgetpu/models-intro/#compatibility-overview. (Visitado 11-06-2024). [113] Mendel Development Tool (Mdt). https://coral.ai/docs/dev-board/mdt/#install-mdt. (Visitado 11-06-2024). [114] Mantas Lukoˇseviˇcius. ((A Practical Guide to Applying Echo State Networks)). en. En: Neural Networks: Tricks of the Trade. Ed. por Gr´egoire Montavon, Genevi`eve B. Orr y Klaus-Robert M¨uller. Vol. 7700. Series Title: Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, p´ags. 659-686. doi:10.1007/978-3-642-35289-8_36.url:http://link.springer.com/10.1007/978- 3-642-35289-8_36 (visitado 05-04-2024). [115] ((Ra´ız del error cuadr´atico medio)). En: Wikipedia, la enciclopedia libre (mayo de 2020). (Visitado 03-06-2024). [116] Teor´ıa del caos. es. Page Version ID: 160126174. Mayo de 2024. url:https://es.wikipedia.org/w/ index.php?title=Teor%C3%ADa_del_caos&oldid=160126174#En_medicina (visitado 04-06-2024). [117] Efecto mariposa. es. Page Version ID: 158625459. Mar. de 2024. url:https://es.wikipedia.org/w/ index.php?title=Efecto_mariposa&oldid=158625459 (visitado 04-06-2024). [118] Raspberry Pi Ltd. Raspberry Pi. https://www.raspberrypi.com/. (Visitado 11-06-2024). [119] Sistemas integrados NVIDIA para las m´aquinas aut´onomas de la pr´oxima generaci´on. https://www.nvidia.com/ es-es/autonomous-machines/embedded-systems/. (Visitado 11-06-2024). [120] La Asamblea General adopta la Agenda 2030 para el Desarrollo Sostenible. Sep. de 2015. (Visitado 06-06-2024). [121] Ministerio de Derechos Sociales, Consumo y Agenda 2030 - Agenda 2030. https://www.mdsocialesa2030.gob.es/ index.htm. (Visitado 06-06-2024). [122] Robert S. Sloviter. ((Hippocampal Epileptogenesis in Animal Models of Mesial Temporal Lobe Epilepsy with Hippocampal Sclerosis: The Importance of the “Latent Period” and Other Concepts)). En: Epilepsia 49.s9 (2008), p´ags. 85-92. issn: 1528-1167. doi:10.1111/j.1528-1167.2008.01931.x. (Visitado 06-06-2024). 108 AP´ ENDICE A. CONTEMPLACI ´ ON DE LOS OBJETIVOS DE DESARROLLO SOSTENIBLE Ap´endice A Contemplaci´on de los Objetivos de Desarrollo Sostenible Actualmente, muchos de los gobiernos est´an actuando en conjunto para lograr un futuro accesible y sostenible. Es por ello que en 2015 se adopt´o por la Organizaci´on de las Naciones Unidas (ONU) un plan de acci´on que consiguiera satisfacer una serie de necesidades, creando as´ı la Agenda 2030 [120]. Este plan engloba 17 objetivos generales, llamados Objetivos de Desarrollo Sostenible (ODS), como se puede observar en la Figura A.1. Este TFG se puede englobar principalmente dentro del objetivo 3: Salud y Bienestar, que busca garantizar una vida sana y promover el bienestar para todos en todas las edades, asegurando de esta forma el desarrollo sostenible [121]. Esto se debe a que la epilepsia, en concreto la que se ha tratado en este TFG que es la denominada epilepsia del l´obulo temporal (ELT), afecta a millones de personas en todo el mundo. Entorno al 30 % de los casos de crisis epil´epticas corresponden a este tipo, siendo la m´as frecuente entre los adultos [122]. Usando este TFG con fines acad´emicos y de investigaci´on se podr´ıa emplear para la predicci´on de convulsiones. Empleando los diferentes modelos propuestos y analizados se podr´ıa ser capaz de identificar los patrones y, mediante la predicci´on temprana de las convulsiones, poner en alerta a los pacientes, facilitando la toma de medidas preventivas. Si se consiguiese avisar al paciente con el tiempo suficiente, este se podr´ıa ubicar en un lugar seguro antes de la crisis y facilitar la asistencia m´edica. Tambi´en se podr´ıan emplear los modelos descritos para la generaci´on de se˜nales MEA sint´eticas para que sirvan de estudio o como nuevos datos para entrenar modelos m´as potentes que se puedan usar para crear diferentes pr´otesis o implantes cerebrales. De forma secundaria, tambi´en se logran cumplimentar el objetivo 9: Industria, innovaci´on e infraestructura, ya que si se contin´ua investigando esta ´area se podr´ıa impulsar el crecimiento y la innovaci´on del sistema sanitario global; y el objetivo 10: Reducci´on de las desigualdades, pues si se llegase a comercializar ciertos avances podr´ıan crearse herramientas de diagn´ostico y pr´otesis capaces de ser accesibles en pa´ıses tercermundistas. Gracias al trabajo desempe˜nado en este proyecto, se espera que se conciencie a los lectores de este TFG de la importancia que tiene la investigaci´on de esta enfermedad, y que diversos sectores y empresas sigan destinando parte de sus fondos en ayudar a las personas que sufren de esta patolog´ıa para conseguir un futuro m´as saludable y sostenible. 109 Figura A.1: Objetivos de desarrollo sostenible planteados en la Agenda 2030 por la ONU [120]. 110 AP´ ENDICE B. TIEMPOS DE EJECUCI ´ ON EN LA B ´ USQUEDA DE HIPERPAR ´ AMETROS Ap´endice B Tiempos de ejecuci´on en la b´usqueda de hiperpar´ametros En los pr´oximos p´arrafos se van a discutir los mejores tiempos de ejecuci´on en la b´usqueda de hiperpar´ametros seg´un el numero de procesadores de los que se disponga. Cabe destacar que estos tiempos corresponden a las ejecuciones realizadas en el equipo de trabajo descrito con anterioridad, por lo que los resultados pueden variar al ejecutarse en otros dispositivos con otras prestaciones diferentes. Debido a que la b´usqueda de hiperpar´ametros es lo que mayor impacto genera a la hora de hacer que un modelo funcione correctamente, como se ha visto en el Cap´ıtulo 8, es importante intentar sacar el mejor conjunto posible. No obstante, estas b´usquedas pueden tardar demasiado tiempo en comparaci´on con otras partes, es por eso que se han tomado ciertas medidas para intentar hacer el proceso de b´usqueda lo m´as eficaz posible. La que se va a tratar en este anexo es el conseguir paralelizar la b´usqueda en diferentes procesos en CPU. Para ello, se han hecho diferentes pruebas en cada uno de los modelos con 4, 8 y 12 procesos usando Joblib (ver 3.9) bajo el mismo n´umero de intentos. Se han elegido estos n´umeros ya que el equipo contaba con un total de 12 procesos utilizables. Cabe destacar que, como el modelo de LSTM se ha ejecutado en otro entorno distinto, prescindiendo de la librer´ıa de Joblib, se ha excluido de esta comparaci´on ya que no estar´ıa realizada bajo las mismas condiciones de partida. Despu´es, se ha elaborado la media de los tiempos medios, respresent´andolo en una gr´afica, y se ha establecido una comparaci´on con el tiempo medio de lo que se tardar´ıa con un solo procesador. Una vez obtenido el mejor n´umero de procesos para la tarea, se ha realizado el resto de b´usquedas de hiperpar´ametros dentro del modelo correspondiente con ese n´umero de procesos, consiguiendo de esta forma ahorrar tiempo en dicha b´usqueda. 111