Alumno investigador: Juan Manuel Espinosa Lerma
Departamento o Instituto Universitario: Departamento de Teoría de la Señal y las Comunicaciones e Ingeniería Telemática
Tareas realizadas:
Durante todos estos meses se han llevado a cabo todas las fases necesarias para el correcto desarrollo del proyecto de colaboración. En primer lugar, se definieron los distintos objetivos del proyecto. La primera fase fue puramente formativa, incluyendo lecturas de artículos de interés y la realización de cursos y tutoriales de aprendizaje automático. Se exploraron los distintos conjuntos de datos disponibles en repositorios públicos. A continuación, se pasó a trabajar con el lenguaje de programación Python, un lenguaje ampliamente utilizado sobre todo por el gran número de librerías de las que dispone y la limpieza de su sintaxis. En concreto, se comenzó programando algunos algoritmos de predicción básicos (como Naive, Harmonic Mean y Exponential Weighted Moving Average). También se exploraron las librerías de manipulación de datos (para trabajar con ficheros de extensión .csv, carga de datos en Python…) y las librerías de aprendizaje automático como PyTorch. En paralelo, se iban completando los cursos formativos. Una vez programados los algoritmos básicos, comenzaron las primeras comparativas con los resultados de los artículos.
A continuación, se pasó a realizar un tutorial de programación de un modelo LSTM, así como tutoriales de PyTorch. Una vez construido el modelo LSTM, se entrenó con el conjunto de datos seleccionado para comparar con los resultados reportados en los artículos. Se ha dedicado bastante tiempo a entender bien todos y cada uno de los parámetros de entrenamiento del modelo para poder razonar correctamente los caminos a seguir para mejorar. A partir de ahí, se han ido proponiendo diferentes variantes con el objetivo de mejorar las anteriores.
Para poder llevar a cabo las ejecuciones en un tiempo razonable, se ha optado por ejecutar el modelo LSTM en un servidor remoto perteneciente al grupo de investigación GSIC/EMIC (grupo en el que estoy trabajando en este proyecto), para lo cual ha sido necesario el acceso por VPN y túnel SSH.
Para poder evaluar correctamente los resultados obtenidos, se han tenido que programar diversos métodos para calcular curvas de errores a partir de datos desnormalizados. Se han programado variantes del predictor tanto univariables como multivariables. Se han elaborado tablas comparativas entre diferentes métodos al estilo de las que se pueden encontrar en la literatura. También se han representado histogramas de la distribución de los errores para evaluarlos, así como cálculos de las probabilidades de error por encima de determinados umbrales. Al encontrar diferencias con los artículos, se han discutido las posibles hipótesis de las diferencias.
También se han probado algunas variantes de LSTM ya programadas para evaluar los resultados que proporcionaban y añadirlos a la comparativa.
Objetivos alcanzados:
- Explorar los conjuntos de datos disponibles para la predicción de capacidad del enlace y seleccionar el más adecuado.
- Explorar las variantes de LSTM utilizadas en la literatura para la predicción de capacidad del enlace, y seleccionar las más adecuadas.
- Entender y programar la variante LSTM seleccionada.
- Reproducir los experimentos con el conjunto de datos y variante de LSTM seleccionados comparando con algunos algoritmos básicos.
- Analizar los resultados y discutir el beneficio de la predicción con LSTM frente al coste computacional de los modelos.
Los avances realizados en este trabajo allanarán el camino en la búsqueda de algoritmos alternativos al LSTM para mejorar la predicción de la capacidad del enlace en trabajos futuros.
Sectores de aplicación:
Este proyecto se encuentra alineado con la línea de investigación sobre aplicación de técnicas de aprendizaje automático para la predicción de distintos parámetros de las redes de ordenadores en la que trabajan los profesores que avalan este proyecto. Dicho trabajo se desarrolla en el contexto del Grupo de Investigación Reconocido de la Universidad de Valladolid GSIC-EMIC al que pertenecen.
Metodología utilizada:
La realización de este proyecto se llevará a cabo adaptando las distintas fases de la metodología de investigación conocida como método de ingeniería de la siguiente forma:
- Observar las soluciones existentes. En la primera fase se estudiarán y analizarán los métodos propuestos en la literatura para la predicción de la capacidad ofrecida por redes móviles con el objetivo de detectar aspectos susceptibles de mejora.
- Proponer una mejor solución. En esta fase se harán propuestas para la mejora de las predicciones de la capacidad ofrecida por redes móviles.
- Desarrollar la nueva solución. En la tercera fase se implementarán las propuestas hechas en la fase anterior para su evaluación.
- Evaluar la nueva solución. Por último, se utilizará la implementación para llevar a cabo la evaluación de la propuesta utilizando datos de medidas de la capacidad de redes móviles reales. Los resultados serán comparados con los de las propuestas ya existentes en la literatura.
Opinión sobre la experiencia investigadora desarrollada:
La experiencia, por mi parte, ha sido muy positiva. He dado mis primeros pasos en el ámbito de la investigación a la par que he desarrollado mi Trabajo de Fin de Grado, por lo que he aprendido mucho, tanto en lo que se refiere a tecnologías como a técnicas y metodología de trabajo. Estoy muy agradecido con mis tutores y profesores que han estado constantemente encima de mí a lo largo del desarrollo del proyecto. En definitiva, estoy plenamente satisfecho con esta experiencia.