Modelado de Redes Neuronales
Ecuaciones
Diferenciales
Sección D04
Ingeniería Informática
Ramirez Lopez Ivette Araceli
Urenda Cázares Ernesto
Fecha de entrega: 21/05/2024
Índice:
En este proyecto, abordaremos el modelado de redes neuronales
utilizando ecuaciones diferenciales, lo cual es fundamental en el
campo de la informática, especialmente en el área de aprendizaje
automático y redes neuronales artificiales. Se investigara cómo las
ecuaciones diferenciales pueden describir el comportamiento
dinámico de una red neuronal durante el proceso de
entrenamiento, lo que nos permite comprender mejor el proceso
de optimización y mejorar los algoritmos de entrenamiento de
redes neuronales.
Marco teórico
Las ecuaciones diferenciales son herramientas matemáticas
utilizadas para entender cómo cambian las cosas con el tiempo o
en relación con otras variables.
En su forma más básica, una ecuación diferencial relaciona una
función desconocida con sus derivadas. Estas ecuaciones son
fundamentales en diversos campos científicos y de ingeniería para
describir fenómenos que cambian continuamente con respecto al
tiempo u otras variables independientes.
En la informática, estas ecuaciones nos ayudan a modelar y
simular sistemas que cambian con el tiempo, como el
1
comportamiento de las redes neuronales artificiales. Las redes
neuronales son modelos de inteligencia artificial inspirados en el
cerebro humano, las cuales estan formadas por "neuronas"
interconectadas, en las que cada una toma ciertas entradas, las
combina de cierta manera y produce una salida.
Existen varios tipos de ecuaciones diferenciales, entre los que se
incluyen las ecuaciones diferenciales ordinarias (EDO) y las
ecuaciones en derivadas parciales (EDP). Las EDO involucran una
variable independiente y una o más variables dependientes,
mientras que las EDP involucran varias variables independientes y
sus derivadas parciales.
Por otro lado, las redes neuronales artificiales son modelos
computacionales inspirados en el funcionamiento del cerebro
humano. Están compuestas por neuronas artificiales
interconectadas, organizadas en capas (capa de entrada, capas
ocultas y capa de salida). Cada neurona realiza una combinación
lineal de las entradas ponderadas por pesos, seguida de una
función de activación no lineal. Las redes neuronales son capaces
de aprender a partir de datos mediante el ajuste de los pesos de
las conexiones entre neuronas durante un proceso de
entrenamiento.
2
Durante el entrenamiento de una red neuronal, queremos ajustar
los "pesos" de las conexiones entre las neuronas para que la red
haga predicciones más precisas. Esto implica resolver un
problema de optimización, donde tratamos de minimizar la
diferencia entre las predicciones del modelo y la realidad.
Asi es como las ecuaciones diferenciales nos ayudan a entender
cómo cambian las cosas en el tiempo, mientras que las redes
neuronales son modelos de inteligencia artificial que utilizamos
para hacer predicciones y tomar decisiones. Combinar estos dos
conceptos nos permite entender mejor cómo evolucionan las
redes neuronales durante su entrenamiento, lo que es esencial
para desarrollar algoritmos de inteligencia artificial efectivos.
Planteamiento del problema
Nos proponemos abordar el desafío de modelar el
comportamiento dinámico de una red neuronal durante su
proceso de entrenamiento utilizando ecuaciones diferenciales.
Este problema es relevante en el campo de la informática, donde
las redes neuronales son utilizadas en aplicaciones de aprendizaje
automático y reconocimiento de patrones.
El objetivo principal es comprender cómo evolucionan los pesos
de las conexiones entre las neuronas de una red neuronal artificial
a medida que se expone a datos de entrenamiento y recibe
retroalimentación sobre sus predicciones. Este proceso es
3
fundamental para que la red neuronal aprenda a realizar
predicciones precisas y pueda generalizar correctamente nuevos
datos.
Para abordar este problema, se usan herramientas matemáticas en
forma de ecuaciones diferenciales para modelar cómo cambian
los pesos de las conexiones neuronales en respuesta a las
actualizaciones graduales durante el proceso de entrenamiento.
Además, exploraremos cómo estos modelos pueden ayudarnos a
comprender mejor los desafíos, así como a desarrollar estrategias
más efectivas para su optimización.
Desarrollo y solución
Para abordar el problema planteado, nos basamos en un modelo
de red neuronal simple y utilizaremos ecuaciones diferenciales
para describir cómo evolucionan los pesos de las conexiones
neuronales durante el proceso de entrenamiento.
- Primero, utilice Python junto con la biblioteca TensorFlow
para implementar una red neuronal artificial simple. Esta
incluye una capa de entrada, una o más capas ocultas y una
capa de salida. Cada neurona en las capas ocultas utilizará
una función de activación no lineal.
- Despues, use el conjunto de datos de entrenamiento para
ajustar los pesos de la red neuronal. Durante cada iteración
del proceso de entrenamiento, calcule la pérdida entre las
predicciones de la red y las tags reales, y luego use el
4
algoritmo de descenso de gradiente para actualizar los pesos
de manera que la pérdida sea minima.
- Siguiente, implemente ecuaciones diferenciales para modelar
cómo cambiaron los pesos de las conexiones neuronales en
respuesta a las actualizaciones graduales durante el
entrenamiento. Esto permite entender cómo los pesos
convergen hacia valores óptimos a medida que la red
neuronal se entrena con más datos.
El código implementa un modelo de regresión lineal utilizando una red neuronal con una sola
capa densa. El objetivo es entrenar este modelo para que pueda predecir la relación entre los
datos de entrada X_train y los datos de salida y_train.
Al ejecutar el código, se entrenan los pesos del modelo utilizando el método de descenso de
gradiente durante un número determinado de épocas. La tasa de aprendizaje controla la
magnitud de los ajustes a los pesos en cada iteración del descenso de gradiente.
5
El resultado que obtuvimos indica que el modelo ha aprendido a ajustar los parámetros de
manera que la función que representa se ajuste lo mejor posible a los datos de entrenamiento.
En este caso, los pesos son aproximadamente:
peso de la conexión entre la entrada y la neurona de salida: alrededor de 2.392, y sesgo de la
neurona de salida: alrededor de 2.327
Estos valores indican que el modelo ha aprendido una relación muy cercana a la función que
generó los datos de entrenamiento. Los valores de los pesos son aproximadamente cercanos a
los valores reales de la relación que se utilizó para generar los datos de entrenamiento (3 para el
peso y 2 para el sesgo). Por lo cual concluimos que el modelo ha aprendido con éxito a
aproximar la relación lineal entre los datos de entrada y salida.
Conclusión
Como conclusión de este proyecto, se abordó el desafío de
modelar el comportamiento dinámico de una red neuronal durante
su proceso de entrenamiento utilizando ecuaciones diferenciales
a través de la implementación de un modelo de red neuronal
simple y la descripción de cómo evolucionan los pesos de las
conexiones neuronales durante el entrenamiento. Fue asi como
se logro profundizar en lacomprensión de los procesos del
aprendizaje automático, pues al analizar los resultados obtenidos,
se observa cómo los pesos de las conexiones neuronales
convergen hacia valores óptimos a medida que la red neuronal se
entrena con más datos.
Referencias bibliográfica
6
Tensorflow, una red neuronal muy simple para resolver ecuaciones diferenciales
parciales y diferenciales ordinarias - programador clic. (s. f.).
https://programmerclick.com/article/3555763121/
Inteligencia. (2022, 12 abril). Ecuaciones diferenciales en inteligencia artificial | ICCSI.
ICCSI.
https://iccsi.com.ar/ecuaciones-diferenciales-aplicadas-a-inteligencia-artificial/#:~:t
ext=Un%20ejemplo%20de%20aplicaci%C3%B3n%20de%20ecuaciones%20difere
nciales%20en,pesos%20sin%C3%A1pticos%20en%20funci%C3%B3n%20de%20la
s%20respuestas%20obtenidas.
Uso de redes neuronales para resolver ecuaciones diferenciales ordinarias. (2021, 25
febrero). ICHI.PRO.
https://ichi.pro/es/uso-de-redes-neuronales-para-resolver-ecuaciones-diferenciale
s-ordinarias-184170041679069#google_vignette
Introducción a TensorFlow. (s. f.). TensorFlow. https://www.tensorflow.org/learn?hl=es-419
7
Contexto
Consejo: piensa en CUÁNDO y DÓNDE sucede la historia, y en cuánto TIEMPO transcurre
desde el principio hasta el final. Describe el contexto como si tus compañeros estuvieran dentro
de la historia.
Consejo: busca en Internet una imagen que refleje el entorno donde se desarrolla la historia
y sustituye la de arriba.
8
Personajes
Consejo: ¿quién es el personaje principal? ¿Tiene amigos o personas que le ayudan? ¿Hay
alguien que se enfrente al personaje principal? Intenta no limitarte a citar los personajes: indica
qué peculiaridad les distingue.
Consejo: busca una imagen del personaje principal en Internet, o una que pueda servir para
identificarlo, y sustituye la de arriba.
9
Argumento
1. Principio: ¿qué sucedió al principio?
2. Mitad: por lo general, el punto álgido de la historia se desarrolla hacia la mitad de esta.
3. Final: ¿cuál fue el desenlace?
Consejo: piensa en los momentos más importantes de la historia. Procura no volver a contarla
entera, solo debes dar los detalles más importantes del argumento para que alguien que no haya
leído el libro sepa de qué va.
10
Conclusión
Consejo: es importante que des tu opinión. ¿Le recomendarías este libro a alguien?
11