Resumen
El aprendizaje automático (en inglés, machine learning) es una rama de la ciencia computacional y de la inteligencia artificial que se encarga de simular el proceso de aprendizaje en ordenadores. Esto se logra mediante el uso de algoritmos especializados, capaces de extraer propiedades intrínsecas de datos sin procesar. A partir de los patrones presentes en los datos, los algoritmos generan modelos de actuación que les permiten tomar decisiones aparentemente subjetivas. En lo que se conoce como aprendizaje automático supervisado es necesario entrenar al algoritmo para que genere un modelo válido. Para ello, se muestra al algoritmo lo que se espera que obtenga al procesar lo que se conoce como unos datos de entrenamiento. Una vez aprenda estos datos de entrenamiento, se espera que este modelo sea capaz de procesar correctamente datos similares a los de entrenamiento. Una de las principales aplicaciones del aprendizaje automático supervisado son las tareas de clasificación visual, ámbito en el que se desarrolla este Trabajo de Fin de Grado (TFG). Para una imagen como dato de entrada, el objetivo de la clasificación es asignarle correctamente la clase a la que pertenece dentro de un conjunto determinado de clases. Los algoritmos que resuelven estas tareas de clasificación visual presentan tres elementos fundamentales: Una función de puntuación, encargada de clasificar cada imagen asignado a cada una de las clases una puntuación. Una función de pérdida, que cuantifica la concordancia entre las predicciones y la clasificación real. Un método de optimización, mediante el cual se tratará de lograr que la clasificación del algoritmo sea lo más parecido a la realidad. El proceso de aprendizaje consistirá entonces en un problema de optimización, en el que se minimizará el valor de la función de pérdida con respecto a los parámetros de la función de puntuación. La validez del modelo será medida mediante lo que se conoce como precisión, que muestra el porcentaje de imágenes correctamente clasificadas. Los algoritmos que se emplean con más frecuencia en los problemas de clasificación de imágenes, como puede ser el reconocimiento facial o en la detección de objetos en la conducción autónoma, son los conocidos como redes neuronales artificiales. Consisten en un conjunto de unidades de procesamiento, dispuestas en un gran número de capas en serie interconectadas entre sí, las cuales trabajan en conjunto para aprender los patrones presentes en las imágenes asociados a cada categoría. En otras palabras, estos modelos pueden entenderse como una función no lineal, la cual depende de múltiples parámetros que se optimizan para obtener el resultado deseado al introducir los datos de entrenamiento. Uno de los grandes retos del aprendizaje automático en los últimos años ha sido mejorar el rendimiento de las redes neuronales. Estudios recientes se han centrado en el que seguramente es el proceso más importante dentro de los algoritmos de aprendizaje automático: la optimización de la función de pérdida. Generalmente, las funciones de pérdida son funciones no-convexas: presentan una superficie con una gran cantidad de mínimos locales y puntos de silla, además de grandes variaciones en la curvatura. Si la red presenta pocos parámetros en comparación con la complejidad de la tarea a resolver (red subparametrizada), alcanzar el mínimo global de la función será muy complicado, si no imposible, en la mayoría de los casos. Por otro lado, si la red está altamente sobreparametrizada, alcanzar un mínimo global es relativamente sencillo y el esfuerzo se centra en la generalización del modelo: la precisión que obtiene en datos que no formaban parte de los datos de entrenamiento. Normalmente existen mínimos locales lo suficientemente profundos como para que la red neuronal sea capaz de aprender. Aun así, sigue siendo un desafío alcanzarlos: la gran cantidad de inicializaciones, métodos de optimización y ajustes en la red hace que sea difícil encontrar la combinación adecuada de los mismos que permita descender adecuadamente por la hipersuperficie que la función de pérdida representa en el espacio de parámetros. Para hacer frente a este problema, en Tilting the playing field: Dynamical loss functions for machine learning (Ruiz-García et al., 2021) se presentó la denominada función de pérdida dinámica. Lo novedoso de esta nueva función es que modifica su superficie durante el entrenamiento, permitiendo que se exploren nuevas regiones del espacio de parámetros en el proceso de aprendizaje. De esta forma, es posible alcanzar mínimos más profundos que logren mejores resultados para distintas configuraciones y combinaciones de los hiperparámetros de una red neuronal. Para un conjunto de datos previamente dividido en clases, la función de pérdida dinámica introduce en una función de pérdida convencional unos factores dependientes del tiempo asociados a cada clase. Al entrenar la red, estos factores fomentan el aprendizaje de una de las clases sobre el resto durante un determinado periodo de tiempo y van oscilando de tal manera que se enfatiza una clase tras otra cíclicamente. La función de pérdida dinámica fue inicialmente implementada en la conocida como función de pérdida de entropía cruzada (en inglés, cross-entropy loss). En redes que no logran encontrar mínimos profundos de la función de pérdida de entropía cruzada estándar, se demostró que la función de pérdida dinámica puede conducir a un incremento de la precisión del modelo. Incluso en redes que ya lograban buenos resultados de aprendizaje (redes sobreparametrizadas), las funciones de pérdida dinámica pueden conducir a una mejor generalización del modelo, entendiéndose como una mejora en el rendimiento ante nuevos datos de entrada. El objetivo de este Trabajo de Fin de Grado es continuar esta línea de investigación, definiendo nuevas funciones de pérdida dinámicas usando como punto de partida el error cuadrático medio (en inglés, mean squared error ), otra de las funciones de pérdida más populares en el aprendizaje automático.