Investigación

Este es mi trabajo de investigación público hasta ahora. Actualmente trabajo en aprendizaje por refuerzo con observabilidad parcial: estados de creencia, modelos del mundo y metaaprendizaje, orientado a sistemas multiagente y a la IA corporeizada. Parte de ello debería hacerse público pronto.

ORCID: 0009-0002-9817-0368

Multi-Agent Reinforcement Learning for Drone-Based Search and Rescue Missions

Trabajo Fin de Máster - Máster en Matemática Industrial

Mi Trabajo Fin de Máster estudia distintas arquitecturas de IA multiagente basadas en aprendizaje por refuerzo, con especial atención a su estabilidad, su comportamiento de convergencia y sus dinámicas de colaboración. El trabajo evalúa estas arquitecturas en entornos de complejidad creciente, diseñados para parecerse a misiones de búsqueda y rescate en las que equipos de drones deben localizar uno o varios objetivos en escenarios nuevos.

El objetivo es identificar una arquitectura de IA que, con las adaptaciones necesarias al mundo real, pudiera llegar a desplegarse más allá de entornos y entradas simplificados. Una parte central del trabajo consiste en distinguir la colaboración y la generalización genuinas de la mera memorización de patrones, analizando al mismo tiempo lo que cada arquitectura revela sobre el aprendizaje, la coordinación y la robustez.

El trabajo ya está terminado y lo compartiré aquí pronto.

Weakly Supervised Segmentation of Macroalgae Through Gradient Analysis in Convolutional Neural Networks and Segment Anything Model

Agosto de 2026, Applied Sciences (MDPI), vol. 16, n.º 17

Este artículo explora una forma práctica de entender qué aprende una red neuronal convolucional cuando distingue entre distintos géneros de macroalgas. En lugar de fijarnos solo en la última capa convolucional, como suele hacer Grad-CAM, analizamos los gradientes de todas las capas intermedias, lo que muestra cómo se complementan los detalles espaciales de las primeras capas y los rasgos semánticos de las más profundas. Después usamos esa información para guiar a SAM2 en la localización y segmentación de las algas a partir únicamente de etiquetas a nivel de imagen.

Más allá de esta aplicación concreta, el trabajo ofrece un marco intuitivo para estudiar las representaciones intermedias de una CNN y sugiere que usar toda la jerarquía puede dar localizaciones más informativas que basarse solo en la capa más profunda, sin dejar de ser competitivo con métodos multicapa consolidados como LayerCAM.

From Token Lists to Graph Motifs: Weisfeiler-Lehman Analysis of Sparse Autoencoder Features

Mayo de 2026, preprint en arXiv (cs.AI)

Colaboré en este preprint, un estudio de interpretabilidad mecanicista. En lugar de leer una característica de un autoencoder disperso (SAE) como una lista de tokens, la modelamos como un grafo de co-ocurrencia de tokens y comparamos características con un núcleo de grafos de tipo Weisfeiler-Lehman.

Sobre un SAE de GPT-2 Small, el agrupamiento revela familias estructurales como secuencias con mucha puntuación, grupos por idioma y plantillas de código. Una línea base de histogramas de tokens puntúa más alto en global, así que la vista en grafos es una lente complementaria, no un sustituto.

Real-Time Aerodynamic Airfoil Optimisation Using Deep Reinforcement Learning with Proximal Policy Optimisation

Noviembre de 2025, Aerospace (MDPI), vol. 12, n.º 11

Este trabajo empezó como mi Trabajo Fin de Grado y acabó convirtiéndose en un artículo publicado. Aplica aprendizaje por refuerzo profundo con Proximal Policy Optimisation (PPO) para optimizar perfiles aerodinámicos en tiempo real en el contexto de las alas adaptativas (morphing wings). El método aprende a cumplir tanto los objetivos aerodinámicos como restricciones geométricas complejas, con un coste computacional bajo y una velocidad de optimización del orden de milisegundos.

El código está disponible en GitHub. Lo escribí cuando todavía estaba aprendiendo mucho sobre desarrollo de software, y buena parte lo implementé a mano en una época en la que las herramientas de programación con IA eran mucho menos capaces, así que el código es, sin duda, mejorable.