scieee AI-readable full text Open interactive document viewer

Aplicación de redes neuronales a la resolución numérica de problemas diferenciales

Guijarro López, Fátima

Abstract

Neural networks emerged as an inspiration from the functioning of the human brain, which motivated their development and evolution. These networks have demonstrated a remarkable ability to approximate complex functions, a capability grounded in the Universal Approximation Theorem. This property has propelled them to become a powerful tool for the numerical solution of complex mathematical problems, such as ordinary differential equations (ODEs), systems of differential equations (SDEs), and partial differential equations (PDEs), which model a wide variety of phenomena in applied sciences and engineering. This work focuses on the design and tuning of neural networks for approximating solutions to differential problems, with special emphasis on the impact that parameter selection has on the model’s behavior, performance, and fitting capability. It also delves into Physics-Informed Neural Networks (PINNs), which directly incorporate physical laws into the training process, resulting in more accurate solutions. The implementations are carried out in Python using the PyTorch and TensorFlow libraries, applying these techniques to both forward and inverse problems. Finally, the potential of PINNs is highlighted as an innovative and evolving technique that offers a fast and efficient way to approximate solutions to differential equations that describe real-world phenomena in diverse fields such as physics, biology, engineering, and more.

Full text

Universidad de Sevilla Facultad de Matem´ aticas Trabajo Fin de Grado Grado en Matem´ aticas Aplicaci´on de redes neuronales a la resoluci´on num´erica de problemas diferenciales Application of neural networs to the numerical approximation of differential problems F´ atima Guijarro L´ opez Tutor Anna Doubova Krasotchenko Dpto. Ecuaciones Diferenciales y An´ alisis Num´ erico. Abstract Neural networks emerged as an inspiration from the functioning of the human brain, which motivated their development and evolution. These networks have demonstrated a remarkable ability to approximate complex functions, a capability grounded in the Universal Approximation Theorem. This property has propelled them to become a powerful tool for the numerical solution of complex mathematical problems, such as ordinary differential equations (ODEs), systems of differential equations (SDEs), and partial differential equations (PDEs), which model a wide variety of phenomena in applied sciences and engineering. This work focuses on the design and tuning of neural networks for approximating solutions to differential problems, with special emphasis on the impact that parameter selection has on the model’s behavior, performance, and fitting capability. It also delves into Physics-Informed Neural Networks (PINNs), which directly incorporate physical laws into the training process, resulting in more accurate solutions. The implementations are carried out in Python using the PyTorch and TensorFlow libraries, applying these techniques to both forward and inverse problems. Finally, the potential of PINNs is highlighted as an innovative and evolving technique that offers a fast and efficient way to approximate solutions to differential equations that describe real-world phenomena in diverse fields such as physics, biology, engineering, and more. Resumen Las redes neuronales surgieron como una inspiraci´ on en el funcionamiento del cerebro humano, lo que motiv´ o su desarrollo y evoluci´ on. Estas redes han demostrado una notable capacidad para aproximar funciones complejas, cuyos fundamentos se basan en el Teorema de Aproximaci´ on Universal. Esta propiedad las ha impulsado a ser una herramienta poderosa para la resoluci´ on num´ erica de problemas matem´ aticos complejos, como las ecuaciones diferenciales ordinarias (EDO), sistemas de ecuaciones diferenciales (SDO) y ecuaciones en derivadas parciales (EDP), que modelan una amplia variedad de fen´ omenos en ciencias aplicadas e ingenier´ ıa. En este trabajo se estudia el dise˜ no y ajuste de redes neuronales para la aproximaci´ on de soluciones de problemas diferenciales, haciendo especial ´ enfasis en el impacto que tiene la elecci´ on de par´ ametros sobre el comportamiento, rendimiento y capacidad de ajuste del modelo. Se profundiza tambi´ en en las Physics-Informed Neural Networks (PINNs), que incorporan directamente las leyes f´ ısicas en el proceso de entrenamiento, logrando soluciones m´ as precisas. Las implementaciones se realizan en Python mediante las librer´ ıas PyTorch y TensorFlow, aplicando estas t´ ecnicas tanto a problemas directos como inversos. Finalmente, se destaca el potencial de las PINNs como una t´ ecnica innovadora y en evoluci´ on, que ofrece una forma r´ apida y eficiente de aproximar soluciones de ecuaciones diferenciales que describen fen´ omenos reales en campos tan diversos como la F´ ısica, Biolog´ ıa, Ingenier´ ıa, etc. Agradecimientos Quiero agradecer, en primer lugar, a mis padres, mi tata, mi abuela y a toda mi familia por su apoyo incondicional durante todos estos a˜ nos. Gracias por estar siempre ah´ ı, por animarme en los momentos dif´ ıciles y por alegraros tanto —o incluso m´ as que yo— de cada uno de mis logros. Este Trabajo Fin de Grado tambi´ en es vuestro. A la Facultad de Matem´ aticas (Universidad de Sevilla), gracias por acogerme tan bien desde el principio y brindarme un entorno en el que he podido aprender y descubrir que mi pasi´ on son las matem´ aticas. A todos los profesores que me han acompa˜ nado a lo largo de la carrera, gracias por vuestra dedicaci´ on, por compartir vuestro conocimiento y por inspirarme a seguir aprendiendo cada d´ ıa. Quiero dar las gracias tambi´ en al Departamento de Ecuaciones Diferenciales y An´ alisis Num´ erico de la Universidad de Sevilla, por permitirme realizar este trabajo en su ´ area y por haber despertado en m´ ı un gran inter´ es por esta rama de las matem´ aticas. Gracias a vosotras y vosotros, me llevo una verdadera pasi´ on por este campo. A mis amigos y amigas, gracias por acogerme desde el principio, por estar siempre ah´ ı y por hacer que estos a˜ nos hayan estado llenos de apoyo, risas y momentos inolvidables. Y, por ´ ultimo, a mi tutora, Anna Doubova Krasotchenko, gracias por tu ayuda y por acompa˜ narme durante todo el proceso de este trabajo sobre la aplicaci´ on de redes neuronales a la resoluci´ on de problemas diferenciales. Tambi´ en quiero darte las gracias por haberme propuesto un tema tan interesante. Desde el principio me ha gustado mucho, he aprendido un mont´ on y, lo m´ as importante, nunca se me ha hecho pesado. Al contrario, siempre he tenido ganas de seguir investigando porque me parec´ ıa muy curioso y cada vez quer´ ıa saber m´ as. Gracias por ser mi tutora y por hacer que este trabajo haya sido una experiencia tan positiva. Estar´ e siempre totalmente agradecida, F´ atima Guijarro L´ opez 1 ´ Indice Introducci´on 6 1. Fundamentos 8 1.1. Historia ........................................... 8 1.2. Inspiraci´ on del modelo .................................. 12 1.3. Redes neuronales que aprenden de la experiencia del mundo f´ ısico ........ 15 2. Conceptos previos 18 2.1. ´ Algebra lineal ....................................... 18 2.2. C´ alculo diferencial .................................... 20 2.2.1. Diferenciaci´ on autom´ atica ............................ 23 2.3. An´ alisis y topolog´ ıa .................................... 29 2.4. Ecuaciones en derivadas parciales ........................... 34 2.5. Optimizaci´ on ....................................... 37 3. Redes Neuronales Artificiales 43 3.1. Estructura ......................................... 43 3.2. Entrenamiento de la red ................................. 48 3.2.1. Funci´ on de p´ erdida ................................ 49 3.2.2. Backpropagation .................................. 50 3.2.3. Algoritmos de optimizaci´ on ........................... 53 3.2.4. Ejemplo ...................................... 58 3.3. Hiperpar´ ametros ..................................... 61 3.3.1. Funci´ on de activaci´ on .............................. 61 3.3.2. Inicializaci´ on de par´ ametros .......................... 65 3.3.3. Regularizaci´ on .................................. 66 3.3.4. N´ umero de capas ocultas, neuronas por capa y ´ epocas ........... 68 3.4. Teorema de Aproximaci´ on Universal .......................... 69 3.5. PINNs ........................................... 73 4. Ajuste y aproximaci´on de EDOs y EDPs 77 4.1. Caso de una EDO ..................................... 77 4.2. Caso de un SDO ...................................... 84 5. Aproximaci´on usando PINNs y la implementaci´on con Python 87 5.1. PyTorch y TensorFlow .................................. 87 5.2. Caso de una EDO ..................................... 89 2 5.3. Caso de un SDO ...................................... 96 5.4. Caso de una EDP ..................................... 99 5.4.1. Problema directo ................................. 99 5.4.2. Problema inverso .................................102 5.5. Extensiones y aplicaciones ................................104 Bibliograf´ıa 107 3 ´ Indice de figuras 1.1. Warren McCulloch. .................................... 8 1.2. Walter Pitts. ........................................ 8 1.3. Frank Rosenblatt. ..................................... 9 1.4. Simple Neural Network-Deep Learning Neural Network. .............. 11 1.5. Geoffrey Hinton. ..................................... 11 1.6. Conexi´ on redes neuronales artificiales y cerebro humano. .............. 12 1.7. Partes de una neurona y sinapsis. ............................ 13 1.8. Representaci´ on de una red neuronal biol´ ogica y una artificial. ........... 13 1.9. Perceptr´ on. ......................................... 14 1.10. Red convolucional. .................................... 14 1.11. Red Recurrente. ...................................... 14 1.12. Aplicaciones Redes Neuronales Artificiales. ...................... 16 2.1. Comparaci´ on entre los distintos m´ etodos de diferenciaci´ on. ............ 24 2.2. Rastro de evaluaci´ on. ................................... 25 2.3. Rastros de evaluaci´ on tangente y adjunto. ....................... 28 2.4. Representaci´ on visual del algoritmo de descenso del gradiente. .......... 41 3.1. Estructura de una neurona con tres entradas en una red neuronal. ......... 45 3.2. Representaci´ on matricial entre capa de entrada e intermedia. ........... 45 3.3. Red neuronal con dos capas ocultas. .......................... 46 3.4. Consecuencias al elegir el learning rate.......................... 54 3.5. Comparaci´ on de la convergencia entre las variantes del descenso del gradiente. . 56 3.6. Gr´ afica para x∈[−1, 1]y expresi´ on de la funci´ on Xu, dado u=0. ......... 61 3.7. Gr´ afica de la funci´ on sigmoide f(x)para x∈[−6, 6]................. 62 3.8. Gr´ afica de la funci´ on σ=tanh(x)para x∈[−6, 6]................... 63 3.9. Gr´ afica de la funci´ on ReLU para x∈[−1, 1]...................... 64 3.10. Gr´ afica de la funci´ on Swish con β=1 (izquierda) y su comparaci´ on con distintos valores de β(derecha). .................................. 64 3.11. Aproximaci´ on de la soluci´ on de la ecuaci´ on diferencial y′′(x) + y(x) = 0 con condiciones iniciales y(0) = 0, y′(0) = 1 usando tres m´ etodos de inicializaci´ on de pesos: constante, aleatoria y Xavier. ......................... 66 3.12. Comparaci´ on entre desajuste y sobreajuste en la predicci´ on de la soluci´ on de la ecuaci´ on diferencial y′′(x) + y(x) = 0 con condiciones iniciales y(0) = 0, y′(0) = 1 (gr´ aficas arriba) y errores en ambas casos (gr´ aficas abajo). ........ 67 4 3.13. Relaci´ on t´ ıpica entre los errores de entrenamiento y de test (generalization error) y la capacidad. ........................................ 68 3.14. Esquema de una Physics-Informed Neural Network (PINN), cuya funci´ on de p´ erdida combina errores en datos observados, condiciones iniciales y de contorno con el residuo de la ecuaci´ on diferencial. .......................... 74 4.1. Ajuste problema (4.1). .................................. 78 4.2. Representaci´ on de la evoluci´ on del error (izquierda) y el learning rate durante el entrenamiento (derecha) del problema (4.1). ...................... 79 4.3. Estructura simple ([1,1,1]). ................................ 80 4.4. Estructura compleja ([1,70, 70, 70, 70, 1]). ........................ 80 4.5. Resultado obtenido tras 800 iteraciones. ........................ 81 4.6. Resultado obtenido tras 100000 iteraciones. ...................... 81 4.7. Resultados con la funci´ on de activaci´ on ReLU. .................... 82 4.8. Resultados con Ndat =1. ................................. 82 4.9. Datos de entrenamiento para el ajuste. ......................... 83 4.10. Resultados con Ndat =154. ............................... 83 4.11. Resultados con el optimizador Adagrad......................... 84 4.12. Ajuste problema (4.3). .................................. 85 5.1. Soluci´ on aproximada mediante PINN de (5.1). .................... 96 5.2. Soluci´ on aproximada mediante PINN de (5.2). .................... 97 5.3. Entrenamiento de la PINN para el problema (5.3). ..................101 5.4. Soluci´ on aproximada mediante PINN de (5.3). ....................101 5.5. Entrenamiento de la PINN para el problema (5.4). ..................103 5.6. Soluci´ on aproximada mediante PINN de (5.4). ....................104 5.7. Ecuaci´ on de ondas, ∂2u ∂t2=c2∂2u ∂x2, definida en un dominio unidimensional.. . . . 105 5.8. Soluci´ on exacta, aproximaci´ on mediante PINN, y error absoluto en t=0.5 para la ecuaci´ on de ondas, ∂2u ∂t2=c2∂2u ∂x2+∂2u ∂y2, definida en un dominio bidimensional..............................................105 5.9. Aproximaci´ on de la soluci´ on del sistema de Lorenz con PINN y ajuste supervisado.105 5.10. Entrenamiento de la PINN para el modelo de Fisher-Kolmogorov, descrito por la ecuaci´ on ∂u ∂t=D∂2u ∂x2+r u(1−u)............................106 5.11. Soluci´ on aproximada por diferencias finitas y aproximaci´ on mediante PINN para el modelo de Fisher-Kolmogorov, dado por la ecuaci´ on ∂u ∂t=D∂2u ∂x2+r u(1−u).106 5 Cap´ ıtulo 1. Fundamentos 12 para diversas aplicaciones, desde el reconocimiento de voz y de im´ agenes hasta la automatizaci´ on de tareas en industrias como la salud, los veh´ ıculos autom´ aticos y la rob´ otica. Su historia ha sido una evoluci´ on10 fascinante desde sus primeras ideas en la teor´ ıa hasta su actual uso convirti´ endose en una de las ´ areas m´ as revolucionarias en la inteligencia artificial moderna. 1.2. Inspiraci´on del modelo Las redes neuronales artificiales son un tipo de modelo inform´ atico que se inspira en el funcionamiento del cerebro humano. En la Figura 1.6 puede observarse esta conexi´ on. Ambas comparten la idea de procesar informaci´ on a trav´ es de unidades interconectadas, llamadas neuronas. En el caso del cerebro, las neuronas se comunican mediante impulsos el´ ectricos y sinapsis, cuyo resultado es la capacidad de pensar, sentir e interactuar con el mundo exterior; en cambio, las neuronas de las redes neuronales artificiales est´ an conectadas a trav´ es de ”pesos”que determinan la intensidad de la se˜ nal que pasa entre ellas. Todas ellas trabajan juntas para realizar tareas como el reconocimiento de patrones, clasificaci´ on y predicci´ on. Figura 1.6: Conexi´ on redes neuronales artificiales y cerebro humano. Fuente: Ingenier´ ıa Mec´ anica y Aprendizaje Profundo: Conectando a trav´ es de Redes Neuronales - Ing. Olver. La intrincada estructura de la neurona biol´ ogica tiene distintas componentes: el cuerpo celular, las dentritas y el ax´ on, tal y como observamos en la Figura 1.7. El cuerpo celular, donde se encuentra el n´ ucleo y otros org´ anulos, es el responsable de la generaci´ on de energ´ ıa y s´ ıntesis de prote´ ınas. Las dentritas se extienden desde el cuerpo celular en forma de rama, recibiendo se˜ nales de las distintas neuronas y el ax´ on es el encargado de llevar esas se˜ nales desde el cuerpo celular hasta otras neuronas o m´ usculos. La comunicaci´ on se produce a trav´ es de la transmisi´ on sin´ aptica y es maleable, permitiendo cambios en la intensidad y eficacia de las conexiones en funci´ on de la experiencia y el aprendizaje. 10”The Deep Learning Revolution”de Terrence J. Sejnowski [1] cubre no solo el presente y futuro del deep learning, sino tambi´ en una perspectiva hist´ orica profunda sobre c´ omo las redes neuronales artificiales han evolucionado a lo largo del tiempo. ”Neural Networks and Deep Learning: A Textbook”de Charu Aggarwal [36] se centra en los aspectos pr´ acticos de deep learning y tambi´ en ofrece un an´ alisis hist´ orico que cubre los avances clave en las redes neuronales a lo largo de las d´ ecadas. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 1. Fundamentos 13 Figura 1.7: Partes de una neurona y sinapsis. Fuente: Imagen publicada bajo licencia CC0 en Wikipedia Commons. Las redes neuronales artificiales tambi´ en tienen una estructura fundamental an´ aloga compuesta de m´ ultiples neuronas y capas. Principalmente hay tres tipos de capas: 1. Capa de entrada: recibe los datos de entrada (por ejemplo, caracter´ ısticas de una imagen, texto o sonido). 2. Capas ocultas: realizan el procesamiento intermedio y la transformaci´ on de los datos. 3. Capa de salida: proporciona la predicci´ on o clasificaci´ on final. Figura 1.8: Representaci´ on de una red neuronal biol´ ogica y una artificial. Fuente: UAEH-divulgaci´ on. Cada “neurona” dentro de estas redes toma un conjunto de entradas, las procesa a trav´ es de una funci´ on matem´ atica y genera una salida. Como hemos dicho con anterioridad, la conexi´ on entre las neuronas son los pesos, los cuales son ajustados en funci´ on de los errores cometidos en las predicciones anteriores durante el proceso de aprendizaje, lo que permite que la red “aprenda” de los datos. En la Figura 1.8 se muestran tanto la representaci´ on de la red neuronal biol´ ogica, como la artificial. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 1. Fundamentos 14 Existen muchos tipos 11 de redes neuronales, visto su descubrimiento en cronolog´ ıa en la secci´ on de Historia, algunas de las m´ as comunes son: 1. Perceptr´on (perceptr´on simple, Figura 1.9): es la red neuronal m´ as b´ asica, compuesta por una sola capa de neuronas. Se usa para tareas de clasificaci´ on lineales 12. 2. Redes neuronales profundas (Deep Neural Networks, DNN, Figura 1.4): son redes con m´ ultiples capas ocultas entre la capa de entrada y la capa de salida, lo que les permite aprender representaciones complejas de los datos. 3. Redes convolucionales (Convolutional Neural Networks, CNN, Figura 1.10): inspiradas en el procesamiento visual del cerebro. Son muy efectivas para el procesamiento de im´ agenes y datos visuales. 4. Redes recurrentes (RNNs, Figura 1.11): imitan la memoria a corto plazo. Son ´ utiles para tareas secuenciales, ya que tienen conexiones que permiten que la informaci´ on fluya a lo largo del tiempo. Figura 1.9: Perceptr´ on. Fuente: Blog de Jose Mariano ´ Alvarez. Figura 1.10: Red convolucional. Fuente: El laberinto de Falken. Figura 1.11: Red Recurrente. Autor: Rodrigo Ledesma. Fuente: Medium. 11”Deep Learning”de Ian Goodfellow, Yoshua Bengio y Aaron Courville [15] explica las bases de las redes neuronales, sino una serie de tipos de redes neuronales y sus aplicaciones. Se explican los tipos mencionados en esta secci´ on y otras variantes que son ampliamente utilizadas hoy en d´ ıa. 12Problemas de clasificaci´ on donde los datos de entrada se pueden separar mediante una funci´ on lineal, que tiene la forma general: w1x1+w2x2+· · · +wnxn+b=0. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 1. Fundamentos 15 Todo ello nos permite concluir que aunque las redes neuronales artificiales se inspiran en el cerebro humano mostrando una estructura b´ asica similar a las neuronas, un procesamiento distribuido, el aprendizaje a trav´ es de la experiencia y la plasticidad neuronal, el cerebro humano, un ´ organo complejo y deslumbrante, est´ a compuesto por aproximadamente 86 mil millones de neuronas interconectadas lo que hace que posea una estructura altamente compleja que le permite realizar procesos cognitivos avanzados. Las redes neuronales artificiales son modelos matem´ aticos simplificados que, aunque imitan parcialmente la forma en que el cerebro procesa informaci´ on, carecen de la flexibilidad y la inteligencia general del cerebro humano. En resumen, las redes neuronales artificiales siguen teniendo una capacidad limitada en comparaci´ on con las capacidades cognitivas del ser humano. 1.3. Redes neuronales que aprenden de la experiencia del mundo f´ısico Las redes neuronales artificiales (RNA) han surgido como herramientas altamente eficaces en una amplia gama de aplicaciones, ver [36] y [15], como se puede observar en la Figura 1.12, especialmente en la predicci´ on de soluciones a problemas complejos que involucran grandes cantidades de datos. Sin embargo, la resoluci´ on de problemas diferenciales, en particular los no lineales que en general, no tienen una soluci´ on anal´ ıtica, puede ser extremadamente desafiante. Una de las ´ areas m´ as prometedoras de aplicaci´ on de las RNA es la predicci´ on de soluciones de ecuaciones diferenciales, las cuales son fundamentales para modelar una enorme cantidad de fen´ omenos naturales y procesos en campos como la f´ ısica, la ingenier´ ıa, la biolog´ ıa, la econom´ ıa, entre otros. Tradicionalmente, las aproximaciones de soluciones de ecuaciones diferenciales se obtienen mediante m´ etodos num´ ericos cl´ asicos, como el m´ etodo de los elementos finitos o los m´ etodos de diferencias finitas, que requieren discretizar el dominio del problema, pero este enfoque puede resultar ineficiente o poco pr´ actico en casos complejos o de alta dimensi´ on. No obstante, con el avance de la inteligencia artificial, las redes neuronales artificiales han comenzado a ofrecer un enfoque alternativo e innovador, donde modelos entrenados pueden aprender directamente a aproximar las soluciones de ecuaciones diferenciales de manera eficiente y con mayor flexibilidad a partir de datos, incluso sin una formulaci´ on expl´ ıcita de la ecuaci´ on. La capacidad para aprender patrones en los datos las hace muy vers´ atiles para modelar la soluci´ on, especialmente en problemas no lineales y de alta complejidad. A trav´ es del proceso de entrenamiento, la red neuronal puede aprender a asociar entradas (como condiciones iniciales, de contorno o par´ ametros del problema) a las salidas que corresponden a las soluciones de las ecuaciones. Construye una funci´ on que, satisface las restricciones impuestas por la ecuaci´ on diferencial. Este enfoque ha demostrado ser especialmente TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 1. Fundamentos 16 ´ util en ecuaciones en derivadas parciales, que son m´ as complejas debido a la dependencia de m´ ultiples variables. Figura 1.12: Aplicaciones Redes Neuronales Artificiales. Mapa Conceptual realizado en Canva. El hecho de predecir estas soluciones tiene implicaciones significativas en diversos campos, muchos de ellos ya mencionados en la Figura 1.12. Algunos ejemplos incluyen: 1. F´ısica Computacional: simulaciones de fen´ omenos f´ ısicos como la din´ amica de fluidos, la transferencia de calor o la mec´ anica cu´ antica. 2. Ingenier´ıa: elasticidad en estructuras, din´ amica de sistemas mec´ anicos o el an´ alisis de sistemas el´ ectricos. 3. Biolog´ıa: propagaci´ on de enfermedades o el crecimiento de poblaciones. 4. Econom´ıa: modelos econ´ omicos complejos (crecimiento econ´ omico, inflaci´ on o mercado de valores). 5. Climatolog´ıa y Meteorolog´ıa: fen´ omenos de cambio clim´ atico, comportamiento atmosf´ erico y sistemas din´ amicos que describen el clima global. 6. Medicina y Ciencias de la Salud 13:propagaci´ on de enfermedades infecciosas, din´ amica 13En 2020, la empresa Insilico Medicine us´ o una red neuronal para dise˜ nar un medicamento que podr´ ıa tener potencial para tratar el c´ ancer de pulm´ on y otras enfermedades. Esta IA aceler´ o el proceso de descubrimiento en solo 18 meses, un proceso que normalmente habr´ ıa tomado m´ as tiempo. - El uso de CNNs en la detecci´ on de c´ ancer de mama. Un estudio de 2020 demostr´ o que un sistema de IA basado en redes neuronales fue capaz de identificar tumores en mamograf´ ıas con una tasa de precisi´ on de hasta 94.6 %, superando a los radi´ ologos en algunos casos. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 1. Fundamentos 17 de los f´ armacos en el cuerpo, o neurociencia computacional. Una t´ ecnica avanzada en este contexto es el uso de Physics-Informed Neural Networks (PINNs), que son una extensi´ on de las redes neuronales tradicionales. Las PINNs no solo aprenden de los datos de entrada y salida, sino que incorporan directamente la informaci´ on de las ecuaciones diferenciales en la funci´ on de p´ erdida durante el proceso de entrenamiento. Esto les permite cumplir con las restricciones f´ ısicas del problema, como las condiciones iniciales y de contorno de las ecuaciones diferenciales, mejorando significativamente la precisi´ on de las soluciones generadas. Este resumen introduce la idea general de las redes neuronales aplicadas a la aproximaci´ on de soluciones de ecuaciones diferenciales y en los pr´ oximos cap´ ıtulos se abordar´ a en detalle el funcionamiento de las PINNs, su capacidad para resolver ecuaciones diferenciales, y c´ omo se entrenan estas redes para obtener soluciones que respeten las leyes f´ ısicas. Muy posiblemente, este enfoque har´ a que en los pr´ oximos a˜ nos sea una parte integral de la soluci´ on a desaf´ ıos cient´ ıficos y t´ ecnicos en m´ ultiples disciplinas y esencial en el progreso tecnol´ ogico que estamos viviendo. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas 2Conceptos previos El presente cap´ ıtulo se dedica a la descripci´ on de los conceptos matem´ aticos previos provenientes de diversas ´ areas de conocimiento, relacionados con el c´ alculo diferencial, la optimizaci´ on, el ´ algebra lineal, el an´ alisis y las ecuaciones en derivadas parciales, necesarios para comprender y trabajar con redes neuronales artificiales. A continuaci´ on, se presentar´ a un breve resumen de todos estos puntos, sin profundizar en exceso, pero proporcionando libros en la bibliograf´ ıa que detallan cada tema con mayor precisi´ on. 2.1. ´ Algebra lineal A continuaci´ on, se mencionan algunos conceptos fundamentales del ´ algebra lineal, esenciales para comprender los m´ etodos y t´ ecnicas utilizados en redes neuronales. En particular, conceptos1como vectores, matrices, espacios vectoriales y determinantes son fundamentales para comprender c´ omo funcionan los algoritmos de optimizaci´ on en redes neuronales, especialmente en la propagaci´ on hacia adelante por la red, la retropropagaci´ on y la optimizaci´ on de pesos. El conjunto de n´ umeros reales Rconstituir´ a la mayor parte de los espacios de trabajo a utilizar2, ya que, en su forma m´ as b´ asica, los valores de entrada de una red neuronal artificial provienen de R, y estos se utilizan para calcular una salida mediante una serie de operaciones matem´ aticas, como sumas, multiplicaciones, funciones de activaci´ on, entre otras. Al conjunto de reales positivos lo denotaremos por R+={x∈R:x>0}. Tambi´ en ser´ a considerado como cuerpo algebraico (R,+,·)o como espacio vectorial (R,+,·R)con las operaciones usuales; pero por abuso de notaci´ on nos referiremos a ambas como R. Se supone conocido que el espacio vectorial Rde dimensi´ on finita n∈Nes isomorfo algebraicamente a Rn(por tan1Consultar [8]y[39] para una exposici´ on detallada de estos conceptos. 2Una red neuronal puede recibir entradas en Rn, con n≥1. En el caso n=2, la entrada es un vector bidimensional, lo cual es ´ util en aplicaciones donde los datos tienen una representaci´ on en dos dimensiones, como coordenadas espaciales o im´ agenes. Adem´ as, las redes pueden aproximar funciones definidas sobre R2. Dado que cada punto en el plano complejo Cpuede identificarse con un punto en R2, existe un isomorfismo entre ambos espacios. Esta correspondencia se aprovecha en redes neuronales que emplean transformaciones complejas. 18 ”Las redes neuronales son la piedra angular de la inteligencia artificial.” Yann LeCun Cap´ ıtulo 2. Conceptos previos 19 to, se puede generalizar toda la teor´ ıa del documento a cualquier espacio vectorial eucl´ ıdeo (Definici´ on 2.19). Los vectores3que usaremos los denotaremos por v= (v1, . . . , vn)∈Rn, donde vi∈Rpara cada i∈ {1, . . . , n}indicar´ an las componentes del vector vy consideraremos una cierta base algebraica {u1, . . . , un}prefijada sobre Rn(normalmente tomaremos la base can´ onica). Estos vectores son elementos del espacio vectorial (Rn,+,·R)con las operaciones usuales, que ser´ a referido simplemente como Rn. Las columnas de las expresiones matriciales que utilizaremos estar´ an formadas por estos vectores. Una matriz es una disposici´ on rectangular de n´ umeros organizados en filas y columnas. En el contexto de las redes neuronales, una matriz representa los pesos de la red. Cada elemento wij de la matriz Wrepresenta el peso de la conexi´ on entre la neurona j-´ esima de una capa y la neurona i-´ esima de la capa siguiente. W=       w11 w12 · · · w1m w21 w22 · · · w2m . . .. . ..... . . wn1wn2· · · wnm        . El concepto de pesos de la red neuronal se tratar´ aenelCap´ ıtulo 3. El determinante de una matriz cuadrada es un concepto importante, que ofrece informaci´ on sobre ciertas propiedades de la matriz, como la invertibilidad y el volumen (en el caso de transformaciones lineales). El determinante de las matrices de pesos puede proporcionar informaci´ on sobre la estabilidad de la red. Un determinante cercano a cero podr´ ıa indicar que la red est´ a cerca de un punto de inestabilidad, lo que podr´ ıa afectar negativamente el proceso de entrenamiento, ya que peque˜ nos cambios en las entradas podr´ ıan producir grandes cambios en las salidas. Mencionaremos que la multiplicaci´ on de matrices y vectores, es un paso fundamental en el proceso de c´ alculo de las salidas de las redes neuronales. En concreto, la propagaci´ on hacia adelante, involucra una operaci´ on de multiplicaci´ on matricial y adici´ on de vectores. El espacio vectorial de aplicaciones escalares Acon las operaciones usuales de evaluaci´ on elemento a elemento, as´ ı como los subespacios vectoriales de especial inter´ es de A, tales como las aplicaciones lineales y las aplicaciones continuas (Secci´ on 2.3), sentar´ an las bases para buena parte del tratamiento matem´ atico que se llevar´ a a cabo en el presente documento. 3El vector nulo lo notaremos por 0∈Rn. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 20 2.2. C´alculo diferencial En esta secci´ on, relacionada con el c´ alculo diferencial4, se explicar´ an de manera concisa los siguientes conceptos: diferencial, el diferencial como aplicaci´ on lineal, la derivada direccional, la derivada parcial, el gradiente, la regla de la cadena como m´ etodo para calcular la derivada de una funci´ on compuesta, y, por ´ ultimo, se abordar´ a la derivaci´ on autom´ atica5. Conocida la definici´ on de derivada de una funci´ on real (una variable) f:R→Ren un punto y de funci´ on derivable, nos centraremos en la derivada de una funci´ on de varias variables de Rn, ya que las redes neuronales artificiales tienen muchos par´ ametros, la salida de la red tambi´ en depende de combinaciones de m´ ultiples variables y la retropropagaci´ on requiere calcular las derivadas parciales de la funci´ on de p´ erdida con respecto a cada peso. Todos estos t´ erminos se desarrollar´ an en el Cap´ ıtulo 3. A partir de ahora, se denotar´ a de manera expl´ ıcita la composici´ on de aplicaciones con ◦. Podemos definir las derivadas para cualquier direcci´ on. Definici´on 2.1 Para cada vector normalizado v∈Rn,∥v∥=1, denominaremos derivada direccional de fen aseg´ un la direcci´ on factible6v, y lo denotamos por Dvf(a), al l´ ımite, si existe, Dvf(a):=l´ ım λ→0 f(a+λv)−f(a)) λ=d dλ[f(a+λv)] λ=0. N´ otese que si denotamos por ei,i=1, . . . , n, a los vectores de la base can´ onica de Rn, entonces Deif(a) = ∂f(a) ∂xi . La existencia de derivadas direccionales no garantiza ni siquiera la continuidad de la funci´ on. Definici´on 2.2 Sea Ωun subconjunto abierto de Rn,a∈Ωyfuna funci´ on f:Ω⊂Rn→Rm. La derivada parcial7i-´ esima (1 ≤i≤n) de fen a,Dif(a)´ o∂f(a) ∂xise define como el l´ ımite: Dif(a):=∂f(a) ∂xi =l´ ım xi→ai f(a1, . . . , ai−1,xi,ai+1, . . . , an)−f(a1, . . . , ai, . . . , an) xi−ai = l´ ım h→0 f(a1, . . . , ai−1,xi,ai+1, . . . , an)−f(a1, . . . , ai, . . . , an) h si existe. 4Consultar [8] para ampliar los conceptos que se explicar´ an en las p´ aginas siguientes. 5T´ ecnica esencial en el entrenamiento de redes neuronales artificiales, cuyo prop´ osito principal es calcular de manera eficiente las derivadas necesarias para el algoritmo de retropropagaci´ on (backpropagation). 6Dados un conjunto Ω⊂Rny un punto a∈Ω, un vector no nulo v∈Rn\ {0}se dice direcci´ on factible en asi existe un n´ umero real α0∈R+tal que a+αv∈Ωpara todo α∈[0, α0]. Importante mencionar que todo vector v∈Rn\ {0}es direcci´ on factible en el sentido de la definici´ on anterior, cualesquiera a∈int(Ω)punto interior en Ω⊂Rn. La demostraci´on se obtiene utilizando la caracterizaci´ on del interior de un conjunto y la Definici´ on 2.18. 7As´ ı se denominan a las correspondientes derivadas en el punto a,Duif(a), para i∈ {1, . . . , n}, fijada ya una base algebraica {u1,u2, . . . , un}sobre Rn. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 21 Definamos ahora la diferenciabilidad de la siguiente forma: Definici´on 2.3 Sea Ωun subconjunto abierto de Rn, y a∈Ω. Una funci´ on f:Ω⊂Rn→Rm es diferenciable en asi existe una aplicaci´ on lineal de Rnen Rm, a la que denotaremos por D f (a), tal que l´ ım x→a f(x)−f(a)−D f (a)(x−a) ∥h∥=0. Lo anterior suele escribirse como f(a+h)−f(a)) −D f (a)(h) = o(∥h∥), donde usamos el s´ ımbolo opeque˜ no, que significa que l´ ım h→0 o(∥h∥) ∥h∥=0, donde se entiende que cada una de las componentes del vector o(∥h∥)∈Rmtiende a cero m´ as r´ apido que ∥h∥cuando h→0. La existencia de las derivadas parciales da lugar a conceptos fundamentales como la matriz Jacobiana y el gradiente. La matriz asociada a la aplicaci´ on lineal D f (a)recibe el nombre de matriz Jacobiana de f en a, y su determinante, el jacobiano, J f (a), de fen a: D f (a) =     ∂f1(a) ∂x1 ∂f1(a) ∂x2. . . ∂f1(a) ∂xn . . .. . ..... . . ∂fm(a) ∂x1 ∂fm(a) ∂x2. . . ∂fm(a) ∂xn     . Otro concepto importante es el de gradiente de una funci´ on; pero antes mencionaremos la regla de la cadena como principio aplicable en el c´ alculo de gradientes en redes neuronales, donde las funciones son usualmente compuestas. Teorema 2.4 (Regla de la Cadena). Sean f :U⊂Rn→Rmy g :V⊂Rm→Rk, donde U y V son abiertos tales que f (U)⊂V. Supongamos que f es diferenciable en ay g es diferenciable en f(a). Entonces la funci´on compuesta g ◦f:U⊂Rn→Rkes diferenciable en ay D(g◦f)(a) = Dg(f(a)) ◦D f (a),es decir ∂(g◦f)i(a) ∂xj = m ∑ k=1 ∂gi(f(a)) ∂fk ∂fk(a) ∂xj , donde i =1, . . . , k y j =1, . . . , n. Por lo tanto, si suponemos f:Ω⊂Rn→Rdiferenciable en a. Entonces existen todas sus derivadas parciales (Definicion 2.2). TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 28 En nuestro ejemplo, y=f(x1,x2) = ex1·cos(x2) + x2 2, los adjuntos se pueden ver en la tabla derecha en la Figura 2.3, corresponden a cada operaci´ on elemental en en el rastro de evaluaci´ on primal en la Figura 2.2. En resumen, nos interesa calcular c´ omo contribuye el cambio en cada variable vial cambio en la salida y, expresado como ¯ vi=∂y ∂vi. Tomando la variable v0como ejemplo, vemos en la Figura 2.2 que la ´ unica manera en que puede afectar a yes a trav´ es de su influencia en v2yv4, por lo que su contribuci´ on al cambio en yest´ a dada por: ∂y ∂v0 =∂y ∂v2 ·∂v2 ∂v0 +∂y ∂v4 ·∂v4 ∂v0 o, lo que es lo mismo, ¯ v0=¯ v2·∂v2 ∂v0 +¯ v4·∂v4 ∂v0 Seg´ un la tabla derecha en la Figura 2.3, esta contribuci´ on se calcula en dos pasos ¯ v0=¯ v4·∂v4 ∂v0 y¯ v0=¯ v0+¯ v2·∂v2 ∂v0 , esto es coherente con el “rastro de evaluaci´ on”generado por la expresi´ on. Este proceso comienza con ¯ v5=¯ y=∂y ∂y=1. Al final, obtenemos las derivadas ∂y ∂x1=¯ x1y ∂y ∂x2=¯ x2en una sola pasada inversa. Figura 2.3: Rastros de evaluaci´ on tangente y adjunto. Funci´ on f:R×(0, +∞)→Rdada por f(x1,x2) = ex1·cos(x2) + x2 2evaluada en (x1,x2) = (1, π 3).El rastro de evaluaci´ on primal de referencia es el que se mostr´ oenlaFigura 2.2. En el caso, f:Rn→R, una ´ unica aplicaci´ on del algoritmo inverso es suficiente para el c´ omputo completo del gradiente ∇f=∂y ∂x1, . . . , ∂y ∂xn, en comparaci´ on con las nevaluaciones requeridas por el m´ etodo directo. Es por esta raz´ on que ha destacado como principal t´ ecnica de derivaci´ on en aprendizaje autom´ atico (“machine learning”), pues en este ´ ambito resulta com´ un la necesidad de determinar el gradiente de una funci´ on dependiente de un gran n´ umero de variables de entrada y par´ ametros. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 29 Como el “forward mode”, este m´ etodo acumulativo inverso tambi´ en permite calcular productos traspuestos Jacobiano-vector, inicializando con ¯ y=r. Df·r=    ∂y1 ∂x1· · · ∂ym ∂x1 . . ..... . . ∂y1 ∂xn· · · ∂ym ∂xn        r1 . . . rm     . Para m´ as detalles sobre estos m´ etodos y otras t´ ecnicas de diferenciaci´ on autom´ atica, se puede consultar [16]. Esta t´ ecnica de evaluaci´ on y almacenamiento inmediato de las derivadas de cada operaci´ on b´ asica, para luego aplicar la regla de la cadena a los valores derivados acumulados y calcular la derivada de toda la composici´ on se encuentra en multitud de campos como: la din´ amica de fluidos computacional, la mec´ anica estructural, las finanzas, las ciencas atmosf´ ericas y la optimizaci´ on del dise˜ no en ingenier´ ıa. 2.3. An´alisis y topolog´ıa En esta secci´ on se presentan los conceptos y teoremas m´ as importantes en topolog´ ıa y an´ alisis matem´ atico para trabajar con redes neuronales artificiales. Comenzaremos analizando el concepto de espacio m´ etrico y la continuidad del mismo como base para comprender c´ omo los datos se van transformando a trav´ es de la red neuronal. Definici´on 2.8 Un espacio m´ etrico es un par (X,ρ)donde Xes un conjunto y ρ:=ρ(x,y)es una funci´ on real (univaluada) no negativa ρ:X×X→Rdefinida para todos x,y,z∈Xtal que: 1. ρ(x,y) = 0⇐⇒ x=y, 2. ρ(x,y) = ρ(y,x), 3. ρ(x,z)≤ρ(x,y) + ρ(y,z). Definici´on 2.9 Sea (X,ρX)y(Y,ρY)dos espacios m´ etricos, donde ρXyρYson las funciones m´ etricas que definen las distancias en XyY, respectivamente. Una funci´ on f:X→Yse dice que es continua si, para cada ϵ>0, existe un δ>0 tal que, para todos x1,x2∈X, si ρX(x1,x2)<δ, entonces ρY(f(x1),f(x2)) <ϵ. Tambi´ en de gran importancia las definiciones de acotaci´ on y convergencia en estos espacios. Definici´on 2.10 Dada una sucesi´ on (xn)nde elementos de X, diremos que (xn)nes acotada si existe un subconjunto M⊂Xacotado tal que xn∈Mpara todo n∈N. Esto es equivalente a que exista un x∈Xy un n´ umero K>0 tal que ρ(x,xn)<Kpara todo n∈N. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 30 Definici´on 2.11 Una sucesi´ on (xn)nde elementos de Xes convergente, y lo denotaremos por l´ ımn→∞xn=x, si existe un x∈Xtal que para todo ϵ>0 existe un N∈Ntal que para todo n>N, se cumple ρ(x,xn)<ϵ. En caso contrario, diremos que (xn)nes divergente. Una consecuencia de la propia definici´ on es que, si existe el l´ ımite, este es ´ unico. Una propiedad ampliamente conocida es que todo espacio m´ etrico Xes, de hecho, un espacio topol´ ogico; esto es, queda dotado de una topolog´ ıa, denominada topolog´ ıa de la m´ etrica, Tρ (siendo ρla m´ etrica en cuesti´ on). Asimismo, se denota por B(x0,δ)a la bola abierta de centro x0∈Xy radio δ∈R+; es decir, el conjunto B(x0,δ) = {x∈X:ρ(x0,x)<δ}. (2.1) Las bolas abiertas B(x0,ϵ)se suelen denominar ϵ-vecindades (o entornos) de x0. Es evidente que toda ϵ-vecindad de x0contiene al propio x0. Se suele decir que un entorno es peque˜ no si ϵ es peque˜ no. Todos los conceptos, como conjunto abierto, conjunto cerrado, clausura e interior, est´ an bien definidos tanto en los espacios m´ etricos como en los topol´ ogicos. El lector puede profundizar en lo anterior consultando [30]. Otras nociones frecuentes en este ´ area de conocimiento son las de compacto, aplicaci´ on continua y espacio de Hausdorff. Definici´on 2.12 Un espacio topol´ ogico (X,T)se dice compacto si de todo recubrimiento de X por abiertos, se puede extraer un subrecubrimiento finito. Un subconjunto A⊆Xse dice compacto si (A,TA)es compacto. Ahora definimos el concepto de funci´ on continua entre espacios topol´ ogicos para exponer a continuaci´ on la importancia de este en el comportamiento de la red neuronal artificial. Definici´on 2.13 Sean (X,TY)y(Y,TY)dos espacios topol´ ogicos. Una funci´ on f:X→Yse dice continua si, para cada conjunto abierto V∈ TYen Y, la preimagen de Vbajo f, es decir, el conjunto f−1(V) = {x∈X|f(x)∈V}, es un conjunto abierto en X, es decir, f−1(V)∈ TX. En otras palabras, fes continua si la preimagen de cualquier conjunto abierto de Yes un conjunto abierto en X. Esto nos asegura que las funciones de activaci´ on (como ReLU, sigmoide, tanh) sean continuas y garantiza que peque˜ nas variaciones en los datos de entrada generen peque˜ nas variaciones en las salidas de la red, lo que facilita la optimizaci´ on y el entrenamiento. Adem´ as, para la retropropagaci´ on, la cual veremos en el Cap´ ıtulo 3, las derivadas de las funciones son TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 31 esenciales. Esta continuidad nos asegura que las derivadas tengan un correcto comportamiento, no haya discontinuidades que dificulten el proceso de aprendizaje y ayuda a mantener la estabilidad num´ erica durante el entrenamiento, ya que evita comportamientos inestables. En este sentido, se denotar´ a por C(X,Y)al conjunto de aplicaciones continuas entre dos espacios topol´ ogicos (X,TX)y(Y,TY), adem´ as de suponerse conocido que todo espacio m´ etrico con la topolog´ ıa inducida por su m´ etrica es espacio de Hausdorff20. Definici´on 2.14 Se dice que (X,T)tiene la propiedad de Hausdorff, o que es un espacio T2, si dados dos puntos distintos x,y∈X, existen conjuntos abiertos disjuntos U,V∈ T tales que x∈Uyy∈V. Es inmediato probar que si (X,T)tiene la propiedad de Hausdorff, toda sucesi´ on tiene como m´ aximo un punto l´ ımite. Los siguientes resultados21 son fundamental en el contexto en el que vamos a trabajar: Teorema 2.15 (Teorema de Weierstrass) La compacidad se preserva mediante aplicaciones continuas; es decir, dados (X,TX)y(Y,TY)espacios topol´ogicos, K ⊆X un conjunto compacto en (X,TX), y f:X→Y una aplicaci´on continua (f ∈C(X,Y)); se verifica entonces que f (K)⊆Y es un conjunto compacto en (Y,TY). Establece que una red neuronal con suficientes neuronas puede aproximar cualquier funci´ on continua en un espacio compacto. Teorema 2.16 (Heine-Borel) Sea (Rn,T∥·∥)el espacio euclidiano Rncon la topolog´ıa inducida por la norma (Definici´on 2.18). Un subconjunto K ⊂Rnes compacto si y solo si es cerrado y acotado. La proximidad entre elementos tambi´ en es fundamental, para establecer este concepto definiremos conjunto denso. Definici´on 2.17 Sea (X,d)un espacio m´ etrico. Dados A,B⊆X, se dice que Aes denso en Bsi B⊆A, donde Aes la clausura de Aen X. Los espacios m´ etricos se utilizan para representar los datos de entrada de la red, lo cual es muy ´ util para entender el concepto de distancia entre puntos, para analizar el comportamiento de las funciones de activaci´ on y p´ erdida, fundamentales para entrenar modelos de aprendizaje autom´ atico y la compactidad22 es imprescindible para la existencia de ´ optimos en algoritmos de optimizaci´ on. Todos estos conceptos se explicar´ an con detalle en el Cap´ ıtulo 3. Para terminar esta secci´ on del ´ area del an´ alisis, nos resultar´ a de gran inter´ es los espacios normados. 20Para m´ as informaci´ on sobre este y otros conceptos relacionados rem´ ıtase al libro [29]. 21Las demostraciones de ambos teoremas se pueden consultar en [29]. 22Asegura que una funci´ on continua en un conjunto compacto alcanza un m´ ınimo y un m´ aximo, lo cual es relevante para la convergencia de algoritmos de optimizaci´ on. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 32 Definici´on 2.18 Dado un espacio vectorial (X,+,·,K), donde Kes o bien Ro bien Cse denomina espacio normado (X,∥ · ∥)si, para todo x∈X, existe una norma en X, aplicaci´ on ∥ · ∥ :X→Rque cumple con las condiciones: 1. Para todo x∈X,∥x∥ ≥ 0y si ∥x∥=0entonces x=0. 2. Para todo x∈Xyλ∈K,∥λx∥=|λ|∥x∥. 3. Para todos x,y∈Xse tiene la desigualdad triangular: ∥x+y∥ ≤ ∥x∥+∥y∥. Toda norma ∥ · ∥ :X→Rinduce una m´ etrica ρ:X×X→Rdada por ρ(x,y) = ∥x−y∥, para todo x,y∈X. Sin embargo, el rec´ ıproco de esta afirmaci´ on no es cierto en general. Todas las normas ∥ · ∥ en Rn,n∈Nson equivalentes, son topol´ ogicamente equivalentes, esto recibe el nombre de topolog´ ıa de la norma T∥·∥. Por lo tanto, se usar´ a la notaci´ on ∥·∥para referirse a cualquier norma sobre Rn,n∈Ny cuando la norma seleccionada no sea relevante, expresando de forma precisa la bola abierta correspondiente de la expresi´ on (2.1) se denotar´ a por: B(x,δ) = {y∈Rn:∥y−x∥<δ}, para x∈Rnyδ∈R+. A continuaci´ on se describen los espacios normados m´ as utilizados y que est´ an relacionados con las m´ etricas y normas que se emplean tanto en la evaluaci´ on de modelo como en el entrenamiento. Las normas ayudan a medir distancias, optimizar el rendimiento durante el proceso de aprendizaje y a regularizar el modelo. ⋆Sea Rn, con n∈N, y las normas ∥ · ∥1,∥ · ∥2,∥ · ∥∞:Rn→R, denominadas norma 1, norma 2 y norma ∞, respectivamente, las cuales vienen dadas por: ∥x∥1= n ∑ i=1 |xi|,∥x∥2= n ∑ i=1 x2 i!1/2 ,∥x∥∞=m´ ax i∈{1,...,n}|xi|,x= (x1, . . . , xn)∈Rn. ⋆Sean Lp(C),∥ · ∥Lp(C), con p∈ {1, 2, . . . }, y L∞(C),∥ · ∥L∞(C), donde: C⊆Rnes un conjunto medible respecto a la medida de Lebesgue mcon m(C)>0. Se definen los espacios Lp(C) = Mp/∼yL∞(C) = M∞/∼, siendo Mp=f:C→R|fes medible y ZC|f(x)|pdm <+∞,p∈ {1, 2, . . . }, M∞=(f:C→Rmedible |sup x∈C |f(x)|<+∞); TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 33 y∼la relaci´ on de equivalencia est´ a dada por: f∼gsi y solo si f(x) = g(x)casi por doquier en C. Definimos las normas ∥ · ∥Lp(C):Lp(C)→Rpara p∈ {1, 2, . . . }y∥ · ∥L∞(C):L∞(C)→R como: ∥f∥Lp(C)=ZC|f(x)|pdm1/p ,f∈Lp(C), ∥f∥L∞(C)=sup x∈C |f(x)|,f∈L∞(C). En particular, de los Teoremas 2.15 y2.16 se deduce que C(K,R)⊆L∞(K)para cualquier compacto K⊆Rn, y sobre este conjunto puede considerarse tambi´ en la norma ∥ · ∥L∞(K). En redes neuronales artificiales, las normas LpyL∞se utilizan en varias etapas del entrenamiento de la red neuronal y tienen un papel importante en la formulaci´ on y el rendimiento de los modelos, en la regularizaci´ on de los par´ ametros y evitan el sobreajuste23 (overfitting). Ahora explicaremos, como caso particular de los espacios normados, los espacios24 eucl´ ıdeos. Definici´on 2.19 Se dice que (E,+,·R)un R-espacio vectorial es un espacio eucl´ ıdeo 25 si, dados dos elementos cualesquiera x,y∈E, existe un n´ umero denominado producto escalar o producto interno en E, que denotaremos por ⟨x,y⟩, tal que: 1. Para todo x,y∈E,⟨xx,y⟩=⟨y,x⟩. 2. Para todo x,y,z∈E,⟨x+y,z⟩=⟨x,z⟩+⟨y,z⟩. 3. Para todo x,y∈Eyλ∈C,⟨λx,y⟩=λ⟨x,y⟩. 4. Para todo x∈E,x=0, ⟨x,x⟩>0 y si ⟨x,x⟩=0, entonces x=0. Tenemos, por tanto, una aplicaci´ on ⟨·,·⟩ :E×E→Rbilineal, sim´ etrica y definida positiva. Denotaremos al par (E,⟨·,·⟩)espacio (vectorial) eucl´ ıdeo. En un espacio eucl´ ıdeo (E,⟨·,·⟩), la aplicaci´ on ∥·∥:E→Rdada por ∥x∥=p⟨x,x⟩es una norma en E. En particular, (Rn,⟨·,·⟩)es un espacio eucl´ ıdeo con el denominado producto escalar usual ⟨·,·⟩ determinado por el producto componente a componente: ⟨·,·⟩ :Rn×Rn→R, 23El modelo pierde la capacidad de predecir correctamente datos desconocidos al ajustarse demasiado a los datos de entrenamiento. Esto normalmente ocurre cuando el modelo tiene demasiados par´ ametros en comparaci´ on con la cantidad de datos disponibles o cuando el modelo en s´ ı es demasiado complejo. 24Espacios normados sobre el cuerpo de los reales R, dotados, adicionalmente, de un producto escalar (salvo en un conjunto de medida nula). Para informaci´ on, consultar [8], [41]. 25Tambi´ en suele denominarse espacio prehilbertiano. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 34 (x,y) = ((x1, . . . , xn),(y1, . . . , yn))7→ n ∑ i=1 xiyi=x⊤y. La norma eucl´ ıdea ∥ · ∥2es la norma asociada a este producto escalar. Por ´ ultimo, en esta secci´ on, mencionaremos brevemente la convexidad y las funciones convexas, remitiendo al lector al libro [6] para m´ as informaci´ on. Estos conceptos son clave para los algoritmos de optimizaci´ on, como el descenso de gradiente. Si la funci´ on de p´ erdida es convexa, garantiza que los m´ etodos de optimizaci´ on converjan hacia un m´ ınimo global. Aunque la mayor´ ıa de las funciones de p´ erdida en redes neuronales no siempre son estrictamente convexas debido a la no linealidad, la convexidad es ´ util en el an´ alisis de redes neuronales. Definici´on 2.20 Una funci´ on f:Rn→Res convexa si para cualquier par de puntos x1,x2∈ Rny cualquier λ∈[0, 1], se cumple que: f(λx1+ (1−λ)x2)≤λf(x1) + (1−λ)f(x2). Algunas propiedades de las funciones convexas son las siguientes: la composici´ on y la combinaci´ on lineal de funciones convexas tambi´ en son convexas; la derivada (si existe) de una funci´ on convexa es mon´ otona creciente; y su segunda derivada (si es dos veces diferenciable) es no negativa. 2.4. Ecuaciones en derivadas parciales En esta secci´ on se recordar´ an los conceptos fundamentales sobre ecuaciones en derivadas parciales, los cuales nos servir´ an como base para los cap´ ıtulos posteriores. No obstante, el lector puede consultar informaci´ on adicional en [12], [24], [21] y [37] para profundizar en estos conceptos. Definici´on 2.21 Sea N≥1 un entero. Una EDP de segundo orden en las Nvariables independientes x1, . . . , xNes una expresi´ on de la forma Fx1, . . . , xN,u,∂u ∂x1 , . . . , ∂u ∂xN ,∂2u ∂x2 1 , . . . , ∂2u ∂xi∂xj , . . . , ∂2u ∂x2 N=0. donde, para fijar ideas, F:O ⊂ RN2+2N+1→Res una funci´ on continua definida en el abierto no vac´ ıo O. La inc´ ognita use llama tambi´ en variable dependiente. Para simplificar la notaci´ on, es costumbre denotar x= (x1,x2, . . . , xN),u=u(x),Du =∇u=∂u ∂x1 ,∂u ∂x2 , . . . , ∂u ∂xN, (el denominado gradiente de u), y TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 35 D2u=∂2u ∂x2 1 , . . . , ∂2u ∂xi∂xj , . . . , ∂2u ∂x2 N (el denominado Hessiano de u). En general, se denominan ecuaciones en derivadas parciales (EDP) a aquellas ecuaciones que involucran derivadas parciales de una funci´ on desconocida de dos o m´ as variables independientes. El orden de una EDP est´ a determinado por el orden m´ as alto de las derivadas parciales que aparecen en la ecuaci´ on. Las ecuaciones en derivadas parciales (EDP) son fundamentales en diversos campos como la F´ ısica, la Ingenier´ ıa, y las Ciencias Aplicadas, ya que modelan una amplia variedad de fen´ omenos. La mayor´ ıa de las EDPs m´ as comunes son lineales; sin embargo, las EDPs no lineales tambi´ en desempe˜ nan un papel importante y est´ an presentes en numerosos problemas complejos. Las EDPs lineales tienen la forma: − N ∑ i,j=1 aij(x)∂2u ∂xi∂xj + N ∑ i=1 bi(x)∂u ∂xi +c(x)u=f(x), donde a,b,cyfson funciones dadas. Tambi´ en son importantes las condiciones de frontera para determinar una soluci´ on ´ unica. Estas condiciones especifican el comportamiento de la funci´ on desconocida uen los l´ ımites del dominio de las variables independientes. Las condiciones m´ as comunes son: condiciones de Dirichlet (especifican el valor de la funci´ on en la frontera, es decir, u(x) = g(x)), condiciones de Neumann (especifican el valor de la derivada normal de la funci´ on en la frontera, es decir, ∂u ∂n= h(x)) y condiciones de Robin (una combinaci´ on de las condiciones de Dirichlet y Neumann). En el contexto de las EDPs, una soluci´ on d´ ebil es una generalizaci´ on de la soluci´ on cl´ asica26 que no requiere que la funci´ on sea diferenciable en todo el dominio, lo cual resulta relevante para las redes neuronales artificiales y las PINNs, ya que las soluciones obtenidas por redes neuronales no siempre son suaves, pero pueden ser interpretadas como soluciones d´ ebiles. Un resultado importante en este campo es el Teorema de Lax-Milgram, que garantiza la existencia y unicidad de una soluci´ on d´ ebil para ciertas clases de EDPs lineales bajo condiciones espec´ ıficas, como la coercividad y continuidad del funcional27 asociado. Este teorema es fundamental para el an´ alisis de la existencia de soluciones en problemas de EDPs lineales. Para m´ as detalles sobre estas nociones y su aplicaci´ on a las PINNs, el lector puede consultar [12]y[40]. Para concluir esta secci´ on, se abordar´ a el concepto de operador diferencial y su aplicaci´ on 26Funci´ on u(x)que satisface la ecuaci´ on en todo su dominio Ωde forma puntual, es decir, u(x)debe ser diferenciable las veces necesarias en cada punto del dominio, de acuerdo con el orden de las derivadas involucradas en la EDP. Adem´ as, esta funci´ on debe cumplir la ecuaci´ on diferencial de manera exacta en cada punto de su dominio. 27Funci´ on que toma una funci´ on ucomo entrada y devuelve un n´ umero real. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 36 en la formulaci´ on de ecuaciones en derivadas parciales, mostrando c´ omo estas pueden escribirse en t´ erminos de dichos operadores. Definici´on 2.22 Un operador diferencial es un operador lineal 28 que se define mediante la aplicaci´ on de la operaci´ on de diferenciaci´ on, habitualmente representada como Dx,dx o∂ ∂x, donde xindica la variable independiente sobre la cual se realiza la derivada. Se tiene entonces la siguiente expresi´ on equivalente para referirse a una ecuaci´ on en derivadas parciales (EDP) de orden o∈N, definida en un abierto U⊆Rk: G(u)(w) = g(w),w∈U, (2.2) siendo: w= (w1, . . . , wk)el conjunto de variables independientes; u:U→R, la funci´ on que interviene en la EDP y representa la inc´ ognita a determinar; G, un operador diferencial de orden o29; yg:U→R, funci´ on escalar que constituye la parte independiente de uen la EDP. En nuestro caso, la mayor´ ıa de veces tendremos un dominio espacio temporal, donde la ecuaci´ on (2.2) quedar´ ıa de la forma: G(u)(x,t) = g(x,t),(x,t)∈Ω×T⊆Rd+1, con d∈N, donde Ω⊆Rddenota el dominio espacial y T= (t0,t1)⊆Rel intervalo temporal, de modo que U=Ω×T. El operador laplaciano ∆es un operador diferencial que aparece con frecuencia en las EDPs, especialmente en las ecuaciones el´ ıpticas y parab´ olicas. Este operador es crucial en la modelizaci´ on de fen´ omenos como la propagaci´ on de ondas, la difusi´ on del calor, entre otros. En el contexto de las PINNs, el laplaciano y otros operadores diferenciales se incorporan directamente en la funci´ on de p´ erdida utilizada para entrenar la red neuronal. Esto permite que la red neuronal no solo aprenda de los datos, sino tambi´ en respete las leyes f´ ısicas que gobiernan el comportamiento de las soluciones. Tanto las condiciones de contorno, mencionadas con anterioridad, como las condiciones iniciales, ser´ an denotadas por esta expresi´ on: D(u)(w) = h(w),w∈∂U, (2.3) donde: 28Aplicaci´ on que preserva la suma de vectores y la multiplicaci´ on por escalares. 29Hace referencia a un operador que no aplica operaci´ on de derivaci´ on alguna. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 2. Conceptos previos 37 ∂Udenota la frontera topol´ ogica del abierto U⊆Rd+1donde se define la EDP. Si U=Ω×T, entonces ∂U= (∂Ω×T)∪(Ω×∂T). w= (x,t) = (x1, . . . , xd,t)∈∂Ues el vector de variables independientes; u:U→Res la funci´ on inc´ ognita a determinar; Des un operador diferencial, siguiendo la Definici´ on 2.22, y que a menudo es de orden inferior al de la EDP del problema; h:∂U→Res una funci´ on escalar que representa la parte independiente de uen las condiciones. Con todo lo anterior, la expresi´ on general30 para un problema de contorno o de valores iniciales, con una cierta ecuaci´ on en derivadas parciales (EDP), con condiciones de contorno e iniciales, es la siguiente:    G(u)(w) = g(w),w∈U, D(u)(w) = h(w),w∈∂U. (2.4) La resoluci´ on de un problema como el (2.4) puede ser desafiante debido a la complejidad de las ecuaciones y las condiciones de contorno. Tradicionalmente, se han utilizado m´ etodos num´ ericos como los de elementos finitos o diferencias finitas. En este contexto, las Physics-Informed Neural Networks (PINNs) representan un enfoque moderno que, como se mencion´ o previamente y se abordar´ aenelCap´ ıtulo 5, permiten resolver EDPs de manera eficiente, incorporando el conocimiento f´ ısico directamente en el proceso de entrenamiento. Este enfoque ha demostrado ser especialmente ´ util en problemas complejos o cuando los datos disponibles son limitados, ofreciendo as´ ı una alternativa interesante a los m´ etodos num´ ericos tradicionales. 2.5. Optimizaci´on La optimizaci´ on en dimensi´ on finita constituye una de las bases fundamentales en el desarrollo y entrenamiento de las redes neuronales artificiales. Desde una perspectiva matem´ atica, optimizar implica encontrar los valores de los par´ ametros de un modelo que minimicen (o en algunos casos, maximicen) una funci´ on 31 objetivo. Si esa funci´ on es estrictamente convexa, s´ olo existir´ a un m´ ınimo global [9]. Sin embargo, el proceso de optimizaci´ on en el contexto del deep learning, se formula como un problema de minimizaci´ on no convexa en un espacio de alta dimensi´ on, estos m´ etodos a lo sumo converger´ an a un candidato a m´ ınimo local. Por ello, es esencial comprender los principios te´ oricos de la optimizaci´ on, as´ ı como los algoritmos que 30Se unifican las expresiones (2.2) y(2.3). 31Mide el error entre las predicciones realizadas por la red y los valores reales del conjunto de entrenamiento. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 44 los diferentes tipos que existen seg´ un el objetivo que se desea alcanzar, fue presentada en la Secci´ on 1.2. La red pasa por un proceso de aprendizaje y dependiendo de los datos que estemos tratando y el resultado deseado hay distintos tipos de aprendizajes: aprendizaje supervisado, no supervisado y aprendizaje por refuerzo (reinforcement learning), se puede encontrar informaci´ on m´ as detallada en [1]y[44]. En nuestro caso, trabajaremos con el enfoque de aprendizaje supervisado porque nuestro objetivo es calcular una soluci´ on aproximada de una ecuaci´ on diferencial. Este tipo de aprendizaje resulta adecuado, ya que permite entrenar modelos utilizando datos etiquetados, lo que facilita el ajuste iterativo de los par´ ametros del modelo para minimizar el error entre la soluci´ on estimada y la soluci´ on real de la ecuaci´ on. A diferencia del aprendizaje no supervisado o del aprendizaje por refuerzo, el enfoque supervisado usa algoritmos que aprenden en cada iteraci´ on de los datos y ofrece un marco m´ as directo y controlado para abordar este tipo de problemas matem´ aticos. Entre las capas de NN, las conexiones de una neurona a otra est´ an asociadas con sus correspondientes sesgos (bias) y pesos (weights). El sesgo, que denotaremos por b, es un n´ umero real (constante ajustable) asociado a cada capa y su prop´ osito es permitir que la red neuronal no se vea restringida a pasar por el origen. Los pesos, que denotaremos por w= (w1,w2, . . . , wn), en cada capa son un vector de Rn, donde nes el n´ umero de neuronas en la capa correspondiente, e indican las conexiones entre las neuronas de la capa anterior con la siguiente. Por lo tanto, una red neuronal NN puede modelarse como la combinaci´ on lineal de un vector de entrada n-dimensional, seg´ un lo visto en la Secci´ on 2.1.,x= (x1,x2, . . . , xn)∈Rm, con un sesgo b∈Ry unos pesos w∈Rncorrespondientes a esa capa, lo cual da lugar a y∈R. Es decir, y=σ(w1x1+· · · +wnxn+b) = σ m ∑ i=1 wixi+b!, (3.1) donde σes la funci´ on de activaci´ on (ver la Subsecci´ on 3.3.1). Esta funci´ on viene dada por la composici´ on de σ(ϕ(x)) = σ(w⊤x+b), siendo ϕ:Rm→Runa funci´ on af´ ın y σ:R→Runa funci´ on no lineal. En la Figura 3.1 se ilustra este funcionamiento, donde los datos de entrada x1,x2y x3est´ an asociados a unos determinados pesos w1,w2y w3, los cuales representan las relaciones entre las neuronas de una capa y otra. Se realiza una combinaci´ on lineal entre los datos de entrada y sus respectivos pesos, a la cual se le suma bcomo t´ ermino independiente, es decir se efect´ ua una suma ponderada. Finalmente, se aplica la funci´ on de activaci´ on σ, obteniendo como resultado el dato de salida a. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 45 Figura 3.1: Estructura de una neurona con tres entradas en una red neuronal. Fuente:La figura se encuentra en [25]. Conocida la estructura y el funcionamiento de una neurona, podemos analizar una red neuronal como la simple neural network mostrada en la Figura 1.4 (derecha), la cual presenta una ´ unica capa oculta. En este caso, el proceso de propagaci´ on de los datos desde las neuronas de la capa de entrada hasta las de la capa intermedia sigue las conexiones existentes entre ellas, cada una lleva asociada un peso y un sesgo, representados mediante flechas. En cada conexi´ on se realiza la combinaci´ on lineal previamente descrita, seguida de la aplicaci´ on de una funci´ on de activaci´ on elegida. Dado que la red de este ejemplo cuenta con una sola capa intermedia, este proceso se lleva a cabo ´ unicamente dos veces: una desde la capa de entrada hasta la capa intermedia, y otra desde la capa intermedia hasta la de salida. Aqu´ ı observamos la complejidad del modelo, ya que no disponemos de un solo nodo, sino de un conjunto de nodos en la misma capa que reciben simult´ aneamente todos los datos de la capa anterior y los procesan en paralelo devolviendo un vector de resultados. De esta forma, una sola capa se convierte en un tipo especial de funci´ on que transforma vectores en vectores. Como se mencion´ o brevemente en la Secci´ on 2.1, el proceso completo se puede expresar de forma m´ as compacta y eficiente si se utiliza una representaci´ on matricial, como se puede observar en la Figura 3.2, correspondiente al vector de entrada x= (x1,x2,x3,x4)y capa intermedia de 3 neuronas. Figura 3.2: Representaci´ on matricial entre capa de entrada e intermedia. Fuente:La figura se encuentra en (Enlace) TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 46 Dado un dato de entrada x∈Rmy un dato de salida y∈Rn, una red neuronal con una capa intermedia puede describirse como una funci´ on ϕ:Rm−→ Rndefinida como en la ecuaci´ on1 (3.2). Esta funci´ on tiene asociadas dos matrices W1∈RN×myW2∈Rn×N, las cuales llevan las relaciones entre las neuronas y sus correspondientes pesos asociados, y el sesgo asociado se denota por b1∈RNyb2∈Rn. El n´ umero de neuronas en la capa intermedia se denota por N∈N, y la funci´ on de activaci´ on, que se aplica a cada elemento del vector de entrada, se denota por σ, luego y=ϕ(x;W1,W2,b1,b2) = W2σ(W1x+b1) + b2. (3.2) Con todo lo anterior, ya podemos definir el concepto de una red neuronal. Definici´on 3.1 Sea ϕ∈NN una red neuronal con Lcapas intermedias. Entonces, ϕpuede ser definida como una funci´ on ϕ:Rm−→ Rn, determinada por las siguientes parejas de matrices y vectores: [(W1,b1), . . . , (WL+1,bL+1)], a trav´ es de la expresi´ on: y=ϕ(x;W1, . . . , WL−1,b1, . . . , bL+1):=WL+1σ(WLσ(· · · σ(W1x+b1)· · · )+bL)+bL+1, (3.3) donde σes una funci´ on de activaci´ on espec´ ıfica. Si Ni, con i∈ {1, . . . , L}, es el n´ umero de neuronas en cada capa intermedia, entonces el tama˜ no de las matrices est´ a dado por W1∈ MN1×m(R),Wj∈ MNj×Nj−1(R)para j∈ {2, . . . , L},WL+1∈ Mn×NL(R), y los t´ erminos de sesgo bk∈RNkpara k∈ {1, . . . , L},bL+1∈Rn. Con todo lo explicado, daremos un ejemplo2, ver Figura 3.3 de red neuronal sencilla para entender mejor la notaci´ on usada anteriormente en (3.3). Figura 3.3: Red neuronal con dos capas ocultas. 1En este caso, en el paso de la ´ ultima capa no aplicamos la funci´ on de activaci´ on. 2Para ejemplos m´ as complejos y variados de redes neuronales, se pueden consultar [15], [32]y[25]. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 47 Sea ϕ∈NN tal que ϕ:R2−→ R, es decir, una red neuronal con dos datos de entrada y un dato de salida. La red cuenta con dos capas intermedias, cada una con dos neuronas (por tanto, N=2). La funci´ on ϕdada por (3.3) estar´ a representada por la siguiente secuencia de pesos y sesgos: [(W1,b1),(W2,b2),(W3,b3)], donde W1∈R2×2,b1∈R2,W2∈R2×2,b2∈R2,W3∈R1×2,b3∈R. En esta red, no todas las neuronas est´ an conectadas entre s´ ı. Algunas conexiones se omiten intencionadamente para ilustrar el caso de conectividad parcial, que es com´ un en redes modernas. Para simplificar los c´ alculos y resaltar el comportamiento no lineal, tomaremos como funci´ on de activaci´ on la σ(x) = tanh(x)(ver Figura 3.8) ya que es suave, derivable en todas sus iteraciones, y tiene un rango de salida centrado en cero, lo que facilita la convergencia durante el entrenamiento y la aproximaci´ on de soluciones de ecuaciones diferenciales. En el siguiente ejemplo desarrollaremos el c´ alculo completo de esta red para un caso concreto3, con pesos, sesgos y entradas definidas. Ejemplo 3.2 Los datos de entrada son: x="x1 x2#="2 4#. Los datos asociados a la primera capa, (W1,b1), son: W1="w(1) 1,1 w(1) 1,2 w(1) 2,1 w(1) 2,2 #="1 0 0 0.5#,b1="b(1) 1 b(1) 2#="0.2 −0.3#. Para la segunda capa, (W2,b2): W2="w(2) 1,1 w(2) 1,2 w(2) 2,1 w(2) 2,2 #="−1 0 0.7 1.2#,b2="b(2) 1 b(2) 2#="0.5 −0.1#. Y para la tercera capa, (W3,b3): W3=hw(3) 1,1 w(3) 1,2 i=h0.8 −1.5i,b3=b(3) 1=2. Hemos denotado w(k) i,jcomo el peso asociado a la i-´ esima neurona de la capa k-´ esima de la red neuronal con la j-´ esima neurona de la siguiente capa, b(k) icomo el sesgo asociado a la i- ´ esima neurona de la k-´ esima capa, y airefleja los valores devueltos por cada una de las neuronas tras aplicarles σ. 3En los siguientes c´ alculos, se ha utilizado una aproximaci´ on de la funci´ on tanh con 4 cifras decimales. Esto permite mostrar con claridad el funcionamiento paso a paso de la red neuronal sin perder precisi´ on significativa, manteniendo adem´ as la legibilidad y el objetivo did´ actico del ejemplo. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 48 Como hemos ya mencionado y podemos observar en la Figura 3.3 algunas neuronas no est´ an interconectadas, por ejemplo, x1no est´ a conectado con la segunda neurona de la primera capa intermedia, por ello el elemento w(1) 1,2 =0. Para obtener el dato de salida yy como indica la expresi´ on (3.3), tenemos que aplicar la siguiente expresi´ on (como ilustra la Figura 3.2): y=W3σ(W2σ(W1x+b1)+b2)+b3. Paso por la primera capa es de la forma W1x+b1="w(1) 1,1 w(1) 1,2 w(1) 2,1 w(1) 2,2 #"x1 x2#+"b(1) 1 b(1) 2#="1 0 0 0.5#"2 4#+"0.2 −0.3#="2 2#+"0.2 −0.3#="2.2 1.7#. Ahora aplicamos la funci´ on de activaci´ on σ=tanh(x)a cada elemento de la matriz: a1=σ(W1x+b1) = σ "2.2 1.7#!="σ(2.2) σ(1.7)#="tanh(2.2) tanh(1.7)#≈"0.9757 0.9354#. Paso por la segunda capa es el que sigue: W2a1+b2="w(2) 1,1 w(2) 1,2 w(2) 2,1 w(2) 2,2 #"0.9757 0.9354#+"b(2) 1 b(2) 2#="−1 0 0.7 1.2#"0.9757 0.9354#+"0.5 −0.1# ="−0.9757 1.8055 #+"0.5 −0.1#="−0.4757 1.7055 #. Ahora aplicamos la funci´ on de activaci´ on σ=tanh(x)a cada elemento de la matriz: a2=σ(W2a1+b2) = σ "−0.4757 1.7055 #!="σ(−0.4757) σ(1.7055)#="tanh(−0.4757) tanh(1.7055)#≈"−0.4433 0.9362 #. Y el paso por la ´ ultima capa: W3a2+b3=hw(3) 1,1 w(3) 1,2 i"−0.4433 0.9362 #+"b(3) 1 b(3) 2#=h0.8 −1.5i"−0.4433 0.9362 #+h2i =h−1.7589i+h2i=h0.2411i. El dato de salida obtenido es y=0.2411. 3.2. Entrenamiento de la red Una vez definida la estructura de una red neuronal, el siguiente paso crucial es entrenarla, es decir, ajustar sus pesos internos para que pueda realizar una tarea con precisi´ on, como predecir valores num´ ericos. Durante el entrenamiento, la red aprende a reconocer patrones en TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 49 los datos mediante un proceso iterativo que combina la propagaci´ on de la informaci´ on hacia adelante y la retropropagaci´ on del error para ajustar sus par´ ametros internos. Esta secci´ on analiza este proceso de entrenamiento: desde la elecci´ on de una funci´ on de p´ erdida adecuada, pasando por la retropropagaci´ on del error, hasta el uso de algoritmos de optimizaci´ on para la actualizacion de los pesos. Comprender estos pasos es fundamental no solo para lograr el correcto funcionamiento de la red, sino para garantizar la generalizaci´ on a nuevos datos. 3.2.1. Funci´on de p´erdida La proximidad entre la predicci´ on generada por la red y la soluci´ on esperada puede cuantificarse mediante una funci´ on de p´ erdida (“loss function”), la cual proporciona una medida del error cometido en cada iteraci´ on. Esta funci´ on no solo eval´ ua el rendimiento del modelo, sino que tambi´ en, de forma indirecta, la actualizaci´ on de sus par´ ametros durante el proceso de entrenamiento. Definici´on 3.3 La funci´ on de p´ erdida L(·,·)se define como un funcional que mide la diferencia entre los datos reales yreal, que deseamos aproximar, y la salida estimada por la red neuronal, y. L(yreal,y) = n ∑ i=1 Li(yreal,y), donde Lidenota las funciones de p´ erdida asociadas a cada uno de los datos de salida obtenidos por la red neuronal, donde nes el n´ umero de neuronas en la ´ ultima capa. Como la salida, y=y(w,b), depende de los par´ ametros de la red neuronal, es decir, los pesos wy los sesgos b, la funci´ on de p´ erdida puede interpretarse como una funci´ on que depende ´ unicamente de dichos par´ ametros. En consecuencia, L(w,b)mide el error entre los valores reales yreal y las estimaciones y producidas por la red neuronal, reflejando as´ ı la precisi´ on de la aproximaci´ on realizada por el modelo. Existen diversos tipos de funciones de p´ erdida que se emplean en redes neuronales artificiales para distintos tipos de problemas. Sin embargo, en el contexto de la predicci´ on de soluciones a problemas diferenciales y con datos continuos, las siguientes funciones de p´ erdida son las m´ as utilizadas: El error cuadr´ atico medio se define como: L(yreal,y) = 1 2(yreal −y)2, (3.4) El error absoluto medio se define como: L(yreal,y) = |yreal −y|. (3.5) TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 50 Para conocer otras aplicaciones de redes neuronales y diferentes tipos de funciones de p´ erdida, se puede consultar el libro [1]. De los dos tipos presentados, nos interesar´ a(3.4), ya que, adem´ as de ser un error positivo, se trata de una funci´ on convexa (v´ ease Definici´ on 2.20) con respecto a y. Esta propiedad nos proporcionar´ a mejores resultados de convergencia al aplicar los algoritmos de optimizaci´ on, ya que reduce la probabilidad de quedar atrapados en m´ ınimos locales. 3.2.2. Backpropagation Para facilitar el proceso de entrenamiento usaremos el algoritmo de backpropagation, un caso particular del reverse mode de la derivaci´ on autom´ atica (v´ ease Subsecci´ on 2.2.1.). Su objetivo principal es calcular de manera eficiente el gradiente del error con respecto a los par´ ametros del modelo (pesos y sesgos), utilizando la regla de la cadena (v´ ease el Teorema 2.4) de forma estructurada desde la capa de salida hasta las capas internas. A trav´ es de esta t´ ecnica, el error cometido en la salida se propaga hacia atr´ as en la red, permitiendo ajustar cada par´ ametro en funci´ on de su contribuci´ on al error total. Este procedimiento es esencial para aplicar algoritmos de optimizaci´ on (v´ ease Subsecci´ on 3.2.3) como el descenso del gradiente (v´ ease Definici´ on 2.26) y variaciones del mismo 4. En cada paso de backpropagation se siguen tres etapas: Propagaci´ on hacia adelante (forward pass). Durante esta fase, se ejecuta el funcionamiento normal de la red neuronal: los datos de entrada se propagan desde la primera capa hasta la ´ ultima utilizando pesos y sesgos iniciales, generando una salida. C´alculo del error. Se compara la soluci´ on aproximada por la red, y, con la deseada, yreal, mediante una funci´ on de p´ erdida, lo que permite calcular el error del modelo. Propagaci´ on hacia atr´ as (backward pass). Esta fase busca minimizar la funci´ on de p´ erdida ajustando los pesos y sesgos del modelo. Para ello, se calcula el gradiente del error respecto a los par´ ametros usando la regla de la cadena en sentido inverso, desde la salida hacia las capas anteriores, y se actualizan los valores para mejorar la aproximaci´ on. En otras palabras, dada una funci´ on de p´ erdida L:D1×R⊆Rn×Rm→R, donde D1⊆Rnrepresenta el conjunto de datos de entrada del conjunto de entrenamiento y R⊆Rm denota el conjunto de etiquetas posibles para los datos de entrenamiento, se trata de resolver el siguiente problema de optimizaci´ on: θ∗=arg m´ ın θ∈R|Θ|L(x,y;θ)(3.6) donde θdenota el vector de par´ ametros de la red (θ= (w,b)). 4Proporciona una soluci´ on al problema (3.6). TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 51 A lo largo de esta subsecci´ on se seguir´ a el procedimiento establecido en [25]y[18]. Como ya se explic´ o en la Secci´ on 3.1., asumiremos que hay Lcapas en nuestra red neuronal, y cada capa ser´ a denotada por k, con k=1, . . . , L. Consideraremos w(k) i,jcomo el peso asociado a la i-´ esima neurona de la k-´ esima capa con la j-´ esima neurona de la capa anterior, y b(k) icomo el sesgo asociado a la neurona ide la capa k. El dato de salida de la neurona ien la capa kpuede expresarse como: a(k) i=σ(z(k) i), (3.7) donde σ, como ya hemos visto, representa la funci´ on de activaci´ on y z(k) iest´ a definido como una combinaci´ on lineal de las salidas de la capa anterior: z(k) i=∑ j w(k) i,ja(k−1) i+b(k) i. (3.8) Por definici´ on, la funci´ on de p´ erdida Ldepende directamente de los datos de salida de la ´ ultima capa a(k) iy, como consecuencia de las ecuaciones (3.7) y(3.8), tambi´ en de los datos de salida de todas las capas anteriores. Introduciremos una nueva variable δl j, expresada por: δ(k) i=∂L ∂z(k) i . (3.9) An´ alogamente, usando la regla de la cadena y la ecuaci´ on (3.7), podemos definir δ(k) icomo sigue: δ(k) i=∂L ∂zl(k)i =∂L ∂a(k) i ∂a(k) i ∂z(k) i =∂L ∂a(k) i σ′(z(k) i), (3.10) donde σ′(z(k) i)es la derivada respecto a z(k) ide la funci´ on de activaci´ on. Ahora, reescribiremos ∂L ∂w(k) i,j y∂L ∂b(k) i en t´ erminos conocidos: ∂L ∂w(k) i,j =∂L ∂z(k) i ∂z(k) i ∂w(k) i,j =δ(k) i ∂ ∂w(k) i,jw(k) i,ja(k−1) j+b(k) i=δ(k) ia(k−1) j, (3.11) ∂L ∂b(k) i =∂L ∂z(k) i ∂z(k) i ∂b(k) i =δ(k) i ∂ ∂b(k) iw(k) i,ja(k−1) j+b(k) i=δ(k) i. (3.12) Como δ(k) ino solo depende de los valores de salida de la capa k, sino tambi´ en de las capas pr´ oximas, podemos expresarlo en funci´ on de la capa k+1, obteniendo: δ(k) i=∂L ∂z(k) i =∑ j ∂L ∂z(k+1) j ∂z(k+1) j ∂z(k) i =∑ j δ(k+1) j ∂z(k+1) j ∂z(k) i . (3.13) TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 52 Teniendo en cuenta (3.7) y(3.8) , obtenemos: z(k+1) j=∑ i w(k+1) i,ja(k) i+b(k+1) j=∑ i w(k+1) i,jσ(z(k) i) + b(k+1) j. (3.14) Entonces, la derivada con respecto a z(k) ipuede ser calculada como: ∂z(k+1) j ∂z(k) i =w(k+1) i,jσ′(z(k) i). (3.15) Sustituyendo (3.15) en (3.13), tenemos: δ(k) i=∑ j w(k+1) i,jδ(k+1) jσ′(z(k) i). (3.16) Por ´ ultimo, calculamos la expresi´ on δL ipara todas las neuronas de la ´ ultima capa, L, usando (3.10) y obtenemos: δ(L) i=∂L ∂z(L) i =∂L ∂a(L) i ∂a(L) i ∂z(L) i =∂L ∂a(L) i σ′(z(L) i). (3.17) Conforme a las ecuaciones vistas, el algoritmo de backpropagation se puede plantear de la siguiente manera: 1. Activaci´on en la primera capa: Calculamos a(1) ipara todas las neuronas de la primera capa. 2. Fase hacia adelante: Empezamos desde la primera capa, recorremos toda la red neuronal calculando z(k)ya(k)para k=2, . . . , L. Antes de iniciar esta fase, es fundamental establecer una correcta inicializaci´ on de los pesos, ya que una mala elecci´ on puede provocar que los gradientes se desvanezcan o se amplifiquen excesivamente durante la retropropagaci´ on. Una de las t´ ecnicas m´ as utilizadas para evitar estos problemas, facilitar que el error se propague adecuadamente a trav´ es de las distintas capas y favorecer la propagaci´ on m´ as estable de la informaci´ on durante el entrenamiento es la Xavier Initialization (tambi´ en conocida como Glorot Initialization), que busca mantener la varianza de las activaciones y de los gradientes constante a lo largo de las capas. Esta t´ ecnica propone inicializar los pesos wde cada neurona de acuerdo a una distribuci´ on uniforme o normal con varianza: Var(w) = 2 Nin +Nout , donde Nin yNout representan el n´ umero de neuronas de entrada y salida de la capa, respectivamente. 3. C´alculo del error en la ´ultima capa: Usamos la ecuaci´ on (3.10) para calcular (3.17) para todas las neuronas de la ´ ultima capa. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 53 4. Aplicaci´on de la programaci´on din´amica: Usamos la ecuaci´ on (3.16) para calcular δ(k) i para todas las capas. 5. C´alculo del gradiente: Usamos las ecuaciones (3.12) y(3.11) para calcular ∂L ∂w(k) i,j y∂L ∂b(k) i 5. En resumen, en el entrenamiento de redes neuronales, la funci´ on de p´ erdida mide el error del modelo, y para reducirlo es necesario ajustar los pesos mediante derivadas. Como el error depende de muchas conexiones anteriores, se usa la regla de la cadena para calcular c´ omo afecta cada peso al resultado final. Sin embargo, calcular todos los caminos posibles entre los nodos y la salida tendr´ ıa un coste computacional exponencial. Para resolverlo, el algoritmo de backpropagation aplica programaci´ on din´ amica, reutilizando c´ alculos intermedios y propagando los gradientes eficientemente desde la salida hacia las capas anteriores. Este algoritmo se aplicar´ a las veces necesarias para reducir el error. 3.2.3. Algoritmos de optimizaci´on Como se mencion´ o al inicio de la secci´ on, la ´ ultima parte del entrenamiento de la red neuronal consiste en el uso de algoritmos de optimizaci´ on para la actualizaci´ on de los par´ ametros a lo largo de un n´ umero determinado de iteraciones de forma que el error cometido se minimice. Tambi´ en hemos visto que, cuando tanto la funci´ on de p´ erdida utilizada para entrenar la red como la aplicaci´ on que la describe son diferenciables (Definici´ on 2.5) (o, al menos, es posible calcular las derivadas parciales respecto de los par´ ametros), el algoritmo de descenso de gradiente (y sus variantes) es el m´ etodo de optimizaci´ on m´ as empleado para el entrenamiento. No obstante, deben tenerse en cuenta las consideraciones expuestas en la Secci´ on 2.5. Ah´ ı vimos que el algoritmo se basa en minimizar una funci´ on objetivo f=J(θ), expresada en funci´ on de los par´ ametros del modelo θ∈Rp, siendo pel n´ umero de par´ ametros, al ir actualizando dichos par´ ametros en la direcci´ on opuesta del gradiente de dicha funci´ on ∇f=∇θJ(θ), como podemos observar en la Figura 2.4. En nuestro caso, la funci´ on objetivo ser´ a la funci´ on de p´ erdida L(yreal,y), y los par´ ametros de la red neuronal, θ. De igual modo, vimos tambi´ en que el par´ ametro de aprendizaje (“learning rate”), representado por η, determina la magnitud de los pasos que se realizan al actualizar los pesos de una red neuronal mediante el descenso del gradiente. Puede interpretarse como la medida en que el error influye en la actualizaci´ on de cada par´ ametro. Este valor puede mantenerse constante o adaptarse durante el entrenamiento. En la Figura 3.4 se muestra la diferencia entre el m´ ınimo objetivo y los pasos de entrenamiento. Podemos ver que un learning rate demasiado alto puede provocar que el modelo no converja o incluso que se aleje del m´ ınimo, mientras que un valor demasiado bajo ralentiza el entrenamiento incrementando el n´ umero de iteraciones necesarias y aumentando el riesgo de quedar atrapado en un m´ ınimo local no deseado. 5Determina las tasas de variaci´ on de la funci´ on de p´ erdida respecto de los par´ ametros. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 60 ∂L ∂b3 =δ(3)=−0.0031, ∂L ∂W2 =δ(2)·(a(1))⊤≈"−0.0020 0.0006 #h0.9757 0.9354i="−0.0020 −0.0019 0.0006 0.0006 #, ∂L ∂b2 =δ(2)="−0.0020 0.0006 #, ∂L ∂W1 =δ(1)·x⊤="1.15 ×10−4 9×10−5#h2 4i="2.30 ×10−44.60 ×10−4 1.80 ×10−43.60 ×10−4#, ∂L ∂b1 =δ(1)="1.15 ×10−4 9×10−5#. Ahora pasamos a la ´ ultima etapa del entrenamiento de la red neuronal: a la actualizaci´ on de los pesos y sesgos mediante alguno de los algoritmos de optimizaci´ on vistos anteriormente. Usaremos el descenso del gradiente estoc´ astico (SGD). Este algoritmo actualiza los par´ ametros de la red de la siguiente forma: Wnew l=Wl−η∂L ∂Wl ,bnew l=bl−η∂L ∂bl l∈ {1, 2, 3}. Utilizamos un valor de tasa de aprendizaje (learning rate)η=0.001 y los gradientes ya calculados. Actualizamos W1: Wnew 1=W1−η∂L ∂W1 ="1 0 0 0.5#−0.001 "2.30 ×10−44.60 ×10−4 1.80 ×10−43.60 ×10−4#≈"1.00023 0.00046 −0.00018 0.49964#, bnew 1=b1−η∂L ∂b1 ="0.2 −0.3#−0.001 "1.15 ×10−4 9×10−5#≈"0.1999999 −0.30000009#. Actualizamos W2: Wnew 2=W2−η∂L ∂W2 ="−1 0.7 0 1.2#−0.001 "−0.0020 −0.0019 0.0006 0.0006 #≈"−1.000002 0.69881 0.0000006 1.1994 #, bnew 2=b2−η∂L ∂b2 ="0.0020 −0.0006#−0.001 "−0.0020 0.0006 #≈"0.001998 −0.0006006#. Actualizamos W3: Wnew 3=W3−η∂L ∂W3 =h0.8 −1.5i−0.001 h0.0014 −0.0029i≈h0.799999 −1.5000029i, bnew 3=b3−η∂L ∂b3 =h0 0.3i−0.001(−0.0031)≈h0 0.3000031i. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 61 3.3. Hiperpar´ametros En esta secci´ on se abordan los principales hiperpar´ ametros que influyen en el comportamiento y rendimiento de una red neuronal artificial. A diferencia de los par´ ametros entrenables (como los pesos y sesgos), los hiperpar´ ametros son definidos antes del entrenamiento y determinan tanto la estructura de la red como su forma de aprendizaje. Se discutir´ an aspectos como la funci´ on de activaci´ on, la inicializaci´ on de par´ ametros, t´ ecnicas de regularizaci´ on para prevenir el sobreajuste o desajuste, y decisiones estructurales como el n´ umero de capas ocultas y neuronas por capa. 3.3.1. Funci´on de activaci´on Como hemos introducido anteriormente, la funci´ on de activaci´ on se aplica a las salidas de las neuronas de las capas intermedias, aunque tambi´ en puede interesar aplicarla en la capa de salida. Se define como una funci´ on continua f:R→Rque, podr´ ıa ser tanto lineal como no lineal. El objetivo de esta funci´ on es introducir no linealidad en la red neuronal, sin ella, la red neuronal ser´ ıa equivalente a un modelo lineal lo que dificultar´ ıa la minimizaci´ on del error de la funci´ on aproximada y la deseada. En este caso, el uso de funciones de activaci´ on no lineales juega un papel fundamental debido a la importancia que tiene a la hora de aproximar funciones no lineales. Tambi´ en, como hemos visto en la Secci´ on 3.2., a la hora de optimizar la red a trav´ es del algoritmo backpropagation, v´ ease Subsecci´ on 3.2.2., es necesario calcular de forma autom´ atica las derivadas de esta funci´ on, es por ello que se buscan funciones cuyas derivadas se puedan escribir en t´ erminos de ellas mismas. Como vimos en la Secci´ on Historia, el modelo inicial de neurona artificial propuesto por McCulloch y Pitts y el posterior perceptr´ on de Rosenblatt empleaban, como funci´ on de activaci´ on, una funci´ on de Heaviside Xu:R→Rde la forma: Xu(z) =    1 si x≥u, 0 si x<u,−1 1 −1 1 x Xu(x) Figura 3.6: Gr´ afica para x∈[−1, 1]y expresi´ on de la funci´ on Xu, dado u=0. donde u∈Rmarca el umbral. Esta elecci´ on permit´ ıa imitar los comportamientos de activado (1) y desactivado (0) para dicha versi´ on simplificada de las neuronas biol´ ogicas [25]. Esta funci´ on pas´ o a ser poco pr´ actica, al ser su derivada 0 en todo su dominio salvo en TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 62 el salto (donde no queda definida), ya que los m´ etodos de optimizaci´ on desarrollados en los a˜ nos sucesivos conllevan el c´ omputo de las derivadas de las aplicaciones implicadas para el “entrenamiento” de la red (Secci´ on 3.2.), en particular, el c´ alculo de la derivada de la funci´ on de activaci´ on. Como alternativa, comenzaron a considerarse funciones continuas (y derivables) que transformaran R, donde se encontrar´ ıa el resultado de la suma ponderada dada por la aplicaci´ on af´ ın, en el intervalo unidad [0, 1], asociando as´ ı una probabilidad al efecto de la correspondiente neurona sobre los datos que recibe. Estas ser´ ıan las denominadas funciones sigmoidales, destacando entre ellas, la funci´ on sigmoide. Su expresi´ on y la de su derivada son las que siguen y su representaci´ on gr´ afica aparece en la Figura 3.7: f:R−→ (0, 1) x7−→ 1 1+e−x,d f dx =e−x (1+e−x)2=f(x)(1−f(x)).(3.18) La derivada como vemos puede escribirse en t´ erminos de la propia funci´ on. −6−3 3 6 −1 −0.5 0.5 1 x f(x) Figura 3.7: Gr´ afica de la funci´ on sigmoide f(x)para x∈[−6, 6]. Si generalizamos a otros subintervalos de la recta real, cambiando el recorrido, de la funci´ on, tenemos por ejemplo, el caso de la tangente hiperb´ olica. Su expresi´ on y la de su derivada son las que siguen y su representaci´ on gr´ afica aparece en la Figura 3.8: σ:R−→ (−1, 1) x7−→ ex−e−x ex+e−x,dσ(x) dx =4e2x (e2x+1)2=1−tanh2(x). Tambi´ en, la derivada de la funci´ on puede escribirse en t´ erminos de la propia funci´ on, e incluso esto se puede extender a las derivadas de orden superior. Esta propiedad es fundamental, ya que ser´ a´ util cuando abordemos la resoluci´ on de ecuaciones diferenciales en el contexto de redes neuronales. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 63 −6−3 3 6 −1 −0.5 0.5 1 x σ(x) Figura 3.8: Gr´ afica de la funci´ on σ=tanh(x)para x∈[−6, 6]. Esta funci´ on tiene gran importancia en redes neuronales recurrentes (v´ ease Secci´ on 1.2). Existe relaci´ on8entre esta funci´ on y la funci´ on sigmoide: tanh(x) = ex−e−x ex+e−x=e2x−e−2x e2x+e−2x=1−e−2x 1+e−2x=21 1+e−2x−1=2σ(2x)−1. Estas dos funciones han sido las m´ as usadas por los investigadores en sus proyectos, dada su diferenciabilidad (de hecho, infinitas veces) en todo su dominio. Sin embargo, la reiterada derivaci´ on da lugar a la aparici´ on de factores de la forma λk, con λ∈Ryk∈N, donde k es el n´ umero de capas neuronales (Secci´ on 3.1), lo que dificulta el “entrenamiento” de la red (Secci´ on 3.2) cuando |λ| =1 al aumentarse el n´ umero de capas, k. El aprendizaje de una red neuronal, como vimos en la Secci´ on 3.2. se basa en actualizar los pesos mediante un t´ ermino proporcional al menos gradiente de una funci´ on que incluye la derivada de la funci´ on de activaci´ on. Esto implica que cuando (|λ| ≪ 1) el gradiente se desvanece y cuando (|λ| ≫ 1) el gradiente se satura (cuando k→+∞). Esto son problemas indeseables, ya que afectan negativamente la capacidad de aprender de la red. Con todo esto, destaca la introducci´ on de la funci´ on de activaci´ on denominada ReLU, unidad lineal rectificada (“rectified linear unit”). Su expresi´ on y la de su derivada son las que siguen y su representaci´ on gr´ afica aparece en la Figura 3.9: g:R→ {x∈R:x≥0},x7−→ m´ ax(0, x) =    xsi x≥0, 0 si x<0, dg(x) dx =         1 si x>0, 0 si x<0, indefinida si x=0. 8Ver [1] para un mayor desarrollo de esta relaci´ on entre ambas funciones. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 64 −1 1 0.5 1 x g(x) Figura 3.9: Gr´ afica de la funci´ on ReLU para x∈[−1, 1]. Posee el inconveniente de que tiene derivada nula en la regi´ on x≤0, esto puede tener un impacto significativo sobre el aprendizaje9. Algunas veces se toma la derivada igual a cero en x=0 para evitar que no est´ e definida en ese punto. Otra funci´ on muy recomendada es la Swish. Su expresi´ on y la de su derivada son las que siguen y su representaci´ on gr´ afica aparece en la Figura 3.10: Swishβ(x) = x f (βx), donde fes la funci´ on sigmoide dada en la expresi´ on (3.18) yβ∈Res una constante o un par´ ametro entrenable10 a partir de los datos de entrenamiento. −4−2 2 4 −1 2 4 x Swish(x) Swish con β=1 −4−2 2 4 −1 2 4 x Swishβ(x) Swish para distintos valores de β β=0.5 β=1 β=2 Figura 3.10: Gr´ afica de la funci´ on Swish con β=1 (izquierda) y su comparaci´ on con distintos valores de β(derecha). Por el teorema de Aproximaci´ on Universal (v´ ease Secci´ on 3.4.) sabemos que las funciones de activaci´ on que se requieren son aquellas que cumplen la propiedad de ser sigmoidal. La utilizaci´ on de una funci´ on de activaci´ on u otra depende del problema concreto. En nuestro caso, las que se usaran generalmente son las explicadas anteriormente. Aunque existen otras11 como: Softmax, variantes de ReLU (Leaky, ELU), GELU, etc. 9Crea un problema sobre las derivadas sucesivas respecto de x, ya que valen cero para todos los valores de xy esta funci´ on no puede ser usada en problemas donde aparecen derivadas de ´ ordenes superiores. 10Se selecciona adecuadamente durante el entrenamiento. 11Se puede consultar cap´ ıtulo 6 de [15] y cap´ ıtulos 1, 2 y 3 de [32] para un desarrollo detallado de estas funciones de activaci´ on. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 65 3.3.2. Inicializaci´on de par´ametros La inicializaci´ on de par´ ametros, tanto pesos como sesgos, en redes neuronales artificiales es un aspecto crucial para garantizar la convergencia y la eficiencia del entrenamiento, as´ ı como una buena capacidad de predicci´ on de la red. Una inicializaci´ on adecuada permite evitar problemas como el desvanecimiento (vanishing gradient) o la explosi´ on (exploding gradient) del gradiente. El libro [7] aborda este tema en profundidad, no solo enumerando las t´ ecnicas m´ as utilizadas, que se detallar´ an brevemente a continuaci´ on, sino tambi´ en justificando matem´ aticamente la importancia de controlar la varianza de las activaciones y de los gradientes a lo largo de las capas de la red. Los sesgos, b, generalmente se inicializan en cero. Esto se debe a que no afectan a la simetr´ ıa12 de la red como lo hacen los pesos, y comenzar en cero no impide que aprendan adecuadamente durante el entrenamiento. En ciertos casos particulares —por ejemplo, en redes recurrentes— los sesgos pueden inicializarse con otros valores, dependiendo de la arquitectura espec´ ıfica de la red. La inicializaci´ on de los pesos se debe hacer cuidadosamente para controlar, como hemos dicho, la varianza de activaciones y gradientes. Ya que los pesos son los que transforman los datos de entrada y afectan directamente a la estabilidad del entrenamiento. Inicializaci´on constante: la inicializaci´ on de pesos con valores constantes puede generar problemas. Si se establecen en cero, los gradientes tambi´ en ser´ an cero, lo que impide que la red aprenda correctamente. Si se usan valores iguales diferentes de cero, como uno, todas las neuronas de una capa se comportar´ an igual, lo que afecta negativamente al proceso de aprendizaje. Por estos motivos, esta t´ ecnica se evita. Inicializaci´on aleatoria: la inicializaci´ on de pesos con valores aleatorios soluciona el problema anterior de simetr´ ıa. Esto hace que cada neurona tenga un comportamiento distinto, evitando que todas produzcan el mismo resultado. Los pesos se asignan seg´ un una distribuci´ on normal con media cero y una varianza σ2, donde σes un valor determinado. Sin embargo, uno de los inconvenientes de este m´ etodo es que puede generar desvanecimiento o explosi´ on del gradiente, dependiendo de la elecci´ on de σ, lo que afecta al rendimiento de la red. Inicializaci´on de Xavier: la inicializaci´ on de pesos se asignan siguiendo una distribuci´ on uniforme cuyo rango depende del n´ umero de neuronas en la capa actual y en la capa siguiente, manteniendo la varianza de las activaciones constante a trav´ es de las capas. Esto soluciona los problemas de desvanecimiento y explosi´ on del gradiente. Es especialmente ´ util cuando se utilizan funciones de activaci´ on como tanh o sigmoide. 12La simetr´ ıa en los par´ ametros ocurre cuando todas las neuronas de una capa tienen los mismos pesos, lo que lleva a salidas id´ enticas y aprendizaje redundante. Para romper esta simetr´ ıa y permitir que cada neurona aprenda cosas distintas, los pesos deben inicializarse con valores aleatorios. En cambio, los sesgos, al no depender de las entradas, pueden inicializarse en cero sin afectar este comportamiento. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 66 Figura 3.11: Aproximaci´ on de la soluci´ on de la ecuaci´ on diferencial y′′(x) + y(x) = 0 con condiciones iniciales y(0) = 0, y′(0) = 1 usando tres m´ etodos de inicializaci´ on de pesos: constante, aleatoria y Xavier. 3.3.3. Regularizaci´on Uno de los mayores retos en el entrenamiento de redes neuronales es lograr que la red funcione correctamente no solo con los datos con los que ha sido entrenada, sino tambi´ en con datos nuevos. Esta capacidad de adaptaci´ on se conoce como “generalizaci´ on”. Para evaluarla, se dividen los datos disponibles en dos conjuntos: uno para entrenamiento, donde la red ajusta sus par´ ametros, elige los hiperpar´ ametros y produce el error de entrenamiento (training error), y otro para prueba, donde se mide su generalizaci´ on sobre datos no vistos y produce el error de prueba (test error). Generalmente, el error de prueba suele ser mayor que el de entrenamiento. A partir de esto, surgen dos objetivos fundamentales en el proceso de aprendizaje: - Minimizar el error de entrenamiento. - Minimizar la diferencia entre el error de entrenamiento y el de prueba. Durante este proceso pueden surgir dos problemas frecuentes: - Desajuste (underfitting): cuando la red no logra aprender lo suficiente de los datos de entrenamiento, lo que se manifiesta en errores altos en el conjunto de entrenamiento. - Sobreajuste (overfitting): cuando la red aprende demasiado bien los datos de entrenamiento y pierde capacidad para generalizar. Adem´ as, ajustar hiperpar´ ametros como el n´ umero de capas, neuronas por capa o la tasa de aprendizaje se realiza antes del entrenamiento, y tambi´ en influye directamente en la aparici´ on de desajuste o sobreajuste. Las gr´ aficas superiores de la Figura 3.12 muestran como la red neuronal NN (pocas neuronas) no predice bien la forma de la funci´ on sin(x); mientras que la red neuronal compleja (muchas neuronas y capas) predice de manera muy cercana, incluyendo incluso ruido o peque˜ nas oscilaciones artificiales y las gr´ aficas inferiores de la Figura 3.12 muestran como se reducen los TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 67 errores de entrenamiento y prueba en cada una de las redes, usando el error cuadr´ atico medio (v´ ease (3.4)). Figura 3.12: Comparaci´ on entre desajuste y sobreajuste en la predicci´ on de la soluci´ on de la ecuaci´ on diferencial y′′(x) + y(x) = 0 con condiciones iniciales y(0) = 0, y′(0) = 1 (gr´ aficas arriba) y errores en ambas casos (gr´ aficas abajo). El t´ ermino regularizaci´ on se refiere a un conjunto de t´ ecnicas cuyo objetivo es evitar tanto el desajuste como el sobreajuste, reduciendo el error de generalizaci´ on sin incrementar de forma significativa el error de entrenamiento. Una de las t´ ecnicas m´ as extendidas dentro del campo del aprendizaje autom´ atico es la penalizaci´ on13 de par´ ametros. Las m´ as habituales son las regularizaciones en norma 1 (regularizaciones L1 o lasso) y en norma 2 ( regularizaciones L2 o cresta (ridge))14. M´ as concretamente, si wdenota el vector de todos los pesos del modelo, se consideran ξ1(w):=∥w∥1yξ2(w):=1 2∥w∥2 2=1 2wTw, respectivamente. La influencia de 13Tiene como objetivo delimitar la capacidad del modelo penalizando el valor de algunos de los par´ ametros θ, y con ello, algunas soluciones posibles. La funci´ on de p´ erdida regularizada se expresa como: ˜ L=L+λξ donde Les una funci´ on de p´ erdida, ξ(θ)es el t´ ermino de penalizaci´ on y λ∈Run coeficiente que constituir´ ıa un hiperpar´ ametro que indica la contribuci´ on relativa del t´ ermino ξ, a menudo designado como constante para toda la red. 14M´ as informaci´ on sobre la regularizaci´ on L1 y L2 en el cap´ ıtulo 7 de [15]. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 68 estos t´ erminos en la fase de entrenamiento quedar´ ıa manifestada en las actualizaciones de los par´ ametros tras la aplicaci´ on de los algoritmos de optimizaci´ on (ver Secci´ on 3.2.3.). En particular, calculando las derivadas parciales de la funci´ on de p´ erdida de la expresi´ on (3.18), se obtiene, respectivamente: ∂˜ L ∂w(k) i,j =∂L ∂w(k) i,j +λsigno(w(k) i,j),∂˜ L ∂w(k) i,j =∂L ∂w(k) i,j +λw(k) i,j, para cada k∈ {1, . . . , L},i∈ {1, . . . , Nk},j∈ {1, . . . , Nk−1}. Sin embargo, existen otras estrategias que han ganado popularidad, como la detenci´ on anticipada de las iteraciones del m´ etodo de optimizaci´ on, la supresi´ on aleatoria de un cierto conjunto de neuronas en cada etapa de la fase de entrenamiento, y el aumento del conjunto de datos de entrenamiento mediante simulaciones, entre otras muchas alternativas (v´ ease [25] para m´ as detalles). 3.3.4. N´umero de capas ocultas, neuronas por capa y ´epocas La arquitectura de una red neuronal —en particular, el n´ umero de capas ocultas, neuronas por capa y ´ epocas— influye directamente en su capacidad para generalizar. Un modelo con demasiados par´ ametros puede sobreajustar (overfitting), mientras que uno demasiado simple puede desajustar (underfitting). En la pr´ actica, suele ser m´ as eficaz aumentar la profundidad (capas ocultas) que simplemente a˜ nadir m´ as neuronas por capa, ya que esto reduce la cantidad total de par´ ametros y mejora la eficiencia del aprendizaje. Este equilibrio entre capacidad del modelo y la cantidad de datos disponibles es fundamental para evitar tanto el subentrenamiento como el sobreentrenamiento, tal como se ilustra en la Figura 3.13, donde se muestra la relaci´ on t´ ıpica entre los errores de entrenamiento y test en funci´ on de la capacidad del modelo. Figura 3.13: Relaci´ on t´ ıpica entre los errores de entrenamiento y de test (generalization error) y la capacidad. Fuente: La figura se encuentra en el cap´ ıtulo 5 de [15]. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 69 Adem´ as, el n´ umero de ´ epocas tambi´ en debe ajustarse cuidadosamente: demasiadas pueden llevar al sobreentrenamiento y consumir recursos innecesarios, mientras que pocas podr´ ıan resultar en un aprendizaje insuficiente. Este valor se determina habitualmente por prueba y error, considerando la complejidad del problema y los recursos disponibles. 3.4. Teorema de Aproximaci´on Universal El Teorema de Aproximaci´on Universal establece que una red neuronal con al menos una capa oculta y una funci´ on de activaci´ on adecuada es capaz de aproximar cualquier funci´ on continua definida sobre un conjunto compacto con precisi´ on arbitraria. Este resultado justifica el uso de redes neuronales artificiales en tareas de regresi´ on y aproximaci´ on de funciones. Inicialmente demostrado en 1989 para funciones de activaci´ on sigmoidales [11], el teorema fue generalizado en 1993 para cualquier funci´ on de activaci´ on continua y no polin´ omica [20]. La idea clave detr´ as de estas demostraciones es que combinaciones lineales de funciones no lineales permiten construir aproximaciones de funciones continuas con la precisi´ on deseada. Dado que este trabajo se centra en el uso de redes neuronales artificiales para aproximar funciones, en esta secci´ on presentaremos una versi´ on formal del teorema junto con su demostraci´ on. Para ello, introduciremos algunas definiciones y resultados previos. En t´ erminos pr´ acticos, la aproximaci´ on de una funci´ on continua mediante una red neuronal puede expresarse como una combinaci´ on lineal de la forma: n ∑ j=1 αjσ(y⊤ jx+θj), (3.19) donde xrepresenta la entrada, yj∈Rnyαjson los pesos asociados a las conexiones de la red, θjes el sesgo (bias) aplicado en cada neurona oculta, y σes una funci´ on de activaci´ on no lineal. Esta expresi´ on refleja el funcionamiento de una red neuronal con una sola capa oculta. Siguiendo el enfoque de [11], la demostraci´ on del teorema se basa en mostrar que las sumas de la forma anterior son densas en el espacio de funciones continuas sobre el cubo unidad de dimensi´ on n,In, es decir, el intervalo [0, 1]n, siempre que σsea una funci´ on sigmoidal, como se definir´ a a continuaci´ on. Denotaremos por C(In)al espacio de las funciones continuas definidas en In. Dada f∈ C(In), es decir, una funci´ on continua en In, se utilizar´ a la norma del supremo, que se denotar´ a por ∥ · ∥. Asimismo, se denotar´ a por M(In)al conjunto de las medidas de Borel finitas sobre In. Definici´on 3.4 Diremos que una funci´ on σes discriminadora si, para una medida µ∈M(In), se cumple que: ZIn σ(y⊤x+θ)dµ(x) = 0, ∀y∈Rn,∀θ∈R implica necesariamente que µ=0. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 3. Redes Neuronales Artificiales 76 As´ ı, la funci´ on de p´ erdida total se minimiza para obtener la mejor aproximaci´ on de la soluci´ on de la ecuaci´ on diferencial. La combinaci´ on de todos los t´ erminos de p´ erdida en (3.22) permite abordar la optimizaci´ on como un problema sin restricciones (Secci´ on 2.5). Esto habilita el uso de m´ etodos de descenso de gradiente, como los presentados en las Secciones 2.5 y3.2. El proceso de resoluci´ on se ilustra con un problema de contorno para una EDP, cuya formulaci´ on es18: F(x,t,ux,ut, . . . ) = 0, x∈Ω,t∈[t0,T], u(x,t) = uΓ(t),x∈∂Ω, u(x,t0) = u0(x),x∈Ω, donde t0yTson los tiempos inicial y final, respectivamente, u0(x)es la condici´ on inicial, y uΓ(t)es la condici´ on de frontera en ∂Ω. En este contexto, se tienen Ndat, que se utilizan para entrenar la red neuronal. En el caso de un problema de Cauchy para una EDO, el t´ ermino LB(θ)no es necesario, ya que no se requieren condiciones de contorno, pero s´ ı se mantienen las condiciones iniciales. 18Tambi´ en v´ alida la formulaci´ on que vimos en (2.4). TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas 4Ajuste y aproximaci´on de EDOs y EDPs El presente cap´ ıtulo se dedica a analizar el impacto de la elecci´ on de par´ ametros en el comportamiento, rendimiento y capacidad de ajuste de la red, ya que en cap´ ıtulos anteriores se presentaron los fundamentos y el funcionamiento general de las redes neuronales. Para llevar a cabo este “ajuste”mediante redes neuronales1, la red aprende a asignar entradas a salidas bas´ andose en datos conocidos (por ejemplo, puntos de la soluci´ on exacta o num´ erica, como por ejemplo, la obtenida por el m´ etodo de las Diferencias Finitas o RungeKutta.), sin usar expl´ ıcitamente restricciones de la ecuaci´ on diferencial en la funci´ on de p´ erdida, ni calcular derivadas. En resumen, la red hace una especie de interpolaci´ on o regresi´ on sobre datos2, sin que la ecuaci´ on o la f´ ısica del problema est´ en impuestas. Se aplicar´ a este enfoque a distintos problemas para evaluar la precisi´ on y eficiencia. 4.1. Caso de una EDO Consideremos como primer ejemplo una EDO simple (4.1):    y′(t) = cos(t),t∈[0, 6], y(0) = 0. (4.1) La soluci´ on exacta de esta ecuaci´ on diferencial es: yreal(t) = sin(t),t∈[0, 6]. Debido a que la ecuaci´ on (4.1) tiene una variable dependiente, y, y una independiente, t, nuestra red tendr´ a un nodo en la capa de entrada y otro en la capa de salida. En este momento, ya podemos definir la funci´ on de p´ erdida3: L(θ) = Ldat(θ) = 1 Ndat Ndat ∑ i=1  y(ti)−yreal(ti)   2. (4.2) 1Se pueden consultar [20]y[34] para m´ as informaci´ on sobre el ajuste de ecuaciones diferenciales utilizando redes neuronales. 2Esto lo justifica el Teorema de Aproximaci´on Universal (ver Secci´ on 3.4.) 3Ver Subsecci´ on 3.2.1. 77 “Las redes neuronales son la clave para aproximar soluciones en sistemas complejos.” M. Raissi, P. Perdikaris y G.E. Karniadakis Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 78 Se toma la funci´ on de p´ erdida como el error cuadr´ atico medio entre la soluci´ on aproximada por la red y la soluci´ on exacta en los puntos de entrenamiento (Ndat). Los datos de entrenamiento, {ti}Ndat i=1, son puntos equidistantes del intervalo [0, 6]. De esta forma, incluimos yreal(0) = 0en(4.2). Durante el entrenamiento, se minimizar´ a esta funci´ on de p´ erdida y de esta forma conseguiremos que la red “aprenda”4el comportamiento de la EDO a trav´ es del ajuste por los Ndat proporcionados de la soluci´ on exacta. Los hiperpar´ ametros de la red, presentados en la Secci´ on 3.3, juegan un papel muy importante en el rendimiento de la red. En particular, el learning rate y la funci´ on de activaci´ on son especialmente importantes, ya que su elecci´ on y ajuste adecuados influyen directamente en la capacidad de la red para aprender de manera eficiente y precisa. Tabla 4.1: Hiperpar´ ametros utilizados para el ajuste de (4.1). Hiperpar´ametro Valor Ndat 11 Estructura [1, 11, 1] Iteraciones 20 000 Learning rate 0.001 Optimizador Adam Funci´ on de activaci´ on tanh Error 6.87 ×10−8 Tiempo 24.11 s (a) Datos de entrenamiento. (b) Comparaci´ on de la soluci´ on exacta de (4.1) y la predicci´ on de la red. Figura 4.1: Ajuste problema (4.1). 4L(θ)→0⇐⇒ ∥y(ti)−yreal(ti)∥ → 0⇐⇒ y(ti)→yreal (ti),i=1, . . . , Ndat. Cuantos m´ as puntos le proporcionemos a la red de la soluci´ on exacta, mejor aproximaci´ on se obtendr´ a. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 79 En la Tabla 4.1 se presenta la elecci´ on de los hiperpar´ ametros utilizados para una aproximaci´ on adecuada del problema (4.1). En particular, se han considerado Ndat =10 puntos conocidos de la soluci´ on (v´ ease la Figura 4.1). La red empleada tiene una estructura de tres capas: una capa de entrada y una de salida con una sola neurona cada una, y una capa oculta intermedia con 11 neuronas. El entrenamiento se ha realizado durante 20 000 iteraciones, es decir, el n´ umero de veces que los datos atraviesan la red. Adem´ as, se recoge el valor final de la funci´ on de p´ erdida (Error) y el tiempo total de ejecuci´ on del proceso de entrenamiento. Figura 4.2: Representaci´ on de la evoluci´ on del error (izquierda) y el learning rate durante el entrenamiento (derecha) del problema (4.1). Una vez finalizado el entrenamiento, se puede ver en la Figura 4.1 que es una muy buena aproximaci´ on. Observando tambi´ en en la Figura 4.2, que el error decrece r´ apidamente durante el entrenamiento mientras que, el learning rate se mantiene constante. El c´ odigo completo se puede encontrar en el repositorio [17] con el nombre de EDO.ipynb. A continuaci´ on, analizaremos qu´ e ocurre al modificar individualmente los valores de cada uno de los hiperpar´ ametros presentados en la Tabla 4.1, manteniendo constantes los dem´ as. Estructura (ver Secci´ on 3.1.): Como vemos en las Figuras 4.3 y4.4, tanto una elecci´ on muy simple, como muy compleja puede llevar a una aproximaci´ on inadecuada e incluso llevarnos a fen´ omenos como underfitting ooverfitting y esto har´ a que se incremente el tiempo de ejecuci´ on. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 80 (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.3: Estructura simple ([1,1,1]). (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.4: Estructura compleja ([1,70, 70, 70, 70, 1]). N´ umero de iteraciones: Como se observa en las Figuras 4.5 y4.6, al considerar un n´ umero reducido de iteraciones (800 iteraciones), no se logra una buena aproximaci´ on de la ecuaci´ on (4.1). En este caso, el error disminuye de forma aproximadamente lineal con el n´ umero de iteraciones. Por otro lado, al emplear un n´ umero elevado de iteraciones (100000 iteraciones), se obtiene una predicci´ on precisa, aunque esta misma precisi´ on podr´ ıa alcanzarse utilizando un n´ umero menor de iteraciones, lo que supondr´ ıa una reducci´ on significativa en el tiempo de c´ omputo requerido. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 81 (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.5: Resultado obtenido tras 800 iteraciones. (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.6: Resultado obtenido tras 100000 iteraciones. Funci´ on de activaci´ on (ver Subsecci´ on 3.3.1): Dado que la funci´ on objetivo sin(x)es no lineal, se hace imprescindible utilizar funciones de activaci´ on no lineales para lograr una buena aproximaci´ on. En nuestro caso, empleamos la funci´ on tanh, obteniendo resultados precisos y un ajuste adecuado a la soluci´ on exacta, ver Figuras 4.1 y4.2; por el contrario, al utilizar una funci´ on lineal como ReLU, la red no consigue capturar la naturaleza peri´ odica de sin(x), mostrando trazos lineales y una adaptaci´ on deficiente, como se observa en la Figura 4.7. En definitiva, puede concluirse que la elecci´ on de la funci´ on de activaci´ on desempe˜ na un papel fundamental en la obtenci´ on de una aproximaci´ on precisa de (4.1). TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 82 (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.7: Resultados con la funci´ on de activaci´ on ReLU. Ndat: Dado que se emplea ´ unicamente un conjunto limitado de datos correspondientes a la soluci´ on exacta, resulta de especial inter´ es analizar c´ omo var´ ıa la predicci´ on en funci´ on del n´ umero de datos de entrenamiento utilizados. Si Ndat es muy peque˜ no, por ejemplo Ndat =1, la predicci´ on de la red neuronal se mantiene pr´ acticamente constante en y=0, lo cual era de esperar, ya que el ´ unico dato proporcionado corresponde a la condici´ on inicial (y0=0); v´ ease la Figura 4.8. No obstante, puede observarse que el error disminuye progresivamente. Por otro lado, si Ndat =154, es decir, si se utilizan pr´ acticamente todos los puntos de la soluci´ on exacta (ver Figura 4.19), la predicci´ on obtenida por la red neuronal resulta indistinguible de la soluci´ on exacta, como se aprecia en la Figura 4.10. Este resultado representa una mejora significativa con respecto al obtenido inicialmente, descrito en la Secci´ on 4.1. (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.8: Resultados con Ndat =1. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 83 Figura 4.9: Datos de entrenamiento para el ajuste. (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.10: Resultados con Ndat =154. Optimizador (ver Subsecci´ on 3.2.3.): Al aplicar el optimizador Adagrad., los resultados obtenidos son considerablemente peores, ya que la predicci´ on generada por la red neuronal no guarda similitud alguna con la soluci´ on exacta, como puede observarse en la Figura 4.11. En cambio, el optimizador Adam. proporciona los mejores resultados, logrando una aproximaci´ on mucho m´ as precisa, tal y como se muestra en las Figuras 4.1 y 4.2. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 84 (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 4.11: Resultados con el optimizador Adagrad. 4.2. Caso de un SDO Lo expuesto en la secci´ on anterior puede aplicarse de manera directa y sencilla a sistemas de ecuaciones diferenciales ordinarias (SDOs). La principal diferencia entre tratar un sistema y una sola ecuaci´ on radica en el n´ umero de variables dependientes involucradas; en el contexto de redes neuronales, esto se traduce en el n´ umero de nodos de salida. Asimismo, la funci´ on de p´ erdida se definir´ a ahora como la suma de las diferencias entre los valores conocidos y las aproximaciones obtenidas para cada una de las ecuaciones que forman el sistema. En definitiva, el procedimiento ser´ a an´ alogo al descrito en la Secci´ on 4.1. Trataremos el caso del modelo de FitzHugh–Nagumo, un sistema de ecuaciones diferenciales ordinarias no lineales que describe la activaci´ on y desactivaci´ on de una neurona. Su formulaci´ on es la siguiente:                dv dt =v−v3 3−w+I,t∈[0, 100], dw dt =ε(v+a−bw), v(0) = v0,w(0) = w0, (4.3) donde v(t)representa el potencial de membrana, w(t)es una variable de recuperaci´ on, Ies una corriente externa aplicada, ε,a, y bson par´ ametros positivos del modelo. La funci´ on de p´ erdida es la siguiente: L(θ) = Ldat(θ) = 1 Ndat Ndat ∑ i=1∥yv,real(ti)−yv(ti)∥2+∥yw,real(ti)−yw(ti)∥2. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 4. Ajuste y aproximaci´ on de EDOs y EDPs 85 (a) Datos de entrenamiento. (b) Comparaci´ on de la soluci´ on exacta de (4.3) y la predicci´ on de la red. Figura 4.12: Ajuste problema (4.3). Dado que se ha utilizado un ajuste mediante redes neuronales artificiales, sin incorporar informaci´ on expl´ ıcita sobre las derivadas del sistema, ha sido necesario proporcionar una gran cantidad de datos de entrenamiento. En este enfoque, la red ´ unicamente puede aprender a aproximar la soluci´ on a partir de pares de entrada y salida, lo que resulta insuficiente si los datos no cubren adecuadamente el comportamiento din´ amico del sistema. En sistemas no lineales y acoplados como el de FitzHugh–Nagumo, una red con pocas capas, una arquitectura demasiado simple o una funci´ on de activaci´ on inapropiada no logra capturar la complejidad de la soluci´ on ni la no linealidad del sistema, lo que se traduce en aproximaciones inestables. Por ello, es fundamental emplear una red suficientemente profunda, entrenada durante muchas iteraciones y con una cantidad representativa de datos distribuidos en todo el dominio temporal, para que el modelo logre generalizar y aproximar correctamente la soluci´ on deseada. Los hiperpar´ ametros usamos para obtener la aproximaci´ on que se ha considerado adecuada (v´ ease Figura 4.12) son los siguientes: Tabla 4.2: Hiperpar´ ametros utilizados para el ajuste de (4.3). Hiperpar´ametro Valor Ndat 50 Estructura [1, 50, 50, 50, 2] Iteraciones 20 000 Learning rate 0.001 Optimizador Adam Funci´ on de activaci´ on tanh Error 8.11 ×10−6 Tiempo 33.26 s TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 92 Se puede ajustar el n´ umero de datos para el entrenamiento y observar en cada caso si se produce o no un sobreentrenamiento (ver Subsecci´ on 3.3.3.). 1# Visualizacion puntos entrenamiento 2plt . figure () 3plt . plot (t,y) 4plt . scatter ( t_data , y_data , c="red ") 5plt . title (f’ Puntos entrenamiento : { len ( t_data )} ’) 6plt .show () Antes de la aplicaci´ on de las PINNs se definen funciones clave: una que calcula la derivada de la predicci´ on respecto a los datos de entrada para permitir el backpropagation y devuelve la predicci´ on (y predec) y su derivada (dy dx) (calcul derivadas); otra que calcula la predicci´ on de la red para la condici´ on inicial (cond inicial); y una funci´ on de p´ erdida (PINNLoss) que usa el error cuadr´ atico medio para medir el total del error, sumando el error en la ecuaci´ on diferencial y el de las condiciones iniciales, con pesos iguales para ambos (wF=wdat =1) (ver (3.22)). 1# Calcular la derivada 2def calcul_derivadas (model , x): 3x.requires_grad_(True) # Activar para el seguimiento de gradientes 4y_predec = model (x) # Predicciones de la red para las entradas 5dy_dx = torch . autograd . grad ( y_predec , x, grad_outputs = torch . ones_like ( y_predec ) , create_graph = True )[0] 6return dy_dx , y_predec 7 8# Calcular la condicion inicial 9def cond_inicial (model , x_inicial ): 10 return model ( x_inicial ) 1# Funcion de perdida 2class PINNLoss ( nn . Module ): 3def __init__ ( self ): 4super ( PINNLoss , self ). __init__ () 5self . mse_loss = nn. MSELoss () 6 7def forward (self , dy_dx_pred , pde_target , y, y_data ): 8loss_pde = self . mse_loss ( dy_dx_pred , pde_target ) 9loss_initial_condition = self . mse_loss (y, y_data ) 10 total_loss = (6e -2) * loss_pde + loss_initial_condition 11 return total_loss TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 93 La funci´ on forward recibe como argumentos de entrada dy/dx pred, que es la derivada de la predicci´ on realizada por la red (realizada por la funci´ on compute derivative), pde target que representa la ecuaci´ on diferencial, y yla predicci´ on de la red para el dato inicial, as´ ı como y-data, el dato inicial del problema. Como pen´ ultimo paso, proceder´ ıamos a entrenar la red neuronal utilizando la funci´ on train. 1# Entrenamiento de la red neuronal 2def train ( model , optimizer , loss_fn , t_data , t_pr , num_epoch ): 3loss_history = [] 4learning_rates= [] 5 6for epoch in range ( num_epoch ): 7model . train () 8y = model ( t_data ) # Datos de entrenamiento + condicion inicial 9# yhp = model (t_p ) # Evaluacion de la EDO 10 dx , yhp = calcul_derivadas (model , t_pr) # Calcular la derivada del modelo con respecto a t_pr 11 pde_target = 2* t_pr # Definicion de la EDO 12 loss = loss_fn (dx , pde_target , y, y_data ) 13 14 # Optimizacion 15 optimizer . zero_grad () # Poner a cero los gradientes acumulados 16 loss . backward () # Retropropagacion backward 17 optimizer . step () # Actualizacion de los parametros mediante el optimizador 18 # Almacenamiento 19 loss_history . append ( loss . item () ) # Error 20 21 current_lr = optimizer . param_groups [0][ ’lr ’] 22 learning_rates . append ( current_lr ) # learning rate 23 24 # Imprimir el progreso 25 if ( epoch + 1) % print_freq == 0: 26 print (f’Epoch [{ epoch +1}/{ num_epoch }] , Total Loss : {loss . item ()}’) 27 return loss_history , learning_rates # Devolver la lista de perdida al final del entrenamiento y el lerning rate Por ´ ultimo, definimos los hiperpar´ ametros de la red neuronal (ver Subsecci´ on 3.3.4.). La estructura de la red elegida es [1, 5, 1], el learning rate es 0.01 (l´ ınea 5), se utiliza el optimizador TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 94 Adam (ver Subsecci´ on 3.2.3.), hemos elegido 8 puntos de colocaci´ on equiespaciados y 12000 iteraciones. Todos estos datos se pueden alterar para ver los cambios en la predicci´ on de la soluci´ on por la red. 1# Instancia del modelo y del optimizador 2# Parametros del modelo 3input_size = 1 # Numero de entradas de la red 4hidden_size = 5 # Numero de neuronas en la capa oculta 5# hidden_size = 60 # Opciones alternativas del tamano de la capa oculta 6# hidden_size = 200 7output_size = 1 # Numero de salidas de la red 8 9# Tasa de aprendizaje 10 learnig_rate = 0.01 11 12 model = PINN ( input_size , hidden_size , output_size ) 13 14 # Definicion del optimizador para la actualizacion de los pesos de la red 15 optimizer = optim . Adam ( model . parameters () , lr = learnig_rate ) 16 17 # Funcion de perdida para calcular el error de la red 18 loss_fn = PINNLoss () 19 20 # Generacion datos de entrenamiento 21 t_pr = torch . linspace (0 ,1 ,8) . view ( -1 ,1) . requires_grad_ ( True ) 22 23 start_time = time. time () # Tiempo de inicio 24 25 # Numero de iteraciones : 26 num_epoch = 12000 27 28 # Entrenamos el modelo utilizando la funcion de entrenamiento 29 loss_history , learning_rates = train ( model , optimizer , loss_fn , t_data , t_pr , num_epoch ) 30 31 end_time = time .time () # Tiempo de finalizacion 32 33 # Calculamos el tiempo transcurrido durante el entrenamiento 34 elapsed_time = end_time - start_time 35 print (f’ ’) 36 print (f’ Tiempo de ejecucion : { elapsed_time } segundos ’) 1Epoch [2000/12000] , Total Loss : 0.016497308388352394 TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 95 2Epoch [4000/12000] , Total Loss : 0.0013334592804312706 3Epoch [6000/12000] , Total Loss : 0.0007554582552984357 4Epoch [8000/12000] , Total Loss : 0.00037803396116942167 5Epoch [10000/12000] , Total Loss: 0.00012690587027464062 6Epoch [12000/12000] , Total Loss: 6.54058821965009e -05 7Tiempo de ejecucion : 32.226006507873535 segundos Como resultado obtenemos la iteraci´ on actual y el error cometido por la red en esa etapa del entrenamiento. Una vez completado este proceso, la red neuronal ya est´ a entrenada. Por lo tanto, es el momento de obtener su predicci´ on para el problema (5.1). 1with torch . no_grad () : # Evaluacion en el modelo 2ypred = model (t) 3 4# Grafica comparacion 5plt . figure () 6plt . plot (t, ypred . detach () , c=" green " , label =" Solucion exacta ") 7plt . plot (t,y,c=" blue ", linestyle =" --", label =" Solucion NN ") 8plt . legend () 9plt . title (f’ Prediccion de la red con { num_epoch } iteraciones ’ ) 10 plt .show () 11 12 # Graficas de evolucion del error y el learning rate 13 plt . figure () 14 15 # Graficar la evolucion de la perdida 16 plt . plot ( range (1 , len( loss_history ) + 1) , loss_history , label = ’Training Loss’, color = ’blue ’) 17 plt . xlabel ( ’Epoca ’) 18 plt . ylabel ( ’Perdida’) 19 plt . title ( ’Error a lo largo del entrenamiento ’) 20 plt . yscale ( ’log ’) 21 plt .show () 22 23 plt . figure () 24 # Graficar la evolucion del learning rate 25 plt . plot ( range (1 , len( loss_history ) + 1) , learning_rates , label = ’ Learning Rate ’, color = ’red ’) 26 plt . xlabel ( ’Epoca ’) 27 plt . ylabel ( ’Learning Rate ’) 28 plt . title ( ’Evolucion del Learning Rate ’) 29 30 # Mostrar la grafica TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 96 31 plt .show () (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 5.1: Soluci´ on aproximada mediante PINN de (5.1). El c´ odigo completo necesario para la resoluci´ on de (5.1) se puede encontrar en el repositorio [17] con el nombre de EDO2.ipynb. 5.3. Caso de un SDO Consideremos ahora un SDO dado por:              dy1 dt =ky2 V2 −y1 V1,t∈[0, 40] dy2 dt =ky1 V1 −y2 V2, y1(0) = 1.0, y2(0) = 0.0. (5.2) Corresponde a un modelo de difusi´ on elegido por su simplicidad estructural y su comportamiento f´ ısico representativo, lo que lo hace ideal para comprobar si la PINN es capaz de aprender correctamente la f´ ısica del sistema. El sistema (5.2) modela un proceso de intercambio entre dos compartimentos, como ocurre en fen´ omenos de farmacocin´ etica, donde una sustancia se distribuye entre distintos vol´ umenes corporales y sirve como base para problemas m´ as complejos. Adem´ as, al depender ´ unicamente del tiempo y no requerir condiciones de frontera espaciales, resulta especialmente adecuado para una implementaci´ on sencilla con PINNs. En esta secci´ on solo indicaremos las modificaciones que habr´ ıa que realizar al c´ odigo de la Secci´ on 5.2. para la resoluci´ on de (5.2). Los valores de la constante de difusi´ on, k, el volumen del primer compartimento, V1, y el volumen del segundo compartimento, V2, se a˜ naden como datos al principio del c´ odigo. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 97 En el problema (5.1) conoc´ ıamos la soluci´ on exacta. En este caso, sin embargo, hemos recurrido a una aproximaci´ on num´ erica utilizando la funci´ on solve ivp4(ver Figura 5.2). Adem´ as, en el archivo SD0 Difusion.ipynb de [17], se ha llevado a cabo una aproximaci´ on adicional empleando el m´ etodo de Runge-Kutta-Simpson de tercer orden. De este modo, se ilustran distintas estrategias de resoluci´ on num´ erica para el mismo problema, lo que permite comparar y analizar diversos enfoques. (a) Soluci´ on exacta y aproximaci´ on. (b) Error. Figura 5.2: Soluci´ on aproximada mediante PINN de (5.2). Lo primero que debemos modificar es la definici´ on de calcul derivadas. Como tenemos un problema con tres variables dependientes, debemos calcular la derivada con respecto a tde cada una de ellas. Aqu´ ı tenemos el c´ odigo: 1# Calculamos la derivada 2def calcul_derivadas (model , x): 3g = x. clone () 4g.requires_grad_(True) # Activar para el seguimiento de gradientes 5y_predec = model (g) # Predicciones de la red para las entradas 6r1= y_predec [: ,0]. view (1500 ,1) 7r2= y_predec [: ,1]. view (1500 ,1) 8r1_t = torch . autograd . grad (r1 , g , grad_outputs = torch . ones_like ( r1 ), retain_graph = True, create_graph=True)[0] 9r2_t = torch . autograd . grad (r2 , g , grad_outputs = torch . ones_like ( r2 ), retain_graph = True, create_graph=True)[0] 10 return r1 , r2 , r1_t , r2_t 11 12 # Funcion para calcular la condicion inicial 4Para mayor informaci´ on consultar el enlace, https://www.slingacademy.com/article/scipy-using-integrate-solve-ivpfunction-4-examples/, o la documentaci´ on, https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve ivp.html. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 98 13 def cond_inicial (model , x_initial ): 14 return model ( x_initial * torch . ones (1 ,1) ) Cada columna de la salida se corresponde con una variable dependiente. Por tanto, r 1 se encuentra en la primera columna y r 2 en la segunda. Adem´ as, debemos modificar la funci´ on de p´ erdida, ya que debemos incluir las condiciones iniciales y la definici´ on del sistema de ecuaciones diferenciales. Se define como la suma de los errores de cada una de las ecuaciones y condiciones iniciales que conforman el sistema (ver (3.22)). 1class PINNLoss ( nn . Module ): 2def __init__ ( self ): 3super ( PINNLoss , self ). __init__ () 4self . mse_loss = nn. MSELoss () 5 6def forward (self ,model , r1_t , r2_t , r1 , r2 , t0 , y0): 7# r1_t , r2_t: Derivadas temporales estimadas por el modelo 8# r1 , r2: Predicciones del modelo para las cantidades en omega_1y omega_2 9rhs1 = (k * (r2 / V2) - k * (r1 / V1)). float () .to (r1 . device ) 10 rhs2 = (k * (r1 / V1) - k * (r2 / V2)). float () .to (r2 . device ) 11 loss_pde = self . mse_loss ( r1_t , rhs1 ) 12 loss_pde += self . mse_loss ( r2_t , rhs2 ) 13 y_0 = cond_inicial (model , t0 ) 14 loss_initial_condition = self . mse_loss (y_0 , y0) 15 total_loss = loss_pde + loss_initial_condition 16 return total_loss Como podemos observar, calculamos el error comparando la predicci´ on de la red con cada una de las ecuaciones que definen el problema (ver Figura 5.2). Por ´ ultimo, tenemos que cambiar la estructura de nuestra red, pues al tratarse de un sistema compuesto por dos ecuaciones, ser´ a necesario que la capa de salida est´ e formada por 2 neuronas (es decir, output size=2). En este caso, no hemos fijado el learnig rate = 0.001 (valor constante) como en la Secci´ on 5.2., sino que hemos a˜ nadido a la funci´ on train el siguiente c´ odigo: 1scheduler . step () # Paso actualizacion learning rate y en la parte de definici´ on de los hiperpar´ ametros de la red hemos a˜ nadido esto: 1scheduler = optim . lr_scheduler . StepLR ( optimizer , step_size =30 , gamma =0.99) 5para que var´ ıe su valor a lo largo del entrenamiento, multiplic´ andose, en este caso, ν, por 0.99 5gamma es el par´ ametro de decaimiento; equivale al k(ver Subsecci´ on 3.2.3.). TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 99 cada 30 iteraciones. El c´ odigo completo necesario para la resoluci´ on de (5.2) se puede encontrar en el repositorio [17] con el nombre de SDO Difusion.ipynb. 5.4. Caso de una EDP En esta secci´ on se abordar´ a la resoluci´ on de ecuaciones en derivadas parciales (EDPs) mediante el uso de redes neuronales informadas por la f´ ısica (PINNs), implementadas en TensorFlow. En primer lugar, se considerar´ a un problema directo (OndasUnidim.ipynb), en el que se conocen completamente las condiciones del sistema: coeficientes, condiciones iniciales y de contorno, y fuerzas externas, y se busca aproximar la soluci´ on de la EDP. A continuaci´ on, se tratar´ a un problema inverso (CalorUnidim.ipynb), en el que, a partir de observaciones parciales, se intentar´ a recuperar informaci´ on desconocida del sistema, como un par´ ametro o una fuente. Dado que se utilizar´ a TensorFlow para la implementaci´ on, lo primero que haremos ser´ a importar los paquetes necesarios, tal como se indic´ oenlaSecci´ on 5.1. 5.4.1. Problema directo Consideramos la ecuaci´ on en derivadas parciales de ondas unidimensional siguiente:                        utt −c2uxx =f(x,t),(x,t)∈Ω×(t0,t1), u(x0,t) = ι(t),t∈(t0,t1), ux(x1,t) = κ(t),t∈(t0,t1), u(x,t0) = g(x),x∈Ω, ut(x,t0) = h(x),x∈Ω. (5.3) donde u:Ω×(t0,t1)→Res la soluci´ on del sistema, Ω= (x0,x1)⊂Res el dominio espacial, (t0,t1)⊆Res el intervalo temporal con x0,x1,t0,t1∈Rtales que x0<x1yt0<t1yc∈R+, un par´ ametro relacionado con la velocidad de desplazamiento de la onda en el medio el´ astico (considerada constante por simplicidad). Se suponen conocidos tambi´ en, las funciones f:Ω×(t0,t1)→R,g,h:Ω→Ryι,κ: (t0,t1)→R. Se trata de la ecuaci´on de ondas unidimensional, donde u=u(x,t)representa la funci´ on inc´ ognita, ces la velocidad de propagaci´ on de la onda, y f(x,t)es una fuente externa. En primer lugar, se definen los par´ ametros y las ecuaciones que describen el problema. A continuaci´ on, se establecen los puntos de colocaci´ on (ver Figura 5.1) que conforman el conjunto de entrenamiento: 200 para la ecuaci´ on en derivadas parciales (EDP), 100 para las condiciones TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 100 de contorno y 25 para las condiciones iniciales, lo que suma un total de 325 puntos. Para el conjunto de prueba (test), se consideran 200 puntos adicionales. Finalmente, se define el dominio sobre el cual se plantea el problema. En segundo lugar, gracias a los m´ odulos integrados en la librer´ ıa DeepXDE, se puede construir r´ apidamente una PINN capaz de aproximar la soluci´ on del problema. En particular, se emplea una red neuronal con dos entradas (coordenadas espacio-temporales), cinco capas ocultas con 40 neuronas cada una y una capa de salida con una ´ unica neurona. Toda la red utiliza la tangente hiperb´ olica como funci´ on de activaci´ on, y los pesos se inicializan siguiendo la distribuci´ on uniforme de Glorot6. 1capas = [2] + [40] * 5 + [1] 2func_activacion = " tanh " 3learning_rate = 1e -3 4iters = 10000 5tamanio_lotes = 400 6initializer = " Glorot uniform " Para llevar a cabo el entrenamiento, se ha abordado el problema de optimizaci´ on descrito en la ecuaci´ on (3.22), utilizando el error cuadr´ atico medio como funci´ on de p´ erdida (ver Secci´ on 3.5.). Con el objetivo de minimizar tanto el error de entrenamiento como el de generalizaci´ on (ver Figura 5.1), se ha aplicado un esquema de entrenamiento en dos fases: inicialmente con el optimizador Adam, seguido del m´ etodo L-BFGS7. Durante la primera fase se han llevado a cabo 10000 iteraciones con un learning rate de 10−3. En ambos m´ etodos se ha implementado la t´ ecnica de minibatching, dividiendo el conjunto de entrenamiento en lotes de tama˜ no 400 (ver Subsecci´ on 3.2.3). 1# Construccion de la red neuronal prealimentada (FFNN) que constituye la PINN 2net = dde .maps .FNN (capas , func_activacion , initializer ) 3 4# Definicion del modelo completo 5model = dde . Model ( data , net ) 1# DOBLE ENTRENAMIENTO ( reduce errores de entrenamiento y de generalizacion): 2# Primer entrenamiento empleando el metodo Adam. 3model . compile(" adam ", lr=learning_rate , loss=’MSE ’) 4loss_history , train_state = model . train ( iterations = iters , batch_size = tamanio_lotes ) 5 6Tambi´ en conocida como inicializaci´ on Xavier (ver Subsecci´ on 3.3.2). 7Es un algoritmo Broyden-Fletcher-Goldfarb-Shanno de memoria limitada. Tiene una convergencia m´ as precisa y una vez cerca del ´ optimo, encuentra m´ ınimos locales m´ as finos usando informaci´ on de gradientes, pero sin calcular ni almacenar la matriz Hessiana. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Aproximaci´ on usando PINNs y la implementaci´ on con Python 101 6# Segundo entrenamiento empleando el metodo L-BFGS. 7model . compile("LBFGS", loss =’MSE ’) 8loss_history , train_state = model . train ( batch_size = tamanio_lotes ) Con los hiperpar´ ametros definidos, se alcanza un error de entrenamiento de 6.16 ·10−4y un error de generalizaci´ on de 6.90 ·10−4, como se puede observar en la Figura 5.3. (a) Datos de entrenamiento y test. (b) Errores de entrenamiento y generalizaci´ on. Figura 5.3: Entrenamiento de la PINN para el problema (5.3). Una vez finalizado el entrenamiento de la PINN, se utiliza la soluci´ on exacta obtenida mediante la f´ ormula de D’Alembert para compararla con la predicci´ on de la PINN. Se generan tanto gr´ aficas como animaciones de la soluci´ on exacta y de la aproximaci´ on obtenida. (a) Soluci´ on exacta y aproximaci´ on. (b) Error de predicci´ on en norma L2. Figura 5.4: Soluci´ on aproximada mediante PINN de (5.3). De este modo, se calcula el error cometido, que en este caso se ha medido mediante la norma TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Bibliograf´ ıa 108 [15] I. Goodfellow, Y. Bengio and A. Courville. Deep Learning. An MIT Press book, 2016. (Enlace). [16] A. Griewank y A. Walther. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. Society for Industrial and Applied Mathematics (SIAM), 2008. [17] F. Guijarro. Neural-Network-Based-Solutions-to-Differential-Equations. Repositorio GitHub, 2025. (Enlace). [18] C. F. Higham and D. J. Higham. Deep learning: An introduction for applied mathematicians. arXiv, 2018. (Art´ ıculo). [19] P. H. W. Hoffmann. A Hitchhiker’s Guide to Automatic Differentiation. Numerical Algorithms, 72(4), 775-811. arXiv, 2015. (Art´ ıculo). [20] J. Jentzen, Kuckuck and v. Wurstemberger. Mathematical Introduction to Deep Learning: Methods, Implementations, and Theory. arXiv, 2023. (Enlace). [21] F. John. Partial differential equations, volume 1. Springer, 1991. (Enlace). [22] G. E. Karniadakis, I. G. Kevrekidis, L. Lu, P. Perdikaris, S. Wang and L. Yang. Physicsinformed machine learning. Nature Reviews Physics, 2021. (Art´ ıculo). [23] S. Kesavan. Functional Analysis. Springer, 2023. (Enlace). [24] S. Kim. Numerical Methods for Partial Differential Equations. Springer, 2023. (Enlace). [25] S. Kollmannsberger, D. D’Angella, M. Jokeit and L. Herrmann. Deep learning in computational mechanics: An introductory course. Springer, 2021. [26] W.S. McCulloch, W. Pitts. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics 5,115–133 (1943). (Art´ ıculo). [27] X. Meng, Z. Li, D. Zhang and G. E. Karniadakis. PPINN: Parareal Physics-Informed Neural Network for time-dependent PDEs. arXiv, Sep 2019. (Art´ ıculo). [28] M. Minsky, S. A. Papert. PerceptronsAn Introduction To Computational Geometry. The MITPress, 1987. [29] J. R. Munkres. Topolog´ıa. Prentice Hall, second edition, 2002. [30] V. Mu˜ noz y J. J. Madrigal. Topolog´ıa algebraica. Sanz y Torres, 2015. [31] K. P. Murph. Machine Learning: A Probabilistic Perspective. The MIT Press, 2012. [32] M. Nielsen. Neural Networks and Deep Learning, 2015. [33] M. Raissi, P. Perdikaris and G. E. Karniadakis. Physics Informed Deep Learning (Part I): Datadriven Solutions of Nonlinear Partial Differential Equations. arXiv, 2017. (Art´ ıculo). TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas Cap´ ıtulo 5. Bibliograf´ ıa 109 [34] M. Raissi, P. Perdikaris, N. Ahmadi, G. E. Karniadakis. Physics-Informed Neural Networks and Extensions. arXiv, 2024. (Art´ ıculo). [35] S. Samarasinghe. Neural Networks for Applied Sciences and Engineering: From Fundamentals to Complex Pattern Recognition. CRC Press, 2016. [36] T. J. Sejnowski. The Deep Learning Revolution. The MIT Press, 2018. [37] L. Silvestre. Lecture Notes on Partial Differential Equations. Department of Mathematics, University of Chicago, 2024. (Enlace). [38] E. Stevens, L. Antiga y T. Viehmann. Deep Learning with PyTorch. Manning Publications, 2020. [39] G. Strang. Introduction to Linear Algebra. Wellesly-Cambridge Press, 1988. [40] D. N. Tanyu, J. Ning, T. Freudenberg, N. Heilenk¨ otter, A. Rademacher, U. Iben and P. Maass. Deep learning methods for partial differential equations and related parameter identification problems. Inverse Problems, 39(10), 103001. arXiv, 2023. (Art´ ıculo). [41] A. E. Taylor. Introduction to Functional Analysis. Wiley-Interscience, 1981. (Enlace). [42] J. Torres. Python Deep Learning. Introduccion pr´actica con Keras y TensorFlow 2. Marcombo, first edition, 2020. [43] Jake VanderPlas. Python for Data Science Handbook. O’Reilly Media, 2016. (Enlace). [44] Neha Yadav, Anupam Yadav and Manoj Kumar. An Introduction to Neural Network Methods for Differential Equations. Springer, 2015. TFG F´ atima Guijarro L´ opez. Grado en Matem´ aticas