Implementación de una red neuronal multicapa en C++ para clasificación de dígitos manuscritos.
- Datos generales
- Requisitos e instalación
- Investigación teórica
- Diseño e implementación
- Ejecución
- Análisis del rendimiento
- Trabajo en equipo
- Conclusiones
- Bibliografía
- Licencia
-
Tema: Redes Neuronales en AI
-
Grupo:
group_3_custom_name
-
Integrantes:
- Ameri Ingaruca, Fabiana Antonell (202410119)
Nota: Reemplazar nombres y roles reales.
-
Compilador: GCC 11 o superior
-
Dependencias:
- CMake 3.18+
- Eigen 3.4
- [Otra librería opcional]
-
Instalación:
git clone https://github.com/EJEMPLO/proyecto-final.git cd proyecto-final mkdir build && cd build cmake .. make
Ejemplo de repositorio y comandos, ajustar según proyecto.
-
Objetivo: Explorar fundamentos y arquitecturas de redes neuronales.
-
Contenido de ejemplo:
- Historia y evolución de las NNs.
- Principales arquitecturas: MLP, CNN, RNN.
- Algoritmos de entrenamiento: backpropagation, optimizadores.
-
Patrones de diseño: ejemplo: Factory para capas, Strategy para optimizadores.
-
Estructura de carpetas (ejemplo):
proyecto-final/ ├── src/ │ ├── layers/ │ ├── optimizers/ │ └── main.cpp ├── tests/ └── docs/
-
Cómo ejecutar:
./build/neural_net_demo input.csv output.csv
-
Casos de prueba:
- Test unitario de capa densa.
- Test de función de activación ReLU.
- Test de convergencia en dataset de ejemplo.
Personalizar rutas, comandos y casos reales.
Demo de ejemplo: Video/demo alojado en
docs/demo.mp4
. Pasos:
- Preparar datos de entrenamiento (formato CSV).
- Ejecutar comando de entrenamiento.
- Evaluar resultados con script de validación.
-
Métricas de ejemplo:
- Iteraciones: 1000 épocas.
- Tiempo total de entrenamiento: 2m30s.
- Precisión final: 92.5%.
-
Ventajas/Desventajas:
-
- Código ligero y dependencias mínimas.
- – Sin paralelización, rendimiento limitado.
-
-
Mejoras futuras:
- Uso de BLAS para multiplicaciones (Justificación).
- Paralelizar entrenamiento por lotes (Justificación).
Actualizar con tareas y nombres reales.
- Logros: Implementar NN desde cero, validar en dataset de ejemplo.
- Evaluación: Calidad y rendimiento adecuados para propósito académico.
- Aprendizajes: Profundización en backpropagation y optimización.
- Recomendaciones: Escalar a datasets más grandes y optimizar memoria.
Este proyecto usa la licencia MIT. Ver LICENSE para detalles.