You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revise README for updates on NeuralNetwork features
Updated README to reflect new features and optimizations in the NeuralNetwork library, including vectorization, batch training, and enhanced architecture.
# NeuralNetwork - Librería de Deep Learning desde Cero
1
+
# NeuralNetwork - Librería de Deep Learning Vectorizada
2
2
3
-
Este proyecto es una librería de Deep Learning ligera y modular desarrollada íntegramente en Python y NumPy. A diferencia de frameworks de alto nivel como TensorFlow o PyTorch, **NeuralNetwork**implementa la matemática de las redes neuronales desde la base, permitiendo una comprensión profunda de los algoritmos de retropropagación (Backpropagation), optimización y funciones de activación.
3
+
Este proyecto es una librería de Deep Learning ligera, modular y **completamente vectorizada**desarrollada en Python y NumPy. A diferencia de implementaciones educativas básicas, **NeuralNetwork**utiliza operaciones matriciales para un rendimiento superior, implementando desde cero algoritmos de retropropagación (Backpropagation), optimizadores con momentum y diversas funciones de activación.
4
4
5
-
Está diseñada para ser escalable y educativa, permitiendo la creación de arquitecturas personalizadas para resolver problemas de clasificación binaria y regresión, como el clásico problema XOR.
5
+
Está diseñada para ser escalable, permitiendo crear arquitecturas profundas para resolver problemas de clasificación binaria, multiclase y regresión.
6
6
7
7
## Características Principales
8
-
***Arquitectura Modular:**
9
-
***Diseño Orientado a Objetos:** Separación lógica entre Neuronas, Capas (`Layer`) y el Orquestador (`NeuralNetwork`).
10
-
***Activaciones Flexibles:** Implementación de funciones `Sigmoid`, `ReLU` y `LeakyReLU` intercambiables por capa.
11
-
***Optimización Matemática Avanzada:**
12
-
***Inicialización de He:** Inicialización inteligente de pesos para prevenir el desvanecimiento de gradientes en redes profundas.
13
-
***Funciones de Pérdida (Loss Functions):** Soporte para `MSE` (Error Cuadrático Medio) y `BinaryCrossEntropy` (Entropía Cruzada Binaria).
14
-
***Prevención de "Dying ReLU":** Implementación de `LeakyReLU` para mantener el flujo de gradientes en valores negativos.
15
-
***Entrenamiento Robusto:**
16
-
***Stochastic Gradient Descent (SGD):** Optimización de pesos mediante descenso de gradiente.
17
-
***Data Shuffling:** Barajado automático de datos en cada época para evitar mínimos locales y ciclos repetitivos.
18
-
***Persistencia de Modelos:**
19
-
* Sistema nativo para guardar (`save_model`) y cargar (`load_model`) redes entrenadas utilizando `pickle`.
20
-
***Visualización:**
21
-
* Integración con `matplotlib` para generar curvas de aprendizaje y monitorear la convergencia del error en tiempo real.
8
+
9
+
***Arquitectura Vectorizada:**
10
+
***Alto Rendimiento:** Eliminación de bucles a nivel de neurona. Las capas (`Layer`) procesan lotes de datos (batches) utilizando álgebra matricial eficiente.
11
+
***Diseño Modular:** Componentes desacoplados para Capas, Activaciones, Pérdidas y Optimizadores.
12
+
13
+
***Sistema de Optimizadores:**
14
+
***SGD con Momentum:** Implementación de Descenso de Gradiente Estocástico con término de momento para acelerar la convergencia y evitar mínimos locales.
15
+
***Gestión de Hiperparámetros:** Control granular del *learning rate* y *momentum*.
16
+
17
+
***Flexibilidad Arquitectónica:**
18
+
***Activaciones:**`Sigmoid`, `ReLU`, `LeakyReLU` (con prevención de neuronas muertas), `Softmax` (para multiclase) y `Linear` (para regresión).
19
+
***Capas Especiales:** Soporte para **Dropout** para regularización y prevención de overfitting.
20
+
***Funciones de Pérdida:**`MSE` (Error Cuadrático Medio), `BinaryCrossEntropy` y `CategoricalCrossEntropy`.
21
+
22
+
***Entrenamiento Profesional:**
23
+
***Mini-Batch Training:** Procesamiento de datos en lotes para mayor estabilidad y velocidad.
24
+
***Inicialización de He:** Pesos inicializados inteligentemente para redes profundas.
25
+
***Persistencia:** Guardado y carga de modelos entrenados (`pickle`).
22
26
23
27
## Tecnologías Utilizadas
24
-
El proyecto utiliza un stack enfocado en el cálculo numérico y la eficiencia matemática:
0 commit comments