Búsqueda óptima de redes neuronales en el contexto de aprendizaje supervisado (2025)
Este proyecto de grado tiene como objetivo desarrollar una metodología que permita, usando criterios estadísticos, realizar la búsqueda de una red neuronal que sea apropiada para resolver un problema dado en el contexto de Aprendizaje de Máquinas Supervisado. Así, partiendo de dos clases de problemas en esta área, de Clasificación y de Regresión, se propondrán dos variantes del mismo método para dar un algoritmo que permita llevar a cabo esta tarea desde un enfoque novedoso. A grandes rasgos, la academia y la industria han concentrado sus esfuerzos en desarrollar técnicas que, dada una estructura de red neuronal, permitan hallar la función de pesos sobre esta estructura que mejor resuelve un problema particular. Sin embargo, esto limita al usuario, pues lo obliga a trabajar con una estructura de grafo fija desde un principio (i.e. la forma de la red neuronal), lo cual es justamente lo que se propone flexibilizar en este trabajo. Para lograr este objetivo, se expondrá una metodología de búsqueda que es computacionalmente eficiente para resolver los problemas de optimización en dos etapas que son de interés: dada una estructura de red encontrar la mejor función de pesos y encontrar la mejor estructura de red entre todas las factibles. Dicha optimización se basa enteramente en búsquedas realizadas con el algoritmo Metropolis-Hastings. Posteriormente se explicará cómo esta metodología permite lograr encontrar modelos, i.e. redes neuronales, que evitan el fenómeno de sobreajuste a los datos; entendiendo esto como una forma de consistencia estadística de la búsqueda que aproxima correctamente la idea de encontrar un “buen” modelo. Ahora, como también es de interés obtener modelos que no sean excesivamente grandes (por costos computacionales, de tiempo, almacenamiento, etc.), se requiere que la metodología balancee los costos y beneficios que se tienen cuando se elige un modelo. Así, para cada tipo de problema se propondrá un teorema que asegure esta consistencia y que sus características permitan que durante la búsqueda se penalicen modelos muy grandes para evitar elegirlos. Como se plantearán estos teoremas de consistencia para los problemas de Aprendizaje Supervisado, se tienen dos casos. En primer lugar, a partir de las ideas de Minimización del Riesgo Estructural en modelos de Clasificación, se han estudiado los teoremas relevantes para llegar resultados sobre el control del tamaño de los modelos basados en la selección de los mismos dentro de secuencias de clases de funciones de clasificación. En este caso, el foco se ha puesto en el estudio de la teoría de Vapnik-Chervonenkis, se ha logrado establecer un teorema que generaliza el Teorema de Riesgo Estructural que se trata en esta teoría. En segunda instancia, se ha realizado una búsqueda y comprensión de parte de la teoría propuesta por David Pollard, la cual generaliza las ideas de Vapnik-Chervonenkis a contextos como el de los problemas de Regresión. Para este caso, se logró obtener un teorema sobre cotas al estilo Vapnik-Chervonenkis y un teorema de Riesgo Estructural adaptado al contexto de este problema. Con los teoremas probados, se llegó a pequeños teoremas/corolarios sobre familias finitas de clases que aseguran una buena aproximación de la solución/modelo entregada por el algoritmo Metropolis-Hastings al mejor modelo que se puede encontrar dentro de las clases disponibles. Esto en términos de la consistencia universal, i.e. evitar el sobreajuste y por ende generalizar bien los datos de entrenamiento. Por último, se ha realizado una implementación del algoritmo Metropolis-Hastings en Python para realizar la búsqueda en los contextos propuestos. Dicha implementación se realizó sobre el paquete Keras y su objetivo es poder servir como herramienta para aquellas personas que quieran usar las ideas expuestas en sus proyectos propios.