Skip to content

Repositorio donde programo varias redes neuronales artifificiales desde cero

Notifications You must be signed in to change notification settings

jrguignan/Redes_Neuronales-from_scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Índice

Una red neuronal es un modelo computacional inspirado en la estructura y funcionamiento del cerebro humano. Consiste en una red de nodos interconectados, organizados en capas, donde cada nodo representa una neurona artificial que procesa información. Estas redes pueden aprender y realizar tareas complejas mediante el ajuste de los pesos de las conexiones entre nodos, utilizando algoritmos de aprendizaje automático. Las redes neuronales se utilizan en una variedad de aplicaciones, incluyendo reconocimiento de imágenes, procesamiento de lenguaje natural, pronóstico del tiempo, diagnóstico médico y conducción autónoma, entre otros.

Las ventajas de las redes neuronales incluyen su capacidad para aprender patrones y realizar tareas complejas de forma autónoma, su adaptabilidad a una amplia gama de problemas y su capacidad para mejorar su rendimiento con grandes cantidades de datos. Además, las redes neuronales pueden manejar datos no lineales y realizar tareas de manera eficiente una vez entrenadas. Su utilidad radica en su capacidad para automatizar tareas difíciles o repetitivas, identificar patrones en grandes conjuntos de datos, tomar decisiones basadas en datos y realizar predicciones precisas en diversas áreas de aplicación, lo que las convierte en una herramienta invaluable en el campo del aprendizaje automático y la inteligencia artificial.


Volver al Índice

Estructura General de los Distintos Archivos


Creación de Datos

Se crea una serie de puntos de una función lineal y luego se pasan por una función seno, para generar una función medianamente sencilla a puntos.

Forward Pass

Se inicializa de manera aleatoria los pesos y los bias de la red, y se multiplican los valores por los pesos, luego se le suma el bias, para después hacer la composición con la función de activación.

Se utilizó una función sigmoide como función de activación.

Función de Pérdida

Se calcula el error cuadratico a partir de los datos predichos y los datos originales.

Descenso del Gradiente - Backpropagation

El descenso del gradiente se aplica sólo para las redes de una sola capa, en caso de poseer más de una capa se debe aplicar tambien el algoritmo de backpropagation.

Repositorio donde explico un poco mejor el descenso del gradiente, video donde se explica el algoritmo.

video donde se explica el algoritmo de backpropagation.


Volver al Índice

Red neuronal de 3 neuronas y una capa única:

Se ve como los puntos proporcionados por la red se aproximan en cieto dominio de la función


Volver al Índice

Red neuronal de 6 neuronas y una capa única:

Es una predicción muy similar a la red de 3 capas únicas.


Red neuronal con dos capas de 3 neuronas cada una (sin matrices):


Red neuronal con dos capas de 3 neuronas cada una (con matrices):

Para estos dos casos se utilizaron más datos para el entrenamiento, ya que se apreción una mejora al aumentar los datos. Se ve una mejor aproximación que los casos de capas únicas.

Se vio un cambio considerable en el tiempo de ejecución entre la red construida con matrices y sin matrices. En esto se ve que la arquitectura de las computadores se contruye en función de cuentas de algebra lienal.


Volver al Índice

Red neuronal Tensorflow:

Se ve como la red construida con Tensorflow-Keras tiene una proximación muy similar a la red de dos capas de 3 neuronas.


Volver al Índice

Se utilizo la funcion np.meshgrid, para crear un mallado 2D (dominio) y luego pasar este mallado por una funcion y generar Z 2D (rango)

Red neuronal de 3 neuronas capa única:

Gráfica del Error en funcion de las Épocas

Se aprecia en la gráfica que la red no aproxima bien el mallado, sóla se aproxima en una region pequeña.


Volver al Índice

Autor

About

Repositorio donde programo varias redes neuronales artifificiales desde cero

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published